Programmazione per TWM: Esercitazione di laboratorio #4 (29/01)

Prima di affrontare gli esercizi di questa esercitazione, risolvete quelli delle esercitazioni precedenti: in quelli sono usati e illustrati concetti che è importante che conosciate, mentre in questi si usano tecniche di programmazione che rivedremo nelle prossime lezioni.
L'obiettivo di questa esercitazione è familiarizzare con i concetti seguenti, illustrati nel capitolo 3 del libro:

Ove non altrimenti indicato, rispondete alle domande prima ragionando su carta e poi provando a editare, compilare ed eseguire. Gli esercizi etichettati con l'asterisco (*) sono più difficili: affrontateli dopo aver risolto gli altri.

Esercizio 1

Obiettivo: Familiarizzare con lo sviluppo incrementale dei programmi.

Attività:

  1. Scrivete il vostro primo programma seguendo il metodo dello sviluppo incrementale: sviluppate varie versioni sempre più dettagliate. Il programma deve visualizzare un messaggio che dica se un numero letto da tastiera durante l'esecuzione è primo o no (un numero primo è divisibile solo per 1 e per sé stesso). Ora che conoscete il processo di sviluppo incrementale di un programma, usatelo ogni volta che dovete implementarne uno! Nota: Le prime versioni, principalmente in linguaggio naturale, sono un'ottima fonte di commenti per i vostri programmi...
  2. Scrivete un programma che legge in input (EasyIn.readDouble()) 2 valori double. Poi legge un valore int fra 1 e 2 e visualizza il valore corrispondente (ossia, il primo o il secondo).
  3. Scrivete un programma che legge in input (EasyIn.readDouble()) 10 valori double. Poi legge un valore int fra 1 e 10 e visualizza il valore corrispondente.
  4. (*)Scrivete un programma che legge in input (EasyIn.readDouble()) 100 valori double. Poi legge un valore int fra 1 e 100 e visualizza il valore corrispondente. Nota: se non avete fretta, nella prossima lezione vedremo come farlo con 10 righe di codice...
  5. (*)Scrivete un programma che scambia il valore di due variabili. Suggerimento: usate una terza variabile ausiliaria.
  6. Scrivete un programma che calcola la somma dei primi n numeri (ossia dei numeri fra 0 e n), con n letto in input durante l'esecuzione.
  7. Scrivete un programma che calcola il prodotto dei primi n numeri, con n letto in input durante l'esecuzione (ciò significa calcolare il fattoriale di n).

Esercizio 2

Obiettivo: Familiarizzare con i cicli annidati.

Attività:

  1. Scrivete un programma che visualizza i primi n numeri primi, con n letto in input durante l'esecuzione.
  2. Scrivete un programma che visualizza la somma dei primi n numeri primi, con n letto in input durante l'esecuzione.
  3. Scrivete un programma che visualizza il prodotto dei primi n numeri primi, con n letto in input durante l'esecuzione.
  4. Scrivete 6 programmi che visualizzano i seguenti triangoli di "+" (un programma per ogni triangolo). Vincoli: le uniche istruzioni di visualizzazione permesse sono System.out.print('+'), System.out.print(' ') e System.out.println(). Ognuna di esse può apparire al massimo una volta in ognuno dei 6 programmi.
    +         +++++     +++++         +     ++             +
    ++        ++++       ++++        ++     ++++           +++
    +++       +++         +++       +++     ++++++         +++++
    ++++      ++           ++      ++++     ++++++++       +++++++
    +++++     +             +     +++++     ++++++++++
    ++++++                       ++++++
    
  5. Eseguite il programma dell'esercizio 1.6 dando in input -5...

Valid XHTML 1.1! Stefano Mizzaro Last modified: Sat Jul 10 11:31:53 ora legale Europa occidentale 2004