50
Exercices Algorithmiques

Exercices Algorithmiques

  • Upload
    sibyl

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Exercices Algorithmiques. Structure Itérative. Exercice Écrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne. Début Variable N : Entier N  0 Saisir “Entrez un nombre entre 1 et 3”; N TantQue N < 1 ou N > 3 - PowerPoint PPT Presentation

Citation preview

Page 1: Exercices Algorithmiques

Exercices Algorithmiques

Page 2: Exercices Algorithmiques

Structure Itérative

Exercice

Écrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.

Page 3: Exercices Algorithmiques

Début Variable N : Entier N 0 Saisir “Entrez un nombre entre 1 et 3”; N TantQue N < 1 ou N > 3 Faire              Afficher “Saisie erronée. Recommencez” Saisir “Entrez un nombre entre 1 et 3”; N FinTqFin

Page 4: Exercices Algorithmiques

Exercice

Écrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne.

En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10.

Page 5: Exercices Algorithmiques

Debut Variable N : Entier N 0 Saisir “Entrez un nombre entre 10 et 20” ; N

TantQue N < 10 ou N > 20 Faire

        Si N < 10 Alors       Afficher “Plus grand !”     Sinon      Afficher “Plus petit !”  Finsi Saisir “Entrez un nombre entre 10 et 20” ; N

FinTantQueFin

Page 6: Exercices Algorithmiques

Exercice

Écrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants.

Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27.

Page 7: Exercices Algorithmiques

DébutVariables N, i : EntierSaisir “Entrez un nombre : ”; NAfficher “Les 10 nombres suivants sont : ”Pour i = N + 1 à N + 10    Afficher iFin Pour équivalent à (ii+1)Fin

Page 8: Exercices Algorithmiques

Écrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) :

Table de 7 :7 x 1 = 77 x 2 = 147 x 3 = 21…7 x 10 = 70

Page 9: Exercices Algorithmiques

Debut

Variables N, i : Entier Saisir “Entrez un nombre : ” ; N Ecrire “La table de multiplication de ce nombre est : ”

Pour i = 1 à 10    Afficher N;“x”;i; “ = ”; N*i Fin Pour Fin

Page 10: Exercices Algorithmiques

Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer :

1 + 2 + 3 + 4 + 5 = 15

Page 11: Exercices Algorithmiques

Debut

Variables N, i, Somme : EntierSaisir “Entrez un nombre : ” ; NSomme 0Pour i = 1 à N     Somme Somme + iFin PourAfficher “La somme est : ”, SommeFin

Page 12: Exercices Algorithmiques

Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.

NB : la factorielle de 8, notée 8 !, vaut  1 x 2 x 3 x 4 x 5 x 6 x 7 x 8

Page 13: Exercices Algorithmiques

Debut

Variables N, i, F : EntierSaisir “Entrez un nombre : ”; NF 1Pour i = 2 à N     F F * iFin PourAfficher “La factorielle est : ”, FFin

Page 14: Exercices Algorithmiques

Écrire un algorithme qui demande successivement 5 nombres à l’utilisateur, afin de déterminer quel était le plus grand parmi ces 5 nombres :

Entrez le nombre numéro 1 : 12Entrez le nombre numéro 2 : 14Etc.Entrez le nombre numéro 5 : 6Le plus grand de ces nombres est  : 14

Modifiez ensuite l’algorithme pour que le programme affiche de surcroît en quelle position avait été saisie ce nombre :

C’était le nombre numéro 2

Page 15: Exercices Algorithmiques

DébutVariables N, i, PG : EntierPG <- 0Pour i <- 1 à 20    Saisir “Entrez un nombre : ”; i; “=”; N        Si N > PG Alors          PG <- N    FinSiFin PourEcrire “Le nombre le plus grand était : ”, PGFin

Page 16: Exercices Algorithmiques

Version Améliorée

