PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008

Documenti analoghi
ESERCIZIO 1 (5 punti) Convertire in binario il valore, espresso in decimale, Si usi la rappresentazione in virgola fissa.

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 17/2/2009

Esercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione

Sommario FONDAMENTI DI INFORMATICA 1. Il tipo FILE. Passaggio da standard I/O. LINGUAGGIO C Gestione dei file

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Introduzione Il costrutto if...else Il costrutto while Altri costrutti

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 04 Input/Output

Scrittura formattata - printf

Problem solving elementare su dati vettoriali

Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori

1 (6) 2 (7) 3 (7) 4 (7) 5 (6)

1 (4) 2 (4) 3 (12) 4 (6) 5 (6)

Introduzione Il costrutto if: else: Il costrutto while: Il costrutto for: Sommario FONDAMENTI DI INFORMATICA. Avviso. Introduzione

Esercizi. I File ed il C

Primi passi col linguaggio C

1 (4) 2 (4) 3 (7) 4 (5) 5 (5) 6 (7)

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin

Problem solving avanzato

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Informatica 1. Prova di recupero 21 Settembre 2001

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Fondamenti di Informatica L-A

Variabili e Istruzioni

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizi. Stringhe. Stringhe Ricerca binaria

Aggregati di dati eterogenei: il tipo struct

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

Operazioni su file di caratteri

File e puntatori a file

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

5. Quinta esercitazione autoguidata: liste semplici

I files in C. A cura del prof. Ghezzi

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

PROVA SCRITTA 23 MARZO 2010

Esercizio 1: calcolo insieme intersezione

Lezione 8 Struct e qsort

Gestione dei File. dischi nastri cd

Unità Didattica 5 Linguaggio C. Stringhe. Accesso a file ASCII. Strutture.

Linguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Istruzioni iterative (o cicliche)

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Esercizi C sui tipi definiti dall utente

Fondamenti di Informatica 2

Esercitazione 11. Liste semplici

Fondamenti di Informatica T-1 Modulo 2

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

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

Il linguaggio C. Notate che...

IL PRIMO PROGRAMMA IN C

Esercizio 1: Puntatori impiegati che sono manager

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

ADT LISTA: altre operazioni non primitive ADT LISTA COSTRUZIONE ADT LISTA COSTRUZIONE ADT LISTA (2)

Gestione dei File in C

Esercizio 1 (15 punti)

Esercitazione 6. Array

Input/Output di numeri

MATRICOLA S B/1 BIN: MS: CA2: BIN: = 1x x x x x x x x2 0 = 182

Informatica A a.a. 2010/ /02/2011

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

NOTA: I codici proposti sono solo una delle possibile soluzioni, non sono da intendersi come unica soluzione possibile o corretta

Fondamenti di Informatica

Stringhe e allocazione dinamica della memoria

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Programmazione di base

Le funzioni, e le istruzioni di input/output

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 13 Settembre COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio

Record in C: il costruttore struct.

Linguaggio C: introduzione

Informatica Applicata Laboratorio 1. Ing. Antonella Dimasi

Dati aggregati. Violetta Lonati

PROGRAMMAZIONE: ESERCITAZIONE N. 6

<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Esercitazione 12. Esercizi di Ricapitolazione

Lezione 6 Selection/Insertion Sort su interi e stringhe

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

Lezione 6 programmazione in Java

Esercizi di programmazione in linguaggio C English Dictionary

C: panoramica. Violetta Lonati

Le Funzioni e la Ricorsione

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

puntatori Lab. Calc. AA 2007/08 1

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

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

Esercizi di programmazione in linguaggio C Ricerca

Esercizio 1 Liste: calcolo perimetro di un poligono

Transcript:

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere in pseudo-codice l algoritmo di conversione decimale-binario ed applicarlo per convertire in base 2 il valore 231 espresso in base 10. ESERCIZIO 2 (5 punti) Scrivere la tabella di verità della seguente funzione booleana F a quattro variabili A, B, C, D: F = AB + CA + ABC + DB + ABCD ESERCIZIO 3 (5 punti) Descrivere in modo chiaro e sintetico l architettura di Von Neumann ed il suo funzionamento base. ESERCIZIO 4 (4 punti) Definire i seguenti tipi di dato: Tipo tipo_studente costituito da due int matricola, voto_medio; Tipo vettore_studenti costituito da un vettore di max 50 variabili di tipo tipo_studente. ESERCIZIO 5 (10 punti) Definire ed implementare le seguenti funzioni: (5 punti) Funzione leggi_studenti, che, ricevendo in ingresso : o una variabile di tipo vettore_studenti chiamata studenti, o una stringa chiamata nome_file, legge, dal file indicato da nome_file, gruppi di due int e li memorizza sequenzialmente nelle componenti di studenti. Restituisce il numero di studenti letti; (5 punti) Funzione seleziona_studenti, che riceve in ingresso : o una variabile di tipo vettore_studenti, chiamata studenti, o il numero di studenti letti, o un intero voto_min stampa a video gli slot matricola e voto_medio della relativa componente di studenti tale che voto_min < voto_medio (si ricordi che voto_medio è uno slot della generica variabile i-esima di studenti). Restituisce il numero di studenti selezionati. ESERCIZIO 6 (4 punti) Scrivere un programma C che, utilizzando i tipi e le funzioni definite negli esercizi 4 e 5, legga un file input.txt contenente, in ogni linea, gruppi di due int descriventi degli studenti, e li memorizzi in una variabile di tipo vettore_studenti chiamata studenti. Ricevendo poi da tastiera un intero voto_min, stampi a video tutti quegli studenti il cui voto medio è strettamente maggiore di voto_min. Se nessuno studente è stato stampato, il programma termini scrivendo Mi dispiace, nessuno studente trovato.

Soluzione dell esercizio 1 Riportiamo lo pseudo-codice: Ingresso (Input): una sequenza di cifre decimali X (il numero da convertire) Uscita (Output): una sequenza di n cifre binarie (il numero convertito) bn-1.b0 i = 0; (operatore = : assegnazione) Ripeti Q = quoziente di X/2; bi = R; X = Q; i = i + 1; R = resto di X/2; Finché Q <> 0 Nota <> significa diverso da Per convertire 231: 231/2 =115, resto 1 115/2 = 57, resto 1 57/2 = 28, resto 1 28/2 = 14, resto 0 14/2= 7, resto 0 7/2 = 3, resto 1 3/2 = 1, resto 1 1/2 = 0, resto 1 L algoritmo termina in quanto Q==0. Quindi: Posizion 7 6 5 4 3 2 1 0 e Cifra 1 1 1 0 0 1 1 1 Da cui: 23110 = 111001112 L algoritmo viene introdotto a pag. 20 del Cap. 1, e scritto in forma algoritmica a pag. 21. Fondamenti di Informatica 9 Giugno 2008 2

Soluzione dell esercizio 2 F = AB + CA + ABC + DB + ABCD A B C D F 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Soluzione dell esercizio 3. Vedi dispense, Cap. 2, pagg. 12-14 in particolare. Fondamenti di Informatica 9 Giugno 2008 3

Soluzione dell esercizio 4. typedef struct int matricola, voto_medio; tipo_studente; typedef tipo_studente vettore_studenti[50]; Soluzione dell esercizio 5 (1) int leggi_studenti(vettore_studenti studenti, char *nome_file) int numstudenti; int m,v; FILE *fp; fp=fopen(nomefile, r ); if(fp==null) return 0; numstudenti=0; while((feof(fp)!=0)&&(numstudenti<50)) fscanf(fp, %d %d,&m, &v) ; studenti[numstudenti].matricola=m ; studenti[numstudenti].voto_medio=v ; numstudenti++ ; fclose(fp); return numstudenti; (2) int seleziona_studenti(vettore_studenti studenti, int n, int voto_min) int i, numselezionati; numselezionati=0; for(i=0; i<n; i++) if(voto_min<studenti[i].voto_medio) printf( %d %d\n,studenti[i].matricola, studenti[i].voto_medio); numselezionati++; return numselezionati; Fondamenti di Informatica 9 Giugno 2008 4

Soluzione dell esercizio 6 /*Programma per la lettura di un vettore di studenti e la stampa degli studenti meritevoli */ #include <stdio.h> /*Qua si inseriscono le definizioni di tipo dell esercizio 4*/ /*Qua si inseriscono i prototipi delle funzioni dell esercizio 5*/ int main() vettore_studenti studenti; int numstudenti, voto_min, numselezionati; numstudenti=leggi_studenti(studenti, input.txt ); scanf( %d,&voto_min); numselezionati=seleziona_studenti(studenti,numstudenti,voto_min); if(numselezionati==0) printf( \nmi dispiace, nessuno studente trovato.\n ); return 0; /*Qua si inseriscono le implementazioni delle funzioni*/ Fondamenti di Informatica 9 Giugno 2008 5