ESAME 22-10-99 (C)
Questionario cartaceo
Rispondere alle seguenti domande:
-
Esiste un numero naturale maggiore di 0 tale che la sue rappresentazioni
in base 17 e quella in base 13 sono identiche ?
Giustificare la risposta.
-
- La stringa {} appartiene al linguaggio generato da
cosa ?
- La stringa [(]) appartiene al linguaggio generato da
cosa ?
Giustificare le risposte.
- Che cosa stampa il seguente programma C?
#include <stdio.h>
#include <stdlib.h>
void F(char X[10])
{ char x = '0';
if(X == 0) {X = '1';};
if(X != 0) {X = '2';};
}
void C(char Y[10])
{ char x = '0';
if(Y[0] = 'a') {F(Y);};
else {Y[1] = '*';};
}
void S(char A[], int L)
{ int X;
for(X=0;X<L;X++){printf("%c %,A[X]");};
printf("\n");
}
main()
{ char A[10] = {'0','1', ..., '9'};
char B[10] = {'a','b', ..., 'l'};
G(A); G(B);
S(A); S(B);
}
-
Completare il seguente frammento di programma C come indicato dai commenti:
#include <stdio.h>
#include <stdlib.h>
typedef struct ASSOC *MAPPA;
struct ASSOC { int INDEX;
char ELEM;
MAPPA NEXT; } ;
char ASSOCIATO(MAPPA m, int i, BOOL *trovato)
/*questa funzione ritorna l'elemento associato ad i in m
se esiste; trovato contiene vero ses esiste tale elemento */
{......}
Parte laboratorio Turno A)
Completare il seguente programma C come indicato dai commenti
#include
/*gli elementi del tipo SCHEDINA rappresentano le schedine del super Enalotto
ogni schedina contiene 5 scomparti (possono essere rienpiti da 1 a 5 scomparti)
ogni scomparto contiene le indicazioni di almeno sei numeri compresi tra 1 e 90 */
..........
/*gli elementi del tipo ESTRAZIONE rappresentano un'estrazione del Superenalotto
e consistono di 6 numeri (compresi tra 1 e 90) e del numero Jolly (compreso tra 1 e novanta) */
..........
/* sottoprogramma che controlla se una schedina contiene il Superenalotto
cioe' i sei numeri vincenti appaiono in uno degli scomparti della schedina */
........
/* sottoprogramma che controlla se una schedina contiene il 5+1
cioe' 5 numeri dei 6 numeri vincenti appaiono in uno degli scomparti della schedina
ed inoltre tale scomparto contiene anche il numero jolly */
........
/* sottoprogramma che controlla se una schedina contiene il 3
cioe' se 3 dei numeri vincenti appaiono in uno degli scomparti della schedina */
........
/* sottoprogramma per ricevere in input una schedina */
........
main()
ESTRAZIONE OGGI = .....
{ /* legge finche ve ne sono schedine e stampa quello che hanno vinto
rispetto all'estrazione OGGI*/
...... }
Parte laboratorio Turno B)
Completare il seguente programma C come indicato dai commenti
#include <stdio.h>
.......
/*gli elementi del tipo SCHACCHIERA rappresentano le situazioni durante una partita
su una scacchiera della dama
tale scacchiera contiene 8 X 8 caselle colorate in bianco e nero vedi disegno sopra
sulla scacchiera si possono trovare delle pedine e delle dame bianche o nere)
..........
/*gli elementi del tipo MOSSA rappresentano una mossa
(spostamento da una casella ad un'altra) di una pedina o di una dama */
..........
/* sottoprogramma che data una scacchiera S ed una mossa M modifica S
eseguendo M, se M e' ammissibile, altrimenti informa dell'errore e non modifica S
una mossa e' ammissibile se riguarda una pedina/dama attualmente presente sulla
scacchiera e se lo spostamento e' in diagonale di un posto */
........
/* sottoprogramma che data una scacchiera controlla se il bianco ha vinto,
cioe' non ci sono piu' pedine/dame nere ed almeno una pedina/dama bianca;
similmente per il nero */
........
/* sottoprogramma che ritorna la situazione iniziale (vedi disegno) */
........
/* sottoprogramma che stampa una scacchiera,
usare p, d per pedine e dame bianche, P e D per pedine e dame nere
X per casella nera, e niente per caselle bianche non occupate da una pedina/dama*/
........
main(){
/* stampare lo svolgimento di un inizio di partita
cioe' le varie situazioni che si ottengono
facendo fare due mosse a caso al bianco ed al nero
e poi controllare se il bianco ha vinto*/
......
}