SlideShare a Scribd company logo
1 of 37
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

More Related Content

What's hot

Cosa sono gli algoritmi?
Cosa sono gli algoritmi?Cosa sono gli algoritmi?
Cosa sono gli algoritmi?
mattuzzi
 
Laboratorio Programmazione: Operatori logici
Laboratorio Programmazione: Operatori logiciLaboratorio Programmazione: Operatori logici
Laboratorio Programmazione: Operatori logici
Majong DevJfu
 
08 - Programmazione: Passaggio valori tra funzioni per riferimenti
08 - Programmazione: Passaggio valori tra funzioni per riferimenti08 - Programmazione: Passaggio valori tra funzioni per riferimenti
08 - Programmazione: Passaggio valori tra funzioni per riferimenti
Majong DevJfu
 
05 - Programmazione: Funzioni
05 - Programmazione: Funzioni05 - Programmazione: Funzioni
05 - Programmazione: Funzioni
Majong DevJfu
 
05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione
Piero Fraternali
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionali
guest60e9511
 
Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012
STELITANO
 
10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati
Majong DevJfu
 
03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++
Majong DevJfu
 
12 - Programmazione: Array dinamici e puntatori
12 - Programmazione: Array dinamici e puntatori12 - Programmazione: Array dinamici e puntatori
12 - Programmazione: Array dinamici e puntatori
Majong DevJfu
 

What's hot (20)

T4 tipizzazione
T4 tipizzazioneT4 tipizzazione
T4 tipizzazione
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
Cosa sono gli algoritmi?
Cosa sono gli algoritmi?Cosa sono gli algoritmi?
Cosa sono gli algoritmi?
 
Laboratorio Programmazione: Operatori logici
Laboratorio Programmazione: Operatori logiciLaboratorio Programmazione: Operatori logici
Laboratorio Programmazione: Operatori logici
 
come costruire un algoritmo
come costruire un algoritmocome costruire un algoritmo
come costruire un algoritmo
 
08 - Programmazione: Passaggio valori tra funzioni per riferimenti
08 - Programmazione: Passaggio valori tra funzioni per riferimenti08 - Programmazione: Passaggio valori tra funzioni per riferimenti
08 - Programmazione: Passaggio valori tra funzioni per riferimenti
 
05 - Programmazione: Funzioni
05 - Programmazione: Funzioni05 - Programmazione: Funzioni
05 - Programmazione: Funzioni
 
05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionali
 
Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012
 
05 1 intro-struttura
05 1 intro-struttura05 1 intro-struttura
05 1 intro-struttura
 
Corso python 2020 - Lezione 1
Corso python 2020 - Lezione 1Corso python 2020 - Lezione 1
Corso python 2020 - Lezione 1
 
10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati
 
06 3 struct
06 3 struct06 3 struct
06 3 struct
 
03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++
 
2006 Py03 intermedio
2006 Py03 intermedio2006 Py03 intermedio
2006 Py03 intermedio
 
Elaborazione automatica dei dati: computer e matlab
Elaborazione automatica dei dati: computer e matlabElaborazione automatica dei dati: computer e matlab
Elaborazione automatica dei dati: computer e matlab
 
12 - Programmazione: Array dinamici e puntatori
12 - Programmazione: Array dinamici e puntatori12 - Programmazione: Array dinamici e puntatori
12 - Programmazione: Array dinamici e puntatori
 
2008 python
2008 python2008 python
2008 python
 
2006 Py02 base
2006 Py02 base2006 Py02 base
2006 Py02 base
 

Viewers also liked

參加碳揭露平台泰國曼谷工作坊之出國報告20160218
參加碳揭露平台泰國曼谷工作坊之出國報告20160218參加碳揭露平台泰國曼谷工作坊之出國報告20160218
參加碳揭露平台泰國曼谷工作坊之出國報告20160218
The Pengs & Wens
 
3 places of worship presentation
3 places of worship presentation3 places of worship presentation
3 places of worship presentation
hazelnutz
 
Business case for projects of all sizes v1 1
Business case for projects of all sizes v1 1Business case for projects of all sizes v1 1
Business case for projects of all sizes v1 1
Pradipta Sen
 

Viewers also liked (16)

Juana Azurduy
Juana AzurduyJuana Azurduy
Juana Azurduy
 
1 dati informazioni_struttura_di_un_organizzazione
1 dati informazioni_struttura_di_un_organizzazione1 dati informazioni_struttura_di_un_organizzazione
1 dati informazioni_struttura_di_un_organizzazione
 
August 09 Press Release
August 09 Press ReleaseAugust 09 Press Release
August 09 Press Release
 
4M Engineering Group Pty Ltd
4M Engineering Group Pty Ltd4M Engineering Group Pty Ltd
4M Engineering Group Pty Ltd
 
Loha Vizitcard
Loha VizitcardLoha Vizitcard
Loha Vizitcard
 
Bez tytułu 1
Bez tytułu 1Bez tytułu 1
Bez tytułu 1
 
參加碳揭露平台泰國曼谷工作坊之出國報告20160218
參加碳揭露平台泰國曼谷工作坊之出國報告20160218參加碳揭露平台泰國曼谷工作坊之出國報告20160218
參加碳揭露平台泰國曼谷工作坊之出國報告20160218
 
3 places of worship presentation
3 places of worship presentation3 places of worship presentation
3 places of worship presentation
 
Hand Modeling
Hand ModelingHand Modeling
Hand Modeling
 
Clean and healthy
Clean and healthyClean and healthy
Clean and healthy
 
Business case for projects of all sizes v1 1
Business case for projects of all sizes v1 1Business case for projects of all sizes v1 1
Business case for projects of all sizes v1 1
 
1 matematica binaria
1 matematica binaria1 matematica binaria
1 matematica binaria
 
6_crittografia_firma_digitale
6_crittografia_firma_digitale6_crittografia_firma_digitale
6_crittografia_firma_digitale
 
Electronics engg
Electronics enggElectronics engg
Electronics engg
 
scrivere_bene_in_italiano
scrivere_bene_in_italianoscrivere_bene_in_italiano
scrivere_bene_in_italiano
 
Winners versus Losers
Winners versus LosersWinners versus Losers
Winners versus Losers
 

Similar to Programmazione

Informatica - uso di excel
Informatica - uso di excelInformatica - uso di excel
Informatica - uso di excel
Dario
 
Ecdl modulo 1 -Fondamenti
Ecdl modulo 1 -FondamentiEcdl modulo 1 -Fondamenti
Ecdl modulo 1 -Fondamenti
Angela Cristina
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
STELITANO
 
Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)
STELITANO
 
Linguaggio V.B.A.
Linguaggio V.B.A.Linguaggio V.B.A.
Linguaggio V.B.A.
Agabiti25
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
STELITANO
 
ECDL modulo 1 ud1: algoritmi rappr informazione
ECDL modulo 1 ud1: algoritmi rappr informazioneECDL modulo 1 ud1: algoritmi rappr informazione
ECDL modulo 1 ud1: algoritmi rappr informazione
Fabio Cantaro
 

Similar to Programmazione (20)

5 ms access
5 ms access5 ms access
5 ms access
 
Informatica - uso di excel
Informatica - uso di excelInformatica - uso di excel
Informatica - uso di excel
 
Algorithmist guide II
Algorithmist guide IIAlgorithmist guide II
Algorithmist guide II
 
Ecdl - Modulo 1 - Concetti di base dell'ICT
Ecdl - Modulo 1 - Concetti di base dell'ICTEcdl - Modulo 1 - Concetti di base dell'ICT
Ecdl - Modulo 1 - Concetti di base dell'ICT
 
Ecdl modulo 1 -Fondamenti
Ecdl modulo 1 -FondamentiEcdl modulo 1 -Fondamenti
Ecdl modulo 1 -Fondamenti
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)
 
Informatica di base
Informatica di baseInformatica di base
Informatica di base
 
Linguaggio V.B.A.
Linguaggio V.B.A.Linguaggio V.B.A.
Linguaggio V.B.A.
 
Video python3 n2
Video python3 n2Video python3 n2
Video python3 n2
 
1 Programmazione
1   Programmazione1   Programmazione
1 Programmazione
 
Modulo 1 - Lezione 1
Modulo 1 - Lezione 1Modulo 1 - Lezione 1
Modulo 1 - Lezione 1
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Corso Python 2020 - Lezione 2
Corso Python 2020 - Lezione 2Corso Python 2020 - Lezione 2
Corso Python 2020 - Lezione 2
 
La Grafica Con Java
La Grafica Con JavaLa Grafica Con Java
La Grafica Con Java
 
Coding class da scratch a python
Coding class  da scratch a pythonCoding class  da scratch a python
Coding class da scratch a python
 
Java Lezione 1
Java Lezione 1Java Lezione 1
Java Lezione 1
 
ECDL modulo 1 ud1: algoritmi rappr informazione
ECDL modulo 1 ud1: algoritmi rappr informazioneECDL modulo 1 ud1: algoritmi rappr informazione
ECDL modulo 1 ud1: algoritmi rappr informazione
 
Py t1 python-intro
Py t1 python-introPy t1 python-intro
Py t1 python-intro
 
Algoritmi
AlgoritmiAlgoritmi
Algoritmi
 

More from Jacques Bottel

More from Jacques Bottel (18)

6b sicurezza internet
6b sicurezza internet6b sicurezza internet
6b sicurezza internet
 
1c informatica storia
1c informatica storia1c informatica storia
1c informatica storia
 
1b la scienza
1b la scienza1b la scienza
1b la scienza
 
Storia informatica cep_elea
Storia informatica cep_eleaStoria informatica cep_elea
Storia informatica cep_elea
 
2 backup dei_dati
2 backup dei_dati2 backup dei_dati
2 backup dei_dati
 
3 database dbms
3 database dbms3 database dbms
3 database dbms
 
4 progettazione DB
4 progettazione DB4 progettazione DB
4 progettazione DB
 
6 informatica per_azienda
6 informatica per_azienda6 informatica per_azienda
6 informatica per_azienda
 
7 migliorare processi aziendali
7 migliorare processi aziendali7 migliorare processi aziendali
7 migliorare processi aziendali
 
1a l_informatica_introduzione
1a l_informatica_introduzione1a l_informatica_introduzione
1a l_informatica_introduzione
 
2_il_computer
2_il_computer2_il_computer
2_il_computer
 
3_il_software
3_il_software3_il_software
3_il_software
 
4_windows
4_windows4_windows
4_windows
 
5_internet
5_internet5_internet
5_internet
 
7_sicurezza_computer
7_sicurezza_computer7_sicurezza_computer
7_sicurezza_computer
 
La scuola
La scuolaLa scuola
La scuola
 
Presentazione fenisweb
Presentazione feniswebPresentazione fenisweb
Presentazione fenisweb
 
Fenisweb
FeniswebFenisweb
Fenisweb
 

Recently uploaded

Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
lorenzodemidio01
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
giorgiadeascaniis59
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
lorenzodemidio01
 

Recently uploaded (19)

Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 

Programmazione

  • 1. LA PROGRAMMAZIONE 1A cura di Jacques Bottel
  • 2. 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
  • 3. GESTIRE I DATI DA ELABORARE CON LE VARIABILI 3A cura di Jacques Bottel
  • 4. 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
  • 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 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
  • 7. 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
  • 8. 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
  • 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 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
  • 11. 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
  • 12. GLI OPERATIRI LOGICI 12A cura di Jacques Bottel
  • 13. Gli operatori logici Per costruire test complessi si utilizzano i seguenti operatori logici:  AND  OR  XOR  NOT A cura di Jacques Bottel 13
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. INTERFACCIA E ALGORITMO 18A cura di Jacques Bottel
  • 19. 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
  • 20. 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
  • 21. L’interfaccia a caratteri 21A cura di Jacques Bottel
  • 22. L’interfaccia grafica 22A cura di Jacques Bottel
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. CONDIZIONI E CICLI 27A cura di Jacques Bottel
  • 28. 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
  • 29. Costrutto IF in VB 29A cura di Jacques Bottel If (anni>=18)Then MsgBox “Maggiorenne“ Else MsgBox “Minorenne“ End If
  • 30. 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
  • 31. Verifica se hai capito Domande di verifica:  Descrivi le condizioni nella programmazione  Descrivi i cicli nella programmazione 37A cura di Jacques Bottel
  • 32. OGGETTI E ARRAY 38A cura di Jacques Bottel
  • 33. 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
  • 34. 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
  • 35. 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)
  • 36. 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
  • 37. E ora che avete capito… memorizzate! 45A cura di Jacques Bottel