Initiation à la programmation CLASSPAD On essayera à travers ce document de réaliser quelques programmes simples et les traduire en langage machine avec la calculatrice CLASSPAD. ACTIVITE 1 calcul 1 et 2 (Affectation) Il s’agit dans cette activité d’effectuer un calcul simple et d’afficher le résultat programme de calcul (1) - Variable : a nombre - Entrée : saisir a - Traitement : 2 a2 4 a - Sortie : Afficher a programme de calcul (2) - Variable : a nombre - Entrée : saisir a - Traitement : 4 a - - - 2 3 a Sortie : Afficher a 3) Milieu d’un segment Variables : xa, ya, xb, yb, xi, yi nombres Entrées : saisir l’abscisse de A : xa saisir l’ordonnée de A : ya saisir l’abscisse de B : xb saisir l’ordonnée de B : yb Traitement : xa xb / 2 xi ya yb / 2 yi - Sorties : Afficher xi, yi Stage algorithmique –LFLNI- 18 au 20 octobre 2010 1 ACTIVITE 2 Tri simple (Boucle « IF ») 4) Tri simple Variables : a, b, c, s nombres - Entrée : saisir a, b, c - Traitement : Si a b Si a c Alors a s Sinon c s FinSi Sinon Si b c Alors b s Sinon c s Finsi - Finsi Sortie : Afficher "le plus grand est ", s Stage algorithmique –LFLNI- 18 au 20 octobre 2010 2 ACTIVITE 3 calcul 3 L’objectif de cette activité est d’utiliser de la boucle de contrôle Pour « For » en effectuant des calculs simples et afficher les résultats dans des tableaux - 5 ) programme de calcul (3) Variables : x, y nombres Entrées : pas d’entrée ici Traitement : Pour x allant de 0 à 10 par pas de 1 faire x 2 3x 2 y ième Ecrire x et y dans la i ligne du tableau Fin Pour Sorties : (les sorties sont faites au fur et à mesure que la boucle s’effectue) Exercice 1 : Quel est l’objectif du programme suivant: Réalisez-le sur votre calculatrice et vérifiez votre proposition !! ACTIVITE 4 PGCD de deux nombres On utilisera dans cette activité l’algorithme de divisions successives : Le dernier reste non nul est le PGCD des deux nombres. Ceci nous permettra d’introduire la boucle de contrôle Tant que « While » Pour mieux saisir cette activité nous allons l'expliquer par un exemple: Considérons les deux nombres : 75 et 45 On a : 75=45*1+30 45=30*1+15 30=15*2+0 Le PGCD (75 ;45) est le dernier reste non nul c.à.d 15 Stage algorithmique –LFLNI- 18 au 20 octobre 2010 3 ALGORITHME PROGRAMME 6) PGCD Lire A Lire B Si A<B Alors C=B B=A A=C Fin Tant que B≠0 B=A C=B A-B*(partie entière(A/B)= C Fin Afficher A On peut déterminer le PGCD de deux nombres par la méthode des soustractions successives Algorithme des soustractions - Variables : a, b, d nombres - Entrées : saisir a, b - Initialisation a b d - Traitement : Tant que d 0 faire a b d Si d b Alors d a Sinon ba d b FinSi Fin Tant Que - Sortie : Afficher a Traduire cet algorithme en langage machine sur la Classpad et vérifier vos résultats !!! Stage algorithmique –LFLNI- 18 au 20 octobre 2010 4 ACTIVITE 5 Dichotomie, Euler et simulation Ces trois algorithmes nécessitent l’usage des trois boucles de contrôle IF, For & While ALGORITHME 7) Dichotomie - Variables : a, b, c, e nombres Entrées : Saisir a, b Traitement : Tant Que b a e faire a b / 2 c Si f a f c 0 Alors c b Sinon c a Finsi FinTant Que - Sorties : Afficher a, b ALGORITHME 8) Approximation de la courbe d’une fonction par la méthode d’Euler - Variables : x, y, n, h, i nombres Entrées : saisir x, y, n, h Initialisation 1i Traitement : Tant que i n faire Ecrire x et y dans la i tableau ième ligne du y h f ' x y xh x 1 i i Fin Tant Que Sortie : (les sorties sont faites au fur et à mesure que la boucle s’effectue) Stage algorithmique –LFLNI- 18 au 20 octobre 2010 5 ALGORITHME - 9) Simulation d’un jeu de dé Variables : a, b, c, d, e, f, n, i, r nombres Entrées : saisir n (nombre de lancers) Initialisation : a, b, c, d, e, f, i prennent la valeur 0 Traitement : Tant Que i n faire Int 6×Rand +1 r si r 1 , alors 1 a a Sinon Si r 2 , alors 1 b b Sinon Si r 3 , alors 1 c c Sinon Si r 4 , alors 1 d d Sinon Si r 5 , alors 1 e e Sinon 1 f f Finsi Finsi Finsi Finsi Finsi 1 i i Fin Tant Que - Sorties : Afficher a, b, c, d, e, f Stage algorithmique –LFLNI- 18 au 20 octobre 2010 6 ACTIVITE 6 Somme de n entiers naturels ≤ n L’objectif essentiel de cette activité étant l’initiation à une boucle de contrôle « POUR » ALGORITHME DONNER n Lire n S=0 (initialisation du compteur) Pour I allant de 1 à n (incrémentation 1) faire S=S+I Fin Afficher S ACTIVITE 5 Déterminer le plus petit n tel que 2n≥ 10p (p étant connu) ILLUSTRATION y 1.1E4 1E4 9000 8000 7000 6000 5000 4000 3000 2000 1000 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 x -1000 Stage algorithmique –LFLNI- 18 au 20 octobre 2010 7 ALGORITHME Demander la valeur de p Lire p n=1 (initialisation) Tant que 2n<10p n=n+1 fin Afficher : n Afficher 2n Algorithmes à créer et valider par le langage machine 1. Construire un algorithme permettant de résoudre une équation du second degré dans . 2. Construire un algorithme permettant de dresser la liste des diviseurs d’un entier relatif. 3. On donne trois points par leurs coordonnées dans un repère orthonormé, quelles sont les coordonnées du quatrième sommet du parallélogramme qu’ils forment ? 4. On donne les trois premiers termes d’une suite et un autre terme de rang n quelconque ( n 5 ). Construire un algorithme qui détermine la nature de la suite et qui, si elle est arithmétique ou géométrique, donne le rang du dernier terme entré et la somme des termes jusqu’à ce dernier. Stage algorithmique –LFLNI- 18 au 20 octobre 2010 8