2.3 7.8 2.3 7.8
program ESAME2; procedure RIGHE; {la procedura RIGHE costruisce un file su disco di nome 'righe.text' } {che contiene tante righe con esattamentre un solo carattere } {quante sono le righe del file su disco di nome 'rows.text'} var c: char; F, G: text; begin reset(F, 'rows.text'); rewrite(G, 'righe.text'); while not EOF(F) do begin while not EOLN(F) do read(F, c); readln(F); writeln(G, ' '); end; close(F); close(G); end; begin RIGHE; end.
program ESAME3; const MAX = 100; type POLI = array[0..MAX] of integer; {gli elementi del tipo POLI sono i polinomi in una variabile di grado massimo MAX } {con coefficienti interi} {si assume che i valori di tutti i coefficenti devono essere fissati} {quindi 3 e rappresentato dall 'array dove il primo coefficente e'} {uguale a 3 e tutti gli altri sono uguali a 0} var A, B, C: POLI; I: integer; procedure STAMPA (P: POLI); var i: integer; begin for i := MAX downto 2 do begin if P[i] > 0 then write('+', P[i] : 2, 'X^', i : 1, ' '); if P[i] < 0 then write(P[i] : 2, 'X^', i : 1, ' '); end; if P[1] > 0 then write('+', P[1] : 2, 'X '); if P[1] < 0 then write(P[1] : 2, 'X '); if P[0] > 0 then write('+', P[0] : 2, ' '); if P[0] < 0 then write(P[0] : 2, ' '); writeln; end; procedure SOMMA (P1, P2: POLI; var P3: POLI); var i: integer; begin for i := MAX downto 0 do P3[i] := P1[i] + P2[i]; end; procedure DERIVA (P1: POLI; var P2: POLI); var i: integer; begin for i := 0 to MAX - 1 do P2[i] := P1[i + 1] * (i + 1); P2[MAX] := 0; end; begin {assegnare ad A il polinomio 3 X3 + 7x -8} for I := 0 to MAX do A[i] := 0; A[3] := 3; A[1] := 7; A[0] := -8; {assegnare a B il polinomio 2 X2 - 7x + 18} for I := 0 to MAX do B[i] := 0; B[2] := 2; B[1] := -7; B[0] := +18; {stampare A e B} STAMPA(A); STAMPA(B); {stampare la somma di A e B} SOMMA(A, B, C); STAMPA(C); {stampare la derivata di A} DERIVA(A, C); STAMPA(C); end.