Classe 2Q - Appunti MODULO 3

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Classe 2Q - Appunti MODULO 3"

Transcript

1 Brescianet.com Sito didattico - Prof. Sechi Marco Classe 2Q - Appunti MODULO 3 Classe 2Q - Appunti MODULO 3 by e01692 Appunti estemporanei relativi al 3 Modulo Gli stessi appunti sono disponibili in laboratorio all'indirizzo: \\ \Sechi Non Buttare \3Modulo Page 1 of 1 Posted: Sat Mar 10, :22 am 20/3/ Classe 2Q - Appunti MODULO 3 by e01692 vba VIsual basic for application Posted: Tue Mar 20, :01 am i linguaggi di prg consentono l'automatizzazione delle operazioni algoritmo => sequenza di istruzioni da seguire per risolvere un problema un programma è la traduzione di un algoritmo in un linguaggio comprensibile dal PC un linguaggio di prg è un linguaggio che il PC comprende ed è in grado di eseguire VBA è il linguaggio di prg utilizzato in WIN. alt+f11 => entro nella modalità che mi consente di scrivere un prg in VBA thisworkbook => indica la cartella di lavoro corrente (contenente i miei fogli di XLS) worksheet => foglio Nella finestra di programmazione relativa ad uno dei fogli appaiono in cima due listbox 1 listbox: elenco degli oggetti posti sul foglio 2 listbox: elenco degli eventi abbinati all'oggetto selezionato sul 1 listbox msgbox "FraseStorica" => mostra in una finestra di dialogo la frase storica esempio di esecuzione quando il foglio verrà attivato Private Sub Worksheet_Activate() MsgBox "Ciao Sono il foglio 1" End Sub T il linguaggio di prg consente l'automatizzazione delle operazioni per cui operazioni ripetitive possono essere effettuate velocemente senza che un utente debba presidiare le operazioni. Il VBA è un linguaggio di prg ad oggetti ho degli oggetti dotati di proprietà (che possono essere modificate via codice gli oggetti sono sensibili ad eventi che determinano l'esecuzione di una porzione di codice tutti gli oggetti di EXCEL (in realtà di tutti i prg) sono programmabili per cui potranno essere manipolati via codice sub NomeOggetto_Nomeevento(argomenti)

2 Istruzioni VBA end sub verrà eseguita quando clicco Private Sub Pioppo_Click() Pioppo.Caption = "Cambia testo" Pioppo.BackColor = vbgreen Pioppo.ForeColor = vbwhite Pioppo.MousePointer = fmmousepointercross End Sub questo codice VBA verrà eseguito con un movimento del mouse sull'oggetto Private Sub Pioppo_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Pioppo.Caption = "X: " & X & " - Y: " & Y End Sub per dire che un oggetto esegue il "CodiceVBA" allo scatenarsi di un determinato evento dovete scrivere: sub NomeOggetto_NomeEvento(argomenti) Codice VBA end sub sub => subroutine => sottoprogramma gli argomenti sono la parte variabile dell'evento /3/2012-2T l'interfaccia è la modalità tramite la quale un utente comunica con un prg la costruzione del motore ole consente la creazione di applicazioni che tramite interfaccia grafica sono usabili per utenti "Normali" ma permettono anche l'automatizzazione delle operazioni Costruire un prg ha senso se il problema deve essere affrontato + volte (problema ripetitivo) 24/3/ Classe 2Q - Appunti MODULO 3 by e01692 OGGETTO PULSANTE caption => etichetta che appare sul bottone backcolor => colore di sfondo (usare il nome del colore inglese preceduto da vb: esempio vbgreen, vbyellow, vbred...) forecolor => colore del testo Un prg è una sequenza di istruzioni che ricevono in input dei dati, li elaborano (algoritmo) e li butta in output INPUT cells => insieme delle celle del foglio corrente cells(r,c) => cella in riga r colonna c esempio: leggo la cella Private Sub BtnSaluta_Click() MsgBox Cells(2, 2) End Sub Posted: Sat Mar 24, :06 am

3 per scrivere in una cella scrivo: cells(r,c)=valore esempio cells(2,23)=123 concatenazione di frasi "CIAO " & "SONO " & " MARCO" => "CIAO SONO MARCO" l'operatore & concatena le stringhe nel computer una stringa (sequenza di caratteri alfabetici) è indicata delimitandola con "" CONSTRUTTO IF se ho un nominativo saluto altrimenti no Private Sub BtnSaluta_Click() If Cells(2, 2) = "" Then Cells(4, 2) = "Nessun studente modello da salutare" Cells(4, 2) = "AVE " & Cells(2, 2) End Sub l'if replica la capacità di scelta di una persona che sulla base di condizioni effettua una selezione SINTASSI IF: IF CONDIZIONE1 THEN ISTRUZIONI VBA se CONDIZIONE1 è VERA ELSE ISTRUZIONI VBA se CONDIZIONE1 è FALSA END IF T 22/3/2012 IF CONDIZIONE1 THEN ISTRUZIONI VBA se CONDIZIONE1 è VERA [ELSEIF CONDIZIONE2 THEN ISTRUZION2 VBA se CONDIZIONE2 è VERA ELSEIF CONDIZIONE2 THEN ISTRUZION2 VBA se CONDIZIONE2 è VERA... ELSE ISTRUZIONE N se nessuna delle precedenti condizioni era vera] END IF MsgBox "Ho terminato", vbinformation, "Esito comando" sintassi msgbox : vedi file di WORD msgbox "frase storica", bottoni, "titolo finestra" vbyesno, vbexclamation,vbcritical, vbinformation, vbquestion per domandare

4 Esempio con msgbox If MsgBox("Sei promosso?", vbyesno + vbquestion, "Esito finale") = vbyes Then Me.btnEsito.BackColor = vbgreen Me.btnEsito.BackColor = vbred 27/3/ Classe 2Q - Appunti MODULO 3 by e01692 If MsgBox("Sei promosso?", vbyesno + vbquestion, "Esito finale") = vbyes Then Posted: Tue Mar 27, :11 am se msgbox restituisce vbyes ho cliccheggiato su SI se msgbox restituisce vbno ho cliccheggiato su NO if voto > 5.5 then msgbox "Promosso" else if hopiuditrematerie then msgbox "Bocciato" else msgbox "A settembre" if X>0 then cells(1,1) ="Positivo" elseif x<0 then cells(1,1) ="Negativo" else cells(1,1) ="Zero" IL VBA è un linguaggio di prg ad oggetti (non completamente vero). Quindi si basa su oggetti dotati di proprietà (sfondo, colore testo, frase storica [caption]) che eseguono metodi (azioni) e reagiscono ad eventi (esempio mousemove, doppio click, click...) me => oggetto contenitore => foglio Me.Range("c3") = "uso di range" => range è simile a cells range("a1")=20 EQUIVALE A cells(1,1)=20 cells ha un metodo per pulire tutte le celle: Me.Cells.ClearContents pulisco solo A1 me.cells(1,1).clearcontents application =>oggetto excel metodi

5 application.quit => chiude l'applicazione Application.Workbooks => insieme delle cartelle aperte Application.Workbooks(i) => oggetto relativo alla i-esima cartella aperta Application.Workbooks(i).name => nome dell' i-esima cartella aperta Application.Workbooks(i).Worksheets => insieme dei fogli della i-esima cartella aperta Application.Workbooks(i).Worksheets(j) => j-esimo foglio della i-esima cartella aperta Application.Workbooks(i).Worksheets(j).Name => nome del j-esimo foglio della i-esima cartella aperta Application.Workbooks(i).Worksheets(j).Name = "Ciao" => cambio l'etichetta del j-esimo foglio della i-esima cartella aperta Application.Workbooks(1).Worksheets.Add => aggiungo un foglio alla cartella 1 activeworkbook => è il nome della cartella corrente ActiveSheet =>è il nome del foglio corrente => si preferisce usare il me Per compilare la cella A1 della cartella "VBA2.xls" sul foglio2 posso usare il percorso assoluto che parte da application Application.Workbooks("VBA2.xls").Worksheets("Foglio2").Cells(1, 1) = "Ciao" oppure usare il riferimento me (purchè abbia a video il foglio2 del file vba2.xls me.cells(1, 1) = "ciao" T 24/3/2012 Application.Workbooks.count => nr cartelle aperte Application.Workbooks(1).Worksheets(2).Cells(1, 1) = "DDD" se sono sul foglio 2 e voglio mettere "DDD" in A1 mi basta scrivere cells(1,1)="ddd" ' commento => servono a ricordare al programmatore il significato delle istruzioni. IsNumeric(argomento) => restituisce vero se argomento è numerico ActiveSheet => foglio attivo: posso usare me oppure ometterlo ActiveSheet ha come oggetto padre un Workbook: Application.ActiveWorkbook.ActiveSheet. ActiveWorkbook => cartella corrente attiva: non equivale a me - posso ometterla. ActiveWorkbook ha come oggetto padre Application: Application.ActiveWorkbook ActiveSheet.Cells(7, 8) equivale a me.cells(7, 8) o a Cells(7, 8) x mod y => resto della divisione di x per y 10 mod 6 => risultato 4 if Isnumeric(range("A1")) then => testo che in A1 abbia un numero if Isnumeric(range("A1")) and Isnumeric(range("B1")) then => testo che in A1 e B1 abbia dei numeri la condizione per testare che in una cella ho un numero (escludo quindi anche il caso cella pulita!) devo

6 scrivere: if IsNumeric(Range("H32")) And Range("h32") <> "" then isnumeric("") => restituisce vero per cui se lascio una cella vuota la condizione risulta vera test che una cella sia non vuota Range("h32") <> "" OPERATORI DI RELAZIONE USATI PER LE CONDIZIONI = > < >= <= <> diverso "Ciao " & "Marco " => concateno due stringhe ed ottengo: "Ciao Marco " if range("a1") > 30 OR Range("A1")<12 then => testo se sono all'esterno dell'intervallo [30,12] if NOT (range("a1") <= 30 AND Range("A1")>=12) then => testo se sono all'esterno dell'intervallo [30,12] (30,12) => gli estremi sono esclusi [30,12] => gli estremi sono inclusi pubblicare fino al 3.7 dell'if 31/3/ Classe 2Q - Appunti MODULO 3 by e01692 porzione di codice non indentata (poco leggibile : non vedo la dipendenza dei construtti) If IsNumeric(Range("H14")) Then If Application.ActiveWorkbook.ActiveSheet.Range("H14") = 0 Then MsgBox "Valore Nullo", vbinformation, "Determinazione parità" If (Range("H14") Mod 2 = 0) Then MsgBox "Valore Pari", vbinformation, "Determinazione parità" MsgBox "Valore dispari", vbinformation, "Determinazione parità" MsgBox "Valore Non numerico", vbcritical, "Determinazione segno" NOT A OR B AND C => prima il not - poi and ed infine OR NOT ( (A OR B) ) AND C => le parentesi possono cambiare la precedenza Posted: Tue Apr 03, :03 am Dichiarazione variabili: dim nomevariabile as tipovariabile Le variabili sono zone di memoria dove posso parcheggiare valori che poi il mio prg utilizza (esempio creo una variabile voto dove registro il voto per poi stabilire se promuovere o

7 bocciare lo studente modello) - byte tipo numerico intero senza segno compreso nell intervallo da 0 a integer usato per rappresentare numeri interi (con segno) compresi fra a string che può contenere delle sequenze di caratteri (stringhe) a lunghezza variabile oppure a lunghezza fissa - long per numeri interi compresi fra -2,147,483,648 e 2,147,483,647, - single e double, con cui è possibile memorizzare numeri reali a singola o a doppia precisione - boolean, tipo logico che può assumere il valore TRUE o FALSE (vero o falso) - date, in cui è possibile memorizzare data e ora - variant, tipo universale che può contenere dei dati di qualsiasi formato dim NatoIl as date => variabile che conterrà probabilmente la data di nascita dim voto as single dim reddito as double dim cognome as string dim distanza as long dim eta as byte svolgere esercitazione IF fino al 7 (esattamente 3, 4, 6 e 7) per sabato prossimo 2T - 28/3/2012 solo 2T ---- Application.Workbooks.count => nr cartelle aperte ---- scrivere Dentro = ((Colonna <= 3) And (Colonna >= 1)) Dentro = Dentro And ((Riga <= 7) And (Riga >= 1)) è equivalente a: Dentro = ((Colonna <= 3) And (Colonna >= 1)) And ((Riga <= 7) And (Riga >= 1)) è equivalente a: (il carattere _ indica che il comando segue sulla linea successiva) Dentro = ((Colonna <= 3) And (Colonna >= 1)) _ And ((Riga <= 7) And (Riga >= 1)) range("a1").interior.colorindex => colore di sfondo 80% di un'applicazione è speso per controllare gli errori dell'utente (interfaccia) 20% => algoritmo rnd => genera un numero tra [0,1) int(rnd*100) = > genero un numero tra 0 e 99 generare un numero tra [A,B] => int(rnd*(b-a+1))+a controllo se ho scritto qualcosa If Not (IsNull(Nominativo) Or Nominativo = "") Then MsgBox "Ciao " & Nominativo

8 oggetto.select => azione di selezione (range("a1").select => è come cliccare su A1) selection => insieme di celle selezionate nomevariabile = nomevariabile & "Accodo questa frase storica" vbcrlf => costante che indica il ritorno a capo s=s+99 => sommo ad a S 99 range("a1").formula="=somma(a16:a27)" 2T pubblicare Esercitazione IF alle del 18/4/2012 2Q pubblicare Esercitazione IF alle del 20/4/2012 dim x as long x=1+2 int(numero) => toglie il decimale ALCUNE SOLUZIONI Private Sub Btn3_Click() ' x mod y ===> da il resto della divisione tra x e y If IsNumeric(Range("G19")) And IsNumeric(Range("I19")) Then If Range("I19") = 0 Then MsgBox "Calcolo IMPOSSIBILE!!! Valore Nullo nel divisore", vbinformation, "Determinazione parità" If (Range("G19") Mod Range("I19") = 0) Then MsgBox Range("G19") & " è multiplo di " & Range("I19"), vbinformation, "Determinazione parità" MsgBox Range("G19") & " non è multiplo di " & Range("I19"), vbinformation, "Determinazione parità" MsgBox "Valori non numerici nelle celle di input", vbcritical, "Determinazione segno" End Sub oppure Private Sub Btn3_Click() ' x mod y ===> da il resto della divisione tra x e y Dim OK As Boolean OK = IsNumeric(Range("G19")) And IsNumeric(Range("I19")) OK = OK And Range("G19") <> "" And Range("I19") <> "" If OK Then If Range("I19") = 0 Then MsgBox "Calcolo IMPOSSIBILE!!! Valore Nullo nel divisore", vbinformation, "Determinazione parità" If (Range("G19") Mod Range("I19") = 0) Then MsgBox Range("G19") & " è multiplo di " & Range("I19"), vbinformation, "Determinazione parità"

9 MsgBox Range("G19") & " non è multiplo di " & Range("I19"), vbinformation, "Determinazione parità" MsgBox "Valori non numerici oppure non hai scribacchiato nulla nelle celle di input", vbcritical, "Determinazione segno" End Sub Eser 6 OK = IsNumeric(Range("G38")) And IsNumeric(Range("H38")) And IsNumeric(Range("J38")) OK = OK And Range("G38") <> "" And Range("H38") <> "" And Range("J38") <> "" if OK then OK=Range("G38") <Range("J38") IF OK THEN algoritmo else avviso errore if Me.OptFemmina then equivale a if Me.OptFemmina=true then entro il 20/4 alle pubblicare l'esercitazione dell'if 3/4/ Classe 2Q - Appunti MODULO 3 by e01692 long => range +/-2^31 integer => range +/- 2^15 se la parte decimale deve essere precisa è meglio usare un double al posto di single Posted: Tue Apr 03, :04 am Con questa scrittura dico al VBA che al click su BtnRiempi eseguirò: "...sequenza VBA" Sub btnriempi_click()...sequenza VBA End Sub STRUTTURE OPrivate Sub btnriempi_click() Me.Range("a1") = 1 Me.Range("a2") = 2 Me.Range("a3") = 3 Me.Range("a4") = 4 Me.Range("a5") = 5 Me.Range("a6") = 6 Me.Range("a7") = 7 Me.Range("a8") = 8 Me.Range("a9") = 9 Me.Range("a10") = 10 End SuITERATIVE

10 Immaginiamo questo esempio: Private Sub btnriempi_click() Me.Range("a1") = 1 Me.Range("a2") = 2 Me.Range("a3") = 3 Me.Range("a4") = 4 Me.Range("a5") = 5 Me.Range("a6") = 6 Me.Range("a7") = 7 Me.Range("a8") = 8 Me.Range("a9") = 9 Me.Range("a10") = Me.Range("a30000") = End Sub ogni istruzione è identica e parametrica rispetto ad i Me.Range("A" & i) = i usando il FOR posso variare i da un valore iniziale ad uno finale For i = 1 To 2000 Me.Range("A" & i) = i Sequenza di esecuzione - Le [] indicano che non è obbligatorio for variabile=<valoreiniziale> to <valorefinale> [step <incremento>] IstruzioneIterata VBA NEXT IstruzioneSuccessiva IL vba leggendo questo FOR esegue questi passaggi: 1) Valorizza variabile al <valoreiniziale> 2) se la variabile > di <Valore finale il ciclo termina ed eseguo IstruzioneSuccessiva 3) eseguo Istruzione Iterata VBA 4) Incremento variabile del valore <incremento> (se omesso incremento=1 o passo) 5) ritorno allo step 2 Le prime 10 potenze di 2 For i = 1 To 10 Me.Range("A" & i) = 2 ^ i con Me.Range("A:A").ClearContents pulisco l'intero contenuto della colonna A Calcolo delle prime N potenze di Base base = Me.Range("G2") N = Me.Range("G3") Me.Range("A:A").ClearContents For i = 1 To N ' stamperò l'i-esima potenza di base Me.Range("A" & i) = base ^ i

11 1, 0,1, 0 primi N termini for i=1 to N se i è pari stampo 0 altrimenti stampo 1 NEXT per cui N = Me.Range("G3") For i = 1 To N If (i Mod 2) = 0 Then Me.Range("A" & i) = 0 Me.Range("A" & i) = 1 oppure N = Me.Range("G3") For i = 1 To N Me.Range("A" & i) = (i Mod 2) 1, 0,-1,1, 0, -1 primi N termini (provare a casa) randomize => inizializza il generatore di numeri casuali Contare in una sequenza di N numeri casuali quanti sono <0.5 e quanti sono >=0,5 N = Me.Range("G3") randomize Me.Range("A:A").ClearContents ' Inizializzo le variabili di conteggio NrMaggioriDi05=0 NrMinoriDi05=0 for i=1 to N Me.Range("A" & i) = rnd if Me.Range("A" & i) <0.5 then ' incremento di 1 NrMinoriDi05=NrMinoriDi05+1 else NrMaggioriDi05=NrMaggioriDi05+1 Me.Range("G5")=NrMinoriDi05 Me.Range("G6")=NrMaggioriDi05 14/4/ Classe 2Q - Appunti MODULO 3 by e01692 RICORDARSI IL TIPO DI DATO: byte tipo numerico intero senza segno compreso nell intervallo da 0 a integer usato per rappresentare numeri interi (con segno) compresi fra a Posted: Sat Apr 14, :49 am

12 - string che può contenere delle sequenze di caratteri (stringhe) a lunghezza variabile oppure a lunghezza fissa - long per numeri interi compresi fra -2,147,483,648 e 2,147,483,647, - single e double, con cui è possibile memorizzare numeri reali a singola o a doppia precisione - boolean, tipo logico che può assumere il valore TRUE o FALSE (vero o falso) - date, in cui è possibile memorizzare data e ora - variant, tipo universale che può contenere dei dati di qualsiasi formato genero N numeri casuali tra 0 e 1 for i=1 to N Me.Range("A" & i) = rnd next IF => replica la capacità umana di selezione FOR => replica la capacità umana di ripetere un'operazione operatori algebrici + Somma Somma i valori - Sottrazione Sottrae i valori * Moltiplicazione Moltiplica i valori / Divisione Divide i valori Divisione intera Determina la parte intera di una divisione ^ Esponente Eleva un valore ad una potenza MOD Modulo Determina il resto di una divisione operatori di confronto = Uguale > Maggiore >= Maggiore uguale < Minore <= Minore uguale <> Diverso For contatore = inizio To fine [Step incremento] [istruzioni] [Exit For] [istruzioni] [contatore] Me.Range("a:C").ClearContents => PULISCE IL CONTENUTO DELLE COLONNE a, B, c Range("a:A").ClearContents for i=1 to 10 me.range("a" & i)=i next for i=1 to 10 STEP me.range("a" & i)=i next interrogo 5 STUDENTI CHE NON HANNO VOTO NRINTERROGATI=0 FOR I=1 TO 25 IF NOT interrogato(i) THEN

13 INTERROGO(I) NRINTERROGATI=NRINTERROGATI+1 END ID IF NRINTERROGATI>4 THEN EXIT FOR NEXT interrogato(i) => FUnzione che valuta se l'i-esimo studente ha un voto interrogo(i) => sub che replica l'algoritmo interrogazione calcolo potenza partendo da b^0... b^n Me.Range("a:a").ClearContents base = Me.Range("e3") n = Me.Range("e2") For i = 1 To n + 1 ' stamperò l'i-esima potenza di base Me.Range("A" & i) = base ^ (i - 1) T 12/4/ PARTE FATTA in 2Q 1, 0,1, 0 primi N termini for i=1 to N se i è pari stampo 0 altrimenti stampo 1 NEXT per cui N = Me.Range("G3") For i = 1 To N If (i Mod 2) = 0 Then Me.Range("A" & i) = 0 Me.Range("A" & i) = 1 oppure N = Me.Range("G3") For i = 1 To N Me.Range("A" & i) = (i Mod 2) 1, 0,-1,1, 0, -1 primi N termini (provare a casa) Posso usare una cella per leggere un valore digitato da un utente MsgBox "Saluta " & Me.Range("f3") oppure usare altri meccanismi di input Dim nome As Strin nome = InputBox("Dammi il nome: ", "richiedo il nome", "") MsgBox "Saluta " & nome

