Modulo Problemi elementari
Lezione
(3) Calcolo: contatori e totalizzatori
Argomento Algoritmi: contatore, totalizzatore, ciclo definito ed indefinito
Classi e packages: java.util.InputMismatchException, javax.swing.JOptionPane;
Istruzioni JAVA: =, +, -, *, /, Integer.parseInt(str), Integer.parseInt(str), try/catch, System.exit, System.out.println

Esempio 15 (v.1), Esempio 15 (v.2), Esempio 16, Esempio 17, Esempio 18, Esempio 20 , Esempio 21
Promemoria
Trucco
Esercizi da svolgere


Esempio 15 (vedi Esempio 27)
Stampare o visualizzare il numero di classi prime che si possono ottenere con un gruppo di bambini di cui si conosce l'anno di nascita. Tenere conto del fatto che una classe pu contenere un massimo di 25 bambini.
 

Svolgimento esempio n. 15 (versione 1)

  Analisi
 

Input

Output

anno in corso: AC classi
anno di nascita: AN  
numero alunni inseriti: N  
  Diagramma a blocchi
 
  Pseudo codifica
 

Inizio

 

 

AC <- 0 , AN <- 0 , conta <- 0 , classi <- 0, N <- 0

Immetti N, AC

Ripeti I=1 a N

Immetti AN

Se AC - AN = 6

Allora conta <- conta + 1

Fine se

Fine ripeti

classi <- conta / 25
Visualizza classi

Fine

 

  Codifica
Clicca qui
torna su
Esempio 15 (vedi Esempio 27)
Stampare e visualizzare il numero di classi prime che si possono ottenere con un gruppo di bambini di cui si conosce l'anno di nascita. Di ogni bambino stampare e visualizzare anche cognome e nome. Tenere conto del fatto che una classe può contenere un massimo di 25 bambini.
 

Svolgimento esempio n. 15 (versione 2)

  Analisi
 

Input

Output

anno in corso

cognome

anno di nascita

nome
cognome classi
nome  
  Diagramma a blocchi
  Esercizio_15.2
  Pseudo codifica
 

Inizio

 

 

 

 

AC <- 0 , AN <- 0 , conta <- 0 , classi <- 0, N <- 0

Immetti N, AC

Ripeti I=1 a N

Immetti AN, cognome, nome

Se AC - AN = 6

Allora conta <- conta + 1
Visualizza cognome, nome

Fine se

Fine ripeti

classi <- conta / 25
Visualizza Classi

Fine

 

  Codifica
Clicca qui
torna su
Esempio 16 (1)
Dato un elenco di cittadini (cognome, nome, sesso, età), contare e visualizzare o stampare il cognome, nome e numero dei maschi che compiono 20 anni.
  Svolgimento esercizio n. 16
  Formato video
 

Input

Output

nome: nome

nome

sesso: sesso

numero: numero20

età: eta

 
numero: N  
  Diagramma a blocchi
 
  Pseudo codifica
 

Inizio

 

 

Nome <- ' ', Sesso <- ' ', Eta <- 0 , Numero20 <- 0, N <- 0

Immetti N

Ripeti I=1 a N

Immetti Nome, Sesso, Eta
Se sesso = "M" e Eta = 20

Allora Numero20 <- Numero20 + 1
        Visualizza nome

Fine se

Fine ripeti

Visualizza numero20

Fine

 

  Codifica
Clicca qui
torna su

Esempio 17
Dato un elenco di comuni (nome e popolazione), contare il numero di quelli che hanno più di 100.000 abitanti e di questi visualizzare/stampare:

  • nome,
  • popolazione.

Al termine visualizzare/stampare il numero dei comuni che hanno più di 100.000 abitanti.

 

Svolgimento esempio n.17

  Analisi
 

Input

Output

nome

nome

popolazione

popolazione

risposta

numero

  Diagramma a blocchi
 
  Pseudo codifica
 

Inizio

 

 

 

Nome <- '', Popolazione <- 0, Numero <- 0, Risposta <- 'S'

Ripeti finché risposta = 'S'

Immetti Nome, Popolazione

Se Popolazione > 100000

Allora Numero <- Numero + 1
        Visualizza Nome, Popolazione

Fine se

Immetti risposta

Fine ripeti

Visualizza Numero

Fine


  Codifica
Clicca qui
libro Esempio 18 (vedi Esempio 08)
Dato un elenco di fatture: se l'importo di una fattura è maggiore di € 5.000, applicare lo sconto del 19% altrimenti lo sconto del 10%:
- per ogni fattura stampare l'importo scontato risultante;
- calcolare la somma degli importi di tutte le fatture e stampare il risultato.
 

Svolgimento esempio n. 18

  Analisi
 

Input

Output

importo

scontato

risposta

totale

  Diagramma a blocchi
 
  Pseudo codifica
 
Inizio

 

 

importo <- 0, totale <- 0, scontato <- 0, risposta <- 'S'

Ripeti finchè risposta = 'S'

Immetti Importo
Se Importo > 5000

allora scontato <- importo - importo * 19/100
altrimenti scontato <- importo - importo * 10/100

Fine se
totale <- totale + scontato
Visualizza scontato
Immetti risposta

Fine ripeti
Visualizza totale

Fine

 

   Codifica
Clicca qui
torna su
libro Esempio 20
Dato un elenco di prodotti (nome, prezzo) scegli quelli che costano meno di € 100. Dei prodotti scelti scrivere nome e prezzo. Alla fine scrivere la somma dei prezzi di tutti gli articoli immessi.
 

Svolgimento esempio n.20

  Analisi
 

Input

Output

nome

nome

prezzo

prezzo

risposta

totale

  Diagramma a blocchi
 
  Pseudo codifica
 

Inizio

 

 

nome <- ' ', prezzo <- 0, totale <- 0, risposta <- 'S'

Ripeti finchè risposta = 'S'

Immetti nome, prezzo

Se prezzo < 100

Allora totale <- totale + prezzo
Visualizza nome, prezzo

Fine se

Immetti risposta

Fine ripeti

Visualizza totale

Fine


  Codifica
Clicca qui
torna su
libro

Esempio 21
Dato un elenco di articoli, di ciascuno si conosce:

  • descrizione,
  • giacenza di magazzino (1),
  • scorta minima (2),
  • costo.

Stampare o visualizzare, per gli articoli sotto-scorta, la descrizione ed i pezzi da ordinare per avere in magazzino almeno la scorta minima per tutti gli articoli. Al termine indicare la spesa totale da affrontare.

ELENCO ARTICOLI SOTTO-SCORTA
---------------------------------------------------
DESCRIZIONE           QUANTITA' DA ORDINARE
---------------------------------------------------
xxxxxxxxxxxxxxxxxxxx   xxx.xxx 
       :                  : 
--------------------------------------------------- 
Totale spesa       xxx.xxx.xxx 

(1) Giacenze di magazzino: merce giacente in magazzino in attesa di essere venduta
(2) Per scorta si intende una certa quantità di un articolo accumulata per essere messa a disposizione di un utilizzatore, affinché la consumi secondo le sue necessità. 

 

Svolgimento esempio n.21

  Analisi
 

Input

Output

descrizione

descrizione

giacenza

ordine

scorta_m

spesa

costo  
risposta  
  Diagramma a blocchi
 
  Pseudo codifica
 

Inizio

 

 

gescrizione<- ' ', giacenza <- 0, scorta_m <- 0, costo <- 0, ordine <- 0, spesa <- 0, risposta <- 'S'

Ripeti finchè risposta = 'S'


Immetti descrizione, giacenza, scorta_m, costo
Se giacenza < scorta_m

Allora ordine <- scorta_m - giacenza
        spesa <- spesa + ordine * costo
        Visualizza descrizione, ordine
        Visualizza spesa

Fine se

Immetti risposta

Fine ripeti

Fine

 

  Codifica
Clicca qui
torna su

Promemoria

Un contatore è una variabile intera che serve per contare.

Proprio come quando contiamo sulle dita delle mani, all’inizio non ancora abbiamo contato nulla (contatore = 0), e poi a ogni passo aggiungiamo 1 a quanto avevamo contato in precedenza.
Un contatore sarà utile tutte le volte che dobbiamo contare quante volte accade una certa cosa,

  • Per risolvere i problemi relativi ai contatori si ricorre a particolari variabili, definite contatori, che vengono incrementate o decrementate, di una quantità costante, a seconda delle specifiche del problema, ad esempio: CONTA <- CONTA + 1

Un totalizzatore è una variabile che serve per accumulare dati, sommati tra loro. Un totalizzatore sarà utile tutte le volte che dobbiamo sommare delle quantità, e soprattutto quando non conosciamo a priori quante esse siano.

  • Per risolvere i problemi relativi ai totalizzatori si ricorre a particolari variabili, definite totalizzatori, che vengono incrementate o decrementate, di una quantità variabile, a seconda delle specifiche del problemaa, ad esempio: TOTALE <- TOTALE + VARIABILE
Trucco

Totalizzatore

E’ un po’ come se avessimo una vasca da bagno (il totalizzatore) e dobbiamo riempirla con dei secchi d’acqua (i dati da sommare). All’inizio, nella vasca non c’è nulla (totalizzatore = 0), poi ogni volta che svuotiamo un altro secchio d’acqua (un dato) nella vasca, il livello dell’acqua presente nella vasca è quello che avevamo in precedenza più il contenuto del nuovo secchio.

 

Contatore

 

 

 

 

 

Per tornare alla metafora della vasca da bagno, possiamo dire che un contatore si comporta come un totalizzatore, ma è permesso aggiungere solo secchi d’acqua di 1 litro alla volta.

Esercizi da svolgere
Problemi elementari di calcolo: contatori e totalizzatori

Esercizio 2.4.1
Dato un elenco di N studenti stampare o visualizzare nome e cognome delle femmine ed il numero totale dei maschi.

Esercizio 2.4.2
Dato un elenco di N studenti:

  • cognome e nome,
  • comune di provenienza,

conta e stampa o visualizza quelli che abitano a Torino ed in fine stampa la percentuale di questi sul totale degli studenti.

Esercizio 2.4.3
Dato un elenco di N studenti:

  • cognome e nome,
  • classe,

stampare o visualizzare tutti i dati immessi ed il numero degli studenti di terza, quarta, quinta.

Esercizio 2.4.4
Dato un elenco di comuni con la distanza in Km dalla città: scegli e stampa o visualizza quelli che distano meno di 6 Km e contali. Alla fine visualizza il numero di quelli selezionati.

Esercizio 2.4.5
A Taranto si è tenuta una mostra che è stata visitata da pugliesi affluiti da tutta la regione. Di ciascun visitatore si conoscono i seguenti dati:

  • nome e cognome,
  • sigla della provincia di provenienza (es. TA, BA ....).

Stampare un tabulato, analogo al seguente, o visualizzare un lista che evidenzi la provincia di provenienza di ciascun visitatore ed il numero dei visitatori per ciascuna provincia.

Esercizio 2.4.6
Dato l'indice di natalità media in Italia, esaminare per ogni provincia gli indici di natalità: stampare o visualizzare il nome delle province che sono sotta la media e contarle.


Esercizio 2.5.1
Un giro turistico è fatto da N tappe, delle quali si introducono da tastiera: nome della città di arrivo e km percorsi. Calcolare il percorso totale ed il percorso medio delle tappe. Produrre, inoltre, il seguente tabulato:

Esercizio 2.5.2
Dato un elenco di N dipendenti di un'azienda, formato da: nome, cognome e stipendio; sugli stipendi inferiori a € 1.450 applica la trattenuta del 19%, su quelli maggiori di € 1.450 il 23%. Somma man mano le trattenute effettuate ed al termine visualizza il totale della trattenuta e la trattenuta media.

Approfondimento - Per ogni dipendente visualizzare: cognome, nome, stipendio e trattenuta 

Esercizio 2.5.3
Dato un elenco di N dipendenti di un'azienda, di ciascuno si conoscono i seguenti dati:

  • cognome,
  • nome,
  • stipendio.

