Sei sulla pagina 1di 16

Fondamenti di Informatica

Esercizi di Programmazione
Ing. F. Clarizia
Dip. di Ingegneria informatica e Ingegneria elettrica,

Facolt di Ingegneria, Universit di Salerno


Via P. don Melillo 1, 84084 Fisciano (SA)

E-mail: fclarizia@unisa.it

Materiale didattico
prodotto dal
prof. A. Della Cioppa

mercoled 14 ottobre 2009


Diagrammi a Blocchi
Esempio di un linguaggio generalizzato per la
descrizione degli algoritmi;
Rappresentazione grafica del flusso, ossia lordine di
esecuzione delle operazioni;
I blocchi contengono istruzioni elementari, la forma
del blocco indica il tipo di istruzioni;

Ingresso F V
Inizio/Fine / Azioni Controllo
Uscita

mercoled 14 ottobre 2009


Le strutture di controllo

In un algoritmo, spesso, ci si trova a


dover controllare dei risultati al fine di eseguire
unoperazione piuttosto che unaltra
dover eseguire dei passi un certo numero di volte,
oppure fino a quando non sia verificata una
condizione
Instrettamente
definitiva in un algoritmi
sequenziale
il flusso non mai

mercoled 14 ottobre 2009


Le strutture di controllo

Le strutture di controllo permettono di descrivere


algoritmi in cui il flusso di esecuzione non sequenziale

Esistono due categorie di strutture di controllo


Strutture selettive
permettono di operare delle scelte: a seconda del risultato di una
condizione vengono eseguite delle operazioni piuttosto che altre

Strutture iterative
permettono di ripetere delle operazioni un certo numero di volte
oppure fino a quando non sia verificata una condizione

mercoled 14 ottobre 2009


Selezione semplice
Permette di eseguire un insieme di operazioni se la
condizione di test verificata

Si
test

No
blocco
operazioni

mercoled 14 ottobre 2009


Esempio
Dato un numero n, se n maggiore di 100 stampare
il numero, altrimenti non stampare alcun messaggio

Inizio

Leggi n

Si
n>100

No
Stampa n

Fine

mercoled 14 ottobre 2009


Ciclo a condizione iniziale

blocco Si
test
istruzioni

No

mercoled 14 ottobre 2009


Cicli in Matlab

Un ciclo o loop una struttura che permette di ripetere un numero


finito di istruzioni un numero finito di volte

Matlab utilizza due differenti tipologie di cicli

for: utilizzato quando il numero di iterazioni noto in


anticipo

while: termina quando soddisfatta una determinata


condizione che pu variare dinamicamente. Maggiormente
utilizzato quando il numero di iterazioni non noto in
anticipo

mercoled 14 ottobre 2009


Il Ciclo for
Struttura di un ciclo for

for variabile di ciclo=m:s:n

istruzioni

end

Lespressione m:s:n assegna il valore iniziale m alla variabile di ciclo, che viene incrementata del valore s ad
ogni iterazione. Lelaborazione continua finch la variabile di ciclo supera il valore finale n

Esempio:
for k=1:2:10

disp(k^2);

end

La variabile di ciclo k inizialmente inizializzata a 1. Ad ogni iterazione viene stampato il quadrato di k ed


automaticamente incrementato di 2 il suo valore. Le iterazioni proseguono fino a quando k non maggiore di 10.

Output:

1
9
25
49
81

mercoled 14 ottobre 2009


il Ciclo While
Struttura di un ciclo while

while condizione
istruzioni
end

Le istruzioni del ciclo vengono ripetute fino a quando la condizione di uscita non pi verificata

Esempio
x=1;
while x<5
disp(x^2);
x=x+1;
end
Ad ogni iterazione viene stampato il quadrato di x fino a quando il valore della variabile x <5.

Nota bene
A differenza del ciclo for, la variabile di ciclo x va inizializzata fuori dal while ed aggiornata al suo interno
Tali operazioni sono assolutamente indispensabili per la corretta esecuzione dellalgoritmo

Output
! ! 1! 4! 9! 16

mercoled 14 ottobre 2009


Esercizio 1

Definire il diagramma di flusso per un programma che dati


base ed altezza di un rettangolo in grado di calcolare
area, perimetro e diagonale

11

mercoled 14 ottobre 2009


"#$%#! !

&'(()!
!
*+,!

$-*.,/!
0-1.*21.,/!
d = (b 2 + h 2 ) !

"#30!

12

mercoled 14 ottobre 2009


Esercizio 2

Definire il diagramma di flusso di un programma che dati


tre numeri interi individua il minimo.

13

mercoled 14 ottobre 2009


14

mercoled 14 ottobre 2009


Esercizio 2 bis

Definire il diagramma di flusso di un programma che dati


tre numeri interi memorizza il minimo ed il massimo e lo
fornisce in output.

15

mercoled 14 ottobre 2009


16

mercoled 14 ottobre 2009