turbo-Pascal

(Cliquez-ici pour accéder à la version originale de cette discussion avec couleurs et images)







Posted by: magnum

Bonjour,

Je cherche un programme en turbo pascal qui, en donnant la valeur de n , nous donne tous les entiers naturels impairs inférieurs à n.

Merci! (je suis un novice en la matière) !



Posted by: fatal_error

Bonjour,

program Test;

var n,i : integer;

begin
i:=0; //pas necessaire ici, mais c'es tune (mauvaise?) habitude

writeln('entrez n');
readln(n); //recupérer n
For i := 1 To n Do
begin
if i mod 2 <> 0 //si c'est un nombre impair
then writeln(i); //ecrire le nombre
end;
end.

testé.



Posted by: Hyp

Tenu compte des différentes variantes en syntaxe du Pascal, je te donne l'idée, et l'algorithme.

Il s'agit simplement d'ouvrir une boucle d'indice I allant de 1 (0 est pair) à n-1 (ou n si tu veux le sens large) avec la tâche d'écrire I sous la condition qu'il soit impair:

Algorithme Parité
var

n,i: entier

Début

Lire (n) (éventuel contrôle de la positivité de n)

Pour i de 1 à n-1 (ou n comme dit ci dessus) FAIRE

Si I mod 2 = 1 ALORS écrire (i)

Fin SI
Fin POUR
Fin

Voici le code source approximatif en pascal ({commentaires}):

Program Parity;
uses wincrt; {tout dépend de ton compilateur}
var
n,i:integer;

BEGIN

REPETER

writeln ('donner n'); {Structure Répéter facultative en fonction de tes exigences}
readln (n);

Jusqu'à (N>=0);

For i: 1 to n-1 {ou n} DO
IF i mod 2=1 then writeln (i);
end;
end.



Posted by: magnum

désolé de vous redéranger je dois cette fois écrire un programme en turbo pascal qui détermine et affiche pour un réel A donné, la plus petite valeur de n pour laquelle on a Un>ou égale à A.
Un+1=Un-(1/(Un))+2.
j'ai déjà prouvé que Un tend vers + l'infini.
Merci !



Posted by: Hyp

Insoluble si tu n'as pas le 1er terme de la suite (logique). Je le poserai donc u0 (non nul, mais je ne ferai pas le contôle de la variable).

Program Machin;

var
u0,i: integer;
A: real;

begin

writeln (saisir votre réel);
readln (A);

writeln ('Saisir U(0) si vous êtes bien gentil');
readln (u0); // n'oublie pas qu'il doit être non nul

i:=0; // On initialise le compteur d'indices pour commencer à
partir du 1er terme

While u0<A do // tant que le n_ème terme ne vérifie pas la condition:
i:=i+1; // Hop, suivant
u0:= u0-(1/(u0))+2; // Ce terme suivant est affecté à ta suite récurrente
end;

writeln ('Le plus petit indice est : ', i); // et voilà

end.











-