Variabili e tipi di dati

ScooterCPU var Livello 3

Scrivi il programma ScooterCPU nel quale devono essere dichiarate delle variabili utili per memorizzare i seguenti valori:

  • velocità (Range: [0; 80])
  • livello carburante (Range: [0; 1023])
  • spiaGuastoMotore (Range: [ON; OFF])
  • giriMotore (Range: [0.0; 0.99])

Dichiara le variabili scegliendo il tipo di dato più appropriato per ognuna e poi il calcola quanto spazio occupano in memoria.

Scrivi il programma Cornice che scriva a terminale il tuo nome utilizzando i caratteri Unicode della pagina U2500. Esempio:

Nota: Su alcune shell i caratteri unicode potrebbero essere rappresentati in modo errato.

Scrivi un programma contenente:

  • la dichiarazione della variabile intera (32 bit) a, e assegnategli il valore esadecimale AB
  • la dichiarazione della variabile intera (16 bit) b, e assegnategli il valore ottale 445
  • la dichiarazione della variabile intera (32 bit) c, e assegnategli il valore decimale 111
  • la dichiarazione della variabile intera (64 bit) d, e assegnategli il valore decimale 222

Poi stampa a terminale il nome e il valore di ognuna delle variabili dichiarate.

Considera il codice che hai scritto. Quanta memoria verrà occupata per le variabili che hai dichiarato?

Scrivi il programma GasStation che, dato il prezzo della benzina (espresso in centesimi al litro) memorizzato in una costante int, stampa a terminale la rappresentazione stilizzata del prezzo.

Ad esempio, per un prezzo della benzina di 153 centesimi al litro, il programma stampa:

Invece per un prezzo di 25 centesimi al litro:

Scrivi il programma CoinCalculator che calcola quale combinazione di monete da 5, 2 e 1 CHF è possibile utilizzare per realizzare una somma (espressa in CHF) memorizzata in una costante int. Il programma stampa poi a terminale la rappresentazione stilizzata della combinazione calcolata.

Ad esempio, per ottenere una somma di 18 CHF si devono usare 3 monete da 5 CHF, 1 moneta da 2 CHF e 1 da 1 CHF, quindi il programma stampa:

Invece per un totale di 21 CHF ne servono 4 da 5 CHF e 1 da 1 CHF:

Scrivi il programma LegoBrick che calcola quale combinazione di blocchi da 4, 2 e 1 pad è possibile utilizzare per realizzare una lunghezza (espressa in LEGO pad) memorizzata in una costante int. Il programma stampa poi a terminale la rappresentazione stilizzata della combinazione calcolata.

Ad esempio, per raggiungere una lunghezza di 13 pad si devono usare 3 blocchi da 4 pad e 1 blocco da 1 pad, quindi il programma stampa:

Invece per una lunghezza di 35 pad servono 8 blocchi da 4, 1 da 2 e 1 da 1:

Fract2Anglo var Livello 4

Scrivi il programma Fract2Anglo nel quale vengono dichiarate due variabili int divisore e int dividendo. Il programma deve poi stampare a terminale il valore della frazione in formato anglosassone.

Ad esempio per divisore = 2 e dividendo = 1 il programma stampa 0.5.

MediaNote var Livello 4

Scrivere il programma MediaNote che, date 3 variabili double nota1, nota2 e nota3 (contenenti 3 note scolastiche [1.0;6.0]) ne calcola la media e la stampa a terminale. L’output del programma deve essere formattato nel modo seguente:

Nota1:  1,99
Nota2:  4,69
Nota3:  4,08
------------
Media:  3,59

Usa i caratteri unicode che preferisci per disegnare il tuo autoritratto. Vedi unicode.org.

Scrivi un programma che, dato il numero di argomenti da linea di comando (N), stampa a terminale: “N è multiplo di 5” oppure “N non è multiplo di 5”.

Scrivi il programma Multipli5 che, dato il numero di argomenti da linea di comando (N), stampa a terminale: "<N> è multiplo di 5" oppure "<N> non è multiplo di 5".

Esempio:

>java Multipli5 a b c
3 non è multiplo di 5

>java PariDispari a d v e t f s t u t 
10 è multiplo di 5

Scrivi il programma PariDispari che, dato il numero di argomenti da linea di comando (N), stampa a terminale: "<N> è pari" oppure "<N> è dispari".

Esempio:

>java PariDispari a b c
3 è dispari

>java PariDispari a d v f
4 è pari

Scrivi il programma TroncaDouble che, data la variabile double n, ne stampa a terminale il valore troncato a 3 cifre decimali.

Ad esempio per n = 1.23456789:

> java TroncaDouble
1.234

Scrivi il programma DecUni che, dato il numero di argomenti da linea di comando (N), stampa a terminale quante decine e quante unità compongono N.

Ad esempio per 12 argomenti:

>java DecUni a a a a a a a a a a a a
numero: 12 
decine: 1
unità: 2

Scrivere un programma chiamato CalcolaNotaInt nel quale viene dichiarata la variabile double media contenente la media dei 3 test calcolata da MediaNote e viene arrotondata all’intero più vicino.

Ad esempio 5.4 viene arrotondato a 5, mentre 5.6 viene arrotondato a 6.

Scrivere un secondo programma chiamato CalcolaNotaDecimo nel quale viene dichiarata la variabile double media contenente la media dei 3 test calcolata da MediaNote e viene arrotondata decimo di punto più vicino.

Ad esempio 5.43 viene approssimato a 5.4, mentre 5.77 viene approssimato a 5.8.

Scrivi il programma UnicodeTest che stampa a terminale i primi 1000 caratteri unicode partendo dal primo carattere stampabile che è il carattere blank (‘ ‘). Il programma stampa il codice esadecimale e il relativo carattere:

Char: 20 ==> ' '
Char: 21 ==> '!'
Char: 22 ==> '"'
Char: 23 ==> '#'
Char: 24 ==> '$'
Char: 25 ==> '%'
Char: 26 ==> '&'
Char: 27 ==> '''
Char: 28 ==> '('
Char: 29 ==> ')'
Char: 2a ==> '*'
Char: 2b ==> '+'
Char: 2c ==> ','
Char: 2d ==> '-'
Char: 2e ==> '.'
Char: 2f ==> '/'
Char: 30 ==> '0'
Char: 31 ==> '1'
Char: 32 ==> '2'
Char: 33 ==> '3'
Char: 34 ==> '4'
Char: 35 ==> '5'
Char: 36 ==> '6'
Char: 37 ==> '7'
Char: 38 ==> '8'
Char: 39 ==> '9'
Char: 3a ==> ':'
Char: 3b ==> ';'
Char: 3c ==> '<'
Char: 3d ==> '='
Char: 3e ==> '>'
Char: 3f ==> '?'
Char: 40 ==> '@'
Char: 41 ==> 'A'
Char: 42 ==> 'B'
Char: 43 ==> 'C'
Char: 44 ==> 'D'
Char: 45 ==> 'E'
Char: 46 ==> 'F'
Char: 47 ==> 'G'
...
Char: 37b ==> 'ͻ'
Char: 37c ==> 'ͼ'
Char: 37d ==> 'ͽ'
...
Char: 3e4 ==> 'Ϥ'
Char: 3e5 ==> 'ϥ'
Char: 3e6 ==> 'Ϧ'
Char: 3e7 ==> 'ϧ'