Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Email Docente: A.A. 2009-2010 Salvatore Cuomo Esercizi sui dati strutturati 13 Tipi di dati strutturati.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

I tipi Strutturati.
Corso di Fondamenti di Programmazione canale E-O
INFORMATICA Altre Istruzioni di I/O
Introduzione al linguaggio C
Stringhe di caratteri In linguaggio C.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità G1 Dati strutturati.
Array multidimensionali
Dati strutturati C++.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
Introduzione al linguaggio C
Introduzione al linguaggio C Dr. Francesco Fabozzi Corso di Informatica.
Anno accademico Array e puntatori in C.
Programmazione Procedurale in Linguaggio C++
Funzioni definite dall’utente
Tail recursion: esempio
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al 4 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 24 Ottobre 2011 Sadegh Astaneh – Marco D. Santambrogio –
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Laboratorio di Linguaggi lezione IX: Dentro le Librerie Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Soluzione Esercizio - Classe Vettore
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Struct, enum, Puntatori e Array dinamici
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Esercizi C sui tipi definiti dall’utente
Politecnico di Milano Esercizi Stringhe Ricerca binaria.
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
File di testo, file binari
Esercizi C su array e matrici
Le liste dinamiche La ricorsione
Algebra Lineare Esercizi assegnati.
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Le funzioni.
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P.
Programmazione in Java Claudia Raibulet
1. 2 Struct Al fine di illustrare luso del tipo struct, utilizzando le struct descritte nella lezione precedente, mostriamo come si scrive un programma.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Esercitazione Esame È dato un foglio elettronico in Excel con un elenco di esami sostenuti da studenti Per ciascuna riga dell’elenco sono riportati: matricola.
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR Introduzione al C Esercitazione 5 D. Bloisi, A.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 11 e 12 -
CORSO DI PROGRAMMAZIONE II Lezione 22
Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; cons Creare lista L2 con.
Dato un vettore di reali di dimensione DIM, si inseriscano N elementi presi da tastiera, si utilizzi 0 per terminare l’inserimento. Ordinare gli elementi.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 10 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 3 Aprile 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
CORSO DI PROGRAMMAZIONE II
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Laboratorio di Linguaggi... altre D O M A N D E ! Marco Tarini Università dell’Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Copyright © Istituto Italiano Edizioni Atlas
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array n-dimensionali e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Strutture dati di tipo astratto 19 Strutture dati,
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 4 Aprile 2016.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo La ricorsione 15 Approccio ricorsivo, esercizi sulla.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Transcript della presentazione:

Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi sui dati strutturati 13 Tipi di dati strutturati. Informatica Programmazione II, modulo di Laboratorio it

Scrivere una function di tipo main che permette di inserire un certo numero di offerte di fornitori: - codice fornitore (numero naturale) - Nome fornitore (array di carattere ) - importo offerta in euro (numero float) Quando l’utente inserisce 0 come codice fornitore, l’inserimento ha termine. Il programma cerca e visualizza l’offerta migliore (la più economica). Mostra main Esercizio 1

La variabile strutturata Offerta può essere definita nel seguente modo: typedef struct { unsigned int CodiceFornitore; char NomeFornitore[20]; double Importo; } Offerta; Le funzioni utilizzate sono: Mostra void add_offerta(Offerta *arr,int *i, int max); Mostra void view_offerta(Offerta *arr, int n); Mostra int migl_offerta(Offerta *arr, int n); Esercizio 1 cont.

Sviluppare un programma strutturato in function che, definita una struttura opportuna per il tipo di dato complesso, consenta la possibilità di: Sommare numeri complessi; Moltiplicare numeri complessi Calcolare il modulo di un numero complesso Estrarre la parte reale Estrarre la parte Immaginaria Mostra main parte 1 Mostra main parte 2 Mostra main part 3 Esercizio 2

Il programma principale include la direttiva #include "complex.h" In cui vengono specificate le caratteristiche della struttura Complex e le funzioni sviluppate per operare su questo tipo di dato. Mostra complex.h Esercizio 2

Descriviamo nel dettaglio alcune delle funzioni sviluppate nel file complex.c richiamato dall’header file complex.h La struttura viene così definita: typedef struct{ double real; double imm; } Complex ; Mostra strutture La funzione Complex complexvalue() costruisce il numero complesso assegnando la parte reale ed il coefficiente dell’immaginario. Mostra complexvalue() Esercizio 2

Descriviamo nel dettaglio alcune delle funzioni sviluppate nel file complex.c richiamato dall’header file complex.h La funzione printcomplex stampa a video il numero complesso Mostra printcomplex() La funzione sumcomplex somma due numeri complessi Mostra sumcomplex() La funzione prodcomplex moltiplica due numeri complessi Mostra prodcomplex() Esercizio 2

Descriviamo nel dettaglio alcune delle funzioni sviluppate nel file complex.c richiamato dall’header file complex.h La funzione modcomplex calcola il modulo (norma) di un numero complesso. Mostra modcomplex() La funzione complex2real restituisce la parte reale di un complesso Mostra complex2real() La funzione complex2imm restituisce la parte immaginaria di un complesso Mostra complex2imm() Esercizio 2

Si definisca il tipo strutturato Studente che permetta di rappresentare informazioni riguardanti tutti gli esami superati da un certo studente. Studente è composto dai seguenti dati: matricola: una sequenza di 6 caratteri, vettEsamiSuperati: un vettore composto da 30 celle di tipo Esame, numeroEsamiSuperati: numero intero non negativo. Si definisca inoltre la variabile vettStudenti, che permetta di rappresentare l’insieme degli studenti del corso di Laurea in Informatica (si suppongano 100 studenti.). Sviluppare un programma strutturato in function per la stampa della carriera accademica (statino) degli studenti del corso di Laurea. Esercizio 3

Mostriamo un possibile esempio di strutture. typedef struct { char codiceCorso[6]; unsigned int votoRiportato; unsigned int annoAccademico; } Esame; typedef struct { char matricola[6]; unsigned int numeroEsamiSuperati; Esame *Elenco_es_sup; } Studente; Mostra strutture e prototipi. Esercizio 3

In questa pagina riportiamo le parti di un possibile programma chiamante del nostro esercizio. Si osservi che viene definito in maniera statica un elenco di studenti che fornisce l’input del nostro programma. Studente *Elenco_Studenti; … /* allocazione dell'elenco degli studenti */ Elenco_Studenti=(Studente*)malloc(n*sizeof(Studente)); Mostra main parte 1. Mostra main parte 2. Esercizio 3

Il programma viene infine strutturato in maniera modulare. Si riportano le differenti funzioni in cui è articolato. La funzione esami_sup(), inserisce gli esami superati da uno studente il voto riportato e l' anno accademico in cui l'esame è sostenuto. Mostra funzione esami_sup. La funzione studente_set(), costruisce uno studente assegnando la matricola, ed il numero di esami superati. Mostra funzione studente_set(). La funzione printStudente (), stampa lo statino dello studente. Mostra funzione printStudente(). Esercizio 3