Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal.
Estou com uma tarefa que não consigo prosseguir.
Criar um program soma_34;

Com quatro variáveis x, y, z, w e todas podem assumir valores inteiros de 1 até 16 e todas terão valores diferentes umas das outras.

Preciso que o programa leia os valores aleatórios das variáveis e me retorne as somas x+y+z+w=34.

Ou seja, me retorne apenas as somas que dão 34.

  • Obrigado 1
Postado

@RenanDias92 Mas os valores tem que ser gerados aleatoriamente ou o programa poderia aceitar que o usuário digitasse qualquer numero menos os números anteriores?

 

Você já fez alguma coisa?

  • Obrigado 1
  • mês depois...
Postado

@RenanDias92    e voce quer fazer esse program  em qual linguagem  ?  ,    e  tambem  para isso voce pode tranquilamente usar o comando    if  que pode facilmente  detectar o valor da soma e caso seja  34 retorna essa soma que tem esse valor ,  e caso a soma tenha outro valor retorne zero , assim no retorno voce  saberah se o resultado da soma foi  34 oi não  .   e  no pascal a geração de numeros aleatorios e com o random  .    

 

x, y, z, w : integer;
randomize;
x := random(100);
y := random(100);
z := random(236);
w := random( 87);

 

e depois que voce fizer um codigo sobre esse exercicio pode postar ele aqui e ajudaremos ,  caso  precise de alguma correção .

  • Membro VIP
Postado

Exemplo para retornar um quarteto de números:

program Soma_34;
var
   x, y, z, w: integer;   
begin
Randomize();

repeat
  x := Random(16)+1;
  y := Random(16)+1;
  z := Random(16)+1;
  w := Random(16)+1;
until (((x <> y) and (x <> z) and (x <> w)
    and (y <> z) and (y <> w)
    and (z <> w))
    and (x+y+z+w = 34));

writeln(x:3, y:3, z:3, w:3);
end.

 

 

 

Exemplo pressionando qualquer tecla para gerar um novo quarteto (ESC para sair):

program Soma_34;
uses
  CRT;
var
   x, y, z, w: integer;
   tries: integer;
begin
Randomize();

while (ReadKey() <> #27) do
  begin
  tries := 0;
  
  repeat
    Inc(tries);
    x := Random(16)+1;
    y := Random(16)+1;
    z := Random(16)+1;
    w := Random(16)+1;
  until (((x <> y) and (x <> z) and (x <> w)
      and (y <> z) and (y <> w)
      and (z <> w))
      and (x+y+z+w = 34));
      
  writeln(x:3, y:3, z:3, w:3, 'tentativas: ':20, tries);
  end;
end.

 

 

 

Exemplo gerando um quarteto a cada 500 milissegundos:

program Soma_34;
uses
  CRT;
var
   x, y, z, w: integer;
   tries: integer;
begin
Randomize();

while (not KeyPressed()) do
  begin
  tries := 0;
  
  repeat
    Inc(tries);
    x := Random(16)+1;
    y := Random(16)+1;
    z := Random(16)+1;
    w := Random(16)+1;
  until (((x <> y) and (x <> z) and (x <> w)
      and (y <> z) and (y <> w)
      and (z <> w))
      and (x+y+z+w = 34));
      
  Delay(500);
  writeln(x:3, y:3, z:3, w:3, 'tentativas: ':20, tries);
  end;
end.

image.png

 

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!