Ir ao conteúdo

Posts recomendados

Postado

galera é o seguinte, tenho esse códigozinho ai, que é uma calculadora de áreas, que usa o comando de repetição " repeat " 
fiquei enrolado, e nao consegui fazer esse mesmo código usando a repetição " while " , e com ' for " 
vocês poderiam me ajudar por favor?
agradeço

 

Program qc;
var
opcao:integer;
a1,a2,a3:real;
lado:real;
base, altura:real;
Begin
repeat
clrscr;
writeln('MENU');
writeln('1: PARA CALCULAR A AREA DO QUADRADO');
writeln('2: PARA CALCULAR A AREA DO RETANGULO');
writeln('3: PARA CALCULAR A AREA DO TRIANGULO');
writeln('4: PARA SAIR');
writeln(' QUAL SUA OPCAO ?'); 
readln (opcao);
case (opcao) of
1: begin
  writeln('voce ESCOLHEU A AREA DO QUADRADO');
  writeln('POR FAVOR INFORME UM DOS LADOS DO QUADRADO');
  readln (lado);
  writeln ('A ÁREA DO SEU QUADRADO É : ', lado*lado :4:2);
  end; 

2: begin
  writeln ('voce ESCOLHEU CALCULARMOS A ÁREA DO RETANGULO');
  writeln ('VAMOS ME AJUDE, INFORME A BASE E A ALTURA DO MESMO');
  readln (base,altura);
  writeln ('A BASE DO SEU RETANGULO É ', base*altura :4:2);
  end;


3: begin
  writeln ('VOCEE ESCOLHEU CALCULARMOS A AREA DO TRIANGULO');
  writeln ('POR FAVOR INFORME  A BASE A ALTURA');
  readln (base, altura);
  writeln ('A AREA DO SEU TRIANGULO É' ,  ((base*altura) /2):4:2);
  end
   
       

else begin
     if(opcao=4)
     then begin
          writeln ('voce OPTOU POR SAIR, BYE BYE');


          end


      else begin
           writeln ('voce DIGITOU UMA OPCAO INVÁLIDA');


           end;
end;













end;
readln;
  until (opcao=4);
End. 

 

  • Membro VIP
Postado

Olá

 

Para facilitar, pense na estrutura isolada:
 

repeat
  ..
  ..
until (opcao=4);

Como ficaria com While e For?

 

Minha sugestão é que dê uma boa pesquisada antes sobre essas 3 estruturas de repetição. Entendendo mais ou menos como cada uma funciona, ficará mais fácil para transpor..

 

Obs.: de um modo geral, qualquer um dos laços podem ser trocados pelos outros, a questão é que um tente a ser mais prático que o outro para determinados contexto.

Postado
4 minutos atrás, Simon Viegas disse:

Olá

 

Para facilitar, pense na estrutura isolada:
 


repeat
  ..
  ..
until (opcao=4);

Como ficaria com While e For?

 

Minha sugestão é que dê uma boa pesquisada antes sobre essas 3 estruturas de repetição. Entendendo mais ou menos como cada uma funciona, ficará mais fácil para transpor..

 

Obs.: de um modo geral, qualquer um dos laços podem ser trocados pelos outros, a questão é que um tente a ser mais prático que o outro para determinados contexto.

 

to entendendo amigo, tipo com o while fica 

while (opcao<>4)do

blablabla

 

 

mas e com o for? não estou conseguindo pensa na estrutura

  • Membro VIP
Postado

Olá,

 

1) While

52 minutos atrás, lucas silva11111 disse:

to entendendo amigo, tipo com o while fica 

while (opcao<>4)do

  blablabla


Tem que se ligar que ao usar um While, necessariamente* terá que inicializar a variável controladora antes. (opcao estará com um valor não inicializado pelo código)

 

2) For

52 minutos atrás, lucas silva11111 disse:

mas e com o for? não estou conseguindo pensa na estrutura

Já deu uma olhada nas diferenças entre os tipos de laços?


Então, como já citado, esses 3 laços são substituíveis entre si, ou seja, em outras palavras poderíamos dizer que só bastaria existir um! "Só que um pode ser mais prático que o outro para determinado contexto".

 

A essência do For está em ter um quantidade de laços pré definidos (pelo menos inicialmente), mas para seu contexto, o "critério de saída" está em um parâmetro que está na escolha do usuário... só para exemplificar: uma coisa é pedir para ler 10 números (For seria mais prático), outra coisa é pedir par a ler números até que o próprio usuário defina que não que ler mais (repeat ou while), entende?

 

Para resumir vai a dica: você poderia fazer uma "gambiarra", ou seja, forçar a cada loop a variável controladora do For (que geralmente usamos i) ter um de dois valores: um valor que ainda faz o laço repetir (quando quer repetir), ou outro valor que faça o laço parar (quando quer parar).

Visitante
Este tópico está impedido de receber 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...

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!