I file sequenziali in QBASIC

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I file sequenziali in QBASIC"

Transcript

1 I file 1 I file sequenziali in QBASIC Claudio Fornaro 24 febbraio 2003

2 2 I file 1. I file Un file è un area di memoria su un dispositivo di memoria di massa quale ad esempio un disco, ad essa è stato dato un nome per poterla identificare. Il sistema operativo non conosce la struttura interna del file né ne è interessato, per esso si tratta semplicemente di una sequenza di byte con un nome. Il sistema operativo è comunque in grado di leggere o scrivere dei byte da o sul file. Esistono sostanzialmente due tipi di file: file ad accesso sequenziale file ad accesso diretto (detti anche ad accesso casuale o random) In un file ad accesso sequenziale i dati sono scritti uno dopo l altro, poiché si possono scrivere valori di tipo diverso (e quindi di dimensione diversa) per accedere all elemento i-esimo è necessario leggere tutti i precedenti (non ho modo di sapere da quale byte (rispetto al primo byte del file) del file inizia l i-esimo dato essendo quelli intermedi di dimensione varia). In un file ad accesso diretto i dati hanno tutti la stessa dimensione: si definisce una struttura dati di dimensione (ossia un numero di byte) adeguata a contenere tutti i tipi di dati da considerare. Detta struttura si chiama record. Essendo i record di dimensione fissa (tutti ad esempio di 20 byte), per accedere all i-esimo dato basta accedere all i-esimo record che inizia alla posizione (cioè dal byte numero) i*dimensione_record (ad es. il 4 o record inizia dal byte 4*20=160, essendo il primo byte del file il numero 1), e quindi la velocità di accesso è assai più elevata rispetto al caso dei file sequenziali. Se la dimensione del record è adeguata a contenere dati di diversa lunghezza, quando si utilizzano questi record per dati di lunghezza inferiore si ha uno spreco di memoria (su disco), cioè rimangono dei buchi inutilizzati all interno di alcuni record (si veda lo schema sotto), ma questo è i prezzo da pagare per un accesso più veloce. I file ad accesso sequenziale più utilizzati sono i cosiddetti file di testo, ossia file composti da soli caratteri ASCII (standard). Questi file contengono solo caratteri, quindi anche i numeri sono espressi come sequenze di caratteri. Per creare un file di testo (estensione.txt) si usa un editor come EDIT, NOTEPAD, BLOCCO NOTE, o altri (non Word che è invece un word processor). Un file di testo ha normalmente varie righe, ciascuna terminata da un carattere invisibile di ritorno a capo (immesso premendo il tasto INVIO). Nel seguito utilizzeremo

3 I file 3 esclusivamente file di testo in quanto costituiscono il caso più generale di file e in altri linguaggi importanti sono l unico tipo di file che il programmatore può utilizzare. Una volta che si è imparato a utilizzare questi file è molto semplice estendere le proprie conoscenze agli altri. 1.1 Aprire e chiudere un file E possibile utilizzare più file contemporaneamente, ad esempio leggendo da due file e mettendo i risultati in un altro file. In BASIC è necessario informare il sistema che si intende operare su un certo file in un certo modo, questa operazione si chiama apertura del file e deve chiaramente avvenire prima di accedere effettivamente al file stesso. Ecco come si apre un file: OPEN nomefile FOR modo AS #numero nomefile è una stringa, costante o variabile, contenente il nome del file da aprire, modo indica se si intende leggere (prelevare dei valori da quel file) o numero scrivere (aggiungervene), è un numero intero compreso tra 1 e 255 (costante o variabile) che identificherà d ora in poi il file nomefile aperto in quel modo. Nel seguito, quando vorremo trattare il file così aperto basterà indicarne il numero. Se vogliamo aprire più file, è sufficiente dare a ciascuno un numero diverso. Un file può essere aperto o solo in lettura o solo in scrittura, ma non in entrambi i modi (neppure con due OPEN diverse). I modi di accesso al file si è detto essere o in lettura o in scrittura, in realtà ci sono tre modi di accesso, ossia modo può essere una delle seguenti keyword: INPUT modalità di input, per leggere valori dal file; se il file non esiste e si cerca di aprirlo il programma si ferma segnalando il problema, OUTPUT modalità di output, per scrivere valori nel file; se il file non esiste viene creato nuovo vuoto, pronto per essere scritto, se già esiste viene prima cancellato e poi creato nuovo come sopra, APPEND modalità di output, per scrivere valori nel file; se il file non esiste viene creato nuovo vuoto, pronto per essere scritto, se già esiste NON viene prima cancellato, ma le successive scritture verranno aggiunte in fondo (appunto appese).

4 4 I file Esempio OPEN "miofile.txt" FOR INPUT AS #12 Questa istruzione apre un file di nome miofile.txt in modo da leggerlo e gli assegna il numero 12. Il file da aprire viene cercato o creato nella directory corrente, se si vuole indicare un altro percorso lo si deve indicare esplicitamente (es. C:\MIEIBAS\miofile.txt ). Si rammenti che l interprete QBASIC non è stato aggiornato da molto tempo per cui i file e le directory non possono contenere spazi o essere ciascuno più lungo di 8 caratteri, oltre ai 3 di estensione.txt). Quando un file non serve più lo si chiude con: CLOSE(numero) dove numero è quello assegnato dalla OPEN. Ogni file deve avere la sua CLOSE. Dopo la CLOSE il numero può essere riutilizzato per un qualsiasi altro file e il file che era stato aperto può essere eventualmente riaperto, magari con un altro modo di accesso. La guida dice che la CLOSE viene effettuata automaticamente quando il programma termina, non è sempre vero. Se si scrive in un file e non lo si chiude esplicitamente con una CLOSE c è il pericolo di perdere gli ultimi dati scritti. Il problema ovviamente non si presenta se il file viene letto. 1.2 Scrivere in un file Quando si tratta di file di testo, per il sistema è indifferente mandare i caratteri sul video o in un file. L istruzione per scrivere su un file è sempre PRINT, ma con una piccola modifica: PRINT #numero, espressione; espressione;... La piccola modifica sta nell indicazione #numero come primo parametro della PRINT, questo specifica che i caratteri da stampare non devono andare sul video, bensì nel file numero. Esempio: OPEN "miofile.txt" FOR OUTPUT AS #6 PRINT #6, "Risultato: "; Risult Anche qui per non andare a capo si può mettere un punto e virgola alla fine dell istruzione PRINT. Si noti che in sistemi MS-DOS e MS- Windows il ritorno a capo viene memorizzato nei file per mezzo di due caratteri, non uno solo. Ecco un esempio di programma che legge dalla tastiera delle stringhe (ma possono anche essere dei numeri) e le mette in un file il cui nome viene chiesto all utente. Si continua a chiedere una stringa da mettere nel

5 I file 5 file finché non si immette la stringa basta, le righe vengono scritte nel file come se fosse il video, una sotto l altra. DIM Nomefile AS STRING DIM Riga AS STRING OPEN Nomefile FOR OUTPUT AS #5 LINE INPUT "Riga da aggiungere:", Riga DO WHILE Riga <> "basta" PRINT #5, Riga LINE INPUT "Riga da aggiungere:", Riga CLOSE(5) 1.3 Leggere da un file Leggere da un file è quasi come leggere dalla tastiera, l istruzione da usare è sempre INPUT, ma con una piccola modifica: INPUT #numero, espressione; espressione;... La piccola modifica sta nell indicazione #numero come primo parametro della INPUT, questo specifica che i caratteri da leggere non devono essere prelevati dalla tastiera, bensì dal file numero. Non si deve mettere il prompt nella INPUT in quanto l input è richiesto ad un file e non ad un essere umano. Per il resto non ci sono differenze con l input da tastiera: se la variabile dell INPUT è numerica i caratteri letti dal file vengono convertiti in numero così come succedeva per l input da tastiera di un numero, se invece è stringa i caratteri vengono memorizzati tali e quali. Una stringa viene letta fino alla virgola o fino al ritorno a capo, per ignorare le virgole come separatori si usa LINE INPUT. Esempio: DIM Valore AS DOUBLE DIM Riga AS STRING OPEN "miofile.txt" FOR INPUT AS #4 INPUT #4, Valore LINE INPUT #4, Riga Ogni istruzione INPUT consuma una parte di file: la successiva INPUT va a considerare i caratteri che la precedente INPUT non ha considerato, così ad esempio nel seguente codice la prima INPUT legge la prima riga del file fino al ritorno a capo, la seconda INPUT la seconda riga, ogni successiva INPUT legge un altra riga fino alla fine del file. LINE INPUT #4, Riga1 LINE INPUT #4, Riga2

