MC111 - 1o Semestre de 1998
2o Programa



Qual é a senha?

Faça um programa que gere aleatoriamente uma senha de quatro dígitos decimais e a seguir solicite que o usuário adivinhe a senha gerada. Para cada tentativa de descobrir a senha o programa deve escrever, para cada dígito fornecido pelo usuário, um dos seguintes caracteres:

^se o dígito em questão tem o mesmo valor na posição equivalente da senha.
*se o dígito em questão tem o mesmo valor de um ou mais dos dígitos da senha, mas não na posição correspondente.
.se nenhuma das condições acima se aplicam.

Por exemplo, se a senha gerada fosse 4247 e o usuário em sua primeira tentativa tivesse fornecido a primeira linha indicada abaixo, então o programa geraria a segunda.
1234
.^.*
O programa deve repetir o ciclo de aceitar palpites por parte do usuário e dar as "dicas" relevantes sobre os valores de dígitos acertados ou não até que:

Faça um programa com uma interface atraente para o usuário.

Para gerar números aleatórios em Pascal, você precisa incluir o comando randomize no início do programa para indicar tal inteção. Para gerar um valor a tal que 0<=a<x você invoca a função random(x). Segue-se o código de um programa que gera 8 valores entre 0 e 9 para ilustrar o uso de randomize e random.

program chuteOito;
  uses wincrt;
  const
    limite=10;
    numeroDeChutes=8;
  var a,i:integer;
begin
  randomize;
  for i:=1 to numeroDeChutes do
  begin
    a:=random(limite);
    writeln(a)
  end
end.



Data Limite para a Entrega do Programa O código do programa desenvolvido e o relatório devem ser entregues em disquete.