Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JuninhoEdu722

Não estou conseguindo fazer a soma!

Recommended Posts

EU FIZ ESSE PROGRAMA MAIS NÃO TO CONSEGUINDO FAZER A SOMA DE TODOS OS VALORES LIDOS PELO USUÁRIO ,ALGUÉM PODE ME AJUDAR? LINGUAGEM PASCAL.


Program Pzim ;

Var

V1:array[1..5] of integer ;

I,MAIOR,MENOR,S:integer;

SOMA,MEDIA:REAL;

Begin

for i := 1 to 5 do

begin

clrscr;

writeln('INFORME O ',I,' NUMERO INTEIRO: ' ) ;

read(V1);


end;


maior:=V1[1];

for i:=1 to 5 do

begin

if(V1 > maior) then

maior:=V1;

end;


menor:=V1[1];

for i := 1 to 5 do

begin

if (V1 < MENOR ) THEN

MENOR:=V1;

end;

SOMA:=(MAIOR + MENOR);

MEDIA:=(SOMA/2);

BEGIN

S:=S+V1;

END;

writeln('' ) ;

writeln('O MENOR NUMERO DIGITADO FOI ',MENOR ) ;

writeln('O MAIOR NUMERO DIGITADO FOI ',MAIOR ) ;

writeln('A SOMA DO MAIOR E MENOR NUMERO E ',SOMA:2:0 ) ;

writeln('A MEDIA DO MAIOR E MENOR NUMERO E ',MEDIA:2:0 ) ;

writeln('A SOMA DE TODOS OS NUMEROS DA SEQUENCIA E ',S) ;

READKEY;

End.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SOMA:=(MAIOR + MENOR);

Faz um laço..

SOMA = SOMA + V1[I]

 

SOMA:=(MAIOR + MENOR);

Faz um laço..

SOMA = SOMA + V1[I]

SERA QUE VC PODERIA ME AJUDAR A RESOLVER ESSE PROBLEMA ?

 

Tentando descobrir se um dado era viciado, um dono de cassino honesto o lançou 20 vezes. Dados os resultados dos lançamentos, determinar o número de ocorrências de cada face.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara..

 

Inicia sua variável SOMA com 0, depois faz um for em que

SOMA := SOMA + V1[I]

E depois, só mostrar.. Acho que você não escreveu o nome inteiro da variável aqui

 writeln('A SOMA DE TODOS OS NUMEROS DA SEQUENCIA E ',S) ;

Creio que o certo seria

 writeln('A SOMA DE TODOS OS NUMEROS DA SEQUENCIA E ',SOMA) ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atah, agora eu vi a variável S.

Ela está entre um BEGIN e um END, mas sem o for..

begin  
  S:=S+V1[I];
end;

Coloca o for:

for i := 1 to 5 do
begin  
  S:=S+V1[i];
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites
for i := 1 to 5 do

begin

clrscr;

writeln('INFORME O ',I,' NUMERO INTEIRO: ' ) ;

read(V1);


if v1 < 0 then

writeln('NUMERO INVALIDO ! INFORME OUTRO NUMERO');

read(V1);

end;


EU FIZ ASSIM SO QUE NÃO ESTA DANDO CERTO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:


for i := 1 to 5 do
  begin
    clrscr;
    writeln('INFORME O ',I,' NUMERO INTEIRO: ' ) ;
    read(V1[I]);
    
   if ((v1[i] < 0) or (v1[i] > 20)) then
   begin
       writeln('NUMERO INVALIDO ! INFORME OUTRO NUMERO'); 
       read(V1[i]);
   end;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica: Escreva as variáveis em inglês também, assim você terá um algoritmo melhor de visualização de mais pra frente quando você programar em AdvPl (Por exemplo) vai ver a diferença.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.