14 Dim nome As Strin Dim NatoIl As Date Dim eta As Byte nome = InputBox("Dammi il nome: ", "richiedo il nome", "") MsgBox "Saluta " & nome dim promosso as boolean promosso=true => esito positivo debug => mi consente di controllare gli errori di esecuzione F8 per eseguire un'istruzione alla volta in debug Nella produzione di un prg ho 3 sezioni: INPUT, ALGORITMO, OUTPUT Generalmente in un prg INPUT ed OUTPUT sono il 70/80% di un prg L'algoritmo è la parte variabile dipendente dal problema che intendo risolvere ' 'INPUT ' n = Me.Cells(3, 3) ' o me.range("c3") ' ' ALGORITMO ' For d = 2 To n - 1 ' se N è divisibile per d non è primo If n Mod d = 0 Then primo = False Exit For ' ' OUTPUT ' If primo Then Me.Range("C4") = "SI" Me.Range("C4") = "NO" SEQUENZA PERIODICA Quando una sequenza si ripete ogni p elementi devo usare il resto => i mod p Esempio con p=3 n = Me.Range("E2") For i = 1 To n If (i Mod 3) = 1 Then Me.Range("A" & i) = "A" If (i Mod 3) = 2 Then Me.Range("A" & i) = "B" Me.Range("A" & i) = "C"

15 caricare sul sito l'esercitazione sull'if per venerdi 20 alle saper generare sequenze: 1,0,1,0 A,B,C,... 1, -2, 4, -8..., -(-2)^i Da farsi x la prossima volta Esercizio 1=> mostrare tutti i divisori di un numero N Esercizio 2 => mostrare tutti i fattori primi di un numero N 17/4/ Classe 2Q - Appunti MODULO 3 by e01692 Esempio con p=3 n = Me.Range("E2") Posted: Tue Apr 17, :14 am For i = 1 To n If (i Mod 4) = 1 Then Me.Range("A" & i) = "A" If (i Mod 4) = 2 Then Me.Range("A" & i) = "B" If (i Mod 4) = 3 Then Me.Range("A" & i) = "C" Me.Range("A" & i) = "D" X(1) = 1 X(2) = 2 X(3) = X(1)+X(2) X(4) = X(3)+X(2) X(4) = X(4)+X(3)... X(N)=X(N-1)+X(N-2)... SOLUZIONE Dim N As Long Dim A_1 As Long ' è il termine 2 volte precedente Dim A_2 As Long ' è il termine precedente Dim A_Attuale As Long ' è il termine attuale ' INPUT A_1 = Me.Range("F3") A_2 = Me.Range("F4") N = Me.Range("F5") ' ALGORITMO + OUTPUT Me.Range("A1") = "A(1)=" Me.Range("A2") = "A(2)=" Me.Range("B1") = A_1 Me.Range("B2") = A_2 For i = 3 To N

16 A_Attuale = A_1 + A_2 Me.Range("A" & i) = "A(" & i & ")=" Me.Range("B" & i) = A_Attuale A_1 = A_2 ' il termine precedente deve diventare 2 volte precedente nell'iterazione successiva A_2 = A_Attuale ' il termine attuale deve il precedente nell'iterazione successiva Calcolo del minimo e del massimo Dim N As Long ' INPUT/INIZIALIZZAZIONE N = Me.Range("E2") Randomize ' inizializza il generatore di numeri casuali For i = 1 To N Me.Range("A" & i) = Int(Rnd * 100) ' genero tra 0 e 99 int (elimina la parte decimale della moltiplica rnd*100) ' ALGORITMO Minimo = Me.Range("a1") For i = 2 To N If Minimo > Me.Range("A" & i) Then Minimo = Me.Range("A" & i) Massimo = Me.Range("a1") For i = 2 To N If Massimo < Me.Range("A" & i) Then Massimo = Me.Range("A" & i) ' Output Me.Range("E3") = Minimo Me.Range("E4") = Massimo concatenazione (accodo un numero seguito da ; a s) s = s & i & "; " Sequenza in una cella di tutti i numeri da 1 a N N = Me.Cells(3, 3) s = "" For i = 1 To N s = s & i & "; " Me.Range("C7") = s N = Me.Cells(3, 3) s = "" For i = 1 To N If (N Mod i) = 0 Then s = s & i & "; "

17 Me.Range("C7") = s doppi for in italico dalla riga 1 alla riga N scrivo la i-esima riga dalla riga 1 alla riga N dalla colonna 1 alla colonna M scrivo l'elemento X(r,c) for r=1 to N for c=1 to M me.cells(r,c)=r*c next diagonale for r=1 to N for c=1 to M if r=c then me.cells(r,c)=r*c else me.cells(r,c)="" next 21/4/ Classe 2Q - Appunti MODULO 3 by e01692 elencare le funzioni in fondo agli appunti - spiegare quelle della stringa Posted: Sat Apr 21, :03 am cbool => converte l'argomento in un valore booleano cbool(0) => falso cbool(27) => vero cdate => converte una stringa in date "1 gennaio 2012" - date() => genera errore cdate("1 gennaio 2012") - date() => giorni trascorsi da 1/1/2012 a oggi CINT => converte una stringa in intero cint("1,23") => 1 cint(1.84) => 2 ASC => restituisce il codice ascii della lettera data come argomento asc("a") => 97 asc("a") => 65 CHR(numero da 0 a 255) => inversa di ASC chr(65) => "A"

18 FoRMAT(valore o variabile, maschera di formato) => uguale a TESTO => trasforma una variabile in stringa trasformandola secondo le specifiche del 2 argomento format(date,"dddd") => giorno della settimana di oggi format(date,"mmmm") => mese di oggi format (12,"00000") => "00012" INSTR(stringa1, stringa2) => restituisce la posizione della prima occorrenza della stringa2 nella stringa 1 - non è case sensitive) instr("ciao sono io","no") => restiuisce 8 INSTRREV(stringa1, stringa2) => restituisce la posizione dell'ultima occorrenza della della stringa2 nella stringa 1 - non è case sensitive) instr("ciao sono oaaa","o") => restituisce 4 instrrev("ciao sono oaaa","o") => restituisce 11 2T - 19/4/2012 Format(1334.9, "#,##0.00") => 1.334,90 Format("ciao", ">") => maiuscolo imparate bene le funzioni di manipolazione stringa left("ciao",2) => "Ci" right("ciao",2) => "ao" mid("ciao",2) => iao mid("ciao",2,1) => "i" => secondo carattere lcase(argomento) => minuscolo ucase(argomento) => maiuscolo La funzione stringa=replace(stringa1,stringa2,stringa3) sostituisce in stringa1 la stringa2 con stringa3 e la restituisce nella variabile stringa trim(argomento) => elimina gli spazi iniziali e finali trim(" Ciao marco ") => "Ciao marco" ltrim(" Ciao marco ") => "Ciao marco " rtrim(" Ciao marco ") => " Ciao marco" replace(" Ciao marco "," ","") => "Ciaomarco" len("ciao marco") => 9 mid(s,i,1) => i-esimo carattere s="ciao marco" left(right(s,2,1),2) => cosa ottengo? ' Procedura che elimina la lettera "a" da s s="ciao marco" t="" for i=1 to len(s) if (mid(s,i,1)<>"a") then t=t & mid(s,i,1)

19 next oppure s="ciao marco" t=replace(s,"a","") contare quante lettere A ci sono in una stringa s s="ciao marco" n=0 for i=1 to len(s) if (mid(s,i,1)="a") then n=n+1 next oppure len(s) - len(replace(s,"a","")) conta vocali s="ciao marco" n=0 for i=1 to len(s) if (mid(s,i,1)="a") then n=n+1 if (mid(s,i,1)="o") then n=n+1 if (mid(s,i,1)="i") then n=n+1 if (mid(s,i,1)="u") then n=n+1 if (mid(s,i,1)="e") then n=n+1 next IsNumeric(argomento) => vero se l'argomento è un numero IsDate(argomento) => vero se l'argomento è una data IsNull(argomento) => vero se l'argomento non ha valore esempio: isdate("29/02/2011") eta=inputbox("quanti anni hai?","","") if isnumeric(eta) then msgbox "ok se hai + di 18 sei maggiorenne" else msgbox "?!?!?!?!?! non capisco!" date() => giorno di oggi year(date()) => anno attuale month(date()) => nr mese attuale

20 day(date()) => nr giorno mese attuale format(date(),"mmmm") => nome mese attuale sqr(numero) => radice quadrata di numero abs (numero) => valore assoluto di un numero randomize => inizializza la sequenza casuale rnd => genera un numero tra [0,1) sapere bene msgbox e inputbox Dim x Equivale a Dim x as variant ad esempio dim PeriodoScatto as variant utile se non conosco il tipo di input degli utenti: esempio potranno scrivere 1/1/2012 oppure inverno solo per l'orale struttura iterativa simile al for ma usata quando non conosco a priori il numero di iterazioni while condizione parteiteratain VBA wend il while continua ad eseguire la parte iterata fibchè la condizione è vera la parte iterata probabilmente modificherà la condizione (prima o poi) evitando che il ciclo (loop) diventi infinito for i=1 to 25 chiamastudente(i) next chiedo un numero finchè non digito 0 x=1 while x<>0 x=inputbox("dammi un numero","","") wend il for non è equipotente al while ovvero qualsiasi prg con for può essere riscritto con while - non è vero l'opposto for i=valoreiniziale to valorefinale step passo parte iterata next in while diventa: i=valoreiniziale while i <=valorefinale parte iterata

21 i=i+passo wend 24/4/ Classe 2Q - Appunti MODULO 3 by e01692 IL WHILE è + potente del FOR infatti: questa sequenza non può essere riprodotta in for s="" while s<>"basta" s=inputbox("scrivi qualcosa","","") wend Posted: Tue Apr 24, :30 am vbyesno, vbquestion, vbinformation If vbyes = MsgBox("Rispondi si o no", vbyesno + vbquestion, "Richiesta") Then MsgBox "Hai risposto con si!", vbinformation, "Risposta" MsgBox "Hai risposto con no!", vbinformation, "Risposta" Int((limitesup - limiteinf + 1) * Rnd + limiteinf) => genero un numero compreso tra limiteinf e limitesup left(right("ciao",1),1) => cosa ottengo contenuto delle celle da A1 a A10 che contengono la lettera A for i=1 to 10 if instr(me.range("a" & i),"a") >0) then msgbox me.range("a" & i) next InStr([inizio, ]stringa1, stringa2[, confronto]) => gli argomenti tra [] sono opzionali => ricerca stringa2 in stringa 1 e ne restituisce la posizione della prima occorrenza - 0 se non trova la stringa cercata InStrRev([inizio, ]stringa1, stringa2[, confronto]) => gli argomenti tra [] sono opzionali => ricerca stringa2 in stringa 1 e ne restituisce la posizione dell'ultima occorrenza - 0 se non trova la stringa cercata Powered by phpbb Forum Software phpbb Group All times are UTC Page 1 of 1

Indice del forum -> Classe 2N - 3 Modulo. Inviato: 08 Mar :20 am Oggetto: 2N - Modulo 3. Inviato: 15 Mar :06 am Oggetto: 2N - 15/03/2008

Indice del forum -> Classe 2N - 3 Modulo. Inviato: 08 Mar :20 am Oggetto: 2N - Modulo 3. Inviato: 15 Mar :06 am Oggetto: 2N - 15/03/2008 lnx.brescianet.com Sito didattico - Prof. Sechi Marco FAQ Cerca Lista utenti Gruppi Profilo Non ci sono nuovi messaggi Log out [ ] 2N - Modulo 3 Indice del forum -> Classe 2N - 3 Modulo Precedente :: Successivo

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Excel & VBA. Excel e Visual Basic for Application

Excel & VBA. Excel e Visual Basic for Application Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria

Dettagli

28/02/2014 Copyright V. Moriggia

28/02/2014 Copyright V. Moriggia Informatica per la Finanza 3 Le variabili in VBA Altri I/O 28/02/2014 Copyright 2005-2007 V. Moriggia 1 28/02/2014 3.2 Le variabili in VBA V. Moriggia 1 28/02/2014 3.3 Dichiarazione di variabili in VBA

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione con il linguaggio LibreOffice Basic Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software

Dettagli

Excel & VBA. Excel e Visual Basic for Application

Excel & VBA. Excel e Visual Basic for Application Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria

Dettagli

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL ISTRUZIONI PIU COMUNI: Le istruzioni per scrivere del testo dentro una cella sono principalmente due: cells e range L istruzione cells permette di scrivere

Dettagli

VISUAL BASIC FOR APPLICATION

VISUAL BASIC FOR APPLICATION VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia

Dettagli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016 Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester

Dettagli

Visual Basic For Application Guida Pratica per Esempi

Visual Basic For Application Guida Pratica per Esempi 2016 Visual Basic For Application Guida Pratica per Esempi Ing. Nicola Cappuccio 02/04/2016 1. VBA - Visual Basic For Application... 2 1.1. Come creare una Macro... 2 Attivare l opzione di sviluppo in

Dettagli

Note per la programmazione in linguaggio Visual Basic di Excel

Note per la programmazione in linguaggio Visual Basic di Excel Note per la programmazione in linguaggio Visual Basic di Excel L ambiente di programmazione Il foglio elettronico Excel, così come gli altri prodotti Office di Microsoft, possiede un vero e proprio ambiente

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

IMPOSTAZIONI DI EXCEL. Per rendere disponibile l ambiente di sviluppo di Visual Basic for Application in Excel:

IMPOSTAZIONI DI EXCEL. Per rendere disponibile l ambiente di sviluppo di Visual Basic for Application in Excel: Impostazioni di Excel IMPOSTAZIONI DI EXCEL Per rendere disponibile l ambiente di sviluppo di Visual Basic for Application in Excel: Excel Options / Popular oppure Excel Options / Customize ribbon selezionare:

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

5 Array Cicli iterativi Contenuto di cella 28/02/2014 Copyright V. Moriggia 1

5 Array Cicli iterativi Contenuto di cella 28/02/2014 Copyright V. Moriggia 1 Informatica per la Finanza 5 Array Cicli iterativi Contenuto di cella 28/02/2014 Copyright 2005-2013 V. Moriggia 1 28/02/2014 7.2 ARRAY V. Moriggia 1 28/02/2014 5.3 Esercizio Trovare il maggiore tra 3

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

= < < < < < Matematica 1

= < < < < < Matematica  1 NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato

Dettagli

Costrutti condizionali e iterativi

Costrutti condizionali e iterativi Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1 Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE ALLIEI Ingegneria GESTIONALE PARTE A.1 - ELEMENTI 10/02/2016 NUM. MATRICOLA PER RITIRARSI SCRIERE QUI "RITIRATO"

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE ALLIEVI Ingegneria GESTIONALE PARTE A.1 - ELEMENTI 10/02/2016 NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO"

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015 Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 Ambiente di test Cercare PHP online per avere un interprete PHP Assegnamento

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni. Andrea Marchetti CNR/IIT AA 2016/2017

Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni. Andrea Marchetti CNR/IIT AA 2016/2017 Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni Andrea Marchetti CNR/IIT AA 2016/2017 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester PHP Fiddle Write

Dettagli

Programmazione in Excel con il linguaggio Visual Basic

Programmazione in Excel con il linguaggio Visual Basic Programmazione in Excel con il linguaggio Visual Basic L'ambiente di programmazione Il foglio elettronico Excel, così come gli altri prodotti Office di Microsoft, possiede un vero e proprio ambiente di

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Automazione Excel con Visual Basic (base)

Automazione Excel con Visual Basic (base) Automazione Excel con Visual Basic (base) Docente: Lucio Benussi Descrizione del corso e obiettivi Visual Basic for Applications (VBA) è un ambiente di sviluppo software, inserito all interno di tutti

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione

Dettagli

CORSO DI INFORMATICA GENERALE. Università degli Studi di Bergamo

CORSO DI INFORMATICA GENERALE. Università degli Studi di Bergamo CORSO DI INFORMATICA GENERALE Università degli Studi di Bergamo Microsoft Excel E un software applicativo per la gestione dei fogli di calcolo. E un programma che consente la gestione e l organizzazione

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative

Dettagli

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa

Dettagli

Formule e funzioni. Manuale d uso

Formule e funzioni. Manuale d uso EXCEL Modulo 2 Formule e funzioni Manuale d uso Formule (1/2) Le formule sono necessarie per eseguire calcoli e utilizzano i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale Università degli Studi di Brescia INFORMATICA Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica e Industriale DIPARTIMENTO

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

Automazione Excel con Visual Basic (base)

Automazione Excel con Visual Basic (base) Automazione Excel con Visual Basic (base) Docente: Lucio Benussi Descrizione del corso e obiettivi Visual Basic for Applications (VBA) è un ambiente di sviluppo software, inserito all interno di tutti

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Indice del forum -> Classe 3M - 3 Modulo. Inviato: 10 Mar :57 am Oggetto: 3 MODULO - Classe 3M

