Fondamenti di Programmazione

Размер: px
Начинать показ со страницы:

Download "Fondamenti di Programmazione"

Транскрипт

1 Fondamenti di Programmazione Ingegneria dell Automazione Industriale Ingegneria Elettronica e delle Comunicazioni Alessandro Saetti Marco Sechi e Andrea Bonisoli ( {alessandro.saetti,marco.sechi,andrea.bonisoli}@unibs.it) Università degli Studi di Brescia 1 dati dinamiche (1º parte) 1. Scrivere un programma C che acquisisca da tastiera un dato intero n, allochi dinamicamente un vettore di n variabili intere, inizializzi il vettore con dati pseudocasuali compresi tra 1 e 100 ed infine visualizzi i numeri pari nel vettore. 2. Scrivere un programma C che, trattando con strutture dati che aggregano due interi e che rappresentano punti del piano cartesiano, acquisisca da tastiera un punto fintantoché il punto è differente da <0,0>, memorizzando i dati acquisiti in un vettore allocato dinamicamente che si ingrandisce ad ogni nuova acquisizione. Infine, visualizzi i punti nel primo quadrante del piano cartesiano. 2

2 Esercizio 1 Scrivere un programma C che acquisisca da tastiera un dato intero n, allochi dinamicamente un vettore di n variabili intere, inizializzi il vettore con dati pseudo-casuali compresi tra 1 e 100 ed infine visualizzi i numeri pari nel vettore. 3 Esercizio 2 Scrivere un programma C che, trattando con strutture dati che aggregano due interi e che rappresentano punti del piano cartesiano, acquisisca da tastiera un punto fintantoché il punto è differente da <0,0>, memorizzando i dati acquisiti in un vettore allocato dinamicamente che si ingrandisce ad ogni nuova acquisizione. Infine, visualizzi i punti nel primo quadrante del piano cartesiano. 4

3 dati dinamiche (2º parte) 3. Scrivere 2 funzioni C che, trattando con strutture dati che aggregono una stringa e 3 interi e che rappresentano le tempistiche di un maratoneta, svolgano i seguenti compiti: Acquisisca da tastiera i dati di un maratoneta, fintantoché il tempo del maratoneta è diverso da 0:0:0, memorizzando i dati acquisiti in un vettore di maratoneti allocato dinamicamente che si ingrandisce ad ogni nuova acquisizione. Produca infine un puntatore all area di memoria allocata e il numero di maratoneti acquisiti. [Suggerimento: MaratonetaPtr inizializzamaratoneti(int *n);] Visualizzi i dati in un dato vettore di n variabili Maratoneta [Suggerimento: void visualizza(maratoneta v[], int n);] Scrivere un programma C che, sfruttando le funzioni precedentemente definite, acquisisca e visualizzi una sequenza di maratoneti. 5 dati dinamiche (2º parte) 4. Scrivere una funzione C che, trattando con strutture dati che aggregono una stringa e 3 interi e che rappresentano le tempistiche di un maratoneta, svolga il seguente compito: dati due tempi, produca 1 se il primo tempo precede il secondo e zero altrimenti. [Suggerimento: int minore(tempo t1, Tempo T2);] precedentemente definita e le funzioni definite per l esercizio 3, acquisisca e visualizzi una sequenza di maratoneti. Visualizzi infine i dati del maratoneta con il miglior tempo. 6

4 Esercizio 3 Scrivere 2 funzioni C che, trattando con strutture dati che aggregano una stringa e 3 interi e che rappresentano le tempistiche di un maratoneta, svolgano i seguenti compiti: Acquisisca da tastiera i dati di un maratoneta, fintantoché il tempo del maratoneta è diverso da 0:0:0, memorizzando i dati acquisiti in un vettore di maratoneti allocato dinamicamente che si ingrandisce ad ogni nuova acquisizione. Produca infine un puntatore all area di memoria allocata e il numero di maratoneti acquisiti. [Suggerimento: MaratonetaPtr inizializzamaratoneti(int *n);] Visualizzi i dati in un dato vettore di n variabili Maratoneta [Suggerimento: void visualizza(maratoneta v[], int n);] Scrivere un programma C che, sfruttando le funzioni precedentemente definite, acquisisca e visualizzi una sequenza di maratoneti. 7 Esercizio 4 Scrivere una funzione C che, trattando con strutture dati che aggregono una stringa e 3 interi e che rappresentano le tempistiche di un maratoneta, svolga il seguente compito: dati due tempi, produca 1 se il primo tempo precede il secondo e zero altrimenti. [Suggerimento: int minore(tempo t1, Tempo T2);] precedentemente definita e le funzioni definite per l esercizio 3, acquisisca e visualizzi una sequenza di maratoneti. Visualizzi infine i dati del maratoneta con il miglior tempo. 8

5 dati dinamiche (per casa) 5. Scrivere una funzione C che, trattando con strutture dati che aggregono una stringa e 3 interi e che rappresentano le tempistiche di un maratoneta, svolga il seguente compito: ordini una data sequenza di n maratoneti in base ai loro tempi cronometrici crescenti. [Suggerimento: void ordina(maratoneta v[], int n);] precedentemente definita e le funzioni definite per gli esercizi 3 e 4, acquisisca e visualizzi una sequenza di maratoneti. Visualizzi infine la sequenza di maratoneti ordinati secondo ai loro tempi cronometrici crescenti. 9 dati dinamiche (per casa) 6. Scrivere una funzione C che, trattando con strutture dati che aggregono una stringa e 3 interi e che rappresentano le tempistiche di un maratoneta, svolga il seguente compito: ordini una data sequenza di n maratoneti secondo un dato criterio. [Suggerimento: void ordina(maratoneta v[], int n, int (*confronta)(maratoneta, Maratoneta));] precedentemente definita e le funzioni definite per gli esercizi 3-5, acquisisca e visualizzi una sequenza di maratoneti. Acquisisca infine un numero intero x e, se x è pari a zero, visualizzi la sequenza di maratoneti ordinata secondo tempi cronometrici crescenti; se x è diverso da zero, visualizzi la sequenza ordinata secondo tempi cronometrici descrescenti. 10

- Esercitazione IV Programmazione C Funzioni Alessandro Saetti

- Esercitazione IV Programmazione C Funzioni Alessandro Saetti Elementi di Informatica e Programmazione - Esercitazione IV Programmazione C Funzioni Alessandro Saetti (email: [email protected]) Università degli Studi di Brescia 1 Esercizio 1 Riempire una

Подробнее

L Allocazione Dinamica della Memoria

L Allocazione Dinamica della Memoria L Allocazione Dinamica della Memoria Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania [email protected] http://www.diit.unict.it/users/mpalesi Sommario Questo documento

Подробнее

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste 4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1

Подробнее

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22 Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)

Подробнее

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Подробнее

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

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.

Подробнее

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Università degli Studi di Brescia Elementi di Informatica e Programmazione ESERCITAZIONE Docente: A. Saetti Esercitatori: M. Sechi, A. Bonisoli Vers. 04/10/2017 Docente: Alessandro Saetti Elementi di informatica

Подробнее

Allocazione Dinamica della Memoria

Allocazione Dinamica della Memoria Allocazione Dinamica della Memoria Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Allocazione Dinamica della Memoria 1 / 10 Scelta delle variabili Quando

Подробнее

File e puntatori a file

File e puntatori a file File e puntatori a file Vitoantonio Bevilacqua [email protected] La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di

Подробнее

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 2 -

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 2 - ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 2 - Elementi di Informatica e Programmazione Università di Brescia 1 1: ESERCIZI DI BASE - di livello di difficoltà inferiore rispetto all

Подробнее

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Ingegneria dell Automazione Industriale Ingegneria Elettronica e delle Comunicazioni Alessandro Saetti Marco Sechi e Andrea Bonisoli (email: {alessandro.saetti,marco.sechi,[email protected])

Подробнее

5. Quinta esercitazione autoguidata: liste semplici

5. Quinta esercitazione autoguidata: liste semplici 22 5. Quinta esercitazione autoguidata: liste semplici 5.1. Liste rappresentate mediante strutture e puntatori (LISTE1.C, LISTE2.C) Scrivere un programma che - costruisce una lista di k interi (con k letto

Подробнее

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

Подробнее

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento

Подробнее

Lab 10 Passaggio per riferimento

Lab 10 Passaggio per riferimento 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

Подробнее

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità

Подробнее

Gestione dinamica della memoria

Gestione dinamica della memoria Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - [email protected] A pessimistic programmer sees the array as half empty.

Подробнее

L'Allocazione Dinamica della Memoria nel linguaggio C

L'Allocazione Dinamica della Memoria nel linguaggio C L'Allocazione Dinamica della Memoria nel linguaggio C Prof. Rio Chierego [email protected] http://www.riochierego.it/informatica.htm Sommario Questo documento tratta l'allocazione dinamica della memoria

Подробнее

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

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Versione del: venerdì 3 maggio 2013 07.XX METODI ESERCIZI Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Sintesi Esercizi sui metodi in Visual C#. Esercizio 1. scelta della firma Lo studente risponda

Подробнее

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

Подробнее

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi [email protected] Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)

Подробнее

stringhe array monodimensionali char. libreria < string.h>

stringhe array monodimensionali char. libreria < string.h> Le stringhe Le stringhe sono array monodimensionali il cui tipo base è char. Il nucleo del linguaggio non prevede particolari istruzioni per il trattamento delle stringhe che potrebbero essere gestite

Подробнее

13 Esercizi di Riepilogo

13 Esercizi di Riepilogo 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

Подробнее

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

Подробнее

Lezione 9 Esercizi d esame

Lezione 9 Esercizi d esame Lezione 9 Esercizi d esame Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 Qsort su interi Scrivere un programma

Подробнее

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010 Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.

Подробнее

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 e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

Подробнее

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Подробнее

Esercizi 5 CICLI. Es.5(cicli)

Esercizi 5 CICLI. Es.5(cicli) Esercizi 5 CICLI 1 Es.5(cicli) Esercizio 1 Realizzare una funzione che, chiesto all utente un numero intero pari a N, ricavi e stampi a video tutte le terne pitagoriche con i cateti minori o uguali ad

Подробнее

Strutture Dati Dinamiche

Strutture Dati Dinamiche Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti

Подробнее