Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
FONDAMENTI DI INFORMATICA
Prof. PIER LUCA MONTESSORO
Facoltà di Ingegneria Università degli Studi di Udine
Esercizi su
diagrammi di flusso e algoritmi
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.
Nota di Copyright
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3
Media di n voti
• Si scriva il diagramma di flusso di un algoritmo che calcoli la media di n voti nelle due seguenti versioni:
1) n sia un valore di ingresso letto all’inizio 2) n venga determinato in base ad un
particolare valore di ingresso (“tappo” o
“sentinella”) che viene introdotto dopo l’ultimo voto da considerare (es.: voto = -1)
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4
Fattoriale
• Si scriva il diagramma di flusso dell’algoritmo necessario per calcolare n!
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5
Equazione di secondo grado
• Si scriva il diagramma di flusso dell’algoritmo necessario per calcolare le radici dell’equazione:
2
+ bx + c = 0 ax
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6
Calcolo di y = sin (x)
• Si scriva il diagramma di flusso
dell’algoritmo necessario per calcolare la funzione sin (x), con x dato, utilizzando lo sviluppo in serie:
Il calcolo della funzione deve terminare quando si è raggiunta la precisione voluta (parametro di ingresso dell’algoritmo)
! ...
7
! 5
! ) 3
sin(
7 5
3
+ − +
−
= x x x
x
x
Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7
Somma di n numeri
• Si scriva in forma testuale un algoritmo che calcoli la somma dei numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza)
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8
Massimo di n numeri
• Si scriva in forma testuale un algoritmo che calcoli il massimo tra i numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza)
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9
Massimo e minimo di n numeri
• Si scriva in forma testuale un algoritmo che calcoli il massimo e il minimo tra i numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza)
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10
Primo e secondo massimo di n numeri
• Si scriva in forma testuale un algoritmo che calcoli il primo e il secondo
massimo tra i numeri inseriti da tastiera (si assuma che il primo numero
rappresenti la lunghezza della sequenza)
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11
Ricerca di un valore (I)
• Si scriva in forma testuale un algoritmo che cerchi un valore dato in una sequenza di numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della
sequenza) e stampi se il numero è stato trovato oppure no
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12
Ricerca di un valore (II)
• Si scriva in forma testuale un algoritmo che cerchi un valore dato in una sequenza di numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza) e stampi quante volte il numero è stato trovato
Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13
Ricerca del valore più vicino
• Si scriva in forma testuale un algoritmo che cerchi in una sequenza di numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza) quello di valore più vicino ad un numero dato e lo stampi
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 14
Successione di Fibonacci
• La successione di Fibonacci è cosí definita:
F0= 0 F1= 1
Fn= Fn-1+ Fn-2
• Si scriva un algoritmo in forma testuale riceva in ingresso n e stampi i numeri di Fibonacci da F0a Fn.
Fondamenti di Informatica - Esercitazioni
© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15
Lettura di un numero intero
• Si scriva in forma testuale un algoritmo per leggere da tastiera un numero intero positivo in base 10 e memorizzarlo in una variabile N.
• Il numero è introdotto cifra per cifra, e quindi ogni operazione di input restituisce il codice ASCII di una cifra del numero, ovviamente a partire da quella più significativa. Il numero termina con il codice ASCII “carriage return”
che rappresenteremo come '\n'.