Lezione laboratorio del 6/11/2023 (cicli)
Esercizi
Esercizio 1
Scrivere un programma che prende in input un numero intero n e visualizza la seguente figura realizzata con gli asterischi:
*
**
***
****
***
**
*
Il picco centrale deve avere n asterischi (qui in figura si suppone l'utente abbia inserito il numero 4). Si scrivano due versioni del programma, una che usa l'operazione di ripetizione di stringhe, ed una che non usa l'operazione di ripetizione di stringhe (quest'ultima richiede dei cicli annidati).
Suggerimento
1: convene impostare il programma in modo che ci sia una prima parte che visualizza la prima metà delle righe (quelle dove il numero di asterischi aumentano) e una seconda parte con la seconda metà delle righe (dove gli asterischi dimunuiscono). Per la prima parte si può fare riferimento alla lezione del 23 ottobre.
Suggerimento 2: potrebbe essere utile fare un ciclo in cui il contatore decresce invece di crescere. In questo caso, utilizzare range con tre argomenti, mettendo l'ultimo (l'incremento) uguale a -1.
Esercizio 2
Scrivere un programma che prende in input una stringa e la stampa sostituendo tutti i caratteri non spazio con asterischi. Ad esempio, con input
Ciao a tutti
l'output sarà
**** * *****
Esercizio 3
Scrivere un programma che prende in input un numero intero n, e stampa la tavola pitagorica per i numeri da 1 fino ad n. Ad esempio, se l'utente immette 4, l'output sarà:
1 2 3 4
1 1 2 3 4
2 2 4 6 8
3 3 6 9 12
4 4 8 12 16
Cercate di far sì che le colonne siano correttamente allineate.
Suggerimento: potrebbe essere utile provare prima a generare la tavola pitagorica senza le intestazioni (prima riga e prima colonna), e poi aggiungerle in un secondo momento.
Esercizio 4
Scrivere un programma che prende in input un numero intero n, e visualizza una scacchiera di dimensione n*n, come quella qui sotto di dimensione 8*8.
Esercizio 5
Scrivere un programma che presenta una finestra grafica come la seguente. Ogni volta che si preme il pulsante del mouse sulla finestra (tranne che nel pulsante Esci in basso) il programma traccia una linea dal punto precedente a quello su cui si è cliccato. Quando si clicca sul pulsante Esci il programma termina.
Esercizio 6
Scrivere un programma che prende in input un numero intero positivo n e determina se n è primo.
Suggerimento: per determinare se n è primo, sebbene non sia molto efficiente, basta controllare che non è divisibile per nessuno dei numeri da 2 ad n-1.
Esercizio 7
Scrivere un programma che prende in input un numero intero positivo n e stampa tutti i numeri primi da 2 fino ad n.
Suggerimento: è sufficiente aggiungere un ciclo esterno alla soluzione dell'esercizio 5.
Esercizio 8
Scrivete un programma che prende in input un numero intero positivo n e stampa
Fn, ovvero l'n-esimo numero di Fibonacci. La successione di Fibonacci si
ottiene partendo dai numeri 0 e 1, ed ogni termine successivo è la somma
dei due che lo precedono. Esempio: 0, 1, 1, 2, 3, 5, 8, ... Fn è il n-esimo numero in questa successione (iniziando a contare da 0).