La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

CSII1a Algo/Progr1 Les bases algorithmiques Algorithmique CSII1A.

Présentations similaires


Présentation au sujet: "CSII1a Algo/Progr1 Les bases algorithmiques Algorithmique CSII1A."— Transcription de la présentation:

1 CSII1a Algo/Progr1 Les bases algorithmiques Algorithmique CSII1A

2 CSII1a Algo/Progr2 Algorithmique, définition Cest une méthode de résolution de problèmes, Quest ce que lalgorithmique? Développer des logiciels, écrire des programmes Sapplique à toutes sortes de problèmes mais plus particulièrement à linformatique:

3 CSII1a Algo/Progr3 Objectif dun logiciel Mettre en œuvre au sein dun programme des fonctionnalités plus ou moins complexes Reçoit des données en entrées, applique des traitements et renvoie des résultats en sorties Logiciel: Traitements Données en entrées Résultats en sorties Stocke les données dans une base de données Gère les interactions avec lutilisateur au travers dune interface (IHM),...

4 CSII1a Algo/Progr4 Démarche algorithmique Il est très difficile décrire directement un programme aux fonctionnalités complexes Elle permet de passer du problème au programme, en écrivant un algorithme Lalgorithmique ou "démarche algorithmique " est une étape intermédiaire

5 CSII1a Algo/Progr5 Objectif de lalgorithmique Modéliser les fonctionnalités nécessite de: -Identifier les données en entrées Lalgorithmique se focalise sur laspect traitement: Modéliser les fonctionnalités à implémenter La réalisation de la structure des données sappuie aussi sur une phase de réflexion: lanalyse (Merise) -Identifier les résultats en sorties -Définir les traitements à appliquer

6 CSII1a Algo/Progr6 Du problème au programme Passer du problème au programme: Le problème: Fonctionnalités à mettre en œuvre dans un programe Langage naturel Le programme: Executable qui implémente les fonctionnalités Langage informatique Lalgorithme: Données en entrées, Résultats à obtenir, traitements Langage algorithmique Par une étape intermédiaire: lalgorithme

7 CSII1a Algo/Progr7 Les langages Les fonctionnalités à mettre en œuvre sont exprimées en langage naturel Un algorithme est exprimé en pseudo-langage ou langage structuré Un programme est écrit dans un langage de programmation donné Le but est de traduire des instructions ou actions complexes en instructions compréhensibles par la machine Ces instructions machines sont appelées primitives

8 CSII1a Algo/Progr8 Que contient un algorithme Un algorithme contient la liste des actions à effectuer représentant un programme ou logiciel Ceci indépendamment de limplémentation sur machine et des détails qui en découlent: -Syntaxe et utilisation du langage de programmation cible -Déclaration et utilisation des bibliothèques, des fonctions, des types à utiliser,…

9 CSII1a Algo/Progr9 Représentation dun algorithme Plusieurs manières de représenter un algorithme On peut lexprimer en langage naturel, exemple une recette de cuisine Ingrédients: (données en entrée) - 250gr de farine, 250gr de sucre, 250gr de beurre, 250ml De lait, 3 oeufs Objectifs: (résultat en sortie) Faire (et réussir) un gâteau quatre-quart Exemple de recette: le Quatre-Quart:

10 CSII1a Algo/Progr10 Recette Recette: (les traitements: lalgorithme ) -Faire fondre le beurre -Mélanger la farine le sucre et les oeufs -Rajouter le beurre -Rajouter le lait jusquà obtention dune pâte onctueuse -Mettre au four 20min thermostat 7 -Dégustez...

11 CSII1a Algo/Progr11 Pseudo-langage Cest un langage simplifié proche du langage naturel La syntaxe est souple contrairement à un langage de programmation Lintérêt est dans la construction de la solution, sa cohérence et non dans les détails de mise en oeuvre

12 CSII1a Algo/Progr12 Pseudo-langage, exemple Exemple affiche un message selon la grandeur dune personne Algo LaTaille début Saisir taille si taille > 1,80 Alors Afficher Grand sinon Afficher petit fin Comporte des mots clés qui permettent de structurer le langage: Algo, debut-fin, Si-Alors-Sinon Afficher et Saisir sont des actions (instructions)

13 CSII1a Algo/Progr13 Organigramme Modélisation du même algorithme sous forme dun organigramme DEBUT Saisir Taille FIN Non Taille > 1,80 ? Afficher Petit Afficher Grand Oui

14 CSII1a Algo/Progr14 Représentation, résumé Lidéal est de pouvoir écrire un algorithme directement en langage naturel En létat actuel de la technologie (machines et softs), cest impossible En informatique de développement (écrire des programmes) on utilise le pseudo-langage Les organigrammes seront plutôt utilisés en informatique industrielle: assembleur, automatisme (grafcet)

15 CSII1a Algo/Progr15 Les variables Lexécution dun programme nécessite de traiter, de calculer un grand nombre de données Il est indispensable de pouvoir stocker ces données de manière temporaire durant le fonctionnement dun programme On va pour cela utiliser des variables

16 CSII1a Algo/Progr16 Variables, suite Variable= Nom unique qui permet daccéder à un emplacement en mémoire pour y stocker une valeur Le contenu dune variable et susceptible dévoluer (modifier) tout au long de la durée de vie du programme a 12

17 CSII1a Algo/Progr17 Constantes A linverse des variables, les programmes utilisent parfois des valeurs invariantes pendant leur exécution Exemple: PI =

18 CSII1a Algo/Progr18 Règles de nommage Tous les identifiants dans un même programme doivent être unique Concerne: Les variables, les constantes, le nom du programme, les procédures & fonctions,... Ces identifiants doivent respecter une syntaxe -Le 1er caractère doit être une lettre ou le souligné _ -Les car. suivants: idem + chiffres -Pas de car. espace, pas de car. spéciaux

19 CSII1a Algo/Progr19 Exemple didentifiants Acorrect User_1correct Nom prenomerreur 1berreur Nom_prenomcorrect Eviter dutiliser les caractères accentués

20 CSII1a Algo/Progr20 Déclaration des variables Il faut déclarer les variables et constantes avant de les utiliser, en début de programme Les variables doivent être typées Exemple: Algo LaTaille var taille : réel début Saisir taille si taille > 1,80 Alors Afficher Grand sinon Afficher petit fin

21 CSII1a Algo/Progr21 Déclaration des constantes Exemple: Algo LePerimetre const PI = var Per : réel début instructions fin La déclaration des constantes diffère de celle des variables: pas de type spécifié Nom constante = valeur

22 CSII1a Algo/Progr22 Affectation des variables But de laffectation: Placer une valeur dans une variable, la valeur est mémorisée a := 12 ou a <- 12 Syntaxe: variable := valeur ( := ou <- ) Exemple:

23 CSII1a Algo/Progr23 Instructions dentrées/sorties Ces instructions permettent dinteragir avec lutilisateur Afficher un résultat: Afficher( ) Saisir une valeur:Saisir Exemple: Afficher ( x?) Afficher ( tva=,tva) exemple:Saisir (a)

24 CSII1a Algo/Progr24 Types de données Les données manipulées par les programmes doivent toutes être typées Les variables sont typés explicitement: var : type Les constantes sont typées implicitement PI = , PI sera un réel Les types : entier, réel, booléen, caractère, Chaîne de caractères, tableau

25 CSII1a Algo/Progr25 Type entier Ensemble des valeurs: Z Opérateurs arithmétiques: +, -, * -DIV division entière -MOD Modulo, reste de la division entière -ENT Partie entière dun réel Exemple: 15 DIV 9 = 1, 15 MOD 9 = 6 ENT(3.1415) = 3 Opérateurs relationnels: =,, >=, -Différent: <> ou !=

26 CSII1a Algo/Progr26 Type réel Ensemble des valeurs: R Opérateurs arithmétiques: +, -, *, / Opérateurs relationnels: idem entier Représentation des nombres réels: notation scientifique Exp:

27 CSII1a Algo/Progr27 Type booléen Ensemble des valeurs: vrai, faux Opérateurs logiques: ET, OU, NON Opérateurs relationnels: idem entier faux < vrai

28 CSII1a Algo/Progr28 Type caractère Chaque caractère est codé par un entier table ASCII Cette table permet de représenter 256 caractères Le système UNICODE tend aujourdhui à remplacer ASCII: Un caractère est représenté sur 2 octets UNICODE permet de dintégrer les principaux alphabets du monde (cyrillique, grec, asiatique,…) Pour garder la compatibilité avec lexistant, le début dUNICODE est la table ASCII

29 CSII1a Algo/Progr29 Type caractère, suite Les caractères sont ordonnés (sur leur code ASCII): 0 < 9 < A < Z < a < z On peut leur appliquer les opérateurs relationnels Autres opérations: - ord(A) = 65 Le caractère A vaut 65, B= 66, 0= 48,... - chr(65) = A

30 CSII1a Algo/Progr30 Type Chaîne de caractères Regroupe plusieurs caractères, stocke du texte Permet de représenter des mots, des phrases Construire une chaîne à partir de 2 chaînes de caractères: opération de concaténation Exemple: s1 := bon s2 := jour str := s1 + s2 Str contiendra: bonjour

