Ecrire des algorithmes avec turbo pascal 7.0

Fermé
yves - 7 janv. 2004 à 12:06
charazad12 Messages postés 2 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 19 mars 2012 - 19 mars 2012 à 17:10
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

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
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 vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 155
18 avril 2005 à 15:45
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
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
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 mercredi 5 mars 2008 Statut Membre Dernière intervention 12 mars 2008 3
5 mars 2008 à 08:01
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 lundi 19 mars 2012 Statut Membre Dernière intervention 19 mars 2012
Modifié par charazad12 le 19/03/2012 à 17:11
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
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
10 févr. 2008 à 09:11
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
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
30 juin 2008 à 12:47
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024
5 mai 2009 à 18:35
slt,je suis un étudient en MI peux tu m'aider à resoudre un exo?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > raul
6 mai 2009 à 13:41
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
30 juin 2008 à 22:23
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
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 mai 2009 à 13:56
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024
20 mai 2009 à 22:57
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 mai 2009 à 13:58
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
bonjour a tous j'aimerais bien que vous m'aider a programme un programme de calculatrice et merci d'avants
0
je vzux un algorithme m décimal au binaire et sur pascal
1
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
hi et bonjour
0