Algoritmo em Linguagem C

1. Algoritmo em Linguagem C

Tamires Eduarda Marcolino Silva
10523361670

(usa Ubuntu)

Enviado em 28/08/2018 - 11:20h

Elabore um algoritmo em LINGUAGEM C, que solicite ao operador a idade de um grupo com várias pessoas (não usar VETOR ou MATRIZ), processe e apresente:

a) a idade média do grupo ;

b) a maior idade e quantas pessoas a tiveram ;

c) a menor idade e quantas pessoas a tiveram ;

d) Peso médio do grupo ;

1) Laço principal e todo processo lógico de entrada e armazenamento dos dados
solicitados para amostragens no final da entrada. Lembrando que, quando a idade informada for
igual a zero, finalizar as entradas e mostrar os resultados processados;

2) Validar corretivamente para que a idade não seja inferior a zero e nem superior a 120;

3) Validar corretivamente o peso para ser maior que zero;

4) Verificar se houve entrada de dados, caso não, dê uma mensagem.

5) Lembre-se que a primeira idade informada será a maior e/ou menor em relação as demais idades que serão informadas.

Obs.: NÃO usar estrutura de vetor e/ou matriz, caso use, irá ser passivo de nota zero.


  


2. Re: Algoritmo em Linguagem C

Fernando
phoemur

(usa Debian)

Enviado em 28/08/2018 - 12:42h


______________________
https://github.com/phoemur


3. Re: Algoritmo em Linguagem C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/08/2018 - 13:22h

Olha que talvez não seja tão fácil assim, não! Vejam lá o item (d), que pede para calcular o peso médio num programa em que só se entram idades. Não faço ideia de como isso se pode dar, especialmente num programa que proíbe o uso de vetores — sob pena de nota zero! —, o que implica que não dá nem para usar uma tabela de equivalência entre idade e peso.

Ou então, ou ele ou o professor truncaram o enunciado da questão.


Mas falando sério agora, o que eu acho mais interessante na questão, e que acaba não sendo tão trivial assim porque normalmente não é ensinado em cursos introdutórios, é o pedido de se verificar se aquilo que foi digitado é uma entrada válida, e particularmente a restrição número 5. Esse é um conselho que muitos aqui, incluindo eu mesmo, sempre apresentamos neste fórum, mas que raramente é acatado, e muitíssimo raramente é implementado antes que o sugiramos.

Se o autor original do tópico tiver dúvidas específicas nessa área (com a devida atenção ao “específicas”), eu ficaria feliz em ajudá-lo.


4. Re: Algoritmo em Linguagem C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/08/2018 - 18:58h

Mas neste caso, Samuel, faz sentido proibir o uso de vetores, porque eles são absolutamente desnecessários. Não é impedir o uso de matéria que não foi dada, creio eu, mas fazer com que os alunos pensem direito e façam exatamente o que foi pedido.

Mas eu fico curioso mesmo é para saber se o professor ensinou MESMO a detectar entrada vazia e entrada inválida. Eu NUNCA vi isso ser ensinado em lugar nenhum, a não ser por gente como nós, em fóruns como este.


5. RE: Tópico: Algoritmo em Linguagem C

José Gabriel Gruber
Gruber

(usa Manjaro Linux)

Enviado em 28/08/2018 - 19:33h

Vou ganhar quantos pontos?


6. Re: Algoritmo em Linguagem C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/08/2018 - 14:49h

SamL escreveu:

Eu até entendo o limite Paulo, mas acontece que isso incomoda muito, tipo, se deixar livre pra usar qualquer meio para resolver a questão seria muito mais prático.


Sem querer estender demais a discussão, não entendo que praticidade tenha necessariamente a ver com o assunto. Mesmo que tivesse, um aluno pode considerar “mais prático” usar uma solução que ele eventualmente já conheça, e, com isso, deixar de aprender algo que pode ser melhor do que aquilo que ele já está acostumado a fazer, e que pode deixar sua vida realmente mais prática se ele gastar um tempinho para aprender e raciocinar.

Fora que, num trocadilho involuntário, a prática de programação é que nos ajuda a ser programadores melhores, explorando as fronteiras do conhecimento, não uma programação “prática”, sujeita aos vícios de sempre.

Ademais, volta e meia aparecem situações em que as limitações são reais, em vez de apenas condicionadas por um enunciado. Quem programa microcontroladores, por exemplo, tem muito pouca memória disponível para se dar ao luxo de usar arrays ou strings (e outros recursos que, nos nossos PCs, são comparativamente “baratos”, como funções recursivas, muitos dados locais, argumentos de funções, estruturas etc.) em situações que eles poderiam ser evitados.

Nesse dia ai da questão de inverter um número inteiro que te falei, no dia em que sai da prova, cheguei em casa e tratei logo de encontrar uma solução. Como não conhecia a solução "pronta" do professor, eu acabei fazendo uma própria e que funcionava perfeitamente pra qualquer inteiro, só que levava algumas linhas a mais que o jeito do meu professor. Resultado, chegou o fim do semestre fiquei de recuperação mas ai o professor tratou de mandar de novo a mesma questão e ainda me perguntou se eu ia conseguir fazer (lembrando do inicio do semestre), eu disse que sim e fui lá fiz a questão e passei com 8 só por ter feito ela de modo diferente. Ah e quando chegou no semestre seguinte, eu vi o professor deixar de usar aquele jeito dele com a função log() da math e passar a usar o meu porque era muito mais simples de entender, apesar de ligeiramente maior.


Seu professor usava log() para inverter os dígitos de um inteiro? Que amador, hein?!

Sua solução funcionava mesmo para qualquer inteiro? Mesmo negativo?

Se for olhar por outro lado até que esse limite rendeu algo bom pra mim rsrsrs.


Pois é! Acaba sendo mesmo.


7. Re: Algoritmo em Linguagem C

Tamires Eduarda Marcolino Silva
10523361670

(usa Ubuntu)

Enviado em 29/08/2018 - 14:50h

Gruber escreveu:

Vou ganhar quantos pontos?


10!!!


8. Re: Algoritmo em Linguagem C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 30/08/2018 - 23:08h

A pergunta com relação a números negativos é porque eu não saberia dizer se o reverso de “-123” seria “-321” ou “321-”. A segunda forma não se pode fazer sem strings ou customização na hora de imprimir.

De todo modo, eu sei que é algo trivial de fazer: três linhas para espelhar, e mais duas se você quiser contar o tamanho. Acho difícil que o código original do seu professor fosse menor, mesmo usando logaritmos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts