• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

TMIA

duvida no ciclo repita

30 mensagens neste tópico

Precisava de ajuda para criar o código em pascal com o ciclo repita. Obrigado

Criar uma variável contador.

ler um valor para a variável X

Efectuar a multiplicação do valor de X por 3, colocando o resultado em R

Apresentar o valor calculado que está na variável R

acrescentar 1 ao contador

Repetir os passos 2, 3, 4 e 5 até que o contador seja maior que 5

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
i=0;
repeat
begin
     read(x);
     r=x*3;
     write(r);
     i=i+1;
until i>5

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

i=0;
repeat
begin
     read(x);
     r=x*3;
     write(r);
     i=i+1;
until i>5

esqueceste te do end pah :D

i:=0;
repeat
     read(x);
     r:=x*3;
     write(r);[/quote]
     i:=i+1;
until i>5;

se poens Begin tens que por end  ;)

Cumps...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yaa... mas ja nao programo Pascal á bue.. k até me eskeço.. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ou também

var 
cont, r, x : integer;

begin
cont:= 0 ;
while (cont<5) do 
          readln(x);
         r:= x*3;
         write (r);
         cont := r +1;
end.


0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Recomenda-se que se usem os ciclos nesta ordem, o mais seguro primeiro: for, repeat e while.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Recomenda-se que se usem os ciclos nesta ordem, o mais seguro primeiro: for, repeat e while.

Qual é a razão de alguns serem mais seguros que outros?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem.. só se for em termos de não empancar eternamente... O for eh finito... o repeat tem uma condição explicita de terminaçao.. o while sempre pode ser complicado fazer com que aquilo corra enquanto o valor nao seja ou seja aquele... N sei :) eu uso dependendo do que quero do ciclo..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As razões são estas que o anaryin citou.

Quais razões? ...

O ciclo for ser finito? Também pode ser infinito.

O ciclo repeat ter uma condição explícita de terminação? O while e o for também.

Não estou a ver onde queres chegar com a afirmação, secalhar não estou a perceber o teu ponto de vista.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu vou-me tentar explicar melhor.

Quando disse que o for é finito, é porque está limitado entre um valor e outro. Tem fronteiras definidas. Não é uma condição que tem ou nao que ser cumprida.

O repeat é mais...fácil de entender quando deve acabar. Tu estás a dizer "Corre até ISTO". É mais fácil, pelo menos para mim, tu definires a condição de terminar assim do que como no while que tem muito mais liberdade e pode ser enquanto tu és ISTO ou enquanto NAO ISTO.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, como fazes um for infinito?

Já não me recordo como funciona em Pascal, mas suponho que seja semelhante a C.

for(;
    // do something here

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, como fazes um for infinito?

um for infinito?? assim como terminas o prog?? :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu sei :P Eu sei que é inútil, mas é uma curiosidade. Uma qualidade do for é ser exactamente...finito. Como é que se faz um infinito? :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu sei :P Eu sei que é inútil, mas é uma curiosidade. Uma qualidade do for é ser exactamente...finito. Como é que se faz um infinito? :)

Já mostrei um exemplo lá em cima, e o ciclo while é tão finito como o for.

Já agora, como fazes um for infinito?

um for infinito?? assim como terminas o prog?? :S

Por vezes dá muito jeito um ciclo infinito, mas claro que tudo depende da situação, para terminar um ciclo usa-se o break.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu sei :P Eu sei que é inútil, mas é uma curiosidade. Uma qualidade do for é ser exactamente...finito. Como é que se faz um infinito? :)

O for não é finito, é executado enquanto uma condição for verdadeira, portanto se a condição for sempre verdadeira o for será infinito, o mesmo se passa com o while e com o repeat

o único for finito que conheço é o for each, mas acho que pascal não tem

O problema dos ciclos é que é mais fácil para alguém inexperiente fazer asneira (um ciclo infinito)  com um while ou com o repeat do que com o for, embora no for também se consiga facilmente

a diferença entre o repeat e o while

é que no repeat o bloco de instruções é sempre executado uma vez pois a condição de verificação fica no final

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O for é finito.. então... se corre entre 2 valores... é finito.. mostrem aqui um codigo de um for infinito :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu não mexo em pascal há não sei quantos anos

mas é qq coisa assim

b:=1

for i:=0 to b do  b=b+2

ou por exemplo em linguagens com sintaxe similar ao c

for (i=1; i>0; i++)

agora um pouco de off-topic, para mim o pascal devia ser como o latin uma lingua morta, acho-a muito desactualizada e sobretudo antiquada e pouco produtiva

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mais simples:

for(;

é sem duvida mais simples, mas acho que fica mais difícil de entender o porquê de o for ser infinito

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sinceramente não sei se será possivel fazer um infinito, o pouco que sei de Pascal é que a estrutura for... to ... do está muito ligada a um contador, esse contador é incrementado pelo próprio ciclo, isto é, não és tu que dizes quando incrementar a variável e, se não estou em erro, nem de quanto é o incremento.

Nesse sentido, e caso precisasses de um ciclo infinito, que é bastante útil :P, podias usar um while. Mas com a estrutura for sinceramente não sei se em Pascal será possível.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Orientemo-nos :P

Eu sei que o for é finito. Eu sei criar ciclos infinitos :D (Foi o meu primeiro programa). A minha pergunta foi de surpresa quando me disseram que o for podia ser infinito ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sven

"agora um pouco de off-topic, para mim o pascal devia ser como o latin uma lingua morta, acho-a muito desactualizada e sobretudo antiquada e pouco produtiva"

Pascal compila muito mais rápido e faz um código de mais fácil manutenção porque é mais claro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora