Informatica e elementi di informatica medica. Laboratori del 9 e del 12 Aprile 2010

Documenti analoghi
Informatica e elementi di informatica medica. Laboratori del 26 e del 29 Marzo 2010

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Università degli Studi di Brescia

Le funzioni, e le istruzioni di input/output

Fondamenti di Informatica L-A

Esercizi di programmazione in C

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

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

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

Laboratorio di Informatica Grafica Linguaggio C

Strutture Dati Dinamiche

PROGRAMMAZIONE: ESERCITAZIONE N. 6

7. Strutture di controllo

Esercizio 1. Esercizio 1 - Soluzione

Strutture di Controllo

Strutture di iterazione

LINGUAGGIO C. Linguaggio per esempi Giancarlo Martini

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

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

Esercizi C su array e matrici

Fondamenti di Informatica T-1 Modulo 2

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

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

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

Esercizi di programmazione in linguaggio C English Dictionary

INFORMATICA. Strutture iterative

Esercitazione 6. Array

5 - Istruzioni condizionali

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

Linguaggio C: le funzioni

Esercizio 1: calcolo insieme intersezione

Scelte ed alternative. Esercizi risolti

Esercizio 1: calcolo del massimo di una sequenza (versione 1)

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

Linguaggio C - Array. Array: tipo nome_array[num_elementi]

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

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

Come va usato il codice dei caratteri

ISTRUZIONI DI ITERAZIONE

Linguaggio C. Esercizio 1

Strutture di Controllo. if (<condizione>) statement; if (<condizione>) statement; Istruzioni condizionali. Istruzione condizionale if.

Scrittura formattata - printf

Corso sul linguaggio C Modulo Tipi di dato

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

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

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

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

Complementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -

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

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

Programmare in C. Esempio: Algoritmo del Risveglio

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

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

Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013

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

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

- Dispensa III - PROGRAMMAZIONE C (Parte I)

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

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

Esercizi. Stringhe. Stringhe Ricerca binaria

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

Informatica e elementi di informatica medica. Laboratori del 19 e del 22 Marzo 2010

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

Esercizi. I File ed il C

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

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

Gestione dei file. File di testo e binari

Introduzione al C. Esercitazione 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria Clinica

Sistemi operativi Modulo II I semafori 2 Select

Istruzioni iterative (o cicliche)

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

Come ragiona il computer. Problemi e algoritmi

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

Linguaggio C - sezione dichiarativa: costanti e variabili

Corso di Fondamenti di Informatica. Dispensa 3: Espressioni artimetico-logiche e costrutti di decisione. Prof. Domenico Rosaci

IL PRIMO PROGRAMMA IN C

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

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

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

$QDOLVLGHOSURJUDPPDTXDGUDWR

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

Esercizio 1 (15 punti)

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

Programmazione I - Laboratorio

prova.c #include <stdio.h> char funzione(char); codice oggetto del main()

INTRODUZIONE ALLA PROGRAMMAZIONE

