Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Algoritmo que some as idades de pessoas de maior de 18 anos e menor que 18 anos


Posts recomendados

  • Membro VIP

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

fiz isso ate aqui:

esta certo?  o que falta pra terminar?

Program Pzim ;
var idade, soma: integer;
ida_maior, ida_menor: integer;
Cont: integer;

Begin
    For Cont:= 1 to 5 do
    begin
    Writeln('Informe as idades:');
    read(idade);
    end;
    
  if (idade mod 2 = 0) then
        ida_maior := ida_maior + 1;
        soma:= ida_maior + idade;
                
End.                   
  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá

 

Segue um esboço:

program Pzim;
{
 Um algoritmo que possua a idade de 5 pessoas e soma as idades das pessoas que
 forem maiores que 18 anos, e também mostre a soma das idades das pessoas que
 forem menores de idade. 
}
var
  idade       :integer;
  somaMaior18,
  somaMenor18 :integer;
  cont        :integer;
begin
somaMaior18:=0; //inicialia a variável
somaMenor18:=0; //inicialia a variável
for cont:=1 to 5 do
  begin
  writeln('Informe as idades:');
  readln(idade);
  if (idade >= 18) then //verifica se é maior de idade
    somaMaior18:=somaMaior18+idade //atualiza a soma destes
  else //senão, necessariamente é menor
    somaMenor18:=somaMaior18+idade //atualiza a soma destes
  end;
    
    
    
    
    
    
end.

 

Pronto... 99% pronto. Basta colocar para exibir o resultado.

 

Então. No caso, após ler a idade, já verifica se ela é correspondente a uma idade para "maior de idade" ou se é para "menor de idade". Como são condições dicotômicas, se não for uma coisa, necessariamente será a outra, daí não se faz necessário verificar se é menor que 18 (pois já se sabe que não é maior igual, então é menor).

 

Após saber qual a categoria, vai "acumulando" a idade para o seu respectivo caso. No final, exibe o resultado assim como solicitado.

 

 

Adendos:

1#
Por padrão, no Pascal, não é necessário inicializar as variável com 0, pois é inicializado automaticamente. Em algumas outras linguagens isso não ocorre. Nelas, a variável pode ficar o valor de "lixo" que estava na memória... o que pode gerar problemas. Por isso é bom pegar o costume ou no mínimo entender os seus contextos. Obs.: no próprio Pascal isso não ocorre se a variável for declarada dentro de uma function ou procedure (funções e procedimentos), ou seja, lá, a depender do contexto, se faz necessário inicializar. Resumindo: variáveis globais são automaticamente inicializadas. Já as variáveis locais, não. (obs.: isso como padrão, pode ser que mude de programa para programa, já que as definições podem ser personalizadas).

 

Perceba que a variável cont não precisaria ser inicializada pois ela "recebe um valor específico", ou seja, o seu valor atual não importa. Já no, por exemplo, somaMaior18, ela usa o valor atual + alguma coisa... daí, é importante que o valor inicial esteja adequado ao contexto (que no caso é começando com 0).

 

 

2#

Sobre:

17 horas atrás, devair1010 disse:

[...] e o comando mod serve é para ver se é par ou ímpar.

Só para deixar claro... O comando mod é simplesmente um Operador Aritmético. Assim como o +, - ,* , / e DIV, ou seja, apenas ocorre que esse operador poderia ser usado em parte de um algoritmo para verificar se é par ou ímpar... a "função" dela não é essa, apenas que pode ser usado para esse fim.

 

 

 

***

 

No aguardo.

 

 

 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

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...