Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Documenti analoghi
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 10 Novembre 2009 COGNOME E NOME RIGA COLONNA MATRICOLA

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

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

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

RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA

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

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 20 Febbraio 2014 COGNOME E NOME

Spazio riservato ai docenti

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

FONDAMENTI DI INFORMATICA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 25 Gennaio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA

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

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

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

RIGA COLONNA MATRICOLA

INFORMATICA ED ELEMENTI DI INFORMATICA MEDICA. MODULO DI INFORMATICA Prof. Stefano Gaburri e Prof. Gianluca Palermo. Prova del 12 Luglio 2010

RIGA COLONNA MATRICOLA

Informatica A a.a. 2010/ /02/2011

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B

15 Riepilogo di esercizi in MATLAB

Abbiamo inoltre visto come tracciare grafici di superfici su spazio cartesiano con la funzione mesh:

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA

Elementi di Informatica A. A. 2016/2017

Politecnico di Milano Facoltà di Ingegneria Milano Leonardo A.A. 2007/08

Traccia 1. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale

Questa dispensa propone esercizi riepilogativi sui concetti visti finora ovvero: Esercizio 7.1

Esercizio 1. Esercizio 1 - Soluzione

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Questa dispensa propone esercizi riepilogativi sui concetti visti finora ovvero:

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

1 (7) 2 (5) 3 (6) 4 (6) 5 (4) 6 (4)

Informatica 1. Prova di recupero 15 Febbraio 2005

1 (4) 2 (4) 3 (7) 4 (5) 5 (5) 6 (7)

Programmazione 1 A.A. 2015/2016

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

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Il linguaggio C. Notate che...

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Linguaggio C: puntatori

Aggregati di dati eterogenei: il tipo struct. Esercizi risolti

Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri

Informatica 1. Prova di recupero 21 Settembre 2001

1 (6) 2 (7) 3 (7) 4 (7) 5 (6)

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B. Esempio di seconda prova in itinere A.A

I puntatori e l allocazione dinamica di memoria. Esercizi risolti

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

Esercizio 1. Esercizio 2

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

Scrittura formattata - printf

Laboratorio di Matlab

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

Linguaggio C Struct e union

Programmazione Procedurale in Linguaggio C++

Politecnico di Milano

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

1 (4) 2 (4) 3 (7) 4 (5) 5 (6) 6 (6)

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

Dati aggregati. Violetta Lonati

Introduzione al linguaggio C Puntatori

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

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

Matlab/Octave - Esercitazione 13

Stringhe e tipi di dati strutturati

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

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

Esercizi C sui tipi definiti dall utente

Fondamenti di Informatica

Introduzione a Matlab

C: panoramica. Violetta Lonati

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Esercizi. La funzione swapint() primo tentativo

Problem solving elementare su dati vettoriali

ESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA

Il linguaggio C. Puntatori e dintorni

Universita degli Studi di Siena

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 17/2/2009

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

Array multidimensionali e stringhe

CALCOLATRICI, APPUNTI, LIBRI E QUADERNI,

Fondamenti di Informatica

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

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

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Esempio di prova scritta di Fondamenti di Informatica

Fondamenti di Informatica Esercizi settimanali n. 3 01/10/2009 SOLUZIONI PROPOSTE

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

1. Descrivere il significato della seguente istruzione se x è un vettore di 10 elementi reali:

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

Transcript:

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi, deve essere debitamente compilato con cognome e nome, numero di matricola, posizione durante lo scritto (comunicata dal docente). Il tempo a disposizione è di 2 ore. Non separate questi fogli. Scrivete la soluzione solo sui fogli distribuiti, utilizzando il retro delle pagine in caso di necessità. Cancellate le parti di brutta (o ripudiate) con un tratto di penna. Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. È possibile scrivere a matita (e non occorre ricalcare al momento della consegna!). È vietato utilizzare calcolatrici, telefoni o pc. Chi tenti di farlo vedrà annullata la sua prova. È ammessa la consultazione di libri e appunti, purché con pacata discrezione e senza disturbare. Qualsiasi tentativo di comunicare con altri studenti comporta l espulsione dall aula. È possibile ritirarsi senza penalità. Non è possibile lasciare l aula conservando il tema della prova in corso.

Esercizio 1 (8 punti) Si considerino le seguenti dichiarazioni di tipi e variabili, che definiscono le strutture dati per rappresentare dei rilevamenti meteorologici effettuati per 30 comuni lombardi nell intero anno 2009. typedef struct { unsigned int giorno; /* tra 1 e 31 */ unsigned int mese; /* tra 1 e 12 */ float livellop; /* pioggia caduta */ rilievo; typedef struct { char comune[20]; /*nome del comune*/ rilievo rilievi[365]; /* max 365 rilievi - non è detto che i /* rilievi abbiano cadenza giornaliera */ int nrilievi; /* numero di rilievi effettivamente /* registrati in rilievi */ rilievicomune; /* dati monitorati nell anno per un singolo comune */ typedef rilievicomune rilieviglobali[30]; /* dati monitorati nell anno /* per tutti i 30 comuni */ rilieviglobali dg; float sogliap; Scrivere un frammento di codice, definendo eventuali variabili aggiuntive, che trovi tutte le città che nel mese di dicembre hanno registrato almeno un rilievo in cui il livello di pioggia caduta è superiore a quello memorizzato nella variabile sogliap. Per ognuna di tali città si visualizzi su un unica riga il nome e la media della quantità di pioggia caduta calcolata sull intero anno. Si assuma che le variabili sogliap e dg siano state inizializzate attraverso istruzioni qui non mostrate. int i,j,n,trovato; float totalep, media; for (i=0; i<30; i++) { n=dg[i].nrilievi; trovato=0; totalep=0.0; for (j=0; j<n; j++) { totalep += dg[i].rilievi[j].livellop; if ((dg[i].rilievi[j].mese==12) && (dg[i].rilievi[j].livellop > sogliap)) trovato=1; if (trovato) { media = totalep/n; printf("il comune di %s nel 2009 ha registrato un livello medio di precipitazioni di %f", dg[i].comune, media);

Esercizio 2 (10 punti) Data una serie di misurazioni i cui valori misurati sono contenuti in un vettore x e i relativi pesi sono contenuti in un vettore w (delle stesse dimensioni di x), la media pesata si calcola come segue: Si risponda ai seguenti quesiti utilizzando il linguaggio MATLAB. 1) Scrivere una funzione mediapesata avente come argomenti i vettori x e w e come risultato la media pesata. 2) Scrivere una funzione mediapesataspeciale con parametri analoghi alla precedente, ma che calcoli la media pesata considerando come zeri i pesi relativi alle misurazioni con il valore minimo e il valore massimo. 3) Si consideri una matrice Z di dimensione 2xN precedentemente definita in cui le colonne rappresentano le N misurazioni, la prima riga contiene i valori di ogni misurazione e la seconda riga i relativi pesi. Si scriva uno script per trovare gli indici delle misurazioni con valore compreso tra la media pesata e la media pesata speciale (estremi inclusi). 4) Scrivere una funzione di ordine superiore mediapesatasuperiore avente come argomenti x, w, e una funzione f con parametri analoghi a quelle sviluppate ai punti 1 e 2. Il risultato sarà la media pesata calcolata utilizzando f. Si mostri infine un esempio di invocazione. punto 1 function r=mediapesata(x,w) r=sum(x.*w./sum(w)); punto 2 function r=mediapesataspeciale(x,w) selmin=min(x)==x; selmax=max(x)==x; w(selmin selmax)=0; r=mediapesata(x,w); punto 3 x=z(1,:); w=z(2,:); sel1=x>=mediapesata(x,w)&x<=mediapesataspeciale(x,w); sel2=x<=mediapesata(x,w)&x>=mediapesataspeciale(x,w); find(sel1 sel2) punto 4 function r=mediapesatasuperiore(x,w,f) r=f(x,w); mediapesatasuperiore(x,w,@mediapesata)

Esercizio 3 (8 punti) Si analizzi la funzione ricorsiva sotto riportata e si spieghi in modo sintetico che cosa calcola. Si indichi inoltre cosa restituisce la funzione quando viene chiamata con i seguenti parametri: cosafa([1 4 3 2],5) function [res]=cosafa(v,s) res=-1; if sum(v)==s res=v; end ii=1; while res==-1&ii<=length(v) res=cosafa(v([1:ii-1 ii+1:end]),s); ii=ii+1; end La funzione riceve in ingresso un vettore di numeri interi positivi v, un numero intero positivo s e restituisce un vettore res contenente un sottoinsieme di elementi di v che ha somma s. Nel caso non esistesse alcuna combinazione di elementi in v la cui somma è pari ad s, la funzione restituisce il valore -1. Nel caso esistano più combinazioni di elementi in v che hanno somma s, la funzione restituisce solo la prima combinazione trovata. cosafa([1 4 3 2],5) [3 2]

Esercizio 4 (6 punti) Un sistema dispone di 16 pagine di memoria fisica e 64 di memoria virtuale. Sapendo che l indirizzo fisico è di 12 bit, rispondere alle seguenti domande giustificando le risposte: a) Qual è la dimensione della pagina di memoria fisica e la dimensione totale della memoria fisica? b) Qual è la dimensione della pagina di memoria virtuale e la dimensione totale della memoria virtuale? c) Qual è la struttura dell indirizzo virtuale e di quello fisico (indicarne i campi e la rispettiva lunghezza)? c) 12 bit indirizzo fisico, 16 pagine NPF: 4 bit offset: 8bit 64 pagine virtuali 14 it indirizzo virtuale NPV=6bit offset:8bit a) pagina fisica da 256 byte, memoria fisica da 4Kbyte b) pagina virtuale da 256 byte memproa fisica da 16 Kbyte