Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA...

22
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare - VESPA Università degli Studi di Milano

Transcript of Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA...

Page 1: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Tecnologie Informatiche ed Elettroniche per le Produzioni Animali(corso TIE)

CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE

Massimo LazzariScienze veterinarie per la salute, 

la produzione animale e la sicurezza alimentare - VESPAUniversità degli Studi di Milano

Page 2: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Software – Strutture di Controllo

Massimo LazzariScienze veterinarie per la salute, 

la produzione animale e la sicurezza alimentare - VESPAUniversità degli Studi di Milano

CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE

TIE per le Produzioni Animali

Page 3: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

PROBLEMA ALGORITMO PROGRAMMA

Diagrammi a blocchi Pseudocodifica

LINGUAGGI di PROGRAMMAZIONE

Private sub calcolaaddizione_click()

Dim a,b,c as integer

A=val(…..)

B=val(…..)

C = A+B

End Sub

DEFINIZIONIDEFINIZIONI

Page 4: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

La successione ordinata di passi elementari che portano alla soluzione

di un problema prende il nome di ALGORITMO.

La successione ordinata di passi elementari che portano alla soluzione

di un problema prende il nome di ALGORITMO.

Un algoritmo, per essere definito tale, deve avere le seguenti caratteristiche:

1. deve possedere un numero finito di passi2. deve essere comprensibile e non ambiguo per chi ne usufruisce3. deve risolvere tutti i problemi di una specifica CLASSE (si definisce CLASSE la totalità dei problemi con le stesse caratteristiche, p.e. la somma di 2 numeri)4. a parità di condizioni iniziali (ossia con gli stessi dati di input ) deve fornire gli stessi risultati ( ossia gli stessi dati di output)

MA …MA …

DEFINIZIONIDEFINIZIONI

Page 5: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Gli algoritmi possono essere rappresentati sostanzialmente in 2 modi: in modo verbale, utilizzando cioè termini e parole del linguaggio comune, utilizzando cioè la cosiddetta pseudocodifica in modo grafico, utilizzando cioè i cosiddetti diagrammi a blocchi (flow chart) che prevedono la seguente simbologia:

Inizio Fine Blocchi di inizio e fine algoritmo

Blocco di assegnazione/elaborazione p.e. a b oppure c a+ bBlocco per l’introduzione e la visualizzazione dei dati

Blocco decisionale per prendere strade diverse all’interno dell’algoritmo

DEFINIZIONIDEFINIZIONI

Page 6: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

OPPURE

Un algoritmo può essere costituito da passi elementari• Lettura dati / scrittura dati (operazioni di I/O)• Operazioni di assegnazione/elaborazione

da passi strutturati (Complessi) / Strutture di Programmazione• SEQUENZA• SELEZIONE• ITERAZIONE

DEFINIZIONIDEFINIZIONI

Page 7: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

1 Strutture di controllo fondamentali1.1 Sequenza

1.2 Goto

2 Strutture di controllo della programmazione strutturata2.1 Alternativa

2.1.1 Alternativa if-then e if-then-else

2.1.2 L'alternativa case

2.2 Iterazione2.2.1 Ciclo for

2.2.2 Ciclo loop-until

2.2.3 Ciclo while

2.2.4 Varianti di while e loop-until

STRUTTURE DI CONTROLLOSTRUTTURE DI CONTROLLO

Page 8: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

La sequenza è la struttura di controllo fondamentale di qualsiasi linguaggio imperativo, inclusi i linguaggi macchina. Stabilisce l'ordine in cui le istruzioni presenti nel testo del programma devono essere eseguite a tempo di esecuzione. Di norma, non ha una espressione sintattica esplicita: invece è data dalla semplice successione delle istruzioni; in tal caso, la macchina astratta del linguaggio in uso le esegue in sequenza, una dopo l'altra.

In senso più generale si tratta di una successione di passi elementari o complessi.

........... A=B+1 C=B*4 D=B mod 5 .........

SEQUENZASEQUENZA

Page 9: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Insieme alla sequenza, il goto (vai a) è la struttura di controllo più semplice. Il significato generale del goto è quello di "salto" ovvero far "passare" il controllo a una istruzione specificata, che può trovarsi in un punto qualsiasi del programma. Il goto ammette sempre anche (o solo) una forma condizionata, il cui significato può essere parafrasato come segue: "se è vera una condizioneC, vai alla istruzione I".

GOTOGOTO

Page 10: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

La struttura selettiva, detta anche selezione, è un passo elaborativo che prevede l’esecuzione

di istruzioni diverse in base al valore di verità di una certa condizione.

Tale struttura può essere di 2 tipi:

a 1 via

a 2 vie

ALTERNATIVAALTERNATIVA

Page 11: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Struttura selettiva a 1 via

IF condizione then Istruzione 1 Istruzione 2End if

Struttura selettiva a 2 vie …IF condizione then Istruzione 1 Istruzione 2 else istruzione 3 istruzione 4End if

ALTERNATIVAALTERNATIVA

Se ti siedi al tavolo:primo piatto pasta

secondo pesce

Se vuoi mangiare:primo piatto pasta secondo pesce;

Altrimentiprimo piatto zuppasecondo cotechino

Page 12: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Struttura selettiva case

case posizione_nel_Menu 0: non mangi 1: spaghetti; 2: penne; 3: agnolotti; 4: ravioli;end;

ALTERNATIVAALTERNATIVA

L'alternativa case può essere assimilata a una catena di if-then-else con certe restrizioni. In questo caso, la scelta di uno fra N istruzioni o blocchi alternativi viene fatta sulla base del valore di una determinata variabile o espressione, normalmente di tipo intero. Essa può essere parafrasata come segue: "valuta il valore N; nel caso in cui il suo valore sia V1, esegui I1; nel caso in cui sia V2, esegui I2 (ecc.)".

Page 13: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

La struttura iterativa, detta anche ciclo o iterazione, è un passo elaborativo che prevede la ripetizione

di un certo numero di istruzioni fino a che una certa condizione cambia di stato.

Tale struttura può essere di 3 tipi:

•soggetta a un numero n di ripetizioni

•a condizione finale

•a condizione iniziale

STRUTTURA ITERATIVASTRUTTURA ITERATIVA

Page 14: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

ospite= 0

for ospite = 1 to 100 Istruzione 1 Istruzione 2 Istuzione 3end

Struttura iterativa a N RIPETIZIONI

STRUTTURA ITERATIVASTRUTTURA ITERATIVA

A tutti i 100 ospiti chiedi:primo piatto pasta ?

secondo pesce ?

Se gli ospiti sono meno di 100, continui a chiedere e fai la figura del ….

Se gli ospiti sono più di 100, non chiedi a chi c’è seduto e fai la figura del …

FUNZIONA NEI PRANZI NUZIALI DOVE SI CONOSCE IL NUMERO INIZIALE

Meglio ancora funziona per apparecchiare i tavoli prima di cominciare a servire

Page 15: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Do Istruzione 1 Istruzione 2 Istuzione 3Loop until condizione

Struttura iterativa a condizione finale

STRUTTURA ITERATIVASTRUTTURA ITERATIVA

Ospite = 0INIZIA:Ospite = ospite +1

primo piatto pasta ? secondo pesce ?

Fino a che ci sono ospiti al tavolo che rispondono

Page 16: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Struttura iterativa a a condizione iniziale

Do while condizione Istruzione 1 Istruzione 2 Istuzione 3Loop

STRUTTURA ITERATIVASTRUTTURA ITERATIVA

Ospite = 0Fino a quando trovi un ospite a tavola che vuol mangiare:

Ospite = ospite +1

primo piatto pasta ? secondo pesce ?

Ripeti dall’inizio

Page 17: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

TIPI di DATI sono classificati in due categorie:

• tipi elementari (o tipi semplici) in cui i dati non sono costituiti da altri dati, si tratta cioè di dati atomici;

• tipi strutturati, in cui i dati sono rappresentati da aggregazioni dalle quali è possibile estrarre i singoli dati tramite appropriate operazioni.

Page 18: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Ogni linguaggio di programmazione prevede alcuni tipi di dati

sia semplici che strutturati (tipi primitivi).

Per esempio in Visual Basic i TIPI ELEMENTARI o SEMPLICI sono:

INTERO (Dim A as integer)REALE (Dim A as single, Dim B as double)CARATTERE (Dim A as char)BOOLEANO (DIm A as boolean)

Le VARIABILI SEMPLICI sono entità del tipo specificato associate a una locazione di memoria la cui lunghezza è stabilita dal tipo con un NOMEe un CONTENUTO.

Page 19: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

In Visual Basic i TIPI ELEMENTARI o SEMPLICI predefiniti sono:

INTERO Dim A as integerREALE Dim A as single, Dim B as doubleCARATTERE Dim A as charBOOLEANO DIm A as boolean

Le VARIABILI SEMPLICI sono entità del tipo specificato associate a una locazione di memoria la cui lunghezza è stabilita dal tipo con un NOMEe un CONTENUTO.

Page 20: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

I dati strutturati (STRUTTURA di DATI) corrispondono invece ad un raggruppamento di dati organizzati in base a un criterio, così da poter essere considerati come un unico oggetto.

In Visual Basic i TIPI di DATI STRUTTURATI predefiniti sono:

VETTORE (o ARRAY) Dim A(1 to 10) as integerRECORD …………….

Page 21: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

Un VETTORE o ARRAY (a una dimensione) è una struttura di dati di tipo SEQUENZIALE, ossia gli elementi componenti sono disposti uno di fianco all’altrocostituita da un insieme di elementi OMOGENEI tra di loroindividuabili mediante un INDICE che indica la posizione del singolo elemento nella struttura.

Il vettore ha un NOME COLLETTIVO mentre ogni elemento ha un NOME INDIVIDUALE dato dal nome collettivo seguito tra parentesi da un indice.

DIM V(1 TO 10) as INTEGER

Page 22: Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE.

5 -2 0 5 13 -9 11 10 5 18V

Ci si riferisce al singolo elemento con la sintassi V(valore dell’indice)

V(1) contiene il dato intero 5V(2) contiene il dato intero -2V(3) contiene il dato intero ……..V(4) contiene il dato intero ……..V(5) contiene il dato intero ……..V(6) contiene il dato intero ……..V(7) contiene il dato intero ……..V(8) contiene il dato intero ……..V(9) contiene il dato intero ……..V(10) contiene il dato intero ……..

1 32 4 5 6 7 8 9 10