Lezione 11: Liste a Puntatori e Input/Output
|
|
- Gaspare Valeri
- 5 anni fa
- Visualizzazioni
Transcript
1 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) Strutture e trattamento di liste a puntatori necessità: strutture dati dinamiche Funzioni di libreria standard printf scanf Gestione di file 2 1
2 Tipi di dati derivati: le strutture Tipi di dato costruiti a partire dai tipi di dati fondamentali Array: usato per rappresentare dati omogenei stesso tipo Struttura: (struct) usato per rappresentare tipi di dati eterogenei i componenti della struttura sono detti membri 3 Strutture dati dinamiche Tramite i puntatori e calloc/malloc si riescono a definire array di dimensione scelta a run-time Considerazioni: La dimensione dell array non può variare, una volta scelta L array aggrega variabili dello stesso tipo Sono necessarie strutture dati dinamiche: che supportino inserimento, cancellazione, etc. di dati eterogenei 4 2
3 Strutture dati autoreferenzianti #include <stdio.h> main () struct list int data; struct list *next; a, b;... a.data = 19; a.next = &b; b.data = 25; b.next = NULL;... a 19 b data 25 Struttura list campo data (intero) puntatore ad una variabile di tipo list Assegnazione di a campo next: indirizzo di b Assegnazione di b next campo next: puntatore 0 NULL definito in stdio.h 5 Accesso ai dati della struttura #include <stdio.h> main () struct list int data; struct list *next; a, b; a.data = 19; a.next = &b; b.data = 25; b.next = NULL; printf ( %d, a.data); printf ( %d, b.data); printf ( %d, a.next->data); a b a b data 25 next 6 3
4 Liste lineari a puntatori Composte da nodi con puntatori Strutture dati dinamiche utilizzate per la rappresentazione di altre strutture dati più complesse Testa xxx yyy data zzz Coda next 7 Operazioni su liste a puntatori Creazione di una lista Scorrere una lista Contare il numero di elementi Ricercare un elemento Inserire un elemento Cancellare un elemento 8 4
5 Concetti di base: mantenimento di una lista #include <stdio.h> main () struct list int data; struct list *next; ; struct list * = NULL; struct list *tail = NULL;... Puntatori di base: tail alla testa della lista alla coda della lista Commenti: tail non necessario una lista vuota è caratterizzata da uguale a NULL. 9 Allocare spazio per un elemento #include <stdio.h> main () struct list int data; struct list *next; ; struct list * = NULL; = (struct list *) malloc (sizeof(struct list)); -> data = 10; -> next = NULL; data 10 Puntatore alla testa Allocazione memoria per un elemento: dimensione struct list casting Uso di accesso al campo data accesso al campo next next 10 5
6 L inserimento in testa alla lista Quando non è rilevante l ordine di inserimento: si può inserire il nuovo elemento in testa alla lista Il puntatore si dovrà quindi spostare sull elemento appena inserito 11 L inserimento in testa alla lista Quando non è rilevante l ordine di inserimento: si può inserire il nuovo elemento in testa alla lista Il puntatore si dovrà quindi spostare sull elemento appena inserito data 10 next vecchio valore di 12 6
7 L inserimento in testa alla lista Quando non è rilevante l ordine di inserimento: si può inserire il nuovo elemento in testa alla lista Il puntatore si dovrà quindi spostare sull elemento appena inserito 23 vecchio valore di data 10 next 13 L inserimento in testa alla lista Quando non è rilevante l ordine di inserimento: si può inserire il nuovo elemento in testa alla lista Il puntatore si dovrà quindi spostare sull elemento appena inserito 14 vecchio valore di 23 data 10 next 14 7
8 L inserimento in testa alla lista Quando non è rilevante l ordine di inserimento: si può inserire il nuovo elemento in testa alla lista Il puntatore si dovrà quindi spostare sull elemento appena inserito 11 vecchio valore di data 10 next 15 Creazione lista: inserimento in testa (1) #include <stdio.h> struct list int data; char nome[30]; struct list *next; ; struct list *aggiungi (struct list *,int, char *); void stampa (struct list *); main () char nome[30]; struct list *=NULL; int app; do printf ("valore: (0 per finire)"); scanf ("%d", &app); if (app!=0) printf ( Nome: ); scanf ( %s, nome); = aggiungi (, app, nome); while (app!=0); stampa (); Struttura list Prototipi di funzioni inizializzato a NULL Ciclo per input 0 per sentinella funzione aggiungi: puntatore alla testa l intero app da inserire la stringa nome del nodo restituisce la nuova 16 8
9 Creazione lista: inserimento in testa (2) struct list *aggiungi (struct list *h, int val, char *nome) struct list *app; app = (struct list *) malloc (sizeof(struct list)); app->data = val; strcpy (app->nome, nome); app->next = h; return (app); void stampa (struct list *p) while (p!= NULL) printf ("Valore: %d\n", p->data); printf ( Nome:%s\n\n, p->nome); p = p->next; Funzione aggiungi: Parametri puntatore a testa intero e nome da inserire restituisce la nuova testa Allocazione memoria Aggiornamento next Funzione stampa: scorre la lista avanzamento puntatore 17 Contare il numero di elementi int conta_nodi (struct list *p) int num=0; while (p!= NULL) num++; p = p->next; return (num); int conta_nodi_ric (struct list *p) if (p == NULL) return (0); else return (1+ conta_nodi_ric(p->next)); Funzione conta_nodi: Parametri puntatore a testa Scorre e conta con num Funzione ricorsiva: se la lista è vuota la lunghezza è zero altrimenti la lunghezza è 1 più la lunghezza della rimanente parte della lista 18 9
10 Ricercare un elemento void cerca(struct list *p, int val) while (p!= NULL) if (p->data == val) printf ("Nome: %s\n", p->nome); p = p->next; Dato il valore (data) stampare il nome (o i nomi) con quel valore Parametri puntatore a testa intero val da cercare Scorrimento della lista se è trovato stampa il nome avanza il puntatore 19 Struttura dei parametri di printf La funzione printf: stringa di controllo contiene i parametri di formattazione che permettono il trattamento e la formattazione dei parametri (opzionali) che seguono argomenti espressioni che vengono valutate e il cui valore è stampato a video printf ( Risultato %d\n, i); 20 10
11 Caratteri di conversione printf Caratteri di formattazione Comportamento Esempio c carattere A d intero 120 u intero decimale senza segno 12 o ottale senza segno 56 x,x esadecimale senza segno 0xA06 e,e floating point 7.12e+00 f floating point 7.12 g più breve formato tra e ed f G più breve formato tra E ed f s stringa Ciao! p puntatore (hex) 0xA06 % carattere % 21 Controllo della formattazione Caratteri di controllo della formattazione: presenti tra il simbolo % ed il carattere di conversione specifico %-7.5f allineamento ampiezza precisione precedi con zeri %07d ampiezza 22 11
12 Campi ad ampiezza e precisione variabili Si può specificare la ampiezza e la precisione di un campo tramite variabili: float f= ; int a, p;... /*scelgo a e p */ printf ("f = %*.*f \n", a, p, f); 23 Struttura dei parametri di scanf La funzione scanf: stringa di controllo contiene i parametri di formattazione che permettono il trattamento dei dati inseriti da tastiera e la memorizzazione nelle variabili che seguono argomenti variabili passate per riferimento restituisce il numero di parametri assegnati scanf ( %d, &i); 24 12
13 Caratteri di conversione scanf Caratteri di formattazione Comportamento Tipo della variabile c carattere char d,i intero intero u intero decimale unsigned o ottale unsigned x,x esadecimale unsigned e,e,f,g,g floating point float s stringa stringa p puntatore (hex) void * 25 Il funzionamento della stringa di controllo La stringa di controllo determina come deve essere interpretato il flusso di dati in input: i caratteri non di conversione devono corrispondere a quelli presenti sul flusso di dati int a, b; char c; printf ( Inserire (int,char,int):"); scanf ("%d%c%d", &a, &c, &b); printf ("a=%d, c=%c, b=%d\n", a, c, b); printf ( Inserire (int,f,char,int):"); scanf ("%df%c%d", &a, &c, &b); printf ("a=%d, c=%c, b=%d\n", a, c, b); 26 13
14 Un esempio di applicazione I caratteri presenti nella stringa di formattazione vengono scartati int a, b; char c; printf ( Inserire (int,char,int):"); scanf ("%d%c%d", &a, &c, &b); printf ("a=%d, c=%c, b=%d\n", a, c, b); printf ( Inserire (int,f,char,int):"); scanf ("%df%c%d", &a, &c, &b); printf ("a=%d, c=%c, b=%d\n", a, c, b); $ a.out Inserire (int,char,int): 13G43 a=13, c=g, b=43 Inserire (int,f, char,int): 13FG43 a=13, c=g, b=43 $ 27 Input di range di valori Stringhe composte da caratteri determinati si possono specificare i caratteri ammessi ed i caratteri esclusi dalla stringa char s[40], t[40]; scanf ( %[abc], s); scanf ( %s, t); printf ( %s, %s\n, s, t); 28 14
15 Un esempio di applicazione del range La parte rimanente dell input viene preso dalla prossima scanf: char s[40], t[40]; printf ( Stringa: ); scanf ( %[abc], s); scanf ( %s, t); printf ( %s, %s\n, s, t); $ a.out Stringa: aabbbccaabbcffaabbc aabbbccaabbc, ffaabbc $ 29 Gestione dei file Nella libreria standard viene definito una struttura FILE che contiene le informazioni per accedere ad i file (descrittore di file) Necessaria la interfaccia <stdio.h> Automaticamente sono previsti i descrittori di file stdin, stdout, stderr Ogni file viene acceduto attraverso un puntatore ad una struttura FILE FILE *f;
16 Istruzioni per accedere ai file Apertura e chiusura di file: fd = fopen (nomefile, modalità) fclose (fd) FILE *f;... f = fopen ( pippo, r );... /* operazioni */ fclose (f); Stringa per la modalità di accesso: r lettura w scrittura a append (aggiunta in coda) r+ lettura e scrittura 31 Istruzioni per leggere e scrivere nei file fprintf (fd, stringa, parametri...) fscanf (fd, stringa, parametri...) FILE *f;... f = fopen ( pippo, w ); fprintf (f, %d, i); fclose (f); c = getc(fd) macro che legge un carattere da fd e restituisce una costante EOF se il file è terminato putc (c, fd) macro che scrive c su fd 32 16
17 Un esempio: stampa a video di un file #include <stdio.h> main (int argc, char *argv[]) FILE *fp; int cont=0; char c; if (argc!=2) printf ( Errore\n"); return; printf ("Apro %s..", argv[1]); if (! (fp = fopen (argv[1], "r"))) printf ("Non posso aprire %s\n", argv[1]); return; printf ("inizio file\n"); while ((c = getc(fp))!=eof) putc (c, stdout); cont++; printf ("\ndimensione file = %d\n", cont); fclose (fp); Input da linea di comando Dichiarazione di fp e cont Controllo dell input Apertura del file con controllo del successo Ciclo per input legge un carattere alla volta stampo su output (= printf) incremento contatore Stampa dimensione 33 Chiusura Un altro esempio: copia in maiuscolo (1) #include <stdio.h> main (int argc, char *argv[]) FILE *fpr, *fpw; int cont=0; char c; if (argc!=3) printf ( Errore\n"); return; printf ("Apro %s in lettura..", argv[1]); if (! (fpr = fopen (argv[1], "r"))) printf ("Non posso aprire %s\n", argv[1]); return; printf ("Apro %s in scrittura..", argv[2]); if (! (fpw = fopen (argv[2], "w"))) printf ("Non posso aprire %s\n", argv[2]); return; printf ("inizio la copia..\n");... /* continua */ Input da linea di comando Dichiarazione di fpr, fpw Controllo dell input Apertura del file da leggere con il controllo del successo Apertura del file da scrivere con il controllo del successo 34 17
18 Un altro esempio: copia in maiuscolo (2)... /* continua */ while ((c = getc(fpr))!=eof) putc (toupper(c), fpw); cont++; printf (".. fatta! Dim. file = %d\n", cont); fclose (fpr); fclose (fpw); Ciclo per input legge un carattere alla volta stampo su output (= printf) il carattere convertito in maiuscolo (macro toupper) incremento contatore Stampa dimensione Chiusura 35 18
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
DettagliScrittura 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
DettagliLe 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
DettagliGestione 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è
DettagliOperazioni 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
DettagliEsercitazione 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
DettagliInput/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
DettagliLe 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
Dettaglidott. Sabrina Senatore
dott. Sabrina Senatore Dipartimento di Informatica Riepilogo strutture 1 Sintassi della dichiarazione: typedef struct nome_tipo { Dichiarazione dei campi nome_tipo; typedef struct point{ int x; int y;
DettagliDati 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
DettagliELEMENTI 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:
DettagliGestione 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
DettagliC: 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
Dettaglifile 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
DettagliFondamenti 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
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 13 Corso di Informatica 2009-2010 Lezione 13 1 Input/output da file Stream Si definisce stream una sequenza di bytes di dati che può essere in ingresso (input
DettagliEsercizi. 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
DettagliEsercizio 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
DettagliI/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
DettagliLaboratorio 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
DettagliI 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
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011
Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I/O in C Il sistema di I/O del C è una interfaccia uniforme
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Una funzione per i numeri di Fibonacci
DettagliGestione 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
DettagliLezione 6: Array e puntatori
Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci
DettagliLinguaggio 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
DettagliSettimana n.12. Obiettivi File!di!testo. Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!
Settimana n.12 Obiettivi File!di!testo Contenuti Concetto!di!file!e!funzioni! fopen/fclose Funzioni!fgets+sscanf Approfondimenti!su!printf! e!scanf 437 Files Vista d insieme dei formati di file File File
DettagliAllocazione dinamica memoria
Allocazione dinamica memoria Marco Casazza 11/12/2017 1 Esercizio 1 1 /* 2 Creare una lista bidirezionale di interi, ovvero una lista 3 che permette lo scorrimento in entrambe le direzioni ( dal primo
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2013
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2013 Obiettivi Alcuni problemi aperti Il main() Allocazione dinamica della memoria Il salvataggio dei dati File File
DettagliPuntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata
Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione
DettagliGESTIONE 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
DettagliFile 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
DettagliL 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,
DettagliIl linguaggio C. Breve panoramica su stdio.h
Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018
Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercizi sull allocazione dinamica della memoria in C Il codice di questi esercizi é contenuto nella cartella parte1 1. Implementare una lista
DettagliFiles 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
DettagliLIBRERIE 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
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 11 Corso di Informatica 2009-2010 Lezione 11 1 Utilizzo dei puntatori Funzioni Perche i Puntatori? I puntatori hanno tre importanti applicazioni: 1. Passaggio
DettagliFunzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti
Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione
DettagliFile 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
DettagliIl linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLezione 7: Funzioni e gestione dei File
Lezione 7: Funzioni e gestione dei File Laboratorio di Elementi di Architettura e Sistemi Operativi 18 Aprile 2012 Le funzioni Funzioni Un programma C consiste di una o più funzioni Almeno main() Funzionamento
Dettagliint 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
DettagliIl linguaggio C Strutture
Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi
DettagliLezione 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
DettagliIndice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale
File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale Gestione dei file in C In C all interno della standard library
DettagliEsercizio 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
DettagliRelativamente 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
DettagliProgrammazione in C. La struttura del programma Variabili, espressioni, operazioni
Programmazione in C La struttura del programma Variabili, espressioni, operazioni Struttura del programma // Area quadrato circoscritto // circonferenza /* Author: Lorenzo Course: info */ #include
DettagliIngresso ed Uscita in C. Informatica 1 / 15
Ingresso ed Uscita in C Informatica 1 / 15 Input e Output in C Linguaggio C: progettato per essere semplice e con poche istruzioni Non esistono istruzioni di ingresso / uscita (I/O)!!! Ingresso ed uscita
DettagliTitolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 6 Ing. Gian Enrico Conti Dott.
Titolo presentazione INFORMATICA A sottotitolo A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 6 Ing. Gian Enrico Conti Dott. Michele Zanella Info Logistiche (cont d) Calendario laboratori Data Orario
DettagliADT LISTA: altre operazioni non primitive ADT LISTA COSTRUZIONE ADT LISTA COSTRUZIONE ADT LISTA (2)
ADT LISTA Pochi Linguaggi forniscono tipo lista fra predefiniti (LISP, Prolog); per gli altri, ADT lista si costruisce a partire da altre strutture dati (in C tipicamente vettori o puntatori) OPERAZIONI
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 21 Strutture dinamiche Gli array ci permettono di memorizzare un insieme di dati dello stesso tipo Deve essere noto staticamente il
DettagliEsercizio 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
DettagliLe 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
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliFondamenti 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
DettagliLaboratorio 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
DettagliJAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {
JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int
DettagliEsercizi Programmazione I
Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in
DettagliPrimi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione
Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma
DettagliI 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
DettagliLezione 20: Tipi derivati: struct e union
Lezione 20: Tipi derivati: struct e union Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Tipi di dati derivati: strutture (struct)
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 17 settembre 2012 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliLezione XII.III Gestione dei file Un progetto completo
Programmazione e Laboratorio di Programmazione Lezione XII.III Gestione dei file Un progetto completo 1 mycp Sviluppare in linguaggio C : un programma che copi un file in un altro Cosa farà il nostro programma
DettagliGestione 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
DettagliINPUT E OUTPUT DI VALORI NUMERICI
INPUT E OUTPUT DI VALORI NUMERICI FUNZIONI DI I/O PER NUMERI Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione (header file) denominato contiene la
Dettagli1
Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix
DettagliInput/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
DettagliIntroduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.
Introduzione L elaborazione dei files in C D.D. cap. 11+ pp. 569-572 K.P. pp. 581-583 La memorizzazione dei dati nelle variabili e nei vettori è temporanea: tutti quei dati andranno persi quando il programma
DettagliInformatica 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)
DettagliIntroduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliSistemi 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
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliI 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
DettagliFondamenti di Informatica II
Università degli studi di Messina Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni Fondamenti di Informatica II Tipi di dati astratti(adt)- seconda parte Coda Struttura
DettagliUnità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture.
Unità Didattica 5 Linguaggio C Stringhe. Accesso a file ASCII. Strutture. 1 Stringhe Una stringa è una sequenza di caratteri (es: ciao, sd!n29dnqa ); In C non esiste una variabile di tipo stringa; Una
DettagliLibrerie 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
DettagliFormattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori
Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene
DettagliI File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.
I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un
DettagliFormattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti
I/O Avanzato e File Formattazione avanzata Modificatori di formato in output Modificatori di formato in input Stream predefiniti 2 Formattazione avanzata Formattazione dell output L output (su schermo
DettagliInput / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard
Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 6 - Liste Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
DettagliSommario. Manipolazione sequenziale di file in C Funzioni di base per I/O di file
File Input/Output 1 Sommario Manipolazione sequenziale di file in C Funzioni di base per I/O di file 2 Manipolazione di file I file devono essere aperti prima dell uso Associa un puntatore a file a ogni
DettagliLezione 5: Introduzione alla programmazione in C
Lezione 5: Introduzione alla programmazione in C Laboratorio di Elementi di Architettura e Sistemi Operativi 4 Aprile 2012 Introduzione al C C vs. Java Java: linguaggio ad oggetti C: linguaggio procedurale
DettagliINPUT/OUTPUT INPUT/OUTPUT
INPUT/OUTPUT L'immissione dei dati di un programma e l uscita dei suoi risultati avvengono attraverso operazioni di lettura e scrittura C non ha istruzioni predefinite per l'input/output In ogni versione
DettagliIntroduzione al C. Esercitazione 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Domenico Daniele Bloisi Informazioni Generali ing. Domenico Daniele Bloisi Dipartimento di Informatica e Sistemistica Stanza B213, secondo piano Via
DettagliIl linguaggio C Strutture
Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Copyright Mirko Viroli Copyright 2017, 2018 Moreno
DettagliEsercizio 1 File: ordinamento di un archivio di studenti (file binario)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 9 Esercitazione: 19 gennaio 2005 Esercizi sui file e sulle liste. Scaletta Esercizio 1 File: ordinamento di un archivio
DettagliLibrerie 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