fisica:informatica:201516:secondoanno:laboratorio_3
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| fisica:informatica:201516:secondoanno:laboratorio_3 [04/03/2016 alle 10:15 (10 anni fa)] – [Esercizio 11] Roberta Gori | fisica:informatica:201516:secondoanno:laboratorio_3 [04/03/2016 alle 10:28 (10 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: | ||
| - | | + | |
| *1: sasso, | *1: sasso, | ||
| *2: forbici, | *2: forbici, | ||
| *3: carta (utilizzare il costrutto #define per rendere leggibile l' | *3: carta (utilizzare il costrutto #define per rendere leggibile l' | ||
| - | | + | |
| - | | + | |
| Se l' | Se l' | ||
| Linea 95: | Linea 95: | ||
| serie di numeri: | serie di numeri: | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| ===== Esercizio 4 ===== | ===== Esercizio 4 ===== | ||
| Linea 223: | Linea 223: | ||
| modo esaustivo, cioe' | modo esaustivo, cioe' | ||
| coprendo tutte le possibili triple. | coprendo tutte le possibili triple. | ||
| + | |||
| + | ===== Esercizio 13 ===== | ||
| + | Modificare il programma bisestile dato la volta scorsa in modo | ||
| + | che continui | ||
| + | a leggere valori finchè l' | ||
| + | si fermi | ||
| + | quando l' | ||
| + | |||
| + | Esempio di interazione con il programma: | ||
| + | < | ||
| + | Dammi un anno (un intero): 1997 | ||
| + | 1997 non e' bisestile! | ||
| + | Dammi un anno (un intero): 1900 | ||
| + | 1900 non e' bisestile! | ||
| + | Dammi un anno (un intero): 1992 | ||
| + | Finalmente un anno bisestile! | ||
| + | </ | ||
| + | |||
| + | ===== Esercizio 14 ===== | ||
| + | La media pesata dei voti di uno studente si calcola | ||
| + | moltiplicando ogni voto | ||
| + | per il suo peso in crediti, sommando tutti questi valori e | ||
| + | dividendo per la | ||
| + | somma del numero di crediti. | ||
| + | |||
| + | Quindi uno studente con due esami, fisica 1 (voto: 24, crediti:15) | ||
| + | e informatica | ||
| + | (voto: 28, crediti:6), avra' una media pesata circa uguale a | ||
| + | (24*15 + 28*6)/ | ||
| + | |||
| + | Scrivere il programma calcola_la_media che chiede ad uno studente | ||
| + | i voti degli | ||
| + | esami e il loro peso in crediti, uno per volta. | ||
| + | |||
| + | Lo studente dovrà inserire 0 per segnalare che ha terminato | ||
| + | l' | ||
| + | |||
| + | Il programma quindi calcola e stampa la sua media pesata sui | ||
| + | crediti. | ||
| + | |||
| + | Nota: si tenga conto che la votazione del singolo esame e il | ||
| + | numero di crediti | ||
| + | sono interi. | ||
| + | Inoltre sono votazioni valide per il superamento di un esame solo | ||
| + | quelle comprese | ||
| + | tra 18 e 30 (estremi inclusi) e il numero di crediti di un esame | ||
| + | deve essere | ||
| + | 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: | ||
| + | " | ||
| + | La descrizione informale dell' | ||
| + | < | ||
| + | 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 | ||
| + | </ | ||
| + | Implementare questo algoritmo in C nel programma euclide. | ||
| + | |||
| + | |||
| + | ===== Esercizio 17 ===== | ||
| + | | ||
| + | sequenza di caratteri | ||
| + | alfabetici minuscoli verificando che ogni carattere letto sia | ||
| + | maggiore o uguale | ||
| + | ai precedenti (secondo l' | ||
| + | |||
| + | Il primo carattere inserito può essere un qualsiasi carattere | ||
| + | minuscolo. | ||
| + | |||
| + | La sequenza termina quando l' | ||
| + | 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: | ||
| + | < | ||
| + | Dammi un carattere: X | ||
| + | La sequenza di lettere minuscole e' vuota | ||
| + | </ | ||
| + | < | ||
| + | Dammi un carattere: a | ||
| + | Dammi un carattere: r | ||
| + | Dammi un carattere: r | ||
| + | Dammi un carattere: f | ||
| + | Totale lettere minuscole ordinate e diverse: 2 | ||
| + | </ | ||
| + | < | ||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | ===== 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 : | ||
| + | < | ||
| + | Digitare una sequenza di 0 e 1 lunga 5: | ||
| + | 0 1 1 1 0 | ||
| + | Il numero intero e': 14 | ||
| + | </ | ||
| + | Nota: il programma deve definire K con un' | ||
| + | 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' | ||
| + | non se la | ||
| + | ricorda provi a ricostruirla. | ||
| + | |||
| + | Riuscite a stampare la tavola correttamente spaziata? | ||
| + | |||
| + | (Suggerimento: | ||
| + | |||
| + | 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' | ||
| + | soluzione? | ||
fisica/informatica/201516/secondoanno/laboratorio_3.1457086554.txt.gz · Ultima modifica: 04/03/2016 alle 10:15 (10 anni fa) da Roberta Gori