Indice del forum -> Classe 3M - 3 Modulo. Inviato: 10 Mar :57 am Oggetto: 3 MODULO - Classe 3M lnx.brescianet.com Sito didattico - Prof. Sechi Marco FAQ Cerca Lista degli utenti Gruppi utenti Profilo Non ci sono nuovi messaggi Logout [ ] 3 MODULO - Classe Indice del forum -> Classe - 3 Modulo Precedente

Dettagli

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule EXCEL Il software Excel appartiene alla categoria dei fogli elettronici. Ogni foglio è composto da 1.048.576 righe per 16.384 colonne suddivise in celle che è possibile collegare tra loro: in tal modo

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

Matlab. Istruzioni condizionali, cicli for e cicli while.

Matlab. Istruzioni condizionali, cicli for e cicli while. Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella le cui righe e colonne si intersecano in celle Le celle possono contenere differenti dati Numeri

Dettagli

Breve guida al linguaggio FORTRAN 77

Breve guida al linguaggio FORTRAN 77 Breve guida al linguaggio FORTRAN 77 Variabili (valori di default) Iniziali con lettere da I a N Iniziali con lettere da A a H oppure da O a Z variabili intere, 4 byte in precisione singola variabili reali,

Dettagli

Indice del forum -> Appunti - Classi 2. Inviato: Mer Giu 08, :22 am Soggetto: I MODULO - 2N

Indice del forum -> Appunti - Classi 2. Inviato: Mer Giu 08, :22 am Soggetto: I MODULO - 2N Brescianet.com Sito didattico - Prof. Sechi Marco FAQ Cerca Lista degli utenti Gruppi utenti Registrati Profilo Entra per controllare i messaggi privati Entra I MODULO - 2N Indice del forum -> Appunti

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?

Dettagli

Dall algoritmo al programma

Dall algoritmo al programma Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

Dettagli

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10 Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti La

Dettagli

Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE PROF. M. SECHI PARTE A.1 ELEMENTI

Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE PROF. M. SECHI PARTE A.1 ELEMENTI Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE PROF. M. SECHI PARTE A.1 ELEMENTI 25/01/2017 COGNOME E NOME: NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO"

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Esercitazioni di Elementi di Informatica

Esercitazioni di Elementi di Informatica Esercitazioni di Elementi di Informatica Docente: Prof. Angelo Chianese angelo.chianese@unina.it Tutor: Ing. Antonio Picariello antonio.picariello@unina.it Interpreti e Compilatori Interprete Es. Qbasic

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

IL LINGUAGGIO Visual Basic

IL LINGUAGGIO Visual Basic Caratteristiche del linguaggio VB Linguaggio basato sugli eventi IL LINGUAGGI Visual Basic I programmi non sono procedurali, poiche non seguono una sequenza operativa. gni programma si basa infatti su

Dettagli

Tasti di scelta rapida da Excel ALT+I+Z

Tasti di scelta rapida da Excel ALT+I+Z 2.3 Le formule in Excel 2.3.1 Introduzione In un foglio elettronico, una formula è un tipo di dato (vedi RICHIAMO) che, immesso in una cella, determina la regola secondo la quale il valore del dato che

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente

Dettagli

Si può scrivere un programma anche utilizzando un editor di testo (Blocco Note, WordPad, ) ricordandosi comunque di salvarlo con l estensione.py.

Si può scrivere un programma anche utilizzando un editor di testo (Blocco Note, WordPad, ) ricordandosi comunque di salvarlo con l estensione.py. Avviare il programma (Tutti i Programmi Python 2.7 Idle). Quello che si è avviato è l ambiente di sviluppo di Python, che serve per facilitare il programmatore nello scrivere programmi usando Python. Dalla

Dettagli

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement Ogni istruzione di uno script viene chiamata statement. La fine di uno statmenet e' indicata dal simbolo ;. Anche se in ActionScript il ; è opzionale, si consiglia di metterlo ugualmente per aumentare

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

CAPITOLO 11 - TECNOLOGIA ASP.NET - LINGUAGGIO VB.NET

CAPITOLO 11 - TECNOLOGIA ASP.NET - LINGUAGGIO VB.NET INTRODUZIONE Visual Basic.NET (di seguito VB.NET) è un linguaggio semplice e potente, progettato per unire l intuitività di Visual Basic con la potenza del.net. Inizialmente scriveremo codice VB.NET associato

Dettagli

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE Prof. M. Sechi PARTE A.1 - ELEMENTI 23/03/2016 COGNOME E NOME: NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice: Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi

Dettagli

Visual basic base Lezione 13. Ancora su ListBox e cicli

Visual basic base Lezione 13. Ancora su ListBox e cicli Ancora su ListBox e Cicli Ancora su ListBox e cicli Oggi torniamo sulle ListBox e i cicli. Per prima cosa vogliamo mostrare come gestire le ListBox in cui vogliamo permettere una selezione multipla. Per

Dettagli

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B Ingegneria Elettrica Script in Matlab Gli script Uno script è un file di testo contenente una sequenza di comandi MATLAB (è un programma

Dettagli

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char Tipo carattere Finora abbiamo lavorato con valori numerici. I numeri costituiscono molta parte del lavoro dei computer, ma non tutta. I computer sono macchine per il trattamento dell informazione e l informazione

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

A lezione sono stati presentati i seguenti passi per risolvere un problema:

A lezione sono stati presentati i seguenti passi per risolvere un problema: Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi

Dettagli

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.

PASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 13

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 13 Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 13 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti I

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

Dettagli

Laboratorio di Python

Laboratorio di Python Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio

Dettagli

Classe 1C E-book di informatica Marco Ciani

Classe 1C E-book di informatica Marco Ciani Sommario Capitolo 1: Il sistema di numerazione binario... 4 Dalla base 10 alla base 2... 4 Dalla base 2 alla base 10... 4 Capitolo 2: Operazioni in base 2... 5 Somma... 5 Sottrazione... 5 Moltiplicazione...

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli