13 Esercizi di Riepilogo

Documenti analoghi
15 Riepilogo di esercizi in MATLAB

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

10 Funzioni MATLAB. dove: output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

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

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

ESERCIZIO 1. Informatica B - Esercitazione 10

Le grandezze fisiche scalari sono completamente definite da un numero e da una unità di misura.

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

Laboratorio di Programmazione Laurea in Bioinformatica

Questa dispensa propone esercizi riepilogativi sui concetti visti finora ovvero:

Fondamenti di Informatica T-1 Modulo 2

Excel come foglio di calcolo. Altri Grafici con Excel Istogrammi, grafici a torta

Scale Logaritmiche. Matematica con Elementi di Statistica a.a. 2015/16

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Lab 10 Passaggio per riferimento

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

Informatica B

Fondamenti di Informatica T-1 Modulo 2

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Introduzione alla programmazione Esercizi risolti

Generazione di una mesh rettangolare

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

PRIMA PARTE. Rett 2. Rett 3. cateto a cateto b ipotenusa area perimetro

Laboratorio di Sperimentazioni di Fisica I MOD A. 14 ottobre 2009

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

Lezione 05. Costruzione di grafici a torte, grafici a linee, istogrammi

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

Richiami sullo studio di funzione

Lezione 6 Richiami di Geometria Analitica

Funzioni. iniettiva se x y = f (x) f (y) o, equivalentemente, f (x) = f (y) = x = y

Teoria in sintesi 10. Teoria in sintesi 14

Cultura Tecnologica di Progetto

Foglio Elettronico Lezione 1

Fondamenti di Informatica A.A. 2016/17

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

10 Funzioni MATLAB. dove. output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione

LABORATORIO DI MATEMATICA: COORDINATE POLARI ESTENSIONE DELLE FUNZIONI TRIGONOMETRICHE

Problema ( ) = 0,!

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

Utilizzo di index() per determinare la colonna delle x

Esercizio 1. Esercizio 2

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Esercitazione n 2. Costruzione di grafici

C I R C O N F E R E N Z A...

I/O avanzato e File Esercizi proposti

Trasformazioni Logaritmiche

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

EQUAZIONE DELLA RETTA

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

CORSO DI LABORATORIO DI INFORMATICA

determinare le coordinate di P ricordando la relazione che permette di calcolare le coordinate del punto medio di un segmento si

3. Matrici e algebra lineare in MATLAB

ESERCITAZIONI 1 e 2: calcoli

1. Scrivi l equazione dell ellisse avente per fuochi i punti ( 2 7;3) e (2 7;3) e passante per il punto (2 6;4).

Funzioni. function [<risultati>] = nome_funzione ([ par.formali ])

Argomenti Capitolo 1 Richiami

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Fondamenti di Informatica

Esercitazione 1 Conversione di base

Laboratorio di Algoritmi e Strutture Dati

Appunti sui Fogli Elettronici. Introduzione. D. Gubiani. 19 Luglio 2005

Universita degli Studi di Siena

L INDAGINE STATISTICA

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

GEOMETRIA ANALITICA

IL PIANO CARTESIANO E LA RETTA

Informatica B

GEOMETRIA ANALITICA 1 IL PIANO CARTESIANO

VETTORI E SCALARI DEFINIZIONI. Si definisce scalare una grandezza definita interamente da un solo numero, affiancato dalla sua unità di misura.

Esercizi geometria analitica nello spazio. Corso di Laurea in Informatica. Docente: Andrea Loi. Correzione

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

Tetrapyramis. organizza. Duello. Gara di giochii logici a squadre per Istituti Scolastici

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd)

INSIEMI DI NUMERI COMPLESSI E LORO RAPPRESENTAZIONE SUL PIANO COMPLESSO. di Francesco Camia

1 Prodotto cartesiano di due insiemi 1. 5 Soluzioni degli esercizi 6

CLASSE 3^ A LICEO SCIENTIFICO 31 Agosto 2015 Recupero MATEMATICA

LA RETTA NEL PIANO CARTESIANO

FUNZIONI GONIOMETRICHE

ESAME 16/02/2016 (A) Prof. C. DE MAIO

Quadro riassuntivo di geometria analitica

Prova di laboratorio di reti di calcolatori

Introduzione a Matlab

Spazio riservato ai docenti

Fondamenti di Informatica

Esercizi su strutture dati

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

MATEMATICA PRIMO COMPITINO SOLUZIONE DI ALCUNI ESERCIZI PRIMA PARTE. Esercizio 1. (Testo B) Determina, motivando la risposta, se la funzione f : R R

Lezione 6 programmazione in Java

RELAZIONI e CORRISPONDENZE

COMPITO IN CLASSE DI MATEMATICA Funzioni di due variabili Classe 5ª D. Fila A

Microsoft Excel Nozioni avanzate

International Olympiad in Informatics 2013

L errore percentuale di una misura è l errore relativo moltiplicato per 100 ed espresso in percentuale. Si indica con e p e risulta: e ( e 100)%

Laboratorio di programmazione

14 Function Handles in MATLAB

Transcript:

