22
Algorithmique TOUHTOUH Samira Ecole Nationale des Sciences Appliquées d’El Jadida [email protected] 1

Algorithmique Introduction

Embed Size (px)

Citation preview

Algorithmique TOUHTOUH Samira

Ecole Nationale des Sciences Appliquées d’El Jadida

[email protected]

1

Plan Introduction

Informatisation d’un problème : Langage algorithmique

Les variables Les constantes

Fonctions d’entrée-sortie

Les structures

Les tableaux

Les fonctions

Les fichiers

2

Plan Introduction

Informatisation d’un problème : Langage algorithmique

Les variables Les constantes

Fonctions d’entrée-sortie

Les structures de contrôle

Les fonctions

Les tableaux

Les fichiers

3

I. Introduction

Introduction à l’algorithme

• Histoire

Le mot algorithme vient du mot latinisé du mathématicien « Al-Khawarismi », après la traduction du livre « kitâb- aljabr wa al-muqâbala » par Gherardo di cremona sous le titre « Dixit Algorismi ».

• Définition générale

Une séquences d’instructions logique à suivre pour obtenir un résultat donné.

4

Exemple 1 : Comment accéder à L’ENSA?

1. Réussir le bac

2. Candidater

3. Passer le concours

4. Réussir le concours

5. Déposer un dossier d’inscription

Exemple 2 : Préparer un café au lait

1. Préparer le café

2. Préparer le lait

3. Mélanger les deux

5

L’ordre des opérations a son importance, mais dans certains cas plusieurs ordres sont possibles.

Parfois, il faut décomposer les actions trop complexes. Exemple : Préparer un café au lait 1. Préparer le café 2. Préparer le lait 3. Mélanger les deux Etape élémentaire : Préparer le café 1. Préparer la cafetière 2. Remplir d’eau 3. Mettre le filtre 4. Mettre le café 5. Brancher la cafetière 6. Lancer la cafetière

6

En informatique :

Procédure de calcul bien défini qui prend en entrée une valeur, ou un ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs.

Exemple :

Algorithme d’Euclide

Calculer le PGCD de deux entiers a et b.

7

1. Ordonner a et b tel que a≥b

2. Calculer leur différence

3. Remplacer a par c c a-b

Exécuter 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

Exécuter avec a=100 et b=40

9

Un algorithme est dit correct si, pour chaque instance en entrée, il se termine en

produisant la bonne sortie.

Un algorithme incorrect risque de ne pas se terminer pour certaines instances en entrée, voire de se terminer sur une réponse autre que celle désirée.

Un algorithme peut être spécifié en langage humain ou en langage informatique. L’unique obligation est que la spécification fournisse une description précise de la procédure de calcul à suivre.

10

Plan

Introduction

Informatisation d’un problème : Langage algorithmique

Les variables

Algorithme

Les constantes

Les structures

Les fonctions

11

II. Langage algorithmique

12

Énoncé du problème

Algorithme Programme

Langage naturel

Langage algorithmique

Langage de programmation

Le langage algorithmique est différent du langage de programmation.

Langage de programmation

13

Langages de bas niveau

Liés au processeur

Langages de haut niveau

Langages évolués

CC++ Java

Le langage algorithmique exprime les instructions résolvant un problème donné indépendamment des particularités d’un langage de programmation.

En générale on utilise deux types de notations pour représenter les algorithmes:

• L’organigramme

• Le pseudo-code

14

L’organigramme est un schéma fonctionnel qui présente les différentes parties

d’un algorithme les unes à la suite des autres en utilisant des symboles graphiques pour visualiser l’exécution de l'algorithme et le cheminement des données.

15

Exemple : somme de deux nombres A et B

16

L’écriture d’un algorithme avec un organigramme est rapidement abandonnée. La lisibilité devient rapidement difficile pour les algorithmes assez long.

le pseudo-code est purement conventionnel, aucune machine n’est censée le reconnaître.

Exemple : Somme de deux nombres A et B

Algorithme somme_de_deux_nombres

Variables A, B, somme en entier

Début

Lire A

Lire B

somme A+B

Ecrire ‘’ La somme de A et B est : ’’, somme

Fin

17

Les différents éléments d’un algorithme sont :

• Données : ce qui doit être donné à l’algorithme

• Résultats : ce que doit produire l’algorithme

• L’algorithme : les grandes étapes des traitements et calculs

18

Exemple : Calculer le PGCD de a et b.

19

Données

Algorithme

Résultats

Données : a et b deux entiers positifs Résultat : PGCD de a et b

Structure d’un algorithme

Nom de l’algorithme // partie en-tête qui précise le nom de l’algorithme

Déclaration des variables // partie déclaration des variables

Début // partie traitement des données

Algorithme (définir les actions à suivre pour résoudre un problème donné)

Fin

20

Exemple 1 :

Ecrire un algorithme qui permet d’afficher « Bonjour ».

Algorithme algo-bonjour

Début

écrire ( ‘’bonjour‘’ );

Fin

21

Exemple 2 : Ecrire un programme qui demande un nombre à l’utilisateur, puis qui

calcule et affiche le carré de ce nombre,

Algorithme carré-de-deux-nombres

Variables nb, carr en Entier

Début

Ecrire ‘’Entrez un nombre:’ ’

Lire nb

carr nb*nb

Ecrire ‘’son carré est :’’ , carr

Fin

22