INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C"

Transcript

1 INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C DESCRIZIONE GENERALE In questa esperienza il C verrà utilizzato per elaborare immagini bitmap con codifica dei colori RGB si riveda la teoria in proposito. In particolare verranno sviluppate alcune funzioni per effettuare delle trasformazioni dell immagine, quali ad esempio il passaggio da colori a bianco e nero (o meglio scala di grigi). A questo scopo nel sito è disponibile una libreria (file Immagini.h e Immagini.c) unitamente ad un file contenente il main (main.c) che include il codice per permettere all utente di selezionare la funzione da eseguire. La libreria mette a disposizione il seguente tipo di dato per rappresentare un pixel: typedef struct{ unsigned char blue; unsigned char green; unsigned char red; } Pixel; in cui i campi blue, green, red, che possono assumere valori compresi tra 0 (min) e 255 (max), rappresentano il colore del pixel secondo la codifica RGB con 24 bit per pixel (8 bit per colore). Un immagine deve essere rappresentata mediante una matrice di elementi di tipo Pixel: Pixel Immagine[MAX_X][MAX_Y]; dove MAX_X e MAX_Y sono costanti che corrispondono alle dimensioni massime dell immagine rappresentabile (si ricorda che nel C standard le dimensioni dei vettori sono fissate). In particolare, l immagine reale è contenuta in una sottomatrice di dimensioni px*py (dove px<=max_x, py<=max_y) secondo la seguente figura: (0,0) (px-1,0) (0,py-1) (px-1,py-1) Matrice Immagine

2 L esercitazione prevede di elaborare la matrice che rappresenta l immagine per ottenere alcuni effetti descritti in seguito. Il programma NON sarà in grado di visualizzare le immagini: per vedere il risultato delle elaborazioni, si salverà l immagine in un file.bmp per mezzo della libreria fornita, in modo da poter poi visualizzarla mediante un qualsiasi programma di visualizzazione (e tipicamente di elaborazione) di immagini. DESCRIZIONE FUNZIONI DI LIBRERIA Mediante le funzioni della libreria, è possibile salvare la matrice in un file.bmp (visualizzabile praticamente da tutti i popolari programmi di visualizzazione immagini) e viceversa caricare nella matrice un immagine da un file.bmp (nella sua forma più semplice - senza uso di palette). Le immagini che possono essere caricate mediante la libreria (oltre a quella del file tramonto.bmp fornita sul sito), possono essere generate dai popolari programmi di gestione immagini. Ad esempio, utilizzando paint una qualunque immagine può essere salvata in un formato compatibile con la libreria selezionando Bitmap a 24 bit (.*bmp, *.dib). Divertitevi a sperimentare le funzioni implementate sulle immagini più varie La libreria mette a disposizione le 3 funzioni descritte di seguito (si veda il main.c per un esempio di utilizzo). int salva_immagine(const char *nomefile, Pixel Imm[][], int px, int py, int MY); /* salva un'immagine (contenuta in una matrice di Pixel) in un file (formato bitmap senza palette). Riceve in ingresso: const char *nomefile: la stringa contenente il nome del file in cui salvare l'immagine Pixel Imm[][]: il nome della matrice (di Pixel) in cui e' rappresentata l'immagine int px: il numero dei pixel orizzontali (cordinata x) dell'immagine int py: il numero dei pixel verticali (coordinata y) dell'immagine int MY: il numero di colonne della matrice Imm, in MY. Restituisce 0 se ok, 1 se errore in fase di salvataggio. NB: la funzione non effettua alcun controllo sulle dimensioni della matrice */ int dimensioni_immagine(const char *nomefile, int *x, int *y); /* esamina un file che si suppone contenere un'immagine in formato bitmap semplice (no palette) e restituisce le dimensioni in pixel x*y dell'immagine (attraverso due puntatori). Riceve in ingresso: const char *nomefile: la stringa contenente il nome del file contenente l'immagine int *x: l'indirizzo della variabile in cui la funzione memorizza il valore x int *y: l'indirizzo della variabile in cui la funzione memorizza il valore y Restituisce 0 se ok, 1 se viene rilevato un errore. */ int carica_immagine(const char *nomefile, Pixel Imm[][], int MY); /* carica un'immagine da un file in formato bitmap semplice (no palette) in una matrice di pixel. Riceve in ingresso: const char *nomefile: la stringa contenente il nome del file contenente l'immagine da caricare

3 Pixel Imm[]: il nome della matrice (di Pixel) in cui salvare l'immagine int MY: il numero di colonne della matrice Imm. Restituisce 0 se ok, 1 se errore in fase di caricamento. NB: la funzione non effettua alcun controllo sulle dimensioni della matrice, il programmatore deve assicurarsi che la matrice sia sufficientemente capiente per memorizzare l immagine. */ OPERAZIONI PRELIMINARI 1) Creare una directory in cui si salverà il progetto. 2) Scaricare nella directory creata i tre file Immagini.c, Immagini.h, main.c e tramonto.bmp disponibili sul sito. 3) Accedere a DEVC++ e creare un nuovo progetto empty (vuoto) da salvare nella stessa directory. 4) Aggiungere al progetto i due file Immagini.c e main.c (non Immagini.h e tramonto.bmp) mediante Project/Add to Project 5) Compilare (Execute/Rebuild All) ed eseguire (Execute/Run) il codice: attraverso il programma, provare a caricare l immagine tramonto.bmp e a salvarla con un altro nome (es. tramonto2.bmp). 6) A questo punto nella directory del progetto dovreste trovare il nuovo file: visualizzare l immagine in esso contenuta (uguale a quella di partenza) con un programma di visualizzazione immagini. 7) Esaminare il file main.c (vedi note successive). Nel file main.c è già stato sviluppato un programma che implementa l interazione con l utente, consentendogli di scegliere entro diverse opzioni. La struttura del main è caratterizzata dai seguenti aspetti: Vengono definite le costanti MAX_X e MAX_Y mediante la direttiva #define (potete cambiarne i valori come desiderate). Vengono dichiarate le funzioni per le elaborazioni delle immagini mediante i loro prototipi Viene definita come variabile globale la matrice IMM contenente l immagine corrente (quella su cui si lavora), unitamente alle variabili px e py che tengono traccia delle dimensioni dell immagine stessa. NB: si poteva definire IMM come variabile locale all interno del main, tuttavia, per motivi legati al compilatore, questa scelta può - nel caso di matrici di dimensioni elevate - dare origine ad errori in fase di esecuzione. Nota: viene definita anche un altra matrice TEMP utile per salvare temporaneamente l immagine. Si entra in un ciclo infinito in cui il programma continua a chiedere all utente una scelta (es: crea immagine di prova, carica immagine, ecc.). A seconda della scelta, il programma chiede eventuali dati all utente ed invoca una funzione opportuna. Il programma utilizza la struttura switch-case, facilmente comprensibile ad una prima lettura del codice. Si esaminino in particolare l opzione c (caricamento di un immagine) che sostituisce l immagine corrente con una caricata da file e l opzione s (salvataggio di un immagine) che salva l immagine corrente in un file. Si noti che la dimensione corrente dell immagine è mantenuta nelle variabili globali px e py Come visto, sono già implementati il caricamento ed il salvataggio delle immagini, mentre le funzioni di elaborazione delle immagini sono correttamente definite ed invocate ma hanno il corpo vuoto (contiene solo la stampa di un messaggio).

