INFORMATICA. Esercizi. Esempio: giorni nell anno. Esempio: giorni nell anno. Esempio: giorni nell anno

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INFORMATICA. Esercizi. Esempio: giorni nell anno. Esempio: giorni nell anno. Esempio: giorni nell anno"

Transcript

1 INFORMATICA Esercizi Realizzare un programma che legga da tastiera l anno di riferimento e la sigla del primo giorno di quell anno (1 gennaio) composta dai primi tre caratteri del nome (ad esempio: 2003 mer) e visualizzi sul video una tabella in cui sono indicati, per ogni mese dell anno, quante volte occorre ciacun giorno della settimana. Si rammenta che sono bisestili gli anni divisibili per 4 ma, tra quelli multipli di 100, solo quelli che sono divisibili per 400. Piero Demichelis 2 Esempio di tabella in uscita: 2003 gen feb mar apr mag giu lug ago set ott nov dic lun 4 4 mar 4 4 mer 5 ecc. gio 5 ven 5 sab 4 dom 4 Analisi - Il modo più semplice per risolvere il problema è forse quello di utilizzare lo stesso algoritmo che per primo viene in mente, ovvero di contare le occorrenze giorno per giorno a partire dal 1 gennaio e fino al 31 dicembre tenedo conto dei mesi e della loro durata (con controllo se si tratta di anno bisestile). - Identificheremo i vari giorni della settimana con un indice (0 per lunedì, 1 per martedì, ecc.) per cui dovremo convertire la stringa di tre caratteri di input nell indice corrispondente (di lì comincia l anno). - La base dati sarà una matrice di interi (giorni della settimana x mesi) che riempiremo con due cicli for annidati: quello esterno controlla i mesi, quello interno la durata del mese. - La durata della settimana (da 0 a 6) la controlliamo noi con un contatore da 0 a 6. Deve pertanto essere resettato a 0 ogni volta che raggiunge 7! Piero Demichelis 3 Piero Demichelis 4

2 #include <stdio.h> main() int anno, data, day, mese; char giorno[4]; /* 3 caratteri + fine stringa */ /* vettore contenente la durata (numero giorni) di ogni mese */ int dur_mese[12] = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; int occ[7][12]; /* matrice risultato: giorni della settimana x mesi */ /* Input dei dati da tastiera */ printf ("\n Anno: "); scanf ("%d", &anno); printf ("\n Che giorno è il primo gennaio?: "); scanf ("%s", giorno); /* Controlla se è un anno bisestile */ if ((anno % 4) == 0) /* divisibile per 4? */ if ((anno % 100) == 0) /* si, divisibile per 100? */ if ((anno % 400) == 0) /* si, divisibile per 400? */ dur_mese[1] = 29; /* si, bisestile */ else dur_mese[1] = 29; /* divisibile per 4 e non per 100, bisestile! */ Piero Demichelis 5 Piero Demichelis 6 /* Converte la sigla del primo giorno dell'anno in un indice (da 0 a 6) */ switch (giorno[0]) case 'l': day = 0; break; /* lunedì */ case 'm': if (giorno[1] == 'a') day = 1; break; /* martedì */ else day = 2; break; /* mercoledì */ case 'g': day = 3; break; /* giovedì */ case 'v': day = 4; break; /* venerdì */ case 's': day = 5; break; /* sabato */ case 'd': day = 6; /* domenica */ Piero Demichelis 7 /* Inizializza la matrice risultato con tutti zeri */ for (mese = 0; mese < 12; mese++) for (data = 0; data < 7; data++) occ[data][mese] = 0; /* algoritmo di calcolo delle occorrenze */ for (mese = 0; mese < 12; mese++) for (data = 1; data <= dur_mese[mese]; data++) occ[day][mese]++; day++; if (day == 7) day = 0; /* fine settimana, ricomincia dall inizio */ Piero Demichelis 8

3 printf (" %d\n", anno); /* Stampa risultato */ printf (" gen feb mar apr mag giu lug ago set ott nov dic\n"); for (day = 0; day < 7; day++) switch (day) case(0): printf ("lun "); break; case(1): printf ("mar "); break; case(2): printf ("mer "); break; case(3): printf ("gio "); break; case(4): printf ("ven "); break; case(5): printf ("sab "); break; case(6): printf ("dom "); /* fine switch */ for (mese = 0; mese < 12; mese++) printf (" %d ", occ[day][mese]); printf ("\n"); /* fine for (day = 0;... */ Piero Demichelis 9 Generare tutti i codici 2 su 5 (5 bit, di cui due bit devono essere a 1 e tre bit a zero), li si memorizzi in un'opportuna base dati e li si visualizzi sul videoterminale. (Si rammenti che i codici binari possono essere visti come numeri interi (senza segno), per cui è sufficiente generare tutti i codici di 5 bit e poi scartare quelli che non soddisfano la condizione di avere 2 bit ad uno e 3 a zero.) Successivamente confrontare i codici a due a due e, per ciascuna coppia, confrontare i bit a parità di posizione, conteggiando il numero di bit diversi tra di loro (il numero di bit diversi viene detto distanza tra i codici). Il programma calcoli e stampi il massimo e il minimo della distanza tra i codici. Piero Demichelis 10 #include <stdio.h> void main() int codok, num, i, j, k, bitauno; int massimo, minimo, dist; int matrice[32][5]; /* calcola tutti i codici 2 su 5 e li salva in */ /* matrice scartando le combinazioni illegali */ codok = 0; for (i=0; i<32; i++) bitauno = 0; num = i; for (j=1; j<=5; j++) matrice[codok][j] = num % 2; if (matrice[codok][j] == 1) bitauno++; num /= 2; Piero Demichelis 11 Piero Demichelis 12

4 if (bitauno == 2) for (j=1; j<=5; j++) printf ("%d", matrice[codok][j]); printf ("\n"); codok++; /* Cerca la distanza massima e minima */ massimo = 0; minimo = 5; for (i = 0; i <= codok-1; i++) for (k=i+1; k<=codok; k++) dist = 0; for (j=1; j<=5; j++) if (matrice[i][j]!= matrice[k][j]) dist++; if (dist > massimo) massimo = dist; if (dist < minimo) minimo = dist; printf ("massimo = %d minimo = %d \n", massimo, minimo); Piero Demichelis 13 Piero Demichelis 14 In un file, il cui nome va richiesto da tastiera, ci sono le coordinate X e Y di una serie di punti appartenenti a un piano cartesiano. Non si conosce a priori il numero di punti: si supponga siano meno di 100. Leggere il file, calcolare la distanza dall'origine di ogni singolo punto, quindi riordinare i punti rispetto alla distanza dall'origine (dal più vicino al più lontano). Infine visualizzarli su monitor e salvarli (un punto per riga) in un file il cui nome va anch esso richiesto da tastiera. Ad esempio se il file dei punti si chiama PUNTI.DAT e contiene: sul monitor dovrà apparire: Punto 1: , > Punto 2: , > Punto 3: , > Punto 4: , > Piero Demichelis 15 Piero Demichelis 16

5 #include <stdio.h> #include <math.h> #define NMAX 100 typedef enum FALSO, VERO boolean; struct modello double x; double y; double dist; ; /* prototipo della funzione di riordinamento */ void bubble (struct modello punti[ ], int n) Piero Demichelis 17 main() FILE *input, *output; int i, j, np; char nomefile[20]; struct modello punti[nmax]; /* Legge il nome del file */ printf ( \nnome del file che contiene i punti: "); scanf ("%s", nomefile); /* Apre il file in lettura */ if ((input = fopen (nomefile,"r")) == NULL) printf ("\nerrore apertura file %s", nomefile); exit (0); Piero Demichelis 18 np = 0; while (!feof (input)) fscanf (input, "%lf%lf", &punti[np].x, &punti[np].y) punti[np].dist = sqrt (punti[np].x * punti[np].x + punti[np].y * punti[np].y); np++; fclose (input); bubble (punti, np); Piero Demichelis 19 /* Operazioni finali: chiede il nome del file di output e lo crea */ printf ( \nnome del file di output: "); scanf ("%s", nomefile); if ((output = fopen (nomefile, w")) == NULL) printf ("\nerrore creazione file %s", nomefile); exit (1); /* visualizza la sequenza di punti sul monitor e la salva nel file */ for (i = 0; i < np; i++) printf ( \npunto %3d: %9.4lf,%9.4lf %10.4lf", i+1, punti[i].x, punti[i].y, punti[i].dist); fprintf (output, \npunto %3d: %9.4lf,%9.4lf %10.4lf", i+1, punti[i].x, punti[i].y, punti[i].dist); fclose(output); Piero Demichelis 20

6 void bubble (struct modello punti[ ], int n) struct modello provv; int ind; boolean ord; ord = FALSO; while (!ord) ord = VERO; for (ind = 0; ind < n-1; ind++) if (punti[ind].dist > punti[ind+1].dist) provv = punti[ind]; punti[ind] = punti[ind+1]; punti[ind+1] = provv; ord = FALSO; Piero Demichelis 21 In un file POSTI.DAT è contenuta la disposizione dei posti a sedere di un teatro, rappresentata come una matrice. Il numero di posti a sedere nel teatro è di 50 file da 30 posti ciascuna. Inizialmente, tutti i posti del teatro sono liberi. Questo è rappresentato nel file da un valore 0 in corrispondenza di ogni posto. In un secondo file PRENOT.DAT è contenuta la sequenza delle richieste di prenotazione dei posti da parte dei clienti. Il numero di tali richieste NON è noto a priori. Le richieste nel file sono specificate secondo il seguente formato: numero_fila numero_posto Le file ed i posti sono numerati a partire da 1. Piero Demichelis 22 Scrivere un programma C che, dopo aver letto il primo file, processi le richieste di prenotazione e scriva su schermo la situazione finale dei posti a sedere, nello stesso formato del primo file (si rappresenti con 1 il posto occupato). Nel processare le richieste, si deve tenere conto del fatto che alcune richieste possono essere duplicate, perché alcuni posti potrebbero essere richiesti più frequentemente. Il programma dovrà inolte fornire su schermo il numero di posti rimasti liberi e il numero di prenotazioni non andate a buon fine. Esempio: (matrice 5x5 per semplicità): POSTI.DAT PRENOT.DAT Output Numero prenotazioni fallite: 1 Piero Demichelis 23 Piero Demichelis 24

7 #include <stdio.h> #include <stdlib.h> #define POSTI "POSTI.DAT" #define PRENOT "PRENOT.DAT" #define NFILE 50 #define NCOL 30 main() int teatro[nfile][ncol]; FILE *in, *out; int fi, co, i, j, liberi=0, nook=0; /* Apre il file contenente il teatro */ if ((in = fopen (POSTI, "r")) == NULL) printf ("\nerrore apertura %s ", POSTI); exit (1); /* Legge il file contenente il teatro (1=occupato, 0=libero) */ for (i = 0; i < NFILE; i++) for (j = 0; j < NCOL; j++) if (fscanf (in, "%d", &teatro[i][j])!= 1) printf ("\nerrore lettura fila %d, posto %d\n", i+1, j+1); exit (2); fclose (in); Piero Demichelis 25 Piero Demichelis 26 /* Apre il file delle prenotazioni */ if ((in = fopen (PRENOT, "r")) == NULL) printf ("\nerrore apertura %s ", PRENOT); exit (3); /* Legge le prenotazioni: a ogni lettura controlla se il posto è libero o no. Se libero lo occupa se già occupato lo segnala sul monitor */ i = 0; while (!feof (in)) if (fscanf (in, "%d %d", &fi, &co)!= 2) printf ("\nerrore lettura prenotazione numero %d\n", i+1); exit (4); Piero Demichelis 27 i++; /* conta le righe per l eventuale output d errore */ if (teatro [fi-1][co-1] == 0) /* posto libero? */ teatro [fi-1][co-1] = 1; /* si, lo occupa */ else printf ("Posto num. %d della fila %d già prenotato\n", co, fi); nook++; /* fine di while (!feof(in))..*/ fclose (in); Piero Demichelis 28

8 /* Operazioni finali: apre POSTI.DAT per salvare la nuova situazione prenotazioni: segnala prenotazioni mancate e posti liberi */ if ((out = fopen (POSTI, "w")) == NULL) printf ("\nerrore apertura %s", POSTI); exit (5); printf ("\nsituazione prenotazioni:\n"); for (i = 0; i < NFILE; i++) for (j = 0; j < NCOL; j++) printf ("%2d", teatro[i][j]); /* Visualizza sul monitor la situazione */ fprintf (out, "%2d", teatro[i][j]); /* Salva in la situazione nel file */ /* Fine riga su monitor e nel file */ printf ("\n"); fprintf (out, "\n"); fclose (out); printf("\nnumero di prenotazioni non esaudite: %d\n", nook); /* Conta il numero di posti liberi */ for (i = 0; i < NFILE; i++) for ( j = 0; j < NCOL; j++) if (teatro[i][j] == 0) liberi++; printf ("Numero posti liberi: %d\n", liberi); Piero Demichelis 29 Piero Demichelis 30

Esercizi. Piero Demichelis 1

Esercizi. Piero Demichelis 1 Esercizi Piero Demichelis 1 Equazione di II grado Legge i coefficienti a, b e c si a = 0? no si b = 0? no delta = b*b 4*a*c si c = 0? no Equazione di I grado: x= -(c / b) Equazione Equazione w = 2*a indeterminata

Dettagli

Politecnico di Torino

Politecnico di Torino Politecnico di Torino INFORMATICA II Esame del 29 Novembre 2008 Un file di testo di lunghezza ignota contiene le misure delle potenze di segnale radio di vari Access Point [AP] (l apparecchiatura che viene

Dettagli

main() { int anno; int bisestile;

main() { int anno; int bisestile; Equazione di II grado #include float a, b, c, delta; float x1, x2, w, w1, w2, mdelta; printf ("Coeff. a = "); /* legge i tre coefficienti a, b, c */ scanf ("%f",&a); printf ("\ncoeff. b = ");

Dettagli

Operazioni su file di caratteri

Operazioni su file di caratteri Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si

Dettagli

Politecnico di Torino

Politecnico di Torino Politecnico di Torino Ingegneria Informatica, Elettronica, Telecomunicazioni INFORMATICA II 15 marzo 2010 Si realizzi un programma in linguaggio C che: legga un file ASCII contenente un testo di lunghezza

Dettagli

MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME.

MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. TURNI FARMACIE APRILE 2016 Sab. 2 apr. Dom. 3 apr. Sab. 9 apr. Dom. 10 apr. Sab. 16 apr. Dom. 17 apr. Sab. 23 apr. Dom. 24 apr. Lun. 25 apr. Sab. 30 apr. Dom. 1 mag. MATT. POME. MATT. POME. MATT. POME.

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

Gestione dei file. File di testo e binari

Gestione dei file. File di testo e binari Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile

Dettagli

int ninv; /* numero di inventario */

int ninv; /* numero di inventario */ 1) Scrivere il programma C che legga da un file di testo ("dati.dat") i record con dati relativi ad un archivio di dischi (utilizzando la struttura data) e scriva il file dati1.dat con i nomi degli artisti

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,

Dettagli

Esercizio 1 (15 punti)

Esercizio 1 (15 punti) Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 15 settembre 2010 Esercizio (punti 16) Un file di testo poligono.txt contiene le coordinate dei punti che rappresentano i vertici di un poligono;

Dettagli

INFORMATICA. I file. File. File. File

INFORMATICA. I file. File. File. File INFORMATICA File Per rendere più uniforme possibile il comportamento dei programmi in relazione alla grande varietà dei dispositivi periferici, i linguaggi moderni fanno riferimento ad un modello : i periferici

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

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma

Perchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Strutture e Unioni DD Cap. 10, pp. 379-391, 405-406 KP Cap. 9, pp. 361-379 Strutture Strutture Collezioni di variabili correlate (aggregati)

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia Informatica A (per gestionali) A.A. 2004/2005 Esercizi C e diagrammi a blocchi Preparazione prima prova intermedia Indice 1 Array... 3 1.1 Filtraggio...3 1.2 Trasformazione...3 2 Struct e array... 5 2.1

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Esercizio 1 (17 punti)

Esercizio 1 (17 punti) Esercizio 1 (17 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 1 o luglio 2014 Un file di testo è utilizzato

Dettagli

Gestione dei File. Credits Prof. Campi

Gestione dei File. Credits Prof. Campi Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè

Dettagli

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I file 2001 Pier Luca Montessoro - Davide Pierattoni (vedere

Dettagli

Esercizio 1 (14 punti)

Esercizio 1 (14 punti) Prova scritta del 22 gennaio 2018 di Fondamenti di Programmazione / Fondamenti di Informatica I Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici 2016-17 e precedenti

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

file fisico file logico

file fisico file logico I files Un file è una struttura di dati residente su una memoria di massa (file fisico) Un programma vede un file come una sequenza di bytes (file logico) Generalizzando, un file può comprendere qualsiasi

Dettagli

File e puntatori a file

File e puntatori a file File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di

Dettagli

File di testo con stringhe

File di testo con stringhe File di testo con stringhe Testo L utente inserisce una serie di nomi (stringhe prive di spazi); la stringa # indica la fine della fase di inserimento. L elaboratore scrive i nomi in un file di testo.

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di riepilogo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di riepilogo Informatica A (per gestionali) A.A. 2004/2005 Esercizi di riepilogo Indice 1 File... 3 1.1 Codifica file di testo...3 1.2 Elimina tag HTML...4 1.3 File binario ordinato...6 1.4 Archivio film...7 1.5 Archivio

Dettagli

I files in C. A cura del prof. Ghezzi

I files in C. A cura del prof. Ghezzi I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria Vettore = puntatore Vettore come parametro a funzione Puntatori e stringhe Vettori di puntatori 2 2006 Politecnico di Torino 1 Vettore = puntatore Data una

Dettagli

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while) Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione

Dettagli

parte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure

parte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure Tipi user-defined Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano

Dettagli

parte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure

parte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure Tipi user-defined Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 27 Giugno 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int i; Scrivere la porzione di codice che sostituisca

Dettagli

2015 Cambridge Exams Dates / Fees

2015 Cambridge Exams Dates / Fees KET Febbraio sab 21 febbraio 03 gennaio Ven 13 Feb - Lun 23 Feb 20 Mar 15 14 Apr 15 KET Marzo sab 14 marzo 24 gennaio Ven 6 Mar - Lun 16 Mar 14 Apr 15 06 Mag 15 KET Maggio A sab 16 maggio 28 marzo Ven

Dettagli

Lezione 22: Input/Output e Files

Lezione 22: Input/Output e Files Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard

Dettagli

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto C I files di dati I files (archivi) Files di programmi sono solo gestiti dal compilatore C Files di dati Possono essere creati, aggiornati, letti, scritti da programmi C Servono per conservare dati su

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

Input / Output, Espressioni Condizionali e Cicli

Input / Output, Espressioni Condizionali e Cicli LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Laboratorio di informatica LA Corso di laurea in Ingegneria Informatica - Anno Accademico 2007-2008 Input / Output, Espressioni Condizionali e

Dettagli

Sommario ELEMENTI DI INFORMATICA. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

Sommario ELEMENTI DI INFORMATICA. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica ELEMENTI DI INFORMATICA http://people.unica.it/gianlucamarcialis/ A.A. 2018/2019 Sommario Scrivere e leggere da qualunque I/O

Dettagli

Esercizi. Stringhe. Stringhe Ricerca binaria

Esercizi. Stringhe. Stringhe Ricerca binaria Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)

Dettagli

ELEMENTI DI INFORMATICA. Linguaggio C

ELEMENTI DI INFORMATICA. Linguaggio C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:

Dettagli

Esercizi. Filtraggio

Esercizi. Filtraggio Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Stringhe Ricerca binaria Indice 1 Stringhe... 3 1.1 Codice di Cesare...3 1.2 Ricerca binaria...4 1.3 Indirizzi Internet...7 1.4

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

INFORMATICA. Strutture condizionali

INFORMATICA. Strutture condizionali INFORMATICA Strutture condizionali Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri

Dettagli

Esercizi. I File ed il C

Esercizi. I File ed il C Politecnico di Milano Esercizi File di testo,, file binari I File ed il C Insieme omogeneo di dati, memorizzato su disco e caratterizzato da un nome La lunghezza di un file non è fissata a priori Astrazione

Dettagli

Struct, enum, Puntatori e Array dinamici

Struct, enum, Puntatori e Array dinamici Struct, enum, Puntatori e Array dinamici Tratti dal corso del Dr. Francesco Fabozzi Corso di Informatica Tipi di dato in C Abbiamo esaminato diversi tipi di dato che il C mette a disposizione dell utente

Dettagli

La copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine)

La copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine) La copia di un file Nell'esercizio di oggi cerchiamo di implementare un programma che permetta di effettuare la copia di un file di testo. L'operazione di copia, oltre a permettere di creare un nuovo file

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Relativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.

Relativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato. Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene

Dettagli

Esercitazioni Fondamenti di Informatica

Esercitazioni Fondamenti di Informatica Esercitazioni Fondamenti di Informatica Marco Biagi Esercitazione 10 Email: marco.biagi@unifi.it Stringhe in C Una stringa è una sequenza di caratteri con un ordine prestabilito char c = p ; char stringa[]

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 1. Prova di recupero 21 Settembre 2001 Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo

Dettagli

Input/Output su File

Input/Output su File Input/Output su File Premessa importante Queste dispense si intendono unicamente come riferimento rapido per consultare il significato e I prototipi delle funzioni per l'accesso ai file. Per avere esempi

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 25 Luglio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,-8,-4; int N = 7; int i; Scrivere la porzione di codice che sostituisca

Dettagli

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

Tipi user-defined. parte dichiarativa globale:

Tipi user-defined. parte dichiarativa globale: Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano la definizione di

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

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

Gestione dei file in C

Gestione dei file in C Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 19 Settembre 2006 Esercizio 1 (4 punti) Date le seguenti variabili int pari; int dispari; Stat; Stat s; A[] = 2,3,7,-2,5,-8,-4; int N = 7; int i; Scrivere

Dettagli

Soluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2. Siano date le seguenti definizioni di costanti e tipi in linguaggio C:

Soluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2. Siano date le seguenti definizioni di costanti e tipi in linguaggio C: Fondamenti Informatica B Soluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2 Esercizio 1 tema 1 Siano date le seguenti definizioni di costanti e tipi in linguaggio C: #define MAX_LENGTH 40

Dettagli

STRUCT - ESERCIZIO 1

STRUCT - ESERCIZIO 1 STRUCT - ESERCIZIO 1 Si vuole realizzare un programma di utilità matematica per gestire i numeri complessi. In particolare: 3. Progettare una opportuna struttura per la loro rappresentazione (in coordinate

Dettagli

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere

Dettagli

Esercizi C sui tipi definiti dall utente

Esercizi C sui tipi definiti dall utente Politecnico di Milano Esercizi C sui tipi definiti dall utente Typedef,, tipi enumerativi e strutturati Sinonimi: typedef int Intero; Intero a; int b; Definire un nuovo tipo typedef char Stringa[10]; Stringa

Dettagli

Cicli annidati ed Array multidimensionali

Cicli annidati ed Array multidimensionali Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un

Dettagli

Problem solving elementare su dati vettoriali. Esercizi risolti

Problem solving elementare su dati vettoriali. Esercizi risolti 1 Esercizio: Prodotto di matrici Esercizi risolti Si scriva un programma che, lette da tastiera le dimensioni di due matrici di interi e acquisite le due matrici, ne calcoli la matrice prodotto e la visualizzi.

Dettagli

Gestione File di testo

Gestione File di testo Gestione File di testo In primo luogo diamo alcune nozioni di base su come è gestito l'i/o in ANSI C. Osserviamo subito che in ANSI C non sono direttamente definite delle istruzioni per l' Input/Output

Dettagli

Funzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati

Funzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni con numero variabile di parametri: Funzioni Variadiche in C Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni «variadiche» Le funzioni che ricevono un numero variabile di

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 9 luglio 2012 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare tutti

Dettagli

La salubrità dell aria

La salubrità dell aria La salubrità dell aria La qualità dell aria Uno sguardo ai dati del nostro territorio Problema: come utilizzare questi dati visto che excel non vuole intedere!?! Con un programma, scritto da noi, abbiamo

Dettagli

Input/Output su disco

Input/Output su disco Input/Output su disco In C, la gestione dei dispositivi di lettura (tastiera, file su disco,...) e scrittura (monitor, file su disco, stampante,...) viene effettuata mediante canali di comunicazione. Tali

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Funzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati

Funzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni con numero variabile di parametri: Funzioni Variadiche in C Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni «variadiche» Le funzioni che ricevono un numero variabile di

Dettagli

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files

Dettagli

Unipol Assicurazioni SpA Cumulative Auto Bologna 12/01/2015 11:18

Unipol Assicurazioni SpA Cumulative Auto Bologna 12/01/2015 11:18 ESER. POL AGEN. POL RAMO POL NUM. POL. ESER. SIN AGEN. SIN. NUM. SIN RAMO SIN. ISPETTORATO DATA AVVENIM. DATA CHIUSURATIPO DEN. TIPO CHIUSTP RESP ASSICURATO PREVENTIVO PAGATO DA RECUPERARE 2007 1467 130

Dettagli

I/O Avanzato in C: scheda riassuntiva

I/O Avanzato in C: scheda riassuntiva Funzione sscanf r = sscanf(str, "formato", &variabili ) ; str Stringa da cui acquisire i dati "formato" Sequenza dei campi da leggere ("%d", "%s",... ) &variabili Variabili nelle quali depositare i valori

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con

Dettagli

Fondamenti di Informatica - Compito A

Fondamenti di Informatica - Compito A Fondamenti di Informatica - Compito A Prof. Marco Gavanelli 22 gennaio 2014 Le immagini con sfumature di grigio possono essere salvate in formato PGM. Nel formato PGM, le immagini sono rappresentate come

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 6 Aprile 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int x = -1; Scrivere la porzione di codice che inserisce

Dettagli

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..

File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire.. File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo

Dettagli

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici. Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene

Dettagli

Capitolo 11 Elaborazione di file

Capitolo 11 Elaborazione di file 1 Capitolo 11 Elaborazione di file 11.1 Introduzione 2 I file Possono essere creati, modificati, ed elaborati da programmi scritti in C Sono utilizzati per la memorizzazione permanente dei dati La memorizzazione

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 1 febbraio 2016 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste

ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste ESERCIZIO n.1 È dato un file di testo che contiene l'elenco dei vestiti presenti in un negozio. Il file contiene al massimo

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018 Esercitazioni di Fondamenti di Informatica - Lez. 9 /1/018 Esercizi sulla gestione dei file in C Il codice degli esercizi e contenuto nella cartella parte1 1. Creare una funzione C che legga tutto cio

Dettagli

Gestione dei File C. Generalità

Gestione dei File C. Generalità Gestione dei File C 1 Generalità Il linguaggio C non contiene alcuna istruzione di Input/Output. Tali operazioni vengono svolte mediante chiamate a funzioni definite nella libreria standard contenute nel

Dettagli

Files in C endofile

Files in C endofile Files in C Il C vede i file semplicemente come un flusso (stream) sequenziale di bytes terminati da un marcatore speciale che determina la fine del file (end-of-file). 0 1 2 3 4... endofile A differenza

Dettagli

Aggregati di dati eterogenei: il tipo struct

Aggregati di dati eterogenei: il tipo struct Aggregati di dati eterogenei: il tipo struct Definizione di tipi e variabili struct Introduzione agli aggregati eterogenei Definizione di un tipo struct Variabili struct 5 Definizione di tipi e variabili

Dettagli