Esercitazione 2

Esercizio 1. Scrivere un programma C costituito da una funzione main di prototipo

e da tre funzioni ausiliarie

Nella implementazione delle tre funzioni: 1) i considerano solo i primi 16 bit della rappresentazione interna di un intero, 2) si utilizzano solo gli operatori bit a bit (&,|,^,~).

La funzione main() lavora su due variabili intere, a1 e b1, ed interagisce con l'utente per leggere nuovi valori per a1 e b1. Dopodichè, utilizza le funzioni ausiliarie per calcolare a1+b1, -a1 e per stampare il risultato.

Suggerimento : usare gli array globali per contenere le tabelline di somma e riporto.

Esercizio 2. Scrivere un programma C che calcola il segmento di somma massima (SSM) di una array.

Ad esempio l'array [2,-4,2,-1,6-3] ha come SSM il segmento [2,-1,6] di valore 7.

Esercizio 3. Scrivere una funzione

double polinomio (double a, double b, double c);

che restituisce la radice positiva del polinomio ax2 + bx + c.

Esercizio 4. Scrivere un programma C che legge una sequenza di studenti da tastiera nel formato

nome cognome numero_di_matricola,

(tre stringhe di caratteri), li memorizza in un array di strutture opportunamente definito e li stampa in ordine alfabetico.

Esercizio 5. Scrivere un programma C che legge una stringa (modificatore %s ) e trasforma tutti i caratteri minuscoli in maiuscoli.

Esercizio 6. Scrivere un programma C che stampa la codifica binaria ASCII di tutti i caratteri minuscoli (da 'a' a 'z').

Esercizio 7. Scrivere un programma C che stampa la lunghezza in byte dei tipi base int, short, long ed i valori del massimo e del minimo numero rappresentabili da int.