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 su i fogli distribuiti , utilizzando il retro delle pagine in caso di necessità. Cancellate le parti di brutta (o ripudiate) con un tratto di penna . • Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. • È possibile scrivere a mat ita (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 tent ativo 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: 1h :15m per recupero prima prova + 2h :15m per secon da prova RECUPERO PRIMA PROVA Esercizio 1.1 ( 6 punti ) __________ Esercizio 1.2 ( 5 punti ) __________ Esercizio 1.3 ( 2 punti ) __________ SECONDA PROVA Esercizio 2.1 ( 1 punt o ) __________ Esercizio 2.2 ( 4 punti ) __________ Esercizio 2.3 ( 4 punti ) __________ Esercizio 2.4 ( 4 punti ) __________ Esercizio 2.5 ( 4 punti ) __________ Voto finale: __________ Esercizio 1.1 ( 6 punti ) – RECUPERO PRIMA PROVA Un archivio di offerte di lavoro è organizzato nel seguente modo: le offerte sono dispost e in un array e sono ordinat e per codice. Le strutture da ti utilizzate sono le seguenti: typedef struct d { int giorno, mese, anno ; } Data ; typedef struct job { char codice[N], descrizione[N], titoloStudioRichiesto[N]; int stipendio; Data dataInseriment o; int valido; } OffertaDiLavoro ; typedef OffertaDiLavoro Offerte [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 codifichi in C l a seguent e funzion e: void invalida Offert eObsolete (Offerte off ) che invalida dal la lista delle offerte quelle offerte di cui ne esiste una più recente con identica descrizione. 3 Esercizio 1.2 ( 5 punti ) – RE CUPERO PRIMA PROVA Si scriva una funzione che riceve in ingresso un a matrice di caratteri NxN (con N costante predefinita). Ogni elemento della matrice contiene solo i caratteri ‘0’, ‘1’ o ‘ \0’. Ogni riga della matrice (letta da sinistra a destra) rapprese nta una stringa che è la codifica binaria di un intero. Si calcoli la media degli interi codificati dalle righe della matrice. 5 Esercizio 1. 3 ( 2 punti ) – RECUPERO PRIMA PROVA Si costruisca la tabella di verità della seguente espressione booleana. (A or B ) and ( C and (C or B) ) Esercizio 2. 1 ( 1 punti ) SECONDA PROVA Si scriva una funzione che riceve una matrice NxN (con N costante globale predefinita) di interi e restituisce la lunghezza della sequenza più lunga oriz zontale, verticale o diagonale di numeri uguali consecutivi. 7 Esercizio 2. 2 ( 4 punti ) - SECONDA PROVA Dire cosa stampa il seguente codice: int inv(int val, char* a, char* b){ int start=val, i, i1, i2, tot=0; char ch; while(a[i1]!=' \0') i1++; whi le(b[i2]!=' \0') i2++; while(start