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

BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.

Présentations similaires


Présentation au sujet: "BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau."— Transcription de la présentation:

1 BASE DE L’ALGORITHMIE

2  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau Algorithme : KEZAKO ?

3 Jeu de construction Livret de petits dessins Joli de camion Meuble en KitNotice de montagePenderie Pelote de laine et aiguille PatronnagePull en laine IngrédientsRecette de cuisineUne tarte au citron Algorithme : KEZAKO ?

4  L’algorithme est donc un ensemble organisé d’instructions en interaction les unes avec les autres permettant la résolution d’un problème.  Un programme est l’expression d’un algorithme pour une machine donnée dans un langage de programmation donné, en utilisant le répertoire d’actions (opérations-instructions) et les règles de composition propres à cette machine et ce langage donné. Quelques définitions

5  Une machine est dotée de cinq fonctionnalités :  entrer les données,  exécuter le programme (suite d’instructions)  définir la séquence des instructions (donc mémoriser le programme)  mémoriser les données (résultats intermédiaires)  sortir les résultats Quelques définitions

6  Mots – clés:  action, ajout, algorithme, alors, autre, à, booléen, caractère, cas, chaîne, constante, début, écriture, entier, et, faire, faux, fermer, fichier, fin, fois, fonction, itérer, jusqu’à, lecture, mettre, non, ou, ouvrir, pas, pour, prendre, remarque, retourner, répéter, réel, selon, si, sinon, tantque, type, variable, vrai. Structure de base

7  Identifiant:  Valides :  Date, DATE, _201,JourDS  Non valides :  101_Dalmatiens (ne commence pas par une lettre ou le blanc souligné), Cout Achat (l’espace n’est pas accepté), Paie&Bonus (les caractère spéciaux autres que le souligné sont interdits), fin (les mots-clés ne sont pas autorisés) Structure de base

8  Séparateurs: Structure de base Rôle : Les deux points séparent un identifiant de son type dans une liste []Les crochets symbolisent le début et la fin d’un tableau.Le point permet l’accès à un sous élément,La virgule sépare les éléments d’une liste ;Le point virgule sépare les éléments de déclaration ‘ ’Les quotes encadrent les caractères « »Les guillemets encadrents une chaîne de caractères #Le dièse annonce une ligne de commentaire //La double barre commence un commentaire sur une ligne d’instruction

9  algorithme vide  #Déclarations des variables et des constantes  début  #instruction 1  #instruction 2  fin Structure de base Mots clés Identifiant du nom de l’algorithme En tête: déclaration importante Corps de l’algorithme: Description des instructions

10  algorithme Fairebouillir  début  Décrocher la casserole  Remplir la casserole d’eau froide  Déposer la casserole sur les plaques de cuisson  Allumer les plaques de cuisson  fin Séquence linéaire

11  a ← 3,b ← 4 a←ba←b b←ab←a  afficher a,b  a ← 3,b ← 4 b←ab←a a←ba←b  afficher a,b Séquence linéaire  a=4  b=4  b=3  a=3  Les instructions s’exécutent de façon linéaire c’est-à-dire les unes après les autres dans l’ordre d’écriture du script.

12 Fonction ou procédure FONCTION Données en entrée Un unique résultat en sortie PROCEDURE Données en entrée 0 à N résultats en sortie

13 Fonction

14 Mot clé Nom Donnée et type Sortie et type Mots clés Utilisation de la fonction

15  Variable globale -> définie en dehors de la fonction  Variable locale -> définie uniquement dans une fonction et masque tout autre variable portant le même nom Fonction

16  x=6  def fonction(y) :  x = 3*y+2  return x  x = 5  def fonction2(y):  return (2*fonction(y)**2+2*y)  x=fonction(x)+2*fonction2(x)-3 Fonction 3*5+2 2*17^2+2*5=588 1190

17  N=3  def mult_3(N)  return N*N Fonction  N=3  def mult_3(x)  return N*x  N=4  def mult_3(x)  N=3  return N*x  N=3  def mult_3(x)  N=4  return N*x  Quelle fonction multiplie l’entrée par 3 ?