Sugli stipendi inferiori a 500 euro applicare la trattenuta del 15%, su quelli fino a 1.000 euro applicare la trattenuta del 20%, oltre 1.000 applicare la trattenuta del 30%. Durante le operazioni di inserimento:

  • totalizzare gli stipendi e le trattenute effettuate,
  • stampare un elenco come quello presentato in figura 1 o visualizzare i dati come indicato in figura 2 

Figura 1


Figura 2

Esercizio 2.5.4
Da tastiera viene inserita la descrizione di un articolo ed i movimenti ad esso relativi effettuati durante un mese.

  1. Stampare le vendite giornaliere e le quantità acquistate nei giorni in cui gli acquisti sono stati superiori alle vendite. Al termine del tabulato stampare il totale vendite.
  2. Effettuare la stampa descritta al punto (1) dando al tabulato la seguente struttura:

 

  1. Visualizzare le vendite giornaliere e le quantità acquistate nei giorni in cui gli acquisti sono stati superiori alle vendite. Al termine visualizzare il totale vendite.

Esercizio 2.5.5 (a)

Viene inserito, da tastiera, un elenco di libri.  Per ciascun libro vengono forniti i seguenti dati:

  • titolo del libro,
  • prezzo del libro,
  • aliquota iva (es. 9, 19 ....).

Stampare o visualizzare l'elenco dei libri secondo il seguente prospetto:

Esercizio 2.5.5 (b)

Viene inserito, da tastiera, un elenco di libri.  Per ciascun libro vengono forniti i seguenti dati:

  • codice
  • titolo del libro,
  • prezzo del libro,
  • aliquota iva (es. 9, 19 ....).

Stampare o visualizzare l'elenco dei libri con codice multiplo di 13 secondo il seguente prospetto:

Esercizio 2.5.6
Viene inserito, da tastiera, l'elenco degli articoli in vendita presso un supermercato. Per ciascun articolo vengono inseriti i seguenti dati:

  • descrizione articolo,
  • prezzo di vendita,
  • percentuale di sconto (es. 10, 5 ...).

Stampare o visualizzare l'elenco degli articoli in vendita con i seguenti dati:

  • descrizione articolo,
  • prezzo scontato.

Alla fine dell'elenco stampare o visualizzare:

  • prezzo totale della merce in negozio,
  • importo totale scontato.

Esercizio 2.5.7
Da tastiera si introduca un elenco di N persone indicando, per ciascuna di esse, nome ed anno di nascita.  Si stampi o visualizzi: nome ed età di ciascuna persona, età media delle N persone.  

Esercizio 2.5.9
Da tastiera vengono inserite le fatture emesse in un trimestre. Per ogni fattura vengono inseriti i seguenti dati:

  • nome e cognome cliente,
  • imponibile,
  • imposta,
  • mese di emissione della fattura (es. 1, 2, 3 ...).

Dopo aver effettuato l'inserimento stampare o visualizzare il seguente prospetto:

Esercizio 2.5.10
Dato il numero totale degli abitanti delle 5 province di una regione, calcolare la percentuale di abitanti di ogni provincia sul totale di abitanti della regione.

Esercizio 2.5.11 (a)
Una casa editrice effettua una vendita online. Nel sito della casa editrice vengono illustrate le condizioni di vendita dei libri:

  • sconto del 10% per ordini superiori a € 500,00,
  • spese di spedizione € 0,30 per ciascun libro ordinato.

L'ordine effettuato dal cliente verrà stampato o visualizzato come indicato dallo schema:

output

Esercizio 2.5.11 (b)
Una casa editrice effettua una vendita online. Nel sito della casa editrice vengono illustrate le condizioni di vendita dei libri:

  • sconto del 10% per libri con prezzo superiore a € 100,00,
  • spese di spedizione € 0,30 per ciascun libro ordinato.

L'elenco dei libri ordinati verrà stampato o visualizzato come indicato dallo schema:

Variante

Per i libri ordinati dovrà essere visualizzato: titolo e prezzo unitario di ogni libro acquistato ed al termine: totale prezzo unitario, totale spese di spedizione, totale sconto e totale da pagare:

 
Torna all'inizio pagina
torna su