Laboratorio di programmazione

Documenti analoghi
Laboratorio di programmazione

Lezione di Laboratorio di Prgrammazione: /04/2019 a.a. 2018/2019 R.Prevete

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

Fondamenti di Informatica Ing. Biomedica

Programmazione in Java (I modulo) Lezione 20: Ereditarietà

Puntatori e array. Violetta Lonati

Laboratorio di programmazione

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

Elementi di Informatica A. A. 2016/2017

Il linguaggio C. Puntatori e dintorni

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

Strategie di programmazione

Informatica ed Elementi di Informatica Medica

Introduzione al linguaggio C Puntatori

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

PARTE

Esercizi. Filtraggio

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 11 Marzo 2014

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin

Linguaggio C: puntatori

Laboratorio di programmazione

Lezione 20: Tipi derivati: struct e union

Il paradigma OO e le Classi

Ereditarietà. Ivan Lanese e Cosimo Laneve

Tipi strutturati - struct

Informatica (A-K) 19. Linguaggio C -6

Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 4 Aprile 2013

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

Il linguaggio C. Notate che...

Il linguaggio C. Istruzioni, funzioni, dati strutturati

Funzioni, Stack e Visibilità delle Variabili in C

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

Informatica A. Istruzioni

Linguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Aritmetica dei puntatori

Laboratorio di algoritmi e strutture dati

Corso di Programmazione a oggetti

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Fondamenti di Informatica 12. Linguaggio C -4

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

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori in C. Fondamenti di Informatica. Daniele Loiacono

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Tipi definiti dall'utente

Laboratorio di Informatica I

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

Dati aggregati. Violetta Lonati

Programmazione ad oggetti

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

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

Strutture. Una dichiarazione struct definisce un nuovo tipo. - Può essere seguita da una lista di variabili.

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

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

in alternativa Quanto spazio occupa in memoria una variabile di tipo struct? dipende...

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

LB5 FUNZIONI cap. 7 del testo

Linguaggio C: PUNTATORI

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array.

Introduzione al linguaggio C Dati aggregati

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti)

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Capitolo 11. Puntatori

Esempi (pseudo-c):! float f(){ * sin(0.75); } float f1(int x) { 2 + x * sin(0.75); } Esempio

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07

Laboratorio di Informatica I

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

ARRAY E LISTE. Ivan Lanese

Capitolo 10 - Strutture

Fondamenti di Informatica

6 Typedef, matrici e codifica

Una funzione riceve dati di ingresso in corrispondenza ai parametri

Lezione 6: Array e puntatori

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

Laboratorio di Programmazione 1 [Java]

Laboratorio di programmazione

Laboratorio di Informatica

Lab 08 Stringhe e strutture

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

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

Il linguaggio C. Puntatori e dintorni

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni

Programmazione. Appello di Giugno 2019

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

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico 2008/2009 Francesco Tortorella

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW

Titolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 4 Ing. Gian Enrico Conti Dott.

Tipi definiti dall'utente

ERRORI DI PROGRAMMAZIONE INDICE

PARTE

Fondamenti di Informatica e Laboratorio T-AB Prova Pratica - 16 Giugno 2009 Compito A

Strutture, Unioni, Enumerazioni in C. Emilio Di Giacomo

Transcript:

Laboratorio di programmazione Lezione VI Tatiana Zolo zolo@cs.unipr.it 1

Dichiarazione (forma generale): LE STRUCT struct nome_struttura { tipo var1; tipo var2;... tipo vark; } variabili_struttura; (soltanto una variabile struttura nome_struttura non necessario). Ora posso creare delle variabili di tipo nome_struttura: nome_struttura var_struttura; E STRUCT 2

Dichiarazione (forma generale): LE STRUCT struct nome_struttura { tipo var1; tipo var2;... tipo vark; } variabili_struttura; (soltanto una variabile struttura nome_struttura non necessario). Ora posso creare delle variabili di tipo nome_struttura: nome_struttura var_struttura; Accesso ai membri: tramite l operatore punto. nome_struttura.var1 =...; tipo t = nome_struttura.var2; E STRUCT 2-A

LE STRUCT Assegnamento di strutture: solo se sono dello stesso tipo. E STRUCT 3

