algorithme avec algobox
-
MMingmenchan dernière édition par
Voici l'exercice que mon professeur nous a donné pour demain :
Ecrire un programme Algobox qui, lorsqu'on entre au clavier le nombre entier n, supérieur ou égal à un, calcul et affiche le terme Un de rang n de la suite (Un) avec n appartenant à N définie par :
U0=7
Un= U(n-1)+5 si n impair
Un=U(n-1)-3 si n pair
Imprimer cet algorithme ainsi que le résultat obtenu pour le calcul de U20 et de U21.J'ai commencé à rédiger mais je pense qu'il manque la condition concernant n
VARIABLES
U est du type nombre
n est du type nombre
i est du type nombre
DEBUT ALGORITHME
U prend la valeur 7
n prend la valeur 1
DEBUT POUR
Si floor(n/2)==n/2 ALORS
DEBUT_SI
u[i] prend la valeur u[i-1]-3
FIN-SI
SINON
u[i] prend la valeur u[i-1]+5
FIN SINON
AFFICHER "u["
AFFICHER i
AFFICHER "]="
AFFICHER u[i]
-
BONJOUR ! (un peu de convivialité ne nuit pas...)
Il y a plusieurs erreurs dans ton algorithme
Tu as déclaré U en nombre et ensuite tu l'utilises enListe.
Il y a des confusions entre n et i
i doit varier entre 1 et n pour calculer les termes successifs ,et ce n'est pas présent...il n'y a pas la boucle "pour i allant de 1 à n".
En bref, tout est à revoir de près.
Je t'indique un algorithme où U est déclaré en nombre.
Tu peux le comprendre, le taper, le tester et le modifier si tu veux que U soit déclaré en Liste.Remarque : pour i pair, je préfère prendre "i%2==0" que "floor...", mais c'est une question de goût...
-
MMingmenchan dernière édition par
Bonjour !
Je tiens à vous remercier pour votre aide.
Je ne comprends pas la différence entre U est du type nombre, U est du type liste et ce que je dois donc modifier.
-
Si tu déclares U de type nombre, tu utilises la démarche que je t'ai donnée, en utilisant U tout le temps.
Si tu préfères, tu peux déclarer U en type liste et tu utilises les termes de la forme U[i] tout le temps.
Tu as le choix.
-
MMingmenchan dernière édition par
Merci pour votre réponse.
Par contre, dans l'énoncé, il est spécifié que n doit être supérieur ou égal à 1.
Or je dois le mentionner dans l'écriture de l'algorithme.
Mais quand ?
-
Le plus simple, si tu n'es pas expert en algorithme:
Au tout début de l'algorithme , juste avant "Lire n", insère une ligne pour indiquer à l'utilisateur du programme de choisir pour n une valeur de N*.Plus compliqué:
Tu peux tester, après que l'utilisateur ait rentré la valeur de n, si cette valeur est bien une valeur de N*.
Si oui, le programme se poursuit, sinon, le programme saute à la fin où tu fais dire "donner une valeur de n de N*"