Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

File Linguaggio C.
PROGRAMMARE IN PASCAL (le basi)
I File di testo in Pascal
Lez. 6 (10/11) - PBElementi di Programmazione1 Lezione 6 Parametri Facoltativi Matrici Matrici di parametri.
Lez. 8 (10/11) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 8 (11/12) - PBElementi di Programmazione1 Lezione 8 Date Valutazione di espressioni File di testo sequenziali.
Lez. 11 (11/12) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 7 (10/11) - PBElementi di Programmazione1 Lezione 7 Matrici di Celle Tipi String e Date.
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Elementi di Programmazione
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
Oggetti Form e Controlli Registratore di Macro
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 5 (10/11 - PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 5 (11/12- PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Algoritmi e Programmazione
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
Interfaccia del file system
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
File.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
Introduzione agli stream e alle classi
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il linguaggio Fortran 90: 5. Formato di I/O e Files
Introduzione alla programmazione lll
Istruzioni Decisionali
OPERAZIONI CON STRINGHE Le operazioni più interessanti da fare, per ora, con le stringhe sono: determinare la lunghezza della stringa, cioè quanti caratteri.
CAPITOLO 7.
Lezione 2 Programmare in ASP
4 Tipi di dati & variabili
File I record.
File ad accesso casuale o random
Specificare una unità con cui scambiare i dati input da tastiera output a video file esterno variabili di programma unità di I/O Istruzioni di INPUT/OUTPUT.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmare in Visual Basic
1 Gestione dei File. 2 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi –Si usano dall'interno dei programmi Realizzano.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
JavaScript Generalità Cos'è JavaScript?
Lezione 3 Struttura lessicale del linguaggio
Lz. 3 (13/14)Elementi di Programmazione1 Istruzioni (strutture) di controllo 1.
Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.
Il ciclo while.  Permette di ripetere un blocco di istruzioni fino a quando non si verifica un determinato evento  Il ciclo while può essere realizzato.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Laboratorio Informatico
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Transcript della presentazione:

Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali

Lez. 9 (13/14)Elementi di Programmazione2 Valutare Espressioni –Se una stringa contiene una formula sintatticamente corretta per Excel con una variabile si può valutare la formula per diversi valori della variabile creando una tabella Si deve usare la proprietà Formula di una cella insieme alla funzione Replace –Nella formula i numeri debbono avere come separatore il punto decimale –La variabile da sostituire è meglio che non sia un carattere o una sequenza di caratteri che può essere contenuta in funzioni di libreria »Preferire ad esempio _x ad x ( x è contenuto anche in funzioni come Exp() )

Lez. 9 (13/14)Elementi di Programmazione3 Valutazione di una Espressione –Supponiamo che la cella A2 contenga una formula con una incognita _x La cella B2 il primo valore per _x La cella C2 l’ultimo valore per _x La cella D2 il passo –Il codice nella pagina che segue permette di tabulare tutti i valori della formula

Lez. 9 (13/14)Elementi di Programmazione4 Valutazione di una Espressione Sub Tabula() Dim x As Double, y As Double, iniX As Double Dim finX As Double, passo As Double Dim formula As String, i As Integer formula = Cells(2, 1).Value formula = Replace(formula, ",", ".") iniX = Cells(2, 2).Value finX = Cells(2, 3).Value passo = Cells(2, 4).Value i = 0 For x = iniX To finX Step passo Cells(4 + i, 2).Value = x Cells(4 + i, 3).formula = "=" & _ Replace(formula, "_x", _ CStr(Replace(x, ",", "."))) Cells(4 + i, 3).NumberFormat = ".##" i = i + 1 Next End Sub

Lez. 9 (13/14)Elementi di Programmazione5 Lettura e scrittura file VB presenta diverse possibilità di accesso ai file ma si illustrerà solo quella per la gestione dei file di testo sequenziali Si ricorda che è possibile esportare o importare in Excel file separati da virgola (Comma Separated Values) direttamente

Lez. 9 (13/14)Elementi di Programmazione6 Lettura e scrittura file sequenziali Questo genere di file sono utili come meccanismo di deposito e scambio di dati Le fasi in cui si suddividono le operazioni sono: –Apertura ( Open ) –Lettura ( Input ) o scrittura ( Write ) –Chiusura ( Close )

Lez. 9 (13/14)Elementi di Programmazione7 Lettura e scrittura file sequenziali Apertura file Open percorso For modalità As #nfile percorso indica il percorso compreso il nome del file da aprire –Per ottenere il percorso della directory dove si trova il foglio di lavoro usare: »ThisWorkbook.Path modalità indica come si accederà al file: –Input, Output, Append nfile numero fra 1 e 511 che identificherà il file aperto

Lez. 9 (13/14)Elementi di Programmazione8 Lettura e scrittura file sequenziali Scrittura Write #nfile, elencoDati Nfile : numero del file da aprire elencoDati : elenco dei dati da scrivere separato da virgola –I dati decimali sono sempre scritti separando col punto la parte decimale –Per i tipi Boolean viene scritto #True# o #False# –Per i tipi Date si usa il formato #aaaa-mm-gg# –Se omesso scrive il carattere di a capo Scrive elencoDati e poi va a capo

Lez. 9 (13/14)Elementi di Programmazione9 Lettura e scrittura file sequenziali Sub usoFileScritt() Dim i As Integer, j As Integer Open ThisWorkbook.Path & "\p.txt" For Output As #1 For i = 1 To 6 Write #1, Cells(i, 1), " ", Cells(i, 2) Next Close #1 End Sub

Lez. 9 (13/14)Elementi di Programmazione10 Esempio Scrivere il codice che dato il foglio di lavoro corrente che contiene dalla posizione A1 alla posizione D2 dei numeri interi scrive sul file pari.txt i valori pari, sul file dispari.txt i valori dispari Attenzione x Mod 2 restituisce -1 se X è un numero dispari negativo (fare il test su 0)

Lez. 9 (13/14)Elementi di Programmazione11 Esempio Option Explicit Sub usaFile() Dim Y As Variant ‘deve essere per forza variant Open ThisWorkbook.Path & "\pari.txt" For Output As #1 Open ThisWorkbook.Path & "\dispari.txt" For Output As #2 For Each Y In Range("A1:D2") If Y Mod 2 = 0 Then Write #1, CInt(Y) Else Write #2, CInt(Y) End If Next Close #1 Close #2 End Sub

Lez. 9 (13/14)Elementi di Programmazione12 Lettura e scrittura file sequenziali Lettura Input #nfile, elencovariabili nfile : numero identificativo del file elencovariabili : elenco delle variabili in cui scrivere i valori (usare solo variabili) Per verificare la fine del file si usa la funzione EOF(nfile) –True se fine file, False altrimenti

Lez. 9 (13/14)Elementi di Programmazione13 Lettura e scrittura file sequenziali Sub usoFileLett() Dim i As Integer, j as integer, k as integer, Dim h as integer Open ThisWorkbook.Path & "\p.txt" For Input As #1 i = 0 Do While Not EOF(1) Input #1, k, j, h Cells(i + 10, 10) = k Cells(i + 10, 11) = h i = i + 1 Loop Close #1 End Sub

Lez. 9 (13/14)Elementi di Programmazione14 Esempio Scrivere il programma che legge i valori dal file dati.txt, li scrive nel foglio corrente a partire dalla colonna A e quindi su ciscuno applica la formula contenuta nella cella C1 (dove la variabile si chiama _x) e scrive nella colonna B il valore ottenuto sostuendo nella formula in C1 il valore in A

Lez. 9 (13/14)Elementi di Programmazione15 Esempio Option Explicit Sub leggiTabula() Dim val As Double, i As Integer Dim fml As String, fmlS As String fml = Range("C1").Value Open ThisWorkbook.Path & "\dati.txt" For Input As #1 i = 1 While Not EOF(1) Input #1, val Cells(i, 1) = val fmlS = Replace(fml, "_x", Replace(CStr(val), ",", ".")) Cells(i, 2).Formula = "=" & fmlS i = i + 1 Wend Close #1 End Sub

Lez. 9 (13/14)Elementi di Programmazione16 Esercizi Option Explicit Function fz(ByRef x As Integer, _ ByVal y As Integer) As Double Dim a As Integer x = y * 2 + a y = y * 3 fz = a + 2 End Function Sub ric() Dim x As Integer, y As Integer Dim z As Integer z = 1 While (z < 4) x = fz(y, 5 + x) z = z + 2 Wend End Sub ric x y z fz() x y a fz ^y ric ^y ric ^y ric ^y ric ^y ric ^y ric ^y ric ^y ric

Lez. 9 (13/14)Elementi di Programmazione17 Esercizi Date le seguenti dichiarazioni Dim a As Integer Dim b As Boolean Ed i seguenti valori iniziali a=4 b=true Indicare il valore delle seguenti espressioni a = b + 7 b = a - 6 a b 4 true (-1) 6 true (-1) a=b+7 6 false (0) b=a-6

Lez. 9 (13/14)Elementi di Programmazione18 Esercizi Data la seguente dichiarazione Dim vt(3) As Double Dim i As Integer indicare il contenuto di vt dopo aver eseguito il seguente codice For i = UBound(vt) To LBound(vt) Step -1 vt(i) = UBound(vt) - i * 3 Next 0 LBound 123 UBound vt

Lez. 9 (13/14)Elementi di Programmazione19 Esercizi Data la seguente dichiarazione Dim vt(3) As Double Dim i As Integer indicare il contenuto di vt dopo aver eseguito il seguente codice For i = UBound(vt) To LBound(vt) vt(i) = UBound(vt) - i * 3 Next NON ENTRA NEL CICLO!