Fondamenti di Informatica T-1 Modulo 2

Похожие документы
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

Fondamenti di Informatica T-1 Modulo 2

Esercizio 1. Esercizio 1 - Soluzione

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

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

ESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori -

Esercizio 1. Esercizio 1 Soluzione

Esercitazione 6. Array

Corso di Informatica 1 Esercitazione n. 4

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Lezione 6 programmazione in Java

Fondamenti di Informatica T-1 Modulo 2

Laboratorio di programmazione

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

PROGRAMMAZIONE: ESERCITAZIONE N. 6

Lab 10 Passaggio per riferimento

Esercizi C su array e matrici

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 11. Liste semplici

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

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

Lab 10 Gestione file di testo

Obiettivi di questa esercitazione

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

ESERCIZIO 1 ESERCIZIO 2

Programmazione I - Laboratorio

Fondamenti di Programmazione

Fondamenti di Informatica T-1 Modulo 2

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

Esercizio 1 (15 punti)

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf

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

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Strutture Dati Dinamiche

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 2 -

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Laboratorio di Programmazione Laurea in Bioinformatica

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

1. Esercizio tipo per prova pratica

Lezione 5 Sottoarray di somma massima

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Esempio: somma di due numeri

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

Corso di Informatica 1 (IN1) Tutorato n. 11

Esercizi di programmazione in linguaggio C - Costrutto iterazione

Lezione 8 Struct e qsort

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:

Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione

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

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

Scrittura formattata - printf

Introduzione alla programmazione Esercizi risolti

INFORMATICA. Strutture iterative

Esercitazione 3. Espressioni booleane I comandi if-else e while

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Algoritmi di ordinamento: Array e ricorsione

Транскрипт:

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. Tale sequenza può eventualmente contenere numeri ripetuti. Si memorizzi tale sequenza in un vettore di opportuna dimensione. Si stampino a video tutti i numeri per cui il successivo nel vettore è pari al numero stesso 3

Esercizio 2 Creare un programma che legga da input un numero non noto a priori di interi positivi (al più 10) terminati da 0. Qualora l utente inserisca dei valori negativi, tali valori devono essere scartati e non considerati Si memorizzi tale sequenza in un vettore di opportuna dimensione. Si stampino a video tutti i numeri che sono allocati nel vettore in posizioni il cui indice è uguale al numero stesso 5

Esercizio 3 Creare un programma che legga da input un numero non noto a priori di interi positivi (al più 10) terminati da 0. Si memorizzi tale sequenza in un vettore di opportuna dimensione, rispettando l ordine con cui i valori sono stati inseriti. Si memorizzino poi in un secondo vettore i valori del primo, avendo cura di inserirli in ordine inverso Si stampi infine il vettore coi valori in ordine invertito 7

Esercizio 4 Realizzare un programma che legga da input una sequenza di interi positivi, terminati da 0. Tali numeri devono essere memorizzati in un array (di dimensione massima 10) Il programma quindi provveda a stampare a video tutti i numeri pari che sono memorizzati nell array in una posizione con indice pari Estensione: si abbia cura di verificare che siano immessi numeri fino al limite di 10 elementi; dopo tale limite, il programma stampi un messaggio di errore, finchè la sequenza non è terminata da 0. Estensione: riprogettare il programma spostando la fase di acquisizione dei dati e l algoritmo di stampa in due funzioni apposite. 9

Esercizio 5 Si scriva un programma che 1) richieda all utente un valore V di soglia; 2) successivamente prenda in ingresso una sequenza di reali positivi terminata da 0 (massimo 10), e memorizzi in un vettore di float M (di dimensione fisica 10) SOLO i valori maggiori di V; 3) infine crei un secondo vettore MED in cui l elemento i- esimo è calcolato come la media tra l elemento i-esimo del vettore M e il valore V.

Esercizio 5 Esempio: l utente inserisce il valore 2.5 di soglia. Poi inserisce la sequenza 1.3 4 5.2 9.5 2.2 1 0 Nel vettore M vengono quindi memorizzati solo 0 1 2 M 4 5.2 9.5 Infine, il programma deve creare un secondo vettore MED in cui l elemento i-esimo e calcolato come la media tra l elemento i-esimo del vettore M e il valore V. 0 1 2 MED 3.25 3.85 6.0

Esercizio 6 Si scriva un programma che prenda in ingresso una sequenza di massimo 10 reali positivi terminata da 0, e la memorizzi in un vettore di float NUM. Il programma deve creare un secondo vettore MEDIE in cui l elemento i-esimo è calcolato come la media tra l elemento i- esimo del vettore NUM e il suo successivo. Ovviamente la dimensione logica di medie sarà pari alla dimensione logica di NUM meno 1.

Esercizio 6 Esempio: l utente inserisce la sequenza 1.3 4 5.2 9.5 2.2 1 0 NUM 1.3 4 5.2 9.5 2.2 1 0 MEDIE 2.65 4.60 7.35 5.85 1.6 0.5

Scrivere un programma che Esercizio 7 1) Legga da input due vettori V1 e V2 di interi di dimensione N; 2) costruisca un terzo vettore V3 di dimensione 2N i cui elementi di posizione pari siano gli elementi del primo vettore e gli elementi di posizione dispari siano gli elementi del secondo vettore. V1 4 5 9 0 1 2 3 4 5 V3 4 2 5 6 9 1 V2 2 6 1

Scrivere un programma che, dato un vettore NUM di N interi positivi inseriti dall utente, ne produca due PAR e DIS contenenti, rispettivamente, i numeri pari e dispari del vettore iniziale. Si controlli che i numeri inseriti dall utente siano positivi. Per verificare se un numero è pari, si scriva una funzione che restituisca 1 se il numero è pari, 0 altrimenti int pari(int n); Esercizio 8

Esempio: l utente inserisce la sequenza 4 2-4 5 6-9 1 6 NUM 4 2 5 6 1 6 Esercizio 8 scartati PAR 4 2 6 6 DIMENSIONE LOGICA 4 DIS 5 1 DIMENSIONE LOGICA 2

Esercizio 9 Creare un programma che legga da input una sequenza di interi positivi. In particolare, l utente inserisce un numero iniziale con cui specifica quanti numeri è intenzionato ad inserire (al max 10). Di seguito poi inserisce i numeri, tutti in ordine strettamente crescente. In fase di lettura, il programma controlli che ogni numero sia effettivamente maggiore del precedente (si scartino i valori che non rispettano tale criterio). In un secondo vettore si calcoli la differenza percentuale tra un valore ed il successivo ( data dalla differenza tra i due valori, divisa poi per il primo valore e moltiplicato il tutto per 100) Si richieda poi all utente un valore di soglia (in percentuale), e si stampino a video tutte le coppie di valori il cui aumento dal primo al secondo valore risulta essere, in percentuale, maggiore della soglia specificata 23

Esercizio 10 Si vogliono elaborare alcuni dati metereologici, riguardanti alcune località sciistiche. Per ogni località, un utente inserisce il codice della località e i cm. di manto nevoso (entrambi interi). Il codice 0, inserito come località, indica che l utente non vuole inserire altri dati. Il programma deve memorizzare tali dati in due appositi vettori (uno per le località ed uno per la neve caduta) Il programma deve poi stampare a video i codici di tutte le località che risultino avere un manto nevoso inferiore alla media, calcolata sui valori inseriti 26

#include <stdio.h> #include <stdlib.h> #define DIM 10 Esercizio 10 - Soluzione int main(void) { int cod_loc, size, i, tot; int loc[dim], neve[dim]; float media; size = 0; do { printf("inserisci codice localita': "); scanf("%d", &cod_loc); if ( cod_loc!= 0 && size < DIM ) { loc[size] = cod_loc; printf("manto nevoso (cm.): "); scanf("%d", &(neve[size])); size++; } } while (cod_loc!=0 && size<dim); 27