Algorithmique et structures de données I

Documents pareils
Algorithmique et structures de données I

COTISANT AU RÉGIME GUIDE D ACCÈS AU COMPTE

Le langage SQL Rappels

Algorithme. Table des matières

Conventions d écriture et outils de mise au point

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:


Algorithmique et Programmation, IMA

Cours d algorithmique pour la classe de 2nde

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Cours d Informatique

NOTICE TELESERVICES : Créer mon compte personnel

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

1. Utilisation du logiciel Keepass

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Relation entre deux variables : estimation de la corrélation linéaire

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

5 Gestionnaire de dépenses

Notice d utilisation

Salle de technologie

Architecture des ordinateurs

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

DOCUMENT D ACCOMPAGNEMENT POUR L INSTALLATION DU LOGICIEL ESTIMACTION

Mon aide mémoire traitement de texte (Microsoft Word)

1 Introduction au codage

Guide d installation de MySQL

Chapitre 1 I:\ Soyez courageux!

Limitations of the Playstation 3 for High Performance Cluster Computing

A QUOI SERVENT LES BASES DE DONNÉES?

Publipostage avec Calc

Continuité et dérivabilité d une fonction

TIC INFORMATIQUE Ce que je dois retenir

TP1 - Prise en main de l environnement Unix.

UE Programmation Impérative Licence 2ème Année

Bases de programmation. Cours 5. Structurer les données

Guide d implémentation. Réussir l intégration de Systempay

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Comment. RCAM en ligne

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Introduction : présentation de la Business Intelligence

Initiation à la Programmation en Logique avec SISCtus Prolog

Guide de démarrage rapide


Outils pour les réseaux de neurones et contenu du CD-Rom

MISE EN CONFORMITE DES CONTRATS DE PREVOYANCE, SANTE ET RETRAITE SUPPLEMENTAIRE

NORMES DE PRÉSENTATION DES MANUSCRITS

Plan du cours. Historique du langage Nouveautés de Java 7

SAP BusinessObjects Web Intelligence (WebI) BI 4

Faculté des Sciences Economiques et de Gestion de Nabeul. Université de Carthage. Master de Recherche Finance des Entreprises et des Marchés

Observatoire des ressources numériques adaptées

Comment intégrer des images dans un texte

TP 1. Prise en main du langage Python

IV- Comment fonctionne un ordinateur?

Poll-O Guide de l utilisateur. Pierre Cros

Guide de démarrage. Étape 1 : ajoutez des hôtels à votre compte. Étape 2 : entrez votre adresse . Étape 3 : cliquez sur le lien du message

Présentation du cours

L outil de réservation en ligne de Carlson Wagonlit Travel dédié aux PME. Guide utilisateur

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Résolution d équations non linéaires

Service d information pour remise de paiement de factures Scotia

Rapport de stage d initiation

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Règles typographiques de base

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER

Choisir le mode d envoi souhaité. Option 1 : Envoyer un SMS à un nombre réduit de numéros (0 10 )

CAPTURE DES PROFESSIONNELS

GUIDE D INSTALLATION INTERNET haute vitesse

TP1 : Initiation à l algorithmique (1 séance)

MODULE «Plateforme INSCRIPTIONS en ligne» MyOutDoorBox Mode opératoire

MODULE «Plateforme INSCRIPTIONS en ligne» MyOutDoorBox Mode opératoire

Traitement de texte : Quelques rappels de quelques notions de base

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Bases de données documentaires et distribuées Cours NFE04

Présentation du module Base de données spatio-temporelles

Rapport d évaluation du master

Le chiffre est le signe, le nombre est la valeur.

Intitulé du Projet :

Système d alarme Guide Utilisateur

Partie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1.

Introduction à MATLAB R

Fonctions homographiques

1 Introduction et installation

Système de surveillance vidéo

Bernard Lecomte. Débuter avec HTML

Guide de l Administrateur

Université Paris-Dauphine DUMI2E 1ère année, Applications

Casse-têtes sur des jouets

Transcription:

Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence Appliquée IAG Année universitaire 2009 2010 R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 1 / 21

Plan du cours 1 Introduction 2 Environnement algorithmique 3 Variables 4 Structures conditionnelles 5 Structures itératives 6 Tableaux 7 Sous-programmes 8 Mode de passage de paramètres R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 2 / 21

Plan du cours 1 Introduction 2 Environnement algorithmique 3 Variables 4 Structures conditionnelles 5 Structures itératives 6 Tableaux 7 Sous-programmes 8 Mode de passage de paramètres R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 3 / 21

Exemple introductif Indiquer le chemin de l hôtel à un touriste égaré : 1 Allez tout droit jusqu au prochain carrefour, 2 puis prenez à droite, 3 ensuite prenez la deuxième à gauche et vous y êtes. Est-ce que la rue est autorisée à la circulation? 1 Allez tout droit jusqu au prochain carrefour et là regardez à droite. 2 Si la rue est autorisée à la circulation, alors : 1 prenez la, 2 puis, prenez la deuxième à gauche. 3 Si en revanche elle est en sens interdit, alors : 1 continuez jusqu à la prochaine à droite, 2 prenez celle-là, 3 ensuite, prenez la première à droite. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 4 / 21

La structure d un test En algorithmique, il y a deux formes possibles pour un test : Structure simple Si Booléen Alors Instructions Structure complète Si Booléen Alors Instructions 1 Sinon Instructions 2 Un booléen est une expression dont la valeur est VRAI ou FAUX. Elle peut-être : 1 une variable de type booléen ; 2 une condition. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 5 / 21

La structure d un test Description de la structure simple : Si Booléen Alors Instructions Arrivée à la première ligne (Si... Alors), la machine examine la valeur du booléen : Si le booléen a pour valeur VRAI, alors la machine exécute la série d instructions. Si le booléen a pour valeur FAUX, alors la machine saute directement aux instructions situées après le. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 6 / 21

La structure d un test Description de la structure complète : Si Booléen Alors Instructions 1 Sinon Instructions 2 Arrivée à la première ligne (Si... Alors), la machine examine la valeur du booléen : Si le booléen a pour valeur VRAI, alors la machine exécute la série d instructions 1. Au moment où la machine arrive au mot Sinon, elle saute directement à la première instruction située après le. Si le booléen a pour valeur FAUX, alors la machine saute directement aux instructions situées après le Sinon. La machine exécute la série d instructions 2. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 7 / 21

La structure d un test Exemple : Allez tout droit jusqu au prochain carrefour Si la rue à droite est autorisée à la circulation Alors Tournez à droite Avancez Prenez la deuxième à gauche Sinon Continuez jusqu à la prochaine rue à droite Prenez cette rue Prenez la première à droite R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 8 / 21

Qu est-ce qu une condition? Définition Une condition est une comparaison qui, à un moment donné, est vraie ou fausse. Une condition est donc composée de trois éléments : 1 une valeur ; 2 un opérateur de comparaison ; 3 une autre valeur. Important Les valeurs peuvent être a priori de n importe quel type (numériques, caractères, etc.) Mais si l on veut que la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du même type! R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 9 / 21

Qu est-ce qu une condition? Les opérateurs de comparaison sont : = : égal à... : différent de... < : strictement plus petit que... > : strictement plus grand que... : plus petit ou égal à... : plus grand ou égal à... Exemples de conditions : Toto 50 Fifi = Loulou (à ne pas confondre avec l affectation) Ruru 24,5 R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 10 / 21

Qu est-ce qu une condition? Important Les opérateurs de comparaison peuvent s employer avec des caractères. Ceux-ci sont codés par la machine dans l ordre alphabétique. De plus, les majuscules sont systématiquement placées avant les minuscules. Exemples de conditions sur des caractères : p > m VRAI papa < maman FAUX Toto = toto FAUX T < t VRAI Papa < maman VRAI Totu > Tota VRAI R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 11 / 21

Les conditions composées Comment exprimer la condition Toto est inclus entre 5 et 8? Cette phrase cache deux conditions : 1 Toto est supérieur à 5 (Toto > 5) 2 Toto est inférieur à 8 (Toto < 8) Le deux conditions sont reliées par l opérateur logique ET. La condition s exprime : (Toto > 5) ET (Toto < 8) Les opérateurs logiques : ET : la conjonction ; OU : la disjonction ; NON : la négation. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 12 / 21

Les conditions composées La conjonction : Le ET a le même sens en informatique que dans le langage courant. Pour que (Condition 1) ET (Condition 2) soit : VRAI, il faut impérativement que Condition 1 soit VRAI et que Condition 2 soit VRAI. Dans tous les autres cas, (Condition 1) ET (Condition 2) sera FAUX. La table de vérité : (Condition 1) ET (Condition 2) Condition 1 VRAI Condition 1 FAUX Condition 2 VRAI VRAI FAUX Condition 2 FAUX FAUX FAUX R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 13 / 21

Les conditions composées La disjonction : Pour que (Condition 1) OU (Condition 2) soit : VRAI, il suffit que Condition 1 soit VRAI ou que Condition 2 soit VRAI. FAUX, il faut que Condition 1 soit FAUX et que Condition 2 soit FAUX aussi. La table de vérité : (Condition 1) OU (Condition 2) Condition 1 VRAI Condition 1 FAUX Condition 2 VRAI VRAI VRAI Condition 2 FAUX VRAI FAUX R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 14 / 21

Les conditions composées La négation : le NON inverse une condition. NON (Condition 1) est : VRAI si Condition 1 est FAUX. FAUX si Condition 1 est VRAI. La table de vérité : NON (Condition 1) Condition 1 VRAI Condition 1 FAUX FAUX VRAI R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 15 / 21

Les tests imbriqués Si Booléen Alors Instructions 1 Sinon Instructions 2 Graphiquement, on peut facilement représenter la structure d un test comme un aiguillage de chemin de fer. Un SI ouvre deux voies, correspondant à deux traitements différents. Instructions 1 Si Instructions 2 Il y a beaucoup de situations où deux voies ne suffisent pas! R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 16 / 21

Les tests imbriqués Instructions 1 Instructions 2 Si Si Instructions 3 R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 17 / 21

Les tests imbriqués Exemple : Un algorithme qui donne l état de l eau selon sa température. Il doit pouvoir fournir trois réponses possibles : (1) solide ; (2) liquide ou (3) gazeuse. Algorithme Temperature Eau 1 Var : Temp : réel Début Lire ( Entrez la température de l eau : ; Temp) Si (Temp 0) Alors Ecrire ( C est de la glace ) Si (Temp > 0) ET (Temp < 100) Alors Ecrire ( C est du liquide ) Si (Temp 100) Alors Ecrire ( C est de la vapeur ) Fin R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 18 / 21

Les tests imbriqués Exemple : Un algorithme qui donne l état de l eau selon sa température. Il doit pouvoir fournir trois réponses possibles : (1) solide ; (2) liquide ou (3) gazeuse. Algorithme Temperature Eau 2 Var : Temp : réel Début Lire ( Entrez la température de l eau : ; Temp) Si (Temp 0) Alors Ecrire ( C est de la glace ) Sinon Si (Temp < 100) Alors Ecrire ( C est du liquide ) Sinon Ecrire ( C est de la vapeur ) Fin R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 19 / 21

Les tests imbriqués Si Booléen 1 Alors Instructions 1 Sinon Si Booléen 2 Alors Instructions 2 Sinon Instructions 3 De manière plus simplifiée : Si Booléen 1 Alors Instructions 1 Sinon Si Booléen 2 Alors Instructions 2 Sinon Instructions 3 Important Dans le cas de tests imbriqués, le Sinon et le Si peuvent être fusionnés en un Sinon Si. On considère alors qu il s agit d un seul bloc de test, conclu par un seul. R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 20 / 21

Plan du cours 1 Introduction 2 Environnement algorithmique 3 Variables 4 Structures conditionnelles 5 Structures itératives 6 Tableaux 7 Sous-programmes 8 Mode de passage de paramètres R. Ben Messaoud (FSEGN) Algorithmique I 2009 2010 21 / 21