Strumenti Utente

Strumenti Sito


fisica:informatica:201516:secondoanno:laboratorio_3

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:201516:secondoanno:laboratorio_3 [04/03/2016 alle 10:18 (9 anni fa)] – [Esercizio 13] Roberta Gorifisica:informatica:201516:secondoanno:laboratorio_3 [04/03/2016 alle 10:28 (9 anni fa)] (versione attuale) – [Esercizio 2] Roberta Gori
Linea 80: Linea 80:
 Scrivere il programma morra che gestisce una sfida tra PC e Scrivere il programma morra che gestisce una sfida tra PC e
 utente: utente:
-  *(i) generando un numero casuale da 1 a 3 così definiti:+  generando un numero casuale da 1 a 3 così definiti:
        *1: sasso,         *1: sasso, 
        *2: forbici,         *2: forbici, 
        *3: carta (utilizzare il costrutto #define per rendere leggibile l'associazione tra il numero e il simbolo)        *3: carta (utilizzare il costrutto #define per rendere leggibile l'associazione tra il numero e il simbolo)
-  *(ii) leggendo un carattere ('s': sasso, 'f': forbici, 'c': carta) +  leggendo un carattere ('s': sasso, 'f': forbici, 'c': carta) 
-  *(iii) stampando l'esito del confronto.+  stampando l'esito del confronto.
  
 Se l'utente immette un carattere diverso da 's', 'f' e 'c' allora Se l'utente immette un carattere diverso da 's', 'f' e 'c' allora
Linea 95: Linea 95:
 serie di numeri: serie di numeri:
  
-  *(i) 1, 2, 3, 4, 5, 6, 7 +  1, 2, 3, 4, 5, 6, 7 
-  *(ii) 3, 8, 13, 18, 23 +  3, 8, 13, 18, 23 
-  *(iii) 20, 14, 8, 2, -4, -10 +  20, 14, 8, 2, -4, -10 
-  *(iv)  19, 27, 35, 43, 51+  19, 27, 35, 43, 51
  
 ===== Esercizio 4  ===== ===== Esercizio 4  =====
Linea 247: Linea 247:
 dividendo per la  dividendo per la 
 somma del numero di crediti. somma del numero di crediti.
 +
 Quindi uno studente con due esami, fisica 1 (voto: 24, crediti:15) Quindi uno studente con due esami, fisica 1 (voto: 24, crediti:15)
 e informatica  e informatica 
 (voto: 28, crediti:6), avra' una media pesata circa uguale a  (voto: 28, crediti:6), avra' una media pesata circa uguale a 
 (24*15 + 28*6)/(15+6) = 25,14. (24*15 + 28*6)/(15+6) = 25,14.
 +
 Scrivere il programma calcola_la_media che chiede ad uno studente Scrivere il programma calcola_la_media che chiede ad uno studente
 i voti degli  i voti degli 
 esami e il loro peso in crediti, uno per volta. esami e il loro peso in crediti, uno per volta.
 +
 Lo studente dovrà inserire 0 per segnalare che ha terminato Lo studente dovrà inserire 0 per segnalare che ha terminato
 l'inserimento.  l'inserimento. 
 +
 Il programma quindi calcola e stampa la sua media pesata sui Il programma quindi calcola e stampa la sua media pesata sui
 crediti. crediti.
 +
 Nota: si tenga conto che la votazione del singolo esame e il Nota: si tenga conto che la votazione del singolo esame e il
 numero di crediti  numero di crediti 
Linea 267: Linea 272:
 maggiore di 0. maggiore di 0.
  
 +===== Esercizio 15  =====
 +Modificare il programma precedente per chiedere il numero di
 +crediti 
 +del prossimo esame che lo studente deve sostenere. 
 +
 +Il programma quindi calcola quale voto lo studente dovrebbe
 +prendere perchè 
 +la media migliori raggiungendo la votazione (intera)
 +immediatamente superiore 
 +alla media attuale. 
 +
 +Se tale voto fosse maggiore di 30, il
 +programma deve 
 +stampare il messaggio "Mi dispiace, non si puo'".
 +
 +===== Esercizio 16  =====
 +Esercizio proposto a lezione: 
 +"Algoritmo di Euclide con i resti per il calcolo del MCD"
 +La descrizione informale dell'algoritmo è:
 +<code>
 +  leggi m ed n
 +while m ed n sono entrambi != 0 {
 +  sostituisci il maggiore tra m ed n con il resto della divisione
 +del maggiore
 +        per il minore
 +}
 +stampa il numero tra i due che e' diverso da 0
 +</code>
 +Implementare questo algoritmo in C nel programma euclide.
 +
 +
 +===== Esercizio 17  =====
 + Scrivere un programma alfabeto che chiede all'utente una
 +sequenza di caratteri 
 +alfabetici minuscoli verificando che ogni carattere letto sia
 +maggiore o uguale 
 +ai precedenti (secondo l'ordine alfabetico).
 + 
 +Il primo carattere inserito può essere un qualsiasi carattere
 +minuscolo.
 +
 +La sequenza termina quando l'utente immette un carattere non
 +alfabetico o maiuscolo 
 +oppure se immette un carattere minore di uno di quelli letti
 +precedentemente.
 +
 +Terminata la lettura dei caratteri il programma deve stampare il
 +numero di 
 +caratteri minuscoli diversi appartenenti alla sequenza (il
 +carattere che causa la 
 +terminazione non è considerato parte della sequenza).
 +
 +Se la sequenza è vuota, cioè non viene immesso alcun carattere
 +minuscolo, allora 
 +il programma stampa solo un avvertimento.
 +
 +Esempi di esecuzione:
 +<code>
 +Dammi un carattere: X
 +La sequenza di lettere minuscole e' vuota
 +</code>
 +<code>
 +Dammi un carattere: a
 +Dammi un carattere: r
 +Dammi un carattere: r
 +Dammi un carattere: f
 +Totale lettere minuscole ordinate e diverse: 2
 +</code>
 +<code>
 +Dammi un carattere: a
 +Dammi un carattere: a
 +Dammi un carattere: a
 +Dammi un carattere: d
 +Dammi un carattere: z
 +Dammi un carattere: 4
 +Totale lettere minuscole ordinate e diverse: 3
 +</code>
 +
 +===== Esercizio 18  =====
 +Scrivere un programma rappresentazione che legge una sequenza
 +di 0 e di 1 
 +di dimensione prefissata K e stampa il numero intero la cui
 +rappresentazione 
 +in complemento a 2 su K cifre è la sequenza letta.
 +
 +Esempio di esecuzione :
 +<code>
 +Digitare una sequenza di 0 e 1 lunga 5:
 +0 1 1 1 0
 +Il numero intero e': 14
 +</code>
 +Nota: il programma deve definire K con un'istruzione define e deve
 +poter funzionare 
 +anche con valori diversi da 5 semplicemente cambiando questa
 +define.
 +
 +===== Esercizio 19  =====
 +Esercizio proposto a lezione:
 +scrivi un programma che stampa la tavola pitagorica (come matrice
 +quadrata, 
 +con righe da 1 a 10 e colonne da 1 a 10).
 +
 +Sulle slide dell'ultima lezione c'è una possibile soluzione, chi
 +non se la 
 +ricorda provi a ricostruirla.
 +
 +Riuscite a stampare la tavola correttamente spaziata?
 +
 +(Suggerimento: guardate i dettagli del formato di printf).
 +
 +Usate la barra verticale | per separare ogni colonna dalla
 +successiva
 +e sequenze di segni meno - per separare ogni riga dalla
 +successiva.
 +
 +A lezione è stata proposta una soluzione con due cicli for
 +annidati. 
 +
 +Riuscite a scrivere il programma con un unico ciclo for? 
 +Ne vale la pena? Quali sono gli svantaggi di quest'ultima
 +soluzione?
fisica/informatica/201516/secondoanno/laboratorio_3.1457086706.txt.gz · Ultima modifica: 04/03/2016 alle 10:18 (9 anni fa) da Roberta Gori

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki