[Duvida] Ex 1.11 da apostila de monteiro
+2
Railan Xisto
Hugo Prado
6 participantes
Página 1 de 1
[Duvida] Ex 1.11 da apostila de monteiro
Hum....nao sei pq esta travando....se tiver como alguem dar uma ajuda aew.agradeço desde já.
program ex1_11;
uses crt;
var L,soma,c: integer;
begin
ClrScr;
writeln('Digite um valor para L');
readln(L);
c:=0;
soma:=0;
while c<L do
begin
if c mod 5 <> 0 then
c:=c+1;
soma:=soma+c;
end;
writeln('O valor da soma é ', soma);
readkey
end.
program ex1_11;
uses crt;
var L,soma,c: integer;
begin
ClrScr;
writeln('Digite um valor para L');
readln(L);
c:=0;
soma:=0;
while c<L do
begin
if c mod 5 <> 0 then
c:=c+1;
soma:=soma+c;
end;
writeln('O valor da soma é ', soma);
readkey
end.
Última edição por Hugo Prado em Qui Abr 07, 2011 8:40 pm, editado 1 vez(es)
Hugo Prado- Estudante Aplicado
- Mensagens : 5
Data de inscrição : 06/04/2011
Re: [Duvida] Ex 1.11 da apostila de monteiro
Perceba que o programa não vai sair nunca do laço.
Tá ligado que quando você não coloca o begin/end nos (IF) ele só considerará a condição da linha seguinte certo? As outras serão ignoradas(executadas fora da condição na verdade). Como você está implementando o laço logo após o IF(sem o begin/end), ele só somará c se este for multiplo de 5. Ou seja quando chegar em 1, que não é multiplo de 5, ele não vai somar c:=c+1; Logo entra em Looping Infinito(Quando o programa nunca sairá do laço) Sacou?
Tenta ai e se não consegui eu posto o código. Vlw Boa Sorte! xD
Tá ligado que quando você não coloca o begin/end nos (IF) ele só considerará a condição da linha seguinte certo? As outras serão ignoradas(executadas fora da condição na verdade). Como você está implementando o laço logo após o IF(sem o begin/end), ele só somará c se este for multiplo de 5. Ou seja quando chegar em 1, que não é multiplo de 5, ele não vai somar c:=c+1; Logo entra em Looping Infinito(Quando o programa nunca sairá do laço) Sacou?
Tenta ai e se não consegui eu posto o código. Vlw Boa Sorte! xD
Re: [Duvida] Ex 1.11 da apostila de monteiro
ainda nao consegui vei
se tiver como postar o codigo
se tiver como postar o codigo
Hugo Prado- Estudante Aplicado
- Mensagens : 5
Data de inscrição : 06/04/2011
Re: [Duvida] Ex 1.11 da apostila de monteiro
Hugo, como Railan disse, o problema tá no "If", você não deveria colocar o Contador no início do "while" e sim no final, fora do if. Quem deveria estar dentro do "If" era o totalizador, ou "soma". Aqui vai o seu algoritmo corrigido:
program ex1_11;
uses crt;
var L,soma,c,r: integer;
begin
repeat
ClrScr;
writeln('Digite um valor para L');
readln(L);
c:=0;
soma:=0;
while c<L do
begin
if c mod 5 <> 0 then
begin
soma:=soma+c;
end;
C:=C+1;
end;
writeln('O valor da soma é ', soma);
writeln('Deseja inserir outro valor? 0:Não 1:Sim');
readln(r);
until r = 0;
end.
Aproveitei para inserir o comando para repetir o programa, espero que esteja fácil de entender, qualquer coisa pode perguntar!
program ex1_11;
uses crt;
var L,soma,c,r: integer;
begin
repeat
ClrScr;
writeln('Digite um valor para L');
readln(L);
c:=0;
soma:=0;
while c<L do
begin
if c mod 5 <> 0 then
begin
soma:=soma+c;
end;
C:=C+1;
end;
writeln('O valor da soma é ', soma);
writeln('Deseja inserir outro valor? 0:Não 1:Sim');
readln(r);
until r = 0;
end.
Aproveitei para inserir o comando para repetir o programa, espero que esteja fácil de entender, qualquer coisa pode perguntar!
Re: [Duvida] Ex 1.11 da apostila de monteiro
hum....entendi!!! vlw aew!!^^
Hugo Prado- Estudante Aplicado
- Mensagens : 5
Data de inscrição : 06/04/2011
Re: [Duvida] Ex 1.11 da apostila de monteiro
nossa, vocês estão rápidos! quando vi a pergunta, já tinha resposta :O
huooashoashoasuhoashuoash
Eu já fiz muitos exercícios de Monteiro no Pascal... Quem quiser, leva pen-drive pra ufs que eu passo (:
OBS: Note que não há UMA maneira de fazer o programa, mas há um ideal. O ideal é a maneira que utilize o mínimo de comandos para ser efetuada mais rápida, sem complicações. No momento estamos fazendo apenas programinhas simples, então muitos comandos não afetarão de forma perceptível a velocidade de execução... Mas quando formos trabalhar em programas de verdade, isso vai contar. Aquele famoso "lag" de abertura é causado por comandos excessivos e tals...
Então estudem bastante outros comandos que possam substituir um comando enorme. xD
por exemplo, a versão de Saulo poderia ser:
O que fiz? Simples, na parte do "IF", como tinha apenas um comando, não era necessário ter um begin e um end, apenas "if X then Y;"
Isso é besteira, mas num programa real, se fosse repetido várias vezes daria um lag absurdo '-'
Att,
Kiko//
huooashoashoasuhoashuoash
Eu já fiz muitos exercícios de Monteiro no Pascal... Quem quiser, leva pen-drive pra ufs que eu passo (:
OBS: Note que não há UMA maneira de fazer o programa, mas há um ideal. O ideal é a maneira que utilize o mínimo de comandos para ser efetuada mais rápida, sem complicações. No momento estamos fazendo apenas programinhas simples, então muitos comandos não afetarão de forma perceptível a velocidade de execução... Mas quando formos trabalhar em programas de verdade, isso vai contar. Aquele famoso "lag" de abertura é causado por comandos excessivos e tals...
Então estudem bastante outros comandos que possam substituir um comando enorme. xD
por exemplo, a versão de Saulo poderia ser:
- Código:
program ex1_11X;
uses crt;
var L,soma,c,r: integer;
begin
repeat
ClrScr;
writeln('Digite um valor para L');
readln(L);
c:=0;
soma:=0;
while c<L do
begin
C:=C+1;
if c mod 5 <> 0 then soma:=soma+c;
end;
writeln('O valor da soma é ', soma);
writeln('Deseja inserir outro valor? 0:Não 1:Sim');
readln(r);
until r = 0;
end.
O que fiz? Simples, na parte do "IF", como tinha apenas um comando, não era necessário ter um begin e um end, apenas "if X then Y;"
Isso é besteira, mas num programa real, se fosse repetido várias vezes daria um lag absurdo '-'
Att,
Kiko//
Re: [Duvida] Ex 1.11 da apostila de monteiro
Não recomendo pegarem códigos prontos. Mesmo que seja só pra se basear.
Por isso não quis postar o código da primeira vez. Quando surgir alguma dúvida, tentem ao máximo apenas induzir o pensamento lógico ou sintático do perguntador e não postar o código. Afinal cada um tem sua maneira de pensar, e lógica quanto mais se pratica melhor. Nada melhor que você encontrar a solução pra um algoritmo. Só uma dica pq pelo que vejo tem gente que já está um pouco mais adiantado. hehe. Isso é bom! Continuem assim. Mas fica a dica para ajudar os outros. Vlw!
Por isso não quis postar o código da primeira vez. Quando surgir alguma dúvida, tentem ao máximo apenas induzir o pensamento lógico ou sintático do perguntador e não postar o código. Afinal cada um tem sua maneira de pensar, e lógica quanto mais se pratica melhor. Nada melhor que você encontrar a solução pra um algoritmo. Só uma dica pq pelo que vejo tem gente que já está um pouco mais adiantado. hehe. Isso é bom! Continuem assim. Mas fica a dica para ajudar os outros. Vlw!
Re: [Duvida] Ex 1.11 da apostila de monteiro
Eu sei que era desnecessário Kaique, mas eu tenho mania de organização (quase um TOC) e não tinha como por espaçamento de parágrafo, então pus o begin e o end para explicar o que estava dentro do "IF".
Concordo totalmente com o que você disse Railan, mas desta vez eu só postei a correção do código para demonstrar onde estava o erro. Espero que com isso este tipo de erro não ocorra mais com ele.
P.S.: As citações estão bugadas, apagando o post inteiro e deixando só os primeiros colchetes... Dá pra ver isso Kaique?
Concordo totalmente com o que você disse Railan, mas desta vez eu só postei a correção do código para demonstrar onde estava o erro. Espero que com isso este tipo de erro não ocorra mais com ele.
P.S.: As citações estão bugadas, apagando o post inteiro e deixando só os primeiros colchetes... Dá pra ver isso Kaique?
Re: [Duvida] Ex 1.11 da apostila de monteiro
[quote="Kiko Garcia"]O ideal é a maneira que utilize o mínimo de comandos para ser efetuada mais rápida, sem complicações. No momento estamos fazendo apenas programinhas simples, então muitos comandos não afetarão de forma perceptível a velocidade de execução... Mas quando formos trabalhar em programas de verdade, isso vai contar. Aquele famoso "lag" de abertura é causado por comandos excessivos e tals...
vinyanalista- Estudante Aplicado
- Mensagens : 26
Data de inscrição : 04/04/2011
Re: [Duvida] Ex 1.11 da apostila de monteiro
ah, entendi. vou remover o botão de citação, depois vejo isso.
Lista de exercícios
Alguém poderia postar a primeira lista de exercícios que Monteiro passou por favor???!!!!
VLW!
VLW!
ufscc- Novo usuário
- Mensagens : 2
Data de inscrição : 16/04/2011
Tópicos semelhantes
» Apostila de Conjuntos em PDF
» Uma questão de dedução lógica
» [Dúvida] Aula 11.2
» Dúvida aula18_1
» Dúvida Lista nº 2
» Uma questão de dedução lógica
» [Dúvida] Aula 11.2
» Dúvida aula18_1
» Dúvida Lista nº 2
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|