JAVASCRIPT #2 Esercizi Facili, Intermedi, Difficili e Piccoli Progetti

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito del linguaggio di programmazione javascript.

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

ESERCIZI JAVASCRIPT (FACILI)

1) Perimetro del Triangolo Crea una pagina HTML con tre input per inserire i lati di un triangolo e un pulsante che attraverso uno script javascript permette di calcolare il perimetro. Impostare il valore del perimetro in un paragrafo.

2) Perimetro del Triangolo (con valore assoluto) Crea una pagina HTML con tre input per inserire i lati di un triangolo e un pulsante che attraverso uno script javascript permette di calcolare il perimetro. Utilizzare il valore assoluto per trasformare possibili valori negativi dei lati in valori positivi. Impostare il valore del perimetro in un paragrafo.

3) Perimetro del Triangolo (con controllo del valore) Crea una pagina HTML con tre input per inserire i lati di un triangolo e un pulsante che attraverso uno script javascript permette di calcolare il perimetro. Prima del calcolo del perimetro è necessario verificare se i numeri inseriti possono formare un triangolo. Nel caso in cui i valori inseriti non siano compatibili con dei valori dei lati di un triangolo riportare in uno specifico paragrafo: “I lati inseriti non possono rappresentare un triangolo” differentemente riportare il valore del perimetro. IMPORTANTE: Per poter rappresentare un triangolo la somma di ogni coppia di lati deve essere maggiore del terzo.

4) Convertitore di Temperatura: Crea una pagina HTML che permetta all’utente di inserire una temperatura in gradi Celsius e convertirla in Fahrenheit o Kelvin.
La pagina deve contenere un input per l’inserimento della temperatura in Celsius, e due pulsanti: “Converti in Fahrenheit” e “Converti in Kelvin”. Il risultato della conversione deve essere visualizzato in un paragrafo. FORMULE DI CONVERSIONE:
– Fahrenheit = (Celsius × 9/5) + 32
– Kelvin = Celsius + 273.15

5) Multiplo o non Multiplo: Crea una pagina HTML con un input per inserire un numero intero e un pulsante che attraverso javascript determini se il numero inserito è un multiplo di 2, 3, 4, o 5.
Per determinare se il numero inserito è un multiplo di un generico numero “N” si utilizzi l’operatore modulo (%N) e si valuti il resto.
Attenzione: se un numero è multiplo di più numeri (ad esempio 2 e 4) si riportino entrambe le diciture (suggerimento: si utilizzi in questi casi la concatenazione).

ESERCIZI JAVASCRIPT CON PIU’ FUNZIONI (FACILI )

6) Perimetro e Area del Rettangolo Crea una pagina HTML con due input per inserire i valori di base e di altezza di un rettangolo. La pagina deve inoltre prevedere due pulsanti che attraverso due differenti funzioni javascript permettono di calcolare perimetro e area del rettangolo. Tali valori sono riportati in due differenti paragrafi.

7) Semplici Operazioni Artimetriche: Crea una pagina HTML con due input per inserire numeri e una serie di pulsanti per eseguire le operazioni matematiche di base: addizione, sottrazione, moltiplicazione e divisione. Il risultato deve essere visualizzato in un paragrafo dedicato subito dopo l’operazione eseguita. IMPORTANTE: L’utente inserisce due numeri e seleziona l’operazione desiderata premendo il corrispondente pulsante.

ESERCIZI JAVASCRIPT (INTERMEDI)

8) Indovina il Numero Crea una pagina HTML con un input in cui l’utente può inserire un numero e un pulsante per verificare se il numero corrisponde a quello segreto scelto casualmente dal computer. Il risultato deve essere riportato in uno specifico paragrafo nella forma affermativa: “Complimenti! Hai indovinato il numero” o negativa con un suggerimento “Troppo alto!” o “Troppo basso!”, a seconda del valore inserito. Il numero segreto è generato casualmente tra 1 e 100 utilizzando il seguente codice:

var numeroSegreto = Math.floor(Math.random() * 100) + 1;

