Algorithmique Introduction

  • View
    20

  • Download
    2

Embed Size (px)

Transcript

  • Algorithmique TOUHTOUH Samira

    Ecole Nationale des Sciences Appliques dEl Jadida

    samira.touhtouh@gmail.com

    1

  • Plan Introduction

    Informatisation dun problme : Langage algorithmique

    Les variables Les constantes

    Fonctions dentre-sortie

    Les structures

    Les tableaux

    Les fonctions

    Les fichiers

    2

  • Plan Introduction

    Informatisation dun problme : Langage algorithmique

    Les variables Les constantes

    Fonctions dentre-sortie

    Les structures de contrle

    Les fonctions

    Les tableaux

    Les fichiers

    3

  • I. Introduction

    Introduction lalgorithme

    Histoire

    Le mot algorithme vient du mot latinis du mathmaticien Al-Khawarismi , aprs la traduction du livre kitb- aljabr wa al-muqbala par Gherardo di cremona sous le titre Dixit Algorismi .

    Dfinition gnrale

    Une squences dinstructions logique suivre pour obtenir un rsultat donn.

    4

  • Exemple 1 : Comment accder LENSA?

    1. Russir le bac

    2. Candidater

    3. Passer le concours

    4. Russir le concours

    5. Dposer un dossier dinscription

    Exemple 2 : Prparer un caf au lait

    1. Prparer le caf

    2. Prparer le lait

    3. Mlanger les deux

    5

  • Lordre des oprations a son importance, mais dans certains cas plusieurs ordres sont possibles.

    Parfois, il faut dcomposer les actions trop complexes. Exemple : Prparer un caf au lait 1. Prparer le caf 2. Prparer le lait 3. Mlanger les deux Etape lmentaire : Prparer le caf 1. Prparer la cafetire 2. Remplir deau 3. Mettre le filtre 4. Mettre le caf 5. Brancher la cafetire 6. Lancer la cafetire

    6

  • En informatique :

    Procdure de calcul bien dni qui prend en entre une valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs.

    Exemple :

    Algorithme dEuclide

    Calculer le PGCD de deux entiers a et b.

    7

    1. Ordonner a et b tel que ab

    2. Calculer leur diffrence

    3. Remplacer a par c c a-b

  • Excuter avec a=40 et b=12

    8

    Fin4ba:11Etape

    4b4a:10Etape

    4bac:9Etape

    4b8a:9Etape

    8bac:8Etape

    4b12a:7Etape

    4bac:6Etape

    12b16a:5Etape

    16bac:4Etape

    12b28a:3Etape

    28bac:2Etape

    12b40a:1Etape

  • Exemple 2

    Excuter avec a=100 et b=40

    9

  • Un algorithme est dit correct si, pour chaque instance en entre, il se termine en produisant la bonne sortie.

    Un algorithme incorrect risque de ne pas se terminer pour certaines instances en entre, voire de se terminer sur une rponse autre que celle dsire.

    Un algorithme peut tre spci en langage humain ou en langage informatique. Lunique obligation est que la spcication fournisse une description prcise de la procdure de calcul suivre.

    10

  • Plan

    Introduction

    Informatisation dun problme : Langage algorithmique

    Les variables

    Algorithme

    Les constantes

    Les structures

    Les fonctions

    11

  • II. Langage algorithmique

    12

    nonc du problme

    Algorithme Programme

    Langage naturel

    Langage algorithmique

    Langage de programmation

  • Le langage algorithmique est diffrent du langage de programmation.

    Langage de programmation

    13

    Langages de bas niveau

    Lis au processeur

    Langages de haut niveau

    Langages volus

    CC++ Java

  • Le langage algorithmique exprime les instructions rsolvant un problme donn indpendamment des particularits dun langage de programmation.

    En gnrale on utilise deux types de notations pour reprsenter les algorithmes:

    Lorganigramme

    Le pseudo-code

    14

  • Lorganigramme est un schma fonctionnel qui prsente les diffrentes parties dun algorithme les unes la suite des autres en utilisant des symboles graphiques pour visualiser lexcution de l'algorithme et le cheminement des donnes.

    15

  • Exemple : somme de deux nombres A et B

    16

    Lcriture dun algorithme avec un organigramme est rapidement abandonne. La lisibilit devient rapidement difficile pour les algorithmes assez long.

  • le pseudo-code est purement conventionnel, aucune machine nest cense le reconnatre.

    Exemple : Somme de deux nombres A et B

    Algorithme somme_de_deux_nombres

    Variables A, B, somme en entier

    Dbut

    Lire A

    Lire B

    somme A+B

    Ecrire La somme de A et B est : , somme

    Fin

    17

  • Les diffrents lments dun algorithme sont :

    Donnes : ce qui doit tre donn lalgorithme

    Rsultats : ce que doit produire lalgorithme

    Lalgorithme : les grandes tapes des traitements et calculs

    18

  • Exemple : Calculer le PGCD de a et b.

    19

    Donnes

    Algorithme

    Rsultats

    Donnes : a et b deux entiers positifs Rsultat : PGCD de a et b

  • Structure dun algorithme

    Nom de lalgorithme // partie en-tte qui prcise le nom de lalgorithme

    Dclaration des variables // partie dclaration des variables

    Dbut // partie traitement des donnes

    Algorithme (dfinir les actions suivre pour rsoudre un problme donn)

    Fin

    20

  • Exemple 1 :

    Ecrire un algorithme qui permet dafficher Bonjour .

    Algorithme algo-bonjour

    Dbut

    crire ( bonjour );

    Fin

    21

  • Exemple 2 : Ecrire un programme qui demande un nombre lutilisateur, puis qui

    calcule et affiche le carr de ce nombre,

    Algorithme carr-de-deux-nombres

    Variables nb, carr en Entier

    Dbut

    Ecrire Entrez un nombre:

    Lire nb

    carr nb*nb

    Ecrire son carr est : , carr

    Fin

    22