Division pascal [Résolu/Fermé]

Signaler
-
Messages postés
13
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
16054
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
9 octobre 2020
2 696
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 60511 internautes nous ont dit merci ce mois-ci

Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
369
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
16054
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
9 octobre 2020
2 696
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
13
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