Jump to content
Fórum Script Brasil
  • 0

alguém Pode Me Ajudar Fazer Esse Algoritimo ? Plz


gnr_ssa

Question

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 to comment
Share on other sites

13 answers to this question

Recommended Posts

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

Edited by Renyo
Link to comment
Share on other 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.

Edited by gnr_ssa
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...