Exercice algorithme corrigé structures répétitives (Suite..)

A)  Ecrire un algorithme permettant la saisie d’une suite d’entiers se terminant par zéro et vérifier si cette suite contient deux entiers consécutifs égaux en utilisant les structures tant que.

Spécifications :

– données : suite d’entier se terminant par zéro

– résultat : vrai si deux entiers consécutifs, faux sinon.

Solution en langage naturel : comparer l’entier courant et le précédent. Et tant que ils sont différents, on continu la lecture et tant que l’entier courant est différent de zéro.

Structures de données :

– entier : nombre courant

– entier : nombre précédent

Algorithme :

Action : Entiers consécutifs

Var : nc, np : entier

{on désignera par nc le nombre courant et np le nombre précédent}

Début Lire (nc)

np<=nc-1

{pour être sur que le nombre courant ne sera pas le même que le nombre précédent dès le départ on affecte la valeur nc-1 au nombre précédent. On aurait tout aussi bien pu lui donner

la valeur zéro)

Tant que nc?0 et np ?nc faire

LIRE AUSSI :  Exercice algorithme corrigé le PGCD

Début

np<=nc

lire (nc)

fin

Si nc?0 alors écrire (« oui »)

Sinon écrire (« non »)

Fin

Refaire le même algorithme en utilisant une structure répéter jusqu’à

Action : Entiers consécutifs

Var : nc, np : entiers

Début

Lire (nc)

Si nc ? 0 alors Répéter

Début

np <= nc

lire (nc)

jusqu’à (nc=np ou nc=0)

Si nc=0 alors écrire (« oui »)

Sinon écrire (« non »)

Fin

 

B) Ecrire un algorithme qui affiche le maximum d’une suite se terminant par zéro

Spécifications :

– données : une suite d’entiers se terminant par zéro

– résultat : un entier : le maximum de cette suite

Solution en langage naturel : comparer l’entier courant avec le maximum et tant que nc

Structures de données

– n : entier courant (saisi)

– max : entier max de la suite

Algorithme :

Action : max suite

Var : n, max : entiers

Début Lire (n)

Max<=n

Tant que n? 0 faire

Début

Lire (n)

Si max

Fin

Ecrire (max)

Fin

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *