Oppure

Loading
  • 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