31 CSII1a Algo/Progr31 Type Tableau Stocke plusieurs données de même type Tableau à 1 dimension, exemple: tab : Tableau [1..100] dentiers Tableau à 2 dimensions, exemple: tab : Tableau [1..100, ] de réels On peut créer des tableaux de dimension n Accès à un élément du tableau: lecture ou écriture Lecture: Afficher(tab[i]) Ecriture: tab[i]:= val

32 CSII1a Algo/Progr32 Les instructions -Instructions alternatives (ou sélectives) -Instructions itératives (ou répétitives) Ce sont les instructions de base en algorithmique- programmation que lon retrouve dans tous les langages informatiques Il existe 2 catégories dinstructions:

33 CSII1a Algo/Progr33 Les instructions alternatives Instruction Si-Alors, forme simple Si condition Alors action(s) FinSi -La condition est traitée, si elle est vrai, alors laction (ou les) est exécutée Instruction Si-Alors-sinon Si condition Alors action1 sinon action2 FinSi -La condition est traitée, si elle est vrai, alors laction1 (ou les) est exécutée, -Si la condition est fausse, alors cest laction2 qui sera exécutée

34 CSII1a Algo/Progr34 Imbrications de si Il est possible dimbriquer des structures si-alors- sinon dans la clause si et la clause sinon Exemple: Si cond Alors Si cond2 Alors act2 FinSi Sinon Si cond3 Alors act3 Sinon act4 FinSi FinSi Ne pas dépasser 4 ou 5 niveaux dimbrication

35 CSII1a Algo/Progr35 Instruction de choix Equivalent à des Si-alors imbriqués, exemple: Si cond Alors Act1 Sinon Si cond2 Alors Act2 Sinon Si cond3 Alors Act3 Sinon Si cond4 Alors Act4... Sécrira plus facilement avec une structure Choix: Choix var Faire val1: act1 val2: act2 val3: act3 Sinon Act5 FinChoix Remarque: var doit être de type ordinal: booléen, entier, car.

36 CSII1a Algo/Progr36 Les Instructions itératives 3 types de boucles: Pour TantQue Répéter Jusqua

37 CSII1a Algo/Progr37 Instruction Pour Structure du Pour: Pour var := valInit A valFin Faire Action FinPour Exemple: Pour i := 0 A 5 Faire Afficher Bonjour n°, i FinPour Résultat: Bonjour n°0 Bonjour n°1 Bonjour n°2 Bonjour n°3 Bonjour n°4 Bonjour n°5 i en sortant de la boucle vaut 6

38 CSII1a Algo/Progr38 Instruction TantQue Structure du TantQue: TantQue condition Faire Action // exécutée tant que condition est VRAI FinTantQue Exemple: i := 0 TantQue i <= 5 Faire Afficher Bonjour n°, i i := i +1 FinTantQue Résultat: Bonjour n°0 Bonjour n°1 Bonjour n°2 Bonjour n°3 Bonjour n°4 Bonjour n°5

39 CSII1a Algo/Progr39 Instruction répéter-Jusqua Structure du Répéter-Jusqua: Répéter Action // exécutée jusquà ce que Jusqua Condition // la condition deviennent VRAI Exemple: i := 0 Répéter Afficher Bonjour n°, i i := i +1 Jusqua i > 5 Résultat: Bonjour n°0 Bonjour n°1 Bonjour n°2 Bonjour n°3 Bonjour n°4 Bonjour n°5

40 CSII1a Algo/Progr40 Exercices, TD n°1 Exercice 1: Saisir un nombre et afficher sil est pair ou impair. Exercice 2: Résoudre léquation du 1er degré ax + b = 0, les coefficients a et b seront saisis Exercice 3: Résoudre léquation du 2nd degré ax² + bx+c = 0, les coefficients a et b et c seront saisis

41 CSII1a Algo/Progr41 TD n°1, suite Exercice 4a: Saisir un nombre et afficher si cest un nombre premier ou non. Exercice 4b: Afficher les 100 premiers nombres premiers.

42 CSII1a Algo/Progr42 TD n°1, exercice 5 Exercice 5: Faire rechercher un nombre à lutilisateur en 5 coups maximum. Afficher à chaque étape -Afficher à chaque étape trop grand ou trop petit -Afficher à la fin gagné ou perdu ainsi que le nombre de coups.


Télécharger ppt "CSII1a Algo/Progr1 Les bases algorithmiques Algorithmique CSII1A."

Présentations similaires


Annonces Google