Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Johnatan Farias

Pascal Não consigo encontrar o erro

Recommended Posts

Eae galera, eu fiz esse algoritmo mas nao acho o erro q esta dando no programa e também nao sei como resolve-lo.Precimo q me expliquem o erro e me ajudem a resolve-lo, por favor obrigado.

Programa:

procedure Exer20;
            type
              Nomes = array[1..10] of string[10];
              Idades = array[1..10] of integer;
            var sexo,nome:Nomes;
                idade:Idades;
                N,i,idademaiordezoito,Homem25anos,Mulher35anos,Somatotalidade:integer;
                continuar:char;
            begin
              N:=0;
              for i:= 1 to 10 do
                  begin
                    writeln('Qual seu nome?'[N]);
                    readln(nome[N]);
                    writeln('Qual sua idade?'[N]);
                    readln(idade[N]);
                    writeln('Qual seu sexo? M ou F.'[N]);
                    readln(sexo[N]);
                  end;
              for i:= 1 to 10 do
                  begin
                    Somatotalidade:=idade+idade[N];                         ((((ta dando erro aqui)))
                    if (idade[N]>18) then
                         idademaiordezoito:=idade+idade[N]
                    else if (sexo[N]='M')and(idade[N]>25) then
                         Homem25anos:=idade+idade[N]
                    else if (sexo[N]='F')and(idade[N]>35) then
                         Mulher35anos:=idade+idade[N];
                  end;
              writeln('As pessoas soma das idades das pessoas maiores de idade sao,',Idademaiordezoito,'.');
              writeln('A soma da idade dos homens acima 25 anos e',Homem25anos,'.');
              writeln('A soma de todas as idades e,',Somatotalidade,'.');
              writeln('A soma da idade das mulheres acima dos 35 anos e,',Mulher35anos,'.');
              writeln('Deseja pesquisar os dados? S ou N');
              readln(continuar);
              continuar:='S';
              while continuar='S' do
                    begin
                       writeln('escreva o numero de 0 a 9 para verificar os dados.');
                       readln(N);
                       writeln( 'Nome:',nome[N],', Idade:',idade[N],' e sexo:',sexo[N],'.');
                       writeln('deseja continuar a pesquisar os dados? S ou N');
                       readln(continuar);
                     end;
              readln;
            end;

image.png.78545178cfbbdf615a3162f43a8ab182.png

 

Editado por Simon Viegas
Inserir tag CODE
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Johnatan Farias.

 

16 minutos atrás, Johnatan Farias disse:

Somatotalidade:=idade+idade[N];  

 

Se você que "somar as idades, talvez deveria ficar assim:
 

somaTotalIdade:=SomaTotalIdade+idade[N];

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aaaah, então eu teria q fazer isso todas as outras vezes? Com a variável 'homem25anos' e as outra? @Simon Viegas

Editado por Johnatan Farias
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 minutos atrás, Johnatan Farias disse:

Aaaah, então eu teria q fazer isso todas as outras vezes? Com a variável 'homem25anos' e as outra? @Simon Viegas

 

Sua pergunta foi retórica! :)

adicionado 1 minuto depois

Por favor, após corrigir, poste o enunciado e o código completo para analisarmos... caso tenhas dúvidas sobre alguma parte, é só informar tb

 

No aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tendo problemas novamente, quando executo o algoritmo o programa me manda uma nota musical e um asterisco.

Algoritmo:

procedure Exer20;
            type
              Nomes = array[1..10] of string[10];
              Idades = array[1..10] of integer;
            var sexo,nome:Nomes;
                idade:Idades;
                N,i,idademaiordezoito,Homem25anos,Mulher35anos,Somatotalidade:integer;
                continuar:char;
            begin
              Homem25anos:=0;
              Mulher35anos:=0;
              Somatotalidade:=0;
              idademaiordezoito:=0;
              N:=0;
              for i:= 1 to 10 do
                  begin
                    writeln('Qual seu nome?'[N]);
                    readln(nome[N]);
                    writeln('Qual sua idade?'[N]);
                    readln(idade[N]);
                    writeln('Qual seu sexo? M ou F.'[N]);
                    readln(sexo[N]);
                  end;
              for i:= 1 to 10 do
                  begin
                    Somatotalidade:=Somatotalidade+idade[N];
                    if (idade[N]>18) then
                         idademaiordezoito:=idademaiordezoito+idade[N]
                    else if (sexo[N]='M')and(idade[N]>25) then
                         Homem25anos:=Homem25anos+idade[N]
                    else if (sexo[N]='F')and(idade[N]>35) then
                         Mulher35anos:=Mulher35anos+idade[N];
                  end;
              writeln('As pessoas soma das idades das pessoas maiores de idade sao,',Idademaiordezoito,'.');
              writeln('A soma da idade dos homens acima 25 anos e',Homem25anos,'.');
              writeln('A soma de todas as idades e,',Somatotalidade,'.');
              writeln('A soma da idade das mulheres acima dos 35 anos e,',Mulher35anos,'.');
              writeln('Deseja pesquisar os dados? S ou N');
              readln(continuar);
              continuar:='S';
              while continuar='S' do
                    begin
                       writeln('escreva o numero de 0 a 9 para verificar os dados.');
                       readln(N);
                       writeln( 'Nome:',nome[N],', Idade:',idade[N],' e sexo:',sexo[N],'.');
                       writeln('deseja continuar a pesquisar os dados? S ou N');
                       readln(continuar);
                     end;
              readln;
            end;

Executando:

image.thumb.png.20e860b87e02b864c112b1eff145d9a1.png

 

 

Editado por Simon Viegas
Inserir tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sei código está compilando?

 

Eu desconheço essa sintaxe:

33 minutos atrás, Johnatan Farias disse:

writeln('Qual seu nome?'[N]);

 

Esses [N] ai não tem nada a ver...

 

Tente usar algo assim:

writeln('Qual seu nome?');

 

Simplesmente remova-os...

 

Obs.: qual o compilador que está usando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas rapaz, o erro era só essa chave, credo. Obrigado pela ajuda

Eu uso o Lazarus

adicionado 7 minutos depois

Você consegue ver outro erro na soma? porque ta somando tudo errado e eu n to consigo descobrir o erro

Compartilhar este post


Link para o post
Compartilhar em outros sites
31 minutos atrás, Johnatan Farias disse:

Você consegue ver outro erro na soma? porque ta somando tudo errado e eu n to consigo descobrir o erro

 

Por favor, poste seu código completo para analisarmos.

adicionado 2 minutos depois

Obs.: não fiz testes, mas possivelmente seja necessário INICIALIZAR AS VARIÁVEIS que acumulam os valores, ou seja, como está dentro de uma procedure, é provável que as variáveis não sejam zeradas automaticamente...

 

Ex.:

Somatotalidade:=0;

Isso para cada uma delas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso, tá no começo do algoritmo, aquele q eu mandei no primeiro post

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa. O que significa:

1 hora atrás, Johnatan Farias disse:

maiores de

Inclui os número ou não?... por exemplo, quem tem 18 é maior de idade ou não? Tem que ter cuidado com isso.

adicionado 2 minutos depois
4 minutos atrás, Johnatan Farias disse:

Eu fiz isso, tá no começo do algoritmo, aquele q eu mandei no primeiro post

Precisamos do código atual.

Compartilhar este post


Link para o post
Compartilhar em outros sites
23 minutos atrás, Simon Viegas disse:

Outra coisa. O que significa:

Inclui os número ou não?... por exemplo, quem tem 18 é maior de idade ou não? Tem que ter cuidado com isso.

adicionado 2 minutos depois

Precisamos do código atual.

Codigo atual:

procedure Exer20;
            type
              Nomes = array[1..10] of string[10];
              Idades = array[1..10] of integer;
            var sexo,nome:Nomes;
                idade:Idades;
                N,i,idademaiordezoito,Homem25anos,Mulher35anos,Somatotalidade:integer;
                continuar:char;
            begin
              Homem25anos:=0;
              Mulher35anos:=0;
              Somatotalidade:=0;
              idademaiordezoito:=0;
              N:=1;
              for i:= 1 to 10 do
                  begin
                    writeln('Qual seu nome? ');
                    readln(nome[N]);
                    writeln('Qual sua idade? ');
                    readln(idade[N]);
                    writeln('Qual seu sexo? M ou F. ');
                    readln(sexo[N]);
                  end;
              for i:= 1 to 10 do
                  begin
                    Somatotalidade:=Somatotalidade+idade[N];
                    if (idade[N]>18) then
                         idademaiordezoito:=idademaiordezoito+idade[N]
                    else if (sexo[N]='M')and(idade[N]>25) then
                         Homem25anos:=Homem25anos+idade[N]
                    else if (sexo[N]='F')and(idade[N]>35) then
                         Mulher35anos:=Mulher35anos+idade[N];
                  end;
              writeln('As pessoas soma das idades das pessoas maiores de idade sao, ',Idademaiordezoito,'.');
              writeln('A soma da idade dos homens acima 25 anos e ',Homem25anos,'.');
              writeln('A soma de todas as idades e, ',Somatotalidade,'.');
              writeln('A soma da idade das mulheres acima dos 35 anos e, ',Mulher35anos,'.');
              writeln('Deseja pesquisar os dados? S ou N');
              readln(continuar);
              continuar:='S';
              while continuar='S' do
                    begin
                       writeln('escreva o numero de 0 a 9 para verificar os dados.');
                       readln(N);
                       writeln( 'Nome:',nome[N],', Idade:',idade[N],' e sexo:',sexo[N],'.');
                       writeln('deseja continuar a pesquisar os dados? S ou N');
                       readln(continuar);
                     end;
              readln;
            end;

 

Enunciado da questão na apostila:

"Faça um algoritmo utilizando vetores e o type, para receber os dados de 10 pessoas. Os dado a serem recebidos são: Nome, tem quer ser apenas 10 carateres, idade e sexo. Os resultados a serem mostrados são?

A -) A soma das pessoas maiores de idade:

B -) A soma das pessoas com sexo masculino e idade maior de 25 anos;

c -)A soma de todas as idade;

d -)A soma das pessoas com sexo feminino e idade maior que 35 anos;

e -) Após os resultados o usuario poderá verificar os dados quantas vezes desejar. "

Editado por Simon Viegas
Inserir tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

1#

Você me citou:

17 minutos atrás, Johnatan Farias disse:
37 minutos atrás, Simon Viegas disse:

Outra coisa. O que significa:

Inclui os número ou não?... por exemplo, quem tem 18 é maior de idade ou não? Tem que ter cuidado com isso.

adicionado 2 minutos depois

Precisamos do código atual.

Mas não me respondeu...

 

 

 

2#

Se está usando i nos for, teria que usar o i nos vetores. Você está usando N. (use a ferramenta para substituir "[N]" por [i ]")

 

 

***

 

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×