Guest tsenart Posted November 29, 2006 at 07:48 PM Report #67677 Posted November 29, 2006 at 07:48 PM 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? 😉
Saco Posted November 29, 2006 at 08:00 PM Report #67684 Posted November 29, 2006 at 08:00 PM 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.
Guest tsenart Posted November 29, 2006 at 08:12 PM Report #67693 Posted November 29, 2006 at 08:12 PM 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.
José Oliveira Posted November 29, 2006 at 08:15 PM Report #67695 Posted November 29, 2006 at 08:15 PM E a soma será sempre um quadrado perfeito... José Oliveira Educação, Matemática e Tecnologias
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now