13.1 Esercizi Esercizio 13.1 Si consideri una versione semplificata della battaglia navale in cui le navi possono essere posizionate solo in orizzontale e ogni riga può contenere al massimo una nave. Il campo di gioco di un singolo giocatore può essere rappresentato tramite la matrice CampoGioco di dimensione 5 5 in cui ogni cella della matrice può assumere solo il valore 0 o 1. Il valore 0 rappresenta la presenza del mare e il valore 1 la presenza di un pezzo di nave. Le navi possono essere lunghe una, due, tre, quattro o cinque celle. Ad esempio la seguente istanza della matrice CampoGioco: 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 rappresenta un campo di gioco in cui sono presenti 4 navi: una nave lunga 4 nella prima riga, una nave lunga 1 nella terza riga, una nave lunga 2 nella quarta riga e una nave lunga 4 nella quinta riga. Si realizzi uno script MATLAB che: chiede all utente di inserire il contenuto della matrice CampoGioco; per ogni riga che contiene una nave visualizza a video il numero di riga e la lunghezza della nave presente al suo interno; visualizza a video inoltre le seguenti statistiche: il numero di navi presenti sul campo di gioco, la lunghezza della nave più corta presente sul campo di gioco, la lunghezza della nave più lunga presente sul campo di gioco, il numero di navi trovate per ogni lunghezza possibile. Per esempio, nel campo di gioco presentato sopra avremo: 1

1 La riga 1 contiene una nave lunga 4 2 La riga 3 contiene una nave lunga 1 3 La riga 4 contiene una nave lunga 2 4 La riga 5 contiene una nave lunga 4 5 Sono presenti 4 navi 6 Lunghezza nave più corta trovata: 1 7 Lunghezza nave più lunga trovata: 4 8 Numero di navi lunghe 1: 1 9 Numero di navi lunghe 2: 1 10 Numero di navi lunghe 3: 0 11 Numero di navi lunghe 4: 2 12 Numero di navi lunghe 5: 0 Esercizio 13.2 Si implementi in MATLAB una funzione combinamatrici che svolga ricevute in ingresso due matrici A e B aventi le stesse dimensioni, produce una terza matrice C. Essa viene ottenuta da A e B mettendo nelle posizioni (r, c) in cui B(r, c) è minore del minimo di A, il valore di A(r, c), altrimenti l elemento (r, c) assume il valore di B(r, c). Per minimo di A si intende il più piccolo elemento della matrice A. Si scriva la funzione combinamatrici sfruttando le caratteristiche di sintesi del linguaggio MATLAB (possibilmente evitando l utilizzo di cicli). Si scriva una funzione combinamatricisup simile alla precedente, ma con le seguenti differenze. La funzione combinamatricisup riceve in ingresso le due matrici A e B, e un function handle f. La funzione restituisce una matrice C i cui elementi nelle posizioni (r, c) in cui B(r, c) è minore di f applicato al minimo di A, C assumono il valore di A(r, c), altrimenti assumono il valore di B(r, c). Si scriva una chiamata a combinamatricisup passando come argomenti: A: la matrice identità 3 3; B: una matrice di dimensione 3 3 contenente numeri interi casuali tra 10 e 10; f: la funzione che restituisce la differenza tra seno e coseno di un numero. Esercizio 13.3 Le strade della città di Grigliopoli sono organizzate come una griglia (alcune strade attraversano la città da est a ovest e altre da nord a sud). Dati due incroci che distano X isolati lungo l asse est-ovest della città e Y isolati lungo l asse nord-sud, si vuole calcolare il numero di percorsi a distanza minima che collegano i due incroci. A.A.2016 2017 Informatica B (081369) - Politecnico di Milano Pag. 2

Implementare una funzione ricorsiva calcola in MATLAB che ricevuti X e Y in ingresso restituisce il numero di percorsi trovati in uscita. Suggerimento: Quando X = 0 o Y = 0, c è soltanto un cammino a distanza minima che collega i due incroci. Altrimenti, esiste più di un cammino minimo dal momento che è possibile sia avvicinarsi alla destinazione lungo l asse est-ovest (riducendo quindi la distanza X) oppure avvicinarsi lungo l asse nord-sud (riducendo la distanza Y ). Esercizio 13.4 In un cinema di Milano sono stati installati dei pannelli fotovoltaici; due sensori monitorano la loro produzione di energia elettrica e i consumi elettrici della sala, rilevando per ciascuno un valore ogni minuto. I valori letti vengono troncati a due cifre decimali, inseriti rispettivamente nei vettori prodotta e consumata e salvati in un file dati di MATLAB chiamato log.mat. Un esempio di valori contenuti nel file log.mat è il seguente: 1 prodotta = [180.00 195.00 200.00 226.00 200.00 205.00]; 2 consumata = [160.00 165.00 185.00 220.00 247.50 210.50]; Nei minuti durante i quali l energia consumata è minore di quella prodotta, il cinema riceverà un compenso pari a prezzoenergia al minuto; viceversa quando ilq consumo di energia è superiore o uguale all energia prodotta, il cinema dovrà pagare prezzoenergia al minuto. Scrivere in MATLAB una funzione calcolacosto che riceve in ingresso due vettori energiaprodotta ed energiaconsumata, ed un valore prezzoenergia, che indica il costo al minuto dell energia elettrica e restituisca il costo totale costototale per l energia elettrica del cinema (positivo se il cinema spende più di quanto guadagna, negativo in caso contrario) e un vettore media di due elementi contenente la media dell energia elettrica prodotta e la media di quella consumata. Ad esempio, nel caso in cui la funzione calcolacosto riceva in ingresso i valori di energia elettrica prodotti e consumati contenuti nel file log.mat dell esempio sopra riportato e un valore di prezzoenergia pari a 10, restituirà un costototale pari a 20, che indica che il cinema ha guadagnato 20 (avendo prodotto energia maggiore di quella consumata per 4 minuti e avendo prodotto meno energia di quella consumata per 2 minuti), e un vettore di due elementi [201 198]; A.A.2016 2017 Informatica B (081369) - Politecnico di Milano Pag. 3

Scrivere poi uno script che legga dal file log.mat i valori di energia elettrica prodotta e consumata contenuti nei vettori prodotta e consumata, legga da tastiera il valore della variabile prezzoenergia, crei un vettore x che indichi i minuti in cui sono state effettuate le misurazioni. Si disegni su di uno stesso grafico (con titolo del grafico e dei due assi) l andamento dell energia elettrica prodotta e di quella consumata al variare del tempo, evidenziando sul grafico stesso i minuti nei quali l energia prodotta è superiore o uguale a quella consumata con asterischi rossi sui valori dell energia prodotta (senza congiungere i punti). Infine, si stampi a video il costototale dell energia elettrica e i due valori medi di energia prodotta e consumata. Esercizio 13.5 Scrivere uno script in MATLAB che esegua le seguenti operazioni: 1. Legge da tastiera due valori positivi minori di 100 che vengono memorizzati in due variabili m e n; 2. Genera una matrice A di dimensioni m n di numeri casuali tra 5 e 10; 3. Costruisce una matrice P contenente solo le righe con indice pari della matrice A e una matrice D contenente solo le righe con indice dispari della matrice A; 4. se le matrici P e D hanno le stesse dimensioni, calcola anche la matrice somma. Esercizio 13.6 Implementare una funzione cerchio che riceve in ingresso due vettori X e Y di uguale dimensione che rappresentano le ascisse e le ordinate di un insieme di punti nel piano cartesiano, un valore rg che rappresenta il raggio di una circonferenza centrata sull origine del piano cartesiano e restituisce un vettore logico is_out, di lunghezza pari quella dei vettori in ingresso, tale che l i-esimo elemento di r è 1 se il punto definito dalle i-esime coordinate si trova all esterno della circonferenza di raggio rg e centro (0, 0), altrimenti 0. Si scriva una funzione retta che dati due parametri coefficiente angolare m e ordinata all origine q ed un numero di punti N restituisca un vettore contenente le ascisse X e le ordinate Y dei punti corrispondenti alle prime primi N ascisse intere. Ad esempio con N = 5 e per la retta y = 2x + 1 avremo come risultatox = [1 2 3 4 5] e Y = [3 5 7 9 11]. Infine, scrivere uno script che valuti per i punti la cui ascissa è pari ai primi N = 20 interi della retta y = 4x + 2 se essi sono esterni alla circonferenza di raggio 30. Dopodichè, disegnare sullo stesso grafico i punti precedentemente calcolati ed esterni alla circonferenza con punti rossi e i restanti con asterischi verdi. A.A.2016 2017 Informatica B (081369) - Politecnico di Milano Pag. 4

Esercizio 13.7 Si scriva una funzione ricorsiva pallinaric che stampa a schermo una sequenza di caratteri che rappresenta uno spostamento di una pallina da sinistra a destra dello schermo. L effetto che si vuole ottenere è il seguente: 1 o------ 2 -o----- 3 --o---- 4 ---o--- 5 ----o-- 6 -----o- 7 ------o 8 ------- La funzione pallinaric prende in ingresso il parametro n, che rappresenta il numero di caratteri in ogni riga, e pos, che indica la posizione attualmente occupata dalla pallina. Ae esempio, la visualizzazione sopra riportata è stata ottenuta dall invocazione di pallinaric(7, 1). 1. Si definisca la funzione pallinaric: si specifichi il caso base, cioè quello che determina la terminazione della ricorsione e il caso ricorsivo; 2. Si modifichi la funzione pallinaric per creare la funzione pallinaricconrit, per fare in modo che la pallina ritorni alla posizione iniziale. Ad esempio, dall invocazione di pallinaricconrit(7, 1) si dovrà quindi ottenere: 1 o------ 2 -o----- 3 --o---- 4 ---o--- 5 ----o-- 6 -----o- 7 ------o 8 ------- 9 ------o 10 -----o- 11 ----o-- 12 ---o--- 13 --o---- 14 -o----- 15 o------ A.A.2016 2017 Informatica B (081369) - Politecnico di Milano Pag. 5