Algorithmes et Instructions

publicité
Organigramme et algorithme
Applications avec calculatrices et logiciels
I Organigramme et algorithme
Un algorithme est une suite d'instructions qui permet :
-
d'entrer différentes données
d'effectuer un certain nombre d'opérations ou de tests
de fournir des résultats en fonction des différentes entrées et des différents calculs
On présente très souvent un algorithme à l'aide d'un organigramme qui montre la succession des
différentes étapes ou tests.
Voici un organigramme qui donne le carré des entiers naturels compris entre 1 et 5.
Soit n l'entier dont on veut connaître le carré.
Entrée
de nde= n1 = 1
Entrée
On compare n avec 5
n=n+1
>
Fin
<=
On élève n au carré
On affiche n²
Pour vérifier le bon fonctionnement de cet organigramme, on peut le tester avec différentes valeurs.
On peut après faire un algorithme pour pouvoir le transcrire en langage machine.
Pour n allant de 1 à 5
Afficher n²
II Utilisation des calculatrices et du logiciel XCAS
1. Les instructions de programmation
Les calculatrices utilisées sont des calculatrices graphiques de Casio et Texas Instruments. Il est
intéressant de savoir se servir des 2 calculatrices. Les différences sont minimes.
XCAS est un logiciel de calcul formel à télécharger sur :
http://www-fourier.ujf-grenoble.fr/~parisse/giac_fr.html
Entrer le nom du
programme
Editer le
programme
Exécuter le
programme
Casio
Menu + PRGM + New
Texas
prgm + NOUV
Menu + Programme
+ EDIT
prgm + EDIT
Menu + Programme
+ EXE
prgm + EXE
Xcas
Prg + Nouveau programme
OK
2. Les instructions d’entrée, d’affectation et de sortie
Casio
Entrer A
A
Affecter la valeur
5àA
5
Afficher A
A
A
Texas
prgm + E/S +
Input "A ",A
(ou Prompt A)
5 Sto  A
prgm + E/S + Disp A
Xcas
input(A);
A:= 5 ;
print(A);
3. Les instructions conditionnelles
Sur Casio : PRGM + COM
Si condition
Alors
Instruction
FinSi
Si condition
Alors
Instruction 1
Sinon
Instruction 2
FinSi
Sur Texas : PRGM + CTL
Casio
If condition
Then Instruction
IfEnd
If condition
Then Instruction 1
Else Instruction 2
IfEnd
Texas
If condition
Then
Instruction
End
If condition
Then
Instruction 1
Else
Instruction 2
End
Xcas
if( condition){
Instruction};
if( condition){
Instruction 1}
else{ Instruction 2};
4. Les instructions de boucle
Sur Casio : PRGM + COM
Pour i allant de 1
(début) à N (fin )
avec pas de 1,
Faire
FinPour
TantQue i  N
Faire
FinTantQue
Sur Texas : PRGM + CTL
Casio
For I1 To N step 1
Instruction(s)
Next
Texas
For(I,1,N,1)
Instruction(s)
End
Xcas
for(i:=1;i<=N;k:=k+1){
Instruction(s)};
While I  N
Instruction(s)
WhileEnd
While I  N
Instruction(s)
End
while (I<=N){
Instruction(s)};
Traitement de l'exemple du I
Avec FOR
Algorithme
Variable
n entier naturel
Début
Pour n allant de 1 à 5 faire
Afficher n²
FinPour
Fin
Casio
For 1  N To 5
N²
Next
Texas
For ( N ,1,5)
Disp N ²
End
Xcas
for(N:=1;N<=5;N:=N+1)
{
M:=N²;
print(M);
}
Commentaires :
La boucle est la même sur les 3 programmes : valeur initiale, valeur finale et pas au besoin
(incrémentation avec Xcas). L'incrémentation de 1 est systématique avec la Casio et la Texas.
-
Avec la calculatrice Casio, on a For qui s'utilise avec Next.
-
Avec la calculatrice TI, on a For qui s'utilise avec End.
-
Les accolades avec Xcas justifient le début et la fin d'un sous-programme (boucle par exemple).
Avec WHILE
Algorithme
Variable
n entier naturel
Début
Affecter 0 à n
TantQue n  5 faire
Affecter la valeur n+1 à n
Afficher n2
FinTantQue
Fin
Casio
0N
While N  5
N+1N
N^2
WhileEnd
Texas
0N
While N  5
N+1N
Disp N ²
End
Xcas
N:=0;
while (N<=5)
{
N:=N+1;
M:=N²;
print(M);
}
III Structure d’un organigramme
Un algorithme et les programmes associés :
Algorithme
Variables
N, a et b entiers
Initialisation
Affecter la valeur 0 à a
Affecter la valeur 0 à b
Début
Entrer N
Affecter la valeur 3  N à a
Affecter la valeur a + 2 à b
Afficher b
Fin
Casio
0 A
0 B
N
3  N A
A  2 B
B
Texas
0 A
0 B
Input N
3  N A
A  2 B
Disp B
Commentaires :
-
Indiquer les variables utilisées et leurs domaines d’utilisation.
Initialiser les variables à 0 (ou avec d’autres valeurs) pour que le programme débute avec la
bonne valeur de la variable.
Indiquer le début et la fin du programme.
IV Quelques algorithmes à réaliser
1. Afficher 1 , 4 , 9 , 16 , 25
2. Afficher 1, 8, 27, 64
3. Effectuer 1  2  3  ...  99 .
4. Effectuer 1  3  5  7  ...  31 .
1 1 1
1
5. Effectuer 1     ...  .
2 3 4
10
6. On donne un triangle ABC dont les côtés mesurent a, b et c.
Dire si le triangle ABC est rectangle.
Donner la nature du triangle ABC.
7. Les parents de Bruno versent 100 € à sa naissance et lui versent après 10 € tous les mois.
On veut élaborer un algorithme donnant la somme dont dispose Bruno au bout de N années.
8. Damien choisit un nombre entre 1 et 100 et Aline essaye de deviner ce nombre.
Damien ne peut répondre que "plus petit", "plus grand" ou "gagné".
Elaborer un programme permettant de jouer à ce jeu.
9. Le site photos.fr propose des développements de photos en ligne au tarif suivant :
Le développement coûte 0,15 € la photo puis à partir de 30 photos développées, le développement
coûte 0,12 € la photo.
Elaborer un programme permettant de calculer la somme à payer en fonction du nombre de photos
à développer.
Téléchargement