Division pascal [Résolu/Fermé]

Signaler
-
Messages postés
14
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
2 décembre 2016
-
Bonjour,
voilà je suis nouveau question pascal et je voudrais savoir pourquoi ce code si simple est faux??
Code :
program fois(output);
var a,b,c : integer;
begin
readln (a) ;
readln (b) ;
c := a/b ;
writeln('egal a ',c,'!!') ;
readln ;
end.

ils me mettent "erreur type mismatch
merci

5 réponses

Messages postés
16141
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
30 mars 2020
2 571
Dans un premier temps, il te faut trouver le pgcd entre le numérateur et le dénominateur, puis tu simplifie en haut et en bas par ce nombre (p=pgcd(a,b); a'=a/p; b'=b/d; et a/b=a'/b')
function pgcd(a,b:integer):integer;
begin
if b=0	then result:=a
	else result:=pgcd(b,a mod b);
end;

type quotient = record
		a,b:integer
		end;

function simplifier(q:quotient):quotient;
var p:integer;
begin
p:=pgcd(q.a,q.b);
result.a:=q.a div p;
result.b:=q.b div p;
end;
Remarque : selon ce que tu veux faire, il faudrait rajouter des conditions pour prendre en compte les cas où numérateur et/ou dénominateur sont négatifs ou nuls...
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 79761 internautes nous ont dit merci ce mois-ci

Messages postés
969
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
363
Salut,
je connais pas le pascal mais:
Si a et b sont des entiers, le résultat a/b ne sera pas un entier(a part si a=b), or 'c 'est declaré comme entier.....
@+
Messages postés
16141
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
30 mars 2020
2 571
utilise a div b pour avoir le quotient de la division euclidienne et a mod b pour avoir le reste...
exemple : 7 div 2=3 et 7 mod 2=1 car 7=2*3+1

pour avoir un résultat "exact" : utilise var r:real; a,b:integer; r:=real(a)/real(b);
exemple : real(7)/real(2)=3.5
merci beaucoup pour vos réponse mais j'ai une autre question,
je souhaiterai avoir un code pour pouvoir simplifier des fraction,merci
Messages postés
14
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
2 décembre 2016
2
salut,

c'est très facile de faire la division en tp7
tu dois avoir des variable declaré en réel(real) et pas entier(integer)

yahyakz123