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.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Cours Algorithmique et Analyse : Introduction
Initiation à la programmation et algorithmique cours 4
L’algorithmique, les séquences.
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 7
Introduction à l’Algorithmique
EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
DECLARATION DE VARIABLES
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
5. Les structures répétitives
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Section VI Structures répétitives (suite)
Qu’est-ce qu’un ordinateur ?
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Partie 1 Etude de l'existant
Introduction à l’algorithmique
Démarche de résolution de problèmes
Algorithmique et Programmation
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
Introduction à la récursivité
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Algorithmique et Programmation
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
FICHIERS : Définition : Algorithme général:
Introduction à l’algorithmique
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
8PRO107 Éléments de programmation
1 Le fichier séquentiel Suite finie déléments dun même type Exemples : – fichier des livres dune bibliothèque – enregistrements sur un magnétophone – ensemble.
Python Fonction et procédure
Animateur : Med HAIJOUBI
LA LOGIQUE ALGORITHMIQUE
8PRO100 Éléments de programmation Comment répéter plusieurs fois une séquence d’instructions.
Algorithmes de tri et de recherche
Un survol du language C.
Les tests.
 Syntaxe du langage PHP
La programmation.
Cours n° 3 Traitements en Java
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Module 3 : Algorithme et Programmation
Programmation en C.
Module algorithmique et programmation
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Scripts et fonctions Instructions de contrôle
Une aide pour débutant éclairé
Algorithmique Tableaux de données
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction à L’Algorithmique
Algorithmique Boucles et Itérations
Philippe Gandy – 13 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

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 Algorithme : KEZAKO ?

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 ?

 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

 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

 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

 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

 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

 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

 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

 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.

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

Fonction

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

 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

 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=

 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 ?

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

 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

 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 ?

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 ?

 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)

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

 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

# 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.")

Structure bouclée (POUR...FAIRE)

Structure bouclée (POUR...FAIRE)

 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

(TANT QUE...FAIRE)

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

 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

 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

Jeu de nim Gagné Perdu Gagné Perdu GagnéGagné

Jeu de nim Il faut donc se ramener à une position où le nombre d’allumettes est un multiple de 4