Strumenti Utente

Strumenti Sito


fisica:informatica:201415:esercitazioni:esercitazione4

Questa è una vecchia versione del documento!


Esercitazione

Esercizio 1: Equazioni di secondo grado

Scrivere un programma C che legge da standard input i coefficienti a,b,c di uan equazione di secondo grado

a * x^2 + b * x + c = 0

ne calcola le radici seguendo la traccia in questo documento

Esercizio 2: Stampa cifre decimali

Scrivere un programma C che legge dallo standard input un numero intero positivo X e stampa le cifre decimali del numero, una per linea (separate da \n) sullo standard output.

Esercizio 3: Stampa cifre binarie

Scrivere un programma C che legge un intero X (tipo int) da standard input e stampa sullo standard output le cifre della sua rappresentazione in complemento a due.

Suggerimento: utilizzare gli operatori bit a bit di shift («,»), complemento(~), and(&), or(|), xor (^) per ricavare le cifre dalla rappresentazione interna di X come int senza ricalcolarla.

Esercizio 4: Bilanciamento delle parentesi

Scrivere un programma C che legge dallo standard input una sequenza di caratteri (terminata da EOF) e stabilisce se l'insieme dei caratteri utilizza in modo appropriato le parentesi graffe tonde e quadre ovvero

  • se il numero delle parentesi aperte e chiuse coincide e
  • se la parentesi aperta precede sempre la parentesi chiusa.

Ad esempio:

{lkshaj[nnnn()]}{}

e' una sequenza corretta, mentre

{lkshaj][nnnn()}{}

e' scorretta.

Utilizzare getchar() per leggere i caratteri uno ad uno, la funzione restituisce EOF quando lo stream e' finito (vedi man getchar).

Inserendo manualmente i caratteri EOF puo' essere generato utilizzando la combinazione di tasti CONTROL-D.

Quando il programma e' funzionante, verificare il bilanciamento delle parentesi del programma stesso utilizzando la redirezione. Ad esempio, se l'eseguibile relativo al mio programma si chiama checkpar, e il sorgente si trova nel file checkpar.c, provare ad eseguire

bash$ ./checkpar < checkpar.c
fisica/informatica/201415/esercitazioni/esercitazione4.1425111158.txt.gz · Ultima modifica: 28/02/2015 alle 08:12 (11 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki