Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida Pascal - Esercizi sui capitoli 10 e 11

Guida Pascal

Capitolo 34° - Esercizi sui capitoli 10 e 11

<< Precedente Prossimo >>
  • Scrivere un programma che memorizzi in un array bidimensionale (a due indici) 4 voti per 10 materie: matematica, italiano, inglese, scienze, storia, ginnastica, fisica, informatica, latino, greco. Successivamente eseguire la media di ogni materia.
  • Scrivere un programma che memorizzi 100 numeri casuali compresi fra 0 e 255, creati dal programma e che esegua la somma di tutti. Suggerimento: per sapere come produrre un numero casuale, vedere l'appendice sui numeri casuali.
  • Scrivere un programma che memorizzi 20 nomi e successivamente chieda all'utente di immettere un numero X e visualizzi il nome numero X (con 1<X<20).
  • Trovare gli errori nel seguente codice sorgente (i numeri indicano le righe):
    01 Program Errore;
    02 uses crt;
    03 var b[1..30]:array of integer;
    04     c:string;
    05
    06 begin
    07     clrscr;
    08     write('Immettere un numero: ');
    09     readln(b[1]);
    10     for b[2]:=b[1] to b[1]+28
    11       b[b[2]-b[1]+3]:=b[2];
    12     write('Inserire una stringa:')
    13     readln(c);
    14     b[31]:=c;
    15     for i:=30 downto 1 do
    16       write(b[i]);
    17     readln
    18 end.
    

    Le soluzioni a fondo pagina.















Le soluzioni:
riga 03: gli array s dichiarano come <var>:array[<min>..<max>] of <tipo>, e non come è scritto nel programma;
riga 10: il ciclo for porta a considerare una variabile b[31], che è oltre i limiti dell'array;
riga 12: manca ; dopo write;
riga 14: indice oltre i limiti dell'array (da 1 a 30)
riga 14: errore di cast, conversione da stringa a intero.
<< Precedente Prossimo >>
A proposito dell'autore

Programmatore e analista .NET 2005/2008/2010 (in particolare C# e VB.NET), anche nell'implementazione Mono per Linux. Conoscenze approfondite di Pascal, PHP, XML, HTML 4.01/5, CSS 2.1/3, Javascript (e jQuery). Conoscenze buone di C, LUA, GML, Ruby, XNA, AJAX e Assembly 68000. Competenze basilari di C++, SQL, Hlsl, Java.