Elementi di Programmazione

Slides:



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

UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Introduzione al linguaggio C++
LINGUAGGIO DI PROGRAMMAZIONE C
Modulo 4 – Seconda Parte Foglio Elettronico
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
Introduzione al linguaggio C
SQL applicato a SQL Server
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
Lez. 6 (10/11) - PBElementi di Programmazione1 Lezione 6 Parametri Facoltativi Matrici Matrici di parametri.
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Elementi di Programmazione
Elementi di Programmazione
EP 11/12 - PBLezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati, Variabili, Espressioni.
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.
EP 12/13 - PBLezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati.
Lez. 9 (10/11) - PBElementi di Programmazione1 Lezione 9 Oggetti Moduli e Controlli Registratore di Macro.
EP 11/12-PBLezione 11 Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Algoritmi e Programmazione
EP 13/14Lezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati, Variabili, Espressioni.
Anno accademico Gli operatori e le espressioni in C.
Il linguaggio C Gli operatori e le espressioni C Language
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Algebra di Boole ed elementi di logica
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Fogli elettronici - Spreadsheet
Fogli di Calcolo Elettronici Corso di Informatica Generale per SMID a.a. 2002/03 docente: Giorgio Delzanno (DISI)
Dichiarazioni e tipi predefiniti nel linguaggio C
Il Linguaggio C.
Espressioni condizionali
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Java base I: Sintassi e tipi di dati
DBMS ( Database Management System)
Lavorare in Ambiente MS Excel Le Macro di Excel
Claudia Raibulet Algebra Booleana Claudia Raibulet
Excel Avanzato Personalizzare Excel.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Programmare in Visual Basic
EXCEL E FTP.
Riepilogo Foglio elettronico Excel - Base
1 Se seleziono le colonne da A – F e modifico con il mouse la larghezza della colonna C, cosa succede alle altre colonne selezionate? 1.Assumono tutte.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
Convalida dati Menù dei comandi Dati Convalida. Convalida Dati E’ utile quando si vuole utilizzare un dato prelevato da un insieme Si opera in questo.
Modulo 6 Test di verifica
Lez. 10 (13/14)Elementi di Programmazione1 Lezione 10 Oggetti Moduli e Controlli.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.
Elementi di Programmazione
Introduzione a Javascript
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
Microsoft Access Chiavi, struttura delle tabelle.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Laboratorio Informatico
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

Elementi di Programmazione Interazione con l’utente Tipi di Dati, Variabili, Espressioni EP 10/11 - PB Lezione 2

Libri Guccini, Excel 2007 Macro, apogeo (7,50 ) Rota, Visual Basic, Hoepli (ed. per le scuole superiori) Specifico per Visual Basic non per VBA ma per i principianti della programmazione può essere utile per apprendere i fondamenti della programmazione. EP 10/11 - PB Lezione 2

VBA: esempio commento Gerarchia degli oggetti dell’esempio Workbook Range("B2").Characters.Font.Name="Arial Black“ Modifica il tipo di fonte della cella B2 Gerarchia degli oggetti dell’esempio Workbook Worksheet Celle (ci si riferisce con: Range()) Characters (il carattere nella cella) Font (la fonte usata) Name (il nome della fonte) EP 10/11 - PB Lezione 2

VBA Per riferirsi ad una cella si usa Range(“nomeCella”) Cells(riga,colonna) dove riga e colonna sono coordinate numeriche In questo caso può essere utile visualizzare le coordinate delle colonne con i numeri e non con le lettere (Strumenti->Opzioni->Generale spuntare la casella Stile di Riferimento R1C1) Ogni cella ha diverse proprietà che possono essere modificate EP 10/11 - PB Lezione 2

VBA Esempio con Cells Sub primoEsempio() Worksheets(2).Cells(3, 1) = ThisWorkbook.Name Worksheets(2).Cells(5, 1) = Worksheets(1).Range("A5").Value Worksheets(2).Cells(2, 2) = Worksheets(1).Range("B2").Value Worksheets(2).Cells(2, 2).Characters.Font.Name = "Courier New" End Sub Si noti che si lavora sul secondo foglio, prendendo alcuni dati dal primo EP 10/11 - PB Lezione 2

Controlli Interazione guidata con l’utente Set di strumenti predefiniti Programmazione ad eventi EP 10/11 - PB Lezione 2

Uso di controlli Il modo di interagire appena visto è poco utile: occorre lanciare ogni volta la procedura VBA mette a disposizione i controlli per migliorare l’interazione con l’utente I controlli si scelgono dalla barra degli strumenti di controllo: Visualizza -> Barre degli Strumenti -> Strumenti di Controllo EP 10/11 - PB Lezione 2

Uso di controlli La tavolozza contiene diversi strumenti Modalità Controlli Standard (nell’ordine): Casella controllo Casella di testo Pulsante Comando (Bottone) Pulsante di opzione Casella riepilogo Casella combinata Interruttore Pulsante di selezione Barra di scorrimento Etichetta Immagine Modalità Progettazione Altri Controlli Visualizzatore Proprietà Visualizzatore Codice EP 10/11 - PB Lezione 2

