Está en la página 1de 79

Algobox

initiation
Réaliser ses premiers programmes
①  Définition: Algorithme

②  Premiers pas avec Algobox

③  Instructions conditionnelles

i.  Si … Alors

ii.  Si … Alors … Sinon

④  Boucles itératives (1):

Pour … de … à …

⑤  Boucles itératives (2):

SOMMAIRE: Tant que…

Chapitre 1:
Algorithme
Définition et exemples
Définition:
Un algorithme est une suite d’instructions qui conduit
à un résultat.

 
Il doit contenir des instructions compréhensibles.

Un algorithme est une démonstration bien structurée:


il faut savoir le justifier.

C’est une suite ordonnée d’instructions qui indique


la démarche à suivre pour résoudre une série de
problèmes équivalents.
Il est valide s’il est apte à réaliser exactement la
tâche pour laquelle il a été conçu.
C’est une méthode détaillée qui utilise trois phases:

§  Phase 1: Les entrées


§  Phase 2: Le traitement
§  Phase 3: Les sorties
Conclusion :

§  Phase 1 = choix de la (ou des) valeur(s): informations à


demander à l’utilisateur.

§  Phase 2 = calculs à partir de cette (ou ces) valeur(s):


liste d’instructions à appliquer aux données.

§  Phase 3 = restitution du résultat: le résultat peut être


noté au fur et à mesure ou à la fin.
§  Lors de l’exécution d’un algorithme on va avoir besoin
de stocker des données: on va utiliser des variables (on
attribue un nom à chaque variable)

La saisie: on demande à l’utilisateur de donner une


valeur à la variable.
L’affectation: donner une valeur à la variable (cette
valeur peut être le résultat d’un calcul).
L’affichage: afficher la valeur de la variable.
Schéma:

déclaration liste des variables

initialiser les variables


affectation
affecter les variables

