DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array e stringhe. Marco D. Santambrogio Ver. aggiornata al 6 Aprile 2016
|
|
- Faustino Sacchi
- 4 anni fa
- Visualizzazioni
Transcript
1 Array e stringhe Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Aprile 2016
2 Logistica Laboratori 2
3 Logistica 3
4 Logistica Laboratori Lunedì (3.30pm 6pm) EG7 (No portatili e basta) L (portatili) 4
5 Logistica Laboratori Lunedì (3.30pm 6pm) EG7 (No portatili e basta) L (portatili) Giovedì (2pm 4pm) EG7 (20 dei 31 gruppi del progetto) 5
6 BESTIARIO 6
7 Bestiario Assegnamento di un valore ad una variabile 7
8 Bestiario Assegnamento di un valore ad una variabile x = 5; (int x) dato = x ; (char dato) d = y/3.14; (float d, y or float d; int y) 8
9 Bestiario Assegnamento di un valore ad una variabile x = 5; (int x) dato = x ; (char dato) d = y/3.14; (float d, y or float d; int y) Confronto/test 9
10 Bestiario Assegnamento di un valore ad una variabile x = 5; (int x) dato = x ; (char dato) d = y/3.14; (float d, y or float d; int y) Confronto/test x == 5 (e.g., if (x == 5)) dato == x ; (e.g., if (dato == x )) 10
11 Bestiario L uso del punto e virgola! 11
12 Bestiario L uso del punto e virgola! if (x == 5); printf ( \n Vero ); else printf ( \n Falso! ); 12
13 Bestiario 13
14 Bestiario L uso del punto e virgola! if (x == 5) printf ( \n Vero ); else printf ( \n Falso! ); 14
15 Passaggio di dati alla printf 15
16 Passaggio di dati alla printf int dato=3; printf( il dato vale %d, &dato); 16
17 Passaggio di dati alla printf int dato=3; printf( il dato vale %d, &dato); Dato è passato per copia!!!! 17
18 Passaggio di dati alla printf int dato=3; printf( il dato vale %d, &dato); Dato è passato per copia!!!! printf( il dato vale %d, dato); 18
19 Problema: sequenza di interi Mostrare una sequenza di 10 interi nell'ordine inverso rispetto a quello con cui è stata introdotta dall utente 19
20 La gara di nuoto: con salvataggio Problema Si hanno10 giudici 1 giudice = 1 voto Si vogliono memorizzare i 10 voti, per poterli rileggere Ogni voto è nell itervallo 0-10 Dato un tuffo, calcolare La media dei voti Il voto massimo ed il voto minimo 20
21 Obiettivi Gli array, questi sconosciuti Gli array in C Array particolari: le stringhe 21
22 Gli array Gruppi di celle consecutive Rappresentano gruppi di variabili con lo stesso nome e lo stesso tipo Per riferirsi a un elemento, si specificano: Il nome dell array La posizione dell elemento (indice) Sintassi: <nomearray>[<posizione>] Il primo elemento ha indice 0 L n elemento dell array v è v[n-1] nome array v[0] v[1] v[2] v[3] v[4] v[5] v[6] v[7] v[8] v[9] v[10] v[11] dichiarazione int v[12]; posizione elemento 22
23 Gli array Gli elementi di un array sono normali variabili: vett[0] = 3; printf("%d", vett[0]); > 3 scanf("%d", &vett[1]); > 17 vett[1] assume valore 17 Si possono usare espressioni come indici: se x = 3 vett[5-2] è equivalente a vett[3] ed è equivalente a vett[x] 23
24 La gara di nuoto: con salvataggio Problema Si hanno10 giudici 1 giudice = 1 voto Si vogliono memorizzare i 10 voti, per poterli rileggere Ogni voto è nell itervallo 0-10 Dato un tuffo, calcolare La media dei voti Il voto massimo ed il voto minimo 24
25 Come salvare i voti... La dichiarazione 25
26 Come salvare i voti... L inserimento Problema 1: devo salvare i dati nel mio array (int voto[10];) Problema 2: devo definire un ciclo che mi permetta di scorrere N elementi 26
27 Come salvare i voti... L inserimento Problema 1: devo salvare i dati nel mio array (int voto[10];) scanf(&voto[posix]); *pseudo-codice 27
28 Come salvare i voti... L inserimento Problema 2: devo definire un ciclo che mi permetta di scorrere N elementi for(index = 0, index < N, index++){ } *pseudo-codice 28
29 Come salvare i voti... L inserimento Problema 1 + Problema 2 for(index = 0, index < N, index++){ } scanf(&voto[posix]); Non va bene!!! 1) Scrivo sempre in voto[posix] 2) Quanto vale posix??? *pseudo-codice 29
30 Come salvare i voti... L inserimento Problema 1 + Problema 2 posix = 0; for(index = 0, index < N, index++){ scanf(&voto[posix]); posix++; } Come crescono index e posix? *pseudo-codice 30
31 Come salvare i voti... L inserimento Problema 1 + Problema 2 for(index = 0, index < N, index++){ } scanf(&voto[index]); *pseudo-codice 31
32 Come salvare i voti... L inserimento 32
33 Come salvare i voti... La stampa 33
34 Mettiamo tutto insieme 34
35 Un piccolo riassunto Array: collezione di dati omogenei Dichiare il tipo dei suoi dati Dichiarare la sua dimensione Come si accede ai dati di un array? Come a normali variabili Esempio di scrittura Esempio di lettura 35
36 Inizializzazione di un array Sintassi compatta: int n[5] = {1, 2, 3, 4, 5}; Inizializzazione parziale: gli elementi più a destra sono posti a 0 int n[5] = {13}; tutti gli altri elementi sono posti a 0 Specificare troppi elementi tra le graffe è un errore di sintassi Se la lunghezza dell array è omessa, gli inizializzatori la determinano: int n[] = {5, 47, -2, 0, 24}; è equivalente a: int n[5] = {5, 47, - 2, 0, 24}; In tal caso la dimensione è inferita automaticamente, e si avranno 5 elementi nell array 36
37 Operazioni sugli array Si opera sui singoli elementi, uno per volta Non è possibile operare sull intero array, agendo su tutti gli elementi simultaneamente /* come ricopiare array1 in array2 */ int array1[10], array2[10]; int i;... array2 = array1; /* ERRATO */... for( i = 0; i < 10; i++ ) { array2[i] = array1[i]; /* CORRETTO */ } 37
38 WAT 38
39 WAT CI TORNEREMO I PUNTATORI 39
40 I NON HO CAPITO MOLTO A COSA SERVANO GLI ARRAY 40
41 Problema: sequenza di interi Mostrare una sequenza di 10 interi nell'ordine inverso rispetto a quello con cui è stata introdotta dall utente 41
42 Provate senza array 42
43 Provate senza array 43
44 Provate senza array 44
45 Provate con gli array 45
46 Provate con gli array 46
47 Sequenza: possibile soluzione 47
48 Sequenza: possibile soluzione E se ora volessi 100 numeri? 48
49 Sequenza: possibile soluzione E se ora volessi 100 numeri? 49
50 "Generalizziamo" con la direttiva #define In testa al programma: #define LUNG_SEQ 100 Così possiamo adattare la lunghezza del vettore alle eventuali mutate esigenze senza riscrivere la costante 100 in molti i punti del programma Il preprocessore sostituisce nel codice LUNG_SEQ con 100 prima della compilazione La lunghezza dell array, quindi, anche in questo caso è decisa al momento della compilazione del programma Nella dichiarazione degli array non si usano mai variabili per specificarne la dimensione 50
51 Sequenza con define 51
52 Sequenza con define E se ora volessi 17 numeri? 52
53 Sequenza con define E se ora volessi 17 numeri? 53
54 Frase insieme di caratteri Che cosa è una frase? Un insieme di caratteri Come la rappresento? Un insieme, di tante variabili carattere? Una variabile, insieme di caratteri? supercali fragili stiche spiralidoso 54
55 Le stringhe Array di caratteri: spesso chiamati stringhe Quando rappresentano caratteri da leggersi in fila Dichiarazione+inizializzazione di una stringa: char stringa[] = "word"; Il carattere nullo '\0' termina le stringhe Perciò l array stringa ha 5 elementi (non 4): w o r d \0 Dichiarazione equivalente: char stringa[] = {'w', 'o', 'r', 'd', '\0'}; 55
56 Problema: inserisci nome 56
57 Stringhe e caratteri Qual è la differenza tra 'x' e "x"? 'x' è una costante di tipo char, rappresentata in memoria da un intero "x" è una stringa costante, rappresentata in memoria da un array che contiene i caratteri: 'x' e '\0' ATTENZIONE Le stringhe non sono propriamente un tipo di dato (non sono un tipo base!) Non hanno operatori nativi, ma una serie di funzioni nella libreria standard che permettono di manipolarle 57
58 scanf: stringhe Vs char 58
59 Fonti per lo studio + Credits Fonti per lo studio Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill Capitolo 5 Credits Daniele Braga - braga/ 59
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array e stringhe. Marco D. Santambrogio Ver. aggiornata al 28 O0obre 2014
Array e stringhe Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 28 O0obre 2014 Frase insieme di caratteri Che cosa è una frase? Un insieme di caratteri Come la rappresento? Un insieme,
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array, matrici. Marco D. Santambrogio Ver. aggiornata al 21 Marzo 2013
Array, matrici Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Marzo 2013 WAT? Questa volta non ce ne sono WAT 2 Obiettivi Gli array, questi sconosciuti Gli array in C Array n-dimensionali
DettagliArray n-dimensionali e tipi di dati strutturati
Array n-dimensionali e tipi di dati strutturati Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 8 Aprile 2016 Logistica Laboratori Lunedì (3.30pm 6pm) EG7 (No portatili e basta) L26.1.3
DettagliStringhe e tipi di dati strutturati
Stringhe e tipi di dati strutturati Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Marzo 2013 Info sui Labs http://tinyurl.com/ieimlabextra Ricordate di portare un adattatore!
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Lab 3: 30 Ottobre 2017
Lab 3: 30 Ottobre 2017 Lab 3: Obiettivi Array e strutture 2 Lab 3: Agenda Esercizi Lab3 Warm Up (50 ) Max, min e media (10 ) Sequenza di numeri (20 ) Inserisci nome (20 ) Qualche cosa un pò più divertente
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Costrutti iterativi. Marco D. Santambrogio Ver. aggiornata al 26 Marzo 2014
Costrutti iterativi Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 26 Marzo 2014 Mi mancano 2 Mi mancano 3 Obiettivi Costrutti iterativi do.. while While for 4 Problema: caratteri
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Costrutti iterativi. Marco D. Santambrogio Ver. aggiornata al 27 Marzo 2015
Costrutti iterativi Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 27 Marzo 2015 Umh Per farvi aggiungere al gruppo su Facebook usate un nome significativo! 2 Umh Per farvi aggiungere
DettagliAlgoritmi e basi del C
Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 3 O/obre 2013 Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2 WAT Il docente ha messo
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Informazione: dato + significato Che giorno è oggi? 14 Marzo o anche
DettagliAlgoritmi e basi del C
Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 24 Agosto 2015 Benvenuti nel fantastico mondo del C 2 Il primo programma: ciao mondo 3 Ciao Mondo: stdio.h Come
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Costrutti iterativi. Marco D. Santambrogio Ver. aggiornata al 20 Marzo 2013
Costrutti iterativi Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Marzo 2013 WAT? WAT Il bello dei feedback l'ingegnere Nacci è stato molto chiaro nelle spiegazioni L'esercitatore
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliLab 4 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 24 Agosto 2015
Lab 4 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Matteo Ferroni matteo.ferroni@polimi.it Ver. aggiornata al 24 Agosto 2015 Calendario dei Labs: C 20 Ottobre 2015, 10am-12pm, @ LM1 Installation
DettagliLab 4 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 20 O0obre 2015
Lab 4 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Matteo Ferroni matteo.ferroni@polimi.it Ver. aggiornata al 20 O0obre 2015 Calendario dei Labs: MATLAB 15 Dic 2015, 10.30am-12.30pm, @ B6.27
DettagliLab 3 Info B. Buon 314mo giorno del 2015! Marco D. Santambrogio Matteo Ferroni
Lab 3 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Matteo Ferroni matteo.ferroni@polimi.it Ver. aggiornata al 10 Novembre2015 Buon 314mo giorno del 2015! Demo 2 Demo 3 Demo Esame il 25Nov
DettagliArray n-dimensionali e tipi di dati strutturati
Array n-dimensionali e tipi di dati strutturati Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 5 Novembre 2013 Info di servizio Demo 1mo compitino In LM5 @ 12pm - venerdì 8 Nov In
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Marco D. Santambrogio Ver. aggiornata al 9 O/obre 2010
Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 9 O/obre 2010 Algoritmi Pseudocodice Diagramma di flusso Una prima introduzione al C Un primo programma Tipi di dato Strutture di controllo
DettagliGli array, le stringhe e le strutture
INFORMATICA B Ingegneria Elettrica Gli array, le stringhe e le strutture Limiti dei tipi di dato semplici Utilizzare solo i tipi di dato semplici può essere limitante e rendere il programma poco flessibile
DettagliEsercitazione di Reti degli elaboratori
Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione
DettagliTipi derivati: Array
Tipi derivati: Array Array Gli array (o vettori) sono composti da elementi omogenei (cioè hanno tutti lo stesso tipo base) ogni elemento è identificato all'interno dell'array da un numero d ordine detto
DettagliArray. Aggragati di variabili omogenee...
Array Aggragati di variabili omogenee... Cosa è un array È un insieme di variabili omogenee identificato da un indice, ad esempio Se devo leggere 1 numeri dallo standard input e memorizzarli all'interno
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 4 Aprile 2013
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 4 Aprile 201 WAT? WAT Lab Troppi exe, ne volevo di meno Vacanze W A Giovedì 28, Venerdì 29 e Lunedì 1 ma anche Martedì 2
DettagliLinguaggio C: Array Valeria Cardellini
Linguaggio C: Array Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Array in C q Dichiarazione
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliLab 2 Info B. Diego Carrera Ing. Gian Enrico Conti 7 Novembre 2016
Lab 2 Info B Diego Carrera diego.carrera@polimi.it Ing. Gian Enrico Conti gianenrico.conti@mail.polimi.it 7 Novembre 2016 Per macchine PoliMI https://virtualdesktop.polimi.it 2 Richiami: Stringhe Le stringhe
DettagliRICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio
RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliI tipi strutturati e i record in C++
I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi
DettagliEsercizi. La funzione swapint() primo tentativo
Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include
DettagliTipi strutturati in C. Stringhe
Tipi strutturati in C Stringhe Stringhe Una stringa di caratteri in C è un array di caratteri terminato dal carattere \0 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1 caratteri,
DettagliDati strutturati in C
Dati strutturati in C Fondamenti di Informatica Array Perchè usare gli array? float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto,
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
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 20 Aprile 2016
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Aprile 2016 Come rappresento un pixel? Il pixel è Il colore Come ottengo il verde? Con il formato RGB R: 91 G: 191 B:
DettagliArray. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali
MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono
DettagliTutorato Elementi di Informatica 2018
Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercizi per I parziale Mail: bioinfo.marcialis@gmail.com
DettagliStrutture 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
DettagliIntroduzione al C. Lez. 1 Elementi. Rossano Venturini
Introduzione al C Lez. 1 Elementi Rossano Venturini rossano@di.unipi.it Pagine del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start http://algoritmica.spox.spoj.pl/alglab2013 Lezioni
DettagliLa Programmazione. Cos è la programmazione? Concetti preliminari
La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione
DettagliEsercitazione pre 1ma prova in itinere
Esercitazione pre 1ma prova in itinere Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 13 Novembre 2015 Info logistiche 2 Info logistiche Ven 20 Novembre: NO lezione 3 Info logistiche
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
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
DettagliUniversità degli Studi di Brescia. Vettori di variabili. ! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti
Linguaggio C 1! Sono variabili aggregate in grado di memorizzare una collezione (organizzata) di oggetti Oggetti dello stesso tipo Identificazione univoca degli oggetti! Il tipo più semplice ha una sola
DettagliGli array. slides credit M. Poneti
Gli array slides credit M. Poneti Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome e lo
DettagliLab 1 Info B. Diego Carrera Ing. Gian Enrico Conti 17 Ottobre 2016
Lab 1 Info B Diego Carrera diego.carrera@polimi.it Ing. Gian Enrico Conti gianenrico.conti@mail.polimi.it 17 Ottobre 2016 Lab 1: Agenda Informazioni sui laboratori C: richiami Esercizi Lab1 2 Lab 1: Agenda
DettagliStringhe in C. Alessandra Giordani Lunedì 23 aprile 2012
Stringhe in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 23 aprile 2012 http://disi.unitn.it/~agiordani/ Stringhe Sono particolari array: Ogni elemento del vettore è di tipo char La stringa è terminata
Dettagli$QDOLVLGHOSURJUDPPDTXDGUDWR
$QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 11 Marzo 2014
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Immagini Struttura dati: typedef struct{ int R; int G; int B; } pixel pixel img[0][24]; Ma quanto è grossa
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
DettagliLinguaggio C - Stringhe
ISTITUTO SECONDARIO DI ISTRUZIONE SUPERIORE "Guido Tassinari" di POZZUOLI Informatica Prof. A.S. 2011/2012 Linguaggio C - Stringhe 27/04/2012 Array di caratteri Una stringa è: Un array di caratteri Termina
DettagliI Dati Strutturati ed il Linguaggio C
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Dati Strutturati Esigenze Vettori
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
DettagliIntroduzione al C. Lez. 1 Elementi. Rossano Venturini
Introduzione al C Lez. 1 Elementi Rossano Venturini rossano.venturini@isti.cnr.it URL del corso http://www.cli.di.unipi.it/doku/doku.php/informatica/all-b/start Lezioni - Lunedì 16-18 Aula M - Martedì
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
DettagliAllocazione dinamica della memoria
Allocazione dinamica della memoria Allocazione statica: limiti Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente la loro esistenza deve essere prevista e dichiarata a priori
DettagliINFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti
INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti Puntatori I puntatori sono delle variabili che contengono l
DettagliLinguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin
Linguaggio C Vettori, Puntatori e Funzioni Stringhe Università degli Studi di Brescia Prof. Massimiliano Giacomin SCHEMA DELLA LEZIONE RELAZIONE TRA VETTORI E PUNTATORI (e le stringhe letterali come caso
DettagliRecap su: array e puntatori
Recap su: array e puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Aprile 2015 Sui codici a lunghezza fissa 2 Sui codici a lunghezza fissa 3 Sui codici a lunghezza fissa
DettagliIl sistema di elaborazione
Il sistema di elaborazione Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 Obiettivi Codifica delle istruzioni e dei dati per l esecuzione automatica Architettura dei
DettagliCodifica binaria dell informazione
Codifica binaria dell informazione Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Marzo 2016 Un obiettivo per domarli tutti 2 Un obiettivo per domarli tutti 3 Obiettivi Rappresentazione
DettagliPuntatori e array. Violetta Lonati
Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array
DettagliRipasso R1. Dati strutturati. Esempi. Array. Dichiarazione di un array. Dichiarazione di un array in C
Ripasso R1 Dati strutturati Aggregazione di dati omogenei: gli array Spesso gli algoritmi lavorano su insiemi di dati omogenei. o l insieme dei valori reali che rappresentano le temperature medie delle
DettagliInformatica (A-K) 14. Linguaggio C -4
Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Informatica (A-K) 14. Linguaggio C -4 Strutture Dati tipiche
DettagliAlgoritmi e basi del C
Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 8 Marzo 2013 Come non ricordare che giornata sia oggi 8 marzo 1459: nasce Bernardino Corio Storico italiano
DettagliIntroduzione al C. Lezione 1 Elementi. Rossano Venturini. Pagina web del corso
Introduzione al C Lezione 1 Elementi Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Lezioni di ripasso C Mercoledì 19 Giovedì
DettagliL assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci
DettagliPassaggio dei parametri
Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment
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
DettagliTIPI DI DATO. T = { D, {F 1,...,F n }, {P 1,...,P m } } Un tipo di dato T è definito come:
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P m sul dominio D T = { D, {F 1,...,F n }, {P 1,...,P
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono
DettagliT = { D, {F 1,...,F n }, {P 1,...,P m } }
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme i di predicati P 1,..,P m sul ldominio i D T = { D, {F 1,...,F n }, {P
DettagliStruttura di un. Struttura dei programmi C
Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: I tipi di dato visti finora sono tutti semplici: int, char, float,... ma i dati manipolati nelle applicazioni reali sono spesso complessi (o strutturati) Gli array sono uno dei
DettagliLaboratorio di Informatica
-- Conversione di tipo in C (V) -- Laboratorio di Informatica Ingegneria Meccanica Lezione 7, 22 novembre 2007 versione 24 novembre 2007 Renato Menicocci
DettagliArray e Matrici. Perchè usare gli array?
Array e Matrici Perchè usare gli array? 2 float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto, venditesettembre, venditeottobre,
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 24/04/08 Nota Questi lucidi sono tratti
DettagliCodifica binaria dell informazione
Codifica binaria dell informazione Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 13 Agosto 2014 Un obiettivo per domarli tutti 2 Obiettivi Rappresentazione dell informazione Da
DettagliIntroduzione al linguaggio C Dati aggregati
Introduzione al linguaggio C Dati aggregati Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 5 ottobre
DettagliStringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10
Stringhe in C Luca Abeni Informatica Luca Abeni 1 / 10 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe
DettagliPuntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori
Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per
DettagliLinguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C tipi di dati definiti dall utente Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Tipi di dati in C Predefiniti
DettagliPuntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori
Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per
DettagliLaboratorio di informatica Ingegneria meccanica
Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,
Dettaglii Vettori Alessandra Giordani Lunedì 15 aprile
i Vettori Alessandra Giordani agiordani@disi.unitn.it Lunedì 15 aprile 2013 http://disi.unitn.it/~agiordani/ Dichiarazione di un Array La dichiarazione di un array di n elementi di tipo T causa l'allocazione
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliPer fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice)
Vettore(Array monodimensionale) Sequenza di posizioniconsecutive (o locazioni di memoria) che vengono chiamate elementi del vettore Gli elementi hanno tutti lo stesso nomee sono tutti dell stesso tipo
DettagliI/O da tastiera e direttive processore. Alessandra Giordani Lunedì 3 maggio
I/O da tastiera e direttive processore Alessandra Giordani agiordani@disi.unitn.it Lunedì 3 maggio 2010 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
DettagliErrori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
DettagliTutorato Elementi di Informatica 2018
Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercitazione 2 Introduzione e Tipi di
DettagliIntroduzione al C. Lez. 1 Elementi
Introduzione al C Lez. 1 Elementi Introduzione al C Strumento che adotteremo in queste esercitazioni per implementare e testare gli algoritmi visti a lezione Configurazione minimale suggerita: Editing
DettagliQuando è necessario elaborare una certa quantità di dati omogenei si possono usare variabili indicizzate: int a0, a1, a2;
Array Quando è necessario elaborare una certa quantità di dati omogenei si possono usare variabili indicizzate: int a0, a1, a2; Il C supporta questo uso attraverso il tipo di dati array (o vettore): int
DettagliNon ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
Dettagli1 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliTipi di dato semplici
Tipi di dato semplici Informatica B Tipi di dati q In C esistono diversi tipi di dato built-in, tra cui int: numeri interi float: numeri con virgola (singola precisione) double : numeri con virgola (doppia
Dettagli