Ir ao conteúdo
  • Cadastre-se

Help tabuada


sidneito

Posts recomendados

ola, pessoal sou iniciante em programaçao pascal e estou fazendo um trabalho, um programa que pergunta a tabuada e recebe a resposta verifica se esta certo ou errado coloca oresulta do na tela só que estas perguntas eu tenho colocado- tem como o sw gerar dois numeros aleatorios de 0 a 9 e me perguntar por ex quanto é 7*8, receber o resultado dizer se esta certo ou errado segue abaixo o que tenho usado varias vezes estes comandos

se possivel me ajudar obrigado

Program Pzim ;
var
resposta:integer;
Begin
write('quanto e 2*2 ');readln(resposta);
if resposta = 4 then
write('certo')
else
write('errado');
End.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
ola, pessoal sou iniciante em programaçao pascal e estou fazendo um trabalho, um programa que pergunta a tabuada e recebe a resposta verifica se esta certo ou errado coloca oresulta do na tela só que estas perguntas eu tenho colocado- tem como o sw gerar dois numeros aleatorios de 0 a 9 e me perguntar por ex quanto é 7*8, receber o resultado dizer se esta certo ou errado segue abaixo o que tenho usado varias vezes estes comandos

se possivel me ajudar obrigado

Program Pzim ;
var
resposta:integer;
Begin
write('quanto e 2*2 ');readln(resposta);
if resposta = 4 then
write('certo')
else
write('errado');
End.

***

Olá, de antemão, vou aproveitar para solicitar que se acostume a colocar o código (de programação) entre as tags CODE (botão #), para padronizar o ambiente, facilitar a leitura do código, etc e tentar melhorar também a pontuação no texto... Imagine, para podermos ajuda-lo, neste caso, temos além de interpretar o "problema", temos também que interpretar o texto em si. ^_^

VAMOS LÁ

----------

Respondendo a tua pergunta: Sim, tem como gerar números aleatórios no pascal, para tanto existe uma "função" (fuction) chamada Random(), que «recebe como parâmetro um inteiro x e retorna um número n no intervalo 0 <= n < x.».

Ex.:

WriteLn(Random(5)); {exibirá um número na tela entre 0 e 4 (incluindo-os}

Daí já é meio caminho já está andado!!!

Como seria a minha lógica para esse problema: (vou tentar ser o mais claro e objetivo possível)

1) Primeiro geraria os 2 números, "A" e "B". ("A" e "B" receberiam, cada um, um valor aleatório entre 0 e 9 - Basta usar o Random(); )

2) De modo aleatório definiria qual seria a operação (adição, subtração, divisão e multiplicação). Usaria também o Random(), para cada uma das possíveis respostas, encaminharia para a operação correspondente. Por ex.: 0 p/ Adiçao, 1 p/ Subtração, 2 p/ Divisão e 3 p/ Multiplicação. (usando o "if" ou "case" para selecionar)

3) Para cada uma das opções, eu montaria e exibiria a pergunta correspondente, com as variáveis aleatórias e seu respectivo sinal e armazenaria a resposta da conta correspondente numa variável.

4) Na parte final do programa, leria a resposta do usuário e comparava com a reposta dada pelo usuário (que foi armazenada) e exibia conclusão. Se foi "certo" ou "errado".

Espero que consiga entender a minha lógica.

Tente aproveitar desta lógica e faça pelo menos algo.

Lembre-se também da questão da divisão por 0... por ai vai!!!

Qualquer dúvida é só postar!!!

É recomendado que sempre tente fazer algo, e postar as dúvidas com a parte do código que está ocorrendo...

OBS.: Para o uso do "Random()", implica-se o uso também do "Randomize;". Este último tem basicamente a finalidade de pré-aleatorizar (ou iniciar) o Random(), ou seja, evitar que o "Random()" gere números repetidos, sobretudo na primeira utilização. Normalmente coloca-se logo após o "Begin" principal. Ex.:

BEGIN
Randomize; {inicializa o Random();}
WriteLn(' Programa que gera um numero aleatorio entre 1 e 10 (inclusos)');
WriteLn;
Num:=Random(10)+1; {mais 1 para compensar, ja que 10 = 0 a 9}
WriteLn(' O numero gerado foi ',num);
END.

Eu respondi essa questão. Para visualiza minha resposta baixe o arquivo no link abaixo.

http://www.easy-share.com/1904194472/TABUADA.PAS

RECOMENDO TENTAR FAZER ANTES DE VERIFICAR A MINHA VERSÃO.

Fico no aguardo.

Espero ter ajudado.

Abraços

Simon Viegas

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...