Ir ao conteúdo

Posts recomendados

Postado

1. Faça um algoritmo que receba as idades de 10 pessoas e some as idades pares. Use o comando REPEAT

2. Faça o mesmo algoritmo só que somando também as idades ímpares e somando todas as idades ímpares + pares juntas.

 

O Algoritmo é esse:

var
          lista:array[1..10]of integer;
          pessoas, par:integer;

begin;
          pessoas :=0;
          repeat
                     writeln(' digite idade ');
                     pessoas:=pessoas + 1;
                     readln(lista[pessoas]);
          until (pessoas =10);

          pessoas:=0;
          par:=0;

          repeat
                     pessoas:=pessoas + 1;
                     if((lista[pessoas] mod 2)=0) then par:=par+lista[pessoas] ;
          until (pessoas =10);

writeln('soma das idades pares é ',par);
end.

 

Por exemplo: para calcular somente as idades ímpares era só mudar mod 2 = 0 para mod 2 = 1

então como eu faria para colocar a soma dos idades ímpares no algoritmo acima e como faria para somar as idades ímpares e pares?

  • Curtir 1
Postado

@Charles Diogo123     para somar as idades pares e as idades impares voce pode pegar cada idade digitada pelo usuario e somar uma com a outra pois as idades só podem ser par ou impar  .    e para somar as idades impares no primeiro , voce pode colocar um else e dentro dele faria a soma dos impares.  .

  • Curtir 1
  • Membro VIP
Postado

Olá.

 

1#

Sobre:

@Charles Diogo123, por favor, ao postar um código, favor utilizar a tag CODE. Basta, antes de colar o código, clicar no botão <>.

botao_tag_code.png

 

obs.: para o código anterior, já editei e inseri.

 

 

 

2#

Sobre:

1 hora atrás, Charles Diogo123 disse:

Por exemplo: para calcular somente as idades ímpares era só mudar mod 2 = 0 para mod 2 = 1

 

Seria basicamente isso mesmo. Então presumimos que já sabe verificar se um número é ímpar também... correto?

 

 

 

3#

1 hora atrás, Charles Diogo123 disse:

então como eu faria para colocar a soma dos idades ímpares no algoritmo acima e como faria para somar as idades ímpares e pares?

 

Basicamente só fazer as duas verificações na mesma estrutura... algo como:

repeat
  pessoas:=pessoas + 1;
  if ((lista[pessoas] mod 2)=0) then //verifica se é par  
    par:=par+lista[pessoas];
  if ((lista[pessoas] mod 2)=1) then //verifica se é ímpar
    impar:=impar+lista[pessoas];
until (pessoas = 10);
writeln('soma das idades pares é   : ',par);
writeln('soma das idades impares é : ',impar);

 

A soma de um com o outro será a soma das variáveis... (que na prática será a soma de todas as idades)

 

Aí entra outras questões. Por exemplo:

 

1) um número não pode ser par e ímpar ao mesmo tempo.

inter.pngvia Wikipedia


Ou seja, a intercessão do conjunto dos pares com o conjunto dos ímpares, resulta em conjunto vazio, ou seja, não existe elemento em comum. Logo, se um número for par, jamais poderá ser ímpar também... nesse caso, usam-se o else do if.

 

Algo como:

repeat
  pessoas:=pessoas + 1;
  if ((lista[pessoas] mod 2)=0) then //verifica se é par  
    par:=par+lista[pessoas]
  else
    if ((lista[pessoas] mod 2)=1) then //verifica se é ímpares
      impar:=impar+lista[pessoas];
until (pessoas = 10);

 

 

2) se um número (lembrando que estamos tratando só de inteiros) não é par, necessariamente ele será ímpar. E vice-versa.

uniao.pngvia Wikipedia

 

Ou seja, a união do conjunto dos números pares com o conjunto dos números ímpares resulta no conjunto dos números naturais. Como já sabemos que um número não pode ser par e ímpar ao mesmo tempo, concluímos que se um número não é par, necessariamente ele será ímpar. E vice-versa, é claro.

 

Resumindo: basta verificar se é um deles. Se não for, é o outro. (todo número inteiro ou é par ou é ímpar)

 

Seria algo assim:

repeat
  pessoas:=pessoas + 1;
  if ((lista[pessoas] mod 2)=0) then //verifica se é par  
    par:=par+lista[pessoas]
  else //senão é ímpar
    impar:=impar+lista[pessoas];
until (pessoas = 10);

 

 

 

4#

Em vez de repeat, seria mais interessante utilizar for.  Combinaria mais. Sugeriria mudá-los.

 

 

 

5#

Só um detalhe besta sobre o padrão de nomenclatura das variáveis... (que talvez não seja importante, mas que particularmente acho relevante).

Spoiler

Resumidamente seria:
- em vez de pessoas, usar pessoa. Pois essa variável tende a ser mais relacionada ao "número da pessoa". Ou seja, a pessoa 1, a pessoa 2, a pessoa 3... etc. Lá na

- já par e impar poderiam ser pares e impares, ou seja, sendo mais relacionada "a soma dos pares e a soma dos ímpares". Ou mesmo somaPares e somaImpares... por ai vai.

- já o lista creio que ficou bom. Pois vetores tendem a representar um conjunto... logo, lista cai bem. Outro bom exemplo seria usar idades. Veja que está no plural... sugerindo que são mais de uma... obs.: lista não precisa ficar no plural pois já remete a um conjunto.

 

Em fim... esse ponto não é tão importante... inclusive nem eu mesmo tenho uma sensação se é coerente ou não... rs.

 

 

 

***

 

Qualquer coisa é só postar.

 

No aguardo.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!