• Non ci sono risultati.

06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 6 (17/11/09)

N/A
N/A
Protected

Academic year: 2021

Condividi "06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 6 (17/11/09)"

Copied!
3
0
0

Testo completo

(1)

06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 6 (17/11/09)

La presente esercitazione presuppone conoscenza delle seguenti parti del linguaggio C: main, return, commen- ti, variabili, identificatori, tipi scalari, assegnazione, costanti letterali, printf (base), scanf (deprecata), ope- razioni aritmetiche, if . . . else, operatori relazionali, operatori Booleani, getchar, putchar, ciclo while, libreria ctype.h, const, #define, exit, programmazione a stati, gets, sscanf, stringhe, traduzione di algoritmi matematici;

switch, break, #ifdef, math.h, cast, printf (completa), ciclo for; argc, argv.

Esercizio 1

Scrivere un programma in linguaggio C che riceva (esattamente) un parametro da riga di comando e dica se `e un numero reale.

Ad esempio, se il programma (chiamatoPARAM_REALE) viene attivato nel seguente modo:

PARAM_REALE 23.7 il programma deve stampare:

Il parametro fornito (23.7) e’ un numero reale.

Esercizio 2

Scrivere un programma in linguaggio C che riceva sulla riga di comando il nome dell’utente e lo usi per comporre un saluto.

Ad esempio se il programma (denominatosaluta) venisse attivato col comando:

saluta Beppe

dovrebbe fornire in output:

Ciao Beppe, come butta oggi?

Esercizio 3

Scrivere un programma in linguaggio C che riceva un numero non noto a priori di parametri da riga di comando e, per ognuno di essi, dica se si tratta di un numero intero.

Ad esempio, se il programma (chiamatoPARAMETRI) viene attivato nel seguente modo:

PARAMETRI 3 ciao 709 il programma deve stampare:

Il parametro n.1 (3) e’ un numero intero

Il parametro n.2 (ciao) non e’ un numero intero Il parametro n.3 (709) e’ un numero intero

Esercizio 4

Scrivere un programma in linguaggio C che riceva (esattamente) un parametro da riga di comando e dica se `e un carattere (in altri termini, se il primo parametro `e una stringa composta da un solo carattere).

Ad esempio, se il programma (chiamatoUN_CAR) viene attivato nel seguente modo:

UN_CAR xy

il programma deve stampare:

Il parametro fornito (xy) non e’ un singolo carattere 1

(2)

06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 6 (17/11/09)

Esercizio 5

Scrivere un programma in linguaggio C che riceva due numeri interi sulla riga di comando e ne calcoli la somma.

Ad esempio se il programma (denominatosomma2) venisse attivato col comando:

somma2 3 9

dovrebbe fornire in output il valore12.

Esercizio 6

Scrivere un programma in linguaggio C che riceva sulla riga di comando dei numeri interi (in quantit`a non nota a priori) e ne calcoli la somma.

Ad esempio se il programma (denominatosommaN) venisse attivato col comando:

sommaN 2 4 10 -5

dovrebbe fornire in output il valore11.

Esercizio 7

Scrivere un programma in linguaggio C che riceva da linea di comando tre numeri interi positivi che rappresentano nell’ordine il limite superiore (sup), il limite inferiore (inf) e il valore costante (dec) di una progressione aritmetica. Il programma deve quindi generare e visualizzare tutti gli elementi maggiore o uguali al limite inferioreinfdella progressione aritmetica che parte dasupcon ragione -dec.

Ad esempio, se il programma (chiamatoseq) viene attivato nel seguente modo:

seq 30 10 6

il programma deve visualizzare:

30 24 18 12

Esercizio 8

Scrivere un programma in linguaggio C che riceva da linea di comando un carattereced una sequenza di numeri reali (la cui quantit`a non `e nota a priori). Il programma deve calcolare e stampare in output, per tutti i numeri letti, il risultato di una diversa operazione in funzione dic. Le operazioni disponibili sono:

• il logaritmo in base 10 sec `e uguale ad’L’

• il logaritmo in base 2 sec `e uguale ad’l’

• il seno sec `e uguale ad’s’o’S’

• il coseno sec `e uguale ad’c’o’C’

• la tangente sec `e uguale ad’t’o’T’

2

(3)

06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 6 (17/11/09)

Ad esempio, se il programma (chiamatocalcola) viene attivato nel seguente modo:

calcola T 0 135

il programma deve stampare:

0.000 -1.000

Nel caso di operazioni trigonometriche, si assuma che i numeri in input rappresentino misure di angoli in gradi. I risultati devono essere stampati con una precisione pari a 1/1000. Tutti gli errori devono essere gestiti esplicitamente.

3

Riferimenti

Documenti correlati

Essendo il circuito particolarmente semplice, la tabella di verit`a si poteva ottenere anche lavorando direttamente

Un sistema di elaborazione `e dotato di una memoria centrale di 256 MB con un tempo d’accesso di 40 ns e di una memoria cache di 128 kB con tempo d’accesso di 10 ns Si determini

[ `e necessaria la memoria cache ] Lo svolgimento di 20 milioni di operazioni al secondo richiede in media 10 milioni di accessi in me- moria al secondo, ai quali bisogna sommare

Scrivere un programma in linguaggio C che chieda all’utente di immettere due numeri interi, ottenga i numeri dall’utente e visualizzi la loro somma, prodotto, differenza, quoziente

Scrivere un programma in linguaggio C che chieda all’utente le coordinate di un punto nel piano Cartesiano XY e quindi determini se tale punto appartiene all’area del rettangolo

Scrivere un programma in linguaggio C che legga tutti i caratteri in input, fermandosi non appena incontra un carattere punto, punto esclamativo o punto interrogativo, e quindi

La presente esercitazione presuppone conoscenza delle seguenti parti del linguaggio C: main, return, commen- ti, variabili, identificatori, tipi scalari, assegnazione,

Scrivere un programma in linguaggio C che richieda e legga un numero intero N (minore di 100) e quindi presenti in output una tabella avente in prima colonna un numero intero (da 1