4 ESERCITAZIONE DA SVOLGERE Scrivere e sperimentare le funzioni per elaborare l immagine corrente descritte di seguito (le funzioni sono presentate in ordine di difficoltà crescente). Nota: non si devono gestire più immagini: il caricamento di un file sostituisce l immagine corrente, così pure la creazione dell immagine di prova. Le trasformazioni intervengono sempre sull immagine corrente. 1) Trasformazione dei colori dell immagine complementando le componenti : per ciascun pixel, la componente blu dovrà diventare 255-blu, la componente verde dovrà diventare 255-verde, la componente rossa 255-rosso. void compl_color(pixel Im[][MAX_Y], int x, int y); //ingresso: Im è la matrice, x e y sono le dimensioni dell immagine corrente 2) Trasformazione dei colori dell immagine in bianco e nero, o meglio in tonalità di grigio. Si ricordi come è rappresentato il bianco, come è rappresentato il nero e quali sono i colori corrispondenti ai grigi: un modo semplice è attribuire, per ogni pixel, la media delle tre componenti di colore a ciascuna di esse. void bianco_nero(pixel Im[][MAX_Y], int x, int y); //ingresso: Im è la matrice, x e y sono le dimensioni dell immagine corrente 3) Trasformazione dei colori dell immagine in modo che siano avvicinati ad un determinato colore focale scelto dall utente (il quale ne indicherà le tre componenti) secondo un certo grado α compreso tra 0 e 1 (anch esso scelto dall utente). Ad esempio, se l utente sceglie il verde allora tutti i colori dovranno essere avvicinati al verde, tanto più quanto maggiore è α (in particolare: se α=0 allora i colori rimangono inalterati, se α=1 allora l immagine diventa tutta verde). Suggerimento: si pensi a un colore come ad un punto nello spazio tridimensionale, identificato dalla terna delle sue componenti: avvicinare un colore al colore focale significa aggiungergli una parte del segmento che lo congiunge al colore focale stesso (la lunghezza è determinata da α). void FocusColor(Pixel Im[][MAX_Y], int x, int y, int bluef, int greenf, int redf, float alpha); //ingresso: Im è la matrice, x e y sono le dimensioni dell immagine corrente, bluef, greenf, redf, alpha rappresentano il colore focale ed il grado alpha. Esempio: immagine ottenuta da quella di prova focalizzandola sul verde (0, 255, 0):

5 4) Creazione di un immagine di prova di dimensioni scelte dall utente costituita da una serie di strisce verticali di dimensioni pari al 5% di px (in modo da ottenere circa 20 strisce), tali che: - i pixel della prima striscia hanno le componenti di colore pari a 0 per le componenti blu e verde, 255 per la componente rossa - i pixel della seconda striscia hanno tutte le componenti di colore pari a 0 - i pixel della terza striscia sono uguali alla prima, i pixel della quarta sono uguali alla seconda, ecc. ecc. In altre parole, le strisce pari hanno tutte lo stesso colore, le strisce dispari hanno tutte lo stesso colore. SUGGERIMENTO: la larghezza di ogni striscia è pari a px/20. Scorrete le colonne della matrice mediante un ciclo: per ciascuna colonna, usate la divisione per stabilire il numero della striscia cui appartiene è facile verificare se questo è pari o dispari ed attribuire i colori del pixel di conseguenza! void creaimmprova(pixel Im[][MAX_Y], int x, int y); //ingresso: Im è la matrice, x e y sono le dimensioni dell immagine da costruire (si suppone che px e py siano stati già aggiornati) 5) Trasformazione dell immagine in un immagine simmetrica rispetto all asse verticale centrale (vedi esempio successivo). Suggerimento: la prima colonna della matrice dovrà essere scambiata con l ultima, la seconda con la penultima cercate di realizzare la funzione senza l uso di una matrice temporanea! void simmetrica(pixel Im[][MAX_Y], int x, int y); //ingresso: Im è la matrice, x e y sono le dimensioni dell immagine corrente Esempio: immagine simmetrica rispetto a quella originaria

6 6) Squadrettatura dell immagine in quadrati di lato (in pixel) specificato dall utente (vedi esempio successivo). Nota: si tratta di un esercizio NON facilissimo! Pensate a come ottenere il colore uniforme in un quadratino Inoltre, l immagine non necessariamente include un numero esatto di quadratini void squadretto(pixel Im[][MAX_Y], int x, int y, int dim_quadro); //ingresso: Im è la matrice, x e y sono le dimensioni dell immagine corrente, dim_quadro è il lato (in pixel) del quadratino) ESEMPIO: La seguente è stata ottenuta per squadrettatura impostando una dimensione dei quadrati di 10 pixel per lato (nell esempio l immagine è più grande in modo che si vedano i quadrati, ma il programma NON deve modificare le dimensioni dell immagine in pixel): ALTRE IDEE PER APPASSIONATI: Definire una funzione che individua il numero di colori diversi che compongono un immagine. Ad esempio, l immagine di prova ottenuta sinteticamente contiene solo 4 colori (verde, blu, rosso e nero). Quanti colori diversi contiene l immagine del tramonto? A partire dall individuazione dei diversi colori (vedi funzione precedente), si potrebbe sviluppare un algoritmo che riduce il numero dei colori accorpando quelli che sono sufficientemente vicini tra loro. In questo modo si avrebbe una perdita di qualità non troppo evidente, con il vantaggio che la riduzione del numero dei colori potrebbe favorire la riduzione delle dimensioni del file (ad esempio usando una palette, NON gestita dal presente programma). Si usi la fantasia per sviluppare un algoritmo in tal senso meglio ancora se funzionante in base ad uno o più parametri scelti dall utente. Ogni altra funzionalità interessante inventata dallo studente

Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++

Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++ Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++ Università degli Studi di Brescia Elementi di Informatica e Programmazione Università di Brescia 1 Sviluppo di un programma C

Dettagli

Prof. Massimiliano Giacomin 22 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Prof. Massimiliano Giacomin 22 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 22 dicembre 2016 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per

Dettagli

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 21 dicembre 2017 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per

Dettagli

Principi di Programmazione Prova del 10/6/2008 (ore 10.30)

Principi di Programmazione Prova del 10/6/2008 (ore 10.30) Prova del 10/6/2008 (ore 10.30) Scrivere (commentandole) le linee di codice Matlab per costruire i seguenti vettori (5x1): e il vettore di numeri complessi C tali che il singolo elemento c k ha come parte

Dettagli

Prof. Massimiliano Giacomin 19 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Prof. Massimiliano Giacomin 19 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 19 dicembre 2018 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per

Dettagli

Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni. Prova Scritta 19 aprile 2007

Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni. Prova Scritta 19 aprile 2007 Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni Avvertenze Consegnare solo fogli formato A4. Scrivere su un solo lato (no fronte retro) In ordine di preferenza usare inchiostro nero,

Dettagli

Capitolo 10 - Strutture

Capitolo 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

Dettagli

Fondamenti di Informatica - Compito A

Fondamenti di Informatica - Compito A Fondamenti di Informatica - Compito A Prof. Marco Gavanelli 22 gennaio 2014 Le immagini con sfumature di grigio possono essere salvate in formato PGM. Nel formato PGM, le immagini sono rappresentate come

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2015

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 14.IX.2015 VINCENZO MARRA Indice Preliminari 2 Esercizio 1 2 Memorizzazione, lettura e visualizzazione

Dettagli

Esercitazioni di Informatica (CIV)

Esercitazioni di Informatica (CIV) Esercitazioni di Informatica (CIV) e Temi d esame Andrea Romanoni e-mail: andrea.romanoni@polimi.it website: http://home.deib.polimi.it/romanoni/ 10 dicembre 2015 Compilare il codice La sequenza di azioni

Dettagli

Rappresentazione di immagini

Rappresentazione di immagini Rappresentazione di immagini Il modo più immediato per rappresentare un'immagine è quello di considerarla suddivisa in un reticolo di punti detti pixel. Maggiore è il numero di pixel per unità di lunghezza

Dettagli

Titolo presentazione

Titolo presentazione Titolo presentazione Programmazione C: Esercizi su stringhe, funzionisottotitolo di libreria e matrici Milano, XX mese 20XX Informatica ed Elementi di Informatica Medica Agenda Argomenti e valore di ritorno

Dettagli

Lezione 6 Struct e qsort

Lezione 6 Struct e qsort Lezione 6 Struct e qsort Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Struct Struct Fino ad ora abbiamo utilizzato

Dettagli

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin

Dettagli

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

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.

Dettagli

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin

Dettagli

Il compito del 11 novembre 2004

Il compito del 11 novembre 2004 Alcuni errori frequenti riscontrati durante la correzione del compito: 1. In alcuni elaborati il typedef/struct non è stato utilizzato correttamente 2. Molti hanno confuso la dichiarazione di un array,

Dettagli

CODIFICA IMMAGINI IN BIANCO E NERO

CODIFICA IMMAGINI IN BIANCO E NERO Rappresentazione delle immagini Anche le immagini possono essere codificate mediante una sequenza di 0 e 1., questa operazione si chiama digitalizzazione. La prima cosa da fare è dividere l immagine in

Dettagli

Preprocessore, linker e libreria standard

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

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 20 Aprile 2016

DIPARTIMENTO 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:

Dettagli

Lab 09 Strutture e programmi su più file

Lab 09 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 09 Strutture e programmi su più file Lab13 1 Alcune Informazioni Utili Funzioni per manipolare stringhe (in string.h)!

Dettagli

Costruiamo un'immagine o qualcosa di simile.

Costruiamo 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

Dettagli

Lezione 8 Struct e qsort

Lezione 8 Struct e qsort Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,

Dettagli

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Università di Ferrara Dipartimento di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Tutor Arnaud Nguembang Fadja: ngmrnd@unife.it Damiano Azzolini: damiano.azzolini@student.unife.it Esercizio

Dettagli

Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia

Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia Linguaggio C: Introduzione ad ambienti di sviluppo integrati (IDE) e a Dev-C++ Università degli Studi di Brescia Elementi di Informatica e Programmazione Università di Brescia 1 Sviluppo ed esecuzione

Dettagli

Fondamenti di Informatica Ing. Biomedica

Fondamenti di Informatica Ing. Biomedica Fondamenti di Informatica Ing. Biomedica Esercitazione n.10 Strutture Antonio Arena antonio.arena@ing.unipi.it Ripresa esercizio per casa Fondamenti di Informatica - Esercitazione n.10 2 Scrivere una funzione

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Università degli Studi di Messina Policlinico G. Martino - Sistemi di Elaborazione delle Informazioni A.A. 26/27 Università degli Studi di Messina Policlinico G. Martino - Sistemi di Elaborazione delle

Dettagli

Rappresentazione digitale delle informazioni

Rappresentazione digitale delle informazioni Rappresentazione digitale delle informazioni Informazione oggi Informatica: disciplina che studia l elaborazione automatica di informazioni. Elaboratore: sistema per l elaborazione automatica delle informazioni.

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 Soluzione della prova scritta del 31 Gennaio 2006 Esercizio 1 (4 punti) Elencare i tipi di dato predefiniti del linguaggio C, precisandone il dominio e le operazioni principali

Dettagli

Corso INFORMATICA ED ELEMENTI DI INFORMATICA MEDICA

Corso INFORMATICA ED ELEMENTI DI INFORMATICA MEDICA Corso 085853 INFORMATICA ED ELEMENTI DI INFORMATICA MEDICA Prof.: Sara Marceglia, Gianluca Palermo Luca Mazzola, Maristella Matera A.A. 2010/2011 Parte di Informatica ISTRUZIONI: 1. Il tempo massimo a

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE 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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE 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

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

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori:

Applicando 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

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO II.2017

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO II.2017 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2015 2016 22.II.2017 VINCENZO MARRA Indice Esercizio 1 1 Strutture dati e prime funzioni. 1 Punti: 8.

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

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e

Dettagli

IEIM Esercitazione VI Puntatori e Struct. Alessandro A. Nacci -

IEIM Esercitazione VI Puntatori e Struct. Alessandro A. Nacci - IEIM 2017-2018 Esercitazione VI Puntatori e Struct Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Specifiche dell esercizio Scrivere in C un programma che rappresenti un piano

Dettagli

Esercizi. Filtraggio

Esercizi. Filtraggio Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)

Dettagli

Fondamenti di Informatica 2

Fondamenti 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

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VII.2019

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VII.2019 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2018 2019 8.VII.2019 VINCENZO MARRA Indice Esercizio 1 2 Strutture dati e visualizzazione 2 Punti: 3.

Dettagli

I tipi di dato strutturato sono dichiarabili in C tramite la parola chiave typedef

I 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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018 Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia Informatica A (per gestionali) A.A. 2004/2005 Esercizi C e diagrammi a blocchi Preparazione prima prova intermedia Indice 1 Array... 3 1.1 Filtraggio...3 1.2 Trasformazione...3 2 Struct e array... 5 2.1

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non 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

Dettagli

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 13 Novembre 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Lab 13 Strutture e programmi su più file "

Lab 13 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 13 Strutture e programmi su più file " Lab13 1 n Sia data la struttura Esercizio 1" struct time { int hour, minute,

Dettagli

Laurea In Ingegneria dell Informazione. Esercitazioni Guidate di Tecniche della Programmazione

Laurea In Ingegneria dell Informazione. Esercitazioni Guidate di Tecniche della Programmazione Laurea In Ingegneria dell Informazione Esercitazioni Guidate di Tecniche della Programmazione Note introduttive: 1) Le soluzioni agli esercizi e le versioni di programmi menzionate nel testo delle esercitazioni

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione 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

Dettagli

PRESENTAZIONE DOMANDA DI PAGAMENTO EROGAZIONE A SALDO

PRESENTAZIONE DOMANDA DI PAGAMENTO EROGAZIONE A SALDO PRESENTAZIONE DOMANDA DI PAGAMENTO EROGAZIONE A SALDO Ordinanza n. 23 del 23.02.2013 modificata con le successive Ordinanze n. 26 del 06.03.2013, n.52 del 29.04.2013 e n.91 del 29.07.2013 Finanziamento

Dettagli

Esercitazioni di Informatica (CIV)

Esercitazioni di Informatica (CIV) Esercitazioni di Informatica (CIV) Puntatori, Tema d esame Andrea Romanoni e-mail: andrea.romanoni@polimi.it website: http://home.deib.polimi.it/romanoni/ 26 novembre 2015 Esame del 21 luglio 2014 Testo

Dettagli

Rappresentazione dei numeri: il sistema di numerazione decimale

Rappresentazione dei numeri: il sistema di numerazione decimale Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica Corso di Elementi di Informatica Lezione 3 14 marzo 2017 Dott. A.A. 2016/2017 pgarau.unica@gmail.com 1 Codifica dei numeri

Dettagli

Informatica B Prof. Di Nitto e Morzenti Appello del 17 febbraio 2005 Cognome e Nome... Numero Matricola... (in stampatello)

Informatica B Prof. Di Nitto e Morzenti Appello del 17 febbraio 2005 Cognome e Nome... Numero Matricola... (in stampatello) Informatica B Prof. Di Nitto e Morzenti Appello del 17 febbraio 2005 Cognome e Nome... Numero Matricola... (in stampatello) Risolvere i seguenti esercizi, scrivendo le risposte ed eventuali tracce di soluzione

Dettagli

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

Dettagli

Laboratorio di Segnali e Sistemi A. A. 2009/ Lezione 5: Immagini

Laboratorio di Segnali e Sistemi A. A. 2009/ Lezione 5: Immagini Laboratorio di Segnali e Sistemi A. A. 2009/ 2010 Lezione 5: Immagini 28 maggio 2010 Introduzione Immagini: risultato di un sistema di acquisizione/elaborazione/visualizzazione della radiazione EM visibile

Dettagli

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice Funzioni FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvono parti specifiche di un problema Una funzione permette di attribuire un nome ad un insieme di istruzioni

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Rappresentazione delle immagini 2 Rappresentazione delle immagini Le forme e i colori presenti

Dettagli

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Release NOTE 1.1 Prima Versione del Manuale INDICE 1-INTRODUZIONE... 4 2- GESTIONE DEL CATALOGO PIXMANIA-PRO SU IMAIO... 5 3-Configurazione

Dettagli

Le immagini. Parametri importanti sono:

Le immagini. Parametri importanti sono: Informatica Gerboni Roberta L immagine del video è rappresentata tramite una griglia o matrice di pixel (PIcture ELement) per ognuno dei quali è memorizzata: l intensità luminosa il colore. Parametri importanti

Dettagli

Preprocessore, linker e libreria standard

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

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

IEIM Esercitazione VI A cosa servono le funzioni, la ricorsione e l enum

IEIM Esercitazione VI A cosa servono le funzioni, la ricorsione e l enum IEIM 2015-2016 Esercitazione VI A cosa servono le funzioni, la ricorsione e l enum Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Cosa facciamo oggi? A COSA SERVONO LE FUNZIONI

Dettagli

Lab 5: 18 Maggio 2015

Lab 5: 18 Maggio 2015 DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio marco.santambrogio@polimi.it Gianluca Durelli durellinux@gmail.com Ver. aggiornata al 17 Maggio 2015

Dettagli

Codifica binaria: - numeri interi relativi -

Codifica binaria: - numeri interi relativi - Codifica binaria: - numeri interi relativi - Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Tipologie di codici Per la rappresentazione di: caratteri

Dettagli

Digitalizzazione delle immagini

Digitalizzazione delle immagini Digitalizzazione delle immagini Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dai computer ma sempre più applicazioni utilizzano ed elaborano anche altri

Dettagli

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 5 Dott. Michele Zanella Ing. Gian Enrico Conti

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 5 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 5 Dott. Michele Zanella Ing. Gian Enrico Conti File I/O I file rappresentano una sequenza di byte, siano essi

Dettagli

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 13 Novembre 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Esempi e esercitazioni sulle matrici e strutture

Esempi e esercitazioni sulle matrici e strutture Esempi e esercitazioni sulle matrici e strutture Prof. Antonio Scanu 1.1 Esempio sulle matrici Dimensionare una matrice, caricarla, visualizzarla e creare un vettore parallelo contenente le somme delle

Dettagli

- matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc)

- matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc) Esercitazione Argomenti che verranno trattati in questa esercitazione: - matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc)

Dettagli

definisce un vettore di 4 puntatori a carattere (allocata memoria per 4 puntatori)!

definisce 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

Dettagli

Informatica B

Informatica B Informatica B 2017-2018 Esercitazione 7 Ripasso sul C - Matrici e Struct in un caso reale Il piano cartesiano Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Specifiche dell esercizio

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

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011 Gruppo Cognome Riontino Nome Raffaele Cognome Nome TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato

Dettagli

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

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

Dettagli

GESTIONE DELLE COMUNICAZIONI

GESTIONE DELLE COMUNICAZIONI Bando per la realizzazione di diagnosi energetiche o l adozione di sistemi di gestione energia conformi alle norme ISO 50001 da parte delle piccole e medie imprese in attuazione del Programma Regionale

Dettagli

File binari e file di testo

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

Dettagli

Informatica B

Informatica B Informatica B 2016-2017 Esercitazione 9 Matrici e Struct in un caso reale Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Disclaimer Fino ad ora non avete visto le funzioni. Per

Dettagli

Nozioni di grafica sul calcolatore. concetti di base

Nozioni di grafica sul calcolatore. concetti di base Nozioni di grafica sul calcolatore concetti di base La riproduzione di immagini fotografiche su computer avviene suddividendo l'immagine stessa in una matrice di punti colorati: pixels I formati basati

Dettagli

La codifica delle immagini

La codifica delle immagini Non sempre il contorno della figura coincide con le linee della griglia. Quella che si ottiene nella codifica è un'approssimazione della figura originaria Se riconvertiamo la stringa 0000000011110001100000100000

Dettagli

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il

Dettagli

ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa.

ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa. PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 23/9/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Convertire

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

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

Linguaggio 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 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

Dettagli

Esercizio 1. Tavola ordinata in memoria centrale

Esercizio 1. Tavola ordinata in memoria centrale Esercizio 1. Tavola ordinata in memoria centrale E dato un programma che realizza una rubrica telefonica come tavola in memoria centrale. In particolare, ogni elemento della tavola è caratterizzato dalle

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 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

Dettagli

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda Informatica Comunicazione & DAMS A.A. 2015/16 Dr.ssa Valeria Fionda Informatica - Com&DAMS A.A. 2015/2016 Sistemi di numerazione I sistemi di numerazione servono a rappresentare i numeri grazie a un insieme

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

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

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio 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

Dettagli