Lab 10 Passaggio per riferimento

Похожие документы
Esercizio 1. Esercizio 1 Soluzione

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2

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

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

Fondamenti di Informatica T-1 Modulo 2

Lab 15 Gestione file di testo

ESERCIZIO 1 ESERCIZIO 2

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

Esercizi C su array e matrici

Fondamenti di Informatica T-1 Modulo 2

Lezione 8 Struct e qsort

Esercizi su strutture dati

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche

Lezione 6 programmazione in Java

Esempio di Prova Scritta

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 13 File Binari

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.

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

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Laboratorio di Programmazione Laurea in Bioinformatica

Lab 10 Gestione file di testo

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

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Funzioni, Stack e Visibilità delle Variabili in C

Fondamenti di Programmazione

3 Costrutti while, for e switch

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo.

Fondamenti di Informatica

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Fondamenti di Informatica T-1 Modulo 2

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

Esercizio 1 Liste: calcolo perimetro di un poligono

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

Esercizi Programmazione I

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Esercizio 1. Esercizio 1 - Soluzione

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

- Esercitazione IV Programmazione C Funzioni Alessandro Saetti

Lezione 9 Esercizi d esame

Esercizi. La funzione swapint() primo tentativo

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

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Esercizi 2. Marco Anisetti

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

Fondamenti di Programmazione

Fondamenti di Informatica T-1

acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS

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

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Транскрипт:

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 10 Passaggio per riferimento Lab10 1

Esercizio 1 I numeri complessi Data la notazione cartesiana di un numero complesso (in parte reale ed immaginaria), Realizzare una procedura che ne restituisca la notazione polare (tramite parametri passati per riferimento) Si usi opportunamente la funzione atan2(float im, float re) della libreria math.h r re 2 im im arctan re 2 La funzione atan2 gestisce correttamente anche il caso in cui re==0. Se così non fosse? Si estenda la funzione di conversione in modo da controllare la correttezza dei parametri: la funzione restituisca un codice di errore se necessario. void converti_complex(float re, float im, float * modulo, float * argomento) Lab10 2

Esercizio 2 Somma di due numeri complessi Realizzare una procedura che riceva in ingresso due numeri complessi Un numero complesso è dato da una coppia rappresentante la parte reale e la parte immaginaria La procedura deve restituire la somma di tali valori (ancora una coppia) Realizzare anche un main di esempio Lab10 3

Esercizio 3 Realizzare una funzione che riceva in ingresso un array di interi e la sua dimensione, un elemento da cercare ed un intero passato per riferimento. La funzione deve restituire un valore interpretabile come vero se l elemento è presente nell array. Inoltre, tramite l intero passato per riferimento, la funzione deve restituire anche la posizione dell elemento nell array Realizzare anche un main di esempio Lab10 4

Esercizio 4 Un sistema di cronometraggio per la Formula 1 registra i tempi in millisecondi. Tuttavia tali tempi devono essere presentati in termini di minuti, secondi e millisec. Creare una procedura che, ricevuti in ingresso un tempo dato in millisecondi, restituisca l equivalente in termini di minuti, secondi, millisec. (tramite eventuali parametri passati per riferimento) Si realizzi un main che invoca la funzione, e che dopo aver chiesto all utente un valore indicante una durata in millisecondi, stampi a video il tempo nel formato min:sec.millisec Lab10 5

Esercizio 5 Un sistema di gestione mp3 permette di calcolare in anticipo la durata di una compilation di brani. Creare una procedura che, ricevuti in ingresso la durata di due pezzi musicali, in termini di ore, minuti e secondi, restituisca la durata risultante dalla somma dei due brani in termini di ore, minuti e secondi. Si realizzi un main che chieda all utente di inserire la durata di diversi brani musicali, e si stampi a video la durata totale (l utente segnala il termine dei brani da inserire con un brano speciale di lunghezza 0:00.00). Lab10 6

Esercizio 6 Realizzare una procedura che, ricevuti in ingresso un vettore di interi e la sua dimensione, e due interi passati per riferimento di nome pari e dispari, restituisca il numero di interi pari e di interi dispari presenti nell array. Si realizzi un main che, utilizzando una appropriata funzione, legga dall utente una sequenza di al più 10 numeri (terminati da zero), e utilizzando la procedura di cui al punto precedente, stampi a video quanti numeri pari e dispari sono stati inseriti. Lab10 7

Esercizio 7 Si vuole realizzare una funzione che, dati un array di valori interi, ordinati non ripetuti, e due valori estremi, restituisca il sotto-array compreso tra i due estremi. Tale funzione quindi riceverà in ingresso un vettore di interi e la sua dimensione; due interi di nome first e last ; un intero dim passato per riferimento. La funzione dovrà restituire un puntatore all elemento dell array pari a first, se presente, e tramite dim la dimensione logica del sottoarray Ad esempio, se invocata con v={1,2,3,5,6,8,9}, first=3, last=8, la funzione deve restituire il puntatore all elemento all indice 2 (&v[2]), e dimensione 4. Lab10 8