Attachment '20091209-EsercitazioneLAB-Array.txt'
Download 1 ===
2 Esercizio 1
3 ---
4 Progettare due metodi statici in un programma Java, siano i loro nomi "raddoppiaArrayIterativo" e "raddoppiaArrayRicorsivo". Entrambi devono ricevere due array di interi, siano "a" e "b". I metodi presuppone che i due array siano stati gia' creati nel main, e che "a"
5 sia stato anche
6 inizializzato attraverso una lettura da input. Entrambi i metodi devono semplicemente riempire "b" con gli elementi di "a" moltiplicati per 2; come suggeriscono i nomi, il primo metodo deve essere iterativo, mentre il secondo ricorsivo.
7
8 *** ESEMPIO: se l'arrai "a" fosse
9 3 5 6 3 2 6 4 3 5 2
10 allora l'array "b" dovrebbe essere creato come
11 6 10 12 6 4 12 8 6 10 4.
12
13
14 ===
15 Esercizio 2
16 ---
17 Scrivere un programma Java che preveda un metodo statico chiamato "minimiLocali". Questo metodo deve ricevere un array di interi ed uno di booleani. Siano questi array chiamati "v" e "minimo", e siano le loro lunghezze "v.length" e "minimo.length". Il metodo presuppone che i due array siano stati gia' creati e inizializzati nel main; "v" deve essere letto da input, "minimo", invece, deve essere inizializzato con elementi tutti pari a "false". Gli array devono essere tali che si abbia "v.length==minimo.length".
18 Il metodo "minimiLocali" deve semplicemente far si' che, dopo la sua invocazione, l'array "minimo"
19 contenga "true" in una posizione "i" se e solo se nella posizione "i"
20 dell'array "v" e' presente
21 un minimo locale, cioe' un numero minore sia del suo precedente che del suo successivo.
22
23 *** ESEMPIO: se l'array "v" fosse
24
25 ---------------
26 v |1|3|6|2|6|7|1|8|
27 ---------------
28 0 1 2 3 4 5 6 7
29
30 allora l'array "minimo" dovrebbe contenere "true" solo nelle posizioni "3"
31 e "6", e "false" in
32 tutte le altre: infatti 2 e 1 sono minimi locali, e si trovano rispettivamente nelle posizioni "3" e "6".
33
34 ===
35 Esercizio 3
36 ---
37 Una piccola compagnia aerea ha appena acquistato un computer da dedicare al sistema di prenotazione automatica dei voli. La compagnia vi ha chiesto di programmare il sistema.
38 Il vostro compito è
39 scrivere un programma che assegna i posti di ogni volo dellunico aereo posseduto dalla compagnia (10 posti in tutto).
40 Il vostro programma dovrebbe visualizzare questo menù di opzioni:
41
42 Digitare 1 per fumatori o 2 per non fumatori:
43
44 Se la persona digita 1, il programma le assegna un posto nel reparto fumatori (posti 1-5).
45 Se invece digita 2, il posto si troverà nel reparto non fumatori (posti 6-10). Il programma deve visualizzare una carta di imbarco che indica il numero del posto della persona e se si trova nel reparto non fumatori o fumatori, del tipo
46
47 Reparto fumatori, posto 3
48
49 Utilizzate un array per rappresentare i posti dellaereo. Inizializzate tutti gli elementi dellarray a 0, per indicare che allinizio tutti i posti sono vuoti. Man mano che vengono assegnati, impostate i posti occupati a 1. Il programma, ovviamente, non deve riassegnare i posti già occupati.
50 Se il reparto richiesto e' completamente occupato, il programma dovra'
51 segnalare:
52
53 Reparto completo. Il prossimo volo parte tra 3 ore.
54
55 *** POSSIBILE MODIFICA: Quando il reparto richiesto si è riempito, chiedere al passeggero se è accettabile andare nell'altro reparto. Se il passeggero accetta, gli si assegna un posto nellaltro reparto (ammesso che ci sia un posto disponibile). Se il passeggero rifiuta, o anche se accetta ma anche l'altro reparto è pieno, visualizzate
56
57 Il prossimo volo parte tra 3 ore.
Attached Files
You are not allowed to attach a file to this page.