Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del...

54
Sommario Caratteristiche di un calcolatore elettronico Capacità del calcolatore Compiti del programmatore Competenze Abilità Analisi e programmazione Linguaggi di programmazione Programmazione strutturata VBA ed Excel

Transcript of Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del...

Page 1: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Sommario

Caratteristiche di un calcolatore elettronico Capacità del calcolatore

Compiti del programmatore Competenze Abilità

Analisi e programmazione Linguaggi di programmazione Programmazione strutturata VBA ed Excel

Page 2: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Caratteristiche di un calcolatore - 1

E’ una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche

E’ velocissimo, nel compiere le operazioni per le quali è stato progettato

E’ puntuale, nell’applicare le regole che conosce E’ duttile e si adatta bene ad eseguire nuove

tecniche, purché questo gli venga “spiegato” in modo dettagliato e non ambiguo

Ha una buona memoria, estremamente ampia ed organizzata in modo razionale

Page 3: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Caratteristiche di un calcolatore - 2

Non è intelligente, qualunque sia l’accezione di questo termine non è adatta a descriverne le caratteristiche

Non è in grado di compiere deduzioni, o ragionamenti di altro tipo in modo autonomo

Non è in grado di comprendere un problema Non è in grado di capire la soluzione di un

problema, né di capire se la soluzione raggiunta è quella giusta

Page 4: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Compiti del programmatore

Analizzare il problema, riducendolo in termini astratti, eliminando ogni componente non indispensabile e formulando un modello del problema stesso

Individuare una strategia risolutiva e ricondurla ad un algoritmo

Codificare l’algoritmo in modo tale da renderlo comprensibile al calcolatore

Analizzare il risultato dell’elaborazione evidenziando eventuali errori nella formulazione del problema, nella strategia risolutiva, nella codifica dell’algoritmo

Page 5: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Competenze ed abilità del programmatore

Deve essere in grado di capire i problemi e schematizzarli, distinguendone le diverse componenti (dati in input, parametri del problema, dati in output)

Deve essere in grado di risolvere problemi mediante un approccio algoritmico, individuando gli aspetti del problema che possono essere risolti reiternado più volte operazioni simili

Deve conoscere i metodi fondamentali di risoluzione dei problemi, gli approcci più comuni, le strade meno convenienti

Deve conoscere le caratteristiche del calcolatore Deve conoscere il linguaggio con il quale comunicare

Page 6: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Capacità del calcolatore

Sa memorizzare informazioni Sa distinguere tra informazioni di tipo numerico ed altri tipi

di informazione Sa eseguire alcune operazioni elementari: addizione,

sottrazione, prodotto e rapporto tra numeri, concatenazione di parole, ecc…

Sa eseguire il confronto fra informazioni dello stesso tipo (A < B, A=B, A>B, ecc…)

Sa leggere informazioni dall’esterno (input) e scrivere informazioni verso l’esterno (output)

Sa memorizzare sequenze di istruzioni elementari (programma) e le sa eseguire secondo un ordine stabilito nel programma stesso

Page 7: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Un esempio elementare

Problema: stampare i primi 10 multipli di x

Il problema è semplice e chiaro: un solo dato in input (un parametro che caratterizza l’istanza del problema) ed una costante rappresentata dal numero di multipli da stampare

La strategia risolutiva è la seguente: iniziando dal numero x letto in input, per 10 volte dovremo stampare il numero “in nostro possesso” e poi sommargli x.

Page 8: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Algoritmi

Un elenco di istruzioni è un algoritmo se sono soddisfatte le seguenti proprietà:

Finitezza: ogni istruzione deve essere eseguita in un tempo finito e un numero finito di volte;

Generalità: ogni algoritmo deve fornire la soluzione per i problemi appartenenti ad una determinata classe;

Non ambiguità: devono essere definiti in modo univoco tutti i passi; devono essere evitati paradossi, contraddizioni ed ambiguità.

Page 9: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Algoritmi e Programmi

Problema

Algoritmo

Programma

Risultati

AnalisiDiagramma a blocchi oppure Pseudo-codice

Programmazione

Linguaggio diprogrammazione

Page 10: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Descrizione degli Algoritmi

Uso di un linguaggio generalizzato costituito da strutture linguistiche prive di ambiguità e ridondanze;

Uso di proposizioni (espressioni) composte da due parti:

Descrizioni delle operazioni (istruzioni); Descrizione dei dati su cui eseguire le istruzioni.

Page 11: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Dati e Istruzioni

