informatica? scienza della rappresentazione e dellelaborazione dellinformazione ovvero studio degli...

Post on 01-May-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Informatica?

• Scienza della rappresentazione e dell’elaborazione dell’informazione

ovvero

• Studio degli algoritmi che descrivono e trasformano l’informazione

Algoritmo?

• 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

Algoritmo

• Concetti fondamentali:– Correttezza = l’algoritmo 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)

Esempio: potenza

• Problema: Calcolare a elevato alla n (a^n)• Utilizziamo le variabili N, Ris• Inizialmente Ris=1 e N=n• Algoritmo:• Fino a che N>0

Calcola Ris*a e memorizzalo in RisDecrementa N

• Correttezza:• Al termine Ris=a^n

Linguaggi 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

Esempio in Pseudo Pascal

Program potenza;Integer Ris,N,A;Read(N);Read(A);Ris=1;While (N>0) do

Ris=Ris*A;N=N-1;

Print(Ris);

Esempio• Il precedente programma va tradotto in linguaggio

macchina (comprensibile all’elaboratore), 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...

Utilizzo 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)

Visual BasicLinguaggio di programmazione per lo sviluppo

di applicazioni da eseguire in un qualunque ambiente Microsoft Windows.

VB è un’implementazione Microsoft dell’originario linguaggio Basic

Visual BasicLinguaggio di programmazione

• ad alto livello

• interpretato (ambiente interattivo)

• visuale

• guidato dagli eventi

Visual Basic VISUALE!!!!•Text Box - permette di inserire e visualizzare dati (stringhe, interi, double, etc)

•Command Botton – permette l’esecuzione di eventi

•CheckBox

•OptionButton

Processo di programmazionein Visual Basic

• Progetto dell’applicazione

• Creazione dell’interfaccia grafica

• Aggiunta del codice agli elementi visivi (interpretazione e compilazione)

• Esecuzione

Processo di programmazionein Visual Basic

Un programma è costituito da

• controlli (ciascuno rappresentato da un’icona)

• istruzioni

L’interazione dell’utente con un qualunque controllo rappresenta un evento

Ad ogni controllo sono associati diversi eventi

Processo di programmazionein Visual Basic

Il codice di un’applicazione VB è suddiviso in singoli blocchi definiti routine.

Una routine di eventi contiene il codice eseguito quando viene generato un evento.

Definizioni di base

• Form: indicativo di finestra e comprende barra del titolo, barra del menù…

• Controlli: sono le icone con le quali l’utente interagisce ad es. pulsanti di comando, di opzione, caselle di testo…

Form e controlli sono indicati come oggetti

Definizioni di baseA 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)

Definizioni 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 dell’oggetto stesso.

Gli oggetti sono oggetti grafici (bottoni, finestre, text box…)

Programmazione visuale

Il codice viene associato ad una o più azioni che vengono compiute sull’oggetto: click del mouse, apertura di una finestra, pressione di un tasto ecc.

Avvio di Microsoft Visual Basic

Progetto :

- Nuovo

- Esistente

- Recente

Tipi di DatiInteger (Valori interi -32,768 to 32,767)

Es: 0, 123, -4534

Double (Valori reali da -1.79769313486232e+308 a

-4.94065645841247E-324 negativi

4.94065645841247E-324 a

1.79769313486232e+308 positivi

Es: 0, 12.34, 0.123E+123

String Es: “Ciao”, “Inserisci il primo numero” , “”

Operatori

• +, -, *, /, Mod , \

• Su Stringhe: + oppure &

ES: “Visual” & “Basic” = VisualBasic”

Il mio primo programma

Private Sub Form_Activate()

print “Buongiorno!" 

End Sub

Programma giallo/rosso

Private Sub command1_click()

text1.text = “Rosso" 

End Sub

Private Sub command2_click()

text1.text = “Giallo" 

End Sub

Funzioni 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

Programma nome/cognomePrivate Sub command1_click()

dim msg as string 

Msg = InputBox(“insert nome”….)

If msg <> “” then

text1.text = msg

endif

End Sub

Private Sub command2_click()

…. Cognome…

Calcolo dell’area di un rettangolo

• Leggi da input l’altezza

• Leggi da input la base

• Calcola l’area

• Dai in output il risultato

Calcolo del perimetro di un rettangolo

• Leggi da input l’altezza

• Leggi da input la base

• Calcola il perimetro

• Dai in output il risultato

Conversione lire in euro

• Leggi da input l’importo in lire

• Calcola il corrispettivo in euro

• Dai in output il risultato

Anno bisestile

• Leggi da input l’anno

• Verifica se è bisestile

12

ESEMPIO DI PROGRAMMA

Sub SOMMA( )Dim A, B, Somma as IntegerA = InputBox("Immetti un numero")B = InputBox(“Immetti un secondo

numero”)Somma = A+BPrint “Somma:”; Somma

End Sub

Somma = A + B

start

Stampa Somma

Leggi A,B

stop

Sub SOMMA( )Dim A, B as Integer

A = InputBox("Immetti un numero")B = InputBox(“Immetti un secondo numero”)

Somma = A+B

Print Somma

End Sub

Prova

OK

Sub Command1_Click() Dim A, B as Integer

A = InputBox(“Leggi A") B = InputBox(“Leggi B”) Somma = A+B

Print Somma

End Sub

Proprieta’ Caption

BLOCCHI DI FLUSSO:BLOCCO CONDIZIONALE

Diagramma 1 Diagramma 2

condizioneFT

ESEMPIO DI TRADUZIONE

Dim A, B, X as Integer…….

If A = B Then X = 1

Else X = 2

Endif…….

ESEMPIO DI TRADUZIONEDim vendite, bonus as Integer

vendite = InputBox("Immetti il totale delle vendite")

If vendite > 10000 Then

bonus =100Else

msgbox(“lavora di più”)

End if

If condizione Then

Blocco di uno o più enunciati Visual Basic

Else

Blocco di uno o più enunciati Visual Basic

End if

Annidare enunciati if

ESEMPIO 1Dire 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

ESEMPIO 2Trasformare 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 / 3*11

End Sub

BLOCCHI DI FLUSSO:BLOCCO DI RIPETIZIONE

Diagramma 1

condizione

T

F

Ciclo While

Do While condizione

Blocco di uno o più enunciati

Loop

ESEMPIO Contare per quanti giorni la temperatura è stata superiore ai 30 gradiSub Main() Dim Conta, Temperatura As Integer Conta = 0 Temperatura = 0 Print "Inserisci una serie di temperature quotidiane (terminata da -

400)" Do While Temperatura <> -400 Temperatura = InputBox("Dammi un valore di temperatura") If Temperatura > 30 Then Conta = Conta + 1 End IfLoopPrint "Il numero totale di giorni afosi è "; ContaEnd Sub

ESEMPIO Calcolare la media dei propri voti

Sub Main()

Dim Voto, NumeroVoti, Somma as Integer

Print “Inserisci i tuoi voti”

While Voto <> -1

Voto = InputBox (“Inserisci un voto (-1 per finire)”)

NumeroVoti = NumeroVoti + 1

Somma = Somma + Voto

Wend

Print “La tua media è”; Somma/NumeroVoti

Cicli ForFor intContatore = intInizio to intFine [Step

intIncremento] Blocco di una o più istruzioniNext

Esempio:For intContatore = 0 to 6 Step 2Next

ESEMPIO Calcolare la media dei propri voti

Sub Main()

Dim Voto, NumeroEsami, Somma, i as Integer

Print “Inserisci i tuoi voti”

Somma = 0numeroEsami=inputBox(“Inserisci numero esami”) For i=1 to NumeroEsami

Voto = InputBox (“Inserisci un voto ”) Somma = Somma + Voto Next

Print “La tua media è”; Somma/NumeroEsami

ESEMPIO Calcolare se un certo anno sarà bisestileSub 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 <> 0 Then Print "Anno Non Bisestile" Else Print "Anno bisestile" End If Else Print "Anno Non bisestile" End IfEnd Sub

Esercizio: riscrivere ilProgramma facendo usodi un unico IF

top related