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

Guest tsenart

[Resolvido] Soma de impares

4 mensagens neste tópico

Olá pessoal.

Estou a fazer uns exercicios de pascal e encravei neste :-[ ....

O enunciado diz o seguinte:

Escreva e teste um programa em Pascal correspondente ás seguintes situações:

.....

20.3.Calcule e escreva o somatório dos números ímpares entre [glow=red,2,300]0[/glow] e um outro número inteiro positivo a fornecer pelo utilizador.

program vinte_tres;

var num ,soma, conta:integer;

begin
    write('Introduza um número: '); readln(num);
    soma:=0;
    for conta:=0 to num do
    begin
       if (conta MOD 2<>0) then
       soma:=soma+conta;
       writeln(soma);
    end;
end.

Isto foi o que eu fiza mas testei-o e correu mal... Por exemplo com o número 10 dá-me o seguinte:

Introduza um número: 10
0
1
1
4
4
9
9
16
16
25
25

Any help? ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas isso está certo... 1+3+5+7+9 = 25

Se o problema é os números aparecerem 2 vezes, isso é por causa de o if só englobar a linha soma:=soma+conta; logo a soma é sempre impressa, quer o conta seja par quer seja ímpar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Thankz anyway. Já resolvi.  Pus o  [glow=red,2,300]writeln(som);[/glow] depois do [glow=red,2,300]end do for[/glow]... It workz.

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