Accueil du site
 
Biologie Chimie Informatique
Math NTIC Physique
 
 
Informatique
Communauté
  Cours
  Emploi
  Logement
  Universités
  Réforme "LMD"
   
Services
  Jeux
  Info
  Météo
   
Plus
  Accueil
  Liens


Le site n'est plus mis a jour actuellement...
Chapitre 5 : Langage Algorithmique
© snoclub.fr.st

 

Le langage mis en place servira à manipuler des données numériques

- Demande une valeur à l'utilisateur
- Ranger une valeur en mémoire
- Chercher une valeur en mémoire
- Evaluer une expression à partir de valeurs stockées en mémoire
- Afficher une valeur se trouvant en mémoire
- Comparer des valeurs

 

5.1 Structure générale d'un algorithme

 

Lorsqu'on écrit un algorithme, il faut respecter 2 contraintes qui sont :

- La syntaxe : Règles qui permettent de faire des phrases correctes
- La sémantique : Sens des phrases

 

Syntaxe :

Algorithme Nom_de_l_algorithme

Déclaration
 liste_de_variables               type_de_variable

Début

                instructions...

Fin

 

 

5.2 Notions de variables

 

Une variable sert à stocker l'information traitée par un algorithme

 

5.2.1 Attributs d'une variable :

 

                - Identificateur  nom qui sert à repérer la variable
                - Type : format des données qu'elle contient
                - Valeur
                - (Adresse : dans le cas d'un langage de programmation spécial)

 

5.2.2 Types d'une variables

 

5 types de base :

                - Les entiers
                - Les réels
                - Les booléens (2 valeurs : Vrai ou Faux)
                - Le caractère
                - Les chaînes de caractères

 

Exemple :

Algorithme patate                                               P = Nombre de patates à éplucher
Déclaration
                                                           N = Nombre de patates à éplucher
                P,N des entiers

 

5.2.3 : Déclaration des variables

 

Nécessité de déclarer des variables :

                - Dans un langage algorithmique :
                                - Assurer la cohérence du type des variables
                - Dans un langage de programmation :

                                - Assurer la cohérence du type des variables
                                - Stocker les variables en mémoire

 

5.2.4 Valeur d'une variable

 

Dans la partie déclaration, les variables n'ont pas de valeur. Attribuer une valeur à une variable est une instruction. Initialiser une variable, c'est lui donner une première valeur

 

5.2.5 Rôle d'une variable

 

Une variable peut être :

                - Donnée : variable nécessaire pour faire fonctionner un algorithme
                                                                ex : P = nombre de patates

                - Résultat : résultat d'un calcul

                - Auxiliaire : qui sert à stocker des informations temporaires, à faire des calculs ou à faire fonctionner des structures de contrôle

 

5.3 Opérations élémentaires et expressions

 

5.3.1 Expressions arithmétiques

 

- Opérations binaires

                - entiers ou rées : + , - , * , /

                - entiers div, mod :
                                a div b : quotient euclidien de a par b
                                a mod b : reste de la division euclidienne de a par b

Une expression arithmétique est soit :

- Une constante numérique
- Une variable numéri          que
- Une combinaison des précédentes avec des opérateurs et des parenthèses
                ex : (a+b)*c

 

5.3.2 Expressions booléennes

 

- Opérateurs relationnels
                =
                <>
                >
                <
                >=
                <=

- Opérateurs booléens
                Et, Ou, Non

 

Une expression booléenne est :

                - une constante booléenne : (vrai ou faux)
                - une variable booléenne
                - des expressions arithmétiques combinées à des opérateurs relationnels
                - des expressions booléennes combinées à des opérateurs booléens

exemples :

a, b des entiers
c, d des booléens

- a=b : expression booléenne dont la valeur est vraie si a=b et faux si a<>b
- p et q
- p et non q
- (a=b) ou q

 

5.4 Affectation

 

C'est l'instruction qui permet de donner une valeur à une variable

2 façons :

- de manière externe : c'est par exemple un utilisateur qui donne la valeur
                syntaxe : demander_la_valeur_pour  variable

- de manière interne : on évalue une expression et on donn cette valeur à la variable
                syntaxe : affecter_la_valeur_de expression à variable

 

Exemple :

 

                Algorithme Patate1

                Déclaration

                                P, N des entiers

                Début

                                demander_une_valeur_pour P
                                affecter_la_valeur_de 0 à N
                                ...
                                affecter_la_valeur_de N+1 à N
                                affecter_la_valeur_de P-1 à P

                                ...

                Fin

 

                Algorithme estpair

                Déclaration

                                a, b des entiers
                                pair un booléen

                Début

                                Demander_une_valeur_pour a
                                Affecter_la_valeur_de ( a mod 2 ) à b
                                Affecter_la_valeur_de  (b=0) à pair

                Fin         

 

5.5 Edition

 

L'édition d'une expression c'est l'affichage de la valeur de cette expression.

Syntaxe : montrer_la_valeur_de expression

 

Algorithme Somme

Déclaration

                a, b, c des entiers

Début

                demander_une_valeur_pour a
                demander_une_valeur_pour b
                affecter_la_valeur_de a+b à c
                montrer_la_valeur_de c

Fin

 

5.6 Déroulement d'un algorithme

 

3 instructions de base

- affectation externe
- affectation interne
- édition

3 structures de contrôle

- séquence d'instruction
- sélection
- itération

 

5.7 Séquence d'instructions

 

Suite d'instructions, les instructions sont exécutées dans l'ordre l'une après l'autre

 

5.8 Sélection

 

2 formes

                1) Complète

 

