Esempi e esercitazioni sulle matrici e strutture

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esempi e esercitazioni sulle matrici e strutture"

Transcript

1 Esempi e esercitazioni sulle matrici e strutture Prof. Antonio Scanu

2 1.1 Esempio sulle matrici Dimensionare una matrice, caricarla, visualizzarla e creare un vettore parallelo contenente le somme delle righe della matrice. #include<iostream> #define dimcolonne 100 #define dimrighe 100 using namespace std; void dimensiona(int &n, int &m); void carica(int n, int m, int matt[dimrighe][dimcolonne]); void visualizza(int n, int m, int const matt[dimrighe][dimcolonne]); void creavettore(int n, int m, int matt[dimrighe][dimcolonne],int vett[dimrighe]); void visualizzavettore (int n,int const v[dimrighe]); int main() { int nrighe,mcolonne,matrice[dimrighe][dimcolonne],vettore[dimrighe]; dimensiona(nrighe,mcolonne); carica(nrighe,mcolonne,matrice); visualizza(nrighe,mcolonne,matrice); creavettore(nrighe,mcolonne,matrice,vettore); visualizzavettore(nrighe,vettore); return 0; void dimensiona(int &n, int &m){ do{cout<<"inserisci il numero delle righe"; cin>>n; while(n<=0 n>=dimrighe); do{cout<<"inserisci il numero delle colonne"; cin>>m; while(m<=0 m>=dimcolonne); void carica(int n, int m, int matt[dimrighe][dimcolonne]){ int i,j; for(i=0;i<n;i++) {for(j=0;j<m;j++) {cout<<"inserisci il valore di posizione"<<i<<j; cin>>matt[i][j]; void visualizza(int n, int m, int const matt[dimrighe][dimcolonne]){ int i,j; for(i=0;i<n;i++) {for(j=0;j<m;j++) {cout<<matt[i][j]<<" "; cout<<endl; void creavettore(int n, int m, int matt[dimrighe][dimcolonne],int vett[dimrighe]){ int i,j;

3 for(i=0;i<n;i++) {for(j=0;j<m;j++) {vett[i]=vett[i]+matt[i][j]; void visualizzavettore (int n,int const vett[dimrighe]){ int j; for(j=0;j<n;j++) {cout<<vett[j]<<" "; 1.2 Esempio sulle strutture dati Dopo aver definito una struttura dati che descrive le seguenti caratteristiche di un uomo: nome,altezza, peso ed età. Scrivere un programma in cui si inseriscono i dati di due uomini e si visualizzano dopo averli scambiati. #include <iostream> using namespace std; struct uomo { char nome; int eta; int altezza; float peso; ; typedef struct uomo uomo; int main(){ uomo u1,u2,aux; cout<<"inserisci nome primo uomo"; cin>>u1.nome; cout<<"inserisci eta' primo uomo"; cin>>u1.eta; cout<<"inserisci altezza primo uomo"; cin>>u1.altezza; cout<<"inserisci peso primo uomo"; cin>>u1.peso; cout<<"inserisci nome secondo uomo"; cin>>u2.nome; cout<<"inserisci eta' secondo uomo"; cin>>u2.eta; cout<<"inserisci altezza secondo uomo"; cin>>u2.altezza; cout<<"inserisci peso secondo uomo"; cin>>u2.peso; aux.altezza=u1.altezza; aux.eta=u1.eta; aux.peso=u1.peso; aux.nome=u1.nome; u1.altezza=u2.altezza;

4 u1.eta=u2.eta; u1.peso=u2.peso; u1.nome=u2.nome; u2.altezza=aux.altezza; u2.eta=aux.eta; u2.peso=aux.peso; u2.nome=aux.nome; cout<<"dati primo uomo="; cout<<" nome "<<u1.nome; cout<<" eta' "<<u1.eta; cout<<" peso "<<u1.peso; cout<<" altezza"<<u1.altezza<<endl; cout<<"dati seconodo uomo="; cout<<" nome "<<u2.nome; cout<<" eta' "<<u2.eta; cout<<" peso "<<u2.peso; cout<<" altezza"<<u2.altezza<<endl; return 0; 1.3 Vettori di struttura e passaggio a funzione Si possono definire anche vettori di struttura utilizzando la stessa notazione dei vettori e indicando i campi preceduti da un punto. Il passaggio di parametri è identico a quello degli altri tipi di dato. Esempio dopo aver caricato un vettore di struttura che tiene conto delle caratteristiche di un uomo (nome,eta,altezza,peso) lo visualizzi e determini e visualizzi le caratteristiche della persona più alta e la media delle età attraverso rispettivamente una procedura e una funzione. #include <iostream> #define dim 100 using namespace std; struct uomo { char nome; int eta; int altezza; float peso; ; typedef struct uomo uomo; int dimensiona(); void carica(int n,uomo u[dim]); void visualizza (int n, uomo const u[dim]); void calcolo(int n,uomo const u[dim], uomo &umax); float funmedia(int n, uomo const u[dim]); int main(){ uomo uvett[dim],uomomax; float media; int n1; n1=dimensiona(); carica(n1,uvett); visualizza(n1,uvett); calcolo(n1,uvett,uomomax);

5 cout<<"\n dati dell' uomo con l'altezza' maggiore sono:"<<endl; cout<<" nome "<<uomomax.nome<<endl; cout<<" eta' "<<uomomax.eta<<endl; cout<<" peso "<<uomomax.peso<<endl; cout<<" altezza "<<uomomax.altezza<<endl<<endl; media=funmedia(n1,uvett); cout<<"la media dell'eta' e'"<<media<<endl; return 0; int dimensiona(){ int n; do {cout<<"inserisci dimensione ninore di 100"; cin>>n; while(n<=0 n>100); return n; void carica(int n,uomo u[dim]){ int i; for(i=0;i<n;i++){ cout<<endl<<"dati uomo numero"<<i+1<<endl; cout<<"inserisci nome uomo "; cin>>u[i].nome; do{cout<<"inserisci eta' "; cin>>u[i].eta; while(u[i].eta<=0); do{cout<<"inserisci altezza "; cin>>u[i].altezza; while(u[i].altezza<=0); do{cout<<"inserisci peso "; cin>>u[i].peso; while(u[i].peso<=0); void visualizza (int n, uomo const u[dim]){ int i; cout<<"\n tabella dati"<<endl<<"num nome eta' peso altezza "<<endl; for(i=0;i<n;i++){ cout<<i<<"\t"<<u[i].nome<<"\t"<<u[i].eta<<"\t"<<u[i].peso<<"\t"<<u[i].altezza<<"\t"<<e ndl; void calcolo(int n,uomo const u[dim], uomo &umax){ int i; umax.eta=-1; umax.peso=-1; umax.altezza=-1; for(i=0;i<n;i++){ if(umax.altezza<u[i].altezza) { umax.nome=u[i].nome; umax.eta=u[i].eta; umax.peso=u[i].peso; umax.altezza=u[i].altezza;

6 float funmedia(int n, uomo const u[dim]){ int i;float acc,m; for(i=0;i<n;i++){ acc=acc+u[i].eta; m=acc/n; return m;

7 2 ESERCITAZIONE (Matrici) 1. Dimensionare,caricare e visualizzare A(5,5). Letto un intero da tastiera visualizzare la riga corrispondente a quell intero. Eseguire un controllo sul valore inserito da tastiera. 2. Data una matrice costruire un algoritmo che crea un vettore contenete la media dei valori contenuti nelle righe ed un secondo vettore contenente la media dei valori contenuti nelle colonne. 3. Considerare una matrice di interi S di dimensione Nx2 in cui la prima colonna riporta i numeri di matricola di N studenti e la seconda colonna il voto da essi riportato nell esame di programmazione. Ad esempio : mat voto Scrivere un programma che legga e visualizzi la matrice e successivamente effettui le seguenti operazioni : Letto il valore di un voto compreso tra 18 e 30, visualizzare le matricole di tutti gli studenti che hanno riportato quel voto, inviando un messaggio nel caso che nessuno lo abbia riportato. Letto il valore di una matricola, verificare se lo studente con tale matricola ha sostenuto o no l esame. Scambiare di posto nella tabella lo studente che ha la matricola più alta con quello che ha la matricola più bassa ( scambiando anche i voti ) 4. Si consideri una matrice di interi S di dimensione Nx3 n cui la prima colonna riporta i numeri di matricola di N studenti e la seconda colonna il voto da essi riportato in un esame e la terza il codice dell esame. Ad esempio : matr. voto esame

8 Nella prima colonna, compaiono più volte le matricole degli studenti che hanno sostenuto più di un esame. Scrivere un programma che generi e visualizzi la matrice e successivamente effettui le seguenti operazioni : letto un numero di matricola, visualizzi la media dello studente che ha quella matricola oppure un messaggio se lo studente non ha sostenuto nessun esame. Visualizzi per ogni codice di esame la media riportata dagli studenti che lo hanno sostenuto. 5. Considerare una matrice di interi S di dimensione Nx2 in cui la prima colonna riporta i numeri di matricola di N studenti e la seconda colonna il voto da essi riportato nell esame di programmazione. Ad esempio : mat voto Scrivere un programma che legga e visualizzi la matrice. Ordinare la tabella per matricole crescenti (scambiando anche i voti). 6. Abbiano in input 3 vettori paralleli contenenti i dati relativi ai libri di una biblioteca: TIT AUT NCOPIE Titolo libro Autore Numero di copie disponibili Scrivere un programma che preveda le seguenti richieste. a) Gestione prestito: dato un titolo in input se il numero di copie è maggiore di zero si effettua il prestito decrementando di 1 il numero di copie. Se il numero di copie è uguale a zero, si stampa un messaggio per libro non disponibile. b) Gestione restituzione: dato in input il titolo si incrementa di 1 il numero di copie disponibili. c)stampa di tutti i libri di un determinato autore fornito in input nella forma: LIBRO SCRITTO DA... TITOLO...

9 Esercizi semplici sulle Strutture Esercizio 1 Si vuole realizzare un tipo struct adatto a contenere informazioni anagrafiche di persone (cognome, nome, data di nascita, indirizzo di residenza). Per semplicità La data di nascita deve essere composta in giorno mese anno e i campi alfanumerici possono essere semplificati con un carattere. Esercizio 2 Sia dato il tipo struct dell esercizio Precedente. Si scrivano due funzioni leggipersona e scrivipersona, rispettivamente per acquisire da tastiera e stampare a video i dati relativi a una struct. Per l input, si prevede che vengano stampati i nomi di ognuno dei campi per i quali si fa input. Analogamente per l output. Esercizio 3 Si scriva una funzione in grado di contare il numero di giorni intercorsi tra due date di nascita di due persone diverse, ricevute come parametri in ingresso. Si svolga l esercizio in due modi diversi. Il primo modo passando le variabili intere di due persone, il secondo passando solo i campi che servono. Esercizi sui vettori di Struttura 1. Scrivere un programma che, utilizzando il tipo struttura, costruisca la seguente tabella. matricola Cognome e Nome Corso voto 121 Piras Giorgio A Zucca Mario B Rossi Paolo A Pinco Pallino A Vacca Sergio B Serra Marcello B 27 Acquisire i dati da tastiera e visualizzare la tabella. Inserire nel precedente programma una funzione che riceve la tabella come argomento, legge il codice di un corso e visualizza tutti gli studenti di quel corso. La visualizzazione avviene all interno della funzione. 2. Utilizzando una struttura, descrivere il menù di un ristorante in modo che sia utilizzabile da una persona che segue una dieta. Nella struttura sono riportati il nome del piatto (es. minestra, pastasciutta), le calorie, il tipo (0=antipasto, 1=primo, 2=secondo, 3=con-torno, 4=frutta, 5=dessert), il prezzo. Memorizzare i piatti disponibili in una tabella acquisita dal main e visualizzarla.

10 Inserire nel programma una funzione che riceve dal main un intero tra 0 e 5 che indica un tipo di piatto e visualizza il nome del piu costoso piatto di quel tipo. Inserire nel programma precedente una funzione che legge i piatti scelti dal cliente (mediante la loro posizione nel menù) e rende al main il prezzo del pasto e le calorie fornite. Inserire nel programma una funzione che ordina i piatti disponibili in ordine di tipo.

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti Esercizi risolti 1 Esercizio Si vuole realizzare un tipo utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero intero indicante il codice di riferimento dell articolo

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

Algoritmo di ordinamento per sostituzione. Esempio : dato l array :

Algoritmo di ordinamento per sostituzione. Esempio : dato l array : Algoritmo di ordinamento per sostituzione Per ottenere un ordinamento crescente con l algoritmo di ordinamento per Sostituzione si confronta l elemento nella prima posizione con gli elementi nelle posizioni

Dettagli

Fondamenti di Informatica Ing. Biomedica

Fondamenti di Informatica Ing. Biomedica Fondamenti di Informatica Ing. Biomedica Esercitazione n.8 Matrici Antonio Arena antonio.arena@ing.unipi.it Fondamenti di Informatica - Esercitazione n.8 2 Matrici In C++ viene trattata come array multi-dimesionale.

Dettagli

4. Accesso diretto per gli archivi con record a lunghezza costante

4. Accesso diretto per gli archivi con record a lunghezza costante 4. Accesso diretto per gli archivi con record a lunghezza costante Nell accesso diretto (in inglese, random) al file binario, le operazioni di lettura o scrittura devono essere precedute dall operazione

Dettagli

Tipi strutturati - struct

Tipi strutturati - struct Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente

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

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

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

I tipi strutturati e i record in C++

I tipi strutturati e i record in C++ I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

Dettagli

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero Stato di uno stream Uno stream possiede uno stato, che può essere corretto o errato. Quando lo stream è in stato di errore, non posso utilizzarlo. In lettura: Apertura di un file che non esiste X Ho raggiunto

Dettagli

Tutorato Elementi di Informatica 2018

Tutorato Elementi di Informatica 2018 Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercitazione 2 Introduzione e Tipi di

Dettagli

Fondamenti di Informatica 1 - Compito A

Fondamenti di Informatica 1 - Compito A Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 18 Giugno 2007 Esercizio (16 punti) Un programma in linguaggio C deve accedere ad un database di studenti, memorizzato in un file binario studenti.bin.

Dettagli

Per implementare l Algoritmo si devono usare 2 coppie di indici :

Per implementare l Algoritmo si devono usare 2 coppie di indici : Ordinamento di una per sostituzione Ordinamento di una per sostituzione Per ottenere un ordinamento crescente di una per Sostituzione, l algoritmo è identico a quello per l ordinamento di un vettore. Si

Dettagli

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da ambo le parti. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

Dettagli

Ricerca binaria (o dicotomica) di un elemento in un vettore

Ricerca binaria (o dicotomica) di un elemento in un vettore Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli

Dettagli

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Algoritmo di ordinamento per scambio (a bolle o bubble sort)

Algoritmo di ordinamento per scambio (a bolle o bubble sort) Algoritmo di ordinamento per scambio (a bolle o bubble sort) Per ottenere un ordinamento crescente con l algoritmo di ordinamento per scambio (bubble sort) si prenno in considerazione i primi due elementi

Dettagli

Classe Squadra. #include <iostream> using namespace std;

Classe Squadra. #include <iostream> using namespace std; Classe Squadra Si vuole scrivere un programma che gestisce la classifica di un campionato tra squadre di calcio, ognuna identificata dal proprio nome. Il programma deve essere in grado di assegnare un

Dettagli

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

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operatore? Tipo di dato: struct La ricorsione Funzioni ricorsive Esercizi proposti 26/04/2012 2 Operatore? L'operatore? può essere

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 20133 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.3411 Informatica ed Elementi

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 08 Stringhe e strutture Lab8 1 Esercizio 1 n Scrivere una funzione che data una stringa A calcoli la sua lunghezza.

Dettagli

Matematica - SMID : Programmazione Gennaio 2009 FOGLIO RISPOSTE

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

Dettagli

Prova Scritta del 20/09/10

Prova Scritta del 20/09/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun

Dettagli

Prova Scritta del 20/09/10

Prova Scritta del 20/09/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun

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

Matematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE

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

Dettagli

IL COSTRUTTO ITERAZIONE

IL COSTRUTTO ITERAZIONE IL COSTRUTTO ITERAZIONE Ragioniamo su questo esercizio Dati tre numeri farne la somma Modifichiamo il programma perché permetta di fare la somma di 1000 numeri. Il costrutto iterazione Il costrutto iterativo

Dettagli

Il paradigma OO e le Classi

Il paradigma OO e le Classi Oggetti e Classi (CAP 10) Alberto Garfagnini Università degli studi di Padova 1 Dicembre 2009 Il paradigma OO e le Classi La programmazione ad Oggetti () è una filosofia di programmazione che si basa sui

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 2

Dettagli

Prova Scritta del 17/01/11

Prova Scritta del 17/01/11 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da solo da un lato se si vogliono avere le fotocopie del compito. In testa a ciascun

Dettagli

ESERCIZI SVOLTI. # include <iostream.h> # include <stdlib.h> # define int_inf # define int_sup main() { int n1,n2,n3,n4,i,min_prec,minimo;

ESERCIZI SVOLTI. # include <iostream.h> # include <stdlib.h> # define int_inf # define int_sup main() { int n1,n2,n3,n4,i,min_prec,minimo; ESERCIZI SVOLTI Esercizio 1: scrivere un programma che legge 4 numeri, compresi in un dato intervallo, dallo standard input e stampa i numeri letti in ordine crescente sullo standard output # include

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

ESERCIZIO: SHIFT ARRAY (1)

ESERCIZIO: SHIFT ARRAY (1) ARRAY E STRINGHE ARRAY ESERCIZIO: SHIFT ARRAY (1) Utilizzando le funzioni scrivere un programma che: genera una sequenza di N = 20 numeri interi e li memorizza in un array ( riempi_array( )) visualizza

Dettagli

Matematica - SMID : Programmazione Luglio 2007 FOGLIO RISPOSTE

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

Dettagli

Matematica - SMID : Programmazione Giugno 2007 FOGLIO RISPOSTE

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

Dettagli

Ripasso R1. Dati strutturati. Esempi. Array. Dichiarazione di un array. Dichiarazione di un array in C

Ripasso R1. Dati strutturati. Esempi. Array. Dichiarazione di un array. Dichiarazione di un array in C Ripasso R1 Dati strutturati Aggregazione di dati omogenei: gli array Spesso gli algoritmi lavorano su insiemi di dati omogenei. o l insieme dei valori reali che rappresentano le temperature medie delle

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione

Dettagli

N:\Lavoro\Compiti\esercizi svolti\4\info \main.c mercoledì 21 maggio :11

N:\Lavoro\Compiti\esercizi svolti\4\info \main.c mercoledì 21 maggio :11 1 /***************************************************************************** 2 Compito del 11/04/2014 - Testo di R.Giannantonio soluzione di M.G. Maffucci 3 Realizzare un programma che legge n numeri

Dettagli

Lab 2 Info B. Diego Carrera Ing. Gian Enrico Conti 7 Novembre 2016

Lab 2 Info B. Diego Carrera Ing. Gian Enrico Conti 7 Novembre 2016 Lab 2 Info B Diego Carrera diego.carrera@polimi.it Ing. Gian Enrico Conti gianenrico.conti@mail.polimi.it 7 Novembre 2016 Per macchine PoliMI https://virtualdesktop.polimi.it 2 Richiami: Stringhe Le stringhe

Dettagli

IL COSTRUTTO SEQUENZA

IL COSTRUTTO SEQUENZA IL COSTRUTTO SEQUENZA La programmazione strutturata Le istruzioni sono scritte una di seguito all altra nell ordine in cui vogliamo che siano interpretate dal compilatore e poi eseguite. Non sono contemplate

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate

Dettagli

L AMBIENTE CODE BLOCKS E L IO

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

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Introduzione al linguaggio C Dati aggregati

Introduzione al linguaggio C Dati aggregati Introduzione al linguaggio C Dati aggregati Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 5 ottobre

Dettagli

ESERCIZIO 1 ESERCIZIO 2

ESERCIZIO 1 ESERCIZIO 2 ESERCIZIO 1 Scrivere una funzione che data una stringa A calcoli la sua lunghezza. int lunghezza(char A[]); Scrivere una funzione che date due stringhe A e B copi il contenuto di A in B e restituisca il

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

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Concetto di stream. c i a o \0. c i a o \0. c i a o \0 Concetto di stream Uno stream è un flusso di byte che permette al programma di comunicare con l esterno (es. con periferiche di input/output) c i a o \0 c i a o \0 c i a o \0 Stream di uscita standard

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

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

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi

Dettagli

Complementi ed esercitazioni sui sottoprogrammi

Complementi ed esercitazioni sui sottoprogrammi Complementi ed esercitazioni sui sottoprogrammi Prof. Antonio Scanu 1 Esempi sulle funzioni 1.1 Esempio : Somma tra due numeri #include int somma (int x, int y); int main () int a,b,z; cout

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

Per fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice)

Per fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice) Vettore(Array monodimensionale) Sequenza di posizioniconsecutive (o locazioni di memoria) che vengono chiamate elementi del vettore Gli elementi hanno tutti lo stesso nomee sono tutti dell stesso tipo

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Strutture di dati Laboratorio di Informatica 5. Strutture / Array di oggetti / Pila&Coda in C++ Una struttura è un insieme finito di variabili (dette campi) non necessariamente dello stesso tipo, ognuna

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Elementi di Informatica

Elementi di Informatica Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Tipi

Dettagli

Lab 12 Stringhe e strutture"

Lab 12 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 12 Stringhe e strutture" Lab12 1

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

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA Laboratorio di Programmazione e Calcolo Cognome:... A.A. 2017-18 Nome:... Test Finale con Soluzioni Matricola:... Roma, 18 gennaio 2018

Dettagli

Dati aggregati. Violetta Lonati

Dati aggregati. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture

Dettagli

Scrittura formattata - printf

Scrittura formattata - printf Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ESERCIZI - 1 http://www.diee.unica.it/giacinto/lab

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

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

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 24/04/08 Nota Questi lucidi sono tratti

Dettagli

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.

Dettagli

6SC Informatica 9/12/2015

6SC Informatica 9/12/2015 6SC-C-007-2015-12-09 (S) Studente: THE TEACHER CLASSE MATERIA DATA OGGETTO VALUTAZIONE 6SC Informatica 9/12/2015 Preparazione alla verifica di venerdì 18/12 (soluzioni) N.A. Scrivere, in linguaggio C++,

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione INFORMATICA B Appello 16 febbraio 2017 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Lab 08 Stringhe e strutture

Lab 08 Stringhe e strutture Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 08 Stringhe e strutture Lab12 1 Esercizio

Dettagli

struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; };

struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; }; /* Programma 12cppEse1.cpp Autore : Riontino Raffaele 4 informatici ITIS Molinari - Milano corso serale 2/11/2010 Testo : Si vuole realizzare un tipo struct, utilizzato per informazioni su biglietti per

Dettagli

7 Riepilogo. Questa dispensa propone esercizi riepilogativi sui concetti visti finora ovvero: costrutti condizionali (if,switch);

7 Riepilogo. Questa dispensa propone esercizi riepilogativi sui concetti visti finora ovvero: costrutti condizionali (if,switch); Questa dispensa propone esercizi riepilogativi sui concetti visti finora ovvero: costrutti condizionali (if,switch); costrutti iterativi (for,while); dichiarazione di vettori e matrici; dichiarazione di

Dettagli

Esercizio 1. Esercizio 1 - Soluzione

Esercizio 1. Esercizio 1 - Soluzione 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

Fondamenti di Informatica T-1 Modulo 2. Obiettivo di questa esercitazione. File di testo File binari

Fondamenti di Informatica T-1 Modulo 2. Obiettivo di questa esercitazione. File di testo File binari Fondamenti di Informatica T-1 Modulo 2 Obiettivo di questa esercitazione File di testo File binari 2 1 1 Esercizio 1 Realizzare un programma che, aperto un file di testo di nome Prova.txt in modalità scrittura,

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 26/09/2000

Laboratorio 26/09/2000 Laboratorio 26/09/2000 Note Il compilatore usato è il DJGPP, un compilatore C/C++ a 32 bit ANSI C. Documentato e supportato via Internet (www.delorie.com). Per compilare utilizzare un comando del tipo

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

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

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

INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ SECONDA LEZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ SECONDA LEZIONE INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ SECONDA LEZIONE Se conosciamo quanti cicli eseguire Usiamo il costrutto: for (inizializzazione; condizione di esecuzione; istruzione di avanzamento) { ISTRUZIONI

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

Dal problema al programma

Dal problema al programma Dal problema al programma Area del rettangolo Rettangolo Acquisisci base Acquisisci altezza Calcola Area Visualizza Area Fine I I O Il programma acquisisce: il valore della base il valore della altezza

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 26 Novembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 Soluzione della prova scritta del 4 Marzo 2005 Esercizio 1 (2 punti) Semplificare la seguente funzione booleana, mostrando il procedimento utilizzato per ottenere il risultato.

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cognome Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (5 punti) Date le seguenti strutture dati: float elementi[50]; int numeroelementi; Vettore; Fondamenti di Informatica 2 Prova scritta

Dettagli

Input/Output Input = clienti.bin, n (funzione richiesta dall utente), Cognome (per il punto 1) Output = dati_cliente, top2, sconti.

Input/Output Input = clienti.bin, n (funzione richiesta dall utente), Cognome (per il punto 1) Output = dati_cliente, top2, sconti. Fondamenti di Informatica L-A (Elettronica/Automazione) A.A. 2005/2006, quarto scritto (5/4/2005) Proposta di soluzione (ragionata) dell esercizio di progetto 1 Input/Output Input = clienti.bin, n (funzione

Dettagli

1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio

1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio soluzione di un problema 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio rappresentazioni disponibili in C++:

Dettagli