Instruc(ons*élémentaires

calculer l'image d'un nombre par une fonction


calcul écrire une formule permettant un calcul
calcul du discriminant d'une équation du 2nd degré

entrées les données


entrées-sorties
restituer les résultats
Exemples:
§  Exemple 1:
« entrer le premier nombre a:
Entrer le second nombre b:
La somme est égale à: a+b
La soustraction est égale à: a-b
Le produit est égal à: a*b »

Vérification:
a = 15 et b = 20
Somme = 35; soustraction = -5 et produit = 300
Algorithme:
§  Variables:
a est le premier nombre
b est le second nombre

§  Initialisation ou entrée des données:


Saisir a
Saisir b

§  Traitement des données:


Somme prend la valeur a+b
Soustraction prend la valeur a-b
Produit prend la valeur a*b

§  Sortie:
Afficher somme
Afficher soustraction
Afficher produit
Organigramme:
Exemples:
§  Exemple 2:
Algorithme de Syracuse:
On se donne un entier naturel n non nul :
§  s'il est pair, on le divise par 2;
§  s'il est impair, on le triple et on ajoute 1;
on itère le procédé sur le nouvel entier obtenu tant qu'il
est supérieur à 1.
Dans tous les cas essayés depuis son origine, cet
algorithme conduit à 1 (en finissant toujours par 4, 2,
1).
Algorithme:
Test de la parité.
§  Entrée
Saisir n : entier naturel non nul.

§  Traitement
Tant que n > 1

Si n est pair alors

n prend la valeur n/2


Sinon
n prend la valeur 3n + 1

FinSi

§  Sortie
Afficher n

Fin Tant que


Organigramme:
Chapitre 2:
Premiers pas avec
Algobox
Réalisation de programmes simples
Fonctionnement d Algobox:
§  Pour pouvoir utiliser une variable dans son algorithme,
il faut la déclarer.

§  Pour cela, il faut utiliser la commande « Déclarer


nouvelle variable » : donner des noms simples et
compréhensibles.
Algobox ne pourra utiliser une variable que si elle est
préalablement déclarée

Trois types de données:

1.  Type: Nombre


2.  Type: Chaîne de caractères
3.  Type: Liste de nombres
Fonctionnement d Algobox:
§  On a déclaré une variable, cette étape consiste à
réserver une place. On va remplir cette place :

§  Ensuite il faut insérer une nouvelle ligne au bon


endroit en utilisant la commande « Nouvelle Ligne ».
§  On va cliquer sur la commande « Ajouter LIRE
variable » (faire la même opération pour la saisie
des autres variables).

On demande à l’utilisateur de donner une valeur à la


variable choisie: c’est une instruction de saisie.
Fonctionnement d Algobox:
Maintenant que les variables sont en mémoire, on va
réaliser le calcul demandé

§  On va utiliser la commande « AFFECTER valeur à


variable »: la boîte de dialogue va nous permettre de
sélectionner la variable et à la suite de « prend la
valeur » on tape l’expression ou le calcul qui permet
d’obtenir le résultat

On tape le calcul et
Choix de la donc la variable sera
variable affectée du résultat
de ce calcul
Fonctionnement d Algobox:

§  Dernière étape: afficher le résultat


§  On va utiliser la commande « Ajouter AFFICHER
message » (exemple: la valeur de … est … , etc)
§  Puis on ajoute la commande « Ajouter AFFICHER
Variable », on note la variable choisie
précédemment.
Exemple:

§  Afficher l’image d’un nombre par la fonction:


f(x) = 2x+1

Protocole Algorithme
Variables Variables:
Les variables utilisées sont x
des nombres y
Entrée Entrée:
Saisie des variables Saisir x
Traitement Traitement:
Opérations sur les variables y reçoit 2*x+1
Sortie Sortie:
Affichage des résultats Afficher y
Organigramme:
Algorithme:
Exercices:
§  Exercice 1:
Ecrire un programme permettant de calculer le prix
T.T.C d’un article sachant que la T.V.A est de 19,6%.
Le commerçant met en vente un produit valant 85
euros H.T, quel est son prix T.T.C?

§  Exercice 2:
Tifen achète des clés USB et des DVD ROM. Le prix à
l’unité d’une clé USB est de 9,90 euros et celui d’un
DVD ROM est de 0,60 euros.
Ecrire un programme permettant de calculer le
montant à régler à la caisse.
Donner le résultat pour l’achat de trois clés et de deux
DVD.
Exercices:
§  Exercice 3:
Marie doit traduire le programme de calcul suivant en un
algorithme:

Ø  Choisir deux nombres


Ø  Calculer le carré du premier
Ø  Calculer le double du second
Ø  Faire la somme
Ø  Afficher le résultat
1.  Identifier et nommer les variables qu’elle peut utiliser
2.  Ecrire un algorithme qui répond au problème
Solution exercice 1:
On considère le prix H.T.
On lui applique la T.V.A au taux de 19,6%.
On calcule le prix T.T.C:
Prix TTC = prix HT + TVA
On prend comme exemple:
soit un prix HT de 85 euros; le montant de la TVA est
de 16,66 euros et donc le prix TTC est de 101,66
euros.

Voir algorithme ci-dessous


Solution exercice 2:
On considère le nombre de clés USB et le nombre de
DVD ROM
Une clé coûte 9,90 euros et un DVD 0,60 euros
Donc le prix à payer est:
Nombre clés*9,90+Nombre DVD*0,60

On prend trois clés et deux DVD:


3*9.90 + 2*0.60 = 29.70 + 1.20 = 30.90.
On devra débourser 30.90 euros.
Solution exercice 3:
Il faut cinq variables

L’utilisateur choisit les variables A et B

C A^2: on affecte à C le contenu de la variable A


multipliée par elle-même

D 2B: on affecte à D le contenu de la variable B


multipliée par 2

E C + D: on affecte à E la somme du contenu de


la variable C et celui de la variable D

On affiche le résultat

On pose A = 4 et B = 5, on obtient 26
Chapitre 3:
Instructions conditionnelles
Si … alors …
Si … alors …sinon ...
Technique:
Une structure alternative est une structure du type:
« si … alors … » ou « si … alors… sinon… ».
Dans le premier cas, si la condition est remplie alors on
effectue l’instruction.
Dans le second cas, si la condition est remplie, on
effectue l’instruction 1 sinon on effectue l’instruction 2.

§  On va dire à l’algorithme d’exécuter des instructions


que si une certaine condition est réalisée.
Méthodes:
Premier cas:

§  On va utiliser la commande « si … alors … »


§  On va utiliser la commande « Ajouter SI…
ALORS »

On obtient alors la structure suivante :

La condition est vraie, la suite d’instruction est


exécutée. Si la condition est fausse, on passe à la
suite de l’algorithme.
Méthodes:
Second cas:
§  On va utiliser la commande « si … alors …sinon … »
§  On va toujours utiliser la commande « Ajouter SI…
ALORS » mais on va cocher l’option sinon dans la boîte
de dialogue correspondante

On obtient alors la structure suivante :

La condition ne doit offrir que deux réponses:


La condition est vraie, on exécute la liste d’instruction 1;
quand elle est fausse, on exécute la liste d’instruction 2.
Exemples:
§  Exemple 1:
on reprend l’exercice 2.
Tifen dispose d’un budget de 30 euros.
On veut faire un algorithme lui demandant le nombre de
clés ainsi que le nombre de DVD ROM et qui la
prévienne si elle dépasse son budget

On prendra nombre clé = 4 et nombre de DVD = 5


Organigramme:
Algorithme:
§  Exemple 2:
Organigramme:
Algorithme:
Exercices:
§  Exercice 1:
Un laboratoire de tirages de photos propose la formule
suivante:
§  De 1 à 199 tirages, le prix unitaire est de 0.10 euros
§  Au-delà de 200 tirages, le prix unitaire est de 0.08
euros.
Donner un algorithme qui à un nombre de photos
donnés renvoie le prix.
Exercices:
§  Exercice 2:
Un commerçant effectue une remise de 10% si le
montant est inférieur ou égal à 100 euros et de 15% si
le montant des achats est strictement supérieur à 100
euros.
1.  Une paire de chaussures est affichée à 119 euros,
quel est le montant que devra débourser Lydia pour
acquérir cette paire lors de son passage en caisse?
2.  Combien paiera-t-elle une paire affichée à 89 euros?
Exercices:
§  Exercice 3:
Pierrick veut expliquer une propriété: le théorème de
Pythagore
1.  Écrire un algorithme qui permet de calculer
l’hypoténuse d’un triangle rectangle connaissant la
longueur des deux autres côtés . (aide: annexe)
2.  Écrire un programme qui permet d’affirmer qu’un
triangle est rectangle ou non
Solution exercice 1:
Solution exercice 2:
On effectue une remise de 10%:

Cela revient à multiplier le prix de départ par 0.9:

Si x est le prix de départ, la remise est x*10/100:

Donc le prix final est:

x _ x*10/100 = x(1 – 10/100) = x(1 – 0.1) = 0.9x

(de même pour le second cas: 0.85x)

1.  Le nouveau prix est: 101.15 euros.


2.  Le nouveau prix est: 80.10 euros.
Solution exercice 3:
1.  On considère le triangle MNP rectangle en P.
D’après le théorème de Pythagore, on a:

!" ! = !"! + !" ! !


!" = !"! + !" ! !
!
!
!!!!!!!!!!!!!!!!!!M!
!
!
!
!
!
!
!
!!!!!!!!!!!!!!!!!!!!!!P!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!N!
!
On prendra MP = 4 et NP = 3 d’où MN = 5
2.  On veut montrer que le triangle MNP est rectangle
(ou non)
On va écrire les valeurs de MN, MP et NP.
On va calculer :

Et on va les comparer:
§  si égalité alors il est rectangle (d’après la réciproque
de Pythagore)
§  sinon il ne l’est pas (d’après la contraposée de
Pythagore)
Chapitre 4:
boucle itérative (1)
Pour … de … à …
On va demander à l’ordinateur de répéter une même
tâche autant de fois que l’on souhaite.
On exécute une boucle.

La boucle va nous éviter de faire des calculs trop


volumineux (exemple: faire la somme des 5O premiers
chiffres)

On va donc utiliser l’instruction « POUR…DE…A ».


On utilise cette boucle quand on connaît à l’avance le
nombre de répétitions à répéter.

On va donc nommer une nouvelle variable i, elle va nous


indiquer le nombre de répétition.
Cette dernière est un compteur, qui doit être déclarée au
préalable comme les autres variables

Une boucle « POUR …» est adaptée pour les calculs de


somme ou pour les probabilités.
Exemple:
§  On va écrire un algorithme pour calculer la somme
des N premiers nombres entiers.
§  On va choisir N = 100:
S=1+2+3+…+N =?
les variables sont:
u N: le nombre de terme de la somme;
u i: le compteur;
u S: la somme.
On initialise la variable S à 0 et à chaque tour on
ajoute à la somme déjà obtenue S le nombre suivant
contenu dans le compteur i (la variable i augmente
de 1 automatiquement à chaque tour).

On affiche finalement la dernière valeur de S.


Organigramme:

i 1 2 3 4 5 6 …
S 1 3 6 10 15 21 …
Algorithme:
Exercices:
§  Exercice 1:
Reprendre l’exemple mais pour:
1.  La somme des carrés;
2.  La somme des inverses.
On donnera le résultat pour N = 100

§  Exercice 2:
Le jour de la naissance d’Athéna, Franck a ouvert un
livret d’épargne populaire rémunéré à 2.75% par an
sur lequel il a mis 500 euros.
À chaque anniversaire d’Athéna, il lui verse de nouveau
500 euros.
Écrire un algorithme permettant de déterminer la
somme dont elle disposera le jour de ses 10 ans.
Exercices:
§  Exercice 3:
1.  Écrire un algorithme permettant de comparer deux
nombres.
2.  Tester cet algorithme pour:
a)  ! = 5! + 4!et!! = 9!;
b)  ! = !!!!et!! = 2 + 1! .
3.  Vérifier ces résultats par le calcul.
Correction exercice 1:
Correction exercice 2:
On considère qu’un capital de C euros placé à 2.75%
par an va rapporter (2.75/100)xC et devient l’année
suivante:

C + (2.75/100)xC = C + 0.0275C = 1.0275C.

Le capital de départ est de 500 euros, l’année suivante il


sera égal à: 1.0275x500 + 500 = 1013.75 euros

Au second anniversaire:
1.0275x1013.75 + 500 = 1541.63 euros
Correction exercice 3:
1.  On choisit deux réels a et b.
Dans un premier temps, on va vérifier si a = b; si la
condition est vérifiée on écrit « a est égal à b ».
Sinon on vérifie la condition a > b; si tel est le cas, on
écrit « a est supérieur à b » sinon on écrit « a est
inférieur à b ».
Correction exercice 3:
3.  Calcul:
Chapitre 5:
boucle itérative (2)
Tant que …
Tant que « condition » faire « instruction ».
Les boucles vues dans le chapitre précédent nécessitent
la connaissance du nombre de répétitions à effectuer.
L’idée est que tant que la condition est réalisée
l’instruction est exécutée.
On utilise cette boucle quand on veut répéter une série
d’instructions sans que l’on sache à l’avance combien de fois.

Mais il est indispensable de s’assurer que la condition du « TANT


QUE… » finisse par être vérifiée (début du « tant que » et fin du
« tant que… »).

On teste si la condition est vraie:

§  Si elle est vraie: on exécute la suite d’instruction et on


recommence.

§  Si elle est fausse: on s’arrête et on sort de la boucle.


Exemple:
Algorithme d’Euclide:
Cette méthode consiste à faire une succession de division
euclidienne.
On part des deux nombres dont on cherche le PGCD, on
fait la division euclidienne des deux et on a alors un
quotient et un reste.
On recommence l'opération mais en faisant maintenant la
division euclidienne du diviseur par le reste de l'opération
précédente.
On répète cette opération jusqu'à avoir un reste nul et le
PGCD correspond au dernier reste non-nul.

Lemme d’Euclide:
a, b, q et r sont des entiers relatifs non-nuls.
Si a = bq + r, alors PGCD(a;b) = PGCD(b;r).
Organigramme:
Algorithme:
Exercices:
§  Exercice 1:
Carole lance une balle pour la faire rebondir au sol.
Après le premier rebond, la balle atteint 10 mètres de
hauteur.
On sait qu’après chaque rebond la balle perd 30% de
hauteur.
Au bout de combien de rebonds, le mouvement de
celle-ci ne sera plus perceptible (rebond de moins de
1 millimètre).
Aider Carole à écrire un algorithme lui permettant de
trouver ce nombre de rebonds.
Exercices:
§  Exercice 2:
Au 1er janvier 1980, une personne est embauchée avec
un salaire mensuel de 6000 euros.
Son contrat stipule qu’il y aura une augmentation de
3% au premier janvier de chaque année.
Déterminer la 1ère année où le salaire atteindra ou
dépassera le double du salaire d’embauche.

§  Exercice 3:
Nicolas place un capital de 5000 euros sur un compte
épargne rémunéré à 2% par an. Chaque année, les
intérêts s’ajoutent à son capital.
Il compte aussi placer 200 euros de plus par an .
Il souhaite savoir au bout de combien d’années son
épargne dépassera 10000 euros.
Correction exercice 1:
§  Explications avec suite géométrique (1èreS)

§  On déclare le nombre de rebonds et la hauteur.


On va initialiser le nombre de rebond à 1 et la hauteur à
10 mètres.
Pour construire la boucle, on va utiliser l’instruction
hauteur > 0.001.
À chaque rebond, le nombre de rebonds va augmenter
de 1.
À chaque rebond la balle perd 30% de hauteur: donc
nouvelle hauteur = ancienne hauteur x 0.70
Correction exercice 2:
Correction exercice 3:
•  Instructions LARP

•  Pour éviter les problèmes de
syntaxe: lexique

Annexes:
Instructions etTouches utiles