9) Generatore di Giudizio del Voto: Crea una pagina HTML con un input per inserire un voto numerico tra 0 e 10. In base al voto inserito, viene generato un giudizio testuale:
– tra 9.5 e 10: “Ottimo”
– tra 8.5 e 9.5: “Distinto”
– tra 7.5 e 8.5: “Buono”
– tra 6.5 e 7.5: “Discreto”
– tra 5.5 e 6.5: “Sufficiente”
– tra 0 e 5.5 “Insufficiente”
Se il voto non è valido (non compreso tra 0 e 10), viene mostrato un messaggio di errore.

10) Soluzione di una equazione di secondo grado: Crea una pagina HTML con tre differenti input dove inserire i coefficienti di una equazione di secondo grado e ne calcoli, se possibile, le soluzioni. Per il calcolo della radice quadrata si utilizzi la seguente funzione:

var radice = Math.sqrt(4);

ESERCIZI JAVASCRIPT (PROGETTI)

11) Cartolibreria Online: Realizzazione di un sistema di gestione delle vendite per una cartolibreria online. Il portale deve prevedere una lista di oggetti in vendita sotto forma di tabella. La tabella è caratterizzata da 4 differenti colonne: nella prima colonna è riportato il nome dell’oggetto, nella seconda il prezzo unitario, nella terza un input in cui il cliente inserisce il numero di elementi che vuole acquistare, nell’ultima una foto dell’oggetto.
Deve essere inoltre presente un pulsante “acquista” che, se premuto, riporta in uno specifico paragrafo il totale da pagare.

12) Calcolatrice Grafica: Crea una pagina HTML che simuli il comportamento di una calcolatrice.




C++ #6 Esercizi con le Funzioni

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito dei linguaggi di programmazione strutturata relativamente all’utilizzo delle funzioni.
Gli esercizi,  a complessità crescente, prevedono inizialmente la realizzazione di funzioni con passaggio dei parametri per valore ed in seguito per riferimento.

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

FUNZIONI CON PASSAGGIO PARAMETRI PER VALORE

1) Implementare una funzione che ricevuto in ingresso il valore del lato di un quadrato restituisca il valore del perimetro. Realizzare un programma che utilizzi tale funzione.

2) Implementare una funzione che ricevuti in ingresso i valori della base e dell’altezza di un rettangolo restituisca il valore del perimetro. Realizzare un programma che utilizzi tale funzione.

3) Implementare una funzione che ricevuto un numero in ingresso restituisca il valore assoluto di tale numero. Realizzare un programma che utilizzi tale funzione.

4) Implementare una funzione che ricevuti due numeri in ingresso restituisca il numero maggiore. Realizzare un programma che utilizzi tale funzione.

5) Implementare una funzione che ricevuti tre numeri in ingresso restituisca il numero maggiore. Realizzare un programma che utilizzi tale funzione.

6) Utilizzare la funzione implementata nell’esercizio 4 (i.e., massimo di due numeri) per determinare il massimo tra quattro numeri. (Consiglio: utilizzare la funzione per determinare il massimo tra il primo ed il secondo numero ed in seguito il massimo tra il terzo ed il quarto numero. Infine utilizzare un’ultima volta la funzione per determinare il massimo dei massimi).

7) Implementare una funzione che ricevuti in ingresso i valori della base e dell’altezza di un rettangolo restituisca il valore dell’area. Realizzare un programma che utilizzi tale funzione.

8) Implementare una funzione che ricevuto in ingresso un carattere restituisca il valore 0 se il carattere ricevuto è una consonante mentre restituisca 1 se il carattere ricevuto è una vocale. Realizzare un programma che utilizzi tale funzione.

9) Implementare una funzione che ricevuto un numero in ingresso restituisca il valore del fattoriale del numero ricevuto. Realizzare un programma che utilizzi tale funzione. Nota bene, il fattoriale di un numero N è N*(N-1)*(N-2)…*1

10) Implementare una funzione che ricevuti in ingresso due interi, calcoli il Minimo Comune Multiplo e restituisca tale valore. Realizzare un programma che utilizzi tale funzione.

11) Implementare una funzione che ricevuti in ingresso due interi, calcoli il Massimo Comune Divisore e restituisca tale valore. Realizzare un programma che utilizzi tale funzione.

12) Implementare una funzione che ricevuto in ingresso un numero intero, restituisca true se è un numero primo, altrimenti restituisca false. Realizzare un programma che utilizzi tale funzione.

13) Implementare una funzione che ricevuto in ingresso il valore dei cateti di un triangolo rettangolo, restituisca il valore dell’ipotenusa (il calcolo della radice quadrata può essere eseguito sfruttando la libreria matematica: math.h). Realizzare un programma che utilizzi tale funzione.

14) Implementare una funzione che ricevuto in ingresso le coordinate x e y di due punti (x1, y1, x2, y2), restituisca la distanza tra due punti (l’elevamento a potenza ed il calcolo della radice quadrata possono essere eseguiti sfruttando la libreria matematica: math.h). Realizzare un programma che utilizzi tale funzione.

FUNZIONI CON PASSAGGIO PARAMETRI PER RIFERIMENTO

15) Implementare una funzione che ricevute due variabili in ingresso permetta di scambiare il valore di tale variabili. Realizzare un programma che utilizzi tale funzione.

16) Implementare una funzione che ricevuto in ingresso il valore della base e dell’altezza di un rettangolo permetta di calcolare area e perimetro. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

17) Implementare una funzione che ricevuto in ingresso il valore dei parametri a, b, e c di una equazione di secondo grado ax2+bx+c=0 calcoli le soluzioni x1 e x2 della suddetta equazione . Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

18) Implementare una funzione che ricevuto in ingresso il valore dei parametri a, b, e c di una equazione di secondo grado ax2+bx+c=0 calcoli le soluzioni x1 e x2 della suddetta equazione. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione. La funzione deve restituire 1 nel caso di valori del delta maggiori o uguali a zero (soluzioni reali), mentre deve restituire 0 per valori del delta minori di zero (soluzioni non reali).

19) Implementare una funzione che ricevuti in ingresso il valore del numeratore e denominatore di due differenti frazioni, calcoli numeratore e denominatore della frazione ottenuta moltiplicando le due precedenti frazioni. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

20) Implementare una funzione che ricevuti in ingresso il valore del numeratore e denominatore di una frazione, riduce la frazione ai minimi termini. Realizzare un programma che utilizzi tale funzione.

21) Implementare una funzione che ricevuti in ingresso il valore del numeratore e denominatore di due differenti frazioni, calcoli numeratore e denominatore della frazione ottenuta sommando le due precedenti frazioni. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

FUNZIONI CON PASSAGGIO DI ARRAY

22) Implementare una funzione che ricevuto in ingresso un array e la sua dimensione inserisca al suo interno tutti zero. Realizzare un programma che utilizzi tale funzione.

23) Implementare due differenti funzioni. Una prima funzione che ricevuti in ingresso un array e la sua dimensione, inserisca al suo interno valori scelti dall’utente. Una seconda funzione che ricevuti in ingresso un array e la sua dimensione riporti i valori contenuti nell’array. Realizzare un programma che utilizzi tali funzioni di input e output.

24) Implementare una funzione che ricevuti in ingresso un array e la sua dimensione calcoli il valore massimo presente all’interno dell’array e lo restituisca. Realizzare un programma che utilizzi tale funzione.

25) Implementare una funzione che ricevuti in ingresso un array, la sua dimensione, calcoli quante volte è presente all’interno dell’array il valore zero e lo restituisca. Realizzare un programma che utilizzi tale funzione.

26) Implementare una funzione che ricevuti in ingresso un array, la sua dimensione, ed un interno N, calcoli quante volte il valore N è presente all’interno dell’array e lo restituisca. Realizzare un programma che utilizzi tale funzione.

ANALISI DI CODICE

1) Esercizi di analisi di codice (passaggio per valore e per riferimento)

2) Esercizi di analisi di codice (passaggio per valore)

3) Esercizi di analisi di codice (passaggio per riferimento)

4) Esercizi di analisi di codice (passaggio di array a funzioni)

5) Esercizi di analisi di codice (variabili locali e globali)

ATTIVITA COOPERATIVA

1) Analisi di Codice difficoltà Easy

2) Analisi di Codice difficoltà Medium

3) Analisi di Codice difficoltà Hard

ESERCIZI DI PREPARAZIONE ALLA VERIFICA
1) Implementare una funziona che ricevuti in ingresso tre valori reali che rappresentano i lati di un triangolo restituisca 1 se i valori dei lati formano un triangolo (somma di due lati > il terzo) altrimenti restituisca 0. Realizzare un programma che utilizzi tale funzione. EASY

