PDA

Visualizza la versione completa : pascal: inizi


treccino
14-04-2003, 22:41
Salve a tutti.
Ho cominciato a provare a guardare un p di pascal per iniziarmi ai concetti della programmazione e vorrei fare un es. del tipo:
Introducendo un num da 1 a 12 vorrei che mi venisse restituito il mese e il numero dei giorni da cui questo formato.

Ho fatto un tentativo che funziona ma che mi pare scorretto.
Vorrei poterlo scrivere in un modo pi sintetico, cos non mi pare prorpio che vada bene.

questo il tutto:


program prova;
Uses crt;
Var n:integer;
mese:string;
Begin
clrscr;
Writeln('Inserisci il numero del mese: ');
readln(n);
if (n<0) and (n>12) then
Writeln('Devi inserire un numero compreso tra 1 e 12')else
begin
case n of
1: mese:='gennaio';
2: mese:='febbraio';
3: mese:='marzo';
4: mese:='aprile';
5: mese:='maggio';
6: mese:='giugno';
7: mese:='luglio';
8: mese:='agosto';
9: mese:='settembre';
10:mese:='ottobre';
11:mese:='novembre';
12:mese:='dicembre';
end;
if (n=4) or (n=6) or (n=9) or (n=11) then
writeln('Il mese di ',mese,' di 30 giorni');
if n=2 then
writeln('Il mese di ',mese,' di 28 giorni');
if (n=1) or (n=3) or (n=5) or (n=7) or (n=8) or (n=10) or (n=12) then
writeln('Il mese di ',mese,' di 31 giorni');

readln;
end;
end.



Qualcuno potrebbe suggerirmi qualcosa?

tnx 1000. :ciauz:

Michele Facchin
15-04-2003, 18:55
Si, un p bruttino.
Comunque per gli inizi un ottimo modo per imparare gli if e i select case.
Comunque ti scrivo lo stesso programma in meno righe, utilizzando due array, uno per i mesi, l'altro per i giorni:


Program prova;
Uses
crt;
Const
mesi : array [1 .. 12] of String [9] = ('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
gg : array [1 .. 12] of Integer = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
Var
x : Integer;
Begin
clrscr;
write ('Inserisci il mese: ');
readln (x);
writeln ('Il mese ', mesi [x] ,' ed ha ', gg [x] ,' giorni. ');
readln;
End.


Saluti :quipy:

treccino
15-04-2003, 20:19
Grazie, cos decisamente pi economico!! :quipy:

Loading