# Informatica 2

### Hello World

Il primo programma che scrive a console "Hello World!":

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/HelloWorld?v=1>" %}

Programma con dichiarazione e assegnamento di un valore a variabile:

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/HelloWorld2?v=1>" %}

Programma con richiesta all'utente di inserimento di un numero:

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/HelloWorld3?v=1>" %}

### Calcola media

Scrivi un programma che calcola la media dei voti di uno studente chiedendo i voti uno alla volta e calcolando il valore della media quando viene inserito il valore 0 come voto.

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/CalcolaMedie?v=1>" %}

### Calcola investimento

Scrivi un programma che calcola e mostra il valore di un investimento per ognuno dei prossimi cinque anni. Ogni anno, l'interesse è aggiunto al valore. L'interesse è calcolato moltiplicando il valore corrente per un tasso fisso di interesse. Assumiamo che il valore iniziale e il tasso d'interesse siano inseriti dall'utente quando il programma è in esecuzione.

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/calcolointeressic?v=1>" %}

### Il problema 3N + 1

Facciamo un altro esempio: un problema matematico astratto che è uno dei miei problemi di programmazione favoriti. Questa volta, iniziamo con delle specifiche complete del compito da svolgere:

> Dato un intero positivo, N, definiamo la sequenza '3N+1' iniziando da N come segue: se N è un numero pari, allora dividiamo N per 2; mentre se N è dispari, allora moltiplichiamo N per 3 e aggiungiamo 1. Continuiamo a generare numeri in questo modo finché N non diventa 1. Ad esempio partendo da 3 che è un numero dispari, moltiplichiamolo per 3 e aggiungiamo 1, otteniamo N = 3 \* 3 + 1 = 10. Quindi, poiché N è pari, dividiamo per 2, otteniamo N = 10/2 = 5. Continuiamo in questo modo, fermandoci quando raggiungiamo 1, La sequenza completa è: 3, 10, 5, 16, 8, 4, 2, 1.&#x20;
>
> Scrivi un programma che legga un numero intero positivo in input e scriva in output la sequenza 3N + 1 partendo da quell'intero. Il programma dovrebbe anche contare e mostrare ad output il numero di termini della sequenza.

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/ThreeN1>" %}

### Genera numeri random (casuali)

[rand() Function in C Language](https://linuxhint.com/rand-function-in-c-language/), articolo su utilizzo dalla funzione `rand()` e `srand()` in C/C++ per la generazione di numeri casuali.

**Esercizio:** utilizza la funzione `rand()` per scrivere un programma che generi  10 numeri casuali ognuno nel range 1-100, estremi inclusi.

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/GeneraNumeriRandom?v=1>" %}

### Indovina un numero

Create un programma in cui un utente deve indovinare un numero casuale generato dal programma che è compreso tra 1 e 100, estremi inclusi. L'utente ha solo 6 tentativi per indovinare il numero; il programma dopo ogni tentativo, se il numero tentato non è quello da indovinare , indicherà se il numero da indovinare è maggiore o minore dell'ultimo numero immesso.

*Esempio di esecuzione:*&#x20;

*Il programma genera il numero casuale 77.*&#x20;

*Primo tentativo: l'utente prova con il numero 4, allora il programma dice che il numero da indovinare è maggiore di 4.*

*Secondo tentativo: l'utente prova con il numero 70, allora il programma dice che il numero da indovinare è maggiore di 70.*

*Terzo tentativo: l'utente prova con il numero 80, allora il programma dice che il numero da indovinare è minore di 80.*

*Quarto tentativo: l'utente prova con il numero 75, allora il programma dice che il numero da indovinare è maggiore di 75.*

*Quinto tentativo: l'utente prova con il numero 77, allora il programma dice OK hai indovinato.*

Se invece l'utente né al quinto tentativo né al sesto tentativo avesse indovinato il numero, il programma dopo il sesto tentativo avrebbe detto all'utente che il gioco è terminato, l'utente ha perso e che il numero da indovinare era 77.

### Converti un numero intero in binario (base 2)

Scrivere un programma che dato in input un numero intero vi mostri in output il numero convertito in binario: es dato in input il valore 37  avremo come output 100101, cioè il numero i base 2.

{% embed url="<https://replit.com/@MASSIMOCAPPELLA/ConvertDecimalNumberInBinary?v=1>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://checksound.gitbook.io/informatica_2/informatica-2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
