Cosa sono gli Array. int myarray[10];
|
|
- Bartolomeo Clemente
- 5 anni fa
- Visualizzazioni
Transcript
1 Cosa sono gli Array Un array può essere definito come una collezione organizzata di oggetti. Analizziamo la definizione e capiremo molte cose, innanzitutto il concetto di collezione implica che tali oggetti siano dello stesso tipo, così, prendendo spunto dal mondo reale, potremmo definire un array di mele, che, quindi non può contenere nessun oggetto pera ; un array in C è una collezione di variabili dello stesso tipo. Organizzata implica che sia possibile identificare univocamente tutti gli oggeti dell array in modo sistematico; questo in C viene fatto tramite l uso di indici numerici che, in un array di dimensione N, vanno da 0 ad N-1. Riprendendo l esempio della rubrica del cellulare, usato per spiegare le variabili nella lezione 11, si può pensare a quando creiamo un gruppo suonerie, ad esempio di nome amici scuola ; tale gruppo può contenere a tutti gli effetti un certo numero di nomi/numeri dei nostri compagni di classe, ecco questo gruppo è un array, perchè formato da oggetti dello stesso tipo (nomi/numeri) ed indentificato da un nome (amici scuola) che li accomuna. Ma vediamo nel dettaglio come è possibile dichiarare un array: int myarray[10]; Come si può notare un array viene dichiarato mettendo il nome della variabile (myarray), e,tra parentesi quadre, la cifra che identifica il numero di elementi dello stesso tipo (int) e quindi la dimensione dell array. Nell esempio, ognuno dei dieci interi viene chiamato elemento dell array e dieci è la dimensione dell array. In C,
2 come già detto, ogni elemento viene identificato da un numero, contando da 0 (invece che da 1) ed arrivando ad N (la dimensione, nel nostro esempio uguale a 10) 1 (quindi arriviamo a 9); per far comprendere meglio il concetto abbiamo creato la seguente immagine che ci riporta ad un paragone con il mondo reale; In questa immagine l array viene paragonato ad un palazzo. Pensateci bene, quando diciamo che un palazzo ha 5 piani, in realtà ha sei livelli; cioè il piano terra è il primo livello, il primo piano il secondo, e così via; analogamente succede nell array, se abbiamo un array di dimensione 6, i suoi indici andranno da 0 a 5 e un elemento richiamato, ad esempio, tramite l indice 3, è il quarto elemento, questo perché si inizia a contare da 0. L analogia assume maggiore importanza, anche per far capire che le variabili dell array sono dello stesso tipo, così come un array di int può contenere solo int (e non char o float), un palazzo che contiene uffici, in questo esempio, può contenere solo uffici (e non abitazioni). Torniamo al linguaggio C, e vediamo come è possibile
3 dichiarare array di float o di char: float float_array[12]; char char_array[7]; Una volta dichiarato un array è possibile assegnare il valore alla posizione corrispondente, richiamandola tramite l indice, ad esempio se volessi inserire il valore nell array di float alla quinta posizione, basta scrivere: float_array[4] = Mentre se volessi utilizzare il valore contenuto nella terza posizione dell array e memorizzarlo in un altra variabile, dovrei fare: float myvar = float_array[2]; Array Multidimensionali Ovviamente la potenza degli array risiede anche nel fatto che si possono usare degli array multidimensionali. Come? in pratica ogni elemento contenuto da un array è a sua volta un array; in questo modo si possono rappresentare facilmente tabelle e matrici, o qualunque altra cosa che richieda un rappresentazione anche superiore, si pensi a programmi di grafica tridimensionale, dove un array cubico può essere usato per disegnare i punti all interno dello spazio tridimensionale creato, o ad un array a quattro dimensioni, che può servire per registrare anche la variabile tempo. Con gli array multidimensionali si possono rappresentare insomma cose che hanno più di una dimensione in maniera facile ed intuitiva. L esempio sotto proposto usa un array
4 bidimensionale per definire una matrice di N righe ed M colonne: int matrix[n][m]; i cui elementi possono essere, ad esempio, stampati, utilizzando solo due cicli for, come mostrato qui sotto: int n = 10; int m = 12; int matrix[n][m]; int i; int j; for (i=0; i<m; i++) for (j=0; j<n; j++) printf( %d, matrix[i][j]); } printf( n ); } Gli array sono alla base delle stringhe nel linguaggio C. Ecco come sono state utilizzate all interno del programma. Senza gli array sarebbe stato molto difficile operare sul testo. 31 char nome[50]; char cognome[50]; char telefono[30]; char [100]; char sitoweb[200]; Una volta presa dimestichezza con le principali caratteristiche del C si possono utilizzare dei tipi di Dati strutturati. Iniziamo ad esaminare in dettaglio le strutture.
5 Struct Le strutture del C sostanzialmente permettono l aggregazione di più variabili, in modo simile a quella degli array, ma a differenza di questi non ordinata e non omogenea (una struttura può contenere variabili di tipo diverso). Per denotare una struttura si usa la parola chiave struct seguita dal nome identificativo della struttura, che è opzionale. Nell esempio sottostante si definisce una struttura libro e si crea un istanza di essa chiamata biblio: // dichiarazione della struct struct libro char titolo[100]; char autore[50]; int anno_pubblicazione; float prezzo; }; //dichiarazione dell'istanza biblio struct libro biblio; La variabile biblio può essere dichiarata anche mettendo il nome stesso dopo la parentesi graffa: // dichiarazione della struct e della variabile biblio struct libro char titolo[100]; char autore[50]; int anno_pubblicazione; float prezzo; } biblio; È anche possibile inizializzare i valori alla dichiarazione,
6 mettendo i valori (giusti nel tipo) compresi tra parentesi graffe: struct libro biblio = "Guida al C", "Fabrizio Ciacchi", 2003, 45.2}; Per accedere alle variabili interne della struttura si usa l operatore punto.. Una variabile interna può essere poi manipolata come qualsiasi altra variabile: // assegna un valore al prezzo del libro biblio.prezzo = 67.32; // assegna ad una variabile int l'anno di pubblicazione del libro int anno = biblio.anno_pubblicazione; // stampa il titolo del libro printf ("%s n", biblio.titolo); Strutture La struttura è un raggruppamento di variabili a cui si fa riferimento usando un unico nome. Una definizione di una struttura permette di creare un modello che puo essere usato per attivare delle variabili, dette membri del tipo struttura. Per dichiarare una struttura si usa la parola chiave struct, e si procede in tal modo: struct <nome_tipo_struttura> <tipo> <nome_variabile>; <tipo> <nome_variabile>; } <nomi_variabili>; Con tale dichiarazione si è creata la variabile associata alla struttura (o più di una) grazie al nome della variabile scritta dopo la chiusura della parentesi graffa. Se dopo la chiusura di tale parentesi non si scrive nulla, vuol dire che la struttura è stata solo dichiarata ed occorre ancora
7 definire la variabile attraverso un'altra riga di comando nella dichiarazione delle variabili, in tal modo: struct <nome_tipo_struttura><nome_varibile> Vediamo due esempi che utilizzano entrambi i metodi per definire le variabili della struttura dichiarata: struct struttura int campo1; float campo2; } S,T; struct struttura int campo1; int campo2; }; struct struttura S,T Per accedere ai membri, o campi,della struttura si utilizza l'operatore punto (. ), ovvero: <nome_var_struttura>.<nome_campo> Ad esempio: S.campo1 = 10; Per poter fare un'assegnazione alla variabile di tipo struttura si scrive in tal modo: <nome_var_struttura>=<nome_var_struttura > Ad esempio: S = T;
8 Array di struttura Gli array di strutture vengono spesso utilizzati e si definiscono nel seguente modo ( è chiaro che deve essere prima dichiarata la struttura): struct <nome_tipo_struttura> <nome_var_struttura>[<dimensione>]; Ad esempio: struct struttura A[100]; Strutture come argomenti di funzione Una struttura può anche essere utilizzata nel passaggio degli argomenti di una funzione sia considerando solo dei membri della struttura, sia considerando l'intera struttura. Nel primo caso, quando si passa cioè a una funzione un membro di una struttura la funzione riceverà solo il valore di quel campo della struttura. E' possibile passare anche solo l'indirizzo del membro usando l'operatore &.Ad esempio: funzione(t.campo1); funzione(&s.campo2); /*passaggio per indirizzo*/ Nel caso in cui invece si passa l'intera struttura alla funzione, viene usata la chiamata per valore.
9 Esempio di un programma C che utilizza le strutture: Una rubrica telefonica # include <stdio.h> # include <stdlib.h> # define DIM 100 struct ind char nome[20]; char tel[12]; }Info[DIM]; Creare nuovi tipi di dato con typedef Per definire nuovi tipi di dato viene utilizzata la funzione typedef. L uso di typedef, combinato con struct ci permette di creare tipi di dato molto complessi, come mostrato nell esempio seguente: typedef struct libro char titolo[100]; char autore[50]; int anno_pubblicazione; float prezzo; } t_libro; t_libro guida = "Guida al C", "Fabrizio Ciacchi", 2003, 45.2}; In questo modo abbiamo definito un nuovo tipo di nome t_libro, che non è altro che una struttura; guida è la variabile creata di tipo t_libro. Ora possiamo utilizzare il nuovo tipo come ogni altro, ad esempio possiamo creare un array di elementi di tipo t_libro.
10 t_libro raccolta[5000]; Per accedere agli elementi dell array, o per inizializzare i valori, è sufficiente utilizzare l indice per identificare l elemento dell array ed il punto (.) per accedere alle variabili interne del tipo t_libro. // assegna un valore al prezzo del 341mo libro raccolta[340].prezzo = 67.32; // assegna ad una variabile int l'anno di pubblicazione del 659mo libro int anno = raccolta[658].anno_pubblicazione; // stampa il titolo del 23mo libro printf ("%s n", raccolta[22].titolo); Esempio 1 #include <stdio.h> //struttura rettangolo : contiene i dati principali di un rettangolo : base e altezza struct rettangolo double altezza,base; }; double calcolaarea (struct rettangolo r); //restituisce l'area del rettangolo double calcolaperimetro (struct rettangolo r); //restituisce il perimetro del rettangolo main() struct rettangolo r; double area ; double perimetro; printf("inserisci base e altezza del rettangolo, separando i valori con un virgola (base,altezza) \n"); scanf("%lf,%lf",&r.base,&r.altezza); area = calcolaarea(r); //calcola l'area del rettangolo
11 perimetro = calcolaperimetro(r); //calcola il perimetro del rettangolo } printf("%-10s = %10.4lf\n","Base",r.base); printf("%-10s = %10.4lf\n","Altezza",r.altezza); printf("%-10s = %10.4lf\n","Area",area); printf("%-10s = %10.4lf\n","Perimetro",perimetro); double calcolaarea (struct rettangolo r) return (r.altezza * r.base); } double calcolaperimetro (struct rettangolo r) return (2.0 * r.base * r.altezza); } Typedef: semplificare una dichiarazione.. Una typedef può essere utilizzata per semplificare la dichiarazione di un tipo di dato composto (struct, union) oppure di un puntatore. struct var int data1; int data2; char data3; }; Sopra è stato definito il tipo di dato struct var. Per dichiarare una variabile di questo tipo, in C, è richiesto l'uso della parola chiave struct (questo non vale per il C++): struct var a; Una typedef può essere utilizzata per eliminare la necessità di ripetere la parola struct. Per esempio con: typedef struct var newtype; ora possiamo creare una variabile di questo tipo con:: newtype a; Si noti che la definizione della struttura e la typedef possono essere combinate in una singola istruzione: typedef struct var
12 int data1; int data2; char data3; } newtype;
Dispensa di Informatica II.6
STRUTTURE La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la creazione di strutture e la loro gestione dinamica nel linguaggio C / C ++ La struttura ( struct ) Le strutture
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
DettagliImplementazione di Liste puntate
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Implementazione di Liste puntate 2 1 Indice Liste puntate semplici: Gli elementi sono logicamente
DettagliGli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
DettagliLe strutture. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA
UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I" Prof. Franco FRATTOLILLO Dipartimento di Ingegneria Università degli Studi del Sannio Le strutture
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 2
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
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi
DettagliLezione di Laboratorio di Prgrammazione: /04/2019 a.a. 2018/2019 R.Prevete
Lezione di Laboratorio di Prgrammazione: 15 09/04/2019 a.a. 2018/2019 R.Prevete Dati aggregati: struct Dicharazione di struttura con identificatore: struct { ;
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
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Implementazioni di Liste Puntate Semplici Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica 13917 murano@na.infn.it
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
DettagliARRAY DI PUNTATORI. ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori
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
DettagliCorso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Strutture e Unioni DD Cap. 10, pp. 379-391, 405-406 KP Cap. 9, pp. 361-379 Strutture Strutture Collezioni di variabili correlate (aggregati)
DettagliProf. G. Ascia. I puntatori. Fondamenti di Informatica
I puntatori 1 Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
DettagliAssociazione Variabile-Indirizzo
I puntatori Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
DettagliCapitolo 10 - Strutture
1 Capitolo 10 - Strutture Strutture In molte situazioni, una variabile non è sufficiente per descrivere un oggetto. Ad esempio, una posizione sul piano cartesiano è identificata da due coordinate, e la
DettagliCorso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico 2008/2009 Francesco Tortorella
Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico Francesco Tortorella Le strutture Gli array permettono la sola aggregazione di variabili dello stesso tipo. Quindi
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliCostruire nuovi tipi Strutture,enumerazioni,unioni e typedef
Il linguaggio C++ Costruire nuovi tipi Strutture,enumerazioni,unioni e typedef Tipi definiti dall utente 1 Dichiarazione di tipo Tipi semplici User-Defined 2 Tipi semplici User-Defined Tipi semplici User-Defined
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,
DettagliPREPARAZIONE DI UN PROGRAMMA
PREPARAZIONE DI UN PROGRAMMA Il linguaggio C rende disponibili al programmatore: (1) Variabili (2) Operatori (3) La libreria standard (-> funzioni che estendono le potenzialità del linguaggio) (1) Le variabili
DettagliTipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
DettagliLa copia di un file. contare di quanti caratteri sia composto il file (e quindi determinare la dimensione del file di origine)
La copia di un file Nell'esercizio di oggi cerchiamo di implementare un programma che permetta di effettuare la copia di un file di testo. L'operazione di copia, oltre a permettere di creare un nuovo file
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
DettagliLe strutture /1. struct temp {char titolo[200]; char autore[100]; int pagine; } ; typedef struct temp libro;
Le strutture /1 Le strutture rappresentano un tipo di variabile che, diversamente dagli array, consente di gestire in modo compatto, mediante un'unico identificatore, un insieme di valori che non possiedano
DettagliStrutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.
Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli
Dettaglidefinisce un vettore di 4 puntatori a carattere (allocata memoria per 4 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 (allocata
DettagliFondamenti di Informatica 12. 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 Fondamenti di Informatica 12. Linguaggio C -4 Strutture Dati
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
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
DettagliIntroduzione alla programmazione. Alice Pavarani
Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Array. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Array Anno Accademico 2010/2011 Francesco Tortorella Gli array In alcuni casi, l informazione che bisogna elaborare consiste di un aggregazione di valori, piuttosto
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
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
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;
DettagliLinguaggio C: PUNTATORI
Linguaggio C: PUNTATORI I puntatori sono una delle più importanti caratteristiche del linguaggio C. Permettono di lavorare a basso livello, mantenendo flessibilità e praticità. Il C utilizza molto i puntatori
DettagliTipi derivati. Strutture Matrici typedef enum
Tipi derivati Strutture Matrici typedef enum Le strutture Una struttura, o struct, è un tipo di dato derivato che permette di aggregare un insieme di elementi, detti campi, all'interno di un unica entità
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 27 Giugno 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int i; Scrivere la porzione di codice che sostituisca
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
DettagliStrutture Dati. Luca Abeni
Strutture Dati Luca Abeni Dati e Tipi di Dati Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti byte di memoria la variabile è
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
DettagliCorso di Programmazione I
Corso di Programmazione I I puntatori in C e C++ I puntatori in C Il C prevede puntatori a funzione e puntatori a dati di qualsiasi natura, semplici o strutturati. In particolare il puntatore viene utilizzato
DettagliStrutture, Unioni, Enumerazioni in C. Emilio Di Giacomo
Strutture, Unioni, Enumerazioni in C Emilio Di Giacomo Strutture Una struttura è una collezione di variabili raggruppate sotto uno stesso nome da questo punto di vista è simile a un array Le variabili
DettagliGli array Libro cap. 6 Moreno Marzol a Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Gli array Libro cap. 6 Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Array 2 Ringraziamenti prof. Stefano Mizzaro, Università
DettagliUnità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.
Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;
DettagliIntroduzione al linguaggio C
Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,
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
DettagliArray k-dimensionali
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Array k-dimensionali In C è possibile definire array con più dimensioni (ANSI C massimo k=12), per
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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
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
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
DettagliESERCIZIO: SHIFT ARRAY (1)
ARRAY E STRINGHE ARRAY ESERCIZIO: SHIFT ARRAY (1) Utilizzando le funzioni scrivere un programma che: genera una sequenza di N = 20 numeri interi e li memorizza in un array ( riempi_array( )) visualizza
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
DettagliIntroduzione al C++ (continua)
Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x
DettagliI tipi di dato strutturato sono dichiarabili in C tramite la parola chiave typedef
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione della definizione di matrici, strutture e di tipi, oltre ad un riepilogo sulla codifica dei numeri
DettagliAppunti di informatica. Lezione 8 anno accademico Mario Verdicchio
Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione
DettagliLinguaggio C: Variabili e assegnamento e semplici comandi di I/O
Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma
DettagliImpariamo a programmare in. Lezione 7
Impariamo a programmare in Ancora Stringhe Sequenze di escape Proviamo a stampare una stringa che contiene delle virgolette Hello, World! // NON FUNZIONA! System.out.println("Hello, "World"!"); Il compilatore
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliStruttura dei programmi e Variabili
Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita
DettagliStrutture come parametri di funzioni
Strutture come parametri di funzioni int main() { struct PolReg { int numlati; float lunghezzalato; PolReg p1; p1.numlati = 3; p1.lunghezzalato = 10.0; float perimetro = p1.numlati * p1.lunghezzalato;
DettagliDefinizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
DettagliI Metodi. Fondamenti di Informatica A-K
I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,
Dettagli8 maggio Le lezioni di giovedi 9 maggio e giovedi 16 maggio saranno tenute dalla dott.ssa Di Ianni. Vediamo le vostre soluzioni per
8 maggio 2002 Avvisi: Le lezioni di giovedi 9 maggio e giovedi 16 maggio saranno tenute dalla dott.ssa Di Ianni. Vediamo le vostre soluzioni per Esercizio 6.28 (Eliminazione dei duplicati) Scrivere un
DettagliLe strutture /2. Iniziamo ora a progettare il codice per la gestione del database. Quali sono le funzionalità da implementare?
Le strutture /2 Iniziamo ora a progettare il codice per la gestione del database. Quali sono le funzionalità da implementare? Per ora è possibile gestire l'elenco dei libri (e quindi delle strutture) mediante
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 14 Febbraio 2006 Esercizio 1 (4 punti) Formulare la seguente istruzione del linguaggio C utilizzando il costrutto while: for(i=0,j=n-1; i
DettagliLe strutture in C. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni
Le strutture in C Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni I dati strutturati o definiti dall utente Nel linguaggio C è possibile definire tipi di dati detti strutturati
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
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
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
DettagliLe strutture /3. Riprendiamo ora la struttura definita alcune lezioni fa e completiamo il set di funzioni che servono per gestire un elenco di libri.
Le strutture /3 Riprendiamo ora la struttura definita alcune lezioni fa e completiamo il set di funzioni che servono per gestire un elenco di libri. typedef struct {char titolo[200]; char autore[100];
DettagliARRAY E TYPEDEF. A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C
A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C Es typedef ; typedef char stringa[10]; dichiara che il tipo stringa è un array
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 19 14/04/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 19 14/04/2014 Puntatori I puntatori sono tipi di dati che rappresentano la posizione (indirizzi di memoria) di elementi (oggetti)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliMatrici (array bidimensionali)
Matrici (array bidimensionali) Un array bidimensionale, anche detto matrice, è una variabile strutturata tale che: gli elementi sono tutti dello stesso tipo e il meccanismo di accesso (diretto) ai suoi
DettagliStrutture Dati. Nicu Sebe. Informatica Nicu Sebe 1 / 27
Strutture Dati Nicu Sebe Informatica Nicu Sebe 1 / 27 Dati e Tipi di Dati e Spazi Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti
DettagliLABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!
LABORATORIO 7 ARRAY Esercizio Minimo Massimo Media Scrivere un programma che chieda all'utente di inserire un numero intero n, e quindi chieda di inserire n numeri interi. Dopo aver salvato i numeri inseriti
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
DettagliIl linguaggio C funzioni e puntatori
Salvatore Cuomo Il linguaggio C funzioni e puntatori Lezione n. 8 Parole chiave: Linguaggio C, procedure, funzioni. Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliLaboratorio 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
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
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
DettagliLaboratorio di algoritmi e strutture dati
Laboratorio di algoritmi e strutture dati G. Melideo CdL in Informatica A.A. 2009/2010 G. Melideo (CdL in Informatica) Laboratorio di algoritmi e strutture dati A.A. 2009/2010 1 / 23 Indice 1 Richiami
DettagliVariabili e input/ Alessandra Giordani Lunedì 18 marzo
Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile
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
DettagliInformatica 7. appunti dalle lezioni del 20 e 22/10/2010
Informatica 7 appunti dalle lezioni del 20 e 22/10/2010 Tipi di dato Nelle celle di memoria di un calcolatore ci sono solo 0 e 1, fisicamente realizzati tramite due diversi livelli di tensione elettrica
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
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliCostruiamo un'immagine o qualcosa di simile.
Costruiamo un'immagine...... o qualcosa di simile. Se consideriamo la C che si trova in fondo a destra, ci accorgiamo che un'immagine non è altro che una tabella di valori. Nel caso in cui si consideri
DettagliStrutture. struct [<etichetta>] { { <definizione-di-variabile> } } <nomestruttura>
Strutture Una struttura è una collezione finita di dati anche eterogenei (non necessariamente dello stesso tipo), ognuna identificata da un nome Definizione di una variabile di tipo struttura: struct []
DettagliIl sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
DettagliApplicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori:
Le tabelle In C, dato un tipo di variabile, è possibile costruire un array di variabili di tale tipo usando la dichiarazione (facendo l esempio per il tipo float): float vettore[100]; Applicando lo stesso
DettagliVariabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
Dettagli