2) Implementare una funziona che ricevuti in ingresso due numeri interi: base ed esponente (entrambi ≥ 0) calcoli e restituisca il valore della potenza utilizzando un ciclo. Realizzare un programma che utilizzi tale funzione. MEDIUM

3) Scrivi una funzione che, ricevuto in ingresso (per valore) un numero di secondi, calcoli quante ore, minuti e secondi esso rappresenta. I tre risultati devono essere restituiti tramite parametri passati per riferimento. Realizza poi un programma completo che utilizzi questa funzione. EASY

4) Scrivi una funzione che, ricevuti in ingresso tre numeri interi per riferimento (a, b, c), li riordini in ordine crescente modificando direttamente le variabili originali (a deve contenere il valore più piccolo, b quello intermedio e c il più grande. La funzione non deve restituire valori tramite return, ma aggiornare i parametri passati. Realizza poi un programma completo che utilizzi questa funzione e stampi i numeri prima e dopo l’ordinamento. MEDIUM

5) Scrivi un programma che prenda in input due array di numeri interi della stessa dimensione. Il programma deve confrontare i valori maggiori presenti nei due array.
Se il numero maggiore del primo array è maggiore del numero maggiore del secondo array, il programma deve restituire 1. Altrimenti, deve restituire 2. Realizza poi un programma completo che utilizzi questa funzione e stampi i numeri prima e dopo l’ordinamento. EASY




C++ #4 Esercizi con numeri random

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito dei linguaggi di programmazione strutturata relativamente all’utilizzo dei numeri randomici (numeri casuali).
Gli esercizi,  a complessità crescente, prevedono inizialmente la semplice generazione di numeri random ed infine applicazioni più complesse che richiedono l’impiego di cicli iterativi e blocchi condizionali. 

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

ESERCIZI CON NUMERI RANDOMICI

1) Realizzare un programma che simuli il lancio di un dado a sei facce e riporti il risultato.

2) Realizzare un programma che simuli il lancio di una moneta e riporti il risultato (testa o croce).

3) Realizzare un programma che simuli il lancio di un dado a 20 facce (utile per i giocatori di Dungeons and Dragons) e riporti il risultato.

4) Realizzare un programma che permetta all’utente di definire il numero di facce di un dado e ne simuli il lancio riportando il risultato.

ESERCIZI CON NUMERI RANDOMICI E BLOCCHI CONDIZIONALI

5) Realizzare un programma che simuli il lancio di due dadi a sei facce e dopo avere riportato il risultato indichi se è uscita una coppia di numeri uguali.

6) Realizzare un programma per simulare il gioco dei dadi. Prima del lancio, il giocatore deve indovinare se il numero risulti maggiore di 3 oppure minore di 4. La scelta tra le due opzioni può essere effettuata attraverso un semplice menu (ad esempio: “premi 0 per puntare su un numero minore di 4” / “premi 1 nel caso in cui il numero risulti maggiore di 3”). Il programma deve visualizzare il risultato del lancio del dado e indicare se l’utente ha indovinato la previsione oppure no.

7) Realizzare un programma per simulare il gioco dei dadi per due differenti giocatori. Prima del lancio del dado, ciascun giocatore deve scegliere un numero compreso tra 1 e 6. Il programma deve simulare il lancio di un dado generando un numero casuale tra 1 e 6 e visualizzare il risultato ottenuto. Al termine del lancio, il programma deve confrontare il numero estratto con le scelte dei due giocatori e indicare il vincitore:
– vince il giocatore che ha indovinato il numero esatto;
– nel caso in cui entrambi i giocatori indovinino, la partita termina in pareggio;
– se nessuno dei due indovina, il programma deve segnalare che non ci sono vincitori.

ESERCIZI CON NUMERI RANDOMICI E CICLI ITERATIVI

8) Realizzare un programma che simuli 5 lanci di un dato a sei facce e determini quante volte è uscito il numero 6.

9) Migliorare il programma di simulazione del gioco dei dadi sviluppato nell’esercizio 6. Introdurre un ciclo definito che permetta di giocare per 5 volte ed un contatore delle vittorie.

