LA PROGRAMMAZIONE
1A cura di Jacques Bottel
Storia della programmazione
Tappe della storia della programmazione:
 Programmazione nativa. Programmazione in binario (0 e 1).
 Linguaggi a basso livello . Linguaggio assembly
 Linguaggi ad alto livello. Linguaggio C, C++, Java, Python,
Perl, PHP, ecc.
 Linguaggi UHLL (Ultra High Level Language). Esempio: fogli
di calcolo
Il compilatore traduce le istruzioni scritte in un linguaggio ad
alto livello in linguaggio macchina.
2A cura di Jacques Bottel
GESTIRE I DATI DA ELABORARE
CON LE VARIABILI
3A cura di Jacques Bottel
Le variabili
Def. variabile
Una variabile è un indirizzo di memoria, per
comodità identificato da un nome dato dal
programmatore, che contiene un dato
sottoforma di numero binario (0 e 1).
In Excel le variabili sono rappresentate dalle
celle del foglio di calcolo.
4A cura di Jacques Bottel
Tipo di variabile
Def. Tipo di variabile
Il tipo di variabile indica come deve essere interpretato il
contenuto numerico della/e locazione/i di memoria che
contengono il dato rappresentato dalla variabile.
Principali tipi primitivi in Visual Basic:
 Numeri interi: Integer (32 bit), Long (64 bit)
 Numeri decimali: Single (32 bit), Double (64 bit),
 Testo: String (sequenza di caratteri), Date
 Boolean
5A cura di Jacques Bottel
Indirizzamento a 8 bit Locazione di mem.
x00F12A3
Codifica del tipo x00F12A4
01011100 x00F12A5
01001111 x00F12A6
11001100 x00F12A7
11011101 x00F12A8
Codifica del tipo x00F12A9
11101010 x00F12B0
Dichiarare le variabili
Dichiarare una variabile significa allocare una o più
locazioni di memoria per contenere un dato.
6A cura di Jacques Bottel
Variabile Integer
Dim voto AS Integer
Tipo Integer
32 bit = 4 locazioni
Variabile Integer
Dim voto AS Integer
Tipo Char
8 bit = 1 locazione
Dichiarare le variabili
In Excel (UHLL) non è necessario dichiarare la variabile:
è sufficiente fare l’assegnamento scrivendo nella
cella. Per specificare il tipo di variabile è sufficiente:
 Selezionare la/le cella/e
 Tasto destro, formato celle
 Seleziona il tipo di variabile appropriato
7A cura di Jacques Bottel
Dim voto As Integer ‘dichiarazione di
variabile numerica intera
voto=3 ‘assegnamento
Dichiarare le variabili
In Visual Basic (HLL), la dichiarazione di una variabile
avviene come segue:
8A cura di Jacques Bottel
Dim voto As Integer = 3 ‘dichiarazione e
assegnamento
Dim votoMin As Integer = voto
La memoria
viene allocata
Oppure…
Il valore viene
memorizzato nella
locazione di
memoria
Nome delle variabili
È opportuno utilizzare nomi significativi, che rappresentano
in maniera chiara il contenuto della variabile.
Il nome della variabile:
 Può contenere maiuscole, minuscole, numeri
 Iniziale minuscola (convenzione)
 Non può contenere spazi. Se il nome contiene più parole,
queste hanno l’iniziale maiuscola.
Esempi: votoMin, votoMax, votoMedia, votoClasse1b
9A cura di Jacques Bottel
Le parole riservate
Non si posso nominare le variabili con parole riservate,
ossia le parole utilizzate dal linguaggio stesso, ad
esempio:
 Nomi dei tipi: integer, single, double, ecc.
 Nomi di costrutti: if, while, for
10A cura di Jacques Bottel
Verifica se hai capito
Domande di verifica:
 Che cos’è una variabile?
 Che cos’è un tipo?
 Spiega come avviene la gestione della memoria
attraverso le variabili
11A cura di Jacques Bottel
GLI OPERATIRI LOGICI
12A cura di Jacques Bottel
Gli operatori logici
Per costruire test complessi si utilizzano i
seguenti operatori logici:
 AND
 OR
 XOR
 NOT
A cura di Jacques Bottel 13
Operatore AND
Se ENTRAMBI i valori delle proposizioni sono veri (T) il
risultato è T, altrimenti F.
14
T
T
F
F
T
F
T
F
T
F
F
F
A B A AND B
A cura di Jacques Bottel
Operatore OR
Se ALMENO un valore delle proposizioni è vero (T) il
risultato è T, altrimenti F.
15
T
T
F
F
T
F
T
F
T
T
T
F
A B A OR B
A cura di Jacques Bottel
Operatore XOR
Se UN SOLO valore è vero (T) il risultato è T, altrimenti F.
16
T
T
F
F
T
F
T
F
F
T
T
F
A B A XOR B
A cura di Jacques Bottel
Operatore NOT
Inverte lo stato del valore: T diventa F e viceversa .
17
T
F
F
T
A NOT B
L’operatore NOT opera su una sola proposizione: per
questo viene chiamato operatore unario.
Analogamente, gli altri operatori - AND, OR, XOR -
vengono chiamati operatori binari.
A cura di Jacques Bottel
INTERFACCIA E ALGORITMO
18A cura di Jacques Bottel
Analista e programmatore
Realizzare programmi per computer è un attività
molto complessa. Per questo ci sono più figure
professionali che lavorano insieme:
 Analista. Analizza il problema ed elabora l’algo-
ritmo. Disegna il diagramma di flusso del pro-
gramma e dà suggerimenti al programmatore.
 Programmatore. Scrive il codice sorgente del
programma sulla base del progetto dell’analista.
19A cura di Jacques Bottel
Com’è fatto un programma?
Un programma è composto da:
 Interfaccia utente permette al computer di
comunicare con l’utente attraverso lo
schermo.
 Algoritmo: insieme di passaggi (istruzioni) utili
a risolvere un dato problema.
20A cura di Jacques Bottel
L’interfaccia a caratteri
21A cura di Jacques Bottel
L’interfaccia grafica
22A cura di Jacques Bottel
Esempio di algoritmo
Algoritmo che calcola la media dei voti:
 Fai la somma di tutti i voti e memorizza il numero in
memoria, in una variabile che chiamiamo STOT
 Conta i voti e memorizzane il numero in memoria, in una
variabile che chiamiamo NVOTI
 Leggi il numero nella variabile STOT, leggi il numero dalla
variabile; calcola: STOT/NVOTI e memorizza il risultato in
un’altra variabile che chiamiamo MEDIA_ALUNNO
 Leggi il numero nella variabile MEDIA_ALUNNO e
visualizza sullo schermo
23A cura di Jacques Bottel
VEROFALSO
La condizione
Se la condizione è vera, il processore esegue una data
serie di istruzioni, se è falsa un’altra serie di istruzioni.
24
MEDIA_ALUNNO >= 6
Visualizza sullo schermo
“BOCCIATO!”
Visualizza sullo schermo
“PROMOSSO!”
A cura di Jacques Bottel
I cicli
Il processore esegue ripetutamente una serie di istruzioni.
Esempio. Quando faceva la somma dei voti, il processore ha
eseguito più volte le stesse operazioni:
 Leggi il numero contenuto nella casellina STOT (all’inizio è 0)
 Leggi il voto
 Fai la somma dei numeri (STOT e voto)
 Memorizza il risultato di nuovo nella variabile STOT (il
numero di prima viene sovrascritto, quindi viene perso).
Il ciclo termina quando i voti sono finiti.
25A cura di Jacques Bottel
Verifica se hai capito
Domande di verifica:
 Che cos’è l’interfaccia utente? Quale tipo di
interfaccia utilizziamo oggi?
 Che cos’è un algoritmo?
26A cura di Jacques Bottel
CONDIZIONI E CICLI
27A cura di Jacques Bottel
VEROFALSO
Le condizioni
Se la condizione è vera, il processore esegue una data
serie di istruzioni
28
IF
Istruzione 2
…
Istruzione 1
…
A cura di Jacques Bottel
, se è falsa un’altra serie di istruzioni.
Ramo
opzionale
Costrutto IF in VB
29A cura di Jacques Bottel
If (anni>=18)Then
MsgBox “Maggiorenne“
Else
MsgBox “Minorenne“
End If
VERO
FALSO
I cicli
Se la condizione è vera, il processore esegue
ripetutamente una serie di istruzioni, altrimenti
continua l’esecuzione del programma.
30
WHILE
Continua esecuzione del
programma
Istruzione
…
A cura di Jacques Bottel
Verifica se hai capito
Domande di verifica:
 Descrivi le condizioni nella programmazione
 Descrivi i cicli nella programmazione
