Ecrire des algorithmes avec turbo pascal 7.0

yves -  
charazad12 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

11 réponses

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
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
random Messages postés 1612 Date d'inscription   Statut Membre Dernière intervention   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
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
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
zekri_saif Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   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
charazad12 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
raul > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
slt,je suis un étudient en MI peux tu m'aider à resoudre un exo?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
badjio > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
ismail
 
bonjour a tous j'aimerais bien que vous m'aider a programme un programme de calculatrice et merci d'avants
0
wiam
 
je vzux un algorithme m décimal au binaire et sur pascal
1
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
karima
 
hi et bonjour
0