Programmation avec pascal

Fermé
lune - 6 juil. 2009 à 16:30
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 10 juil. 2009 à 12:27
Bonjour,je suis debutante
voulais vs bien m aide je m connai pa bien
je doi ecrie un programme.qui a chaque jour du moi correspond un temps.j ai ecrire mai le programme ne marche voila ce que j ai fai
programm temps;
uses crt;

type
jour=1..31;
temps:(hiver,lete, primptemp, neige);
ttemps=array[jour] of temps;
procedure wetter(var c:ttemps);
var i:jour;
begin
for i:=1 to 31 do
c[i]:=temps;
end;
var k:ttemps;
t:jour;
begin
writeln('donner un jour');
readln(t);
wetter(k);
end.
merci pour votre aide
A voir également:

7 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
6 juil. 2009 à 16:54
Il faut absolument que tu utilises un programme pour débuger ton code source, ça t'évitera de faire des erreurs aussi énormes.

Le principe de la programmation c'est de donner des instructions à l'ordinateur avec un langage spécifique, mais ce langage doit respecter une syntaxe (un peu comme en français), on ne peux pas se permettre d'utiliser un langage approximatif avec la programmation...

De plus ton programme ne fais pas du tout ce que tu voudrais qu'il fasse, mais essaye déjà de comprendre toutes les erreurs que tu as faites
program lune; // un seul m à "program", car c'est de l'anglais
// ne mets pas "temps" comme nom de programme, tu utilises déjà ce terme plus loin

uses crt; // facultatif, tu ne t'en sers pas

type jour=1..31; // si tu ne sais pas t'en servir alors ne l'utilise pas

     saison=(printemps, ete, automne, hiver); // ps. la neige c'est en hiver
     // et il ne s'agit pas de temps, ici mais de saisons

     temps=(soleil, pluie, orage, neige); // ça c'est le temps !

     mois=array[1..31] of temps; // c'est très maladroit de mettre array[jour]


procedure weather(var m:mois); // le temps en anglais se dit "weather"
// c'est curieux de mettre `c` comme variable de type `ttemps`
var i:integer; // c'est très maladroit de mettre un type jour ici
begin
for i:=1 to 31 do
    m[i]:=soleil; // temps est un type et non une valeur, que veux tu faire ?
end;

var m:mois; // idem, pourquoi appeler `k` une variable de type `ttemps` ?
j:jour; // idem, pourquoi appeler `t` une variable de type `jour` ?
begin
writeln('donner un jour');
readln(j);
weather(m); // ici ton programme ne fais rien d'intéressant, que veux tu faire ?
end.
0
le pblm est que je ne sai pa cooment le fait .je veu dans mon program une prozedur ,qui a chaque jour un temps associe et donne öe resultat a l ecran a string
0
le pblm est que le devoir est en allemand.je doit ecrire un program qui a chaque jour d un mois correspond une saison et cela avec une prozedur,qui donne a chaque jour une saison a l ecran du typ string.merci
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
6 juil. 2009 à 19:51
Essaye de partir avec de bonnes bases...
Exemple au lieu d'utiliser un type énuméré, utilise un array de string, c'est plus simple !
Voici une procédure qui pourrait t'être utile :
program lune;

const nMax:integer=5;
const wetter:array[1..nMax] of string=('sonnig','bewolkt','regen','gewitter','schnee'); // on me pardonnera mon allemand ;)

procedure WahlWetter(var s:string);
var i:integer;
begin
writeln('Wahl das Wetter :');
writeln;
for i:=1 to nMax do
    writeln(chr(9),i,' -> ',wetter[i]);
    writeln;
write('Index : ');
readln(i);
writeln;
s:=wetter[i];
end;
0
merci davance
mai dans le devoir on me demande en premier un txp d ennumeration appele Twetter=(sonne,wolken,regen,schnee);
et apre untyp de donnee appele Ttag,qui a valeur der jour d un moi(1-31) a chiffre accept.
et apre
un type de donne array appele Ttagwetter=array[Ttag] of Twetter;
ensuite je doi ecrire la procedure appele wetterausgabe de parametre Ttagswetter qui donne pour chaque jour le temps en string a l ecran
merci pour ton aide
0

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

Posez votre question
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
6 juil. 2009 à 22:59
En pratique on se sert très peu des types énumérés (trop compliqués à utiliser), mais bon si l'exercice l'impose :
program Wetter;

type TWetter=(sonne,wolken,regen,schnee);
     TTag=1..31;
     TTagsWetter=array[TTag] of TWetter;

procedure WetterAusgabe(var t:TTagsWetter);
var i:integer;
begin
for i:=1 to 31 do
    case t[i] of
    sonne : writeln(i:2,' sonne ');
    wolken: writeln(i:2,' wolken');
    regen : writeln(i:2,' regen ');
    schnee: writeln(i:2,' schnee');
    end;
end;

var i:integer; t:TTagsWetter;
begin
for i:=1 to 31 do t[i]:=sonne; // zum Beispiel
WetterAusGabe(t);
writeln; write('Ende des Programms. Drucken Sie die Eingabetaste'); readln;
end.
0
merci pour ton aide mai je n avance pas de compilierung j ai a l ecran seulement sonnne et ca commence par 9 et non 1 peut tu peu etre m aide
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
9 juil. 2009 à 21:56
Si ça n'affiche que "sonne" c'est normal vu le programme de test que j'ai fait...
Quant au fait que ça ne commence qu'à 9, c'est parce que ta fenêtre d'affichage ne doit pas être assez grande (apparemment elle n'accepte pas plus de 25 lignes)
0
et comment je change afin que s affiche tout les quatre temps
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
10 juil. 2009 à 12:27
Dans ton énoncé, ce n'était pas précisé mais il faudrait créer une procédure qui dit quel temps il a fait tel ou tel jour, par exemple
procedure WetterVorhersage(var t:TTagsWetter);
var i:integer; s:string; b:boolean;
begin
for i:=1 to 6 do
    begin
    b:=true;
    while b do
          begin
          b:=false;
          write('Wetter vom ',i,'. ist ');
          readln(s);

               if s='sonne'  then t[i]:=sonne
          else if s='wolken' then t[i]:=wolken
          else if s='regen'  then t[i]:=regen
          else if s='schnee' then t[i]:=schnee
          else begin
               write(chr(7)); // Signalton
               b:=true; // noch einmal
               end;
          end;
    end;
end;

var t:TTagsWetter;
begin
WetterVorhersage(t);
writeln;
WetterAusgabe(t);
writeln; write('Ende des Programms. Drucken Sie die Eingabetaste'); readln;
end.
0