[turbo pascal]: problème de résolution d'ex

Résolu/Fermé
imeys Messages postés 15 Date d'inscription lundi 28 mars 2005 Statut Membre Dernière intervention 11 mai 2006 - 28 mars 2005 à 17:30
 HAMDI MIDO - 18 janv. 2010 à 11:29
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
A voir également:

15 réponses

ZOUARI Messages postés 60 Date d'inscription lundi 26 avril 2004 Statut Contributeur Dernière intervention 14 mai 2011 29
19 oct. 2007 à 13:24
On regardons dans toutes les solutions données j'ai remarqué que plein de fautes
Voici la solution Optimal :
Program Somme_Moyenne;
Uses WinCrt; 
Var
s, i, n : Integer;
m : Real;
Begin
     Randomize;
     s := 0;
     m := 0;
     For i := 1 to 20 Do
     Begin
          n := 100 + random (101);
          Writeln (n);
          s := s + n;
          If (n MOD 2) = 0 Then
             m := m + n;
     End;
     Writeln ('La somme de ces entiers = ',s);
     Writeln ('La moyenne de ces entiers = ',m /20 :6:3);
End.

Mais, il est préférable d’enregistrer ces entiers dans un tableau de 20 entier et d’utilisé une fonction qui permet de calculer la somme et une procédure pour saisir les 20 entiers.
4
zekri_saif Messages postés 2 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 12 mars 2008 3
12 mars 2008 à 06:37
bjr , je ve savoir des Simples Procedures ou des Fonctions qui m'aide a ecrire un Prgramme en Turbo Pascal 1.5 avec des simples animation sur l'affichages , Merci de me repondé
3
bonjour
vous devez ajouter un test de parité avec de faire le calcul, en plus on vous demande de calculer la moyenne arithmetique et non pas la somme des élement pairs, donc:

for i := 1 to 20 do begin
nombre:= 100 + random (101);
if nombre mod 2 = 0 then
compteur:= compteur + nombre;
moyenne := compteur/20;
writeln(moyenne);
end;
2
Bonjour,
jai un probleme a resoudre aider moi silvouplait : prouver que le double de la somme des carrés de deux nombres est égal au carré de leur somme augmenté du carré de leur différence !
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
comment classé les variable a b c en ordre croissant en turbo pascal c urgent,?
2
Enoncé : l’entreprise showfer se propose gérer son stock de produits de manière automatique.
L’activité consiste à :
Ajouter un produit
Supprimer un produit
Augmenter le stock
Trier le fichier par ordre alphabétique des produits
Trier le fichier par ordre décroissant des prix unitaires
Afficher la liste des produits page par page
Afficher un message de réapprovisionnement dès le seuil critique est atteint
A la fermeture de la caisse :
Afficher la recette totale du jour
Déterminer les 3 produits les mieux vendus et les produits les moins bien vendus de la journée
Travail à faire : Ecrire en pascal un programme pour gérer cette activité. Pour chaque traitement, écrire une procédure. La page d’accueil sera la suivante :


Nom d’utilisateur :

Mot de passe :


L’écran de travail de la caissière aura l’aspect suivant :


Code Désignation PU Quantité Sous total

P007 OMO 215 2 430
P107
P023
P308
P228
P417
P701
P402
P014
P123
P478
…………………………………………………………………………………..
Total : ……...
Espèce : ……..
Monnaie : ……

QUITTER SUIVANT
2
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
3 juil. 2008 à 15:08
Ca me rappelle quelque chose... (ici).
Commence à faire un début de programme on pourra t'aider à débuger une ou deux procédures, ou te donner des pistes sur le comment faire... Mais quasiment personne ne te fera un programme aussi long en entier.
0
asel- Messages postés 18 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 21 août 2010 8
18 mars 2009 à 18:16
Merci, ça a marché!
Mais Veuillez répondre à ma question:
Ne serait-il possible en aucun cas d'utiliser la fonction 'case of' dans ce program?
2
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
20 mars 2009 à 10:21
Non le case of ne peut pas s'utiliser pour faire ce que tu veux (par contre on pourrait l'utiliser si tu voulais taper le "code du mois" et afficher le string correspondant)

Voici une solution alternative à ton problème :
Program Mois;

const ListeMois:array[1..12] of string=('janvier','fevrier','mars','avril','mai','juin','juillet','aout','septembre','octobre','novembre','decembre');

Var m:string; i,n:integer;
Begin
Write('Veuillez taper le mois : '); Readln(m);
n:=0;
for i:=1 to 12 do
    if m=ListeMois[i] then n:=i;

if n=0 then Writeln('Veuillez vérifier votre saisie')
       else Writeln('Le code du mois est : ',n);

writeln; write('Fin du programme. Appuyer sur Entree'); readln;
End. 
0
asel- Messages postés 18 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 21 août 2010 8
21 mars 2009 à 14:54
Désolé pour les anticipations! Merci pour votre aide!
Cordialement!
2
gienas Messages postés 436 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 15 mai 2008 95
28 mars 2005 à 17:45
Bonjour imeys et tout le groupe

Dans ta boucle, tu ne tiens pas compte du fait que le nombre est ou non pair. Tu dois donc y placer le test, et ne faire les opérations que si le nombre est pair.

Comme tu as choisi des entiers, tu peux tester le reste d'une division pour savoir si c'est pair ou non. Ce peut être aussi une expression un peu plus "longue", mais qui arrive au même résultat. La question simple à se poser est: quand un nombre (entier) est-il pair?
1
imeys Messages postés 15 Date d'inscription lundi 28 mars 2005 Statut Membre Dernière intervention 11 mai 2006
28 mars 2005 à 18:15
merci bcp
0
bonjour, voici ma preoccupation ecrire un programme qui calcul la valeur de pi d'apres francois VIETE
1
salut.je veux faire la formule de françois vieté en programme pascal.je sais pas quelle fonction je dois utiliser.pourriez vous m'aider.merci bcp.
0
unis filter Messages postés 7 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 23 décembre 2007
24 oct. 2007 à 12:33
salut

il y a borland pascal et turbo bascal qui se trouve sur ce site


des cours et des exercices sur ce site


http://www.bacpascal.fr.tc
1
salut je vien en ton secour tu dois demander de diviser chaques nombres nombre par 2 si tu trouves un nombre entier tu commence la procedure somme et moyenne si non ne pas faire là tu seras satisfait tu le feras en debut du programme ecrire est tres facile merci
1
idid26 Messages postés 1 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 18 mars 2009 1
18 mars 2009 à 07:41
Je voudrais aussi avoir une solution à mon exercice SVP.
Que voici:
Program Mois;
Uses Wincrt;
Var
m:string;
Begin
Write('Veuillez taper le mois:');
Read(m);
Case m Of
'janvier': m:=1 Write('Le code du mois est:',1);
'Février':m:=2 Write('Le code du mois est:',2);
Else
Write('Veuillez vérifier votre saisie');
End;
End.

[Le problème que j'ai est bien avec le m de 'case m of'! Celà fais une semaine que je cherche une résolution à ceci! Jattend de votre aide! Merci d'avance]
1
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
18 mars 2009 à 10:29
case of s'utilise sur des types d'éléments primitifs (boolean, byte, char, integer) mais en aucun cas sur des string, ici il faut faire une succession de if then else
De plus tu ne peux pas faire m:=1 si m est un string !
0
asel- Messages postés 18 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 21 août 2010 8 > KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024
18 mars 2009 à 17:30
Au fait ! N'y a -t-il pas d'autre solution pour que j'utilise le 'case of'?
Parce que la liste des mois semble longue!
0
asel- Messages postés 18 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 21 août 2010 8
21 mars 2009 à 00:11
Au fait, J'ai essayé celui là mais j'ai le pescal vek le wincrt;
ça ne marche pas dèès de 1er Array of string=
1
svp je veut la solution d un probleme d exercice pascal aujourd huit :
Ecrire un programme Pascal intitulé PGCD permettant de calculer et d'afficher le PGCD ( plus grand commun diviseur) de deux entiers positifs A et B pa la methode de différence.
Exemple : PGCD ( 12,30 ) = ?
A <> B si A>B alors A reçoit A-B
si A<B alors B reçoit B-A
PGCD ( 12,30 ) = 6




et merciiiii svp aujourd'huit
;)
0