Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

3TC – Aprile 07 RIPASSOArray Procedure e Funzioni.
LS Tron Classe 4TC – as 2006/07 LORGANIZZAZIONE DEI PROGRAMMI UD. 8 p. 282.
Le funzioni UD. 8 – Lorganizzazione dei programmi p. 309 LS Tron 4TC 06/07.
Corrado Cavalli Microsoft .NET MVP
Lez. 6 (10/11) - PBElementi di Programmazione1 Lezione 6 Parametri Facoltativi Matrici Matrici di parametri.
Lez. 8 (10/11) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 8 (11/12) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 7 (10/11) - PBElementi di Programmazione1 Lezione 7 Matrici di Celle Tipi String e Date.
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Lez. 10 (10/11) - PBElementi di Programmazione1 Lezione 10 Funzioni e Moduli Macro Analisi del flusso Esercizi.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Elementi di Programmazione
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
Oggetti Form e Controlli Registratore di Macro
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 5 (10/11 - PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 5 (11/12- PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 9 (10/11) - PBElementi di Programmazione1 Lezione 9 Oggetti Moduli e Controlli Registratore di Macro.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 6 (11/12) - PBElementi di Programmazione1 Lezione 6 Matrici Matrici di parametri.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
EP 13/14Lezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Moduli 1 In Access è possibile automatizzare diverse operazioni mediante l’utilizzo del linguaggio VBA (Visual Basic for Applications). Le istruzioni.
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
Funzioni definite dall’utente
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Le funzioni.
Laboratorio di Linguaggi di Programmazione 2007/2008 Marco Antoniotti Giuseppe Vizzari.
JavaScript 3. Commenti in JS Come in altri linguaggi di programmazione anche javascript offre la possibilità di inserire i commenti all'interno delle.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmare in Visual Basic
Lo sviluppo top down Le funzioni
Passaggio di parametri per indirizzo
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
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.
Algoritmo Ordinamento di 3 Numeri
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
CORSO DI PROGRAMMAZIONE II Lezione 22
- prof. V. Riboldi - SOTTOPROGRAMMI IN TPASCAL METODO TOP DOWN.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
ESEMPIO DI MODELLIZZAZIONE OOP Sistema di gestione dei contatti con i clienti da parte del reparto vendite tratto da : VISUAL BASIC 6 Programmazione ad.
Lezione 3 Struttura lessicale del linguaggio
Lez. 10 (13/14)Elementi di Programmazione1 Lezione 10 Oggetti Moduli e Controlli.
Le funzioni Rassegna degli argomenti trattati LS Tron 14/15 Prof. Carla Fanchin.
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Lez. 8 (13/14)Elementi di Programmazione1 Lezione 8 Tipi String e Date.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Sottoprogrammi e funzioni
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
Laboratorio Informatico
Transcript della presentazione:

Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure

Lez. 5 (13/14)Elementi di Programmazione2 Le routine in VBA Il termine routine in VBA racchiude tre modi diversi di gestire sottoprogrammi: –Subroutine o procedure ( Sub ) sequenze di istruzioni parametrizzabili che non restituiscono alcun valore se non attraverso i parametri (equivalgono ad una void function() del C) –Function o funzioni ( Function ) Simili alle procedure ma restituiscono un valore ed hanno un tipo (come le funzioni in C) –Property o proprietà ( Property ) Usate per definire e manipolare le proprietà degli oggetti

Lez. 5 (13/14)Elementi di Programmazione3 Le routine in VBA Alle routine è possibile passare dei parametri Il passaggio dei parametri in VBA è molto flessibile : –passaggio per riferimento (indirizzo): ByRef Metodo usato se non diversamente indicato –passaggio per valore: ByVal –i parametri possono essere anche facoltativi ( Optional )

Lez. 5 (13/14)Elementi di Programmazione4 Le routine in VBA Quando viene richiamata una routine il collegamento fra parametri formali (quelli con cui si è dichiarata la funzione) e parametri attuali (quelli usati per richiamare la funzione) può avvenire: –In maniera posizionale come in C –Con la sintassi nomeParametro := valore

Lez. 5 (13/14)Elementi di Programmazione5 Le routine in VBA Gli argomenti di una routine vanno dichiarati uno dopo l’altro separati da virgola come segue: –Per ogni parametro per valore ByVal nomeParametro As Tipo –Per ogni parametro per riferimento ByRef nomeParametro As Tipo La parola chiave ByRef si può omettere

Lez. 5 (13/14)Elementi di Programmazione6 Procedure Sub nomeSub (parametri) dichiarazione variabili locali istruzioni End Sub –Per terminare una procedura senza giungere a End Sub si usa Exit Sub –È meglio, non obbligatorio, dichiarare le variabili locali all’inizio della procedura

Lez. 5 (13/14)Elementi di Programmazione7 Procedure –Per richiamare una procedura si possono usare due sintassi alternative: Call nomeProcedura (argomenti) nomeProcedura argomenti –Dove argomenti è l’elenco degli argomenti specificato in maniera posizionale o con la sintassi nomeParametro := valore –Si noti la mancanza delle parentesi nel secondo modo Aggiungere le parentesi nel secondo modo provoca un comportamento anomalo: –Se vi è un solo parametro è comunque passato ByVal –Se vi è più di un parametro è generato un errore di sintassi

Lez. 5 (13/14)Elementi di Programmazione8 Esempio Sub primaProc(v1 As Integer, ByVal v2 As Integer) Dim L As Integer v1 = v1 * 3 v2 = v2 * 2 L = v1 + v2 MsgBox ("primaProc: " & vbCrLf & "v1=" & v1 & " v2=" & v2 & _ " L=" & L ) End Sub –Si è dichiarata una procedura di nome primaProc –Il parametro v1 è di tipo Integer passato per riferimento –Il parametro v2 è di tipo Integer passato per valore –L è una variabile locale –Il carattere vbCrLf indica il carattere di a capo. Parametri Formali

Lez. 5 (13/14)Elementi di Programmazione9 Esempio Sub richiama() Dim x As Integer, y As Integer x = 8 y = 100 MsgBox ("richiama: " & vbCrLf & "x=" & x & " y=" & y) primaProc x, y MsgBox ("richiama: " & vbCrLf & "x=" & x & " y=" & y) End Sub –La procedura richiama non ha parametri –Vi sono due variabili locali di tipo Integer –Osservare i valori di x ed y prima e dopo il richiamo di primaProc Parametri attuali

Lez. 5 (13/14)Elementi di Programmazione10 Sub primaProc(v1 As Integer, _ ByVal v2 As Integer) Dim L As Integer v1 = v1 * 3 v2 = v2 * 2 L = v1 + v2 End Sub Sub richiama() Dim x As Integer, y As Integer x = 8 y = 100 primaProc x, y End Sub richiama() x y primaProc() v1 v2 L ^x ^x ^x ^x Esempio

Lez. 5 (13/14)Elementi di Programmazione11 Esempio Sub prima(v1 As Integer, _ ByVal v2 As Integer) Dim L As Integer v1 = v1 * 5 v2 = v L = v1 + v2 MsgBox ("prima: " & v1 _ & " " & v2 & " " & L) End Sub Sub richiama() Dim g As Integer, _ q As Integer g = 10 q = -10 Call prima(g, q) MsgBox (g & " " & q) prima g, 78 MsgBox (g & " " & q) End Sub richiama() g q prima() v1 v2 L (^g) -10 / (^g) -10 / (^g) -20 / (^g) prima() v1 v2 L (^g) 78 / (^g) 78 / (^g) 68 / (^g)

Lez. 5 (13/14)Elementi di Programmazione12 Esempio Option Explicit Sub prova(ByRef a As_ Integer, _ ByVal b As Integer) a = a * 2 b = b * 2 End Sub Sub richiama() Dim x As Integer, _ y As Integer x = 2 y = 10 prova x, y End Sub richiama() x y prova() 2 10 a b 2 10 (^x) (^x) (^x) tempo

Lez. 5 (13/14)Elementi di Programmazione13 Esempio Option Explicit Sub uno(a As Double) Dim b As Double b = a * 2 a = a - 2 End Sub Sub richi() Dim x As Double, a As Double x = 10 a = 50 uno x uno a End Sub richi() x a uno() a b (^x) (^x) (^x) (^a richi ) (^a richi ) (^a richi )

Lez. 5 (13/14)Elementi di Programmazione14 Esempio Sub richiama2() Dim x As Integer, y As Integer x = 8 y = 100 MsgBox ("richiama: " & vbCrLf & "x=" & x & " y=" & y) primaProc v2 := x, v1 := y MsgBox ("richiama: " & vbCrLf & "x=" & x & " y=" & y) End Sub –Si mostra l’altra modalità di passaggio dei parametri

Lez. 5 (13/14)Elementi di Programmazione15 Esempio Sub richiama3() Dim x As Integer, y As Integer x = 8 y = 100 MsgBox ("in richiama: " & vbCrLf & "x=" & x & " y=" & y) Call primaProc(x, y) MsgBox ("in richiama: " & vbCrLf & "x=" & x & " y=" & y) End Sub per richiamare la procedura si è usata l’istruzione Call –Si noti che i parametri attuali sono fra parentesi tonde –Anche in questa modalità è possibile passare i parametri usando l’operatore :=