DébutVariables N, i, PG, IPG : EntierPG 0Pour i 1 à 5    Saisir “Entrez un nombre : ” ; N    Si N > PG Alors          PG N          IPG i    FinSiFin PourEcrire “Le nombre le plus grand était : ”, PGEcrire “Il a été saisi en position numéro ”, IPGFin

Page 17: Exercices Algorithmiques

Réécrire l’algorithme précédent, mais cette fois-ci on ne connaît pas d’avance combien l’utilisateur souhaite saisir de nombres.

La saisie des nombres s’arrête lorsque l’utilisateur entre un zéro.

Page 18: Exercices Algorithmiques

DébutVariables N, i, PG, IPG : EntierN 1i 1PG <- 0 TantQue N <> 0

    Saisir “Entrez un nombre : ”; N             Si N > PG

Alors          PG N          IPG i    FinSi i i + 1

FinTantQue

Ecrire “Le nombre le plus grand était : ”, PGEcrire “Il a été saisi en position numéro ”, IPGFin

Page 19: Exercices Algorithmiques

Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un client.

Calculer la somme qu’il doit, lire la somme qu’il paye, et simuler la remise de la monnaie en affichant les textes « 10 E », « 5 E » et « 1 E » autant de fois qu’il y a de coupures de chaque sorte à rendre.

Page 20: Exercices Algorithmiques

Début VariablesMT, somdue, MV, IPG, Reste, Nb10, Nb5 : EntierMT 1somdue <- 0

TantQue MT <> 0    Saisir “Entrez le montant : ” ; MT     somdue somdue + MTFinTantQue

Afficher “Vous devez :”,MTSaisir ”Montant versé :”; MVReste MV – MT

Nb10 0TantQue Reste >= 10     Nb10 Nb10 + 1     Reste Reste – 10FinTantQue

Nb5 0Si Reste >= 5     Nb5 1     Reste Reste – 5FinSiEcrire “Rendu de la monnaie :”Ecrire “Pièces de 10 E : ”, Nb10Ecrire “Pièces de  5 E: ”, Nb5Ecrire “Pièces de  1 E : ”, resteFin

Page 21: Exercices Algorithmiques

Fin de cette Partie

Page 22: Exercices Algorithmiques

- Les Tableaux et Vecteurs

Page 23: Exercices Algorithmiques

Écrire un algorithme qui déclare et remplisse un Vecteur de 7 valeurs numériques en les mettant toutes à zéro.

Page 24: Exercices Algorithmiques

Tableau Truc(7), i : Entier

Debut dim truc(7) as Integer

Pour i 0 à 6 For i = 0 to 6

     Truc(i) 0 truc(i) = 0

Fin Pour next i

Fin

Page 25: Exercices Algorithmiques

Écrire un algorithme qui déclare et remplisse un vecteur contenant les six voyelles de l’alphabet latin.

Page 26: Exercices Algorithmiques

Tableau Truc(6) : ChaineDebutTruc(0) “a”Truc(1) ”e“Truc(2) ”i“Truc(3) ”o“Truc(4) ”u“Truc(5) ”y“Fin

Page 27: Exercices Algorithmiques

Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur.

Page 28: Exercices Algorithmiques

DébutTableau Notes(9) : EntierVariable i : EntierPour i 0 à 8     Saisir "Entrez la note numéro ", i + 1; Notes(i)

Fin PourFin

Page 29: Exercices Algorithmiques

Que produit l’algorithme suivant ?

DébutTableau Nb(6) : EntierVariable i : EntierPour i 0 à 5     Nb(i) i * iFpour

Pour i 0 à 5     Afficher Nb(i)Finpour

Fin

Page 30: Exercices Algorithmiques

Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25. Il les écrit ensuite à l’écran.

Page 31: Exercices Algorithmiques

Que produit l’algorithme suivant ?

DébutTableau N(7) : EntierVariables i, k : EntierN(0) 1Pour k 1 à 6     N(k) N(k-1) + 2FinPourPour i 0 à 6     Afficher N(i)FinPourFin

Page 32: Exercices Algorithmiques

Cet algorithme remplit un tableau avec les sept valeurs : 1, 3, 5, 7, 9, 11, 13. Il les écrit ensuite à l’écran

Page 33: Exercices Algorithmiques

Que produit l’algorithme suivant ?

Début

Tableau Suite(7) : EntierVariable i en Entier

Suite(0) 1Suite(1) 1Pour i 2 à 6     Suite(i) Suite(i-1) + Suite(i-2)Fin PourPour i 0 à 6     Afficher Suite(i)Fin PourFin

Page 34: Exercices Algorithmiques

Cet algorithme remplit un tableau de 7 valeurs : 1, 1, 2, 3, 5, 8, 13

Page 35: Exercices Algorithmiques

Vecteur etTableaux dynamiques

Il arrive fréquemment que l’on ne connaisse pas à l’avance le nombre d’éléments que devra comporter un tableau. Bien sûr, une solution consisterait à déclarer un tableau gigantesque.

Mais d’une part, on n’en sera jamais parfaitement sûr, d’autre part, en raison de l’immensité de la place mémoire réservée – et la plupart du temps non utilisée, c’est un gâchis préjudiciable à la rapidité, voire à la viabilité, de notre algorithme.

Aussi, pour parer à ce genre de situation, a-t-on la possibilité de déclarer le tableau sans préciser au départ son nombre d’éléments. Ce n’est que dans un second temps, au cours du programme, que l’on va fixer ce nombre via une instruction de dimensionnement : Redim.

Notez que tant qu’on n’a pas précisé le nombre d’éléments d’un tableau, d’une manière ou d’une autre, ce tableau est inutilisable.

Ex:Tableau Notes() : EntierVariable nb en EntierSaisir “Combien y a-t-il de notes à saisir ?“, nbRedim Notes(nb)

Page 36: Exercices Algorithmiques

Ecrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être stockées dans un tableau.

L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette saisie.

Enfin, une fois la saisie terminée, le programme affichera le nombre de valeurs négatives et le nombre de valeurs positives.

Page 37: Exercices Algorithmiques

Debut

Variables Nb, Nbpos, Nbneg en EntierTableau T() : EntierSaisir “Entrez le nombre de valeurs :“; NBRedim T(Nb)Nbpos 0Nbneg 0

Pour i 0 à Nb - 1     Saisir “Entrez le nombre n° “, T(i)          Si T(i) > 0 alors          Nbpos Nbpos + 1     Sinon si T(i) <0 alors          Nbneg Nbneg + 1 Finsi

      FinsiFin PourEcrire “Nombre de valeurs positives : “, NbposEcrire “Nombre de valeurs négatives : “, NbnegFin

Page 38: Exercices Algorithmiques

Ecrivez un algorithme calculant la somme des valeurs d’un tableau (on suppose que le tableau a été préalablement saisi).

on ne programme pas la saisie du tableau, dont on suppose qu’il compte N éléments

Tableau T() : Entier

Page 39: Exercices Algorithmiques

Variables i, Som, N : EntierTableau T() : EntierSaisir “Entrez le nombre de valeurs :“; NRedim T(N)…Som 0Pour i 0 à N - 1     Som Som + T(i)Fin PourEcrire “Somme des éléments du tableau : “, SomFin

Page 40: Exercices Algorithmiques

Écrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de départ.

(on suppose que T1 et T2 comptent N éléments, et qu’ils sont déjà saisis)

EX : Tableaux T1(), T2(), T3() en Entier

Exemple : Tableau 1 :                                4 – 8 – 7 – 9 – 1 – 5 – 4 – 6Tableau 2 :                                7 – 6 – 5 – 2 – 1 – 3 – 7 – 4Tableau à constituer :     11 – 14 – 12 – 11 – 2 – 8 – 11 - 10

Page 41: Exercices Algorithmiques

Debut

Variables i, N en EntierTableaux T1(), T2(), T3() en Entier… (on suppose que T1 et T2 comptent N éléments, et qu’ils sont déjà saisis)Redim T3(N)…Pour i 0 à N - 1     T3(i) T1(i) + T2(i) Afficher T3(I)FpourFin

