ESAME 10-01-00 (C)

Questionario cartaceo

Rispondere alle seguenti domande:
  1. Quanti numeri naturali compresi tra 0 e 1000 possono essere scritti su un dischetto la cui capienza è 512 K ?
    È possibile lasciare indicati i calcoli da eseguire.

  2. Dire se e come potreste effettuare la prova di laboratorio nel caso in cui sia stato rubato il disco rigido del computer che dovrete usare.

  3. Che cosa stampa il seguente programma C?
    #include <stdio.h>
    
    int aaa(int *x, int y)
    { int a;
      a = *x;  *x = y;  y = a;  
    }
    
    main(){
      int i, j,k;
      
      i = 3;
      j = 4;
      aaa(&i, j);
      aaa(&k, j);
      printf("i = %d, j = %d, k = %d\n", i, j, k);
    }
  4. Completare il seguente frammento di programma C come indicato dai commenti:
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct LL *LISTA;
    struct LL { int NUMERO;  LISTA SEGUITO; } ;
                    
    LISTA Inserisci(LISTA L, int x)
    /* supponendo che gli elementi di L siano ordinati in ordine
       debolmente crescente, questa funzione inserisce x in L nella
       posizione opportuna.
       Dire se L sara' modificata o no */ 
    {......}

Parte laboratorio

Completare il seguente programma C come indicato dai commenti
#include <stdio.h>
......
/*gli elementi del tipo COLONNA rappresentano un possibile risultato
  delle 13 partite considerate dal tototcalcio
  e consistono di 13 elementi ordinati dell'insieme {1,2,X}
  (1 : vince prima squadra 2 : vince seconda squadra X : pareggio)*/
..............
/*gli elementi del tipo SCHEDINA rappresentano le schedine del gioco del totocalcio
  su ogni schedina vengono indicati i possibili risultati delle 13 partite
  e' possibile indicare uno oppure due oppure tre risultati
  in gergo mettere una doppia, mettere una tripla)
  pertanto una schedina puo' determinare una o piu' colonne*/
.......

/*sottoprogramma che ritorna cosa ha vinto una data schedina rispetto ad
  una data colonna
  i possibili risultati sono
  13: una colonna della schedina coincide con quella data
  12: una colonna della schedina coincide con quella data in 12 punti
  11: una colonna della schedina coincide con quella data in 11 punti
  niente in tutti gli altri casi*/
................

/*sottoprogramma che stampa una colonna*/
................

/*sottoprogramma che stampa tutte le colonne determinate da una data schedina*/
................

main(){
  COLONNA OGGI;
  SCHEDINA GIOCATA;
...............

/*assegnare una qualunque colonna alla variabile OGGI*/
..............

/*assegnare una qualunque schedina alla variabile GIOCATA*/
 ...........

/*stampare i risultati fatti da GIOCATA rispetto ad OGGI*/
........

/*stampare tutte le colonne determinate da GIOCATA*/
.............
}