Lezione 13 Variabili Local e Global Obiettivi di apprendimento: A.Come usare le local variables B.Come usare le global variables C.Consigli sull’uso di.

Slides:



Advertisements
Presentazioni simili
Procedure e funzioni A. Ferrari.
Advertisements

Java: programmazione concorrente con condivisione di memoria
Algoritmi e Programmazione
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
Informatica Generale Marzia Buscemi
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Caratteri e stringhe di caratteri
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione 1, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a.2009/2010 Prof.ssa Chiara Petrioli.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Lab X: Battaglia Navale
File.
Corso di Informatica (Programmazione)
Introduzione al LABVIEW
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
LabVIEW Laboratory Virtual Instrument Engineering Workbench
Criticità sui dati (esempio da fare on line)
Introduzione alla programmazione lll
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
1 Generazione codice Daniela Briola Lorena Bellino.
Approfondimento delle classi
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Daniel Stoilov Tesi di Laurea
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Elementi di Informatica
UNIVERSITÀ DEGLI STUDI DI PISA Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica ACQUISIZIONE DATI IN AMBIENTE REAL TIME E MONITORAGGIO VIA.
LABoratory Virtual Instrument Engineering Workbench LabVIEW.
Internet L’essenziale.
Cosa è una applicazione distribuita?
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
LabVIEW LABoratory Virtual Instrument Engeneering Workbench LabVIEW LABoratory Virtual Instrument Engeneering Workbench.
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Chronos Jpdl Designer versione 1.0
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Introduzione al linguaggio assembly del microprocessore a parte
BIOINFO3 - Lezione 321 ACCESSO REMOTO AL SERVER SIBILLA Attraverso Internet è possibile accedere al server sibilla.cribi.unipd.it. Potrete così effettuare.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
SAS® OnDemand for Academics SAS Studio
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
LA FILOSOFIA DEL SAS Concepito per essere facilmente accessibile.
Diagrammi a blocchi.
Informatica e Informatica di Base
Scratch.
Conversione Analogico/Digitale Le grandezze fisiche che vogliamo misurare variano con continuità in un dato intervallo ed in funzione del tempo: sono descrivibili.
Controllo della concorrenza basato sui timestamp.
LA STRUMENTAZIONE VIRTUALE
Opzioni Block diagram. Lezione 5 Array, Grafici e Cluster A.Uso degli arrays B.Creazione di arrays tramite i cicli C.Alcune funzioni base per la manipolazione.
Laboratorio di Architettura Degli Elaboratori1 Macchine a stati finiti – un automa di Mealy generale con 1 bit d’ingresso, 1 di uscita e 2 di stato.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
Lezione 14 Tecniche di I/O Avanzate Obiettivi di apprendimento: A.Come lavorare con stream binari B.Lavorare con I datalog files C.Vantaggi e svantaggi.
13. Strutture dati dinamiche Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
FESR Trinacria Grid Virtual Laboratory Workload Management System (WMS) Muoio Annamaria INFN - Catania Primo Workshop TriGrid VL Catania,
Transcript della presentazione:

Lezione 13 Variabili Local e Global Obiettivi di apprendimento: A.Come usare le local variables B.Come usare le global variables C.Consigli sull’uso di local e global variables

Data Management Dataflow è il modo più efficiente di trasportare dati –I Nodi sono eseguiti quando i dati in ingresso sono disponibili –I Nodi forniscono i dati a tutte le uscite al termine dell’esecuzione –I dati si muovono dalla sorgente alla destinazione La maggior parte delle applicazioni usa i fili per trasferire i dati Non si possono usare i fili per trasferire dati tra task eseguiti in parallelo (il collegamento crea una dipendenza)

Creare le Local Variables Consentono di accedere ad oggetti del front panel da diverse locazioni del diagram Due modi per creare una local variable: –Right-click sul terminale di un oggetto e Create >> Local Variable –Selezionare local variable dalla Structures palette

Creare le Local Variables Right-click sulla local variable node e scegliete Select Item per selezionare l’oggetto desiderato Owned label diventano i nomi delle variabili Selezionare se si vuole leggere o scrivere la local variable

Local Variable: Esempio Si consideri un’applicazione che necessita l’arresto di due While Loops data-independent (o paralleli) allo stesso istante Ogni While Loop disegna un seno su un chart

Soluzioni all’esempio Metodo 1 (scorretto) Metodo 2 (scorretto)

Soluzioni all’esempio Metodo 3 (Corretto)

Local Variable Reminders Se un oggetto del front panel deve avere una local variable associata, allora deve avere una owned label Quando si scrive in una local variable, si aggiorna anche l’oggetto del front panel corrispondente Quando si legge una local variable, si legge il valore corrente dell’oggetto del front panel corrispondente

Global Variables Caso particolare di VI (Le locals operano solo nel VI) –Costituiti solamente dal Front panel e da oggetti del front panel –Non c’è il block diagram Panel objects sono “posti” dove collocare i dati Utilizzati per passare i dati tra VIs che sono in esecuzione o tra VIs che non possono essere collegati da un filo Leggere e scrivere le global variables –Scrivere tramite il “Write Global” –Leggere tramite il “Read Global” –Pop up sul nodo per scambiare tra read e write Write GlobalRead Global

Scambio di dati tra VIs VI Number 1VI Number 2

Creare le Global Variables Creare i controlli che si comporteranno da global variables Ogni controllo deve avere una owned label Right-click con l’Operating Tool

Global Variable Reminders Dare ad ogni global variable una owned label Scrivere (inizializzare) una global variable prima di leggerla Se non inizializzata, viene restituito il valore di default La global variable è scritta in un luogo diverso da dove viene letta, solitamente in un VI differente

Esercizio 13-2 Realizzare due VI che si scambiano dati tramite una GLOBAL variable Tempo a disposizione: 15 min.

Considerazioni su Locals e Globals Essere sicuri di inizializzare local e global variables prima di leggerle Evitare attentamente le “race conditions” Usare le locals e globals solo se necessario –Ogni “Read” di una local o global genera una copia dei dati –Accedere alle globals e locals può richiedere più risorse di memoria e rallentare l’esecuzione LabVIEW Code Sequential Code x = x * 5 x = x + 2 OR x + 2 x = x * 5 Non c’è una chiara data dependency, quindi l’ordine di esecuzione non è noto in modo preciso

Riepilogo Le Local variables accedono agli oggetti del front panel nel quale sono create Quando si legge o scrive una local variable, si legge o aggiorna lo stato corrente dell’oggetto del front panel associato Le Global variables scambiano dati tra VI che girano in parallelo Scrivere una global variable prima di leggerla Usare Local e Global Variables solo se necessario!!