1 / 45

Informatica?

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

hadar
Download Presentation

Informatica?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Algoritmo? • Sequenza di passi per risolvere un determinato problema • Calcolatore = Esecutore di algoritmi • Gli algoritmi sono descritti tramite programmi scritti in linguaggi ad altolivello e poi tradotti in linguaggiomacchina

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

  4. 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 Ris Decrementa N • Correttezza: • Al termine Ris=a^n

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

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

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

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

  9. Visual Basic Linguaggio di programmazione per lo sviluppo di applicazioni da eseguire in un qualunque ambiente Microsoft Windows. VB è un’implementazione Microsoft dell’originario linguaggio Basic

  10. Visual 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 l’esecuzione di eventi • CheckBox • OptionButton

  12. Processo di programmazionein Visual Basic • Progetto dell’applicazione • Creazione dell’interfaccia grafica • Aggiunta del codice agli elementi visivi (interpretazione e compilazione) • Esecuzione

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

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

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

  16. Definizioni 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)

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

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

  19. Avvio di Microsoft Visual Basic Progetto : • Nuovo • Esistente • Recente

  20. Tipi di Dati Integer (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” , “”

  21. Operatori • +, -, *, /, Mod , \ • Su Stringhe: + oppure & ES: “Visual” & “Basic” = VisualBasic”

  22. Il mio primo programma Private Sub Form_Activate() print “Buongiorno!"  End Sub

  23. Programma giallo/rosso Private Sub command1_click() text1.text = “Rosso"  End Sub Private Sub command2_click() text1.text = “Giallo"  End Sub

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

  25. Programma nome/cognome Private 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…

  26. Calcolo dell’area di un rettangolo • Leggi da input l’altezza • Leggi da input la base • Calcola l’area • Dai in output il risultato

  27. Calcolo del perimetro di un rettangolo • Leggi da input l’altezza • Leggi da input la base • Calcola il perimetro • Dai in output il risultato

  28. Conversione lire in euro • Leggi da input l’importo in lire • Calcola il corrispettivo in euro • Dai in output il risultato

  29. Anno bisestile • Leggi da input l’anno • Verifica se è bisestile

  30. SubSOMMA( ) • DimA, Bas Integer • A =InputBox("Immetti un numero") • B =InputBox(“Immetti un secondo numero”) • Somma = A+B • PrintSomma End Sub start stop Leggi A,B Somma = A + B Stampa Somma

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

  32. F T condizione Diagramma 1 Diagramma 2 BLOCCHI DI FLUSSO:BLOCCO CONDIZIONALE

  33. ESEMPIO DI TRADUZIONE Dim A, B, X as Integer ……. If A = B Then X = 1 Else X = 2 Endif …….

  34. ESEMPIO DI TRADUZIONE Dim vendite, bonusas Integer vendite = InputBox("Immetti il totale delle vendite") If vendite> 10000Then bonus =100 Else msgbox(“lavora di più”) End if

  35. Annidare enunciati if If condizione Then Blocco di uno o più enunciati Visual Basic Else Blocco di uno o più enunciati Visual Basic End if

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

  37. ESEMPIO 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 / 3*11 End Sub

  38. F condizione T Diagramma 1 BLOCCHI DI FLUSSO:BLOCCO DI RIPETIZIONE

  39. Ciclo While Do Whilecondizione Blocco di uno o più enunciati Loop

  40. 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 <> -400 Temperatura = InputBox("Dammi un valore di temperatura") If Temperatura > 30 Then Conta = Conta + 1 End If Loop Print "Il numero totale di giorni afosi è "; Conta EndSub

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

  42. Cicli For For intContatore = intInizio to intFine [Step intIncremento] Blocco di una o più istruzioni Next Esempio: ForintContatore = 0 to 6 Step 2 Next

  43. ESEMPIO Calcolare la media dei propri voti Sub Main() Dim Voto, NumeroEsami, Somma, i asInteger Print “Inserisci i tuoi voti” Somma = 0 numeroEsami=inputBox(“Inserisci numero esami”) For i=1 toNumeroEsami Voto = InputBox (“Inserisci un voto ”) Somma = Somma + Voto Next Print “La tua media è”; Somma/NumeroEsami

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

More Related