Scritto di informatica – chiamata a funzioni – classe IV


A) OPERAZIONI PRELIMINARI



Scaricare 114 Kb.
Pagina2/4
03.04.2019
Dimensione del file114 Kb.
1   2   3   4
A) OPERAZIONI PRELIMINARI

A1) Compila l'intestazione del documento scrivendo Nome, Cognome e Classe

A2) Crea una sottocartella di ES3 con nome uguale a quello di questa esercitazione (EL3-11_4ST Mastermind)

A3) All'interno della sottocartella EL3-11_4ST Mastermind salva questo file Word
B) IL GIOCO DEL MASTERMIND


Mastermind è un gioco da tavolo astratto di crittoanalisi per due giocatori, in cui un giocatore, il "decodificatore", deve indovinare un codice segreto di 4 cifre composto dal suo avversario, detto "codificatore".
Dopo che il codificatore ha composto il codice, il decodificatore fa il suo primo tentativo, cercando di indovinare il codice. Il codificatore, appena il suo avversario ha completato il tentativo, fornisce degli aiuti comunicando:

  • Il numero di cifre giuste al posto giusto, cioè le cifre del tentativo che sono effettivamente presenti nel codice al posto tentato;

  • il numero di cifre giuste al posto sbagliato, cioè le cifre del tentativo che sono effettivamente presenti nel codice, ma non al posto tentato.

Non bisogna comunicare quali cifre sono giuste o sbagliate ma solo quante.




Vogliamo scrivere un programma per giocare a Mastermind contro il computer. Il computer dunque è il codificatore e noi siamo il decodificatore.


Il gioco funziona in questo modo:


  1. all’avvio del programma il computer genera un numero casuale di 4 cifre tutte diverse fra loro (es. 7582)



  2. l’utente deve cercare di indovinare il numero generato dal computer con una serie di tentativi (provando ogni volta con un numero a 4 cifre tutte diverse fra loro – se l’utente prova a fornire un numero non valido, non con 4 cifre oppure con cifre non tutte diverse, il programma deve rifiutare il valore)



  3. ad ogni tentativo il computer comunica all’utente quante sono le cifre del tentativo indovinate al posto corretto e quante sono quelle indovinate ma in posizione sbagliata (p.es. sempre nel caso che il numero generato sia 7582, se l’utente prova con 6852 il computer dirà che c’è una cifra giusta al posto corretto – senza dire quale! – e due cifre giuste ma al posto sbagliato)



  4. quando l’utente indovina il numero generato, il computer visualizza un messaggio e comunica il numero di tentativi impiegati e i secondi trascorsi dall'inizio.



  5. Se nella casella Numero di tentativo l’utente inserisce il codice segreto 9999, il programma visualizza il numero nascosto (serve a scopo di debugging, per capire se il programma funziona correttamente).

L’interfaccia del programma ha la seguente struttura (personalizzarla liberamente):



B1) → mastermind.html+mastermind.css+mastermind.js
Le funzioni per il gioco del Mastermind sono già scritte (vedi la pagina successiva – basta copiarle e incollarle):
1) genera()

Genera un numero casuale di 4 cifre tutte diverse fra loro (le cifre valide vanno da 1 a 9, zero escluso). Esempio di uso:

num = genera()
2) tuttediverse(n)

Funzione boolean che verifica se un dato numero intero è corretto (cioè ha 4 cifre tutte diverse fra loro) oppure no. È una funzione di servizio, usata internamente dalla genera, ma può anche essere usata per controllare che l’utente fornisca risposte valide (cioè numeri correttamente formati).

Esempio di uso:

if (tuttediverse(numero))

{



}


3) contagiuste(x,y)

Dati due numeri di 4 cifre, conta quante cifre hanno in comune nelle stesse posizioni (giuste al posto giusto). Esempio di uso:

ris = contagiuste(num1,num2)
4) contasbagliate(x,y)

Dati due numeri di 4 cifre, conta quante cifre hanno in comune ma non nelle stesse posizioni (giuste al posto sbagliato). Esempio di uso:

ris = contasbagliate(num1,num2)



El3-11_4st mastermind
Funzioni per il master mind (copia e incolla)
C) operazioni finali



Condividi con i tuoi amici:
1   2   3   4


©astratto.info 2017
invia messaggio

    Pagina principale