Corso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf(

Istruzioni del Linguaggio C

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

LABORATORIO DI FONDAMENTI DI INFORMATICA DIAGRAMMI DI FLUSSO E CODIFICA IN C DEGLI ALGORITMI

Tipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Informatica 1. Prova di recupero 21 Settembre 2001

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

Strutture di iterazione

Laboratorio di Programmazione Laurea in Bioinformatica

Transcript:

Informatica e elementi di informatica medica Laboratori del 9 e del 12 Aprile 2010

Calcolo geometrico 1 Esercizio 1: Calcolo geometrico Scrivere un programma che chieda all utente di indicare la lunghezza di un segmento, e che chieda all utente se vuole conoscere: l area e il perimetro del quadrato che ha il segmento come lato, oppure l area e il perimetro del traiangolo equilatero che ha il segmento come lato, oppure l area e il perimetro del cerchio che ha il segmento come raggio. Dopo che l utente ha formulato la propria scelta il programma deve procedere con il calcolo appropriato. Soluzione # include <stdio.h> # include <stdlib.h> # define pi_greco 3.14 int main() float lunghezza_segmento; float perimetro, area; int scelta; printf( Inserisci la lunghezza del segmento: ); scanf( %f,& lunghezza_segmento); if( lunghezza_segmento <= 0 ) printf( Errore: i segmenti di dimensione negativa o nulla non esistono! ); printf( Inserisci:\ n[1] Per calcolare perimetro e area del quadrato\n[2] Per calcolare perimetro e area del triangolo\n[3] Per calcolare perimetro e area del cerchio\n ); scanf( %d,&scelta); switch( scelta ) case 1: perimetro = 4.0 * lunghezza_segmento; area = lunghezza_segmento * lunghezza_segmento; printf( L area del quadrato di lato %f vale: %f, mentre il perimetro vale: %f\ n, lunghezza_segmento, area, perimetro); case 2: perimetro = 3.0 * lunghezza_segmento; area = ( 1.732051 / 4.0 ) * lunghezza_segmento * lunghezza_segmento; printf( L area del triangolo equilatero di lato %f vale: %f, mentre il perimetro vale: %f\n, lunghezza_segmento, area, perimetro);

Calcolo geometrico 2 case 3: perimetro = 2.0 * pi_greco * lunghezza_segmento; area = pi_greco * lunghezza_segmento * lunghezza_segmento; printf( L area del cerchio di raggio %f vale: %f, mentre il perimetro vale: %f \n, lunghezza_segmento, area, perimetro); default: printf( Scelta non valida!\ n ); system( PAUSE );

L ingresso in discoteca 3 Esercizio 2: L ingresso in discoteca Scrivere un programma in linguaggio C che gestisca l ingresso di una discoteca, chiedendo all utente: la sua età, il suo sesso, e se l utente è un uomo, si deve chiedere se è accompagnato da una donna. Se l utente ha meno di 18 anni non può entrare in discoteca, se ha un età compresa tra i 18 e 20 anni allora può entrare ma non può bere alcolici, mentre se ha almeno 21 anni può non solo entrare ma anche bere alcolici. Se l utente è una donna allora non paga l ingresso, invece se è un uomo paga: 35 euro se non è accompagnato da una donna, 10 euro se è accompagnato da una donna. Soluzione # include <stdio.h> # include <stdlib.h> int main() int eta; char sesso, accompagnato; printf( Inserisci la tua eta : ); scanf( %d, &eta); if( eta < 0 ) printf( Ancora devi nascere...\n ); printf( Inserisci il tuo sesso [M/F]: ); scanf( %c, &sesso); if( sesso == m sesso == M ) sesso = M ; if( sesso == f sesso == F ) sesso = F ;

L ingresso in discoteca 4 printf( Sei di sesso indefinito!\ n ); if( eta < 18 ) printf( Mi dispiace, non puoi entrare.\ n ); if( eta < 21) printf( Puoi entrare ma non puoi bere alcolici.\ n ); printf( Puoi entrare e puoi bere alcolici.\ n ); if( sesso == M ) printf( Sei accompagnato da un donna? [S/N]: ); scanf( %c, &accompagnato); if( accompagnato == s accompagnato == S ) printf( Dato che sei accompagnato da una donna hai diritto all ingresso ridotto, paghi solo 10 euro.\ n ); if( accompagnato == n accompagnato == N ) printf( Dato che non sei accompagnato da una donna non hai diritto all ingresso ridotto, paghi 35 euro.\ n ); printf( Sei confuso?\n ); printf( Non paghi l entrata in discoteca perche sei una donna.\ n ); system( PAUSE );

Il distributore automatico 5 Esercizio 3: Il distributore automatico Dato un ditributore dotato dei seguenti prodotti: bibite in lattina, prezzo: 0.90 euro, bottigliette d acqua, prezzo: 0.35 euro, caffè, prezzo: 0.40 euro, merendine, prezzo: 1.25 euro, e che accetta le seguenti monete: 0.05 euro, 0.10 euro, 0.20 euro, 0.50 euro, 1.00 euro, e 2.00 euro, scrivere un programma in linguaggio C che consenta all utente di inserire le monete, scegliere il prodotto desiderato, riutilizzare il credito per altre selezioni, ed infine ritirare il resto. Soluzione # include <stdio.h> # include <stdlib.h> # define costo_lattina 0.90 # define costo_acqua 0.35 # define costo_caffe 0.40 # define costo_merendina 1.25 int main() float credito = 0.0; char erogato; int scelta; do printf( Digitare:\n ); printf( [1] per inserire una moneta da 0.05 euro\n ); printf( [2] per inserire una moneta da 0.10 euro\n );

Il distributore automatico 6 printf( [3] per inserire una moneta da 0.20 euro\n ); printf( [4] per inserire una moneta da 0.50 euro\n ); printf( [5] per inserire una moneta da 1.00 euro\n ); printf( [6] per inserire una moneta da 2.00 euro\n ); printf( [7] per selezionare una lattina, costo: %f\n, costo_lattina); printf( [8] per selezionare una bottiglietta di acqua, costo: %f\n, costo_acqua ); printf( [9] per selezionare un caffe, costo: %f\n, costo_caffe); printf( [10] per selezionare una merendina, costo: %f\n, costo_merendina); printf( Digitare qualunque altro numero intero per ritirare il credito e abbandonare il programma.\ n\n ); printf( [ credito: %f] Inserisci selezione:, credito); scanf( %d,&scelta); printf( \n ); erogato = 0; switch( scelta ) case 1: credito += 0.05; case 2: credito += 0.10; case 3: credito += 0.20; case 4: credito += 0.50; case 5: credito += 1.00; case 6: credito += 2.00; case 7: if( credito < costo_lattina ) printf( \n***************************************************\ n ); printf( Non hai abbastanza credito per comprare una lattina.\ n ); printf( ***************************************************\ n ); credito = credito - costo_lattina; erogato = 1; case 8: if( credito < costo_acqua )

Il distributore automatico 7 printf( \n***************************************************\ n ); printf( Non hai abbastanza credito per comprare una bottiglietta d acqua.\n ); printf( ***************************************************\ n ); credito = credito - costo_acqua; erogato = 1; case 9: if( credito < costo_caffe ) printf( \n***************************************************\ n ); printf( Non hai abbastanza credito per comprare un caffe.\n ); printf( ***************************************************\ n ); credito = credito - costo_caffe; erogato = 1; case 10: if( credito < costo_merendina ) printf( \n***************************************************\ n ); printf( Non hai abbastanza credito per comprare una merendina.\ n ); printf( ***************************************************\ n ); credito = credito - costo_merendina; erogato = 1; default: printf( \n***************************************************\ n ); printf( Il tuo resto e : %f\n, credito); printf( ***************************************************\ n ); if( erogato ) printf( \n***************************************************\ n ); printf( Erogazione effettuata.\ n ); printf( ***************************************************\ n ); printf( \n ); while( scelta > 0 && scelta < 11 ); system( PAUSE );

Il distributore automatico 8

Statistiche sulla temperatura corporea di un paziente 9 Esercizio 4: Statistiche sulla temperatura corporea di un paziente Si scriva un programma in linguaggio C che chieda all utente di fornire le misure della temperatura corporea di un paziente rilevate nell arco di 7 giorni, e che offra all utente la possibilità di conoscere, a sua scelta, una delle seguenti informazioni: la temperatura corporea media del paziente, la temperatura massima, la temperatura minima, per quanti giorni il paziente ha avuto la febbre, la temperatura di uno dei giorni, per quanti giorni l utente ha avuto la temperatura corporea al di sotto di un certo valore specificato dall utente stesso, per quanti giorni l utente ha avuto la temperatura corporea al di sopra di un certo valore specificato dall utente stesso. Per memorizzare le temperature si usi un arrary. Soluzione # include <stdio.h> # include <stdlib.h> # define GIORNI 7 # define SOGLIA_FEBBRE 37.0 int main() float temperature[ GIORNI ]; float temperatura_media, temperatura_massima, temperatura_minima; float soglia_di_temperatura; int conteggio; int i, giorni_febbre, giorno_scelto, scelta; giorni_febbre = 0; printf( Inserisci la temperatura del paziente del giorno 1: ); scanf( %f, &temperature[ 0 ]); temperatura_media = temperature[ 0 ]; temperatura_minima = temperature[ 0 ]; temperatura_massima = temperature[ 0 ]; for( i = 1; i < GIORNI; i++ )

Statistiche sulla temperatura corporea di un paziente 10 printf( Inserisci la temperatura del paziente del giorno %d:, i + 1); scanf( %f, &temperature[ i ]); temperatura_media += temperature[ i ]; if( temperature[ i ] < temperatura_minima ) temperatura_minima = temperature[ i ]; if( temperature[ i ] > temperatura_massima ) temperatura_massima = temperature[ i ]; if( temperature[ i ] > SOGLIA_FEBBRE ) giorni_febbre ++; temperatura_media = temperatura_media / GIORNI; do printf( \ncosa vuoi sapere?\n ); printf( [1] la temperatura media del paziente\n ); printf( [2] la temperatura massima del paziente\n ); printf( [3] la temperatura minima del paziente\n ); printf( [4] quanti giorni il paziente ha avuto la febbre\n ); printf( [5] la temperatura di uno dei giorni\n ); printf( [6] quante volte il paziente ha avuto la temperatura corporea al di sotto di un certo valore\n ); printf( [7] quante volte il paziente ha avuto la temperatura corporea al di sopra di un certo valore\n ); printf( digita qualunque altro numero intero per interrompere il programma\ nscelta: ); scanf( %d, &scelta); switch( scelta ) case 1: printf( La temperatura media del paziente e : %f\n, temperatura_media); case 2: printf( La temperatura massima del paziente e : %f\n, temperatura_massima); case 3: printf( La temperatura minima del paziente e : %f\n, temperatura_minima); case 4: printf( Il paziente ha avuto la febbre per %d giorni\n, giorni_febbre); case 5: printf( Inserisci il giorno di cui vuoi conoscere la temperatura [1,% d]:, GIORNI); scanf( %d, &giorno_scelto); if( giorno_scelto < 1 giorno_scelto > GIORNI ) printf( Hai inserito un giorno non valido!\ n ); printf( La temperatura del giorno %d e stata: %f\n, giorno_scelto, temperature[ giorno_scelto - 1 ]);

Statistiche sulla temperatura corporea di un paziente 11 case 6: printf( Inserisci la soglia di temperatura: ); scanf( %f,& soglia_di_temperatura); conteggio = 0; for( i = 0; i < GIORNI; i++ ) if( temperature[ i ] < soglia_di_temperatura ) conteggio ++; printf( Il numero di giorni in cui il paziente ha avuto la temperatura corporea al di sotto della soglia e : %d\n, conteggio); case 7: printf( Inserisci la soglia di temperatura: ); scanf( %f,& soglia_di_temperatura); conteggio = 0; for( i = 0; i < GIORNI; i++ ) if( temperature[ i ] > soglia_di_temperatura ) conteggio ++; printf( Il numero di giorni in cui il paziente ha avuto la temperatura corporea al di sopra della soglia e : %d\n, conteggio); default: printf( Interrompo il programma\n ); while( scelta > 0 && scelta < 8 ); system( PAUSE );

Conversione da base 10 a base 2 12 Esercizio 5: Conversione da base 10 a base 2 Si scriva un programma in linguaggio C che converta un numero (intero senza segno) in base 10 fornito dall utente nella sua rappresentazione in base 2.