Strumenti Utente

Strumenti Sito


fisica:informatica:201415:esercitazioni:esercitazione4

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
fisica:informatica:201415:esercitazioni:esercitazione4 [20/01/2015 alle 08:37 (11 anni fa)] – [Esercizio 3: operazioni bit a bit] Susanna Pelagattifisica:informatica:201415:esercitazioni:esercitazione4 [11/03/2015 alle 17:35 (10 anni fa)] (versione attuale) – [Esercizio 5: Operatori logici] Susanna Pelagatti
Linea 1: Linea 1:
 ====== Esercitazione ====== ====== Esercitazione ======
  
-===== Esercizio 1: calcolo radici di un polinomio =====+===== Esercizio 1: Equazioni di secondo grado =====
  
-Scrivere un programma C che legge da standard input i coefficienti ''a,b,c'' di un polinomio+Scrivere un programma C che legge da standard input i coefficienti ''a,b,c'' di uan equazione di secondo grado
 <code> <code>
-a * x^2 + b * x + c+a * x^2 + b * x + c = 0
 </code> </code>
-ne calcola le radici e ne stampa il valore in notazione esponenziale sullo standard output.+ne calcola le radici seguendo la traccia in {{:fisica:informatica:201415:esercitazioni:eserciziopolinomio.pdf|questo documento}}
 ===== Esercizio 2: Stampa cifre decimali ===== ===== Esercizio 2: Stampa cifre decimali =====
  
Linea 14: Linea 14:
 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. 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 (<<,>>), not(!), and(&), or(|) per ricavare le cifre dalla rappresentazione interna di ''X'' come ''int'' senza ricalcolarla.  +//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: stampa giorni (switch) =====+
  
  
 +===== 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:
 +<code>
 +{lkshaj[nnnn()]}{}
 +</code>
 +e' una sequenza corretta, mentre
 +<code>
 +{lkshaj][nnnn()}{}
 +</code>
 +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
 +<code>
 +bash$ ./checkpar < checkpar.c
 +</code>
 +
 +===== Esercizio 5: Operatori logici =====
 +Fornire delle espressioni logiche equivalenti alle seguenti senza usare la negazione (''!'')
 +<code>
 +!(a > b)
 +!(a <= b && c <= d )
 +!(a + 1 == b + 1)
 +!(a < 1 || b < 2 && c < 3)
 +</code>
 +Verificare la bontà della soluzione fornita stampando sullo standard output le [[http://it.wikipedia.org/wiki/Tabella_della_verit%C3%A0 | tabelle di verità]] per tutte le coppie di espressioni equivalenti. 
 +
 +===== Esercizio 6: Calcolo delle potenze di 2 =====
  
 +Scrivere un programma C che legge da standard input un numero intero positivo ''n'' (''n<=30'') e calcola l'n-esima potenza di 2 (2 elevato ad n) utilizzando gli operatori di shift (''<<'' o ''>>'').
fisica/informatica/201415/esercitazioni/esercitazione4.1421743064.txt.gz · Ultima modifica: 20/01/2015 alle 08:37 (11 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki