- Scrivere una funzione, che, passato come parametri una stringa s ed un numero x (compreso fra 0 e 255), restituisca il carattere numero x nella stringa s. Suggerimento: usa la procedure delete(s:string;index,count:byte) che rimuove dalla stringa s un numero count di caratteri a partire da index.
- Scrivere una procedure che, passati come parametri due valori interi, scambi il contenuto delle due variabili che li contengono.
- Scrivere una funzione, che, passata come parametro una stringa s, ritorni s scritta al contrario. Suggerimento: usare la funzione dell'esercizio 1 di questa pagina.
- Scrivere una funzione che, passato coma parametro un numero intero, restituisca una stringa contenente il numero immesso. Suggerimento: scrivi il numero su un file e leggilo come una stringa.
- Scrivere una procedura, che, passato come parametro un intero v, disegni una barra di caricamento piena al v%. Suggerimento: usa come carattere di vuoto '|' e come carattere di pieno '█' (scrivi #219 al posto del carattere).
- Trovare gli errori in questo programma:
01 Program esempio; 02 uses crt; 03 var x,y,q:real; 04 05 function Function(m,k:integer;v:real)=real; 06 begin 07 x:=v mod k; 08 y:=m div k; 09 v:=m div k; 10 y:=y+x; 11 x:=x+v; 12 end; 13 14 begin 15 clrscr 16 write('Inserisci 3 numeri: '); 17 readln(x,y,q); 18 Function(x,y,q); 19 write('x=',x,' y=',y,' q=',q); 20 readln; 21 end.
Le soluzioni a fondo pagina.
Soluzioni:
riga 05: non si può usare una parola riservata come nome di variabile, procedure, funzione o classe.
riga 05: nel dichiarare il tipo della funzione non si usa = bensì :
riga 07: l'operatore mod funziona solo tra interi
riga 15: manca ; dopo clrscr
riga 18: errore nella dichiarazione del nome della funzione
A cura di: Il Totem