Uso Controlli Creiamo un bottone a cui associamo del codice Oggetto : bottone Evento : click del mouse Azione : funzione di risposta EP 10/11 - PB Lezione 2

Uso Controlli In modalità di progettazione: Si seleziona il controllo desiderato Lo si posiziona sul foglio nella posizione desiderata Si schiaccia due volte sull’oggetto e si entra in modalità VBA per creare il codice necessario a gestire il bottone quando sarà schiacciato Il codice si attiva solo fuori dalla modalità progettazione EP 10/11 - PB Lezione 2

Uso Controlli Inseriamo il seguente codice per il bottone dopo aver cambiato nelle proprietà il nome del bottone in Schiaccia (attributo (Name) nella finestra delle proprietà attivata evidenziando il bottone e schiacciando il tasto Visualizzatore Proprietà) Private Sub Schiaccia_Click() Range("A3").Value = 234 Range("C3").Value = -234 Range("C3").Font.Color = RGB(0, 255, 0) End Sub EP 10/11 - PB Lezione 2

Altre osservazioni Si noti che abbiamo sempre racchiuso il codice in questo modo: Private Sub Nome() : End Sub Abbiamo creato una procedura (Subroutine) Denominata Nome La parola chiave Private non è obbligatoria I commenti si creano premettendo il carattere ‘ I commenti terminano con la fine della riga Per commenti su più righe ogni riga deve iniziare con ‘. EP 10/11 - PB Lezione 2

Interazione con l’utente: MsgBox Serve per inviare un messaggio all’utente Ha due forme: Funzione: MsgBox(testo, tipoCasella, titolo) testo: stringa con il messaggio (fra “”) tipoCasella: tipo della acsella (vedi poi; facoltativo) titolo: stringa con il titolo della casella (facoltativo) Restituisce un valore che va messo in una variabile Istruzione MsgBox testo, tipoIcona, titolo Non restituisce alcun valore EP 10/11 - PB Lezione 2

Interazione con l’utente: MsgBox tipoCasella può avere diversi valori fra cui: vbOKOnly vbCritical vbQuestion vbExclamation vbInformation Quando si salta un valore nella lista dei parametri va comunque messa la virgola. MsgBox(testo,, titolo) MsgBox testo,, titolo EP 10/11 - PB Lezione 2

Interazione con l’utente: MsgBox Studiare il comportamento del seguente codice sostituendo i diversi valori per TipoCasella (osservare come varia il valore restituito): Sub interazione() ris = MsgBox("Ciao!", , "prova") Range("A1") = ris MsgBox "Bye!", vbCritical, "prova" Range("A1") = "" End Sub EP 10/11 - PB Lezione 2

Interazione con l’utente: InputBox Serve per richiedere dei dati all’utente E’ una funzione che restituisce una stringa con il valore inserito dall’utente InputBox(Testo, Titolo, Default, Xp, Yp) Testo: indicazione della richiesta Titolo: intitolazione casella (facoltativo) Default: valore restituito in caso di nessuna scelta (facoltativo) Xp, Yp: coordinate della casella sul video espressa in punti tipografici (1/72 di pollice = 0,35 mm) rispetto all’angolo superiore sx dello schermo (facoltative) EP 10/11 - PB Lezione 2

Coordinate Video Xp (0,Xmax) (0,0) (X,Y) (Ymax, 0) Yp EP 10/11 - PB Lezione 2

Interazione con l’utente: InputBox Provare ad eseguire il seguente esempio con diversi valori: Sub interagisci() ris = InputBox("valore: ", "Casella", "nulla", 10, 20) Range("A1") = ris End Sub EP 10/11 - PB Lezione 2

Tipi di Dati Il tipo di dato indica il modo di codificare i dati e le operazioni che si possono compiere su questi Il nome del tipo di dato può richiamare nomi di entità matematiche ma non è detto che gli intervalli e le proprietà dell’ente matematico coincidano con quelle del tipo di dato Finitezza delle rappresentazioni che deriva dalla memoria limitata di un elaboratore: Interi: complemento a due a n bit Reali: virgola mobile ad n bit EP 10/11 - PB Lezione 2

Principali Tipi di VBA Byte 0-255 Boolean True False Integer -32.768 ... 32.767 Long -2.147.483.648... 2.147.483.647 Single -3,403 1038 ... -1.401 10-324 1,401 10-324 ... 3,403 1038 Double -1,798 10308 ... -4,941 10-324 4,941 10-324 ...1,798 10308 EP 10/11 - PB Lezione 2

Principali Tipi di VBA Currency Date 01/01/100 ... 31/12/9999 -922.337.203.685.477,5808 ... 922.337.203.685.477,5807 Date 01/01/100 ... 31/12/9999 String (sequenza ordinata di caratteri) Possono essere: Lunghezza variabile da 0 a 231 caratteri. Lunghezza fissa da 1 a 216 caratteri. EP 10/11 - PB Lezione 2

Tipo Variant quando non viene dichiarato il tipo si assume che sia Variant Per dati numerici come Double Per dati non numerici come String di lunghezza variabile EP 10/11 - PB Lezione 2

Variabili Una variabile è una zona di memoria atta a contenere dei valori Ad ogni variabile è associato un Tipo (se non dichiarato è Variant) Le variabili si dichiarano in questo modo: Dim nomeVariabile As TipoDiDato le variabili possono non essere dichiarate prima di essere usate EP 10/11 - PB Lezione 2

Variabili Inserendo l’opzione Option Explicit all’inizio del modulo al di fuori di tutte le routine si obbliga il programmatore a dichiarare tutte le variabili Nel seguito dichiareremo esplicitamente tutte le variabili: Dopo ogni nome di variabile va indicato il tipo (se manca è assunto il tipo Variant), una dichiarazione simile: Dim v1, v2 As Integer Viene interpretata da VB come v1 di tipo Variant (si è omesso il tipo) v2 di tipo Integer EP 10/11 - PB Lezione 2

Const nomeVariabile As TipoDiDato = Valore Costanti Sono variabili cui viene assegnato un valore che non può essere modificato Le costanti si dichiarano in questo modo: Const nomeVariabile As TipoDiDato = Valore In VBA esistono anche delle costanti predefinite EP 10/11 - PB Lezione 2

Risultato = Operando1 Operatore Operando2 Espressione L’espressione è un insieme ordinato di variabili ed operatori Ogni espressione ha Un valore dato dal risultato dell’espressione Un tipo determinato dal tipo delle variabili e dagli operatori La forma generale è: Risultato = Operando1 Operatore Operando2 L’operando (o termine) può essere a sua volta una espressione EP 10/11 - PB Lezione 2

Operatori Gli operatori sono dei simboli che rappresentano una operazione Ogni tipo di dato possiede un insieme di operatori che si possono applicare su di esso Gli operatori possono essere Unari: si applicano solo ad un termine (-5) Binari: si applicano su due termini (a + 6) Ternari: si applicano su tre termini EP 10/11 - PB Lezione 2

Operatori (in ordine precedenza) ^ elevamento a potenza - negazione (operatore ad 1 operando) * / prodotto e divisione decimale \ divisione intera (operandi decimali arrotondati) Mod resto divisione (operandi decimali arrotondati) + - addizione e sottrazione & concatenazione di stringhe = <> > >= < <= Like Is IsNot TypeOf operatori confronto Not negazione logica e bit a bit And and logico e bit a bit Or XOr or logico e bit a bit, Xor logico e bit a bit Imp implica A parità di precedenza: valutazione da sinistra a destra Operatori Booleani EP 10/11 - PB Lezione 2

Operatori: note Esistono anche altri operatori che non sono stati indicati Gli operatori booleani su espressioni di tipo booleano si comportano come operatori logici (vedi tavole verità) se hanno come argomento espressioni numeriche eseguono l’operazioni sui singoli bit che rappresentano il numero EP 10/11 - PB Lezione 2

Tavole verità X Y NOT X X AND Y X OR Y X XOR Y X Imp Y T T F T T F T T F F F T T F F T T F T T T F F T F F F T => T: True (Vero, valore numerico -1) F: False (Falso, valore numerico 0) X Imp Y = NOT X OR Y X XOR Y = (NOT X AND Y) OR (X AND NOT Y) EP 10/11 - PB Lezione 2

Operatori booleani Bit a Bit Nell’uso come operatori bit a bit il valore binario degli operandi viene confrontato bit a bit per produrre un nuovo valore in base all’operatore applicato (0 è F , -1 è T): A = 5 00000101 B = 16 00010000 A And B 00000000 0 A OR B 00010101 21 A Xor B 00010101 21 A Imp B 11111010 -6 Si ricorda che i numeri interi sono rappresentati in complemento a 2, nel caso in esame supponendo A e B di tipo Byte, il complemento a due è a 8 bit In caso di una espressione che contenga un termine di tipo numerico ed uno di tipo booleano prevale il tipo numerico ed il valore booleano è 0 per F e -1 per T EP 10/11 - PB Lezione 2

Problemi con la lettura La lettura dei dati dal foglio elettronico impone il tipo della cella La lettura dei dati da InputBox restituisce un tipo String Esistono delle funzioni specifiche per convertire un’espressione in uno dei tipi di VB In caso di impossibilità è generato un errore EP 10/11 - PB Lezione 2

Funzioni di conversione CBool(espr) converte in Boolean CByte(espr) converte in Byte CDate(espr) converte in Date CDbl(espr) converte in Double CInt(espr) converte in Int CLong(espr) converte in Long CSing(espr) converte in Single CStr(espr) converte in String CVar(espr) converte in Variant EP 10/11 - PB Lezione 2