Si (expression booléenne) alors

                séquence d'instructions 1

sinon

                séquence d'instructions 2

finsi

 

 

                2) Incomplète

 

Si (expression booléenne) alors

                séquence d'instructions

Finsi

 

 

Exemples :

Algorithme maximum_de_2_nombres

Déclaration

                x, y, max des entiers

                Début

                                Demander_une_valeur_pour x

                                Demander_une_valeur_pour y

                Si (x>=y) alors

                                affecter_la_valeur_de x à max

                sinon

                                affecter_la valeur_de y à max

                finsi

                montrer_la_valeur_de max

fin

 

Algorithme équation_du_premier_degré ( ax+b=0 )

Déclaration

                a, b, x des réels

Début

                demander_une_valeur_pour a

                demander_une_valeur_pour b

                Si (a=0) alors

                                Si (b=0) alors

                                                montrer_la_valeur_de "tout réel est solution"

                                sinon

                                                montrer_la_valeur_de "Pas de solution"

                                finsi

                sinon

                                affecter_la_valeur_de -b/a à x

                                montrer_la_valeur_de x

                finsi

fin

 

5.9 l'itération

 

Syntaxe :

tant que (expression booléenne) faire

                séquence d'instrucions

fintq

 

 

- Quelques points importants

- Pour commencer cette boucle il faut pouvoir évaluer l'expression booléenne si l'évaluation donné est fausse on n'entre pas dans la boucle
- il est nécessaire que la séquence d'instructions modifie la valeur de l'expressio booléenne sinon boucle infinie

 

Exemples d'iérations

1) Faire l'algorithme qui calcule la somme de 2 nombres choisis par l'utilisateur

Test d'arrêt : les deux nombres choisis sont 0

 

Algorithme somme

Déclaration

                a, b des entiers

Début

                demander_une_valeur_pour a
                demander_une_valeur_pour b

                tant que ((a<>0) ou (b<>0)) faire

                                montrer_la_valeur_de a+b
                                demander_une_valeur_pour a
                                demander_une_valeur_pour b

                fintq

Fin

 

2) Algorithme qui affiche les nombres pairs inférieurs à 50

 

Algorithme nombres_pairs_inférieur_à_50

Déclaration

                e un entier

Début

                affecter_la_valeur_de 0 à e

                tant que (e<50) faire

                                (

                                montrer_la_valeur_de e

                                affecter_la_valeur de e+2 à e

                                )

                                ou

                                (                              

                                Si (e mod 2 = 0) alors

                                                montrer_la_valeur_de e

                                finsi

                                affecter_la_valeur_de e+1 à e

                                )

                finqt

Fin

Tables des valeurs :

C'est une table qui suit la valeur de toutes les variables contenues dans un algorithme

 

ex : table des valeurs pour algorithme précédent (50 remplacer par 2)

Source : www.fvirtman.fr.st – Auteur : Fman
ÓSNOCLUB.fr.st

     
Tous droits réservés © snoclub 2001-2002