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à