Sei sulla pagina 1di 3

A LMA M ATER S TUDIORUM —U NIVERSITÀ DI B OLOGNA

Laurea in Ingegneria Biomedica


Laurea in Ingegneria Elettronica
Corso di Fondamenti di Informatica (cod. 09730), a.a. 2021/2022

Primi programmi in C:
variabili, semplici espressioni, I/O formattato
Roberto Casadei, Sara Montagna
versione documento: 2022–03–09

1. Preparazione
In questa esercitazione, si avrà a che fare con i seguenti concetti introdotti a lezione:
• sorgenti di programmi C (cf. funzione main);
• compilazione di programmi C (cf. gcc);
• esecuzione di programmi compilati;
• dichiarazione di variabili;
• inizializzazione, assegnamento di variabili;
• tipi di dato (quali sono?);
• valori e letterali (quali notazioni sintattiche per esprimere quali valori?);
• espressioni (quali operatori?);
• istruzioni, o statement;
• input e output formattati (cf. printf, scanf).
E SERCIZIO 1.1. (O PZIONALE ) S TUDIO ED ESECUZIONE DEI PROGRAMMI VISTI A LEZIONE
Si scarichi lo zip con i sorgenti C dei programmi descritti a lezione. Per ognuno:
1. si compili il sorgente;
2. si determini il risultato osservabile atteso dall’esecuzione;
3. si esegua il programma;
4. si confronti l’aspettativa con il risultato attuale.

1
2. Creazione dei primi programmi in C

E SERCIZIO 2.1. C ALCOLO DELL’ AREA DI FIGURE GEOMETRICHE


A partire dal sorgente area_triangolo.c fornito, creare un programma che calcola l’area di un rettan-
golo:
1. Creare un nuovo sorgente area_rettangolo.c
2. Copiarci internamente il contenuto del sorgente area_triangolo.c
3. Modificare opportunamente il metodo main() affinché computi l’area di un rettangolo
Creare un nuovo sorgente area_cerchio.c e fare la stessa cosa per il calcolo dell’area di un cerchio.
Nota: si consiglia di definire una costante chiamata PI_GRECO di valore iniziale 3.14.

E SERCIZIO 2.2. O PERAZIONI ARITMETICHE


Si scriva un programma in grado di stampare il risultato delle quattro operazioni (somma, sottrazione, molti-
plicazione, e divisione) tra due interi a e b inseriti da tastiera. Dopo che sono stati inseriti i due numeri,
il programma dovrà visualizzare il risultato delle quattro operazioni. Cosa succede tentando di calcolare il
rapporto a/b se b = 0?

E SERCIZIO 2.3. I NTERO P RECEDENTE /S UCCESSIVO


Si scriva un programma che legga da tastiera un valore intero e visualizzi il valore intero precedente e il
successivo.

E SERCIZIO 2.4. M EDIA ARITMETICA


Si scriva un programma che legga da tastiera due valori reali e visualizzi la loro media aritmetica. SUGGER-
IMENTO: per acquisire da tastiera un valore reale si usi l’istruzione scanf("%f", &variabile);

3. Espressioni condizionali
Si consideri l’operatore ternario ?:, che consente di esprimere espressioni condizionali. L’espressione e1
? e2 : e3 viene valutata come segue:
• viene valutata l’espressione e1 per dedurne il valore Booleano b ;
• se il valore Booleano b è vero (in C, un valore diverso da zero), allora viene valutata l’espressione e2
e il valore risultante è il valore dell’espressione complessiva;
• se il valore Booleano b è falso (ovvero b == 0), allora viene valutata l’espressione e3 e il valore
risultante è il valore dell’espressione complessiva.
Ad esempio, l’espressione 1 ? 7 : 8+1 viene valutata nel valore 7, mentre 0 ? 7 : 8+1 viene valutata nel
valore 9. Si usi questo operatore per esprimere risultati in modo dipendente dal verificarsi di certe condizioni.
E SERCIZIO 3.1. PARI / DISPARI
Si scriva un programma che legga da tastiera un valore intero e visualizzi la stringa “pari” se pari (ovvero
se il resto modulo 2 è zero) o “dispari” altrimenti. Si ricordi:
• Letterali stringa si rappresentano usando i doppi apici: ad esempio "pari"
• Per “stampare” in standard out un valore stringa (contenuto in una variabile o fornito mediante letterale
o espressione), si usi formattatore %s in printf.

2
E SERCIZIO 3.2. M AGGIORE / MINORE
Si scriva un programma che legga da tastiera due valori interi i0 e i1 e visualizzi la stringa “i0 è maggiore di
i1 ” se i0 > i1 , “i0 è minore di i1 ” se i0 < i1 , oppure “i0 è uguale a i1 ” altrimenti.
Consiglio:
• Si usi due volte l’operatore ternario nella stessa espressione, come segue: A ? B : (C ? D : E).

Potrebbero piacerti anche