Record in C: il costruttore struct.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Record in C: il costruttore struct."

Transcript

1 Record in C: il costruttore struct. Le variabili di tipo record e i nuovi tipi record si dichiarano in C tramite il costruttore di tipo struct:. <var-record> ::= <costr-struct> <identif> ; <costr-struct> ::= <seq-campi>} <seq-campi> ::= <seq-campi-omog> <seq-campi-omog> ; <seq-campi> <seq-campi-omog> ::= <tipo> <seq-nomi-campi> <seq-nomi-campi> ::= <identif> <identif>, <seq-nomi-campi> int Giorno; int Anno; } Data; /* variabile Data come record di tre campi: Giorno Mese e Anno, tutti di tipo intero */ Data Data.Giorno Data.Mese Data.Anno /* DICHIARAZIONE ALTERNATIVA : */ int Giorno, Mese, Anno; } Data; 1

2 Inizializzazione di una variabile record int Giorno, Mese, Anno; } Data = {15,10,1919}; è possibile accedere ad una variabile di tipo record nel suo insieme, come se fosse una variabile semplice oppure campo per campo, rispettando tutte le regole previste per il tipo associato a ciascun campo. int Giorno, Mese, Anno; } DataEsame; int Giorno, Mese, Anno; } DataOrale; /* accesso alle variabili campo per campo */ DataOrale.Anno = DataEsame.Anno; DataOrale.Mese = DataEsame.Mese; DataOrale.Giorno= DataEsame.Giorno + 1; /* accesso alle variabili nel loro insieme */ DataOrale = DataEsame; 2

3 int Matr; char Sesso; int Età; } Stud; /* variabile Stud */ Stud.Mat Stud.Sess Stud.Et Stu r o à d 15 'F' 20 Modifichiamo Stud, aggiungendo un campo Nome come una stringa int Matr; char Nome[21]; char Sesso; int Età; } Stud; /* variabile Stud */ Stud.Mat Stud.Nom Stud.Sess Stud.Et Stu r e o à d 15 "Paola" 'F' 20 Questo è un primo esempio in cui un tipo strutturato (Nome di tipo stringa) è usato all interno di un altro tipo strutturato (Stud di tipo record) : composizione di tipi strutturati. una variabile di tipo record deve essere letta da input campo per campo, rispettando tutte le regole previste per il tipo associato a ciascun campo: printf("inserire Matricola Studente "); scanf("%d",&stud.matr); printf("inserire Nome Studente "); scanf("%20s", Stud.Nome); Il campo Nome di Stud è una stringa, quindi non ci vuole &! 3

4 COMPOSIZIONE DI TIPI STRUTTURATI Modifichiamo Stud, aggiungendo un campo DataDiNascita come record int Matr; char Nome[21]; int Giorno; char Sesso; int Età; } Stud; /* variabile Stud */ printf("inserire Data di Nascita dello Studente \n"); printf("giorno : "); scanf("%d",&stud.datadinascita.giorno); printf("mese : "); scanf("%d",&stud.datadinascita.mese); printf("anno : "); scanf("%d",&stud.datadinascita.anno); è possibile utilizzare come componenti dei tipi strutturati, costruendo così delle matrici di record, dei record di matrici, 1 Corso MaxStud Nome Parola DataDiNascita 1 NumCar Data Giorno Mese Anno char Nome[NumCar]; struct{int Giorno; } Corso[MaxStud]; 4

5 NOTA Consideriamo le seguenti dichiarazioni int Giorno, Mese, Anno; } DataEsame; int Giorno, Mese, Anno; } DataOrale; Non tutti i compilatori (compreso DEV-C++) accettano l assegnamento DataOrale=DataEsame; in quanto i tipi delle due variabili sono considerati incompatibili. Se invece viene utilizzata la seguente dichiarazione: int Giorno, Mese, Anno; } DataEsame,DataOrale; Allora l assegnamento DataOrale=DataEsame; viene considerato corretto! Nello stesso modo, se considero char Nome[NumCar]; struct{ int Giorno; } Corso[MaxStud]; char Nome[NumCar]; struct{ int Giorno; } MAX; Non tutti i compilatori (compreso DEV-C++) accettano l assegnamento MAX=Corso[0]; In questo caso si dovrebbe effettuare char Nome[NumCar]; struct{ int Giorno; } MAX, Corso[MaxStud]; Allora l assegnamento MAX=Corso[0]; viene considerato corretto. Questi problemi non si presentano con l uso del typedef. 5

6 Quando lo stesso tipo strutturato (array o record) deve essere usato in più di una dichiarazione di variabili, è bene dichiarare tale tipo esplicitamente con typedef: Ad esempio, nel caso di char Nome[NumCar]; struct{ int Giorno; } MAX, Corso[MaxStud]; si usa due volte lo stesso tipo strutturato, sia per dichiarare MAX che per Corso. Allora si definisce esplicitamente tale tipo tramite typedef: typedef char Nome[NumCar]; struct{int Giorno; } TipoStudente; e il nuovo tipo TipoStudente è quindi usato per dichiarare le due variabili: TipoStudente MAX; TipoStudente Corso[MaxStud]; In questo modo l assegnamento MAX=Corso[0]; viene considerato corretto. Nel seguito viene riportato l esempio completo Studente più giovane, ovvero studente con Data di Nascita maggiore utilizzando typedef. #include <stdio.h> #define NumCar 25 #define MaxStud 4 main(){ typedef char Nome[NumCar]; struct{ int G; int M; int A; } DataDiNascita; } TipoStudente; TipoStudente MAX; TipoStudente Corso[MaxStud]; int I; 6

7 /* lettura degli studenti */ for(i=0;i<maxstud;i++){ printf("inserire studente n. %d\n",i); printf("nome : "); scanf("%20s",corso[i].nome); printf("data di Nascita \n "); printf("giorno : "); scanf("%d",&corso[i].datadinascita.g); printf("mese : "); scanf("%d",&corso[i].datadinascita.m); printf("anno : "); scanf("%d",&corso[i].datadinascita.a); } /* stampa degli studenti inseriti */ printf("\n\n stampa degli studenti inseriti \n\n"); for(i=0;i<maxstud;i++){ printf("\nstudente n. %d\n",i); printf("nome = %-20s",Corso[I].Nome); printf("nato il %d-%d-%d: \n",corso[i].datadinascita.g, Corso[I].DataDiNascita.M,Corso[I].DataDiNascita.A); } /* Calcolo del MAX. cioe studente con DataDiNascita piu' grande*/ MAX=Corso[0]; for(i=1;i<maxstud;i++) if(corso[i].datadinascita.a > MAX.DataDiNascita.A Corso[I].DataDiNascita.A == MAX.DataDiNascita.A && Corso[I].DataDiNascita.M > MAX.DataDiNascita.M Corso[I].DataDiNascita.A==MAX.DataDiNascita.A && Corso[I].DataDiNascita.M == MAX.DataDiNascita.M && Corso[I].DataDiNascita.G > MAX.DataDiNascita.G ) MAX=Corso[I]; printf("\nlo studente piu' giovane e' \n"); printf("nome = %-20s",MAX.Nome); printf("nato il %d-%d-%d: \n",max.datadinascita.g, MAX.DataDiNascita.M,MAX.DataDiNascita.A); } Ovviamente il precedente programma è corretto se c e un solo studente con la massima DataDiNascita. Per considerare il caso in cui ci siano più studenti con la stessa data di nascita e quindi la possibilità di avere due o più studenti con la massima DataDiNascita, dopo aver caalcolato MAX, si scandisce di nuovo Corso e si stampano tutti gli studenti la cui data di nascita è quella di MAX. 7

8 Si noti che per controllare l uguaglianza di due record (in questo caso le due date) non possiamo confrontare i due record con == ma si deve usare il confronto elemento per elemento: infatti l operatore == si applica solo ai tipi semplici. In altre parole, è sbagliato scrivere if(corso[i].datadinascita == MAX.DataDiNascita) ma si deve scrivere if(corso[i].datadinascita.a == MAX.DataDiNascita.A && Corso[I].DataDiNascita.M == MAX.DataDiNascita.M && Corso[I].DataDiNascita.G == MAX.DataDiNascita.G ) Riportiamo il ciclo for che ci consente di stampare tutti gli studenti più giovani for(i=0;i<maxstud;i++) if( Corso[I].DataDiNascita.A == MAX.DataDiNascita.A && Corso[I].DataDiNascita.M == MAX.DataDiNascita.M && Corso[I].DataDiNascita.G == MAX.DataDiNascita.G ) { printf("\n Nome = %-20s",Corso[I].Nome); printf("nato il %d-%d-%d: \n", Corso[I].DataDiNascita.G, Corso[I].DataDiNascita.M, Corso[I].DataDiNascita.A); } 8

Definizione di nuovi tipi in C

Definizione di nuovi tipi in C Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

RICERCA DI UN ELEMENTO

RICERCA DI UN ELEMENTO RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili 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

Dettagli

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni. Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

Le stringhe. Le stringhe

Le stringhe. Le stringhe Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica I tipi strutturati: gli array e le strutture Claudio De Stefano - Corso di Fondamenti di Informatica 1 arrays un array (o vettore) è una sequenza di oggetti dello stesso

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione VI Tatiana Zolo tatiana.zolo@libero.it 1 LE STRUCT Tipo definito dall utente i cui elementi possono essere eterogenei (di tipo diverso). Introduce un nuovo tipo di

Dettagli

http://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

http://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( ) Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie

Dettagli

Esempio: Array di struct

Esempio: Array di struct Esempio: Array di struct Scrivere un programma C che definisca la struttura esame, composta dal nome dell esame (stringa) e dal voto (intero). Si leggano poi da terminale n esami, con n definito dall utente

Dettagli

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore. 1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno

Dettagli

Appello di Informatica B

Appello di Informatica B Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova

Dettagli

Inizializzazione, Assegnamento e Distruzione di Classi

Inizializzazione, Assegnamento e Distruzione di Classi Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

Linguaggio C - Stringhe

Linguaggio C - Stringhe Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - Stringhe La presente dispensa e da utilizzarsi ai

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30' Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di

Dettagli

Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311

Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311 Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311 INDICE 1. INTRODUZIONE... 3 1.1 SCADENZA... 3 1.2 CAUSALE DA UTILIZZARE... 3 2. MODALITÀ OPERATIVE DI COMUNICAZIONE DATI... 4

Dettagli

Fondamenti di Informatica T. Linguaggio C: i puntatori

Fondamenti di Informatica T. Linguaggio C: i puntatori Linguaggio C: i puntatori Il puntatore E` un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

INFORMATICA - I puntatori Roberta Gerboni

INFORMATICA - I puntatori Roberta Gerboni 1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

Dettagli

Esame del 3 febbraio 2010

Esame del 3 febbraio 2010 Fondamenti di Informatica CdL in Ingegneria Gestionale a.a. 2009/2010 Docente: Andrea Prati Esame del 3 febbraio 2010 Esercizio 1 Vettori Sia data un vettore (array monodimensionale) di interi: int VETT[N];

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array 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

Dettagli

Esercizio: gestione di un conto corrente

Esercizio: gestione di un conto corrente Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Esercitazione 10. Strutture ed Enumerazioni. Allocazione dinamica di memoria

Esercitazione 10. Strutture ed Enumerazioni. Allocazione dinamica di memoria Esercitazione 10 Strutture ed Enumerazioni Allocazione dinamica di memoria ESERCIZIO Scrivere una funzione che, dato un array di interi bidimensionale di dimensione n n, calcoli e stampi la somma degli

Dettagli

costruttori e distruttori

costruttori e distruttori costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli 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

Dettagli

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara LICEO SCIENTIFICO STATALE "FILIPPO LUSSANA" V i a A n g e l o Ma j, 1 2 4 1 2 1 B E R G A M O 035 237502 Fax: 035 236331 Sito e contatti: www.liceolussana.com Codice fiscale: 80026450165 PROGRAMMA SVOLTO

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

Grammatica di base: Pointers

Grammatica di base: Pointers Grammatica di base: Pointers Esistono I puntatori a funzioni. Bisogna esplicitare esattamente il tipo di ritorno e il tipo di argomento. Per evitare ambiguità con il prefisso * nel declarator, il nome

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 Esercizio 1 Realizzare un programma che, aperto un file di testo di nome Prova.txt in modalità scrittura, provveda a leggere da input delle parole separate da spazi (stringhe di al più 63 caratteri) e

Dettagli

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili Indirizzo di una funzione 2 Puntatori a funzioni Ver. 2.4 Si può chiamare una funzione utilizzando l indirizzo di memoria dal quale inizia il codice eseguibile della funzione stessa L indirizzo di memoria

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizio 1 Nella classe definita di seguito indicare quali sono le variabili di istanza, quali sono le variabili

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice

Dettagli

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Lab 11 Gestione file di testo"

Lab 11 Gestione file di testo Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 11 Gestione file di testo" Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome

Dettagli

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo /*Caricare un vettore di n numeri float, ordinarlo e e stamparlo

Dettagli

Problem solving elementare su dati vettoriali

Problem solving elementare su dati vettoriali Problem solving elementare su dati vettoriali Introduzione Verifiche su sequenze di dati Selezione o ricerca di dati 2 2006 Politecnico di Torino 1 Introduzione (1/2) I problemi di verifica consistono

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l. Schede ADI ADP ADEM Prestazioni aggiuntive MMG - Manuale - Data Solution Provider s.r.l. 1. Generalità Per poter accedere all applicazione è necessario aprire Internet Explorer e connettersi al sito di

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Concetti chiave Struct Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Struct Per aggregare elementi di tipo diverso si utilizza una struttura. struct

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere

Dettagli

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Pillola operativa Economico Gestione nucleo familiare INFORMAZIONI

Dettagli

Definizione di classi con array di oggetti

Definizione di classi con array di oggetti Definizione di classi con array di oggetti 1. (Esame scritto del 18/9/2002, Esercizio 6.) La banca dati di un agenzia assicurativa per auto è caratterizzata da un insieme di polizze di assicurazioni per

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in

Dettagli

Accesso all Area di Lavoro

Accesso all Area di Lavoro Accesso all Area di Lavoro Una volta che l Utente ha attivato le sue credenziali d accesso Username e Password può effettuare il login e quindi avere accesso alla propria Area di Lavoro. Gli apparirà la

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Gestore Comunicazioni Obbligatorie - VARDATORI - Progetto SINTESI Dominio Provinciale Modulo Applicativo:COB Procedura VARDATORI

Gestore Comunicazioni Obbligatorie - VARDATORI - Progetto SINTESI Dominio Provinciale Modulo Applicativo:COB Procedura VARDATORI Progetto SINTESI Dominio Provinciale Modulo Applicativo:COB Procedura VARDATORI 1 INDICE 1 INTRODUZIONE... 3 2 COMUNICAZIONI VARDATORI... 4 2.1 VARIAZIONE DELLA RAGIONE SOCIALE DEL DATORE DI LAVORO...

Dettagli

Manuale Operativo Beneficiario Sfinge2020

Manuale Operativo Beneficiario Sfinge2020 Manuale Operativo Beneficiario Sfinge2020 Pag. 1 di 20 Identificazione Edizione 1.3 Titolo SFINGE 2020 Manuale Operativo Beneficiario Tipo Manuale Utente N. Pagine 20 Diffusione o Riservata o Interna x

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008 Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008 Si consideri una rete di sensori MicaZ con sistema operativo TinyOS, dove ogni nodo è identificato da un ID unico e dove è presente un solo

Dettagli

Traccia di soluzione dell esercizio del 25/1/2005

Traccia di soluzione dell esercizio del 25/1/2005 Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello

Dettagli

C.I.C. Centro Informazione e Consulenza. Guida all uso del registro elettronico

C.I.C. Centro Informazione e Consulenza. Guida all uso del registro elettronico C.I.C. Centro Informazione e Consulenza Guida all uso del registro elettronico 1 INDICE REGISTRAZIONE 3 ACCESSO 4 IMPOSTAZIONI 5 GUIDA PER STUDENTI E GENITORI 6 REGISTRO APPUNTAMENTI 6 RICHIEDERE UN APPUNTAMENTO

Dettagli

L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace.

L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace. L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace. 28/10/2014 IT 2 Regole per la dichiarazione delle

Dettagli

Esercizio 2. Client e server comunicano attraverso socket TCP

Esercizio 2. Client e server comunicano attraverso socket TCP Esercizio 1 Scrivere una applicazione client/server in cui: Il client, in un ciclo infinito: Legge una stringa da standard input Invia al processo server la stringa. Il server visualizza: L'IP da cui si

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

Programmazione. Laboratorio. Roberto Cordone DI - Università degli Studi di Milano

Programmazione. Laboratorio. Roberto Cordone DI - Università degli Studi di Milano Gestione della memoria p. 1/11 Programmazione Laboratorio Roberto Cordone DI - Università degli Studi di Milano Tel. 02 503 16235 E-mail: roberto.cordone@unimi.it Ricevimento: su appuntamento Lezioni:

Dettagli

STRUMENTI E TECNICHE LEZIONE 4: FACEBOOK PROFILI VS PAGINE

STRUMENTI E TECNICHE LEZIONE 4: FACEBOOK PROFILI VS PAGINE WEB 2.0 STRUMENTI E TECNICHE LEZIONE 4: FACEBOOK PROFILI VS PAGINE Tina Fasulo FACEBOOK Facebook è un social network, prende il nome da un elenco con nome e fotografia degli studenti universitari statunitensi

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente

Dettagli

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

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015 VINCENZO MARRA Indice Esercizio 1 1 Conversione di un numero naturale in base b.

Dettagli

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a.

Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a. Istruzioni condizionali Istruzioni condizionali Statistica computazionale Carla Rampichini a.a. 2008/09 Subsetting I I espressione; I-THEN-ELSE I espress THEN istr; [ELSE istr;] DO WHILE DO UNTIL I-THEN-

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Manuale operativo - Procedura per la costruzione, la pubblicazione di questionari

Manuale operativo - Procedura per la costruzione, la pubblicazione di questionari Questionari online Questionari online... 1 Ambienti dedicati... 2 Costruzione questionario... 4 Creazione struttura... 4 Gestione del questionario... 15 Condivisione (fase facoltativa)... 16 Autorizzazione

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Q U E S T U R A di V A R E S E Ufficio di Gabinetto

Q U E S T U R A di V A R E S E Ufficio di Gabinetto Q U E S T U R A di V A R E S E Ufficio di Gabinetto Manuale per la gestione del servizio di invio telematico delle schedine alloggiati Servizio di Invio Telematico Schedine Alloggiati Indice Inserimento

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria

Dettagli