2 questions et un pb en pascal(Dev Pascal)

Résolu
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. 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
    1. 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
      1. 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
        1. 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. 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
        2. 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
          1. plzzz j'ai besoin un algorithme en language pascal qui permet de l'addition deux nombres binaire
            et merci
            0
            1. 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
              1. 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
                1. 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