• Aucun résultat trouvé

Algorithmique 1. Quelques définitions

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmique 1. Quelques définitions"

Copied!
5
0
0

Texte intégral

(1)

Page 1 sur 5

Algorithmique

1. Quelques définitions

Le mot « algorithme » vient du nom du mathématicien Al Khwarizmi (780 ?-850?), qui, au 9ème siècle écrivit le premier ouvrage systématique sur la solution des équations linéaires et quadratiques. La notion d'algorithme est donc historiquement liée aux manipulations numériques, mais elle s'est progressivement développée pour porter sur des objets de plus en plus complexes : des textes, des images, des formules logiques, des objets physiques, etc.

Définition : Un algorithme est une suite d'instructions simples à exécuter pour résoudre en temps fini un problème posé.

Un algorithme est dit correct s'il se termine avec la sortie juste pour toute instance.

Si un algorithme est correct on dit qu'il résout le problème.

Ici :

Données = Ingrédients Résultats = Crêpes 2. Conventions du pseudo-code

Exemple d’algorithme écrit en pseudo-code

En programmation, le pseudo-code est une façon de décrire un algorithme en respectant certaines conventions, mais sans référence à un langage de programmation en particulier.

Il n’existe pas de convention universelle pour le pseudo-code.

Afin de bien se comprendre dans la suite de ce cours, nous adopterons celle décrite ci-dessous.

Données d'entrées

Par exemple : Année <- 1582

Résultat en sortie

Par exemple : Date de Pâques pour l'année donnée Nom de l'algorithme

Par exemple : Calcul de la date de Pâques

Tableau unidimensionnel ou liste

A[i] : l'élément de rang i dans le tableau A, on suppose les tableaux numérotés à partir de 0.

Tableau multidimensionnel A[i,j]

Élément en ligne i et en colonne j du tableau A.

(2)

Page 2 sur 5 Structure de l’algorithme

 l'en-tête ;

 déclaration des variables ;

 corps de l'algorithme ;

 sortie.

L'en-tête

Il commence par le mot "Algorithme". Il identifie :

 le nom de l'algorithme ;

 ce que l'algorithme doit faire ;

 les entrées et les sorties.

La déclaration des variables

Elle commence par le mot "Variables".

Elle définit :

 le nom des variables ;

 le type des variables.

Procédure

PROCEDURE nom(paramètres) instruction

...

Résultat Fonction

FONCTION nom(paramètres) instruction

...

RETOURNER résultat Bloc si

SI condition ALORS instruction-si-vrai ...

SINON

instruction-si-faux ...

FIN SI

Chaîne de caractères

"string" (entre guillemets)

Bloc tant que

TANT QUE condition FAIRE instruction

...

FIN TANT QUE Bloc pour

POUR i ALLANT DE d À f FAIRE instruction

...

FIN POUR Affectation

a 10 Commentaires

/* ceci est un commentaire */

(3)

Page 3 sur 5 Algorithme complet

3. Historique d’éxécution

Pour comprendre et vérifier le fonctionnement d'un algorithme, il faut :

 donner un exemple d'exécution

 numéroter les lignes de l'algorithme

 sélectionner les variables à suivre

 construire un tableau représentant les valeurs de chaque variable au fur et à mesure de l'exécution de l'algorithme en fonction de la ligne.

Le corps de l'algorithme

Il commence par le mot "Début" et s'achève par le mot "Fin".

Les indentations permettent d'identifier les blocs d'instructions.

La plupart des algorithmes se décomposent en 2 parties :

 ce qu'on calcule ;

 ce qu'on renvoie à l'utilisateur (instruction Retourner()).

(4)

Page 4 sur 5 4. Recherche du maximun :

Algorithme max(tab )

/* algorithme qui recherche le maximum d’une liste*/

Entrées : liste de nombres réels

Sorties : resultat : le maximum recherché tab : tableau de réels ;

max : réel Début

max  tab[0]

POUR i ALLANT DE 1 A longueur de tab FAIRE : SI tab[i]>max ALORS:

maxtab[i]

FIN SI FIN POUR renvoyer(max) Fin

Exercice 1 :

Soit le tableau tab=[24, 15, -5, 68, 2, 145, 55], on souhaite obtenir le maximum de la liste.

a) Quel est le résultat attendu ?

b) En vous aidant de l’algorithme ci-dessus, donner l’historique d’exécution en complétant le tableau ci-dessous. (le recopier dans votre cahier et ajouter le nombre de lignes nécessaires)

Instructions Tab Max i Condition Valeur retournée

[24,15,-5,68,2,145,55]

Ligne 1

Ligne 2

….

….

….

c) Ecrire le programme correspondant en Python.

(5)

Page 5 sur 5 Exercice 2 :

1. Ecrire un algorithme qui recherche le minimum d’une liste (avec la définition des entrées et des sorties, la déclaration des variables).

2. Soit le tableau tab=[24, 15, -5, 68, 2, 145, 55], on souhaite obtenir le minimum de la liste.

2.1. Quel est le résultat attendu ? 2.2. Donner l’historique d’exécution.

Exercice 3 :

A l’aide du module “random”, créer, en compréhension, un tableau de 8 entiers choisis aléatoirement et compris entre -20 et 20.

Ecrire le programme Python permettant de rechercher le maximum des 8 nombres.

Exercice 4 :

Soit le tableau tab = ['pomme', 'abricot', 'banane', 'kiwi', 'orange', 'clementine']

Ecrire un programme en Python, permettant de classer le mot se trouvant le dernier dans le dictionnaire.

Aide : Voici les résultats obtenus dans une console python :

Ces comparaisons sont possibles, parce que les caractères alphabétiques qui constituent une chaîne de caractères sont mémorisés dans la mémoire de l'ordinateur sous forme de nombres binaires dont la valeur est liée à la place qu'occupe le caractère dans l'alphabet. Pour connaître cette valeur, il suffit de faire ord(‘lettre’) comme ci-dessus.

Dans le système de codage ASCII, par exemple, A=65, B=66, C=67, etc.

Références

Documents relatifs

1°) a) Donner deux réels de l’intervalle 0 ; 50 ayant la même image par la fonction. En déduire par le calcul le nombre de tonnes pour lequel le bénéfice est maximum. b) Donner

• Sur la Terre, l’eau se trouve sous trois états physiques (cf.. Elle est surtout présente

[r]

(b) Tracer le nuage de points de cette série sur le papier millimétré fourni.. (c) Calculer l’étendue et préciser le mode de

D’après vous parmi les entreprises du tableau, lesquelles semblent respecter la parité2. Comment pourrait-on construire un critère pour déterminer si oui ou non une entreprise

[r]

[r]

1) Écrire l'équation de la réaction qui se produit lors de la mise en solution dans l'eau. 2) Calculer les concentrations molaires dans la solution de l'ion oxonium, de l'ion