2 questions et un pb en pascal(Dev Pascal)

Résolu
grad -  
 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')???
Configuration: Windows XP
Internet Explorer 6.0

11 réponses

  1. grad
     
    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
  2. rosella001
     
    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
    2
  3. coucou_hb21 Messages postés 33 Statut Membre
     
    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+
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Rosella001 Messages postés 68 Statut Membre 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.
    0
  6. Rosella001 Messages postés 68 Statut Membre 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.
    -1
  7. dadar
     
    plzzz j'ai besoin un algorithme en language pascal qui permet de l'addition deux nombres binaire
    et merci
    0
  8. ahmed
     
    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?
    0
    1. rosella001
       
      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.
      0
  9. yann
     
    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
    0
  10. Bibilo
     
    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.
    0