2 questions et un pb en pascal(Dev Pascal)

[Résolu/Fermé]
Signaler
-
 Bibilo -
Bonjour,
1)A quoi sert Uses wincrt dans un programme pascal(partie déclarations)
2) Aussi Clrscr
3)J'ai téléchargé Dev Pascal sous windows
J'ai écrit un programme simple (lire une variante et l'ajouter a une constante et donner la variante résultat)
dans un projet MS DOS
quand je compile et que je fais "executer" j'obtient comme c'est prévu une fenetre noire dos
mais quand je tape la valeur de la variable et que je fasse "entrée" la fenetre se ferme sans m'afficher le résultat
qu'est ce que je dois faire ('un ami m'a demandé de faire édition de liens mais je ne sais pas comment de plus Dev Pascal ests en anglais')???

11 réponses

Bonjour,
merci le pb est remédié mais il y a un autre :
Pourquoi il me donne une ecriture scientifique( le nombre 11 est par exemple affiché a la manière suivante :
11 = 1,100000000000000 E+001)
--->et moi je veux un écriture décimale?
--->comment faire pour choisir la précision?
3
Merci

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

CCM 41989 internautes nous ont dit merci ce mois-ci

Salut Dadar; voici le programme:


Program Somme_binaire;
Uses crt;
Label 1,2,3;
Type Tab=array[1..100] of integer;
Var T:Tab;
A,B,C,i,n,Somme,rep: integer;

Function nbpos(X:integer):integer;
begin
n:=0;
While X<>0 do
begin
X:=X div 10;
n:=n+1;
end;
nbpos:=n;
end;

Function Puiss(b,e:integer):integer;
begin
n:=1;
If e<0 then Puiss:=1
Else
begin
For i:=1 to abs(e) do n:=n*b;
if n>=0 then Puiss:=n
else Puiss:=1 div n;
end;
end;

Function Verif(X:integer):boolean;
var bin:boolean;
begin
bin:=false;
While X<>0 do
begin
n:=X mod 10;
X:=X div 10;
if (n<>0) and (n<>1) then bin:=false
else bin:=true;
end;
Verif:=bin;
end;

Begin
1:Clrscr;
Textcolor(2);
Writeln('** Ce programme additionne 2 nombres binaires **');
writeln;writeln;
Writeln('Donnez les 2 nombres binaires:');
Write('A = '); readln(A);
Write('B = '); readln(B);
Writeln;
If (Verif(A)) or (Verif(B))=False then
begin
Textcolor(4+blink);
Writeln('Erreur! Les nombres ne sont pas en binaire');
Writeln;
Writeln('Tapez n''importe qu''elle touche');
Writeln;
readkey;
Goto 1;
end;
Somme:=A+B;
C:=Somme;
n:=nbpos(Somme);
For i:=1 to n+1 do T[i]:=0;
For i:=1 to n+1 do
begin
T[i]:=C mod 10;
C:=C div 10;
end;
For i:=1 to n+1 do
begin
if T[i]=2 then
begin
T[i]:=0; T[i+1]:=T[i+1]+1;
end
else
begin if T[i]=3 then
begin
T[i]:=1;T[i+1]:=T[i+1]+1;
end;
end;
end;
C:=T[1];
For i:=2 to n+1 do C:=C+(T[i]*Puiss(10,i-1));
writeln;
Writeln('',A,' + ',B,' = ',C);
Writeln;
3:Textcolor(2);
Writeln('Un autre calcul --------- Tapez 1');
Writeln('Quitter ----------------- Tapez 2');
readln(rep);
if (rep<>1) and (rep<>2) then
begin
Textcolor(4+blink);
Writeln('Reponse insignifiante!');
Writeln;
Writeln('Tapez n''importe qu''elle touche');
Writeln;
Readkey;
Goto 3;
end;
Case rep of
1:Goto 1;
2:Goto 2;
end;
2:Writeln('** Merci d''avoir execute ce programme **');
readln;
End.


j'espere que ça marche pour toi,
autres questions: rosella001@yahoo.fr
Il n'y a pa de koi.
Messages postés
33
Date d'inscription
lundi 8 octobre 2007
Statut
Membre
Dernière intervention
21 janvier 2008

asma3ni ki t7ib pascal téléchargi un TPW du pascal de windows c'est mieux que le dev pascal.
pour (uses wincrt) c'est que uses pour fonctionner turbo pascal et wincrt c'est win : windows et crt c'est le language que pascal lui comprend.
ok
pour clrscr c'est effacer l'écran en pascal supposant que tu veux écrire dans une nouvelle page au cours de l'execution on fait clrscr.
j'éspére que tu as compris .
a+
Messages postés
68
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
8 septembre 2010
19
Bonjour Grad.

"Uses wincrt" pour utiliser Turbo pascal.
"Clrscr" pour effacer le contenu de l'écran après une exécution.
Et pour y remédier au 2eme problème, essaye l'instruction:
"readln;readln;"
avant la fin du programme (avant le END final), cela te permettra de visualiser l'éxécution.
Bon courage.
Messages postés
68
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
8 septembre 2010
19
Bonjour!

Essaye de jouer sur la déclaration des types. S'il te donne une telle représentation, peut-etre que c'est un réel. Essaye plutot "type integer". ou bien si c'est un long chiffre "type longint". Si ça marche tjs pas, applique au chiffre X concerné la fonction standard "int(X)", ça te donne la partie entiere de X.

Bon courage.
plzzz j'ai besoin un algorithme en language pascal qui permet de l'addition deux nombres binaire
et merci
je te remercie bcp rosella001
program demoy ;
uses crt;
var x: boolean;
var a :string;
const passe:='123';
begin
x:=false
while x:=false do
begin
x=false;
write('le mot de passe est ');
readln(a);
if a=passe then x:=true;
end;
end.



ça marche po pk?
Parce que tu as inverser les ; & les :
Voici ton programme compilé:



program demoy ;
uses crt;
var x: boolean;
var a :string;
const passe='123';
begin
x:=false;
while x=false do
begin
x:=false;
write('le mot de passe est ');
readln(a);
if a=passe then x:=true;
end;
end.
slt Rosella.
tout mes encouragements pour le max que tu offres pour la résolution de nos problèmes.j'aimerais avoir ton email,car par les forum c'est certes bien, mais c'est pas assez rapide.c'est pour cela que je voudrais avoir ton email et on sera en contact permanent.j'espère que ca te gène pas.
merci d'avance
Bonjour pour ceux qui ont le probleme 1,100000000000000 E+001 avec les nombres scientifique, il faut écrire ceci (NomdelaVariable:10:2) le 10 est le nombre d'espace voulu lors de l'écriture et le 2 permet d'écrire 2 chiffre apres la virgule donc, si tu as 10 dans la variables, il sera écris ainsi 10,00 c'est pratique lorsque ta donner est un réel.