Informatica 19/09/2011 TURNO A Compito A. Teoria

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Informatica 19/09/2011 TURNO A Compito A. Teoria"

Transcript

1 Informatica 19/09/2011 TURNO A Compito A Nome e Cognome Matricola Corso Poli@Home 1(AAAA-BARB) 2(BARC-BOT) 3(BOU-CASA) 4(CASB-CHZ) 5(CIA-COND) 6(CONE-DELR) 7(DELS- FEQ) 8(FER-GEQ) 9(GER-JOZ) 10(JPA-MALI) 11(MALJ-MOD) 12(MOE-PAK) 13(PAL-PORS) 14(PORT-ROQ) 15(ROR-SIGN) 16(SIGO-TRIO) 17(TRIP-ZZZ) 18(Automotive) Solo Prog Teoria Domanda 1 Dati i numeri interi n1=-7171 e n2=-abcd, espressi in base 16, rappresentarli in complemento a due su 16 bit, effettuarne la somma S (operando in complemento a due) e discutere l eventuale presenza di overflow. Risultato n1 ca2 : n2 ca2: n1+n2 (con passaggi): overflow: Domanda 2 Volendo memorizzare su chiavetta: un testo di 3000 caratteri, su 50 righe, scritto in ASCII, un file audio non compresso della durata di 5 secondi campionato a 30 Hz (30 campioni per secondo), in cui ogni campione occupa 6 byte Calcolare quanti byte sono necessari in tutto e giustificare la risposta. Domanda 3 Spiegare cosa si intende per porta logica e farne almeno due esempi.

2 Informatica 19/09/2011 TURNO A Compito A Programmazione Sia dato il file mappa.dat che contiene una mappa di dimensione N x N. La mappa descrive l altitudine in metri di un territorio. I valori possibili variano da 0 a N è una costante nota a priori e definita attraverso una direttiva define. Ogni riga del file descrive una riga della mappa, ovvero N interi separati da uno spazio: <h 1,1 > <h 1,2 > <h 1,3 > <h 1,N > <h 2,1 > <h 2,2 > <h 2,3 > <h 2,N > <h N,1 > <h N,2 > <h N,3 > <h N,N > Scrivere un programma in C per esaminare porzioni della mappa. Il programma riceve 4 interi sulla linea di comando che rappresentano gli estremi di un rettangolo all interno della mappa <x1> <y1> <x2> <y2> dove (<x1>, <y1>) sono le coordinate dell angolo in alto a sinistra del rettangolo mentre (<x2>, <y2>) sono le coordinate dell angolo in basso a destra. La casella (0, 0) è in alto a sinistra, quindi x1 x2 e y1 y2. Il programma deve fornire in uscita le seguenti informazioni Altitudine massima all interno del territorio in esame Altitudine minima (maggiore di 0) all interno del territorio in esame Percentuale di mare all interno del territorio in esame (altitudine == 0) Percentuale di pianura all interno del territorio in esame (0 < altitudine < 200) Percentuale di collina all interno del territorio in esame (200 <= altitudine <= 600) Percentuale di montagna all interno del territorio in esame (altitudine > 600) Tutte le percentuali vanno fornite con esattamente due cifre dopo la virgola. In caso di errore nel formato del file (interi non compresi tra 0 e 3000, o un numero insufficiente di dati nel file) il programma deve produrre il messaggio Errore nel formato del file ed interrompere l esecuzione. Ad esempio (N pari a 4), se il file contiene la seguente matrice: Se il programma viene chiamato con parametri deve restituire: Altitudine massima: 630 Altitudine minima: 210 Mare: 16.67% Pianura: 0.00% Collina: 50.00% Montagna: 33.33%

3 #include <stdio.h> FILE *fopen(char *filename, char * mode) Apertura di un file (mode: r lettura w scrittura a append) FILE *freopen(char *filename, char * mode, FILE *file_pointer) - Riassegna un file puntatore ad un file diverso. int fclose(file *file_pointer) - Chiude un file int feof(file *file_pointer) - Controlla se e' stato incontrato un end-of-file in un file. int fflush(file *file_pointer) - Svuota il buffer di un file. int getchar(void) - Legge un carattere da int fgetc(file *file_pointer) - Prende un carattere da un file char *gets(char *buffer) - Legge una riga da char *fgets(char *string, int maxchar, FILE *file_pointer) - Legge una riga da un file. int printf(char *format _string, ) - Scrive output formattato su int fprintf(file *file_pointer, char *format_string, ) - Scrive output formattato in un file. int sprintf(char *string, char *format_string, ) - Scrive output formattato su una stringa int fputc(int c, FILE *file_pointer) - Scrive un carattere in un file int putchar(int c) - Scrive un carattere su int puts(char *string) - Scrive una stringa su int fputs(char *string, FILE *file_pointer) - Scrive una stringa in un file. int scanf(char *format_string, args) - Legge input formattato da int fscanf(file *file_pointer, char *format string, args) - Legge input formattato da file int sscanf(char *buffer, char *format_string, args) - Legge input formattato da una stringa EOF end of file (costante a valore negativo) NULL - puntatore nullo (valore 0) #include <stdlib.h> double atof(char *string) - Converte una stringa in un valore in floating point. int atoi(char *string) - Converte una stringa in un valore integer. int atol(char *string) - Converte una stringa in un valore long integer. void exit(int val) Termina il programma, restituendo il valore val. EXIT_FAILURE - costante per segnalare terminazione senza successo del programma con exit(); valore diverso da zero EXIT_SUCCESS - segnala terminazione con successo del programma con exit(); vale 0 #include <string.h> char *stpcpy (char *dest, char *src) - Copia una stringa in un'altra. Restituisce dest char *strncpy(char *s1, char *s2, size_t n) - Copia i primi "n" caratteri di s2 in s1. Restituisce s1 int strcmp(char *s1, char *s2) - Confronta s1 e s2 per determinare l'ordine alfabetico (<0, s1 prima di s2, 0 uguali, >0 s1 dopo s2) int strncmp(char *s1, char *s2, size_t n) - Confronta i primi "n" caratteri di due stringhe. char *strcpy(char *s1, char *s2) - Copia s2 in s1. Restituisce s1 int strlen(char *string) - Determina la lunghezza di una stringa. char *strcat(char *s1, char *s2, size_t n) - Aggiunge s2 a s1. Ritorna s1 char *strncat(char *s1, char *s2, size_t n) - Aggiunge "n" caratteri di s2 a s1. Ritorna s1 char *strchr(char *string, int c) - Cerca la prima occorrenza del carattere c in string; restituisce un puntatore alla prima occorrenza di c in s, NULL se non presente char *strrchr(char *string, int c) - Cerca l'ultima occorrenza del carattere c in string char* strstr(char* s, char* t) - Restituisce un puntatore alla prima occorrenza di t all'interno di s. Restituisce NULL se t non è presente in s. char* strtok(char* s, const char* t) - scompone s in token, i caratteri che delimitano i token sono contenuti in t. Restituisce il puntatore al token (NULL se non ne trova nessuno). Alla prima chiamata in s va inserita la stringa da scomporre e in t i caratteri che delimitano i vari token. Per operare sulla stessa stringa, alle successive chiamate al posto di s si deve passare NULL #include <ctype.h> int isalnum(int c) - Vero se c e' alfanumerico. int isalpha(int c) - Vero se c e' una lettera dell'alfabeto. int iscntrl(int c) - Vero se c e' un carattere di controllo. int isdigit(int c) - Vero se c e' un numero decimale. int islower(int c) - Vero se c e' una lettera minuscola. int isprint(int c) - Vero se c e' un carattere stampabile. int ispunct (int c) - Vero se c e' un carattere di punteggiatura. int isspace(int c) - Vero se c e' un carattere spazio. int isupper(int c) - Vero se c e' una lettera maiuscola. tolower(int c) - Converte c in minuscolo. int toupper(int c) - Converte c in maiuscolo. #include <math.h> int abs (int n) valore assoluto intero long labs(long n) valore assoluto long double fabs (double x ) valore assoluto di x double acos(double x) - arcocoseno double asin(double x) - arcoseno double atan(double x) - arcotangente double atan2(double y, double x) arcotangente di y/x. double ceil(double x) intero superiore a x double floor(double x) intero inferiore a x. double cos(double x) x in radianti double sin(double x) x in radianti double tan(double x) x in radianti double cosh(double x) coseno iperbolico double sinh(double x) seno iperbolico double tanh(double x) tangente iperbolica double exp(double x) - e x double log(double x) - log(x). double log10 (double x ) logaritmo base 10 double pow (double x, double y) - x y int rand (void) intero casuale tra 0 e RND_MAX. int random(int max_num) valore casuale tra 0 e max_num. void srand(unsigned seed) inizializza la sequenza di valori casuali double sqrt(double x) radice quadrata #include <limits.h> INT_MAX - Indica il più grande valore che è INT_MIN - Indica il più piccolo valore che è LONG_MAX - Indica il più grande valore che è LONG_MIN - Indica il più piccolo valore che è #include <float.h> FLT_MAX, DBL_MAX - Indica il più grande FLT_MIN, DBL_MIN - Indica il più piccolo