Page 42: Exercices Algorithmiques

Toujours à partir de deux tableaux précédemment saisis, écrivez un algorithme qui calcule le Gone des deux tableaux.

Pour calculer le Gone, il faut multiplier chaque élément du tableau 1 par chaque élément du tableau 2, et additionner le tout.

Exemple : Tableau 1 :                     4 – 8 – 7  - 12Tableau 2 :                     3 – 6 Le Gone :3*4 + 3*8 + 3*7 + 3*12 + 6*4 + 6*8 + 6*7 + 6*12 = 279

Page 43: Exercices Algorithmiques

Début

Variables i, j, N1, N2, S en EntierTableaux T1(), T2() en EntierN12N24… On ne programme pas la saisie des tableaux T1 et T2.     On suppose que T1 possède N1 éléments, et que T2 en possède N2 éléments…S <- 0Pour i 0 à N1 – 1 soit (1)     Pour j 0 à N2 – 1 soit (3)          S S + T1(i) * T2(j)     Fin Pour Fin PourEcrire "Le Gone est de : ", SFin

Page 44: Exercices Algorithmiques

Ecrivez un algorithme qui permette la saisie d’un nombre quelconque de valeurs, Toutes les valeurs doivent être ensuite augmentées de 1, et le nouveau tableau sera affiché à l’écran.

L’utilisateur déterminera la taille du vecteur

Page 45: Exercices Algorithmiques

Debut

Variables Nb, i : EntierTableau T() : Entier

Saisir “Entrez le nombre de valeurs :“ ; NbRedim T(Nb )

Pour i 0 à Nb - 1    Saisir “Entrez le nombre n° “, i; T(I) +1 Fin Pour

Afficher "Nouveau tableau :"

Pour i <- 0 à Nb – 1     T(i) <- T(i) + 1 ( autre solution A supprimer éventuellement )     Afficher T(i)FinpourFin

Page 46: Exercices Algorithmiques

Ecrivez un algorithme permettant, toujours sur le même principe, à l’utilisateur de saisir un nombre déterminé de valeurs.

Le programme, une fois la saisie terminée, renvoie la plus grande valeur en précisant quelle position elle occupe dans le tableau.

On prendra soin d’effectuer la saisie dans un premier temps, et la recherche de la plus grande valeur du tableau dans un second temps.

Page 47: Exercices Algorithmiques

Variables Nb, Posmaxi : EntierTableau T() en EntierSaisir “Entrez le nombre de valeurs :“; NbRedim T(Nb)Pour i 0 à Nb - 1     Saisir “Entrez le nombre n° “, i + 1; T(i)Fin Pour

Posmaxi 0Pour i 1 à Nb - 1     Si T(i) > T(Posmaxi) alors          Posmaxi i     FinsiFin Pour

Ecrire “Element le plus grand : “, T(Posmaxi)Ecrire “Position de cet élément : “, PosmaxiFin

Page 48: Exercices Algorithmiques

Toujours et encore sur le même principe, écrivez un algorithme permettant, à l’utilisateur de saisir les notes d'une classe.

Le programme, une fois la saisie terminée, renvoie le nombre de ces notes supérieures à la moyenne de la classe.

Page 49: Exercices Algorithmiques

Debut

Variables Nb, i, Som, Moy, Nbsup : EntierTableau T() en EntierSaisir “Entrez le nombre de notes à saisir : “; NbRedim T(Nb )Pour i 0 à Nb - 1     Saisir “Entrez le nombre n° “, i + 1FinPour

Som 0

Pour i 0 à Nb - 1     Som Som + T(i)Fin Pour

Moy Som / NbNbSup 0

Pour i <- 0 à Nb - 1     Si T(i) > Moy Alors          NbSup - NbSup + 1     FinSiFin Pour

Ecrire NbSup, " élèves dépassent la moyenne de la classe"Fin

Page 50: Exercices Algorithmiques

Fin De cette Partie