ESERCITAZIONI: linguaggio C


pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione


 
 
 

Per iniziare


 
  1. Creare sul floppy A: con [Tasto Destro]Nuovo/Cartella una cartella dal nome lab5
  2. Salvare il corrente file in A: con il nome A:Es5
  3. Usare Riduci a icona per mettere da parte la finestra sul floppy senza chiuderla
  4. Aprire il file A:Es5.htm per leggere e seguire il resto dell'esercitazione
  5. Ridurre le dimensioni della finestra su A: che deve restare visibile ma consentire la visibilità di un'altra nuova finestra

 
 

Espressioni e funzioni matematiche

  1. Servirsi di Help|Contents|Cerca|math del Turbo C per avere una panoramica completa delle funzioni matematiche messe già a disposizione, in particolare quelle che richiedono di includere il file math.h
  2. Riprendere il programma per il calcolo della media in Es1.htm e modificarlo in modo che i dati siano float e che in output, insieme alla media, compaia anche lo scarto quadratico medio s calcolato con la formula
     
    		s2 = media dei quadrati - quadrato della media.
    
  3. Tradurre in C il seguente algoritmo:
    out: "Capitale iniziale: "
    in: capitale
    out: "Tasso d'interesse annuale (%): "
    in: tasso
    out: "Vuoi sapere quanto sarà tra n anni con n = "
    in: nAnni
    per i che va da 1 a nAnni:
    	capitale + tasso*capitale/100 --> capitale
    out: "Il capitale tra " nAnni " anni è " capitale 
    
  4. modificare il precedente programma per

 
 

Numeri pseudocasuali

  1. Nell'Help del Turbo C++ cercare le function predefinite randomize() e random(<numero intero positivo>) e poi confrontare con il risultato dell'esecuzione del seguente programma
    #include <stdlib.h>
    #include <stdio.h>
    
    main(){
    
    	randomize();
    	printf("Numero pseudocasuale tra 1 e 99 compresi: %d", random(99) + 1);
    }
    
  2. modificalo in modo da simulare 10 lanci di un dado
  3. Analizzare il seguente programma per determinare, nella simulazione del lancio di un dado, la frequenza con cui esce il sei.
    #include <stdlib.h>
    #include <stdio.h>
    
    main() {
    	 int tot6=0;
    	 randomize();
    	 for(int i=0; i<10000; i++)
    				if (random(6)==5) tot6++;
    	 printf("Il sei e' uscito %d volte su 10000", tot6);
    
    }
    
  4. modificare il programma precedente per determinare la frequenza di tutte le facce e così rendersi conto se tale simulazione è quella di un dado regolare

 
 

Ripetizione 'do...while', annidamento di strutture


 
  1. Tradurre in linguaggio C il seguente algoritmo
    numero = a caso tra 1 e 99
    out: "Ho pensato a un numero tra 1 e 99."
    esegui:
    	out: "Prova a indovinare: "
    	in: tentativo
    	se tentativo < numero :
    		out: "basso"
    	se tentativo > numero :
    		out: "alto"
    fintanto che tentativo ¹ numero
    out: "Hai indovinato!"
    
    Servirsi della struttura linguistica
    do { 
    	<istruzioni>
    } while (<condizione> );
    
    con la quale le istruzioni vengono certamente eseguite almeno una volta
  2. inserire un ciclo esterno che renda possibile giocare un'altra partita senza uscire dal programma
  3. inserire un contatore sulla base del quale modificare opportunamente "Hai indovinato!" sostituendolo con da "Sei un indovino!" fino a "Non sei certamente un indovino!"
  4. inserire un numero massimo di tentativi

 
  NOTA: Al termine di ogni sessione di lavoro fare una copia del floppy e poi spegnere il computer con Start/Chiudi sessione/Arresta il sistema.
pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione