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