Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice?
|
|
- Ortensia Pappalardo
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Udine Corsi di laurea in Ing. Elettronica Gestionale Fondamenti di programmazione 13 novembre Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta) Esercizio 1 (1 punto) Dovete chiamare la funzione swap per scambiare gli elementi v[i] e v[i+1] del vettore v. Indicare la o le istruzioni corrette: [X] swap (&v[i], &v[i+1]); [ ] swap (v[i], v[i+1]); [ ] swap (*v[i], *v[i+1]); [ ] swap (&(v+i), &(v+1)); [ ] swap (*(v+i), *(v+1)); Esercizio 2 (1 punto) Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice? i = 2; i += i*i++; [X] il risultato è indefinito [ ] i = 4 [ ] i = 6 [ ] i = 8 i = 2; i += i*i--; [X] il risultato è indefinito [ ] i = 2 [ ] i = 4 [ ] i = 6 i = 2; i += i*++i; [X] il risultato è indefinito [ ] i = 6 [ ] i = 8 [ ] i = 10 i = 3; i += i*--i; [X] il risultato è indefinito [ ] i = 5 [ ] i = 7 [ ] i = 9
2 Esercizio 3 (3 punti) La funzione riempi_sottocubo legge da tastiera i valori con cui inizializzare una porzione cubica di un vettore tridimensionale di interi di dimensioni 10 x 10 x 10. La fuzione restituisce le coordinate del vertice e la lunghezza del lato del sottocubo inizializzato. Si scriva il prototipo di tale funzione e un esempio di chiamata completan il codice seguente. /* prototipo */ riempi_sottocubo ( ); /* chiamata */ int x_vertice, y_vertice, z_vertice, lato; int c[10][10][10]; lato = /* prototipo */ int riempi_sottocubo (int cubo[10][10][10], int *px, int *py, it *px); /* chiamata */ int x_vertice, y_vertice, z_vertice, lato; int c[10][10][10]; lato = riempi_sottocubo (c, &x_vertice, &y_vertice, &z_vertice); Esercizio 4 (4 punti) Un vettore contiene i valori delle monete utilizzate in una data valuta (per esempio, per l euro, espressi in centesimi: int valore[] = 1, 2, 5, 10, 20, 50, 100, 200 ). Si assuma che i valori in tale vettore siano già ordinati in ordine crescente. La funzione componi_importo stampa la quantità di ciascuna moneta necessaria per comporre un certo importo, utilizzan monete i cui valori disponibili sono passati in un vettore del tipo sopra descritto, insieme alla sua dimensione. L algoritmo utilizzato riduce l importo residuo da comporre utilizzan i valori delle monete disponibili a partire dal massimo e passan alle monete di valore inferiore quan l importo residuo risulta minore della moneta attualmente considerata. Si completi la funzione componi_importo e si risponda alle mande riportate nel seguito. void componi_importo (int importo, int valore[], int n) int i, importo_residuo, conta_monete; importo_residuo = importo; conta_monete = 0; i = n-1; while ( > 0 && i >= 0) if ( >= valore[i]) -= ; ++; else printf ("%d da %d\n", conta_monete, valore[i]); --; = 0; printf ("%d da %d\n", conta_monete, valore[i]); if (importo_residuo > 0) printf ("resto %d\n", importo_residuo);
3 La condizione valore[0] > 1 è necessaria o sufficiente affinché venga stampato un resto? (necessaria) La condizione valore[0] == 1 è necessaria o sufficiente affinché non venga stampato un resto? (sufficiente) void componi_importo (int importo, int valore[], int n) int i, importo_residuo, conta_monete; importo_residuo = importo; conta_monete = 0; i = n-1; while (importo_residuo > 0 && i >= 0) if (importo_residuo >= valore[i]) importo_residuo -= valore[i]; conta_monete++; else printf ("%d da %d\n", conta_monete, valore[i]); i--; conta_monete = 0; printf ("%d da %d\n", conta_monete, valore[i]); if (importo_residuo > 0) printf ("resto %d\n", importo_residuo); Esercizio 5 (3 punti) La funzione ricorsiva int fibonacci_r (int n) restituisce F n, cioè il termine n- esimo della successione di Fibonacci (la cui definizione è riportata nel riqudro). La si completi. f n F0 F1 F n F 0 1 F n 2 n 1 int fibonacci_r (int n) if if return ;
4 int fibonacci_r (int n) if (n == 0) return 0; if (n == 1) return 1; return fibonacci (n-1) + fibonacci (n-2); Esercizio 6 (2 punti) Cosa stampa la seguente funzione? void f1 (void) int i = 2; char s[16] = "testodiprova"; s[i--] = s[7]; s[2 * ++i] = '\0'; printf ("%s", s); tept void f2 (void) int i = 3; char s[16] = "testodiprova"; s[i++] = s[7]; s[2 * --i] = '\0'; printf ("%s", s); tespod void f3 (void) int i = 4; char s[16] = "testodiprova"; s[i++] = s[7]; s[2 * --i] = '\0'; printf ("%s", s); testpdip void f4 (void) int i = 5; char s[16] = "testodiprova"; s[i++] = s[7]; s[2 * --i] = '\0'; printf ("%s", s); testopipro
5 Esercizio 7 (5 punti) Si scriva la funzione prima_pari_poi_dispari che riceve come argomenti un vettore di interi e la sua dimensione e sposta nel vettore tutti i numeri pari prima dei dispari. Non è consentito utilizzare un vettore temporaneo. Suggerimento: si utilizzi una versione modificata dell algoritmo bubblesort in cui lo scambio avviene se l elemento corrente del vettore è dispari e quello successivo è pari. Si assuma già disponibile la funzione void swap (int *pa, int *pb). Esempio: 5, 3, -8, 0, 1, 6, 7, 9, 0, -1, -7, 0, -4-8, 0, 6, 0, 0, -4, 5, 3, 1, 7, 9, -1, -7 void prima_pari_poi_dispari (int v[], int dim) int contatore_scambi, i; contatore_scambi = 0; /* per ogni elemento del vettore (fino al penultimo) */ for (i = 0; i < dim-1; i++) /* se elemento[i+1] e` pari e elemento[i] e` dispari scambia elemento[i] ed elemento[i+1] */ if (v[i+1] % 2 == 0 && v[i] % 2!= 0) swap (&v[i], &v[i+1]); contatore_scambi++; while (contatore_scambi > 0); /* while (e` stato effettuato almeno uno scambio) */ Si scriva la funzione prima_dispari_poi_pari che riceve come argomenti un vettore di interi e la sua dimensione e sposta nel vettore tutti i numeri dispari prima dei pari. Non è consentito utilizzare un vettore temporaneo. Suggerimento: si utilizzi una versione modificata dell algoritmo bubblesort in cui lo scambio avviene se l elemento corrente del vettore è pari e quello successivo è dispari. Si assuma già disponibile la funzione void swap (int *pa, int *pb). Esempio: 5, 3, -8, 0, 1, 6, 7, 9, 0, -1, -7, 0, -4 5, 3, 1, 7, 9, -1, -7, -8, 0, 6, 0, 0, -4 void prima_dispari_poi_pari (int v[], int dim) int contatore_scambi, i; contatore_scambi = 0; /* per ogni elemento del vettore (fino al penultimo) */ for (i = 0; i < dim-1; i++) /* se elemento[i+1] e` dispari e elemento[i] e` pari scambia elemento[i] ed elemento[i+1] */ if (v[i+1] % 2!= 0 && v[i] % 2 == 0) swap (&v[i], &v[i+1]); contatore_scambi++; while (contatore_scambi > 0); /* while (e` stato effettuato almeno uno scambio) */
6 Si scriva la funzione prima_mutipli_di_tre_poi_altri che riceve come argomenti un vettore di interi e la sua dimensione e sposta nel vettore tutti i numeri multipli di tre prima degli altri. Non è consentito utilizzare un vettore temporaneo. Suggerimento: si utilizzi una versione modificata dell algoritmo bubblesort in cui lo scambio avviene se l elemento corrente del vettore è positivo o nullo e quello successivo è negativo. Si assuma già disponibile la funzione void swap (int *pa, int *pb). Esempio: 5, 3, -8, 0, 1, 6, 7, 9, 0, -1, -7, 0, -4 3, 0, 6, 9, 0, 0, 5, -8, 1, 7, -1, -7, -4 void prima_multipli_di_tre_poi_altri (int v[], int dim) int contatore_scambi, i; contatore_scambi = 0; /* per ogni elemento del vettore (fino al penultimo) */ for (i = 0; i < dim-1; i++) /* se elemento[i+1] e` multiplo di tre e elemento[i] no scambia elemento[i] ed elemento[i+1] */ if (v[i+1] % 3 == 0 && v[i] %3!= 0) swap (&v[i], &v[i+1]); contatore_scambi++; while (contatore_scambi > 0); /* while (e` stato effettuato almeno uno scambio) */ Si scriva la funzione prima_zeri_poi_altri che riceve come argomenti un vettore di interi e la sua dimensione e sposta nel vettore tutti i valori nulli prima degli altri. Non è consentito utilizzare un vettore temporaneo. Suggerimento: si utilizzi una versione modificata dell algoritmo bubblesort in cui lo scambio avviene se l elemento corrente del vettore è diverso da zero e quello successivo è zero. Si assuma già disponibile la funzione void swap (int *pa, int *pb). Esempio: 5, 3, -8, 0, 1, 6, 7, 9, 0, -1, -7, 0, -4 0, 0, 0, 5, 3, -8, 1, 6, 7, 9, -1, -7, -4 void prima_zeri_poi_altri (int v[], int dim) int contatore_scambi, i; contatore_scambi = 0; /* per ogni elemento del vettore (fino al penultimo) */ for (i = 0; i < dim-1; i++) /* se elemento[i+1] e` zero e elemento[i] non e` zero scambia elemento[i] ed elemento[i+1] */ if (v[i+1] == 0 && v[i]!= 0) swap (&v[i], &v[i+1]); contatore_scambi++; while (contatore_scambi > 0); /* while (e` stato effettuato almeno uno scambio) */
7 Esercizio 8 (3 punti) Quanto byte occupano i seguenti dati? char dato; 1 char dato[2]; 2 "ciao" 5 "" 1 "0" 2 "\n" 2 '0' 1 '\n' 1 '\0' 1 Esercizio 9 (4 punti) Si scriva la funzione prossimo_anno_bisestile che restituisce il primo anno bisestile successivo a quello passato come argomento. Si ricorda che un anno è bisestile se divisibile per 4 ma non per 100, oppure per 400. int prossimo_anno_bisestile (int anno) anno++; while (!bisestile(anno)); return anno; int bisestile (int anno) if ( ( ((anno % 4) == 0) && ((anno % 100)!= 0) ) ((anno % 400) == 0) ) return 1; else return 0; Si scriva la funzione ultimo_anno_bisestile che restituisce l ultimo anno bisestile precedente a quello passato come argomento. Si ricorda che un anno è bisestile se divisibile per 4 ma non per 100, oppure per 400. int ultimo_anno_bisestile (int anno) anno--; while (!bisestile(anno)); return anno; int bisestile (int anno) if ( ( ((anno % 4) == 0) && ((anno % 100)!= 0) ) ((anno % 400) == 0) ) return 1; else return 0;
8 Esercizio 10 (4 punti) La funzione int fibo_plus_plus (int n) calcola il termine di indice n di una variante della successione di Fibonacci, definita come indicato nel riquadro. Si assuma che la funzione sia sempre chiamata con n N. In pratica, per i primi N valori è sufficiente memorizzare in un vettore di dimensione N gli indici degli elementi del vettore stesso, per i successivi è necessario calcolare la somma del contenuto del vettore e, successivamente, scalarne gli elementi di una posizione rimpiazzan l ultimo con il valore della successione appena calcolato. Nell implementazione riportata nel seguito alcune istruzioni sono presentate in più versioni. Si indichi quali sono quelle corrette. Dato un intero N > 0, N 1 i se n N i 0 Fn n 1 Fn altrimenti i n N #define N 20 int fibo_plus_plus (int n) int i, cnt, f, v[n]; /* inizializza il vettore */ for (i = 0; i <= N; i++) v[i]=i; for (cnt = N; cnt <= n; cnt++) f = somma_vettore (v[], N); scala_vettore (v[], N); v[n-1] = f; return f; void scala_vettore (int v[], int n) int i; for (i = 0; i <= n; i++) v[i-1] = v[i]; int somma_vettore (int v[], int n) int i, somma = 0; for (i = 0; i <= n; i++) somma =+ v[i]; return somma;
9 #define N 20 int fibo_plus_plus (int n) int i, cnt, f, v[n]; /* inizializza il vettore */ for (i = 0; i < N; i++) v[i]=i; for (cnt = N; cnt <= n; cnt++) f = somma_vettore (v, N); scala_vettore (v, N); v[n-1] = f; return f; void scala_vettore (int v[], int n) int i; for (i = 1; i < n; i++) v[i-1] = v[i]; int somma_vettore (int v[], int n) int i, somma = 0; for (i = 0; i < n; i++) somma += v[i]; return somma;
Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 14 novembre 2014 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)
Dettaglia = 6; b = 7; c = a b; [ ] il risultato è indefinito [ ] c = 12 [ ] c = 13 [X] c = 14 a = 8; b = 9; c = a b;
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 18 novembre 2016 - Prova intermedia NOTA: nel seguito le risposte corrette e le note sono
DettagliEsercizio 4 (4 punti)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 17 novembre 2017 - Prova intermedia NOTA: nel seguito le risposte corrette e le note sono
DettagliEsercizio 1: media di numeri reali (uso funzioni e struct)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliMatricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 23 novembre 2012 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Una funzione per i numeri di Fibonacci
DettagliMatricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 23 novembre 2012 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)
DettagliLezione 6: Array e puntatori
Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci
DettagliEsercitazione 7. Soluzione:
Esercitazione 7 Esercizio 1: Scrivere una funzione ricorsiva che calcoli il MCD di due numeri interi positivi. Ricordare che la funzione MCD(N,M) termina quando N == M e si ritorna N. int MCD(int N, int
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.
DettagliArray. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali
MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono
Dettagliint cerca_posto_libero (struct tipo_treno treno, int tratta_inizio, char tipo, int tratta_fine, int *p_ncarrozza, int *p_nposto)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 25 novembre 2011 - Prova intermedia Matricola Nome Cognome Esercizio 1 (5 punti) Un treno,
DettagliESERCIZIO: Analisi di un programma. Dato il seguente programma C:
: Analisi di un programma Dato il seguente programma C: #include #define D 4 float A(float V[], int k) {int i; float s=0.0; for(i=0;i
DettagliInformatica (A-K) 14. Linguaggio C -4
Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Informatica (A-K) 14. Linguaggio C -4 Strutture Dati tipiche
DettagliProgrammazione di base
Fondamenti di Informatica Quarto Appello 016-17 4 luglio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliProgrammazione di base
Fondamenti di Informatica Sesto Appello 016-17 11 Settembre 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliPuntatori e array. Violetta Lonati
Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliCorso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Ricorsione DD Cap. 5, pp. 160-184 KP Cap. 5, pp. 199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale
DettagliProgrammazione di base
Fondamenti di Informatica Testo B Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliLe Funzioni e la Ricorsione
Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliFondamenti di Informatica L-A. Esercitazione 6
Fondamenti di Informatica L-A Esercitazione 6 Passaggio dei Parametri nelle Funzioni Ordinamento di Vettori Paolo Torroni Università degli Studi di Bologna Laurea in Ingegneria Elettronica e delle Telecomunicazioni
DettagliProgrammazione di base
Fondamenti di Informatica Testo A Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
DettagliEsercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da
Dettaglia.a Codice corso: 21012
ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti
DettagliEsercizi. Filtraggio
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)
DettagliAlgoritmi di Ordinamento Corso di Informatica Laurea in Fisica. prof. ing. Corrado Santoro
Algoritmi di Ordinamento Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro ፫ Bubble Sort Se l i-esimo elemento è maggiore dell elemento i+-esimo, essi vengono scambiati. Si termina quando
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliEsercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli
Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliPolitecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904]
Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale Informatica B [079904] Prof. P. Plebani Allievi Ingegneria Civile e Ambientale II prova in itinere (04 Febbraio 2009) Cognome
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati
DettagliEsempi di programmazione in C
Esempi di programmazione in C Problemi elementari..................................... 363 Somma tra due numeri positivi......................... 363 Moltiplicazione di due numeri positivi attraverso la
DettagliRelativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.
Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
DettagliEsercizio 1: parole nel testo
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliCOGNOME: NOME: MATRICOLA:
Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2001/2002-18 febbraio 2004 - RECUPERO 1 PARTE COGNOME: NOME: MATRICOLA: Istruzioni: Scrivere
DettagliEsercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
DettagliEsercizio 1: funzione con valore di ritorno di tipo puntatore
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio
DettagliQuicksort 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.
DettagliFondamenti di Informatica 1 - Compito A
Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 15 settembre 2010 Esercizio (punti 16) Un file di testo poligono.txt contiene le coordinate dei punti che rappresentano i vertici di un poligono;
DettagliAlcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.
Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliAlgoritmi su Array. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Ringraziamenti prof. Stefano Mizzaro, Università di Udine http://users.dimi.uniud.it/~stefano.mizzaro/
DettagliAlgoritmi su Array. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Algoritmi su Array Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Algoritmi su Array 2 Ringraziamenti prof. Stefano Mizzaro,
DettagliL'Allocazione Dinamica della Memoria nel linguaggio C
L'Allocazione Dinamica della Memoria nel linguaggio C Prof. Rio Chierego riochierego@libero.it http://www.riochierego.it/informatica.htm Sommario Questo documento tratta l'allocazione dinamica della memoria
DettagliProgrammazione di base
Fondamenti di Informatica Quinto Appello 016-1 1 Luglio 01 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliC array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.
Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.
DettagliEsercizi Liste. Prof. Alessandro Campi
Esercizi Liste Prof. Alessandro Campi Esercizio Si consideri una lista dinamica di interi, i cui elementi sono del tipo definito come di seguito riportato: typedef struct El { int dato; struct El *next;
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliINFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE
INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE Scrivere in stampatello COGNOME, NOME e MATRICOLA su ogni foglio consegnato N.B.: In tutti gli esercizi viene valutata anche
DettagliSoluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2. Siano date le seguenti definizioni di costanti e tipi in linguaggio C:
Fondamenti Informatica B Soluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2 Esercizio 1 tema 1 Siano date le seguenti definizioni di costanti e tipi in linguaggio C: #define MAX_LENGTH 40
DettagliStrutture di Controllo Iterative: Istruzioni While e Do
Linguaggio C Strutture di Controllo Iterative: Istruzioni While e Do 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
DettagliPolitecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Il presente plico contiene 4 esercizi, deve essere debitamente compilato
DettagliLaboratorio 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[]
DettagliFUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice
Funzioni FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvono parti specifiche di un problema Una funzione permette di attribuire un nome ad un insieme di istruzioni
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliProgrammazione Appello d esame del 18 giugno 2010 Compito B
Programmazione Appello d esame del 18 giugno 2010 Compito B PARTE 0 (propedeutica) Esercizio 0.1 Descrivere il costrutto DOWHILE (sintassi e funzionamento) e darne il diagramma di flusso. Il costrutto
DettagliI cicli. Iterazioni Calcolo della media Istruzioni break e continue
I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione
DettagliI puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.
Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro
DettagliGli array Libro cap. 6 Moreno Marzol a Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Gli array Libro cap. 6 Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Array 2 Ringraziamenti prof. Stefano Mizzaro, Università
DettagliFondamenti di Programmazione
Fondamenti di Programmazione Ingegneria dell Automazione Industriale Ingegneria Elettronica e delle Comunicazioni Alessandro Saetti Alberto Lazzaroni e Marco Sechi (email: {saetti,alberto.lazzaroni}@ing.unibs.it)
DettagliFunzioni con numero variabile di parametri: Funzioni Variadiche in C. Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati
Funzioni con numero variabile di parametri: Funzioni Variadiche in C Massimo Benerecetti Laboratorio di Algoritmi e Strutture Dati Funzioni «variadiche» Le funzioni che ricevono un numero variabile di
DettagliCOGNOME: NOME: MATRICOLA:
Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2004/2005-18 febbraio 2005 - RECUPERO 1 PARTE COGNOME: NOME: MATRICOLA: Istruzioni: Scrivere
DettagliFondamenti di Informatica 1 - Compito A
Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,
DettagliPROGRAMMAZIONE: ESERCITAZIONE N. 6
PROGRAMMAZIONE: ESERCITAZIONE N. 6 Esercizi su stru+ure condizionali e itera1ve Conoscenze richieste: LC1+LC2+LC3+LC4+LC5+LC6 Esercizio 1 Acquisire un numero positivo N e calcolarne la radice quadrata
DettagliInformatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e
DettagliLezione 8 Struct e qsort
Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort
DettagliFUNZIONI che operano su LISTE e TEMI d ESAME
D O D I C E S I M A ESERCITAZIONE 2006/ L. MANDELLI FUNZIONI che operano su LISTE e TEMI d ESAME ------------------calcola la somma degli elementi in posizione pari di una lista Si assuma che il primo
DettagliBubble Sort. Bubble Sort
Bubble Sort Bubble Sort Se l i-esimo elemento è maggiore dell elemento i+-esimo, essi vengono scambiati. Si termina quando non vi sono più scambi da fare. Nessuno scambio effettuato: Il vettore è ordinato
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ESERCIZI - 1 http://www.diee.unica.it/giacinto/lab
DettagliLaboratorio di Informatica Grafica Linguaggio C
Laboratorio di Informatica Grafica Linguaggio C Ing. Antonio Marullo Istruzioni compilatore 1) Si lancia da Compilatori - > TurboC++ - > TurboC++ a) Project - > new Project b) Browse su E: nomescelto.ide
DettagliAmbienti di Programmazione per il Software di Base
Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base
DettagliProf. Massimiliano Giacomin 22 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli
INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 22 dicembre 2016 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per
DettagliMatematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE
Matematica - SMID : Programmazione 20 Febbraio 2007 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano
DettagliEsercizio 1 (17 punti)
Esercizio 1 (17 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 1 o luglio 2014 Un file di testo è utilizzato
DettagliFondamenti di Informatica T-1 Esercitazione 1. Grammatiche Complemento a 2 Analisi Record di attivazione
Fondamenti di Informatica T-1 Esercitazione 1 Grammatiche Complemento a 2 Analisi Record di attivazione 1 Contenuto di questa esercitazione Esercizi sulle grammatiche Esercizi sulla rappresentazione dei
DettagliFondamenti di Informatica 12. Linguaggio C -4
Strutture Dati in C Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Fondamenti di Informatica 12. Linguaggio C -4 Strutture Dati
DettagliRicorsione in C. slides credit Prof. Paolo Romano
Ricorsione in C slides credit Prof. Paolo Romano 2 Divide et impera Metodo di approccio ai problemi che consiste nel dividere il problema dato in problemi più semplici I risultati ottenuti risolvendo i
DettagliLinguaggio C I puntatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliEsercizi C su array e matrici
Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]
DettagliI puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
DettagliESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -
ESERCIZI DI PROGRAMMAZIONE - condizionali e cicli - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1: dal tema d esame ING-INF del 28 gennaio 2009 Si sviluppi un programma in
DettagliProgrammazione 1 A.A. 2015/2016
Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,
DettagliEsercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array.
Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array. Indice 1 Funzioni: passaggio di parametri per indirizzo; puntatori...3
DettagliAssembly V: Procedure annidate e recursive
Architettura degli Elaboratori e delle Reti Lezione 15 Assembly V: Procedure annidate e recursive Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLo scopo. Il primo esperimento. Soluzione informale. Le variabili
Lo scopo 2 Il primo esperimento Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video Ver. 2.4
DettagliESERCIZI DI PROGRAMMAZIONE C/C++ (con alcune tracce di soluzioni) aa e , prof. Garzotto
ESERCIZI DI PROGRAMMAZIONE C/C++ (con alcune tracce di soluzioni) aa. 2000-01 e 2001-02, prof. Garzotto PARTE 1: Programmazione in the small I.1 a) Dire brevemente che problema risolve il seguente programma
DettagliEsercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
DettagliRICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio
RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca
Dettagli