18  Permet de choisir entre de séquence d’instructions suivant une condition Structure alternative

19  EXERCICES  a=24  ! a-4 <25  VRAI ou FAUX ?  b,c=3,2  b-c/2==2 and c^10<1000  VRAI ou FAUX ? Structure alternative

20  valeur absolue d’un nombre :  nombre ← Lire « Donnez une année »  valeur = 0  Debut si nombre<0  Alors valeur ← - nombre  Sinon valeur ← +nombre  Fin si  Afficher (« la valeur absolue est : »,valeur) Structure alternative En Python ?

21 Structure alternative  algorithme ValAbsolue  variable nombre,valeur :réel  début  nombre ← Lire « Donnez une année »  valeur = 0  début si nombre<0 alors valeur ← - nombre  sinon valeur ← nombre  fin si  afficher (« la valeur absolue est : »,valeur)  fin En Python ?

22  Année bissextile  Règle 1 : Une année divisible par 4 est une année bissextile.  Règle 2 : Une année divisible par 100 n’est pas une année bissextile.  Règle 3: Une année divisible par 400 est une année bissextile. Arbre des choix (ou des décisions)

23 Divisible par 400 Divisible par 100 Divisible par 4 Oui bissextile Oui Non bissextile Non bissextile

24  algorithme AnneeBissextile  variable annee : entier, bissextile :booleen  #Séquence de test de l’année bissextile  debut si annee divisible par 4  alors debut si annee divisible par 100  alors debut si annee divisible par 400  alors bissextile ← vrai  fin si Arbre des choix (ou des décisions)  sinon bissextile ← vrai  fin si  #Affichage de la réponse  debut si bissextile  alors afficher(« c’est une année bisextile »)  sinon afficher(« ce n’est pas une année bisextile »)  fin si

25 # Déclaration des variables  annee = input("Saisissez une annee : ")  annee = int(annee) # Pour forcer le type entier  bissextile = False # initialisation de bissextile  if annee % 400 == 0:  bissextile = True  elif annee % 100 == 0:  bissextile = False  elif annee % 4 == 0:  bissextile = True  else:  bissextile = False Arbre des choix (ou des décisions)  if bissextile: # Vrai si l'année est bissextile  print("L'année saisie est bissextile.")  else:  print("L'année saisie n'est pas bissextile.")

26 Structure bouclée (POUR...FAIRE)

27 Structure bouclée (POUR...FAIRE)

28  algorithme Somme  variable somme :réel  début  somme=0  Pour i allant de 1 à 100 Faire  somme ← somme +1/i**2  fin pour  afficher (« la somme est : », somme)  fin Structure bouclée

29 (TANT QUE...FAIRE)

30 Structure bouclée (TANT QUE...FAIRE)

31  algorithme CalculPi  variable somme: réel,test:booleen,k:entier  constante erreur=10 -6  début  somme ← 0, test ← vrai, k ← 1  tant que test Faire  somme ← somme +(-1)**k/(2*k+1)  debut si 4 /(2*k+1)<erreur alors test ← faux  fin si  k ← k+1  fin tantque  afficher (« la valeur de pi à », erreur, « près est : », somme)  fin Structure bouclée

32  Jeu de Nim  Ce jeu se joue à deux en commençant avec n allumettes (par exemple 9). Chacun sont tour, un joueur retire 1,2 ou 3 allumettes. Le gagnant est le joueur qui ramasse la dernière allumette.  Le nombre de position de ce jeu est fini. Illustrer par un arbre de décision l’ensemble des solutions de ce jeu. Déterminer alors une stratégie gagnante. Proposer alors un algorithme permettant de s’assurer la victoire. Intelligence artificielle

33 Jeu de nim 5 7 6 7 3 4 6 5 3 4 2 1 Gagné 5 3 4 2 1 Perdu 3 4 2 1 Gagné 3 2 1 Perdu 9 6 8 GagnéGagné

34 Jeu de nim 5 7 6 7 3 4 4 9 6 8 Il faut donc se ramener à une position où le nombre d’allumettes est un multiple de 4


Télécharger ppt "BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau."

Présentations similaires


Annonces Google