CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA
- Slides: 21
CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare - VESPA Università degli Studi di Milano
CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLA PRODUZIONE ANIMALE Software – Strutture di Controllo TIE per le Produzioni Animali Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare - VESPA Università degli Studi di Milano
DEFINIZIONI Ex: celle excel Private sub calcolaaddizione_click() Dim a, b, c as integer A=val(…. . ) B=val(…. . ) C = A+B End Sub PROBLEMA § Diagrammi a blocchi § Pseudocodifica ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
DEFINIZIONI La successione ordinata di passi elementari che portano alla soluzione di un problema prende il nome di ALGORITMO. MA … Un algoritmo, per essere definito tale, deve avere le seguenti caratteristiche: 1. deve possedere un numero finito di passi 2. deve essere comprensibile e non ambiguo per chi ne usufruisce 3. 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)
DEFINIZIONI Gli algoritmi possono essere rappresentati sostanzialmente in 2 modi: q in modo verbale, utilizzando cioè termini e parole del linguaggio comune, utilizzando cioè la cosiddetta pseudocodifica q 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+ b Blocco per l’introduzione e la visualizzazione dei dati Blocco decisionale per prendere strade diverse all’interno dell’algoritmo
DEFINIZIONI Un algoritmo può essere costituito da passi elementari • Lettura dati / scrittura dati (operazioni di I/O) • Operazioni di assegnazione/elaborazione OPPURE da passi strutturati (Complessi) / Strutture di Programmazione • SEQUENZA • SELEZIONE • ITERAZIONE
STRUTTURE DI CONTROLLO 1 Strutture di controllo fondamentali 1. 1 Sequenza 1. 2 Goto 2 Strutture di controllo della programmazione strutturata 2. 1 Alternativa 2. 1. 1 Alternativa if-then e if-then-else 2. 1. 2 L'alternativa case 2. 2 Iterazione 2. 2. 1 Ciclo for 2. 2. 2 Ciclo loop-until 2. 2. 3 Ciclo while 2. 2. 4 Varianti di while e loop-until
SEQUENZA 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 . .
GOTO 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 condizione. C, vai alla istruzione I".
ALTERNATIVA 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
ALTERNATIVA Struttura selettiva a 1 via IF condizione then Istruzione 1 Istruzione 2 End if Struttura selettiva a 2 vie MENU’ PREZZO FISSO CON … 2 OPZIONI: IF condizione then Se siedi al tavolo: Istruzione 1 primo piatto pasta Istruzione 2 secondo pesce; else Altrimenti istruzione 3 primo piatto zuppa istruzione 4 secondo cotechino End if Ex: MENU’ A PREZZO FISSO CON 1 OPZIONE Se ti siedi al tavolo: primo piatto pasta secondo pesce
ALTERNATIVA 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 V 1, esegui I 1; nel caso in cui sia V 2, esegui I 2 (ecc. )". Struttura selettiva case MENU’ LIBERO CON 4 PRIMI case posizione_nel_Menu A SCELTA: 0: non mangi 0 – SOLO COPERTO 1: spaghetti; 2: penne; 1 – SPAGHETTI 3: agnolotti; 2 – PENNE 4: ravioli; 3 – AGNOLOTTI end; 4 - RAVIOLI
STRUTTURA ITERATIVA 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 ITERATIVA Ø Struttura iterativa a N RIPETIZIONI ospite= 0 MENU’ AZIENDALE A SCELTA FISSA A tutti i 100 ospiti chiedi: primo piatto pasta ? secondo pesce ? for ospite = 1 to 100 Istruzione 1 Istruzione 2 Istuzione 3 end 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
STRUTTURA ITERATIVA Ø Struttura iterativa a condizione finale Ospite = 0 INIZIA: Ospite = ospite +1 primo piatto pasta ? secondo pesce ? Fino a che ci sono ospiti al tavolo che rispondono Do Istruzione 1 Istruzione 2 Istuzione 3 Loop until condizione
STRUTTURA ITERATIVA ØStruttura iterativa a a condizione iniziale Ospite = 0 Fino a quando trovi un ospite a tavola che vuol mangiare: Ospite = ospite +1 primo piatto pasta ? secondo pesce ? Ripeti dall’inizio Do while condizione Istruzione 1 Istruzione 2 Istuzione 3 Loop
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.
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 REALE CARATTERE BOOLEANO (Dim A as integer) (Dim A as single, Dim B as double) (Dim A as char) (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 NOME e un CONTENUTO.
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) RECORD Dim A(1 to 10) as integer …………….
Un VETTORE o ARRAY (a una dimensione) è una struttura di dati di tipo SEQUENZIALE, ossia gli elementi componenti sono disposti uno di fianco all’altro costituita da un insieme di elementi OMOGENEI tra di loro individuabili 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
V 5 -2 0 5 13 -9 11 1 2 3 4 5 6 7 10 8 Ci si riferisce al singolo elemento con la sintassi V(valore dell’indice) V(1) contiene il dato intero 5 V(2) contiene il dato intero -2 V(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 ……. . 5 18 9 10
- Scienze della formazione
- Laurea magistrale in editoria e giornalismo
- Presidente corso di laurea
- Unito scienze motorie magistrale
- Magistrale scienze motorie verona
- Dickens e il progresso
- Mosaico tecnologie
- Tic quali sono
- Sistema alimentare sostenibilità management e tecnologie
- Ente per le nuove tecnologie
- Nuove tecnologie fotovoltaico
- Uso responsabile delle tecnologie
- Ente per le nuove tecnologie
- Polo di savigliano scienze della formazione primaria
- Scienze della formazione portogruaro
- Lifedeep learning significato
- Quaderno di tirocinio scienze della formazione primaria
- Scienze della formazione primaria catania
- Scienze della formazione
- Scienze della comunicazione cassino
- Scienze psicosociali della comunicazione
- Magistrale rutiere