Istruzioni: Istruzioni operative (producono risultati se eseguite); Istruzioni di controllo (in funzione del verificarsi di condizioni

determinano l’esecuzione di alcune istruzioni piuttosto che di altre;

Istruzioni di inizio e fine; Istruzioni di I/O (trasmissione dati o messaggi fra l’ambiente

esterno e l’algoritmo).

Dati: Costanti (valore invariabile all’interno dell’algoritmo); Variabili scalari: <nome, valore> Variabili vettoriali: <nome, insieme di valori> Nota: il valore delle variabili è indeterminato all’inizio di

un algoritmo

Page 12: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Proposizioni e predicati

Come sono espresse le condizioni nelle istruzioni di controllo? Le istruzioni di controllo verificano se una condizione è vera o falsa. Il controllo viene espresso per mezzo di predicati.

Proposizione: Costrutto del quale si può dire se è vero o falso.

Predicato Una proposizione è un predicato se in essa appaiono delle variabili

e il valore di verità delle variabili determina il valore di verità della proposizione. I predicati si esprimono con operatori logici e relazionali. Predicati Semplici: predicati di un solo operatore (NOT) e una sola

variabile; Predicati Composti: predicati con operatori logici (AND, OR, NOT).

Page 13: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tavole di Verità

Tavole di Verità: descrivono i valori di verità dei predicati in funzione dei

valori di verità delle singole parti. Esprimono le modalità con cui operano gli operatori

relazionali.

Esempi:A B A and B

0 0 0

0 1 0

1 0 0

1 1 1

A B A or B

0 0 0

0 1 1

1 0 1

1 1 1

A not A

0 1

1 0

Page 14: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Linguaggi di programmazione - 1

Un linguaggio di programmazione è costituito, come ogni altro tipo di linguaggio, da un alfabeto con cui viene costruito un insieme di parole chiave (il vocabolario) e da un insieme di regole sintattiche per l’uso corretto delle parole del linguaggio

I microprocessori presenti all’interno della macchina sono stati progettati per riconoscere ed eseguire un insieme piuttosto ristretto di istruzioni: il cosiddetto linguaggio macchina

Il linguaggio macchina è basato su una codifica estremamente compatta e poco intuitiva

Page 15: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Linguaggi di programmazione - 2

Codificare un programma utilizzando il linguaggio macchina è assai arduo e richiede una conoscenza approfondita del funzionamento di un particolare calcolatore (o meglio del micorprocessore)

Per ovviare a questo problema, che ha costituito per molti anni un grande limite alla diffusione della programmazione, sono stati sviluppati dei linguaggi di programmazione più evoluti, che si pongono a metà strada tra il nostro linguaggio naturale e il linguaggio macchina

Sono semplici e poveri (pcohe parole chiave, poche regole), ma privi di qualsiasi ambiguità

Page 16: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Linguaggi di programmazione - 4

La programmazione a basso livello è meno intuitiva, ma consente di sviluppare programmi particolarmente efficienti

Ad alto livello la programmazione è più “naturale” e rapida, ma è possibile che non consenta di produrre software efficiente

Programmazionea basso livello

Programmazionead alto livello

Efficienza del programma

Facilità e velocità di programmazione

Page 17: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Linguaggi procedurali

Il nostro studio e l’approccio che adotteremo è focalizzato sull’uso di un linguaggio procedurale

Questi linguaggi sono basati su sei istruzioni fondamentali: Assegna: assegna ad una variabile (ad una locazione di memoria)

il valore di un’espressione Leggi: legge in input dall’esterno un valore e lo memorizza in una

variabile Scrivi: scrive in output il valore di un’espressione o di una

variabile Se … allora … altrimenti…: modifica il flusso del programma

sulla base del valore di una espressione logica Vai al passo…: modifica il flusso del programma

incondizionatamente Fermati: termina l’esecuzione del programma

Page 18: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Programmazione strutturata - 1

I programmatori inesperti tendono ad aggrovigliare il programma introducendo numerosi salti privi di regole (spaghetti programming)

E’ stato dimostrato (teorema fondamentale della programmazione di Jacopini e Bohm) che ogni programma può essere codificato attenendosi esclusivamente a tre strutture fondamentali:Sequenziale Iterativa Condizionale

Page 19: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Programmazione strutturata - 2 Le tre strutture possono essere concatenate

una di seguito all’altra, oppure nidificate una dentro l’altra

Non possono in nessun caso essere “intrecciate” o “accavallate”

Corretto

Sbagliato

Page 20: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Microsoft Excel & VBA

Mediante VBA è possibile realizzare macro

Se è necessario effettuare ripetutamente un insieme di operazioni elementari (formattazione di celle, applicazione di funzioni, ecc…), è possibile realizzare una macro, che rappresenta in un unico oggetto l’insieme di operazioni da effettuare

Una macro può essere realizzata: Mediante autocomposizione Mediante VBA (più potente e versatile)

Page 21: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Ambiente di sviluppo

Excel, come del resto ogni applicazione Office, mette a disposizione un ambiente di sviluppo per VBA (attivabile con ALT+F11)

Page 22: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Dichiarazione di variabili

nomevariabile - deve essere espresso mediante le regole di denominazione standard delle variabili. E’ generalmente costituito da una sequenza di simboli alfanumerici

Indici (facoltativo) – utilizzato per dichiarare un array, eventualmente multidimensionale, di variabili

tipo (facoltativo) – associa un tipo alla variabile; può essere byte, boolean, integer, long, currency, single, double, date, string, variant oppure un tipo definito dall’utente

Dim nomevariabile[(indice)] [As tipo]

Page 23: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati byte

Tipo di dati utilizzato per contenere numeri interi positivo compresi nell’intervallo 0 – 255.

Le variabili di tipo byte vengono memorizzate come numeri singoli, senza segno, a 8 bit (1 byte)

Page 24: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di variabile byte

Sub Macro1()

Dim prima As Byte

prima=1

Range(“a1”).Select

ActiveCell.Value=prima

End Sub

Page 25: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Boolean

Tipo di dati con solo due valori possibili True (-1) False (0)

Le variabili di tipo Boolean vengono memorizzate come numeri a 16 bit (2 byte)

Page 26: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di Boolean

Sub Macro1()

Dim prima As Boolean

prima=True

if prima Then

Range(“a1”).Select

ActiveCell.Value=“La variabile è vera”

End If

End Sub

Page 27: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Integer

Tipo di dati contenente variabili memorizzate come numeri interi a 2 byte

I numeri rappresentabili appartengono all’intervallo (-32768, 32767)

Page 28: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di Integer

Sub Macro1()

Dim prima, seconda As Integer

prima=32

seconda=44

Range(“a1”).Select

ActiveCell.Value=prima*seconda

End Sub

Page 29: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Long

Il tipo di dati Long è rappresentato mediante 4 byte

I numeri rappresentabili sono compresi tra – 2.147.483.648 e 2.147.483.647

Page 30: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di Long

Sub Macro1()

Dim lunga(3) As Long

lunga(0)=2^10

lunga(1)=2^11

lunga(2)=2^12

Range(“a10).Select

ActiveCell.Value=lunga(0)

Range(“b10).Select

ActiveCell.Value=lunga(1)

Range(“c10).Select

ActiveCell.Value=lunga(2)

End Sub

Page 31: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Currency

Il tipo di dati Currency viene utilizzato per calcoli monetari o a virgola fissa

E’ possibile rappresentare numeri compresi nell’intervallo –922.337.203.685.477,5808 e 922.337.203.685.477,5807

Page 32: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Single e Double

Tipi di dati utilizzato per rappresentare numeri reali

Il tipo di dati Single è rappresentato in precisione singola (32 bit), mentre il tipo di dati Double è in precisione dobbia (64 bit)

Il tipo di dati Double permette una rappresentazione più precisa dei numeri, a scapito però dell’occupazione di memoria

Page 33: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di Double

Sub Macro1()

Dim grande As Double

grande = 32,61^12

Range(“a1”).Select

ActiveCell.Value=grande

End Sub

Page 34: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Date

Tipo di dati utilizzato per memorizzare date e orari come numeri reali

Le variabili di tipo Date vengono memorizzate come numeri a 64 bit

La quantità a sinistra del separatore decimale rappresenta una data, la parte a destra un orario

Page 35: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di Date

Sub Macro1()

Dim data1 As Date

Dim data2 As Date

data1=37956,4407283565

data2=“10/10/2002”

Range(“a1).Select

ActiveCell.Value=data1

Range(“a2).Select

ActiveCell.Value=data22

End Sub

Page 36: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati String

Tipo di dati che permette di rappresentare una sequenza di caratteri contigui. Nella sequenza di caratteri sono ammessi simboli di lettere, numeri, spazi e segni di punteggiatura

Il tipo di dati String può contenere stringhe di lunghezza compresa tra 0 e 63KB di caratteri

Page 37: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di String

Sub Macro1()

Dim stringa As String

stringa = “Il mio nome è Lorenzo”

Range(“a1”).Select

ActiveCell.Value=stringa

End Sub

Page 38: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Tipo di dati Variant

Il tipo di dati Variant permette di non definire il tipo di dato a priori

Se non si conosce il tipo di dato che dovrà essere assegnato ad una variabile, è possibile definire tale variabile di tipo Variant

Il tipo corretto verrà istanziato a tempo di esecuzione

Page 39: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Oggetto predefinito Range

Le macro devono poter operare su intervalli di celle

Si può far riferimento ad intervalli di celle tramite l’oggetto Range

Range (Cell1, [Cell2])

Page 40: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Altri oggetti predefiniti

VBA mette a disposizione del programmatore di macro Excel una considerevole quantità di oggetti predefiniti che consentono di far riferimento a tutte le componenti dell’applicazione

All’interno dell’ambiente di sviluppo è possibile visualizzare l’elenco di tutti gli oggetti predefiniti, con le relative proprietà e metodi associati, mediante il pulsante F2

Page 41: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Strutture di controllo in VBA

Istruzioni condizionali: If … Then … Else … End If

Iterazioni: For … To … Next Do Until … Loop While … Wend

Page 42: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

If … Then … Else … End If

Consente l’esecuzione condizionale di un gruppo di istruzioni in base al valore di un’espressione

If condizione Then [istruzioni] [Else istruzioni]

oppure

If condizione Then

[istruzioni]

[ElseIf condizioneThen

[istruzioni]…

[Else [istruzioni]]

End If

Page 43: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di IfSub Macro1()

Dim data As Date

data = Now()

If data > 37980 Then

Range(" a10"). Select

ActiveCell. Value = "Natale è passato da giorni = "

Range(" a11"). Select

ActiveCell. Value = data - 37980

Else

Range(" a10"). Select

ActiveCell. Value = "A Natale mancano giorni = "

Range(" a11"). Select

ActiveCell. Value = 37980 - data

End If

Range(" A11"). Select

Selection. NumberFormat = "0.00"

End Sub

Page 44: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Istruzione For…Next

Ripete un gruppo di istruzioni per il numero di volte specificato

For contatore = inizio To fine [Step incremento]

[istruzioni]

[Exit For]

[istruzioni]

Next [contatore]

Page 45: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di For…Next

Sub Macro1()

Dim Parole, Caratteri, Stringa As String

For Parole = 10 To 1 Step -1

For Caratteri = 0 To 9

Stringa = Stringa & Caratteri

Next Caratteri

Stringa = Stringa & " "

Next Parole

Range(" a1"). Select

ActiveCell. Value = Stringa

End Sub

Page 46: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Istruzione Do…Loop (Repeat…Until)

Ripete un blocco di istruzioni fina a quando la valutazione di una condizione non dà come risultato TRUE

La valutazione della condizione avviene dopo che il blocco di istruzioni è stato eseguito una volta. Questo garantisce che il blocco di istruzioni venga eseguito ALMENO una volta

Do

[istruzioni]

[Exit Do]

[istruzioni]

Loop [{ While | Until} condizione]

Page 47: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di Repeat...Until

Sub prova()

Dim Check As Boolean, Counter As Integer

Check = True: Counter = 0

Do

Do While Counter < 20

Counter = Counter + 1

If Counter = 10 Then

Check = False

Exit Do

End If

Loop

Loop Until Check = False

End Sub

Page 48: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Istruzione While…Wend

Ripete un blocco di istruzioni fin quando la condizione è vera (come Do While … Loop)

While condizione

[istruzioni]

Wend

Page 49: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di While…Wend

Sub giorni()

oggi = Now()

Cells( 1, 1) = oggi

Cells( 1, 1). NumberFormat = "dd/ mm/ yy"

fine_ anno = 38352

data = oggi + 7

i = 1

While data < fine_ anno

i = i + 1

Cells( i, 1) = data

Cells( i, 1). NumberFormat = "dd/ mm/ yy"

data = data + 7

Wend

End Sub

Page 50: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Input dell’utente

Esistono dei costrutti che permettono di leggere l’input dell’utente attraverso delle finestre di dialogo che appaiono a tempo di esecuzione

I costrutti che consentono l’interazione sono

InputBox

MsgBox

Page 51: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

InputBox

Visualizza una finestra di dialogo per l’input dell’utente.

Restituisce le informazioni immesse nella finestra di dialogo.

Tali informazioni devono essere associate ad una variabile

Page 52: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di InputBox

Sub Macro1()

Dim num As Integer

num=Application.InputBox(“Digita un numero”, , , , , ,1)

Range(“a1”).Select

ActiveCell.Value=“Il numero digitato è” & num

End Sub

Page 53: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

MsgBox e pulsanti bistabili

MsgBox visualizza un messaggio in una finestra di dialogo ed attende che l’utente scelga un pulsante (generalmente OK, Annulla)

Dopo l’azione dell’utente, MsgBox restituisce un valore Integer che indica quale pulsante è stato scelto

Page 54: Sommario zCaratteristiche di un calcolatore elettronico yCapacità del calcolatore zCompiti del programmatore yCompetenze yAbilità zAnalisi e programmazione.

Esempio di MsgBox

Sub Macro1()

Dim stringa As Object

Dim msg As String

msg = "Continuare?"

Response = MsgBox(msg, vbYesNo, "Dimostazione MsgBox")

If Response = vbYes Then

ActiveCell.Value = "Yes"

Else

ActiveCell.Value = "No"

End If

End Sub