Programma PASCAL AIUTO

PC_fanatic

Nuovo Utente
2 Dic 2006
7
0
0
Ciao a tutti mi chiamo Alex e frequento l'ITIS ed ho un problema con un programma pascal che non riesco a risolvere.Ci ho pensato tanto ma sto prog non vuole andare. Il quesito è questo:
Dati tre concorrenti ed i tempi impiegati per portare a termine una gara,visualizzare il nome del vincitore.

Help!
 
Ciao a tutti mi chiamo Alex e frequento l'ITIS ed ho un problema con un programma pascal che non riesco a risolvere.Ci ho pensato tanto ma sto prog non vuole andare. Il quesito è questo:
Dati tre concorrenti ed i tempi impiegati per portare a termine una gara,visualizzare il nome del vincitore.

Help!
Abbiamo tre concorrenti A, B, C. Se non usi le matrici puoi utilizzare le seguenti variabili.
concorrente A : A per inserire il nome, At per inserire il tempo
concorrente B : B per inserire il nome, Bt per inserire il tempo
concorrente C : C per inserire il nome, Ct per inserire il tempo
basta controllare le variabili del tempo, ovviamente il primo avrà impiegato meno tempo degli altri.

Program vincitore;
var
a,b,c:string[20];
at,bt,ct:real;
begin
(*inseriamo tutti i dati che ci servono*)
writeln('inserisci il nome del concorrente A');
readln(a);
writeln('inserisci il tempo impiegato dal concorrente A');
readln(at);
writeln('inserisci il nome del concorrente B');
readln(b);
writeln('inserisci il tempo impiegato dal concorrente B');
readln(bt);
writeln('inserisci il nome del concorrente C');
readln(c);
writeln('inserisci il tempo impiegato dal concorrente C');
readln(ct);
(* soluzione del quesito*)
if (at<bt) and (at<ct) then
writeln('Il vincitore è ',A);
if (bt<at) and (bt<ct) then
writeln('Il vincitore è ',B);
if (ct<at) and (ct<bt) then
writeln('Il vincitore è ',C);
end.

Questo listato ovviamente si può ottimizzare in base allo scopo da raggiungere ed utilizzando cicli e/o matrici, vettori.
In questo modo dovrebbe esserti chiaro come va risolto il problema.


P.S.: credi di + in te stesso, non era difficile e con un po' di impegno saresti riuscito a risolverlo. Ciao
 
c'avevo provato a risolverlo ma non mi dava il Vincitore.Mi usciva in output il messaggio che diceva il vincitore è.... senza dire chi era.cmq quella istruzione "AND" cosa è la prof non me l'ha spiegata...
cmq grazie!
 
c'avevo provato a risolverlo ma non mi dava il Vincitore.Mi usciva in output il messaggio che diceva il vincitore è.... senza dire chi era.cmq quella istruzione "AND" cosa è la prof non me l'ha spiegata...
cmq grazie!

if (at<bt) and (at<ct) then

and è una funzione logica che restituisce "vero" solo se tutte e due le condizioni sono vere.
Se la tua prof fa problemi puoi utilizzare IF annidati.
Es.:
IF at<bt THEN
IF at<ct THEN
WRITELN(' Il maggiore è ',A);
 
ma non capisco l'ho appena provato ho messo questi tre nomi
Si Da Al

loro tempo impiegato
2.03
2.05
2.06
mi da come vincitore Si ma come mai? ci sto impazzendo XD
 
ah si lol capito XD che sbadato XD
beh raga scusatemi ma ho bisogno di una bella dormita ieri sono rimasto fino le 23.30 a fare programmi in pascal :incazz2: con sveglia alle 6...
 
if (at<bt) and (at<ct) then

and è una funzione logica che restituisce "vero" solo se tutte e due le condizioni sono vere.
Se la tua prof fa problemi puoi utilizzare IF annidati.
Es.:
IF at<bt THEN
IF at<ct THEN
WRITELN(' Il maggiore è ',A);

ho provato a farlo senza l' "AND" ma non funziona bene il prog va ma non va bene,come dovrei farlo senza l'"AND"?
 
ho provato a farlo senza l' "AND" ma non funziona bene il prog va ma non va bene,come dovrei farlo senza l'"AND"?

Non vorrei essere cattivo ma hai tutti gli elementi per smanettarci sopra. Il programma lo puoi fare in diversi modi con diverse istruzioni, sta a te trovare la soluzione più efficiente
 
Ultima modifica:

Discussioni simili