Algorithmique

publicité
Classe de terminale STI2D
Algorithmique
1. Objectif du TP
Savoir lire et implémenter un algorigramme en langage C.
2. Protocole opératoire
1. Lancer le logiciel Code::blocks en cliquant sur l’icône
2. Compléter les programmes des exercices ci-dessous afin qu’ils correspondent à leurs
algorigrammes ou algorithmes respectifs.
3. Appeler le professeur pour valider votre travail.
Besoin d’aide sur la construction et l’exécution d’un projet Code::blocks, cliquer sur le bouton
1-TP_algo.odt
1
Classe de terminale STI2D
Structure de contrôle : Si … Alors … Sinon … FinSi
Langage C
Si ( c > 4 )
Alors
action1
Sinon
action2
FinSi
FAUSSE
condition
C>4?
VRAIE
ACTION 2
if ( c > 4 )
{
Action1;
}
else
ACTION 1
{
suite
suite
Action2;
}
Structure de contrôle : Tantque … faire … FinTantque
Langage C
Tantque (b = 1)
Faire
NON
b=1
?
action
{
action;
OUI
}
ACTION 1
FinFaire
While ( b == 1 )
(Test en tête de boucle)
Structure de contrôle : Faire … Tantque …
Langage C
Faire
ACTION 1
do
{
action
OUI
action;
}
while ( b == 0 );
b=0
?
Tantque (b = 0)
(Test en fin de boucle)
NON
Structure de contrôle : Pour … variant de … à … Faire … FinFaire
Langage C
Charger valeur initiale
V
Vi
int i;
Pour i de 0 à 4
Faire
action
FinFaire
NON
V = Vf
?
for (i=0; i <= 4; i++)
{
V: variable
Vi: valeur
ACTION
initiale de V
action;
}
Vf: Valeur
Finale de V
Pas: incrément
ou décrément
V
V +/-pas
Suite
1-TP_algo.odt
2
Classe de terminale STI2D
Exercice 1
En septembre 2004, un iceberg de 25 tonnes fait le voyage d’Islande vers Brest. La température
locale aidant, il perd 10 % de sa masse chaque jour.
Déterminer à partir de quel jour il reste moins d’une tonne de glace.
Ouvrir le fichier source et le compléter avec Code::Blocks.
Algorithme fonte
{ Détermine à partir de quel jour il reste
moins d’une tonne de glace }
Variable
masse, limite : réel
jour : entier
début
masse = 25000
limite = 1000
jour = 0
tantque ( masse > limite )
faire
masse = 0,9 * masse
jour = jour + 1
fintanque
Afficher(jour)
Fin
Exercice 2
Calcul des racines d'un polynôme de degré 2.
Ouvrir le fichier source et le compléter avec Code::Blocks.
Rappel : Δ = b² – 4.a.c
•
Δ= 0 :
x=
−b
2.a
•
Δ> 0 :
x=
−b ± √ ( Δ)
2.a
•
Δ < 0 : pas de racine réelle
1-TP_algo.odt
3
Classe de terminale STI2D
Algorithme racine
{ Calcule les racines d'un polynôme de degré 2 }
Variable
a, b, c, delta : réel
x, x1, x2 : réel
début
faire
a, b, c = Lire("Donner les coefficients du polynôme")
tantque ( a = 0 )
{a ≠ 0}
delta = b*b – 4*a*c
x = -b / (2*a)
afficher(delta)
si ( delta = 0 )
alors
afficher("racine double", x)
sinon
x1 = racine(delta) / (2*a)
x2 = - x1
si ( delta > 0 )
alors
afficher("racines réelles", x + x1, x + x2)
sinon
afficher("pas de racines réelles")
finsi
finsi
Fin
1-TP_algo.odt
4
Classe de terminale STI2D
1-TP_algo.odt
5
Téléchargement