4 Informatica 19/09/2011 TURNO A Compito B Nome e Cognome Matricola Corso Poli@Home 1(AAAA-BARB) 2(BARC-BOT) 3(BOU-CASA) 4(CASB-CHZ) 5(CIA-COND) 6(CONE-DELR) 7(DELS- FEQ) 8(FER-GEQ) 9(GER-JOZ) 10(JPA-MALI) 11(MALJ-MOD) 12(MOE-PAK) 13(PAL-PORS) 14(PORT-ROQ) 15(ROR-SIGN) 16(SIGO-TRIO) 17(TRIP-ZZZ) 18(Automotive) Solo Prog Teoria Domanda 1 Dati i numeri interi n1=-aaef e n2=-8080, espressi in base 16, rappresentarli in complemento a due su 16 bit, effettuarne la somma S (operando in complemento a due) e discutere l eventuale presenza di overflow. Risultato n1 ca2 : n2 ca2: n1+n2 (con passaggi): overflow: Domanda 2 Volendo memorizzare su hard disk: un file audio non compresso della durata di 15 secondi campionato a 40 Hz (40 campioni per secondo), in cui ogni campione occupa 6 byte un testo di 240 caratteri, su 6 righe, scritto in ASCII, Calcolare quanti byte sono necessari in tutto e giustificare la risposta. Domanda 3 Spiegare cosa si intende per operatore booleano e farne almeno due esempi.

5 Informatica 19/09/2011 TURNO A Compito B Programmazione Sia dato il file mappa.dat che contiene una mappa di dimensione N x N. La mappa descrive l altitudine in metri di un territorio. I valori possibili variano da 0 a N è una costante nota a priori e definita attraverso una direttiva define. Ogni riga del file descrive una riga della mappa, ovvero N interi separati da uno spazio: <h 1,1 > <h 1,2 > <h 1,3 > <h 1,N > <h 2,1 > <h 2,2 > <h 2,3 > <h 2,N > <h N,1 > <h N,2 > <h N,3 > <h N,N > Scrivere un programma in C per esaminare porzioni della mappa. Il programma riceve 4 interi sulla linea di comando che rappresentano gli estremi di un rettangolo all interno della mappa <x1> <y1> <x2> <y2> dove (<x1>, <y1>) sono le coordinate dell angolo in alto a sinistra del rettangolo mentre (<x2>, <y2>) sono le coordinate dell angolo in basso a destra. La casella (0, 0) è in alto a sinistra, quindi x1 x2 e y1 y2. Il programma deve fornire in uscita le seguenti informazioni Percentuale di mare all interno del territorio in esame (altitudine == 0) Percentuale di pianura all interno del territorio in esame (0 < altitudine < 200) Percentuale di collina all interno del territorio in esame (200 <= altitudine <= 600) Percentuale di montagna all interno del territorio in esame (altitudine > 600) Altitudine massima all interno del territorio in esame Altitudine minima (maggiore di 0) all interno del territorio in esame Tutte le percentuali vanno fornite con esattamente due cifre dopo la virgola. In caso di errore nel formato del file (interi non compresi tra 0 e 3000, o un numero insufficiente di dati nel file) il programma deve produrre il messaggio Errore nel formato del file ed interrompere l esecuzione. Ad esempio (N pari a 4), se il file contiene la seguente matrice: Se il programma viene chiamato con parametri deve restituire: Mare: 16.67% Pianura: 0.00% Collina: 50.00% Montagna: 33.33% Altitudine massima: 630 Altitudine minima: 210

6 #include <stdio.h> FILE *fopen(char *filename, char * mode) Apertura di un file (mode: r lettura w scrittura a append) FILE *freopen(char *filename, char * mode, FILE *file_pointer) - Riassegna un file puntatore ad un file diverso. int fclose(file *file_pointer) - Chiude un file int feof(file *file_pointer) - Controlla se e' stato incontrato un end-of-file in un file. int fflush(file *file_pointer) - Svuota il buffer di un file. int getchar(void) - Legge un carattere da int fgetc(file *file_pointer) - Prende un carattere da un file char *gets(char *buffer) - Legge una riga da char *fgets(char *string, int maxchar, FILE *file_pointer) - Legge una riga da un file. int printf(char *format _string, ) - Scrive output formattato su int fprintf(file *file_pointer, char *format_string, ) - Scrive output formattato in un file. int sprintf(char *string, char *format_string, ) - Scrive output formattato su una stringa int fputc(int c, FILE *file_pointer) - Scrive un carattere in un file int putchar(int c) - Scrive un carattere su int puts(char *string) - Scrive una stringa su int fputs(char *string, FILE *file_pointer) - Scrive una stringa in un file. int scanf(char *format_string, args) - Legge input formattato da int fscanf(file *file_pointer, char *format string, args) - Legge input formattato da file int sscanf(char *buffer, char *format_string, args) - Legge input formattato da una stringa EOF end of file (costante a valore negativo) NULL - puntatore nullo (valore 0) #include <stdlib.h> double atof(char *string) - Converte una stringa in un valore in floating point. int atoi(char *string) - Converte una stringa in un valore integer. int atol(char *string) - Converte una stringa in un valore long integer. void exit(int val) Termina il programma, restituendo il valore val. EXIT_FAILURE - costante per segnalare terminazione senza successo del programma con exit(); valore diverso da zero EXIT_SUCCESS - segnala terminazione con successo del programma con exit(); vale 0 #include <string.h> char *stpcpy (char *dest, char *src) - Copia una stringa in un'altra. Restituisce dest char *strncpy(char *s1, char *s2, size_t n) - Copia i primi "n" caratteri di s2 in s1. Restituisce s1 int strcmp(char *s1, char *s2) - Confronta s1 e s2 per determinare l'ordine alfabetico (<0, s1 prima di s2, 0 uguali, >0 s1 dopo s2) int strncmp(char *s1, char *s2, size_t n) - Confronta i primi "n" caratteri di due stringhe. char *strcpy(char *s1, char *s2) - Copia s2 in s1. Restituisce s1 int strlen(char *string) - Determina la lunghezza di una stringa. char *strcat(char *s1, char *s2, size_t n) - Aggiunge s2 a s1. Ritorna s1 char *strncat(char *s1, char *s2, size_t n) - Aggiunge "n" caratteri di s2 a s1. Ritorna s1 char *strchr(char *string, int c) - Cerca la prima occorrenza del carattere c in string; restituisce un puntatore alla prima occorrenza di c in s, NULL se non presente char *strrchr(char *string, int c) - Cerca l'ultima occorrenza del carattere c in string char* strstr(char* s, char* t) - Restituisce un puntatore alla prima occorrenza di t all'interno di s. Restituisce NULL se t non è presente in s. char* strtok(char* s, const char* t) - scompone s in token, i caratteri che delimitano i token sono contenuti in t. Restituisce il puntatore al token (NULL se non ne trova nessuno). Alla prima chiamata in s va inserita la stringa da scomporre e in t i caratteri che delimitano i vari token. Per operare sulla stessa stringa, alle successive chiamate al posto di s si deve passare NULL #include <ctype.h> int isalnum(int c) - Vero se c e' alfanumerico. int isalpha(int c) - Vero se c e' una lettera dell'alfabeto. int iscntrl(int c) - Vero se c e' un carattere di controllo. int isdigit(int c) - Vero se c e' un numero decimale. int islower(int c) - Vero se c e' una lettera minuscola. int isprint(int c) - Vero se c e' un carattere stampabile. int ispunct (int c) - Vero se c e' un carattere di punteggiatura. int isspace(int c) - Vero se c e' un carattere spazio. int isupper(int c) - Vero se c e' una lettera maiuscola. tolower(int c) - Converte c in minuscolo. int toupper(int c) - Converte c in maiuscolo. #include <math.h> int abs (int n) valore assoluto intero long labs(long n) valore assoluto long double fabs (double x ) valore assoluto di x double acos(double x) - arcocoseno double asin(double x) - arcoseno double atan(double x) - arcotangente double atan2(double y, double x) arcotangente di y/x. double ceil(double x) intero superiore a x double floor(double x) intero inferiore a x. double cos(double x) x in radianti double sin(double x) x in radianti double tan(double x) x in radianti double cosh(double x) coseno iperbolico double sinh(double x) seno iperbolico double tanh(double x) tangente iperbolica double exp(double x) - e x double log(double x) - log(x). double log10 (double x ) logaritmo base 10 double pow (double x, double y) - x y int rand (void) intero casuale tra 0 e RND_MAX. int random(int max_num) valore casuale tra 0 e max_num. void srand(unsigned seed) inizializza la sequenza di valori casuali double sqrt(double x) radice quadrata #include <limits.h> INT_MAX - Indica il più grande valore che è INT_MIN - Indica il più piccolo valore che è LONG_MAX - Indica il più grande valore che è LONG_MIN - Indica il più piccolo valore che è #include <float.h> FLT_MAX, DBL_MAX - Indica il più grande FLT_MIN, DBL_MIN - Indica il più piccolo

7 Informatica 19/09/2011 TURNO A Correzione (Totale 33 punti lode > 31) Teoria : 6 punti (2 per esercizio) Soglia: 4/6 Programmazione: 27 punti Difficoltà: lettura del file con controllo errori capire che il problema può essere risolto anche senza memorizzare la matrice I punti sono da vedere in negativo. Ad esempio: sbagliare su argc/argv non può togliere più di 2 punti. Argc/argv -2 Utilizzo di fopen, fclose -2 Lettura del file e parsing dell input -2 Controllo errori sui dati nel file (interi compresi nel range giusto, etc.) -2 Determinazione di massimo, minimo e percentuali -3 Uso di float per le percentuali e scrittura con 2 cifre decimali -3 Logica generale dell algoritmo e definizione strutture dati -4 Individuazione delle caselle della mappa da considerare -2 Gestione di casi particolari (es: area nulla) -1 Risoluzione memorizzando la matrice o con letture multiple del file -6 Soglia: 14/24

Informatica 19/09/2011 TURNO C Compito A. Teoria. Risultato: n1 ca2 : n2 ca2: overflow:

Informatica 19/09/2011 TURNO C Compito A. Teoria. Risultato: n1 ca2 : n2 ca2: overflow: Informatica 19/09/2011 TURNO C Compito A Nome e Cognome Matricola Corso Poli@Home 1(AAAA-BARB) 2(BARC-BOT) 3(BOU-CASA) 4(CASB-CHZ) 5(CIA-COND) 6(CONE-DELR) 7(DELS- FEQ) 8(FER-GEQ) 9(GER-JOZ) 10(JPA-MALI)

Dettagli

Computer Sciences 19/09/2011 TURN A Exam A. Theory

Computer Sciences 19/09/2011 TURN A Exam A. Theory Name and Surname Matricola Course Poli@Home 1(AAAA-BARB) 2(BARC-BOT) 3(BOU-CASA) 4(CASB-CHZ) 5(CIA-COND) 6(CONE-DELR) 7(DELS-FEQ) 8(FER-GEQ) 9(GER-JOZ) 10(JPA-MALI) 11(MALJ-MOD) 12(MOE-PAK) 13(PAL-PORS)

Dettagli

Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A

Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A Informatica I Facoltà di Ingegneria Prova scritta del 20/01/2014 TURNO A In una versione semplificata del gioco della Battaglia Navale il giocatore cerca di colpire le navi dell avversario (di cui non

Dettagli

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

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

Funzioni di libreria. KP pp , , , 589, DD pp , , ,

Funzioni di libreria. KP pp , , , 589, DD pp , , , Funzioni di libreria KP pp.112-115, 471-474, 573-575, 589, 598-601 DD pp.144-153, 307-313, 563-565, 588-591 Funzioni matematiche (1) KP p. 112,573 Il linguaggio C non contiene funzioni matematiche predefinite.

Dettagli

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comuni di I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int

Dettagli

Librerie C. Corso di Linguaggi e Traduttori 1 AA

Librerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comunidi I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int

Dettagli

Dispensa 13 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN INGEGNERIA E SCIENZE INFORMATICHE CESENA. Laboratorio

Dispensa 13 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN INGEGNERIA E SCIENZE INFORMATICHE CESENA. Laboratorio CORSO DI LAUREA IN INGEGNERIA E SCIENZE INFORMATICHE CESENA CORSO DI PROGRAMMAZIONE A.A. 2014-15 Dispensa 13 Laboratorio Dott. Mirko Ravaioli e-mail: mirko.ravaioli@unibo.it http://www.programmazione.info

Dettagli

Linguaggio C e sistema operativo

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

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

Codifica dei Tipi di Dati in Linguaggio C

Codifica dei Tipi di Dati in Linguaggio C Codifica dei Tipi di Dati in Linguaggio C In questa dispensa verrà illustrato come vengono codificati i tipi semplici del linguaggio C. In particolare considereremo i seguenti tipi di dato: il tipo intero

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Funzioni standard del C: Funzioni di I/O Allocazione dinamica della memoria Funzioni su stringhe di caratteri Testo di riferimento B.W. Kernighan & D.M. Ritchie

Dettagli

Operatori sui bit. op1=60; 0 0 1 1 1 1 0 0 op2=240; ; 1 1 1 1 0 0 0 0 op3 = op1 op2; 1 1 1 1 1 1 0 0 op3 assume valore 252

Operatori sui bit. op1=60; 0 0 1 1 1 1 0 0 op2=240; ; 1 1 1 1 0 0 0 0 op3 = op1 op2; 1 1 1 1 1 1 0 0 op3 assume valore 252 Operatori sui bit. Il C mette a disposizione degli operatori che lavorano su numeri di tipo intero (char, int, long int) manipolando il dato a livello di singolo bit. Non si applicano ad operandi floating

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

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa. dischi nastri cd GESTIONE DEI FILE I file possono

Dettagli

Espressioni ed operatori

Espressioni ed operatori Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Espressioni ed operatori Pietro Di Lena - pietro.dilena@unibo.it Q. What s the difference between C and C++? A. Nobody knows,

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

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

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

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

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari Input/Output Lettura e scrittura Caratteri e Stringhe: Terminale e file Input/output console file caratteri stringhe formattato ascii binari Linguaggio ANSI C Input/Output - 1 La libreria standard del

Dettagli

Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Variabili. Tipi di dati di base. Variabili. Variabili

Variabili. Tipi di dati di base. Variabili. Variabili Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva

Dettagli

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0 STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Matrici, stringhe e I/O da file

Matrici, stringhe e I/O da file Memory Leakage (I) Se si perde il valore di un puntatore di una zona di memoria allocata, quella memoria non e piu utilizzabile dal processo e non e piu liberabile : rimane quindi proprieta del processo

Dettagli

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

string.h strcpy strc strcat strcmp strcmp strchr strstr strstr i t r ; s r \0 int strlen(char* str) char pippo[]={ p, i, p, p, o, \0 \ };

string.h strcpy strc strcat strcmp strcmp strchr strstr strstr i t r ; s r \0 int strlen(char* str) char pippo[]={ p, i, p, p, o, \0 \ }; char* titolo= l, e,, s, t, r, i, n, g, h, e, \0 ; Libreria sulle stringhe libreria i string.h contiene una ricca serie di funzioni per operare sulle stringhe Esempi: copiare una stringa in un altra (strcpy

Dettagli

Preprocessore, linker e libreria standard

Preprocessore, linker e libreria standard Preprocessore, linker e libreria standard Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 IL PREPROCESSORE Programma sorgente

Dettagli

Introduzione al C. Unità 8 Stringhe

Introduzione al C. Unità 8 Stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 8 Stringhe D. Bloisi, A. Pennisi, S. Peluso, S. Salza Sommario Unità 8 Array di

Dettagli

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie ! La libreria standard del C è in realtà un insieme di librerie! Per usare una libreria, non occorre inse -rirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle! Ogni file sorgente

Dettagli

Gestione dinamica della memoria Stringhe File

Gestione dinamica della memoria Stringhe File Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Gestione dinamica della memoria Stringhe File Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica

Dettagli

char* titolo= Libreria sulle stringhe Esempi: (strcpy) (strstr)... Laboratorio di Informatica L-A 1

char* titolo= Libreria sulle stringhe Esempi: (strcpy) (strstr)... Laboratorio di Informatica L-A 1 char* titolo= l, e,, s, t, r, i, n, g, h, e, \0 ; 1 Libreria sulle stringhe La libreria string.h contiene una ricca serie di funzioni per operare sulle stringhe Esempi: copiare una stringa in un altra

Dettagli

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 VINCENZO MARRA Indice Esercizio 1 1 Leggere stringhe e caratteri 1 Esercizio 2 2

Dettagli

s r t i r n i g n. g h s r t c r p c y s r t c r a c t s r t c r m c p s r t c r h c r s r t s r t s r

s r t i r n i g n. g h s r t c r p c y s r t c r a c t s r t c r m c p s r t c r h c r s r t s r t s r char* titolo= l, e,, s, t, r, i, n, g, h, e, \0 ; 1 Libreria sulle stringhe La libreria string.h contiene una ricca serie di funzioni per operare sulle stringhe Esempi: copiare una stringa in un altra

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Struttura dati FILE. Motivazioni: memorie a confronto

Struttura dati FILE. Motivazioni: memorie a confronto Struttura dati FILE Motivazioni: memorie a confronto La memoria centrale (RAM) è tecnologia elettronica basata su Le memorie secondarie sono basate su tecnologie magnetiche (HD) o ottiche (CD, DVD) Conseguenze

Dettagli

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T

Suggerimenti, note utili ed errori comuni. Fondamenti di informatica T Suggerimenti, note utili ed errori comuni Fondamenti di informatica T printf, scanf e stringhe di formato La lettura e scrittura di variabili in formato testo sono realizzate tramite printf e scanf sfruttando

Dettagli

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi

Precedenza e associatività. Complementi sul C - 2. Esempi. Esempi Complementi sul C - 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Precedenza e associatività () [] ->. S D! ~ ++ + * & (cast ) sizeof S D * / % S D + - (somma e sottrazione) S D >

Dettagli

STRINGHE: ARRAY DI CARATTERI! a p e \0

STRINGHE: ARRAY DI CARATTERI! a p e \0 STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più

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

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

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

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

Lezione 19 e Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe

Lezione 19 e Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe Lezione 19 e 20 - Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe Valentina Ciriani (2005-2008) Laboratorio di programmazione Valentina Ciriani

Dettagli

Libreria degli header file del C ANSI

Libreria degli header file del C ANSI Libreria degli header file del C ANSI Nome Descrizione Contiene la macro assert, utilizzata per indentificare errori logici ed altri tipi di bug nelle versioni di debug di un programma.

Dettagli

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto

FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto FILE: tipo operazione Istruì. prototipo esempi lettura di un carattere fgetc Int fgetc(file *flusso) Vedi sotto alla volta Scrittura di un fputc Int fputc(int ch, FILE *flusso); carattere alla volta Lettura

Dettagli

Introduzione al C. Stream e disk file

Introduzione al C. Stream e disk file Introduzione al C Stream e disk file Stream Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream:

Dettagli

Linguaggio C La libreria standard

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

Dettagli

MATRICOLA S B/1 BIN: MS: CA2: BIN: = 1x x x x x x x x2 0 = 182

MATRICOLA S B/1 BIN: MS: CA2: BIN: = 1x x x x x x x x2 0 = 182 NOME COGNOME MATRICOLA S B/1 AAA-BARC BARD-BOUH BOUI-CART CARU-CONS CARU-CONS CONT-DEMAR DEMAS-FERRD FERRE-GIAQ GIAR-LAEZ LAFA-MANC MAND-MIQZ MIRA-PAHZ PAIA-PODD PODE-ROSSE ROSSF-SIQZ SIRA-TUCB TUCC-ZZZ

Dettagli

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p

Dettagli

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)

Dettagli

I CARATTERI. Domanda: char c = 1 ; printf( c=%d\n, (int)c ); //cosa stampa?

I CARATTERI. Domanda: char c = 1 ; printf( c=%d\n, (int)c ); //cosa stampa? I CARATTERI Ogni carattere viene memorizzato come un numero intero smallest addressable unit of the machine that can contain basic character set. It is an integer type. Actual type can be either signed

Dettagli

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010 Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.

Dettagli

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Introduzione al C. Unità 9 File. D. Bloisi, S. Peluso, A. Pennisi, S. Salza Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, S. Peluso, A. Pennisi, S. Salza Sommario Input/Output Stream

Dettagli

Scope (visibilità) Scope di un identificatore

Scope (visibilità) Scope di un identificatore Scope (visibilità) Scope di un identificatore Lo scope (visibilità) di un identificatore è la porzione di codice in cui quell identificatore è definito e ha senso Se l identificatore si riferisce a una

Dettagli

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi) Esercitazione Oggi dovremo di nuovo usare funzioni sui reali. Ma il C non ha operatori nativi del linguggio per queste operazioni, come la radice quadrata, l'elevamento a potenza o l'arrotondamento. Per

Dettagli

Il linguaggio C Gestione della memoria

Il linguaggio C Gestione della memoria Il linguaggio C Gestione della memoria Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - Gestione della memoria

Dettagli

Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014

Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014 Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014 Damiano Macedonio Esercizio 1 Scrivere una funzione che riceve in ingresso un puntatore ad un array di interi e modifica tale array

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

Laboratorio di Sistemi Operativi primavera 2009

Laboratorio di Sistemi Operativi primavera 2009 primavera 2009 Libreria standard di I/O Libreria standard di I/O rientra nello standard ANSI C perché è stata implementata su molti sistemi operativi oltre che su UNIX le sue funzioni individuano il file

Dettagli

Il blocco che costituisce il corpo di una funzione/procedura può contenere dichiarazioni di variabili. Esempio:

Il blocco che costituisce il corpo di una funzione/procedura può contenere dichiarazioni di variabili. Esempio: Variabili locali Il blocco che costituisce il corpo di una funzione/procedura può contenere dichiarazioni di variabili. void leggivettore(int v[], int dim) int i; /* i E UNA VARIABILE LOCALE */ for (i

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Università degli Studi di Bari Corso di Laurea in Informatica Corso di Linguaggi di Programmazione Corso C, sedi Brindisi e Corigliano Introduzione al linguaggio C Pasquale Lops Stefano Ferilli Corrado

Dettagli

I/O in linguaggio C. I/O di caratteri e stringhe

I/O in linguaggio C. I/O di caratteri e stringhe I/O in linguaggio C Funzioni di I/O p. 1 I/O di caratteri e stringhe Tutti i caratteri stampabili sono rappresentabili dal tipo char. Le costanti di tipo char possono essere specificate da un valore numerico

Dettagli

Libreria standard Concetti chiave

Libreria standard Concetti chiave Libreria standard B Concetti chiave File d intestazione standard Diagnostica Numeri complessi Controllo e conversione di caratteri Segnalazioni di errore Ambiente in virgola mobile Caratteristiche dei

Dettagli

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro

Dettagli

Esercizi su strutture dati

Esercizi su strutture dati Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate

Dettagli

Librerie Stringhe. Librerie e stringhe. Lezione 9. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. 2015/2016

Librerie Stringhe. Librerie e stringhe. Lezione 9. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. 2015/2016 e stringhe Lezione 9 Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2015/2016 Calendario delle lezioni Lezione 1 (7 e 9/10/2015) - Introduzione all ambiente Linux Lez. 2 (14 e 16/10/2015)

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

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

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

Linguaggio C: le funzioni

Linguaggio C: le funzioni Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare

Dettagli

Output formattato Le quattro operazioni Tipi, costanti, variabili Over & Under Libreria Prog. Programmazione 1. Lezione 2

Output formattato Le quattro operazioni Tipi, costanti, variabili Over & Under Libreria Prog. Programmazione 1. Lezione 2 Programmazione 1 Lezione 2 Vincenzo Marra vincenzo.marra@unimi.it Dipartimento di Matematica Federigo Enriques Università degli Studi di Milano 8 marzo 2017 La funzione printf della libreria standard La

Dettagli

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII

DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

GESTIONE DEI FILE IL CONCETTO DI FILE APERTURA E CHIUSURA DI UN FILE OPERARE SUI FILE

GESTIONE DEI FILE IL CONCETTO DI FILE APERTURA E CHIUSURA DI UN FILE OPERARE SUI FILE GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa Un file è una astrazione fornita

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

GESTIONE DEI FILE persistenza archiviare file astrazione fornita dal sistema operativo dimensione potenzialmente illimitata ad accesso sequenziale

GESTIONE DEI FILE persistenza archiviare file astrazione fornita dal sistema operativo dimensione potenzialmente illimitata ad accesso sequenziale GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persistenza dei dati) è necessario poterli archiviare su memoria di massa Un file è una astrazione fornita

Dettagli

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

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

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

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

I file. un file è una sorgente/destinazione di dati per diversi attori

I file. un file è una sorgente/destinazione di dati per diversi attori I file Il file è un astrazione molto ampia nella descrizione di un sistema informatico: Il concetto di file è uno snodo fondamentale di flussi di informazione anche tra applicazioni diverse un file è una

Dettagli

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

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

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

MATLAB Elementi di grafica Costrutti di programmazione

MATLAB Elementi di grafica Costrutti di programmazione MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per

Dettagli

Uso avanzato dei puntatori Allocazione dinamica della memoria

Uso avanzato dei puntatori Allocazione dinamica della memoria Uso avanzato dei puntatori Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Sulla libreria standard, III. Manipolare file con stdio.h

Sulla libreria standard, III. Manipolare file con stdio.h Sulla libreria standard, III Manipolare file con stdio.h 1 Libreria per input/output Con libreria si intende una collezione di sottoprogrammi che vengono utilizzati per lo sviluppo di software non eseguibili,

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

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

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

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

Dettagli

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli