welcome: please sign in
location: attachment:20091209-EsercitazioneLAB-Array.txt of InformaticaCDLmatematica

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 dell’unico 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 dell’aereo. Inizializzate tutti gli elementi dell’array a 0, per indicare che all’inizio 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 nell’altro 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.