Objectif général : Maîtriser l’algorithmique et les structures algorithmiques e

Objectif général : Maîtriser l’algorithmique et les structures algorithmiques et savoir coder un algorithme en un programme Java. Pré requis : Aucun Organisation : 30h de cours intégrés et 30 h de travaux pratiques. Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 2 Préface Ce document présente un support de cours et d’exercices pour l’enseignement du module Algorithmique et programmation Java. Ce support s’adresse principalement aux stagiaires qui vont suivre le programme de pré- qualification pour la préparation aux tests d’accès aux cursus de formation du programme national de certification des compétences en TIC dans son tronc commun. Le document est structuré en 9 chapitres. Le premier chapitre présente quelques définitions et généralités, les 3 chapitres suivant décrivent les structures de programmation allant des actions simples aux structures itératives et passant par les structures conditionnelles. Le chapitre 5 traite les tableaux et le chapitre 6 définit la notion de tri des tableaux et présente quelques algorithmes de tri. Au cours du chapitre 7, une étude de la programmation procédurale est présentée. Les notions de l’orientée objet sont décrites au cours du chapitre 8. Le dernier chapitre introduit quelques notions générales sur le langage Java. Le document est dans sa première version, donc on vous serez reconnaissant si vous nous faites part de vos remarques et suggestions. Tout en s’excusant de notre part si jamais il y’a eu quelques omissions ou erreurs, on vous souhaite une bonne lecture et n’hésitez pas à nous faire part de vos remarques et suggestions dans l’objectif d’amélioration de ce support. Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 3 Sommaire Chapitre 1 Généralités 4 Chapitre 2 Les actions algorithmiques simples 7 Chapitre 3 Les structures conditionnelles 13 Chapitre 4 Les structures itératives 19 Chapitre 5 Les tableaux 26 Chapitre 6 Les algorithmes de tri 32 Chapitre 7 Les sous programmes 38 Chapitre 8 La programmation orientée objet 47 Chapitre 9 Initiation au langage Java 52 Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 4 C CH HA AP PI IT TR RE E I I. . G GE EN NE ER RA AL LI IT TE ES S Objectif : Connaître le but du cours d’algorithmique Éléments de contenu :  Qu’est ce qu’une application informatique ?  Comment arriver d’un problème réel à un programme pouvant être exécuté par ordinateur  Liens entre ALGORITHMIQUE et STRUCTURES DE DONNEES I.1.Intérêt de l’algorithmique Informatiser une application, facturation de la consommation d’eau, par exemple, c’est faire réaliser par ordinateur, une tâche qui était réalisée par l’Homme. Pour faire exécuter une tâche par ordinateur, il faut tout d’abord, détailler suffisamment les étapes de résolution du problème, pour qu’elle soit exécutable par l’homme. Ensuite, transférer la résolution en une suite d’étapes si élémentaire et simple à exécuter, pouvant être codée en un programme dans un langage compréhensible par ordinateur. Toute suite d’étapes si élémentaire et simple à exécuter s’appelle un ALGORITHME. Un programme c’est un algorithme codé dans un langage compréhensible par ordinateur à l’aide d’un compilateur (traducteur). I.2.Définitions L’algorithme est le résultat d’une démarche logique de résolution d’un problème pour la mise en œuvre pratique sur ordinateur et afin d’obtenir des résultats concrets il faut passer par l’intermédiaire d’un langage de propagation. Un algorithme décrit une succession d’opérations qui, si elles sont fidèlement exécutées, produiront le résultat désiré. Un algorithme est une suite d’actions que devra effectuer un automate pour arriver en un temps fini, à un résultat déterminé à partir d’une situation donnée. La suite d’opérations sera composée d’actions élémentaires appelées instructions. Qu’est ce que l’Algorithmique ? C’est la logique d’écrire des algorithmes. Pour pouvoir écrire des algorithmes, il faut connaître la résolution manuelle du problème, connaître les capacités de l’ordinateur en terme d’actions élémentaires qu’il peut assurer et la logique d’exécution des instructions. I.3.Les étapes de résolution d’un problème 1. Comprendre l’énoncé du problème 2. Décomposer le problème en sous-problèmes plus simple à résoudre 3. Associer à chaque sous problème, une spécification :  Les données nécessaires  Les données résultantes  La démarche à suivre pour arriver au résultat en partant d’un ensemble de données. 4. Elaboration d'un algorithme. Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 5 Illustration du fonctionnement d'un ordinateur ☺  On peut dire que la partie EXECUTANT est le problème de l’algorithmique, et la partie MEMOIRE (stockage de donnée) concerne la matière " Structures de données ". I.4.Structure d’un algorithme ALGORITHME nom_de_l’algorithme CONSTANTES {Définition des constantes} TYPES {Définition de types} VARIABLES {Déclaration de variables} DEBUT {Suite d’instructions} FIN Notions de : • Constante, • Type, • Variable. Exemple 1 ALGORITHME afficher DEBUT Ecrire("La valeur de 3*5 est ", 3*5) FIN Cet algorithme permet d'afficher sur l'écran la phrase suivante : La valeur de 3*5 est 15 Exemple 2 On veut écrire l’algorithme qui permet de saisir 3 notes d’un étudiant dans trois matières, étant donnés les coefficients respectifs 2, 3 et 1. Résolution A partir de l’énoncé du problème, nous recherchons la solution par une démarche en 2 phases. Dispositifs d’entrée : - clavier - souris, - ....... MEMOIRE EXECUTANT ..... Exécution Résultat Suite de cases mémoire Données en entrée Données en sortie Ecran ou Imprimante Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 6  On doit comprendre comment le résoudre manuellement,  Définir ce qu’on a besoin comme données, quelles est la démarche à suivre (formules de calcul) pour arriver aux résultats. Pour notre problème, nous connaissons les coefficients et la formule de calcul (∑Ni*Ci / ∑Ci), nous avons besoins des notes de chaque matière dans l’ordre, et enfin nous pouvons communiquer le résultat à l’utilisateur. ALGORITHME MOYENNE CONSTANTES C1=2 C2=3 C3=1 VARIABLES N1, N2, N3 : REEL MOY : REEL DEBUT {Affichage message : Invitation de l'utilisateur à introduire des données} ECRIRE (" Donner trois valeurs réelles ") {Saisie des notes} LIRE (N1, N2, N3) {Calcul de la moyenne} MOY← (N1*C1+N2*C2+N3*C3) / (C1+C2+C3) {Affichage du résultat sur l’écran} ECRIRE (" La moyenne est = ", MOY) FIN Remarque : Le texte entre les accolades est purement explicatif, il sert à rendre l’algorithme plus lisible. Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 7 C CH HA AP PI IT TR RE E I II I. . L LE ES S A AC CT TI IO ON NS S A AL LG GO OR RI IT TH HM MI IQ QU UE ES S S SI IM MP PL LE ES S Objectif : Comprendre les actions algorithmiques simples et connaître leurs syntaxes Éléments de contenu :  Concepts de base  La saisie de données  L'affichage  L'affectation  L'évaluation d'une expression arithmétique II.1. Concepts de base Dans tout ce qui suit, pour présenter les syntaxes, on suit les règles suivantes : • Ce qui est entre les crochets est optionnel. • La suite des points de suspensions "…" veut dire que ce qui précède peut se répéter plusieurs fois. • Le symbole " | " veut dire : " ou bien ". • Les mots en majuscule sont des mots réservés. • Ce qui est entre accolades est un commentaire, pour la lisibilité des algorithmes. II.2. L’affichage : ECRIRE Cette action permet de communiquer un résultat ou un message sur écran ou sur imprimante pour l'utilisateur. Syntaxe ECRIRE(paramètre1 [[,paramètre2]…]) Paramètre = variable | expression | constante Constante = nombre | message Exemples ECRIRE(" La valeur de 3*2 est égale à ", 3*2) ↑ ↑ message expression ECRIRE(" La moyenne est = ", MOY) ↑ Variable II.3.2. La saisie des données : LIRE L'ordre LIRE permet à l'ordinateur d’acquérir des données à partir de l’utilisateur, dans des cases mémoire bien définies (qui sont les variables déclarées). Rappel Les variables sont des cases mémoire, supposées contenir un type de données, nommées par le nom de variable. Syntaxe LIRE(variable1 [[, variable2] …]) Cours Algorithmique et Programmation JAVA I7 de Gabès 2010-2011 8 Remarques : 1. La saisie se fait uniquement dans des variables. Ce sont les cases (cellules) qui pourront accueillir les données correspondantes. 2. La donnée à introduire doit être de même type que la variable réceptrice. II.4.3. Les expressions arithmétiques Parmi les opérateurs, on distingue les fonctions et les opérateurs. Les fonctions • La fonction DIV permet de donner le résultat de la division entière d’un nombre par un autre. 7 DIV 2 → 3 • La fonction MOD (se lit Modulo), permet de donner le reste de la division entière d’un entier par un autre. 7 MOD 2 → 1 • La fonction ** ou ^ permet d’élever un nombre à la puissance d’un autre. 2**3 →8 Les opérateurs • Sont le "+", "-", "/", "*" Ordre de priorité Les opérateurs suivants sont ordonnés du plus prioritaire au moins prioritaire dans l'évaluation d'une expression arithmétique. 1- Les parenthèses 2- Les fonctions 3- Les opérateurs de multiplication " * " et de division " / " 4- Les opérateurs d’addition " + " et de soustraction " - " Remarque Si l’ordre entre les opérateurs dans une expression est le uploads/Ingenierie_Lourd/ cours-algo 1 .pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager