Bonjour à tous,
J'essaye de faire un programme sur Pascal (pour m'entraîner un peu avant de passer à C) mais je suis confronté à plusieurs problèmes.
Voilà ce que je veux faire :
Un programme en Pascal qui permet à l'utilisateur de choisir entre :
- Une Procédure qui détermine combien de chiffres pairs et combien de chiffres impairs ont été introduits par l'utilisateur.
- Une fonction qui permet le calcul de la valeur de la succession suivante : SN = (x-2) / (y+n).
Et aussi (mais ça c'est dans un autre programme) :
- Une procédure qui permet de déterminer quel est le plus grand de 3 chiffres entiers indiqués par l'utilisateur.
Mon programme ressemble à ceci :
PS : le programme est en portugais, mais ça ne devrait pas poser de problème je pense car ce ne sont que des instructions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 program LP; uses crt; var escolha:integer; procedure par_impar; var q,i,l,impar,par:integer; begin writeln('Quantos numeros vai introduzir?'); readln(q); for i:=1 to q do begin writeln('Introduza o numero'); readln(l); if l mod 2=0 then par:=par+1 else impar:=impar+1; end; writeln('Existe ', par ,' numeros pares e ', impar ,' numeros impares'); end; function sucessao:real; var p,s:integer; x,y,n,sn:real; begin writeln('Quantas vezes quer repetir esta sucessão'); readln(s); writeln('Introduza o valor de x'); readln(x); writeln('Introduza o valor de y'); readln(y); writeln('Introduza o valor de n'); readln(n); for p:=1 to s do sn:=sn+(x-2)/(y+p); writeln('O resultado da sucessão ', sn:2:2); end; begin clrscr; writeln('1=Calcular Par e Impar - 2= Calcular Sucessão'); readln(escolha); case escolha of 1:par_impar; 2:sucessao; end; readkey; end.
Le problème est que, si je mets par exemple les chiffres 1, 2 et 3 pour savoir lesquels sont pairs et lesquels sont impairs, le logiciel me donne :
" Il existe -15739 chiffres pairs et -15130 chiffres impairs".
Après, l'autre problème est le fait que, dans le calcul de la succession, il doit me calculer (X-2) / (Y+N) après que la personne ait introduit X, Y et N, mais le calcul me revient erroné. Exemple : si je calcule
X = 10
Y = 18
N = 19
Cela devrait me faire environ 0.21, mais le programme me fait une multiplication bizarre. Je demande au programme de me faire 10 fois le calcul, donc à la fin il est censé me redemander de choisir les valeurs de X, Y et N mais, à la place, il multiplie le résultat que j'ai donné par le nombre de fois que j'ai indiqué que je voulais répéter.
Si quelqu'un pouvait m'aider cela serait très très gentil.
Merci d'avance.
Cordialement,
Aliasbody
Partager