45
Informatica? • Scienza della rappresentazione e dell’elaborazione dell’informazione ovvero • Studio degli algoritmi che descrivono e trasformano l’informazione

Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Embed Size (px)

Citation preview

Page 1: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Informatica?

• Scienza della rappresentazione e dell’elaborazione dell’informazione

ovvero

• Studio degli algoritmi che descrivono e trasformano l’informazione

Page 2: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 3: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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)

Page 4: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 5: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 6: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 7: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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...

Page 8: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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)

Page 9: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 10: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Visual BasicLinguaggio di programmazione

• ad alto livello

• interpretato (ambiente interattivo)

• visuale

• guidato dagli eventi

Page 11: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

•Command Botton – permette l’esecuzione di eventi

•CheckBox

•OptionButton

Page 12: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Processo di programmazionein Visual Basic

• Progetto dell’applicazione

• Creazione dell’interfaccia grafica

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

• Esecuzione

Page 13: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 14: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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.

Page 15: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 16: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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)

Page 17: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 18: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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.

Page 19: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Avvio di Microsoft Visual Basic

Progetto :

- Nuovo

- Esistente

- Recente

Page 20: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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” , “”

Page 21: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Operatori

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

• Su Stringhe: + oppure &

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

Page 22: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Il mio primo programma

Private Sub Form_Activate()

print “Buongiorno!" 

End Sub

Page 23: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Programma giallo/rosso

Private Sub command1_click()

text1.text = “Rosso" 

End Sub

Private Sub command2_click()

text1.text = “Giallo" 

End Sub

Page 24: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 25: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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…

Page 26: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Calcolo dell’area di un rettangolo

• Leggi da input l’altezza

• Leggi da input la base

• Calcola l’area

• Dai in output il risultato

Page 27: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Calcolo del perimetro di un rettangolo

• Leggi da input l’altezza

• Leggi da input la base

• Calcola il perimetro

• Dai in output il risultato

Page 28: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Conversione lire in euro

• Leggi da input l’importo in lire

• Calcola il corrispettivo in euro

• Dai in output il risultato

Page 29: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Anno bisestile

• Leggi da input l’anno

• Verifica se è bisestile

Page 30: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 31: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 32: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 33: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

BLOCCHI DI FLUSSO:BLOCCO CONDIZIONALE

Diagramma 1 Diagramma 2

condizioneFT

Page 34: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

ESEMPIO DI TRADUZIONE

Dim A, B, X as Integer…….

If A = B Then X = 1

Else X = 2

Endif…….

Page 35: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 36: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 37: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 38: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 39: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

BLOCCHI DI FLUSSO:BLOCCO DI RIPETIZIONE

Diagramma 1

condizione

T

F

Page 40: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Ciclo While

Do While condizione

Blocco di uno o più enunciati

Loop

Page 41: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 42: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 43: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

Cicli ForFor intContatore = intInizio to intFine [Step

intIncremento] Blocco di una o più istruzioniNext

Esempio:For intContatore = 0 to 6 Step 2Next

Page 44: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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

Page 45: Informatica? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che descrivono e trasformano linformazione

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