LE STRUCT Assegnamento di strutture: solo se sono dello stesso tipo. Array di struct: si definisce una struttura e poi si dichiara un array di quel tipo. Esempio: struct studenti { char nome[50]; char cognome[50]; int anno_immatricolazione; }; studenti elenco_studenti[100]; Per accedere ad una struttura specifica indicizzare il nome della struttura: cout << elenco_studenti[2].cognome stampa il cognome memorizzato nella variabile membro cognome dello studente i cui dati sono nella parte sempre da 0!). struttura dell array (l indice dell array E STRUCT 3-A

LE FUNZIONI Ogni funzione è composta da 4 parti (che insieme costituiscono la definizione della funzione): 1. tipo di ritorno; 2. nome della funzione; 3. lista dei parametri; 4. corpo della funzione. Le prime tre parti insieme rappresentano il prototipo della funzione o la dichiarazione della funzione. Invocazione funzione f() controllo del programma ad f() e sospensione dell esecuzione della funzione attiva. Fine esecuzione di f() (ultima istruzione oppure istruzione di ritorno) la funzione sospesa riprende l esecuzione. E FUNZIONI 4

PROTOTIPO DI UNA FUNZIONE 1. Tipo di ritorno: può essere tipo predefinito (es.int); tipo composto (es.double*, cioè puntatori); tipo definito dall utente (es. struct, classi); void, cioè la funzione non restituisce alcun valore. Non si possono usare come tipi di ritorno un tipo funzione oppure un tipo array predefinito. C++ standard: il tipo di ritorno non può essere omesso tempo di compilazione. errore a ROTOTIPO DI UNA FUNZIONE 5

PROTOTIPO DI UNA FUNZIONE 1. Tipo di ritorno: può essere tipo predefinito (es.int); tipo composto (es.double*, cioè puntatori); tipo definito dall utente (es. struct, classi); void, cioè la funzione non restituisce alcun valore. Non si possono usare come tipi di ritorno un tipo funzione oppure un tipo array predefinito. C++ standard: il tipo di ritorno non può essere omesso tempo di compilazione. errore a 3. Lista dei parametri: in una definizione di funzione un nome di parametro consente di accedere al parametro nel corpo della funzione; in una dichiarazione di funzione il nome del parametro non è necessario (se c è può essere diverso da quello della def. di funz.). Controllo di tipo dei parametri al momento della compilazione. ROTOTIPO DI UNA FUNZIONE 5-A

Passaggio per valore: PASSAGGIO DEGLI ARGOMENTI int nome_funz(int n) { n = n + 1; return n; } Chiamata: n = 0; m = nome_funz(n); Risultato:, Passaggio per riferimento: int nome_funz(int& n) { n = n + 1; return n; } Chiamata: n = 0; m = nome_funz(n); Risultato:, ASSAGGIO DEGLI ARGOMENTI 6

PARAMETRI ARRAY In C++ un array non è mai passato per valore, ma come un puntatore al suo primo elemento. Conseguenze: le modifiche sono effettuate sull array stesso e non su una copia locale; la dimensione di un array non fa parte del suo tipo parametro. es.array_candidati.cc. ARAMETRI ARRAY 7

ESERCIZI 1. Struct: creare una struct "persona" (il nome scieglietelo pure voi, ma sensato) con due membri: nome e numero di telefono. Scrivere un programma che, una volta riempite con i dati necessari tre struct "persona", dia le seguenti 3 possibilita : 1. conoscere il nome a partire da un numero di telefono; 2. conoscere il numero di telefono a partire da un nome; 3. uscire dal programma. (nome_telefono.cc). 2. Array di struct e funzioni: leggere n struct di persone ( n inserito dall utente) con due campi, nome ed eta, e restituire il nome della piu giovane o di una delle piu giovani. Utilizzare una funzione per la lettura dei dati delle struct e una che restituisca l indice della persona selezionata. (piu_giovane_array.cc). SERCIZI 8

ESERCIZI 3. Array di struct e funzioni: crea un array di struct "studente" (cognome, array contenente i voti degli esami). Presenta all utente un menu con varie possibilita : media (in trentesimi); media (in 110); voto piu alto; voto piu basso; fine programma. Realizza ciascuna operazione con una funzione. Possibili estensioni dell esercizio: altre operazioni possibili sono vedere quante volte e stato preso un certo voto; fare un grafico dell andamento dei voti (es. con una matrice di caratteri). Ampliare la struct "studente" inserendo altri dati: nome materia, data esame, eventuale lode, ecc. (voti_esami.cc). SERCIZI 9