Entier ou réel

Fermé
traxiku Messages postés 17 Date d'inscription vendredi 19 avril 2013 Statut Membre Dernière intervention 22 juillet 2017 - 2 mars 2014 à 15:26
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 10 févr. 2016 à 23:34
program entier_ou_reel;
uses wincrt ;
var n : integer ; s : real ;
Begin
writeln ('donner un nombre : ') ;

readln (s) ;

s := n;
if (n mod 2) = 0 then write (' cet nombre est entier ')

else if ( (n +1) mod 2 ) = 0 then

write ('cet nombre est entier')
else write (s,'cet nombre est réel ') ;

end.


___________________________________
quand j'entre un réel il me dit erreur !! solution
A voir également:

2 réponses

Chekchak Messages postés 29 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 21 mai 2019 3
27 janv. 2016 à 12:06
parce que l'instruction ( s:=n; ) c'est a dire que S reçoit la valeur de n , alors que n n'a pas de valeur .... normalement ça doit etre n:=s, mais dans ce cas t'as un problem avec la declaration parce que un entier ne peut pas recevoir la valeur d'un entier, ton programme veux savoir si le nombre est entier ou pas , dans tout les cas s'il l'est ou pas ! il est toujours réel , alors tout doit etre réel ! et pourquoi utiliser 2 varbiable ? tu peux seulement utiliser n voici le programme tu va mieux comprendre :) :
program entier_ou_reel;
uses wincrt ;
var n : real ;
Begin
writeln ('donner un nombre : ') ;

readln (n) ;

if (n mod 2) = 0 then write (' cet nombre est entier ')

else if ( (n +1) mod 2 ) = 0 then

write ('cet nombre est entier')
else write (s,'cet nombre est réel ') ;

end.
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
10 févr. 2016 à 23:34
Bonjour,

Le code cherche à distinguer des nombres entiers pair, impairs ou des réels.
La chronologie est erronée, je propose plutôt :
program entier_ou_reel; 
uses wincrt ;
var n : integer ; s : real ;
Begin

writeln ('donner un nombre : ') ;
readln (s) ;

n := trunc(s);

{ les entiers sont egaux a leur partie entiere contrairement au reels }

if (n != s) then writeln( 'le nombre ' , s , ' est réel' )
else if (n mod 2) = 0 then writeln ( ' le nombre ' , s , ' est un entier pair' )
else writeln( 'le nombre ' , s , ' est un entier impair' ) ;

end.
0