Tom's Guide > Forum > Programmation > Turbo pascal: problème pour résoudre un exercice

Turbo pascal: problème pour résoudre un exercice

Forum Programmation : Turbo pascal: problème pour résoudre un exercice

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour, je dois résoudre un exercice avec turbo pascal et je ne sais comment faire.
Voici l’énonce :

20 nombres entiers entre 100 et 200 compris sont créés au hasard par l’ordinateur. Il faut :

- afficher ces nombres à l’écran
- calculer et afficher la somme et la moyenne arithmétique des nombres pairs.

C’est la 2eme partie qui me pause problème.

Voici ce que j’ai ecrit :

program exercice3;
uses crt;
var i,nombre,compteur:integer;
moyenne: real;
begin
clrscr;
randomize;
compteur:=0;

for i := 1 to 20 do begin
nombre:= 100 + random (101);
compteur:= compteur + nombre;
writeln(nombre);
end;

writeln;
moyenne:= compteur/20;
writeln ('la moyenne est de:',moyenne:10:2);
writeln('le total est de:',compteur);
readln;
end.

Donc le problème est que, écrit comme cela, ca fait la somme et la moyenne de tout les nombres.
Donc ce n’est pas bon mais je ne voit pas comment faire pour juste faire la somme et la moyenne des nombres pairs.
Je crois que c’est soit avec la fonction DIV ou MOD mais je n’en suis pas sur.
Pouvez vous m’aider.

merci

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

il faut que tu utilise le mod (modulo qui te renvoie le reste)

Tu fais prend une var pair et une temp pour le nombre de note
temp:=0;
for i := 1 to 20 do begin
nombre:= 100 + random (101);
pair:= compteur mod 2;
if (pair = 0) then //si pair = 0 c'est que compteur est un chiffre pair
compteur:= compteur + nombre;
temp:=temp+1;
endif;
writeln(nombre);
end;
writeln (compteur);//somme de tout tes nombre pair
moyenne:= compteur/temp;
writeln ('la moyenne est de:',moyenne);

Répondre à imer@IDN

c'est quoi TEMP? pk tu parle de note? je ne comprend pas.
et tu dis qu'il faut utliser le MOD mais dans la résolution que tu me donne, tu ne le mets pas pk?

dsl mais je débute

je te remercie de m'aider

Répondre à imeys

c'est une variable compteur qui va s'incrementer à chaque fois que tu as un chiffre pair.

Grace a ça tu peu calculer ta moyenne car une moyenne se calcul par la somme de tes notes divisé par le nombre de notes?

Tu es bien d'accord? j'espere que la tu as compris...

Répondre à imer@IDN

oui je te remercie beaucoup

Répondre à imeys

je vous propose cette réponse
program exercice;
var
i,somme,n,p:integer;
moyenne:real;
begin
p:=0;
somme:=;
for i:=1 to 20 do
begin
write('tapez le ',i,'eme nombre');
readln(n);
if n mod 2=0 then
begin
somme:=somme + n;
p:=p+1;
end;
end;
moyenne:=somme div p;
writeln('la somme des nombres paires est: ',somme,' et la moyenne est :',moyenne);
readln;
end.

Répondre à yassinostyle

afin de savoir si vtr i est pair ou pas il suffit juste de faire
test:=false ;
if t[i] mod 2 = 0 then
test := true ;
writeln ('le nbr est pair')
else
writeln('lenbrest impair');

Répondre à Anonyme

s'il vous plais j'ai un test a rendre et j'ai besoin d'une solution pour cette exo...esque quelquin ci connais ....

ecrire un program pascal qui :
1.remplit une matrice carrée M
2.transforme cette matric ou sa transposé Mt a la 2 eme diagonal
3.permet de trier tout les ligne en créant une matric Ml
4.affiche les 3 matrine (M,Mt,Ml) sous leurs formats matriciel.

Répondre à spacenassim

Salut
Pour vérifier la pariété d'un entier a vous pouvez utiliser la fonction ODD(a) qui retourne vrai si a est impair et faux sinon.
Autrement dit :
.
.
.

p:=0;
S:=0;
FOR i:=1 TO 20 DO
Begin
nb:=RANDOM(101)+100;
Write('Le ',i 'ème nombre est : ',nb)
If Not (ODD(nb)) then
Begin
p:=p+1;
S:=S+nb;
end;
end;
Writeln('la somme des nombres impairs est: ',S);
Write('la moyenne arithmétique est: ',(S/p):0:2);
end.

Répondre à AIDER_71
Tom's Guide > Forum > Programmation > Turbo pascal: problème pour résoudre un exercice
Aller à :

Il y a 985 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens