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:13 (9 anni fa)] – [Esercizio 11] 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 204: Linea 204:
 543212345 543212345
 </code> </code>
 +
 +===== 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: usare tre for annidati ed eseguire la ricerca in
 +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'utente immette anni non bisestili e che
 +si fermi 
 +quando l'utente immette un anno bisestile.
 +
 +Esempio di interazione con il programma:
 +<code>
 +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!
 +</code>
 +
 +===== 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)/(15+6) = 25,14.
 +
 +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'inserimento. 
 +
 +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: 
 +"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.1457086394.txt.gz · Ultima modifica: 04/03/2016 alle 10:13 (9 anni fa) da Roberta Gori

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki