Ir para conteúdo
Fórum Script Brasil
  • 0

alguém Pode Me Ajudar Fazer Esse Algoritimo ? Plz


gnr_ssa

Pergunta

alguém pode me ajudar fazer esse algoritimo aí usando no maximo ate comando FOR, agradeco ajuda de todos...

aí galera da essa força aí, isso e um trabalho tenho que entregar hoje, não tou conseguindo entender.

valeu

1) Faça um algoritmo, para ler dois valores inteiros A e B a partir do teclado e:

a. ) Se os valores forem iguais, mostrar a área do quadrado formado por A e B

b. ) Se A for diferente de B, mostrar área do retângulo formado por A e B

c. ) Se A for maior do que B, mostrar o resto da divisão de A por B

d. ) Se B for maior do que A, mostrar o resultado da divisão de B por A

e. ) Se A ou B for igual ou menor do que zero, exibir mensagem “valores inválidos”

f. ) AS operações anteriores devem se repetir por 3 vezes

Área do retângulo: base X altura.

Área do quadrado: lado X lado.

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

SE não (A<= 0 ou B <= 0)

SE A <> B

quadrado = A * A;

SE A != B

retangulo = A * B;

SE A > B

restoDivisao = (A MOD B)

SENAO

restoDivisao = (B MOD A)

SENAO

IMPRIME "Valores Inválido "

essa porcaria aqui não identa não...

espero ter ajudado...

Editado por Renyo
Link para o comentário
Compartilhar em outros sites

  • 0

Fiz assim mas está errado....

não entendi como faz pra mostrar essa area que ele pede

a. ) Se os valores forem iguais, mostrar a área do quadrado formado por A e B

b. ) Se A for diferente de B, mostrar área do retângulo formado por A e B

var

a,b,result, i : integer;

I: integer;

begin clrscr;

i := 1;

for i := 1 to 3 do

writeln (' Digite o valor de A');

readln (a );

writeln ('Digite o valor de B');

readln (b );

if a = b then

result := a*b

else

if a <> b then

result := a * b

else

if a > b then

result := a mod b

else

if b > a then

result := b div a

else

if (a = 0) or (b=0) then

writeln ('Valores Invalidos');

readln;

end.

Editado por gnr_ssa
Link para o comentário
Compartilhar em outros sites

  • 0

var
   a,b,result, i : integer;
   I: integer;

begin clrscr;

   i := 1;
   for i := 1 to 3 do
      writeln (' Digite o valor de A');
      readln (a );
      writeln ('Digite o valor de B');
      readln (b );
      if a = b then
         result := a*b
      else
      if a <> b then
         result := a * b
      else
      if a > b then
         result := a mod b
      else
      if b > a then
         result := b div a
      else
      if (a = 0) or (b=0) then
         writeln ('Valores Invalidos');
      readln;
end.
eu não conheço essa linguagem de programação, mas não está faltando algum end_if e end_for coisa assim sei lá além disso esse if:
if (a <= 0) or (b <= 0) then
   writeln ('Valores Invalidos');

deveria ser o primeiro, com a devida modificação: a menor ou igual a 0 ou b menor ou igual a 0.

não entendi como faz pra mostrar essa area que ele pede

a. ) Se os valores forem iguais, mostrar a área do quadrado formado por A e B

b. ) Se A for diferente de B, mostrar área do retângulo formado por A e B

o comando para mostrar deve ser esse: writeln (result); //result contem o calculo da area, seja do retangulo, seja do quadrado.

Link para o comentário
Compartilhar em outros sites

  • 0
var

a,b,result, i : integer;

I: integer;

begin clrscr;

i := 1;

for i := 1 to 3 do

writeln (' Digite o valor de A');

readln (a );

writeln ('Digite o valor de B');

readln (b );

if a = b then

result := a*b

else

if a <> b then

result := a * b

else

if a > b then

result := a mod b

else

if b > a then

result := b div a

else

if (a = 0) or (b=0) then

writeln ('Valores Invalidos');

readln;

end.

você só esqueceu das saidas

var

a,b,result, i : integer;

I: integer;

begin clrscr;

i := 1;

for i := 1 to 3 do

writeln (' Digite o valor de A');

readln (a );

writeln ('Digite o valor de B');

readln (b );

if a = b then

result := a*b

writeln ('a area do quadrado é:', result ,'m² ')

else

if a <> b then

result := a * b

writeln ('a area do Triangulo é:', result)

else

if a > b then

result := a mod b

writeln ('O resto de', a, ' dividido por', b,' é: ', result )

else

if b > a then

result := b div a

writeln ( a, ' dividido por', b,' é: ', result )

else

if (a = 0) or (b=0) then

writeln ('Valores Invalidos');

readln;

end.

Link para o comentário
Compartilhar em outros sites

  • 0

valeu aí rafa, mas mesmo não funciona ele roda aí não motar valor não finaliza se eu digitar os dois valores 0, nada funciona está fodaaaaaa

está assim

var

a,b,result,i: integer;

begin clrscr;

writeln ('Digite o valor de A');

readln (a);

writeln ('digite o valor de B');

readln (B);

i := 1;

for i :=1 to 3 do

readln (i);

if (a <= 0) or (b <= 0) then

writeln ('Valores Invalidos')

else

if a = b then

result := a*b;

writeln ('A area do quadrado e: ',result)

else

if a <> b then

result := a*b;

writeln ('a area do triangulo ‚: ',result)

else

if a > b then

result := a mod b;

writeln ('O resto de ',a,'dividido por',b,'e:',result)

else

if b > a then

result := b div a;

writeln (a,'dividido por',b,'e',result);

readln;

end.

Link para o comentário
Compartilhar em outros sites

  • 0

isso dentro do loop não existe:

readln (i);
e isso deveria estar dentro do loop, se não o valor de a e b não muda.
writeln ('Digite o valor de A');
readln (a);
writeln ('digite o valor de B');
readln (b);
codigo completo:
var
a,b,result,i: integer;

begin clrscr;

   i := 1;
   for i :=1 to 3 do
      writeln ('Digite o valor de A');
      readln (a);
      writeln ('digite o valor de B');
      readln (b);

      if (a <= 0) or (b <= 0) then
         writeln ('Valores Invalidos')
      else
      if a = b then
         result := a*b;
         writeln ('A area do quadrado e: ',result)
      else
      if a <> b then
         result := a*b;
         writeln ('a area do triangulo ‚: ',result)
      else
      if a > b then
         result := a mod b;
         writeln ('O resto de ',a,'dividido por',b,'e:',result)
      else
      if b > a then
         result := b div a;
         writeln (a,'dividido por',b,'e',result);
     readln;
end.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom então não to lembrando você poderia trabalhar com CASE ao invés de IF?

valeu pela ajuda todos vocês, muito obrigado mesmo

conseguir fazer, eu não tava era sabendo como e onde utilizar os comandos no pascal..

mas a logica e essa que você falou mesmo, muito obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

testa o código acima, mas já vi que ele tem um erro:

1) Faça um algoritmo, para ler dois valores inteiros A e B a partir do teclado e:

a. ) Se os valores forem iguais, mostrar a área do quadrado formado por A e B

b. ) Se A for diferente de B, mostrar área do retângulo formado por A e B

c. ) Se A for maior do que B, mostrar o resto da divisão de A por B

d. ) Se B for maior do que A, mostrar o resultado da divisão de B por A

e. ) Se A ou B for igual ou menor do que zero, exibir mensagem “valores inválidos”

f. ) AS operações anteriores devem se repetir por 3 vezes

do jeito que voce fez, com if e em seguida else

só irá executar as letras "f", "a" e "b".

ficando de fora as letras "c" e "d".

porque não vai entrar? porque se A maior que B ou B menor que A significa que são diferentes, então já entrou na letra b.

Link para o comentário
Compartilhar em outros sites

  • 0
testa o código acima, mas já vi que ele tem um erro:

1) Faça um algoritmo, para ler dois valores inteiros A e B a partir do teclado e:

a. ) Se os valores forem iguais, mostrar a área do quadrado formado por A e B

b. ) Se A for diferente de B, mostrar área do retângulo formado por A e B

c. ) Se A for maior do que B, mostrar o resto da divisão de A por B

d. ) Se B for maior do que A, mostrar o resultado da divisão de B por A

e. ) Se A ou B for igual ou menor do que zero, exibir mensagem “valores inválidos”

f. ) AS operações anteriores devem se repetir por 3 vezes

do jeito que voce fez, com if e em seguida else

só irá executar as letras "f", "a" e "b".

ficando de fora as letras "c" e "d".

porque não vai entrar? porque se A maior que B ou B menor que A significa que são diferentes, então já entrou na letra b.

aí valeu mano, já está rodando eu não tava era usando os comandos nos lugares certos e nem finalizando o FOR etc....

valeu

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...