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:07 (9 anni fa)] – [Esercizio 9] Roberta Gori | fisica: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: | ||
- | | + | |
*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 159: | Linea 159: | ||
Suggerimento: | Suggerimento: | ||
ogni riga | ogni riga | ||
- | il giusto numero di spazi prima degli asterischi | + | il giusto numero di spazi prima degli asterischi. |
+ | |||
+ | ===== Esercizio 10 ===== | ||
+ | Modificare il programma precedente per stampare un rombo | ||
+ | vuoto. | ||
+ | Nota: accettare solo numeri dispari come altezza. | ||
+ | |||
+ | Esempio di interazione con il programma: | ||
+ | < | ||
+ | Inserisci l' | ||
+ | Inserisci l' | ||
+ | * | ||
+ | * * | ||
+ | | ||
+ | * * | ||
+ | | ||
+ | * * | ||
+ | | ||
+ | * * | ||
+ | * | ||
+ | </ | ||
+ | |||
+ | ===== Esercizio 11 ===== | ||
+ | |||
+ | Modificare il programma 9 per stampare un triangolo isoscele | ||
+ | di altezza | ||
+ | lunga n (con n compreso tra 0 e 9 ) e base lunga 2n-1 fatto come | ||
+ | sotto. | ||
+ | |||
+ | Se il valore letto è non è compreso tra 0 e 9 si chieda all' | ||
+ | un nuovo | ||
+ | valore finché l' | ||
+ | richiesto. | ||
+ | |||
+ | Esempio di interazione con il programma: | ||
+ | < | ||
+ | Dammi un numero intero positivo compreso tra 0 e 9: -2 | ||
+ | Dammi un numero intero positivo compreso tra 0 e 9: 5 | ||
+ | |||
+ | 1 | ||
+ | 212 | ||
+ | 32123 | ||
+ | | ||
+ | 543212345 | ||
+ | </ | ||
+ | |||
+ | ===== Esercizio 12 ===== | ||
+ | Un triangolo rettangolo puo' avere tutti i lati di lunghezza | ||
+ | intera. | ||
+ | |||
+ | Un insieme di tre valori interi per i lati di un triangolo | ||
+ | rettangolo e' | ||
+ | chiamato Tripletta Pitagorica. Questi tre lati devono soddisfare | ||
+ | la condizione che | ||
+ | la somma del quadrato di due dei lati deve essere uguale al | ||
+ | quadrato del terzo. | ||
+ | |||
+ | Scrivere un programma che trovi e stampi tutte le triplette | ||
+ | pitagoriche in cui tutti | ||
+ | e tre i lati sono minori di 500. | ||
+ | |||
+ | Suggerimento: | ||
+ | modo esaustivo, cioe' | ||
+ | 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: | ||
+ | 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.1457086055.txt.gz · Ultima modifica: 04/03/2016 alle 10:07 (9 anni fa) da Roberta Gori