6 6 I file Non è possibile ritornare indietro a rileggere un qualcosa che è già stato letto, a meno che non si chiuda il file e lo si riapra: quando si apre un file si inizia sempre a leggerlo da capo. Ma come facciamo a sapere se abbiamo letto tutto il file o c è qualcos altro da leggere? Esiste la funzione EOF (End Of File) che applicata ad un numero di file restituisce il valore vero se il file è terminato, falso se c è ancora qualcosa da leggere prima di raggiungerne la fine. Ovviamente la EOF deve essere utilizzata prima di effettuare ciascuna operazione di INPUT. Lo schema generale per leggere un file è costituito da un ciclo WHILE che termina quando il file è finito: DO WHILE NOT EOF(9) LINE INPUT #9, Riga PRINT Riga Fintantoché non c è la fine del file numero 9, leggi un riga e stampala. Ecco un esempio completo dove il programma chiede all utente il nome di un file in input (contenente uno per riga dei valori frazionari), chiede il nome di un file in output e calcola e scrive in questo file i valori elevati al quadrato, sempre uno per riga. Alla fine stampa sul video il numero di valori elaborati. DIM V as DOUBLE DIM Cont AS INTEGER DIM FileIN AS STRING DIM FileOUT AS STRING INPUT "File in input"; FileIN INPUT "File in output"; FileOUT OPEN FileIN FOR INPUT AS # 1 OPEN FileOUT FOR OUTPUT AS # 2 Cont = 0 INPUT #1, V PRINT #2, V*V Cont = Cont + 1 PRINT "Sono stati elaborati; Cont; " numeri" CLOSE(1) CLOSE(2) END

7 I file 7 L istruzione END serve per far terminare un programma, non l abbiamo mai messa in quanto può essere tralasciata se è l ultima istruzione del programma. Anche qui ovviamente poteva essere tralasciata. 1.4 Esercizi 1) Scrivere con un editor un file contenente uno per riga dei numeri. Scrivere ora un programma che chieda all utente il nome di questo file, lo apra e calcoli e stampi a video quanti sono i valori letti, il valore massimo, il valore minimo, la somma e la media di tutti i valori presenti nel file. 2) Scrivere con un editor un file contenente una per riga delle stringhe. Scrivere ora un programma che chieda all utente il nome di questo file, lo apra e calcoli e stampi a video quante sono le righe, la stringa maggiore e quella minore tra tutte quelle presenti nel file. 3) Scrivere un programma che legge le righe di un file e le stampa dall ultima alla prima (vettore di stringhe). 4) Come sopra, ma le righe vanno messe in un altro file e il programma deve poi scrivere a video quante righe sono state trascritte. 5) Scrivere un programma che apra un file e calcoli in totale quante sono le cifre, le lettere maiuscole, le lettere minuscole e gli altri caratteri presenti. (Suggerimento: leggere ciascuna delle righe con LINE INPUT e trattarle con FOR e MID$). 6) Scrivere un programma che legge da un file un testo e spezza su più righe quelle più lunghe di N caratteri (N chiesto all utente). Una parola può anche essere spezzata, se necessario. L output deve essere salvato in un altro file. 7) Come il precedente, ma le righe si possono spezzare solo dove c è uno spazio (se lo spazio non c è si ricade nel caso dell esercizio precedente). 8) Si vuole un programma che cifri/decifri un file di testo in base ad un codice segreto. Il programma deve chiedere il file di input, il file di output, il codice (un numero intero). La cifratura avviene sostituendo le sole lettere (maiuscole e minuscole) con delle altre lettere in base al valore del codice. Questo indica di quanti caratteri si deve incrementare ciascuna delle lettere: se ad esempio il codice è 3, allora la A diventa D, la B diventa E, ecc. fino a X che diventa A, Y che diventa B e Z che diventa C. Lo stesso per le minuscole. Inoltre per decifrare un testo basta immettere un codice negativo (ad es. 3). A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

8 8 I file 9) (Non semplice). Si vuole un programma che cifri/decifri un file di testo in base ad un codice segreto. Il programma deve chiedere il file di input, il file di output, il codice (una stringa) e se si vuole cifrare o decifrare il testo. La cifratura avviene sostituendo le sole lettere (maiuscole e minuscole) con delle altre lettere secondo questo algoritmo: il codice introdotto deve essere composto di sole lettere (maiuscole o minuscole non importa) tutte diverse (controllare), la prima lettera del codice viene fatta corrispondere alla lettera A, la seconda alla B, e così via fino all ultima lettera del codice. Le lettere non indicate nel codice vengono riordinate alfabeticamente al contrario (dalla Z alla A) e fatte corrispondere alle restanti lettere. Esempio, dato il codice segreto FRAGOLE la corrispondenza delle lettere sarà: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z F R A G O L E Z Y X W V U T S Q P N M K J I H D C B Si vede che dopo la E di FRAGOLE ci sono le restanti lettere dell alfabeto dalla Z alla A. Quindi la parola Ciao viene cifrata in Ayfs.

9 I file Soluzione degli esercizi Esercizio 1 DIM cont AS INTEGER DIM v AS INTEGER DIM somma AS INTEGER, media AS INTEGER DIM max AS INTEGER, min AS INTEGER DIM file AS STRING INPUT "nome del file"; file OPEN file FOR INPUT AS #1 IF NOT EOF(1) THEN 'controlla se esiste almeno 1 riga INPUT #1, v max = v min = v cont = 1 ELSE PRINT "il file è vuoto" END 'termina il programma INPUT #1, v cont = cont + 1 somma = somma + v IF v > max THEN max = v ELSEIF v < min THEN min = v PRINT "Numero valori = "; cont PRINT "Media = "; somma / cont PRINT "Somma = "; somma PRINT "Min = "; min PRINT "Max = "; max END Nota: si noti l istruzione END collocata in mezzo al codice e non solo in fondo al programma.

10 10 Esercizio 2 DIM cont AS INTEGER DIM riga AS STRING DIM max AS STRING DIM min AS STRING DIM file AS STRING I file INPUT "nome del file"; file OPEN file FOR INPUT AS #1 cont = 0 IF NOT EOF(1) THEN 'controlla se esiste almeno 1 riga INPUT #1, riga max = riga min = riga ELSE PRINT "il file è vuoto" END 'termina il programma INPUT #1, riga cont = cont + 1 IF riga > max THEN max = riga ELSEIF riga < min THEN min = riga PRINT "Numero righe = "; cont PRINT "Riga minore = "; min PRINT "Riga maggiore = "; max END Nota: maggiore secondo il codice ASCII, non più lunga; idem per minore.

11 I file 11 Esercizio 3 DIM file AS STRING DIM riga AS STRING DIM cont AS INTEGER DIM i AS INTEGER INPUT "file"; file OPEN file FOR INPUT AS #1 cont = 0 LINE INPUT #1, riga cont = cont + 1 REDIM stringhe(1 TO cont) AS STRING OPEN file FOR INPUT AS #1 FOR i = 1 TO cont LINE INPUT #1, stringhe(i) FOR i = cont TO 1 STEP -1 PRINT stringhe(i) Nota: il primo ciclo è di tipo WHILE in quanto non si sa quante siano le righe del file, le righe vengono lette e scartate: lo scopo di questo ciclo è solo quello di contare quante righe ci sono per poter dimensionare il vettore dinamico stringhe di dimensione opportuna (cont). Il secondo ciclo è un FOR in quanto ora il numero di letture da fare è noto (cont), si sarebbe potuto comunque utilizzare un altro ciclo WHILE. Lo scopo di questo secondo ciclo è leggere tutte le righe del file. Il terzo ciclo percorre il vettore a ritroso.

