logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Mathematical Engineering - Informatica A

Second partial exam

Informatica A – Seconda Prova in Itinere Cognome ________________________________ Matricola _______________________ Nome ________________________________ _______ Istruzioni Non separate questi fogli. Scrivete la soluzione solo sui fogli distribuiti , utilizzando il retro delle pagine in caso di necessità. Cancellate le parti di brutta (o ripudiate) con un tra tto di penna . Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. È possibile scrivere a matita (e non ricalcare al momento della consegna!). È vietato utilizzare calcolatrici o telefoni . Chi tenti di farlo vedrà annullata la sua prova. È ammessa la consultazione di libri e appunti , purché con pacata discrezione e senza disturbare. Qualsiasi tentativo di comunicare con altri studenti comporta l’espulsione dall’aula. È possibile ritirarsi senza penalità . Non è possibile lasciare l’aula conservando il tema della prova in corso. Tempo a disposizione: 30m per recupero parziale prima prova 1h:30m per recupero totale prima prova 2h :00 m per seconda prova RECUPERO PARZIALE PRIMA PROVA Esercizio 1.1 ( 4 punti ) __________ RECUPERO INTERO PRIMA PROVA Esercizio 1.2 ( 6 punti ) __________ Esercizio 1.3 ( 4 punti ) __________ SECONDA PROVA Esercizio 2.1 ( 4 punt i ) __________ Esercizio 2.2 ( 7 punti ) __________ Esercizio 2.3 ( 4 punti ) __________ Voto finale: __________ Esercizio 1.1 ( 4 punti ) – RECUPERO PARZIALE PRIMA PROVA Una biblioteca è organizzat a nel seguente modo: i libr i sono dispost i in un array e sono ordinat i per codice ISBN . Le strutture dati utilizzate sono le seguenti: #define N 1000 typedef struct { int giorno, mese, anno ; } Data ; typedef struct { char come [N], cognomen[N] ; Data dataNascita; } Persona ; typedef struct { char ISBN [N] , titolo [N] ; Persona autore ; Data data Pubblicazione ; int prezzo; int valido; } Libr o; typedef Libro Biblioteca [1000 0]; Il campo “valido” serve a dire se la casella dell’array contiene contenuto valido (nel caso l’attributo ha valore 1) o è da considerarsi vuota (nel caso l’attributo ha valore 0). Si noti che i libri hanno un solo autore. Si codifichi in C l a seguent e funzion e: void f(Biblioteca bib , Biblioteca bibGiovani ) che riceve l’array bib che contiene tutti i libr i e copia (senza lasciare buchi) nell’array libGiovani i libri pubblicati da autori che erano minorenni il giorno in cui il libro è stato pubblicato . Esercizio 1.2 ( 6 punti ) – RECUPERO INTERO PRIMA PROVA Due parole si dicono intonate se contengono esattamente le stesse vocali esattamente nello stesso ordine. Si scriva una funzione che riceve in ingresso due stringhe (che supponiamo per semplicità composte sempre e solo da lettere minuscole) e restituisce 1 se le due stringhe s ono intonate. casa e matta sono intonate dieta e minestra sono intonate ode e rose sono intonate casa e mattia non sono intonate Esercizio 1. 3 ( 4 punti ) – RECUPERO INTERO PRIMA PROVA Si dica cosa stampa il seguente codice e si spieghi cosa calcola la funzione mistero void mistero(int x, int y) { if(y < 2 || y > 10) return; if (x/y > 0) mistero(x/y, y); else printf(" \n"); printf ( "%d", x % y ); return; } int main() { int i=0; int v1[10] = {5, 100, 4, 2, 8, 7, 34, 56, 21, 34555664}; int v2[10] = {2, 5, 2, 2, 2, 2, 10, 10, 10, 10}; for(i=0;i