Tecnologie Informatiche ed Elettroniche per le Produzioni Animali

Slides:



Advertisements
Presentazioni simili
Introduzione alla programmazione lll
Advertisements

Strutture di controllo in C -- Flow Chart --
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Programmare in Visual Basic
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
INFORMATICA ALGORITMI, PROGRAMMI, E LINGUAGGI DI PROGRAMMAZIONE.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo
LA PROGRAMMAZIONE: Algoritmi e programmi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
DAL DIAGRAMMA AL CODICE
Dal problema al processo risolutivo
PRINCIPALI STRUTTURE DEI DATI
7. Strutture di controllo Ing. Simona Colucci
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
IL CONCETTO DI ALGORITMO
Dal problema al processo risolutivo
7. Strutture di controllo
Unità di apprendimento 7
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Strutture di controllo
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
TIPI PRIMITIVI TIPI STRUTTURATI
Programmazione strutturata
Forme per rappresentare l’algoritmo:
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Informatica per l’Ingegneria
CICLO DO – WHILE LINGUAGGIO C.
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
Classe III A A.s – 2012 Programma di Informatica
IL CONCETTO DI ALGORITMO
Programmare.
Linguaggio C++ Selezione.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Strutture di Controllo
Programmazione e Laboratorio di Programmazione
A = InputBox("Immetti un numero")
Ricorsione 16/01/2019 package.
Introduzione agli Algoritmi e alle Strutture Dati
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Schema generale, visita in ampiezza e profondità.
Definizione di linguaggio di programmazione
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Tecnologie Informatiche ed Elettroniche per le produzioni animali
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Le stringhe in C++ Laboratorio 26 Aprile Dott. Serena Villata
Processi decisionali e funzioni di controllo
Programmazione e Laboratorio di Programmazione
Unità 1 Programmi base.
Unità D2 Dal problema all’algoritmo
Lezione Terza Primi passi di programmazione
Informatica CdL Scienze e Tecniche Psicologiche a.a
Programmazione e Laboratorio di Programmazione
Array e Stringhe Linguaggio C.
La programmazione strutturata
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Script su vettori Realizza uno script che chiede in input una dimensione d e crea un vettore di d numeri interi casuali. Poi calcola la somma dei due numeri.
Corso di Fondamenti di Informatica
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Tecnologie Informatiche ed Elettroniche per le Produzioni Animali 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

Software – Strutture di Controllo TIE per le Produzioni Animali 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 PROBLEMA ALGORITMO PROGRAMMA Diagrammi a blocchi Private sub calcolaaddizione_click() Dim a,b,c as integer A=val(…..) B=val(…..) C = A+B End Sub PROBLEMA ALGORITMO PROGRAMMA Diagrammi a blocchi Pseudocodifica 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: deve possedere un numero finito di passi deve essere comprensibile e non ambiguo per chi ne usufruisce 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: 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: Blocchi di inizio e fine algoritmo Inizio Fine 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 OPPURE 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 condizioneC, vai alla istruzione I".

ALTERNATIVA a 2 vie 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 Struttura selettiva a 2 vie … IF condizione then Istruzione 1 Istruzione 2 End if Ex: MENU’ A PREZZO FISSO CON 1 OPZIONE Se ti siedi al tavolo: primo piatto pasta secondo pesce Struttura selettiva a 2 vie … IF condizione then Istruzione 1 Istruzione 2 else istruzione 3 istruzione 4 End if MENU’ PREZZO FISSO CON 2 OPZIONI: Se siedi al tavolo: primo piatto pasta secondo pesce; Altrimenti primo piatto zuppa secondo cotechino

ALTERNATIVA Struttura selettiva case Struttura selettiva a 2 vie … 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.)". Struttura selettiva case case posizione_nel_Menu 0: non mangi 1: spaghetti; 2: penne; 3: agnolotti; 4: ravioli; end; MENU’ LIBERO CON 4 PRIMI A SCELTA: 0 – SOLO COPERTO 1 – SPAGHETTI 2 – PENNE 3 – AGNOLOTTI 4 - RAVIOLI Struttura selettiva a 2 vie … IF condizione then Istruzione 1 Istruzione 2 else istruzione 3 istruzione 4 End if

soggetta a un numero n di ripetizioni 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 Istruzione 1 MENU’ AZIENDALE A SCELTA FISSA: A tutti i 100 ospiti chiedi: primo piatto pasta ? secondo pesce ? ospite= 0 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.

TIPI di DATI 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 NOME e un CONTENUTO.

TIPI di DATI DATI SEMPLICI In Visual Basic i TIPI ELEMENTARI o SEMPLICI predefiniti 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 NOME e un CONTENUTO.

TIPI di DATI DATI STRUTTURATI 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 integer RECORD  …………….

I VETTORI DIM V(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

I VETTORI 5 -2 13 -9 11 10 18 V 1 2 3 4 5 6 7 8 9 10 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 ……..