12 12 Esercizio 4 DIM filein AS STRING DIM fileout AS STRING DIM riga AS STRING DIM cont AS INTEGER DIM i AS INTEGER I file INPUT "file in input"; filein INPUT "file in output"; fileout OPEN filein FOR INPUT AS #1 cont = 0 LINE INPUT #1, riga cont = cont + 1 REDIM stringhe(1 TO cont) AS STRING OPEN filein FOR INPUT AS #1 FOR i = 1 TO cont LINE INPUT #1, stringhe(i) OPEN fileout FOR OUTPUT AS #2 FOR i = cont TO 1 STEP -1 PRINT #2, stringhe(i) CLOSE (2) PRINT "Sono state trascritte"; cont; "righe"

13 I file 13 Esercizio 5 DIM i AS INTEGER DIM Riga AS STRING DIM Maius AS INTEGER DIM Minus AS INTEGER DIM Cifre AS INTEGER DIM Altri AS INTEGER DIM c AS STRING DIM file AS STRING Maius = 0 Minus = 0 Cifre = 0 Altri = 0 INPUT "file"; file OPEN file FOR INPUT AS #1 LINE INPUT #1, Riga FOR i = 1 TO LEN(Riga) SELECT CASE MID$(Riga, i, 1) CASE "0" TO "9" Cifre = Cifre + 1 CASE "A" TO "Z" Maius = Maius + 1 CASE "a" TO "z" Minus = Minus + 1 CASE ELSE Altri = Altri + 1 END SELECT PRINT "cifre "; Cifre PRINT "maiuscole "; Maius PRINT "minuscole "; Minus PRINT "altri "; Altri

14 14 Esercizio 6 DIM filein AS STRING DIM fileout AS STRING DIM N AS INTEGER DIM riga AS STRING I file INPUT "file in input"; filein INPUT "file in output"; fileout INPUT "larghezza massima"; N OPEN filein FOR INPUT AS #1 OPEN fileout FOR OUTPUT AS #2 LINE INPUT #1, riga IF LEN(riga) <= N THEN PRINT #2, riga ELSE DO WHILE LEN(riga) > N PRINT #2, LEFT$(riga, N) riga = RIGHT$(riga, LEN(riga) - N) PRINT #2, riga CLOSE (2)

15 I file 15 Esercizio 7 DIM filein AS STRING DIM fileout AS STRING DIM N AS INTEGER DIM riga AS STRING DIM rigatmp AS STRING DIM spazio AS INTEGER DIM i AS INTEGER INPUT "file in input"; filein INPUT "file in output"; fileout INPUT "larghezza massima"; N OPEN filein FOR INPUT AS #1 OPEN fileout FOR OUTPUT AS #2 LINE INPUT #1, riga IF LEN(riga) <= N THEN PRINT #2, riga ELSE DO WHILE LEN(riga) > N rigatmp = LEFT$(riga, N) 'cerca l'ultimo spazio, se c'è spazio = 0 ' 0 se non c'è FOR i = N TO 1 STEP -1 IF MID$(rigatmp, i, 1) = " " THEN spazio = i EXIT FOR IF spazio = 0 THEN 'non trovato spazio spazio = N PRINT #2, LEFT$(riga, spazio) riga = RIGHT$(riga, LEN(riga) - spazio) PRINT #2, riga CLOSE (2)

16 16 Esercizio 8 Prima versione DIM Codice AS INTEGER DIM c AS STRING DIM cc AS INTEGER DIM riga AS STRING 'riga da cifrare DIM FileIN AS STRING DIM FileOUT AS STRING I file INPUT "Nome del file in input"; FileIN OPEN FileIN FOR INPUT AS #1 'se non lo trova si ferma subito INPUT "Nome del file in output"; FileOUT OPEN FileOUT FOR OUTPUT AS #2 INPUT "Codice"; Codice LINE INPUT #1, riga FOR I = 1 TO LEN(riga) c = MID$(riga, I, 1) IF c >= "A" AND c <= "Z" THEN cc = ASC(c) + Codice IF cc > ASC("Z") THEN cc = cc - 26 ELSEIF cc < ASC("A") THEN cc = cc + 26 MID$(riga, I, 1) = CHR$(cc) ELSEIF c >= "a" AND c <= "z" THEN cc = ASC(c) + Codice IF cc > ASC("z") THEN cc = cc - 26 ELSEIF cc < ASC("a") THEN cc = cc + 26 MID$(riga, I, 1) = CHR$(cc) PRINT #2, riga CLOSE (2)

17 I file 17 Seconda versione DIM codice AS INTEGER DIM c AS STRING DIM cc AS INTEGER DIM riga AS STRING 'riga da cifrare DIM FileIN AS STRING DIM FileOUT AS STRING INPUT "Nome del file in input"; FileIN OPEN FileIN FOR INPUT AS #1 'se non lo trova si ferma subito INPUT "Nome del file in output"; FileOUT OPEN FileOUT FOR OUTPUT AS #2 INPUT "Codice"; codice codice = (codice + 26) MOD 26 'così non è mai negativo LINE INPUT #1, riga FOR I = 1 TO LEN(riga) c = MID$(riga, I, 1) IF c >= "A" AND c <= "Z" THEN REM La formula seguente funziona solo se codice >= 0 cc = (ASC(c) - ASC("A") + codice) MOD 26 + ASC("A") MID$(riga, I, 1) = CHR$(cc) ELSEIF c >= "a" AND c <= ("z") THEN cc = (ASC(c) - ASC("a") + codice) MOD 26 + ASC("a") MID$(riga, I, 1) = CHR$(cc) PRINT #2, riga CLOSE (2)

18 18 Esercizio 9 DIM X AS STRING DIM Y AS STRING DIM Codice AS STRING DIM op AS STRING DIM c AS STRING DIM i AS INTEGER DIM ripetute AS INTEGER '0=no 1=si` DIM riga AS STRING 'riga da cifrare DIM posiz AS INTEGER DIM FileIN AS STRING DIM FileOUT AS STRING I file INPUT "Nome del file in input"; FileIN OPEN FileIN FOR INPUT AS #1 'se non lo trova si ferma subito DO INPUT "Operazione (c=cifra, d=decifra)"; op op = LCASE$(op) UNTIL op = "c" OR op = "d" DO INPUT "Codice"; Codice Codice = UCASE$(Codice) 'controlla se ci sono lettere ripetute ripetute = 0 'supponiamo non siano ripetute FOR i = 1 TO LEN(Codice) c = MID$(Codice, i, 1) IF INSTR(INSTR(1, Codice, c) + 1, Codice, c) <> 0 THEN PRINT "Il codice contiene caratteri ripetuti" ripetute = 1 'trovata una ripetuta EXIT FOR UNTIL ripetute = 0

19 I file 19 X = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Y = Codice FOR i = ASC("Z") TO ASC("A") STEP -1 IF INSTR(1, Y, CHR$(i)) = 0 THEN Y = Y + CHR$(i) X = X + LCASE$(X) 'cosi` si hanno maiusc e minusc Y = Y + LCASE$(Y) INPUT "Nome del file in output"; FileOUT OPEN FileOUT FOR OUTPUT AS #2 LINE INPUT #1, riga FOR i = 1 TO LEN(riga) posiz = INSTR(1, X, MID$(riga, i, 1)) IF posiz <> 0 THEN 'per non tradurre le non lettere IF op = "c" THEN 'cerca in X e mette in Y MID$(riga, i, 1) = MID$(Y, posiz, 1) ELSE 'cerca in Y e mette in X posiz = INSTR(1, Y, MID$(riga, i, 1)) MID$(riga, i, 1) = MID$(X, posiz, 1) PRINT #2, riga CLOSE (2) END

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Sviluppare un programma in FORTRAN

Sviluppare un programma in FORTRAN Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

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

Input/Output di numeri

Input/Output di numeri Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include

Dettagli

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico Gestione dei file Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Gli stream Si dice stream qualsiasi sorgente di dati in ingresso e qualsiasi

Dettagli

Gestione dei file. Linguaggio ANSI C Input/Output - 13

Gestione dei file. Linguaggio ANSI C Input/Output - 13 Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab INFORMATICA B Ingegneria Elettrica I file in Matlab I file I file sono contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non- volatile) Possono continuare

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

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

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

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

Lettura da tastiera e scrittura su monitor

Lettura da tastiera e scrittura su monitor Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per

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

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

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

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

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

Problema. Vettori e matrici. Vettori. Vettori

Problema. Vettori e matrici. Vettori. Vettori e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le

Dettagli

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione

Dettagli

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti

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

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

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

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

Strutture di Controllo

Strutture di Controllo Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere

Dettagli

La ricerca dicotomica

La ricerca dicotomica La ricerca dicotomica Se l array è ordinato, la ricerca di un elemento può essere realizzata in modo più efficiente rispetto alla ricerca sequenziale, utilizzando la ricerca dicotomica. Si usa il termine

Dettagli

La rappresentazione delle informazioni

La rappresentazione delle informazioni La rappresentazione delle informazioni In queste pagine cercheremo di capire come sia possibile rappresentare mediante numeri e memorizzare in un file testi, immagini, video, suoni... Il computer per lavorare

Dettagli

UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE

UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE Utilizziamo gli operatori matematici e commentiamo il codice Unità 4 UNITÀ DIDATTICA 4 UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE IN QUESTA UNITÀ IMPAREREMO... come utilizzare gli operatori

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

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

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

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

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

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema

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

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.

Introduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp. Introduzione L elaborazione dei files in C D.D. cap. 11+ pp. 569-572 K.P. pp. 581-583 La memorizzazione dei dati nelle variabili e nei vettori è temporanea: tutti quei dati andranno persi quando il programma

Dettagli

Definizione di file. Directory e file File binari e file di testo

Definizione di file. Directory e file File binari e file di testo I/O Avanzato e File Definizione di file Directory e file File binari e file di testo 5 Definizione di file Directory e file Tutti i sistemi operativi permettono di organizzare le informazioni su hard disk

Dettagli

I/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere

I/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere I/O INTERATTIVO scanf: quello che è indispensabile sapere printf: quello che è utile sapere Input da tastiera Funzioni disponibili (tra le altre): scanf getchar Schema di funzionamento Tastiera Sistema

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

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini

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

Programma Scienza senza frontiere CSF Italia. Guida per lo studente ai corsi di lingua italiana ICoN con tutorato

Programma Scienza senza frontiere CSF Italia. Guida per lo studente ai corsi di lingua italiana ICoN con tutorato Programma Scienza senza frontiere CSF Italia Guida per lo studente ai corsi di lingua italiana ICoN con tutorato Indice 1. Esplorare il corso 1.1 Accedere al corso 1.1.1 La pagina di benvenuto 1.2 Navigare

Dettagli

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

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

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Algoritmo per l ordinamento di un array

Algoritmo per l ordinamento di un array Algoritmo per l ordinamento di un array Spesso si ha la necessità di lavorare con vettori ordinati, cioè si devono mettere gli elementi in ordine alfabetico se sono stringhe o in in ordine di grandezza

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

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

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali Script in Matlab Gli script Uno script è un file di testo contenente

Dettagli

Mini-Corso di Informatica

Mini-Corso di Informatica Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare

Dettagli

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene

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

Codifica informazione testuale

Codifica informazione testuale Rappresentazione del: Codifica informazione testuale contenuto : successione di parole che costituiscono il documento Formato: modo in cui le parole sono organizzate e rappresentate graficamente. Può migliorare

Dettagli

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Elementi di C++ di base

Elementi di C++ di base Elementi di C++ di base Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 10 ottobre, 2001 Gino Perna Esempi di semplici programmi in C++ Il programma più semplice consiste

Dettagli

Stringhe e allocazione dinamica della memoria

Stringhe e allocazione dinamica della memoria Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per

Dettagli

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

GESTIONE DEI FILE IN C

GESTIONE DEI FILE IN C GESTIONE DEI FILE IN C Il concetto di file.. è una parte logicamente contigua del contenuto di un dispositivo! Deve essere capace di memorizzare grandi quantità di dati! I dati memorizzati devono sopravvivere

Dettagli

Elaborazione dell informazione

Elaborazione dell informazione Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione

Dettagli

Laboratorio di Architettura lezione 11. La scorsa lezione. Motivi? Word e bytes

Laboratorio di Architettura lezione 11. La scorsa lezione. Motivi? Word e bytes Laboratorio di Architettura lezione 11 Massimo Marchiori W3C/MIT/UNIVE La scorsa lezione Nove gradi di separazione Procedure ricorsive Stack Push / Pop Fibonacci Word e bytes Finora, abbiamo solo agito

Dettagli

_TRACCIA DEL PROGETTO _ANALISI DI MASSIMA _TABELLA VARIABILI _DIAGRAMMA A BLOCCHI _PSEUDO-CODIFICA _LISTING DEL PROGRAMMA _CASO PROVA _APPENDICE:

_TRACCIA DEL PROGETTO _ANALISI DI MASSIMA _TABELLA VARIABILI _DIAGRAMMA A BLOCCHI _PSEUDO-CODIFICA _LISTING DEL PROGRAMMA _CASO PROVA _APPENDICE: 1 Indice _TRACCIA DEL PROGETTO _ANALISI DI MASSIMA _TABELLA VARIABILI _DIAGRAMMA A BLOCCHI _PSEUDO-CODIFICA _LISTING DEL PROGRAMMA _CASO PROVA _APPENDICE: MANUALE PER L UTENTE PAG.3 PAG.3 PAG.3 PAG.4 PAG.5

Dettagli

[PRIMA DI VIDEOSCRIVERE ]

[PRIMA DI VIDEOSCRIVERE ] Manuale di preparazione alla videoscrittura per bambini e persone che non hanno mai usato una tastiera. by Cinzia [PRIMA DI VIDEOSCRIVERE ] Una piccola guida di preparazione alla scrittura col computer,

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

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro Text files, streams I file che ci interessano sono file di testo anche se, logicamente, contengono numeri o altro In C/C++ ci sono anche i file binari, ma li ignoriamo file di testo = ASCII file = successione

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

UNA CERTIFICAZIONE PER IL FUTURO

UNA CERTIFICAZIONE PER IL FUTURO UNA CERTIFICAZIONE PER IL FUTURO Test attitudinale 14 Maggio 2014 Alunno Nome: Cognome: Svolgere i seguenti esercizi a risposta multipla segnando una sola tra le soluzioni proposte. 1) Che tipo di computer

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Lena Cota Guido Corso di Informatica - II livello. Tastiera. Conoscenza e utilizzo della periferica

Lena Cota Guido Corso di Informatica - II livello. Tastiera. Conoscenza e utilizzo della periferica Tastiera Conoscenza e utilizzo della periferica 1 Cos è La tastiera è il dispositivo che attraverso la pressione di alcuni tasti permette l inserimento dei dati e l applicazione di alcune funzioni di controllo.

Dettagli

Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica

Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica Corso di laurea magistrale in Ingegneria Elettronica Ing. Simone Brienza E-mail: simone.brienza@for.unipi.it Pervasive Computing & Networking Lab () http://www.perlab.it Dipartimento di Ingegneria dell

Dettagli

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

Dettagli

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

Dettagli

Teodoro Cristiano

Teodoro Cristiano Teodoro Cristiano teodorocristiano@tiscali.it Un efficiente algoritmo per il calcolo di e di ( Esponenziazione veloce) Introduzione (mod p) 1 Nel presente articolo viene illustrato un efficiente algoritmo

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

3. Le routine evento in Access 2000/2003

3. Le routine evento in Access 2000/2003 LIBRERIA WEB 3. Le routine evento in Access 2000/2003 Le routine evento possono essere associate a un singolo controllo grafico (caselle di testo, pulsanti di comando, ecc.) presente all interno di una

Dettagli

L INTERFACCIA GRAFICA DI EXCEL

L INTERFACCIA GRAFICA DI EXCEL Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella

Dettagli

Esercitazione 6. Array

Esercitazione 6. Array Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione

Dettagli

Scrittura formattata - printf

Scrittura formattata - printf Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri

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

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

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

Fortran in pillole : prima parte

Fortran in pillole : prima parte Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato

Dettagli