Problema - Modello - Esecutore
Prova finale - soluzione
1° quesito
Il programma calcola, per approssimazioni successive, la radice quadrata di un numero.
A … limite_sinistro
B … limite_destro
C … radicando
D … valore_centrale
E … radice_approssimata
2° quesito
PROGRAM verbi_finale;
VAR verbo,radice,risposta:STRING;
tempo : INTEGER;
PROCEDURE t_presente;
BEGIN
WRITE('scrivi un verbo della prima coniugazione ... ');
READLN(verbo);
radice := COPY(verbo,1,LENGTH(verbo)-3);
WRITELN('io ',radice,'o');
WRITELN('tu ',radice,'i');
WRITELN('egli ',radice,'a');
WRITELN('noi ',radice,'iamo');
WRITELN('voi ',radice,'ate');
WRITELN('essi ',radice,'ano')
END;
PROCEDURE t_imperfetto;
BEGIN
WRITE('scrivi un verbo della prima coniugazione ... ');
READLN(verbo);
radice := COPY(verbo,1,LENGTH(verbo)-3);
WRITELN('io ',radice,'avo');
WRITELN('tu ',radice,'avi');
WRITELN('egli ',radice,'ava');
WRITELN('noi ',radice,'avamo');
WRITELN('voi ',radice,'avate');
WRITELN('essi ',radice,'avano')
END;
PROCEDURE t_p_remoto;
BEGIN
WRITE('scrivi un verbo della prima coniugazione ... ');
READLN(verbo);
radice := COPY(verbo,1,LENGTH(verbo)-3);
WRITELN('io ',radice,'ai');
WRITELN('tu ',radice,'asti');
WRITELN('egli ',radice,'•');
WRITELN('noi ',radice,'ammo');
WRITELN('voi ',radice,'aste');
WRITELN('essi ',radice,'arono')
END;
PROCEDURE t_futuro;
BEGIN
WRITE('scrivi un verbo della prima coniugazione ... ');
READLN(verbo);
radice := COPY(verbo,1,LENGTH(verbo)-3);
WRITELN('io ',radice,'er•');
WRITELN('tu ',radice,'erai');
WRITELN('egli ',radice,'er...');
WRITELN('noi ',radice,'eremo');
WRITELN('voi ',radice,'erete');
WRITELN('essi ',radice,'eranno')
END;
PROCEDURE t_condizionale;
BEGIN
WRITE('scrivi un verbo della prima coniugazione ... ');
READLN(verbo);
radice := COPY(verbo,1,LENGTH(verbo)-3);
WRITELN('io ',radice,'erei');
WRITELN('tu ',radice,'eresti');
WRITELN('egli ',radice,'erebbe');
WRITELN('noi ',radice,'eremmo');
WRITELN('voi ',radice,'ereste');
WRITELN('essi ',radice,'erebbero')
END;
BEGIN
REPEAT
WRITELN('scrivi 1 se vuoi coniugare
WRITELN('scrivi 2 se vuoi coniugare
WRITELN('scrivi 3 se vuoi coniugare
WRITELN('scrivi 4 se vuoi coniugare
WRITELN('scrivi 5 se vuoi coniugare
READLN(tempo);
CASE tempo OF
1: t_presente;
2: t_imperfetto;
3: t_futuro;
4: t_condizionale;
5: t_p_remoto;
END;
WRITE('Vuoi coniugare un altro verbo?
READLN(risposta);
UNTIL risposta = 'n'
END.
il
il
il
il
il
verbo
verbo
verbo
verbo
verbo
... ');
al presente ');
all''imperfetto');
al futuro');
al condizionale');
al passato remoto');
3° quesito
4° quesito
5° quesito