37A cura di Jacques Bottel
OGGETTI E ARRAY
38A cura di Jacques Bottel
Oggetti e classi
Le classi sono tipi complessi, ossia tipi costituiti da
diverse variabili di tipo primitivo o, a loro volta, classi
di oggetti. Precisamente la classe è il “progetto”
dell’oggetto.
Istanziare un oggetto significa allocare in memoria le
variabili che costituiscono l’oggetto, come è stato
indicato nella classe.
L’oggetto - o istanza di classe - è l’insieme delle variabili
allocate in memoria che costituiscono l’oggetto.
40A cura di Jacques Bottel
Array o vettori
Porzione di memoria che contiene, in sequenza, una
serie di variabili (o oggetti) dello stesso tipo.
Si accede alla porzione di memoria grazie al nome
dell’array che rappresenta l’indirizzo della prima
variabile. Alle altre variabili si accede grazie all’indice
dell’array, avanzando cioè di N locazioni di memoria a
seconda del tipo di variabile di cui è costituito l’array.
42A cura di Jacques Bottel
Array: gestione della memoria
43A cura di Jacques Bottel
Indirizzamento a 8 bit Locazione di mem.
x00F12A3
Codifica del tipo x00F12A4
01011100 x00F12A5
01001111 x00F12A6
11001100 x00F12A7
11011101 x00F12A8
x00F12A9
Array di variabili char
Dim iniziale (4) AS Char
iniziale (0)
iniziale (1)
iniziale (2)
…
Con i char si trasla di 8 bit
(1 locazione), con gli integer
di 32 bit (4 locazioni)
Verifica se hai capito
Domande di verifica:
 Che cos’è una classe? E un oggetto?
 Che cos’è un array?
 Descrivi come avviene la gestione della memoria
attraverso gli array.
44A cura di Jacques Bottel
E ora che avete capito…
memorizzate!
45A cura di Jacques Bottel

Programmazione

  • 1.
    LA PROGRAMMAZIONE 1A curadi Jacques Bottel
  • 2.
    Storia della programmazione Tappedella storia della programmazione:  Programmazione nativa. Programmazione in binario (0 e 1).  Linguaggi a basso livello . Linguaggio assembly  Linguaggi ad alto livello. Linguaggio C, C++, Java, Python, Perl, PHP, ecc.  Linguaggi UHLL (Ultra High Level Language). Esempio: fogli di calcolo Il compilatore traduce le istruzioni scritte in un linguaggio ad alto livello in linguaggio macchina. 2A cura di Jacques Bottel
  • 3.
    GESTIRE I DATIDA ELABORARE CON LE VARIABILI 3A cura di Jacques Bottel
  • 4.
    Le variabili Def. variabile Unavariabile è un indirizzo di memoria, per comodità identificato da un nome dato dal programmatore, che contiene un dato sottoforma di numero binario (0 e 1). In Excel le variabili sono rappresentate dalle celle del foglio di calcolo. 4A cura di Jacques Bottel
  • 5.
    Tipo di variabile Def.Tipo di variabile Il tipo di variabile indica come deve essere interpretato il contenuto numerico della/e locazione/i di memoria che contengono il dato rappresentato dalla variabile. Principali tipi primitivi in Visual Basic:  Numeri interi: Integer (32 bit), Long (64 bit)  Numeri decimali: Single (32 bit), Double (64 bit),  Testo: String (sequenza di caratteri), Date  Boolean 5A cura di Jacques Bottel
  • 6.
    Indirizzamento a 8bit Locazione di mem. x00F12A3 Codifica del tipo x00F12A4 01011100 x00F12A5 01001111 x00F12A6 11001100 x00F12A7 11011101 x00F12A8 Codifica del tipo x00F12A9 11101010 x00F12B0 Dichiarare le variabili Dichiarare una variabile significa allocare una o più locazioni di memoria per contenere un dato. 6A cura di Jacques Bottel Variabile Integer Dim voto AS Integer Tipo Integer 32 bit = 4 locazioni Variabile Integer Dim voto AS Integer Tipo Char 8 bit = 1 locazione
  • 7.
    Dichiarare le variabili InExcel (UHLL) non è necessario dichiarare la variabile: è sufficiente fare l’assegnamento scrivendo nella cella. Per specificare il tipo di variabile è sufficiente:  Selezionare la/le cella/e  Tasto destro, formato celle  Seleziona il tipo di variabile appropriato 7A cura di Jacques Bottel
  • 8.
    Dim voto AsInteger ‘dichiarazione di variabile numerica intera voto=3 ‘assegnamento Dichiarare le variabili In Visual Basic (HLL), la dichiarazione di una variabile avviene come segue: 8A cura di Jacques Bottel Dim voto As Integer = 3 ‘dichiarazione e assegnamento Dim votoMin As Integer = voto La memoria viene allocata Oppure… Il valore viene memorizzato nella locazione di memoria
  • 9.
    Nome delle variabili Èopportuno utilizzare nomi significativi, che rappresentano in maniera chiara il contenuto della variabile. Il nome della variabile:  Può contenere maiuscole, minuscole, numeri  Iniziale minuscola (convenzione)  Non può contenere spazi. Se il nome contiene più parole, queste hanno l’iniziale maiuscola. Esempi: votoMin, votoMax, votoMedia, votoClasse1b 9A cura di Jacques Bottel
  • 10.
    Le parole riservate Nonsi posso nominare le variabili con parole riservate, ossia le parole utilizzate dal linguaggio stesso, ad esempio:  Nomi dei tipi: integer, single, double, ecc.  Nomi di costrutti: if, while, for 10A cura di Jacques Bottel
  • 11.
    Verifica se haicapito Domande di verifica:  Che cos’è una variabile?  Che cos’è un tipo?  Spiega come avviene la gestione della memoria attraverso le variabili 11A cura di Jacques Bottel
  • 12.
    GLI OPERATIRI LOGICI 12Acura di Jacques Bottel
  • 13.
    Gli operatori logici Percostruire test complessi si utilizzano i seguenti operatori logici:  AND  OR  XOR  NOT A cura di Jacques Bottel 13
  • 14.
    Operatore AND Se ENTRAMBIi valori delle proposizioni sono veri (T) il risultato è T, altrimenti F. 14 T T F F T F T F T F F F A B A AND B A cura di Jacques Bottel
  • 15.
    Operatore OR Se ALMENOun valore delle proposizioni è vero (T) il risultato è T, altrimenti F. 15 T T F F T F T F T T T F A B A OR B A cura di Jacques Bottel
  • 16.
    Operatore XOR Se UNSOLO valore è vero (T) il risultato è T, altrimenti F. 16 T T F F T F T F F T T F A B A XOR B A cura di Jacques Bottel
  • 17.
    Operatore NOT Inverte lostato del valore: T diventa F e viceversa . 17 T F F T A NOT B L’operatore NOT opera su una sola proposizione: per questo viene chiamato operatore unario. Analogamente, gli altri operatori - AND, OR, XOR - vengono chiamati operatori binari. A cura di Jacques Bottel
  • 18.
    INTERFACCIA E ALGORITMO 18Acura di Jacques Bottel
  • 19.
    Analista e programmatore Realizzareprogrammi per computer è un attività molto complessa. Per questo ci sono più figure professionali che lavorano insieme:  Analista. Analizza il problema ed elabora l’algo- ritmo. Disegna il diagramma di flusso del pro- gramma e dà suggerimenti al programmatore.  Programmatore. Scrive il codice sorgente del programma sulla base del progetto dell’analista. 19A cura di Jacques Bottel
  • 20.
    Com’è fatto unprogramma? Un programma è composto da:  Interfaccia utente permette al computer di comunicare con l’utente attraverso lo schermo.  Algoritmo: insieme di passaggi (istruzioni) utili a risolvere un dato problema. 20A cura di Jacques Bottel
  • 21.
    L’interfaccia a caratteri 21Acura di Jacques Bottel
  • 22.
  • 23.
    Esempio di algoritmo Algoritmoche calcola la media dei voti:  Fai la somma di tutti i voti e memorizza il numero in memoria, in una variabile che chiamiamo STOT  Conta i voti e memorizzane il numero in memoria, in una variabile che chiamiamo NVOTI  Leggi il numero nella variabile STOT, leggi il numero dalla variabile; calcola: STOT/NVOTI e memorizza il risultato in un’altra variabile che chiamiamo MEDIA_ALUNNO  Leggi il numero nella variabile MEDIA_ALUNNO e visualizza sullo schermo 23A cura di Jacques Bottel
  • 24.
    VEROFALSO La condizione Se lacondizione è vera, il processore esegue una data serie di istruzioni, se è falsa un’altra serie di istruzioni. 24 MEDIA_ALUNNO >= 6 Visualizza sullo schermo “BOCCIATO!” Visualizza sullo schermo “PROMOSSO!” A cura di Jacques Bottel
  • 25.
    I cicli Il processoreesegue ripetutamente una serie di istruzioni. Esempio. Quando faceva la somma dei voti, il processore ha eseguito più volte le stesse operazioni:  Leggi il numero contenuto nella casellina STOT (all’inizio è 0)  Leggi il voto  Fai la somma dei numeri (STOT e voto)  Memorizza il risultato di nuovo nella variabile STOT (il numero di prima viene sovrascritto, quindi viene perso). Il ciclo termina quando i voti sono finiti. 25A cura di Jacques Bottel
  • 26.
    Verifica se haicapito Domande di verifica:  Che cos’è l’interfaccia utente? Quale tipo di interfaccia utilizziamo oggi?  Che cos’è un algoritmo? 26A cura di Jacques Bottel
  • 27.
    CONDIZIONI E CICLI 27Acura di Jacques Bottel
  • 28.
    VEROFALSO Le condizioni Se lacondizione è vera, il processore esegue una data serie di istruzioni 28 IF Istruzione 2 … Istruzione 1 … A cura di Jacques Bottel , se è falsa un’altra serie di istruzioni. Ramo opzionale
  • 29.
    Costrutto IF inVB 29A cura di Jacques Bottel If (anni>=18)Then MsgBox “Maggiorenne“ Else MsgBox “Minorenne“ End If
  • 30.
    VERO FALSO I cicli Se lacondizione è vera, il processore esegue ripetutamente una serie di istruzioni, altrimenti continua l’esecuzione del programma. 30 WHILE Continua esecuzione del programma Istruzione … A cura di Jacques Bottel
  • 31.
    Verifica se haicapito Domande di verifica:  Descrivi le condizioni nella programmazione  Descrivi i cicli nella programmazione 37A cura di Jacques Bottel
  • 32.
    OGGETTI E ARRAY 38Acura di Jacques Bottel
  • 33.
    Oggetti e classi Leclassi sono tipi complessi, ossia tipi costituiti da diverse variabili di tipo primitivo o, a loro volta, classi di oggetti. Precisamente la classe è il “progetto” dell’oggetto. Istanziare un oggetto significa allocare in memoria le variabili che costituiscono l’oggetto, come è stato indicato nella classe. L’oggetto - o istanza di classe - è l’insieme delle variabili allocate in memoria che costituiscono l’oggetto. 40A cura di Jacques Bottel
  • 34.
    Array o vettori Porzionedi memoria che contiene, in sequenza, una serie di variabili (o oggetti) dello stesso tipo. Si accede alla porzione di memoria grazie al nome dell’array che rappresenta l’indirizzo della prima variabile. Alle altre variabili si accede grazie all’indice dell’array, avanzando cioè di N locazioni di memoria a seconda del tipo di variabile di cui è costituito l’array. 42A cura di Jacques Bottel
  • 35.
    Array: gestione dellamemoria 43A cura di Jacques Bottel Indirizzamento a 8 bit Locazione di mem. x00F12A3 Codifica del tipo x00F12A4 01011100 x00F12A5 01001111 x00F12A6 11001100 x00F12A7 11011101 x00F12A8 x00F12A9 Array di variabili char Dim iniziale (4) AS Char iniziale (0) iniziale (1) iniziale (2) … Con i char si trasla di 8 bit (1 locazione), con gli integer di 32 bit (4 locazioni)
  • 36.
    Verifica se haicapito Domande di verifica:  Che cos’è una classe? E un oggetto?  Che cos’è un array?  Descrivi come avviene la gestione della memoria attraverso gli array. 44A cura di Jacques Bottel
  • 37.
    E ora cheavete capito… memorizzate! 45A cura di Jacques Bottel