Ecrire des algorithmes avec turbo pascal 7.0

yves -  
charazad12 Messages postés 2 Statut Membre -
bjour a tous je suis un jeune etudiant en informatique .je ne netrise pas encore la programmation voici j'aimerai ecrire un programme qui me permettra de lire ou encore de passer des chiffres numeriques aux chifres romains jusqu'a l'infini
j'aimerai que vous n'aider pour le choix des doc a acheter pour me permettre de travailler
je vous remerci d'avance et j'espere vous lire tres vite .je vous souhaite une bonne année 2004 a toute votre famille a plus

11 réponses

  1. aza
     
    hello !

    tout dépend de ce que tu souhaites faire avec pascal !
    si tu penses en faire lgtps je te conseille le bouquin de Delannoy "programmer en turbo pascal" aux édition Eyrolles, l'auteur est tres pédagogue et otut est clair dans ce livre. Mais il est gros et cher, mais si tu es étudiant il se trouvera surement dans la bibliothèque !

    A+
    11
  2. ahcene
     
    bonjour.tu veut écrire des alogrithme avec TP,
    je te conseille de partir vers le site www.caloga.com

    pour télécharger le logiciel de TP
    le mot clé est <turbo pascal>.
    5
  3. random Messages postés 1612 Statut Membre 155
     
    ben c'est pas trop dur
    tu écrits une fonction de conversion
    pour ca tu lis dans ton nombre
    millions
    centaines de milles
    dizaine de mille
    etc..
    et tu codes la conversion
    c'est d'autant plus simple que les chiffres romains s'arrêtent à 1000
    et que Un nombre surmonté d’un trait horizontal rend ce nombre 1000 fois plus grand et de deux traits d’un million de fois plus grand.

    3
    1. Hocine
       
      Voila je suis intéréssé a la programmation , j'espére qu'on pourra se connaitre pour qu'on puisse changé des idée , c'est ok ?
      0
  4. dadou
     
    salut, je cherche une solution à cet exercice. merci
    On souhaite construire une matrice carrée NxN (N vaut au maximum 10, la valeur de N étant saisie par l’utilisateur) dans laquelle le carré le plus externe ne contient que des 1, le carré interne voisin du carré externe ne contient que des 2, et ainsi de suite...

    Exemple :

    Si N=6, la matrice qu’on veut construire est :

    1 1 1 1 1 1

    1 2 2 2 2 1

    1 2 3 3 2 1

    1 2 3 3 2 1

    1 2 2 2 2 1

    1 1 1 1 1 1
    3
    1. zekri_saif Messages postés 2 Statut Membre 3
       
      salut dadou voilà j'ai brouillé tt seul juska j'ai trouver une salution pour ton exercice j esper sa t'aide , moi j'aime bien resoudre ce type d'exercice ,rep moi si ma solution te fere plai lol :

      program zekri_saif;
      uses wincrt;
      type
      matrice=array[1..10,1..10]of integer;
      var a,i,j,n:integer; t:matrice;
      begin
      repeat
      writeln('donner la taille de la matrice:');
      readln(n);
      clrscr;
      if ((n>10) or (n<1) ) then
      writeln('voullez saisir la taille entre 1 et 10 !');
      until n in [1..10];


      for j:=1 to n do
      begin
      t[1,j]:=1;
      t[n,j]:=1;
      end;

      for i:=1 to n do
      begin
      t[i,1]:=1;
      t[i,n]:=1;
      end;
      a:=1;
      repeat
      a:=a+1;

      for i:=a to n-(a-1) do
      begin
      t[i,a]:=a;
      t[i,n-(a-1)]:=a;
      end;

      for j:=a to n-(a-1) do
      begin
      t[a,j]:=a;
      t[n-(a-1),j]:=a;
      end;

      until a=n;


      for i:=1 to n do
      begin
      writeln;
      for j:=1 to n do
      begin
      write(t[i,j],' ');
      end;
      end;

      end.
      0
    2. charazad12 Messages postés 2 Statut Membre
       
      SVP ;vous pouvez m'aider à ecrire un programme pascal qui permet de créer et mettre à jour un arbre binaire de recherche qui est sousforme un fichier
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. saleh
     
    Programmation pascal cour et ex :

    Facile :
    http://www.afloinformatique.com/programmation/turbo%20pascale/debuttp/tp_facile.htm

    Pro:
    http://www.afloinformatique.com/programmation/turbo%20pascale/protp/tabmat.html
    2
  7. juste_passager
     
    bonjour a tous si il ya quelqu'un qui metrise les pointeur , j'aimerais bien si il peut m'idée a resoudre quelque probleme ! merci d'avance !
    1
  8. ziko
     
    salut je suis un etudient de l'informatique mais j'ai un probleme dans la programation et je vous demande de me donner un programme qui permettera d'entrer des nombres et de medonner tout les combinaisons possibles de ces nombres .
    merci et bonne chance
    1
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Pour bien comprendre ton problème, tu veux :
      entrer (par exemple) 5, 14, et 3
      puis obtenir : 3-5-14, 3-14-5, 5-3-14, 5-14-3, 14-3-5, 14-5-3 qui sont toutes les combinaisons possibles...
      C'est bien ça ?
      0
      1. raul > KX Messages postés 19031 Statut Modérateur
         
        slt,je suis un étudient en MI peux tu m'aider à resoudre un exo?
        0
      2. KX Messages postés 19031 Statut Modérateur 3 020 > raul
         
        Créé un nouveau sujet de discussion dans le forum programmation, en précisant dans le sujet le langage de programmation que tu utilises, et mets ce que tu as déjà fait on t'aidera (pas forcément moi d'ailleurs) à le débuger
        0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      Quelques explications avant de commencer...

      RS et RP signifient RéférenceSomme et RéférenceProduit qui sont les somme et produit des valeurs de départ. En effet pour m'assurer qu'il n'y avait pas de "doubles", je calcule la somme (S) et le produit (P) de chaque combinaison possible et n'affiche le résultat que si RS=S et RP=P... Ce n'est pas une méthode infaillible (si tu rentres plusieurs fois la même valeur) mais dans la plupart des cas ça devrait convenir.
      program Ziko;
      
      const Nmax=5; // les résultats ne sont pas affichables pour Nmax>5
      
      type Table=array[1..Nmax] of integer;
      
      procedure Demander(var T:Table;var RS,RP:real;var N:integer);
      var i,j:integer;
      begin
      write('Combien de nombres a entrer : ');
      readln(N);
      if N>Nmax then Demander(T,RS,RP,N)
                else begin
                     RS:=0; RP:=1;
                     for i:=1 to N do
                         begin
                         write('Nombre ',i,' : ');
                         readln(j);
                         RS:=RS+real(j);
                         RP:=RP*real(j);
                         T[i]:=j;
                         end;
                     writeln;
                     end;
      end;
      
      procedure Afficher(var T,U:Table;RS,RP,S,P:real;M,N:integer);
      var i,j:integer;
      begin
      if M=0 then begin
                  if (RS=S) and (RP=P)
                     then begin
                          for i:=1 to N do
                              write(U[i]:4,' ');
                          writeln;
                          end
                  end
             else begin
                  for i:=1 to N do
                      begin
                      j:=T[i];
                      U[N-M+1]:=j; // Pour afficher "dans l'ordre"
                      Afficher(T,U,RS,RP,S+real(j),P*real(j),M-1,N);
                      end;
                  end;
      end;
      
      var T,U:Table;
          RS,RP:real;
          N:integer;
      begin
      Demander(T,RS,RP,N);
      Afficher(T,U,RS,RP,0,1,N,N);
      writeln; write('Fin du programme. Appuyer sur Entree'); readln;
      end.
      Remarque : Le nombre de lignes à l'affichage est N!
      0
  9. badjio
     
    Salut a tous, je dois écrire un algorithme de conversion des chiffres arabes en chiffres romains (en C).
    A vrai dire je galère pas mal. J'ai vu en cour les notions de tableau et pointeur (que je crois qu'il faut utiliser pour cet algo).
    J'ai déja écirt quelques lignes de ce programme mais ca ne marche pas vraiment. Donc voila si quelq'un peut m'aider un petit peu, merci d'avance.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    main ()

    {
    int reponse,oui,milliers,centaines,dizaines,unites,i,entree=0;

    printf("Voulez-vous (re)commencer?\n (oui/non)");
    scanf("%d\n\n", reponse);

    if(reponse=oui)
    {
    printf("Veuillez saisir un nombre");
    scanf("%d\n",&entree);
    }

    if(entree<1||entree>3999)
    {
    printf("Erreur! Nombre incorrect\n Voulez-vous recommencer?(oui/non");
    scanf("%d\n",reponse);
    }
    else
    {

    milliers=entree/1000;

    centaines=(entree-milliers*1000)/100;

    dizaines=((entree-milliers*1000)-centaines*100)/10;

    unites=entree%10;

    for (i=0;i<milliers;i++)

    printf("M");

    if (centaines / 5) {printf("D");centaines=centaines-5;}

    for (i=0;i<centaines;i++)

    printf("C");

    if (dizaines / 5) {printf("L");dizaines=dizaines-5;}

    for (i=0;i<dizaines;i++)

    printf("X");

    if (unites / 5) {printf("V");unites=unites-5;}

    for (i=0;i<unites;i++)

    printf("I");

    }

    }
    1
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Quelques points à revoir au niveau de la syntaxe :

      # Il est préférable d'écrire int main () car l'ordinateur attend une valeur de retour pour savoir si ton programme s'est bien terminé
      # Ne déclare pas toutes tes variables au début, c'est plus clair de le faire au fur et à mesure, au moment où tu t'en sers pour la première fois
      # N'utilises pas \n dans un scanf, mais dans un printf
      # La comparaison en C se fait par l'opérateur ==, si tu mets reponse=oui, ça ne te fera pas ce que tu veux d'autant que oui n'est affecté que par défaut
      # Si tu demandes de recommencer ça veut dire que tu voudrais faire une boucle, mais tu l'as oublié... Dans ce cas il vaut mieux demander si on veut recommencer à la fin du programme
      # Pour recommencer la boucle dès le début on utilise "continue"
      # Même si ça marche sans il est plus clair de marquer if(...==0) lorsque tu compares deux entiers (par contre ça n'aurait aucun sens de le faire sur des booléens)
      # Tu n'utilises pas de string, ce n'est donc pas la peine d'inclure string.h

      Ton programme a désormais un fonctionnement correct, même si le résultat obtenu n'est pas toujours correct
      #include <stdio.h>
      #include <stdlib.h>
      
      int main()
      {
          int reponse=1;
          
          while (reponse) // reponse==0 : sortir, reponse==1 : continuer
          {
              int entree;
              
              printf("\nVeuillez saisir un nombre : ");
              scanf("%d",&entree);
              printf("\n");
             
              if(entree<1 || entree>3999)
              {
              printf("Erreur! Nombre incorrect\n");
              continue; // on retourne au début de la boucle while
              }
                   
              int milliers=entree/1000;
              int centaines=(entree-milliers*1000)/100;
              int dizaines=((entree-milliers*1000)-centaines*100)/10;
              int unites=entree%10;
      
              int i;
              for (i=0; i<milliers; i++)
                  printf("M");
                 
              if (centaines/5==0)
              {
                  printf("D");
                  centaines=centaines-5;
              }    
              
              for (i=0; i<centaines; i++)
                  printf("C");
              
              if (dizaines/5==0)
              {
                  printf("L");
                  dizaines=dizaines-5;
              }
              
              for (i=0; i<dizaines; i++)
                  printf("X");
               
              if (unites/5==0)
              {
                  printf("V");
                  unites=unites-5;
              }
              
              for (i=0; i<unites; i++)
                   printf("I");
              
              printf("\n\nVoulez-vous recommencer ? (oui : 1, non : 0)\nChoix = ");
              scanf("%d", &reponse);
          } // fin de la boucle while
      
      return EXIT_SUCCESS;
      }
      0
      1. badjio > KX Messages postés 19031 Statut Modérateur
         
        Merci beaucoup, KX pour tes corrections, je vais bucher la dessus et voir ce que tout ça donne.
        Oui pour le sujet de Pascal j'était un peu pris par le temps et je n'aie pas vraiment fais attention. J'y penserai la prochaine fois.
        Encore merci sur ce je retourne a mes algos^^
        0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      PS. La prochaine fois créé un nouveau sujet de discussion plutôt que de poser une question sur du C dans un sujet qui parle de Pascal
      0
    3. ismail
       
      bonjour a tous j'aimerais bien que vous m'aider a programme un programme de calculatrice et merci d'avants
      0
  10. wiam
     
    je vzux un algorithme m décimal au binaire et sur pascal
    1
  11. dd
     
    st moi aussi je etudiant a gaston berger j ai des probleme en algorithme.
    mais je peux resoudre votre probleme en echange que vous traitéz mon probleme.
    0