Title: Informatica?
1Informatica?
- Scienza della rappresentazione e
dellelaborazione dellinformazione - ovvero
- Studio degli algoritmi che descrivono e
trasformano linformazione
2Algoritmo?
- Sequenza di passi per risolvere un determinato
problema - Calcolatore Esecutore di algoritmi
- Gli algoritmi sono descritti tramite programmi
scritti in linguaggi ad alto livello e poi
tradotti in linguaggio macchina
3Algoritmo
- Concetti fondamentali
- Correttezza lalgoritmo risolve il problema in
modo completo (spesso occorre provare la
correttezza manualmente usando tecniche
matematiche) - Efficienza lo risolve nel modo più veloce
possibile (esistono criteri matematici di
valutazione)
4Esempio potenza
- Problema Calcolare a elevato alla n (an)
- Utilizziamo le variabili N, Ris
- Inizialmente Ris1 e Nn
- Algoritmo
- Fino a che Ngt0
- Calcola Risa e memorizzalo in Ris
- Decrementa N
- Correttezza
- Al termine Risan
5Linguaggi di Programmazione
- Linguaggi per esprimere in maniera rigorosa un
algoritmo - Linguaggio macchina (seq. Istruzioni)
- Linguaggi ad alto livello (vicini al ling.
naturale) - Esempi
- Pascal
- C e C
- Java
- Basic
6Esempio in Pseudo Pascal
- Program potenza
- Integer Ris,N,A
- Read(N)Read(A)
- Ris1
- While (Ngt0) do
- RisRisA
- NN-1
- Print(Ris)
-
7Esempio
- Il precedente programma va tradotto in linguaggio
macchina (comprensibile allelaboratore), i.e.,
viene compilato in sequenze di istruzioni - Quando le istruzioni vengono eseguite, il
programma prende dati in ingresso (valori
iniziali di N e A) attraverso la tastiera (input)
e poi stampa il risultato sul video (valore
finale di Ris) (output) - In generale un programma può essere visto infatti
come una funzione da input ad output...
8Utilizzo di un elaboratore
- Come utente
- Uso software applicativo esistente per creare
documenti e interfacce grafiche, effettuare
calcoli, navigare in rete - Come sviluppatore
- Creo nuovi programmi sullo strato del software
esistente - Nuovi programmi applicativi
- Nuovi programmi di sistema (cioè che fanno
funzionae il calcolatore)
9Visual Basic
- Linguaggio di programmazione per lo sviluppo di
applicazioni da eseguire in un qualunque ambiente
Microsoft Windows. - VB è unimplementazione Microsoft delloriginario
linguaggio Basic
10Visual Basic
- Linguaggio di programmazione
- ad alto livello
- interpretato (ambiente interattivo)
- visuale
- guidato dagli eventi
11- Visual Basic VISUALE!!!!
- Text Box - permette di inserire e visualizzare
dati (stringhe, interi, double, etc) - Command Botton permette lesecuzione di eventi
- CheckBox
- OptionButton
12Processo di programmazionein Visual Basic
- Progetto dellapplicazione
- Creazione dellinterfaccia grafica
- Aggiunta del codice agli elementi visivi
(interpretazione e compilazione) - Esecuzione
13Processo di programmazionein Visual Basic
- Un programma è costituito da
- controlli (ciascuno rappresentato da unicona)
- istruzioni
- Linterazione dellutente con un qualunque
controllo rappresenta un evento - Ad ogni controllo sono associati diversi eventi
14Processo di programmazionein Visual Basic
- Il codice di unapplicazione VB è suddiviso in
singoli blocchi definiti routine. - Una routine di eventi contiene il codice eseguito
quando viene generato un evento.
15Definizioni di base
- Form indicativo di finestra e comprende barra
del titolo, barra del menù - Controlli sono le icone con le quali lutente
interagisce ad es. pulsanti di comando, di
opzione, caselle di testo - Form e controlli sono indicati come oggetti
16Definizioni di base
- A ciascun oggetto possono essere associate
- Proprietà le proprietà rappresentano gli
attributi che definiscono l'aspetto e varie
funzionalità di ogni controllo ad es., la
proprietà Name indica il nome con cui quel
controllo è identificato all'interno del codice
le proprietà Height e Width indicano l'altezza e
la larghezza del controllo, ecc. - Metodi corrispondono ad istruzioni di programma
- Eventi - "situazioni" generate dal controllo
quando si verificano certe condizioni (es. click
con il mouse)
17Definizioni di base
- Un programma in VB può essere visto come un
insieme di oggetti, dove ad ogni oggetto è
associato un insieme di proprietà che descrivono
il comportamento delloggetto stesso. - Gli oggetti sono oggetti grafici (bottoni,
finestre, text box)
18Programmazione visuale
- Il codice viene associato ad una o più azioni che
vengono compiute sulloggetto click del mouse,
apertura di una finestra, pressione di un tasto
ecc.
19Avvio di Microsoft Visual Basic
- Progetto
- Nuovo
- Esistente
- Recente
20Tipi di Dati
- Integer (Valori interi -32,768 to 32,767)
- Es 0, 123, -4534
-
- Double (Valori reali da -1.79769313486232e308 a
-
-4.94065645841247E-324 negativi -
4.94065645841247E-324 a -
1.79769313486232e308 positivi - Es 0, 12.34, 0.123E123
- String Es Ciao, Inserisci il primo numero
,
21Operatori
- , -, , /, Mod , \
- Su Stringhe oppure
- ES Visual Basic VisualBasic
22Il mio primo programma
- Private Sub Form_Activate()
- print Buongiorno!"
- End Sub
23Programma giallo/rosso
- Private Sub command1_click()
- text1.text Rosso"
- End Sub
- Private Sub command2_click()
- text1.text Giallo"
- End Sub
24Funzioni di Input e Output
- InputBox(Prompt, Title, default_text, x-position,
y-position) - Es
- a InputBox(Inserire Primo Numero?",
Numero", Inserire qui il primo numero!", 500,
700) a InputBox(Numero) - Scelta MsgBox (Prompt, Style Value, Title )
- dove style value puo essere
- 0 vbOkOnlyOk button
- 1 vbOkCancelOk and Cancel buttons
- etc
- e scelta puo essere uguale a
- 1 Hai premuto OK!
- 2 Hai premuto Cancel!
- Print
25Programma nome/cognome
- Private Sub command1_click()
- dim msg as string
- Msg InputBox(insert nome.)
- If msg ltgt then
- text1.text msg
- endif
- End Sub
- Private Sub command2_click()
- . Cognome
26Calcolo dellarea di un rettangolo
- Leggi da input laltezza
- Leggi da input la base
- Calcola larea
- Dai in output il risultato
27Calcolo del perimetro di un rettangolo
- Leggi da input laltezza
- Leggi da input la base
- Calcola il perimetro
- Dai in output il risultato
28Conversione lire in euro
- Leggi da input limporto in lire
- Calcola il corrispettivo in euro
- Dai in output il risultato
29Anno bisestile
- Leggi da input lanno
- Verifica se è bisestile
30(No Transcript)
31- Sub SOMMA( )
- Dim A, B as Integer
- A InputBox("Immetti un numero")
- B InputBox(Immetti un secondo numero)
- Somma AB
- Print Somma
- End Sub
Leggi A,B
Somma A B
Stampa Somma
32- Sub Command1_Click()
- Dim A, B as Integer
- A InputBox(Leggi A")
- B InputBox(Leggi B)
-
- Somma AB
- Print Somma
- End Sub
Proprieta Caption
33BLOCCHI DI FLUSSOBLOCCO CONDIZIONALE
34ESEMPIO DI TRADUZIONE
- Dim A, B, X as Integer
- .
- If A B Then
- X 1
- Else
- X 2
- Endif
- .
35ESEMPIO DI TRADUZIONE
- Dim vendite, bonus as Integer
-
- vendite InputBox("Immetti il totale delle
vendite") - If vendite gt 10000 Then
-
- bonus 100
- Else
- msgbox(lavora di più)
- End if
-
36Annidare enunciati if
If condizione Then Blocco di uno o più
enunciati Visual Basic Else Blocco di uno
o più enunciati Visual Basic End if
37ESEMPIO 1
- Dire se un triangolo è equilatero, isoscele o
scaleno - Sub Main()
- Dim A, B, C As Integer
- A InputBox("Inserisci il lato A")
- B InputBox("Inserisci il lato B")
- C InputBox("Inserisci il lato C")
- If A B And B C Then
- Print "Triangolo Equilatero"
- ElseIf A B Or B C Then
- Print "Triangolo Scaleno"
- End If
- End Sub
-
38ESEMPIO 2
- Trasformare la propria media espressa in
trentesimi in centodecimi - Sub Main()
- Dim A As Integer
- A InputBox("Dammi la tua media")
- Print "La tua media espressa in centodecimi
è" A / 311 - End Sub
-
39BLOCCHI DI FLUSSOBLOCCO DI RIPETIZIONE
40Ciclo While
- Do While condizione
- Blocco di uno o più enunciati
- Loop
41 ESEMPIO
- Contare per quanti giorni la temperatura è stata
superiore ai 30 gradi - Sub Main()
- Dim Conta, Temperatura As Integer
- Conta 0
- Temperatura 0
- Print "Inserisci una serie di temperature
quotidiane (terminata da -400)" - Do While Temperatura ltgt -400
- Temperatura InputBox("Dammi un valore
di temperatura") - If Temperatura gt 30 Then
- Conta Conta 1
- End If
- Loop
- Print "Il numero totale di giorni afosi è "
Conta - End Sub
42ESEMPIO
- Calcolare la media dei propri voti
- Sub Main()
- Dim Voto, NumeroVoti, Somma as Integer
- Print Inserisci i tuoi voti
- While Voto ltgt -1
- Voto InputBox (Inserisci un voto (-1 per
finire)) - NumeroVoti NumeroVoti 1
- Somma Somma Voto
- Wend
- Print La tua media è Somma/NumeroVoti
43Cicli For
- For intContatore intInizio to intFine Step
intIncremento - Blocco di una o più istruzioni
- Next
- Esempio
- For intContatore 0 to 6 Step 2
- Next
44ESEMPIO
- Calcolare la media dei propri voti
- Sub Main()
- Dim Voto, NumeroEsami, Somma, i as Integer
- Print Inserisci i tuoi voti
- Somma 0
- numeroEsamiinputBox(Inserisci numero esami)
- For i1 to NumeroEsami
- Voto InputBox (Inserisci un voto )
- Somma Somma Voto
- Next
- Print La tua media è Somma/NumeroEsami
45ESEMPIO
- Calcolare se un certo anno sarà bisestile
- Sub Main()
- Dim Anno As Integer
- Anno InputBox("Inserisci l'anno")
- If Anno Mod 4 0 Then
- If Anno Mod 100 0 And Anno Mod 400 ltgt 0
Then - Print "Anno Non Bisestile"
- Else
- Print "Anno bisestile"
- End If
- Else
- Print "Anno Non bisestile"
- End If
- End Sub
Esercizio riscrivere il Programma facendo uso di
un unico IF