Gli ARRAY. Corso di Programmazione Cefi Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gli ARRAY. Corso di Programmazione Cefi Informatica"

Transcript

1 VB.NET Gli ARRAY Gli array a una dimensione Gli array, o vettori, sono spazi di memoria in cui vengono immagazzianti in massa più variabili dello stesso tipo, accessibili tramite un indice. Prendiamo un problema semplice che capita spesso: la struttura del programma richiede che siano utilizzate moltissime variabili dello stesso tipo. Quello che verrebbe spontaneo scrivere a una persona che non conosce gli array è: Il programmatore navigato, invece, dichiara un array, molto più semplice, molto più sicuro, molto più maneggevole. La sintassi con cui si dichiara in generale un array è questa: 1

2 Il tipo Array Si può dichiarare e inizializzare un array usando questo costrutto: Dim frase() as String={ Buongiorno, a, tutti } Il Visual basic.net consente di definire gli array in diversi modi. È possibile dichiarare un array come variabile di tipo Array: Dim arr as Array Questa potrebbe essere definita come un array non tipizzato: ogni elemento d questo array può contenere dati di qualsiasi tipo,e in effetti è possibile assegnare a questo array un array di qualsiasi tipo.per esempio, il codice che segue assegna all array un array di valore di tipo Integer: Dim arr as Array Dim a() as Integer={12,16,20} arr=ctype(a,array) Gli array È possibile invece definire un array che contiene solo dati di un tipo definito. Per esempio: Dim nome() as String={ pino, mario, giovanni } Dim valore(3) as Integer Dim miscdata() as Object={ this,12d, a c} Dim objarray() as Object miscdata e objarray sono array di tipo Object;i singoli membri possono essere di qualsiasi tipo di dati, ma si possono assegnare loro solo array di tipo riferimento. Per esempio, l assegnazione: objarray=valore mi genera un errore perché l array valore è di tipo intero e un integer non è un tipo riferimento. Invece l assegnazione objarray=nome è esatta perchè il tipo String è di riferimento 2

3 La classe System.Array (1/2) La classe System.Array (2/2) Nota: alcuni metodi comprendono argomenti molto avanzati come i Generics e i Delegate che studieremo nelle prossime dispense 3

4 Le matrici Le matrici in VB.net vengono rappresentate in questo modo: Dim A( 3,4) dove 3 e 4 sono le dimensioni dell array. Esempio: Dim a(, ) as Object Matrice non inizializzata a due dimensioni Dim b(200,2) as Object Matrice non inizializzata a due dimensioni con 201 e 3 elementi Tutte le matrici di Vb.net sono derivate dal tipo System.Array nella libreria del framework.net. Esempio: Dim mioarr as Array mioarr=array.createistance(gettype(integer),10) Il Redim In Vb.net gli array sono già dinamiche, ossia è possibile modificarne il numero di elementi in una determinata dimensione, senza dover specificare in anticipo che l array è di tipo dinamico. Per esempio in V6 per creare un array dinamico si doveva dichiarare un array non inizializzato, con un codice come questo: Dim arr() as Integer Index=10 Redim preserve arr(index) Invece con Vb.net, non occorre dichiarare un array non inizializzata;per cui il codice semplificato è: Dim index as Integer=10 Dim arr(index) as Integer index=20 Redim preserve arr(index) 4

5 La struttura For Each Il For Each è una struttura iterativa studiata per iterare attraverso array e collection di elementi in modo semplice. Sintassi: Gli array come campi struttura Gli array dichiarati come campi di strutture non possono avere un indice specificiato, ma devono rimanere del tutto indeterminati. L'unico modo in cui è possibile determinare le dimensioni dell'array è ridimensionarlo successivamente alla dichiarazione di una variabile struttura: 5

6 La classe arraylist (1/2) L'arraylist è una classe, pertanto si istanzia come tale con la consueta sintassi: Come l'array, possiamo accedere a ogni suo elemento tramite un indice: La classe arraylist (2/2) 6

7 Esempio HashTable L'Hashtable lavora quasi allo stesso modo, ma, invece di avere ogni elemento contraddistinto da un indice (numerico), ha ogni elemento contraddistinto da una chiave (stringa) che bisogna specificare come secondo parametro nella procedura Add e come unico parametro in Remove. Tuttavia ci sono alcuni metodi non presenti in un ArrayList, tra i quali troviamo: ContainsKey(x) / ContainsValue(x) : restituisce vero se la chiave o il valori specificati sono presenti nell'hashtable Keys / Values : restituisce un collezione di tutte le chiavi o di tutti i valore presenti nell'hashtable. Quindi non è possibile modificare nè inserire alcun valore da queste collezioni, ma solo leggerne 7

8 SortedList La potenza delle SortedList sta nel fatto che possono mantenere la lista degli elementi ordinata secondo la chiave: come l'hashtable, anche sortedlist supporta due array di chiavi e valori associati. Usa gli stessi metodi di hashtable e ne implementa altri: GetByIndex(I) / GetKey(I) : restituisce il valore o la chiave posizionati all'indice I IndexOfKey(O) / IndexOfValue(O) : restituisce l'indice della chiave O o del valore O La SortedList ordina gli elementi confrontando le chiavi in modo Case-Sensitive, quindi le maiuscole e le minuscole vengono considerate lettere differenti. Conversione di dati Il Framework.Net è in grado di eseguire conversioni automatiche a runtime verso tipi di ampiezza maggiore, per esempio è in grado di convertire Int16 in Int32, Char in String, Boolean in Byte e via dicendo. Queste operazioni di conversione vengono dette widening (dall'inglese wide = largo), ossia che depongo un valore contenuto in una variabile che occupa dello spazio in una che ne occupa di più. Fin qui nessun problema. Gli operatori di conversione servono per eseguire conversioni che vanno nella direzione opposta, e che sono quindi, narrowing (dall'inglese narrow = stretto). Queste ultime possono comportare la perdita di dati e perciò generano un errore se implicite. 8

9 L operatore Ctype (1/2) CType è l'operatore di conversione universale e permette la conversione di qualsiasi tipo in qualsiasi altro tipo, almeno quando questa è possibile. La sintassi è molto semplice: L operatore Ctype (2/2) Questa lista riporta alcuni casi in cui è bene usare esplicitamente l'operatore di conversione CType: Per convertire un valore intero o decimale in un valore booleano Per convertire un valore Single o Double in Decimal Per convertire un valore intero con segno in uno senza segno Per convertire un valore intero senza segno in uno con segno della stessa ampiezza (ad esempio da UInt32 a Int32). Oltre a CType, esistono moltissime versioni più corte di quest'ultimo che convertono in un solo tipo: CInt converte sempre in Int32, CBool sempre in booleano, CByte in byte, Cshort in Int16, etc..è inopportuno utilizzare CStr poichè ci si può sevire della funzione ToString ereditata da ogni classe da System.Object; allo stesso modo, è meglio evitare CDate, a favore di Date.Parse, come si vedrà nella lezione relativa alle date. 9

10 Type of TypeOf serve per controllare se una variabile è di un certo tipo, deriva da un certo tipo o implementa una certa interfaccia, ad esempio: 10

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni C#: Strumento Principe per.net Primo linguaggio orientato alle componenti della famiglia C/C++ Tutto è DAVVERO un oggetto

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi 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

Dettagli

Linguaggio Macchina. Numeri binari. E il linguaggio che il microprocessore comprende. In Esadecimale

Linguaggio Macchina. Numeri binari. E il linguaggio che il microprocessore comprende. In Esadecimale Linguaggio Macchina Numeri binari In Esadecimale E il linguaggio che il microprocessore comprende 1 Numeri Esadecimali Sono composti con 16 simboli: 0 1 2 3 4 5 6 7 8 9 A B C D E F Un numero di 4 cifre

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo.

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. int a = 5; a 5 α=&a Esistono in C particolari variabili dette puntatori che possono

Dettagli

Gli Array. Dichiarazione di un array

Gli 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

Dettagli

Quando è necessario elaborare una certa quantità di dati omogenei si possono usare variabili indicizzate: int a0, a1, a2;

Quando è 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

Dettagli

VARIABILI E COSTANTI

VARIABILI E COSTANTI VB.NET VARIABILI E COSTANTI Applicazione Console Per creare una Applicazione Console bisogna selezionare dal menù File del compilatore, la voce Nuovo progetto, e quindi selezionare il tipo di applicazione

Dettagli

PREPARAZIONE DI UN PROGRAMMA

PREPARAZIONE 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

Dettagli

Tipi derivati: Array

Tipi 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

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito

Dettagli

Corso di PHP. Prerequisiti. 2.1 Variabili. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.

Corso di PHP. Prerequisiti. 2.1 Variabili. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2. Corso di PHP 2.1 Variabili 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo più in particolare gli strumenti di base

Dettagli

Informatica 7. appunti dalle lezioni del 20 e 22/10/2010

Informatica 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

Dettagli

ALGORITMI E STRUTTURE DATI

ALGORITMI E STRUTTURE DATI Esercitazioni del corso di: ALGORITMI E STRUTTURE DATI Tutor: Francesca Piersigilli email: francesca.piersigilli@unicam.it Strutture dati elementari Tecniche di organizzazione dei dati: scelta della struttura

Dettagli

PROCEDURE E FUNZIONI

PROCEDURE E FUNZIONI VB.NET PROCEDURE E FUNZIONI La sintassi Non sempre le procedure e le funzioni fornite dal Vb.Net bastano a soddisfare le nostre necessità di programmazione, quindi si possono scrivere nuove procedure e

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Puntatori a funzioni 1 Funzioni che restituiscono puntatori Il valore di ritorno restituito da una funzione può essere di qualsiasi tipo, compreso il tipo puntatore.

Dettagli

Dati due punti sul piano calcolare la loro distanza

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

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE TIPI VALORE E TIPI RIFERIMENTO DISPENSA 05.03 05-03_Tipi_Rif_e_Val_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative

Dettagli

Dispensa di Informatica II.6

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

Dettagli

Corso di PHP. Prerequisiti. 4.1 Array sequenziali. Variabili semplici Operazioni su variabili Strutture di controllo

Corso di PHP. Prerequisiti. 4.1 Array sequenziali. Variabili semplici Operazioni su variabili Strutture di controllo Corso di PHP. Array sequenziali // Prerequisiti Variabili semplici Operazioni su variabili Strutture di controllo // Introduzione In molte situazioni reali può capitare di elaborare elenchi di dati di

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili 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

Dettagli

I tipi strutturati e i record in C++

I 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

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T -Struttura vettore 0/08/0 Prerequisiti Programmazione elementare Passaggio parametri per indirizzo 0/08/0 Introduzione I dati di tipo semplice (Intero, Reale, Carattere, Booleano)

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Elda Rossi, CINECA Marzo 2015 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile mediante indici numerici.

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to modern Fortran Paolo Ramieri, CINECA Maggio 2016 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile mediante indici

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli

Prof. G. Ascia. I puntatori. Fondamenti di Informatica

Prof. 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

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61 Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli

Dettagli

Variabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Variabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.

Strutture. 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

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA 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

Dettagli

Programma... Autoboxing / unboxing Array Classe Rettangolo / classe Quadrato / Gerarchia e ereditarietà. Laboratorio di Programmazione - Esercitazio 1

Programma... Autoboxing / unboxing Array Classe Rettangolo / classe Quadrato / Gerarchia e ereditarietà. Laboratorio di Programmazione - Esercitazio 1 Programma... Autoboxing / unboxing Array Classe Rettangolo / classe Quadrato / Gerarchia e ereditarietà. Laboratorio di Programmazione - Esercitazio 1 Unboxing e autoboxing (per la classe Integer) Unboxing

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Tipi di dato semplici

Tipi 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

Dettagli

Associazione Variabile-Indirizzo

Associazione 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

Dettagli

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3) Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Massimiliano Guarrasi, CINECA m.guarrasi@cineca.it Ottobre 2014 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 10 Lezione 10 1 Inside C : Puntatori Puntatori Referenziazione e Dereferenziazione Pointers: Puntatori Le variabili finora incontrate sono caratterizzate da

Dettagli

Variabili dinamiche. Obiettivi: Presentare le variabili dinamiche, allocate e deallocate nell area HEAP, e le funzioni malloc e free

Variabili dinamiche. Obiettivi: Presentare le variabili dinamiche, allocate e deallocate nell area HEAP, e le funzioni malloc e free Variabili dinamiche Obiettivi: Presentare le variabili dinamiche, allocate e deallocate nell area HEAP, e le funzioni malloc e free 1 Tipi di variabili in C In C è possibile classificare le variabili in

Dettagli

Array. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Array. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Introduzione al C++ (continua)

Introduzione 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

Dettagli

Gerarchia di classi Java 1

Gerarchia di classi Java 1 Specializzare un modello Gerarchia di classi Java Corso di laurea in Una classe modella un pezzo di realtà Una macchina, una moneta, un impiegato Spesso è necessario specializzare la versione originale

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class

Dettagli

Riprendiamo l esercizio calcolatrice

Riprendiamo l esercizio calcolatrice Riprendiamo l esercizio calcolatrice Scrivere un programma calcolatrice che legga da tastiera due variabili intere a e b, poi Stampi un menu con un valore numerico associato a quattro operazioni possibili:

Dettagli

Excel & VBA. Excel e Visual Basic for Application

Excel & VBA. Excel e Visual Basic for Application Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria

Dettagli

Allocazione dinamica della memoria

Allocazione dinamica della memoria Allocazione dinamica della memoria Memoria stack ed heap (1) L'area di memoria stack é quella in cui viene allocato un pacchetto di dati non appena l'esecuzione passa dal programma chiamante a una funzione.

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

Dettagli

Introduzione Generalitá sull uso degli array Array allocabili Funzioni intrinseche. Array. Fondamenti di Informatica T (A-K) AA

Introduzione Generalitá sull uso degli array Array allocabili Funzioni intrinseche. Array. Fondamenti di Informatica T (A-K) AA allocabili AA 2013-2014 allocabili Introduzione Un array rappresenta un gruppo di variabili (o costanti) dello stesso tipo, a cui si fa riferimento con un singolo nome. Si definisce anche vettore un array

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

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

Dettagli

TIPI PRIMITIVI E CLASSI WRAPPER

TIPI PRIMITIVI E CLASSI WRAPPER I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende

Dettagli

Variabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Variabili. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto

Dettagli

Programmazione in Java (I modulo) Lezione 4

Programmazione in Java (I modulo) Lezione 4 Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche

Dettagli

! Per quanto sappiamo finora, in C le variabili sono sempre definite staticamente

! Per quanto sappiamo finora, in C le variabili sono sempre definite staticamente ! Per quanto sappiamo finora, in C le variabili sono sempre definite staticamente!!la loro esistenza deve essere prevista e dichiarata a priori! Questo può rappresentare un problema soprattutto per variabili

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Corso di Programmazione I

Corso 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

Dettagli

Il linguaggio C. Puntatori e dintorni

Il 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;

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

Dettagli

Java Classi wrapper e classi di servizio. Classi di servizio

Java Classi wrapper e classi di servizio. Classi di servizio Java Classi wrapper e classi di servizio 1 Classi wrapper Concetti di base In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti. Una classe wrapper (involucro) incapsula

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE ALTRE COLLEZIONI DI DATI DISPENSA 11.03 11-03_Altre_Liste_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative Common

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

Variabili e tipi di. Alessandra Giordani Lunedì 11 aprile

Variabili e tipi di. Alessandra Giordani Lunedì 11 aprile Variabili e tipi di dato in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 11 aprile 2011 http://disi.unitn.it/~agiordani/ Stringhe Un altro tipo di insieme che vorremmo poter rappresentare è quello

Dettagli

ArrayList. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

ArrayList. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni ArrayList Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni ArrayList Sotto diversi aspetti un ArrayList può essere considerato come un array migliore. I Miglioramenti sono

Dettagli

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

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

Dettagli

Le 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? 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

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013 Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione 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

Dettagli

Le strutture /1. struct temp {char titolo[200]; char autore[100]; int pagine; } ; typedef struct temp libro;

Le 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

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione

Dettagli

Parametri by reference. Funzioni. Passaggio dei parametri. Parametri by reference. Soluzione. Problemi

Parametri by reference. Funzioni. Passaggio dei parametri. Parametri by reference. Soluzione. Problemi Funzioni Introduzione Operatori & e * Passaggio by reference Passaggio di vettori Esercizio strcpy 2 Passaggio dei parametri Il linguaggio C prevede il passaggio di parametri by value Il chiamato non può

Dettagli

&v restituisce l indirizzo della zona di memoria allocata per v.

&v restituisce l indirizzo della zona di memoria allocata per v. Puntatori Sia v una variabile di tipo T. Al momento della creazione della variabile v il sistema alloca memoria sufficiente a contenere i valori appartenenti al tipo T. &v restituisce l indirizzo della

Dettagli

Introduzione al linguaggio C

Introduzione 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,

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione 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

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

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

Dettagli

Indovina la lettera...

Indovina la lettera... Indovina la lettera... La lezione di oggi consiste nel preparare un programma che chiede all'utente di indovinare quale sia il carattere generato dal programma stesso in modo casuale. Il numero totale

Dettagli

Impariamo a programmare in. Lezione 7

Impariamo 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

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

Conoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione

Conoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione 1 Conoscere l uso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali classi di Collection usare in casi specifici Conoscere

Dettagli

Java Classi wrapper e classi di servizio. Classi di servizio

Java Classi wrapper e classi di servizio. Classi di servizio Java Classi wrapper e classi di servizio 1 Ereditarietà - recap Una classe può derivare da un altra - extends Eredita metodi e attributi (non i costruttori) Aggiunge attributi e metodi, ma può anche ridefinire

Dettagli