Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Como fazer a soma de 4 variáveis que retornem um valor específico.


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

  • mês depois...

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

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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
Link para o comentário
Compartilhar em outros sites

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