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

Cours d’ Algorithmique 2012 Algorithmique. Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà.

Présentations similaires


Présentation au sujet: "Cours d’ Algorithmique 2012 Algorithmique. Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà."— Transcription de la présentation:

1 Cours d’ Algorithmique 2012 Algorithmique

2 Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà suivi un itinéraire ? Avez-vous déjà monter un meuble ? Avez-vous déjà lu une partition ? Avez-vous déjà écris une lettre anonyme stipulant comment procéder à une remise de rançon ? Tout est question d’algorithmique.

3 Cours d’ Algorithmique 2012 Qu’est ce qu’un algorithme ? Un algorithme, c’est une suite d’instructions pour aboutir à un résultat voulu. – Si l’algorithme est bon, le résultat est le résultat voulu

4 Cours d’ Algorithmique 2012 Qu’est ce qu’un algorithme ? Un algorithme doit contenir uniquement des instructions compréhensibles par la personne qui va l’exécuter. – En informatique, ce sont aux ordinateurs que l’on donne les instructions

5 Cours d’ Algorithmique 2012 Faut il être bon en math pour être bon en algorithme ? ET bien non ! Il faut être rigoureux, méthodique. Il faut avoir de l’intuition.

6 Cours d’ Algorithmique 2012 Qu’est ce qu’un algorithme ? L’algorithmique n’est pas un langage de programmation. Un algorithme + Un langage = un programme. Algorithme : utilisation d’un pseudo code.

7 Cours d’ Algorithmique 2012 Conventions du pseudo code Commence par : début Fini par : fin Pour afficher à l’écran : écrire. – instructions permettant au programme de communiquer des valeurs à l’utilisateur en les affichant à l’écran Pour lire une variable tapée au clavier : lire. – instruction permettant à l’utilisateur de rentrer des valeurs au clavier Un algorithme, c’est une suite d’instructions qui programme la machine, pas l’utilisateur !

8 Cours d’ Algorithmique 2012 Les bases de l’algorithmique Les variables La lecture / l’écriture Les tests Les boucles

9 Cours d’ Algorithmique 2012 Les variables Elles servent à stocker temporairement une information. L’association d’une étiquette et d’une boite pouvant contenir une donnée. x<- 12 voiture <- Clio

10 Cours d’ Algorithmique 2012 Les noms de variables Peut contenir des lettres et des chiffres. Pas de majuscule ni de chiffre pour le premier caractère. Pas de ponctuation (sauf ‘ _ ’) Pas d’espaces Pas d’accent Certains noms réservés aux langages

11 Cours d’ Algorithmique 2012 Les types de variables Les booléennes (vrai/faux) – True /false - 1/0 Les numériques (entiers ou décimaux) – int, short, long – float Les chaînes de caractères. – String Les tableaux. – array

12 Cours d’ Algorithmique 2012 Affectation des variables Permet de stocker la valeur dans la variable x <- 12 voiture <- « clio »

13 Cours d’ Algorithmique 2012 Les opérateurs Addition / Concaténation : + Soustraction : _ Multiplication : * Division /

14 Cours d’ Algorithmique 2012 Exercices

15 Cours d’ Algorithmique 2012 Les tests Choisir les instructions à exécuter en fonction de conditions vrai condition SI faux Instruction(s)

16 Cours d’ Algorithmique 2012 Les tests Si (condition) alors { Instructions } Si ( Ferrari ) alors { direction l’autoroute } Si ( Radar ) alors { Ralentir }

17 Cours d’ Algorithmique 2012 Les conditions Les conditions sont toujours des booléennes. Si ( je vais bien ) alors { instructions } Si ( c’est un garçon ) alors { instructions } Si ( 42 ) alors { instructions }

18 Cours d’ Algorithmique 2012 Les tests vrai condition SI faux Instruction(s)

19 Cours d’ Algorithmique 2012 Les tests Si (condition) alors { Instructions } sinon { Instructions } Si ( Ferrari ) alors { direction l’autoroute } sinon { direction RN10 } Si ( Radar ) alors { Ralentir } sinon { accélérer }

20 Cours d’ Algorithmique 2012 Exercices

21 Cours d’ Algorithmique 2012 Les conditions composées Si (condition 1 ou condition 2) alors { Instructions } Si (condition 1 et condition 2) alors { Instructions }

22 Cours d’ Algorithmique 2012 Les conditions composées Si (sur l’A10 ou l’A11) alors { rouler à 130km/h } Si (sur l’A10 et pas de radar) alors {rouler à 135km/h }

23 Cours d’ Algorithmique 2012 Les conditions composées Attention aux conditions qui ne sont jamais réalisables Si (x 15 ) { instructions }

24 Cours d’ Algorithmique 2012 L’imbrication de tests SI Condition 1 Condition 2 Instruction faux vrai faux

25 Cours d’ Algorithmique 2012 L’imbrication de tests Si (sur l’A10 ) alors si (Ferrari) alors { rouler à 135km/h } sinon si (R5) alors { rouler à 90km/h } sinon { rouler à 130km/h } sinon si (départementale) { rouler à 90km/h } sinon { rouler à 50km/h }

26 Cours d’ Algorithmique 2012 Exercices

27 Cours d’ Algorithmique 2012 Remarques sur les tests. Les conditions peuvent être des composées de ET et de OU Si ( Ferrari ET (autoroute OU circuit ) ) alors { rouler à 135km/h} != Si ( (Ferrari ET autoroute) OU circuit ) alors { rouler à 135km/h}

28 Cours d’ Algorithmique 2012 Remarques sur les tests. Toute structure de test requérant une condition composée faisant intervenir l’opérateur ET peut être exprimée de manière équivalente avec un opérateur OU, et réciproquement. Si ( pas de Radar ET autoroute) alors { rouler à 135km/h} sinon {rouler à 130km/h} = Si ( (Radar ou pas autoroute) OU circuit ) alors { rouler à 130km/h} sinon {rouler à 135km/h}

29 Cours d’ Algorithmique 2012 Les boucles While Condition vrai faux Tant que Instruction

30 Cours d’ Algorithmique 2012 Les boucles while Tant que ( je ne me fais pas arrêter ) { je fais du 135 km/h} Tant que ( j’ai des points ) { je prends ma voiture} While ( condition ){Instruction}

31 Cours d’ Algorithmique 2012 Intérêt de la boucle While Différence avec test : se répète tant que le test n’est pas validé. Exemple d’un contrôle de saisie au clavier.

32 Cours d’ Algorithmique 2012 Boucle While En pseudo code : TANT QUE booléen Instructions FIN TANT QUE

33 Cours d’ Algorithmique 2012 Erreurs avec la Boucle While Condition jamais vraie. – Ne passera jamais par la boucle. Condition toujours vraie – Ne sortira jamais de la boucle. Bug de la machine – plantage…

34 Cours d’ Algorithmique 2012 Les boucles Do While Condition vrai faux Instruction

35 Cours d’ Algorithmique 2012 Les boucles do while { je fais du 135 km/h} tant que( je ne me fais pas arrêter ) { je prends ma voiture} tant que ( j’ai des points ) Do {Instruction} while ( condition )

36 Cours d’ Algorithmique 2012 Exercices

37 Cours d’ Algorithmique 2012 Les boucles for Condition vrai faux Initialisation instruction Fin de bloc

38 Cours d’ Algorithmique 2012 Les boucles for Du (Km=0 ; Km<=250 ; Km++) { je vais à 135km/h } For (Initialisation; condition ; Fin de bloc ){Instruction}

39 Cours d’ Algorithmique 2012 Les boucles for en pseudo-code Pour Compteur ← Initial à Final Pas ValeurDuPas … Instructions … Compteur suivant

40 Cours d’ Algorithmique 2012 Quand utiliser WHILE ou FOR ? While : quand on ne connaît pas la quantité – le contrôle d’une saisie. – la gestion des tours d’un jeu (tant que la partie n’est pas finie, on recommence) For : Pour un nombre de fois déterminé. – Les tableaux (prochain chapitre)…

41 Cours d’ Algorithmique 2012 Imbrication de while ou de for Les WHILE et les FOR peuvent tout à fait s’imbriquer. Les WHILE et les FOR peuvent être successives.

42 Cours d’ Algorithmique 2012 Erreur à ne pas commettre Les WHILE et les FOR ne peuvent pas se croiser

43 Cours d’ Algorithmique 2012 Exercices

44 Cours d’ Algorithmique 2012 Les tableaux : array Var voitures = ["Ferrari F40", "Clio","207","307" ]; 0 1 2 3

45 Cours d’ Algorithmique 2012 Les tableaux : array Var voitures[0] -> "Ferrari F40";

46 Cours d’ Algorithmique 2012 Les tableaux : array Var voitures = [ ["Ferrari ", "F40"], ["Peugeot","307" ], ["Renault","Clio" ] ]; voitures[0] -> ["Ferrari ", "F40"] voitures[0][0] -> "Ferrari " voitures[0][1] -> "F40"

47 Cours d’ Algorithmique 2012 Exercices

48 Cours d’ Algorithmique 2012 Les fonctions Certains traitements ne peuvent être effectués par un algorithme. D’autres traitements peuvent être longs et fastidieux

49 Cours d’ Algorithmique 2012 Les fonctions Pour faire gagner du temps aux programmeurs, les langages de programmation intègrent des fonctions prédéfinies. A ← Sin(35) A ← Len(chaîne) A ← Mid(chaîne,n1,n2)

50 Cours d’ Algorithmique 2012 Les fonctions maFonction (arg1, arg 2) NomArguments (ou paramètres)

51 Cours d’ Algorithmique 2012 Les fonctions de texte Tous les langages proposent des fonctions de texte. Len(chaîne) : renvoie le nombre de caractères d’une chaîne Mid(chaîne,n1,n2) : renvoie un extrait de la chaîne, commençant au caractère n1 et faisant n2 caractères de long. Trouve(chaîne1,chaîne2) : renvoie un nombre correspondant à la position de chaîne2 dans chaîne1. Si chaîne2 n’est pas comprise dans chaîne1, la fonction renvoie -1.

52 Cours d’ Algorithmique 2012 Exercices

53 Cours d’ Algorithmique 2012 Les fonctions numériques Tous les langages proposent des fonctions numériques. Ent(7.328): renvoie la partie entière du nombre Mod(10,4) : permet de récupérer le reste de la division d’un nombre par un deuxième nombre. Alea() : génère un nombre aléatoire entre 0 et 1 a=alea() -> 0<=a<1

54 Cours d’ Algorithmique 2012 Exercices

55 Cours d’ Algorithmique 2012 Les fonctions personnalisées Pour éviter les répétitions de code. Pour simplifier le code. Pour simplifier la modification du code

56 Cours d’ Algorithmique 2012 Les fonctions personnalisées function carre(nombre) {... return nombre * nombre; } NomParamètres (0, 1 ou n paramètres)

57 Cours d’ Algorithmique 2012 Le scope : variables locales et globales var x = 42 function olala() { var y = 33; Ecrire (x); // 42 } Ecrire (y); // undefined


Télécharger ppt "Cours d’ Algorithmique 2012 Algorithmique. Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà."

Présentations similaires


Annonces Google