Informatica per l’Ingegneria

Slides:



Advertisements
Presentazioni simili
Dipartimento di Matematica
Advertisements

2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
- prof. V. Riboldi - SOTTOPROGRAMMI IN TPASCAL METODO TOP DOWN.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Le funzioni in C++. Introduzione  Spesso alcuni gruppi di operazioni vengono ripetute in diverse parti all’interno del medesimo programma  Si pensi.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
1 Elementi DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
Fondamenti di Informatica A - Massimo Bertozzi LE FUNZIONI.
Amministrazione di reti di calcolatori - Massimo Bertozzi Shell e scripting.
.  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.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Ambienti di Programmazione per il Software di Base
© 2007 SEI-Società Editrice Internazionale, Apogeo
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
11. Lettura e Scrittura di file in Matlab
VISUAL BASIC.
EasyGraph Dynamic web-based dashboard
Dal problema al processo risolutivo
FUNZIONI MATLAB/OCTAVE
Tutorato Elementi di Informatica 2013
Script Marco D. Santambrogio –
IL CONCETTO DI ALGORITMO
Dal problema al processo risolutivo
10. Programmazione Ricorsiva Ing. Simona Colucci
7. Strutture di controllo
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
Programmazione strutturata
FORMULE E FUNZIONI SU EXCEL
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
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
Informazioni globali nelle pagine HTML
Informatica per Scienze Geologiche LT a.a
Process synchronization
Programmazione e Laboratorio di Programmazione
Classe III A A.s – 2012 Programma di Informatica
Programmazione e Laboratorio di Programmazione
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Programmare.
© 2007 SEI-Società Editrice Internazionale, Apogeo
ABAP Objects ALV Grid Mantova, 30 dicembre 2018.
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
I SOTTOPROGRAMMI.
Definizione di linguaggio di programmazione
I fogli elettronici Microsoft Excel.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
La struttura dei primi programma in C
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Le stringhe in C++ Laboratorio 26 Aprile Dott. Serena Villata
Programmazione e Laboratorio di Programmazione
Fogli di Calcolo Elettronici
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Docente: Sabato Bufano
Algoritmi.
Algoritmi di ordinamento
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
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
Corso di Fondamenti di Informatica
Transcript della presentazione:

Informatica per l’Ingegneria Funzioni e procedure Informatica per l’Ingegneria

Informatica per l’Ingegneria Indice Necessità di sottoprogrammi(funzioni e procedure) Funzioni Procedure Comunicazione con i sottoprogrammi Tipi di sottoprogrammi Informatica per l’Ingegneria

Il concetto di sottoprogramma (1) I sottoprogrammi implementano operazioni non predefinite sui tipi di dati I sottoprogrammi racchiudono in maniera astratta le righe di codice necessarie ad eseguire un’operazione Se l’operazione deve essere ripetuta più volte l’utilizzo dei sottoprogrammi è ancora più vantaggioso Informatica per l’Ingegneria

Il concetto di sottoprogramma (2) I sottoprogrammi sono lo strumento per realizzare astrazioni sulle operazioni Due tipi (concettualmente): Funzioni: sottoprogrammi descrivibili come vere e proprie funzioni matematiche e possiedono un dominio ed un codominio Procedure: sottoprogrammi che modificano lo stato di alcune variabili di programma L’utilizzo dei sottoprogrammi necessita di: Definizione del sottoprogramma Chiamata del sottoprogramma Informatica per l’Ingegneria

Sottoprogrammi: Definizione Deve contenere almeno il nome del sottoprogramma, la lista degli output e degli input Le variabili di input prendono il nome di parametri formali del sottoprogramma In Matlab: In un file di funzione (estensione .m) che: Tratta tutte le variabili come locali Ha il nome uguale a nome_funzione.m Inizia con la riga di definizione della funzione : function [variabili di output] =nome_funzione(variabili di input) Ammette le seguenti varianti di definizione:     - function variabile_di_output  =nome_funzione(variabili di input)  quando c’è  una sola variabile di output      - function nome_funzione(variabili di input) quando non c’è  alcuna variabile di output (procedura) Informatica per l’Ingegneria

Sottoprogrammi: Chiamata Consentono di utilizzare le operazioni implementate dal sottoprogramma: Struttura della chiamata: Identificatore del sottoprogramma Lista dei parametri attuali, tra parentesi tonde: Sono i valori degli argomenti rispetto ai quali deve essere calcolato Corrispondono in numero e ordine ai parametri formali dichiarati In Matlab: nome_funzione (parametri attuali) Varianti: parametri attuali come varibili, oppure come valori, oppure come vettori Informatica per l’Ingegneria

Esecuzione dei sottoprogrammi e passaggio dei parametri drop.m function [dist, vel] = drop (g, v0,t) vel=g*t+v0; dist= 0.5*g*t^2+v0*t; myscript.m a=9,8; veloc_iniziale=10; tempo=5; [distanza, veloc] = drop (a, veloc_iniziale, tempo) Informatica per l’Ingegneria

Esecuzione di funzioni: macchine astratte master e slave g a veloc_iniziale v0 t tempo dist distanza vel veloc SLAVE: calcola il risultato dopo aver manipolato i parametri formali MASTER: chiama la funzione passando i parametri attuali Informatica per l’Ingegneria

Esecuzione di funzioni: macchine astratte master e slave Le due macchine hanno ciascuna il proprio ambiente di esecuzione: La macchina slave ha un ambiente locale di funzione caratterizzato da: Variabili locali Variabili corrispondenti ai parametri formali Variabile che contengono i valori di output La macchina master ha un ambiente caratterizzato dalle variabili che utilizza il programma chiamante, tra cui quelle passate come parametri attuali Informatica per l’Ingegneria

Passaggio di parametri L’istruzione: [distanza, veloc] = drop (a, veloc_iniziale, tempo) provoca il seguente flusso: La macchina master chiama la macchina slave per il valore di [distanza, veloc] passando i parametri ad essa:il passaggio dei parametri consiste nella copiatura dei parametri attuali nella cella dei parametri formali Il controllo viene ceduto alla macchina slave, che procede con l’esecuzione come un normale programma Il controllo viene restituito alla macchina master con la restituzione del valore di [distanza, veloc] Informatica per l’Ingegneria

Informatica per l’Ingegneria Procedure Sono sottoprogrammi che non restituiscono valori Le procedure non servono a produrre dei valori di un certo tipo ma a modificare lo stato del programma che ne chiede l’esecuzione Informatica per l’Ingegneria

Informatica per l’Ingegneria Procedure : esempio sortandprint.m function sortandprint(V) N=length(V) for i=1:N k=i; for j=i+1:N if V(k) >V(j) k=j; end if k~=i lavoro = V(i); V(i) = V(k); V(k)= lavoro; disp(V); myscript.m I= [8, 15, 1, 4, 87] sortandprint (I); Informatica per l’Ingegneria

Esecuzione delle procedure Ambiente globale V I N k j Ambiente locale di mioscript.m i lavoro Ambiente di sortandprint.m Informatica per l’Ingegneria

Passaggio parametri per indirizzo Parametri attuali Parametri formali Passaggio per valore 243 243 Ind(x) = 2034 y A Passaggio per indirizzo 413 1004 Ind(y) = 1004 Informatica per l’Ingegneria

Visibilità delle variabili variabili locali: i loro valori sono visibili solo all’interno della funzione che le definiscono e non nell’area di lavoro principale variabili globali: i loro valori sono visibili all’interno dell’area principale di lavoro e nelle funzioni che dichiarano tali variabili come globali: sintassi: global A X Y nelle funzioni Informatica per l’Ingegneria

Informatica per l’Ingegneria Handle di Funzioni etichette utilizzabili per fare riferimento alle funzioni Esempio: definire un handle d per la funzione drop function [dist, vel] = drop (g, v0,t) d=@drop Utilità: definire funzioni di funzioni Esempio fzero(@funzione, x0) è una funzione che calcola lo zero di una funzione @funzione ad una sola variabile, se X0 è ipotizzato come valore dello 0. Informatica per l’Ingegneria

Categorie di Sottoprogrammi Built in: automaticamente forniti dal linguaggio matematiche, logiche, ecc User defined: definiti dall’utente come visto finora Informatica per l’Ingegneria

Tipi di sottoprogrammi user-defined in Matlab Funzione primaria: prima funzione in un file .m, unica chiamabile nel prompt con il nome del file che la contiene o con il comando Run Funzioni anonime: non richiedono la creazione di file.m Sottofunzioni: definite in un file .m a seguito della funzione primaria Funzioni annidate: definite all’interno di altre funzioni, non visibili al di fuori di esse Funzioni overloaded: rispondono in maniera diversa a seconda degli argomenti di input Funzioni private: chiamabili soltanto dalle funzioni di file.m che si trovano nella directory parent Informatica per l’Ingegneria

Esempio funzione principale-sottofunzione I = [82, 3, 4, 7, 1, 89, 43]; sort(I); function sort(V) N=length(V) for i=1:N k=i; for j=i+1:N if V(k) >V(j) k=j; end if k~=i lavoro = V(i); V(i) = V(k); V(k)= lavoro; disp(V); Funzione Principale Sottofunzione Informatica per l’Ingegneria

Informatica per l’Ingegneria Esercizio 1 Progettare tramite flowchart struttrato un programma che acquisisca un vettore di interi e consenta la scelta ripetuta tra le seguenti opzioni: visualizzazione del massimo e minimo nel vettore visualizzazione della media nel vettore visualizzazione del vettore ordinato in ordine crescente ricerca binaria di un elemento K nel vettore. Codificare in Matlab il progetto, realizzando un sottoprogramma per ognuna delle opzioni precedenti Informatica per l’Ingegneria

Esercizio 1 : funzione primaria Informatica per l’Ingegneria

Esercizio 1 : ricerca del massimo e del minimo Informatica per l’Ingegneria

Esercizio 1 : calcolo della media Informatica per l’Ingegneria

Esercizio 1 : ordinamento Informatica per l’Ingegneria

Informatica per l’Ingegneria Esercizio 1 : ricerca Informatica per l’Ingegneria

Informatica per l’Ingegneria Esercizio 2 Progettare tramite flowchart struttrato un programma che acquisisca un vettore di stringhe e consenta la scelta ripetuta tra le seguenti opzioni: visualizzazione del vettore ordinato in ordine alfabetico ricerca binaria di un elemento K nel vettore. Codificare in Matlab il progetto, realizzando un sottoprogramma per ognuna delle opzioni precedenti Informatica per l’Ingegneria

Esercizio 2: funzione primaria Informatica per l’Ingegneria

Esercizio 2: Inserimento nel vettore Informatica per l’Ingegneria

Esercizio 2: confronto alfabetico Informatica per l’Ingegneria

Esercizio 2: Ordinamento alfabetico Informatica per l’Ingegneria

Esercizio 2: ricerca binaria Informatica per l’Ingegneria