10) Migliorare il programma di simulazione del gioco dei dadi sviluppato nell’esercizio 7. Introdurre un ciclo definito che permetta di giocare per 5 volte ed un contatore delle vittorie. Al termine delle 5 partite il programma deve indicare quale dei due giocatori ha vinto.

11) Realizzare un programma che permetta di simulare l’estrazione del lotto attraverso la generazione di 5 numeri casuali nel range 1-90. Attenzione i numeri non possono essere ripetuti e devono risultare equiprobabili.

12) Realizzare un programma che generato un numero naturale nel range 0-10, permetta all’utente di indovinare il numero generato. Il programma deve terminare quando il numero viene indovinato (CICLO INDEFINITO).

12bis) Realizzare un programma che generato un numero naturale nel range 0-10, permetta all’utente di indovinare il numero generato. Il programma deve terminare quando il numero viene indovinato (CICLO INDEFINITO). Ad ogni iterazione, nel caso in cui l’utente non abbia individuato, deve essere fornito un feedback all’utilizzatore in cui si riporta se il numero generato risulta maggiore o inferiore al numero inserito.

13) Realizzare un programma che:
– Chieda all’utente il numero di lanci da effettuare con un dato a sei facce
– Generi tanti numeri randomici nel range 1-6 pari al numero di lanci indicato dall’utente. (CICLO DEFINITO)
– Ripete la procedura fino a che l’utente non inserisce un numero negativo (CICLO INDEFINITO).
E’ importante considerare che la soluzione di questo programma prevede l’utilizzo di due cicli innestati.

14) Realizzare un programma che generi numeri casuali compresi tra 1 e 6. L’estrazione deve proseguire finché il numero generato è pari; il programma termina quando viene estratto un numero dispari.

15a) Realizzare un programma che simuli il lancio di tre dadi (numeri casuali compresi tra 1 e 6). L’estrazione deve proseguire fino a che la somma dei numeri generati non diventa maggiore di 10. (Per somme maggiori di 10 il ciclo deve terminare)

15b) Realizzare un programma che simuli il lancio di tre dadi, generando per ciascun dado un numero casuale compreso tra 1 e 6. Dopo ogni lancio, il programma deve verificare se almeno uno dei tre dadi mostra il valore 6: in tal caso l’utente deve effettuare un nuovo lancio dei tre dadi. Il gioco termina quando nessuno dei tre dadi assume il valore 6.

15c) Realizzare un programma che simuli il lancio di tre dadi, generando per ciascun dado un numero casuale compreso tra 1 e 6. Dopo ogni lancio, il programma deve verificare se a tutti e tre i numeri hanno un valore dispari. In tal caso l’utente deve effettuare un nuovo lancio dei tre dadi. Il gioco termina quando almeno uno dei numeri estratti non è dispari.

15d) Realizzare un programma che simuli il lancio di tre dadi, generando per ciascun dado un numero casuale compreso tra 1 e 6. Dopo ogni lancio, il programma deve verificare se almeno due dei tre i numeri hanno un valore maggiore di 3. In tal caso l’utente deve effettuare un nuovo lancio dei tre dadi.

SEMPLICI PROGETTI:
16) Scrivere un programma in C++ che simuli la riproduzione di una playlist musicale. La playlist è composta da 5 brani.
1) Blinding Lights – The Weeknd
2) As It Was – Harry Styles
3) Bad Guy – Billie Eilish
4) Flowers – Miley Cyrus
5) Levitating – Dua Lipa
L’utente sceglie quante canzoni vuole riprodurre in sequenza. Il programma genera tanti numeri casuali quante sono le canzoni da riprodurre e, per ogni numero generato, indica la canzone corrispondente.

17a) Realizzare un programma che simuli una partita a sette e mezzo. L’obiettivo del gioco è avvicinarsi il più possibile a sette e mezzo attraverso l’estrazione di numeri casuali. Ad ogni turno di gioco, il giocatore può scegliere se estrarre un numero oppure no. Ogni nuovo numero estratto si somma alla somma dei numeri precedentemente estratti. Il programma si deve fermare quando l’utente sceglie di smettere di giocare oppure quando supera il valore sette e mezzo. Nel caso in cui l’utente superi tale valore si riporti la scritta: “Hai Sballato”, differentemente nel caso in cui l’utente raggiunga il valore sette e mezzo si riporti la scritta “Hai vinto”. Il giocatore inizia sempre con un valore del banco pari a 0.5. In questa versione del gioco è possibile generare solo valori interi.

17b) Realizzare un programma che simuli una partita a due giocatori a sette e mezzo. L’obiettivo del gioco è avvicinarsi il più possibile a sette e mezzo attraverso l’estrazione di carte (nel nostro caso numeri) casuali. Il gioco prevede l’utilizzo di carte da gioco italiane le quali prevedono 4 differenti semi (bastoni, spade, coppe e denari) e 10 differenti tipologie di carte per ogni seme (asso, due, tre, quattro, cinque, sei, sette, fante, cavallo e re). Mentre le figure (fante, cavallo e re) valgono 0.5 le altre carte hanno valore pari al valore del simbolo rappresentato (un asso vale uno, un due vale due, etc…)
Ad ogni turno di gioco, il giocatore può scegliere se estrarre un numero oppure no. Ogni nuovo numero si somma alla somma dei numeri precedentemente estratti. Nel caso in cui l’utente superi il valore 7.5 l’utente ha automaticamente perso.
Il giocatore1 è sempre il primo ad iniziare la partita e può continuare ad estrarre carte fino a che non desidera fermarsi oppure supera il valore 7.5. Terminato il turno del giocatore1 inizia a giocare il giocatore2 che ugualmente può continuare ad estrarre carte fino a che non desidera fermarsi oppure supera il valore 7.5.
Terminato il turno del giocatore 2 il programma deve indicare chi ha vinto e chi ha perso.

17c) Si utilizzi un ciclo indefinito per permettere ai due giocatori dell’esercizio 16b di effettuare più partite in sequenza. Nel dettaglio, implementare una sfida alla meglio delle 5 partite, in questo caso vince la sfida il giocatore che vince per primo a 3 partite.




C++ #3 Esercizi con cicli iterativi e blocchi condizionali

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito dei linguaggi di programmazione strutturata relativamente all’utilizzo di cicli iterativi e blocchi condizionali.
Gli esercizi,  a complessità crescente, devono essere risolti utilizzando cicli iterativi (definiti e indefiniti) . L’utente può scegliere in modo autonomo se utilizzare i costrutti while, do-while, for e se in caso impiegare blocchi condizionali semplici, nidificati, o se sfruttare la logica booleana.

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

ESERCIZI CON CICLI ITERATIVI E BLOCCHI CONDIZIONALI

1) Realizzare un programma che permetta all’utente di inserire 10 numeri naturali e determini quanti numeri positivi e negativi siano stati inseriti.

2) Realizzare un programma che permetta all’utente di inserire N numeri naturali e determini quanti numeri positivi e negativi siano stati inseriti. Il programma deve terminare quando l’utente inserisce un numero uguale a 0.

3) Realizzare un programma che permetta all’utente di inserire 10 numeri naturali e determini quanti numeri pari e dispari siano stati inseriti. Utilizzare l’operatore modulo per determinare se un numero è pari oppure dispari.

4) Realizzare un programma che permetta all’utente di inserire un numero arbitrario di valutazioni pari ad N e ne calcoli la media.

4bis) Realizzare un programma che permetta all’utente di inserire un numero arbitrario di valutazioni pari ad N e ne calcoli la media. Se la media risulta maggiore o uguale a 6 il programma deve indicare che lo studente è “promosso”, diversamente deve indicare che lo studente è “bocciato”.

4tris) Realizzare un programma che permetta all’utente di inserire un numero arbitrario di valutazioni pari ad N e ne calcoli la media. A partire dal valore della media si riporti il relativo giudizio.

  • Media < 5.5 Insufficiente
  • 5.5 <= Media < 6.5 Sufficiente
  • 6.5 <= Media < 7.5 Discreto
  • 7.5 <= Media < 8.5 Buono
  • 8.5 <= Media < 9.5 Distinto
  • Media >= 9.5 Ottimo

5) Realizzare un programma che permetta all’utente di inserire 5 voti e ne determini la media, il valore massimo ed il valore minimo.

4bis) Realizzare un programma che permetta all’utente di inserire 5 voti e ne determini la media, il valore massimo ed il valore minimo. Inserire inoltre un controllo per fare in modo che nel caso in cui sia inserito un voto non valido (maggiore di 10 o minore di 0) il programma richieda di inserire nuovamente il dato.

5) Realizzare un programma che permetta all’utente di inserire 5 voti e per ogni voto indichi se questo risulta sufficiente oppure insufficiente.

6 NEW) Realizzare un programma che permetta all’utente di inserire una sequenza di numeri interi, terminata dall’inserimento del numero zero. Il programma dovrebbe quindi determinare se la sequenza inserita è crescente oppure no. Il programma dovrebbe quindi stampare un messaggio appropriato che indichi il tipo di sequenza inserita.

6bis) Realizzare un programma che permetta all’utente di inserire una sequenza di numeri interi, terminata dall’inserimento del numero zero. Il programma dovrebbe quindi determinare se la sequenza inserita è decrescente oppure no. Il programma dovrebbe quindi stampare un messaggio appropriato che indichi il tipo di sequenza inserita.

7 NEW) Realizzare un programma che permetta all’utente di calcolare il fattoriale di un numero inserito dall’utente (nel caso di un numero negativo viene stampato un messaggio di errore perché il fattoriale non è definito per numeri negativi.
A seguire sono riportati alcuni esempi relativi al calcolo del fattoriale: Il fattoriale di 5 è parti a 120 e si calcola in questo modo 5*4*3*2*1. Il fattoriale di 3 è parti a 6 e si calcola in questo modo 3*2*1. Il fattoriale di 0 è uguale ad 1

ANALISI DI CODICE:

1) Esercizi di analisi di codice




C++ #2 Esercizi con cicli iterativi

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito dei linguaggi di programmazione strutturata relativamente all’utilizzo dei blocchi condizionali.
Gli esercizi,  a complessità crescente, possono essere risolti utilizzando cicli iterativi definiti e indefiniti. L’utente può scegliere in modo autonomo se utilizzare i costrutti while, do-while e for.

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

ESERCIZI CON ITERAZIONE DEFINITA

1) Realizzare un programma che permetta di scrivere a monitor i primi 100 numeri naturali.

2) Realizzare un programma che, definito un numero N inserito dall’utente, permetta di scrivere a monitor i numeri naturali compresi tra 1 ed N.

3) Realizzare un programma che permetta di scrivere a monitor tutti i numeri pari compresi tra 0 e 100.

4) Realizzare un programma che permetta di scrivere a monitor i primi 100 numeri naturali in ordine inverso (dal 100 al numero 1)

5) Realizzare un programma che permetta di scrivere a monitor i naturali dispari compresi tra 50 e 100

6) Realizzare un programma che permetta all’utente di inserire 10 differenti numeri e ne calcoli la somma.

7) Realizzare un programma che permetta all’utente di inserire 10 differenti numeri e ne calcoli la media.

8) Realizzare un programma che, definito un numero N inserito dall’utente, permetta di scrivere a monitor i primi 10 multipli del numero inserito (e.g., N, 2N, 3N, …, 10N).

9) Realizzare un programma che permetta di scrivere a monitor i primi N numeri della successione di Fibonacci. Nel dettaglio, i primi due numeri della successione i Fibonacci sono 0 e 1, i successivi sono dati dalla somma dei due numeri precedenti. Ad esempio: 0, 1, 1, 2, 3, 5, 8, 13 …

ESERCIZI CON ITERAZIONE INDEFINITA

10) Realizzare un programma che permetta all’utente di inserire una serie indefinita di numeri interi. Il programma deve fermarsi quando la somma dei numeri inseriti supera 100.

11) Realizzare un programma che permetta all’utente di inserire una serie indefinita di numeri interi e ne calcoli la media Il programma deve fermarsi quando l’utente inserisce uno zero.

12) La popolazione di rane in uno stagno raddoppia ogni giorno. Definita la popolazione iniziale e la popolazione finale da raggiugnere, determinare il numero di giorni necessari per raggiungere la popolazione obiettivo.

12bis) La popolazione di rane in uno stagno raddoppia ogni giorno. Ogni tre giorni a causa di una epidemia generica la popolazione di rane diminuisce di un terzo. Definita la popolazione iniziale e la popolazione finale da raggiugnere, determinare il numero di giorni necessari per raggiungere la popolazione obiettivo.