exercícios de programação estruturada

exercícios de programação estruturada

(Parte 1 de 2)

Lista de exercícios extraída do livro Algoritmos Estruturados – Harry Farrer e outros – LTC- pág 89-103

∆ 1.12.1. Fazer um algoritmo que:

- Leia um número indeterminado de linhas contendo cada uma a idade de um indivíduo.

A última linha que não entrará nos cálculos, contém o valor da idade igual a zero. - Calcule e escreva a idade média deste grupo de indivíduos.

∆ 1.12.2. Tem-se um conjunto de dados contendo a altura e o sexo (masculino, feminino) de 50 pessoas. Fazer um algoritmo que calcule e escreva: - a maior e a menor altura do grupo;

- a média de altura das mulheres;

- o número de homens;

∆ 1.12.3. A conversão de graus Farenheit para centígrados é obtida por

C = 59(F - 32)

Fazer um algoritmo que calcule e escreva uma tabela de centígrados em função de graus Farenheit, que variam de 50 a 150 de 1 em 1.

∆ 1.12.4. Um comerciante deseja fazer o levantamento do lucro das mercadorias que ele comercializa. Para isto, mandou digitar uma linha para cada mercadoria com nome, preço de compra e preço de venda das mesmas. Fazer um algoritmo que:determine e escreva quantas mercadorias proporcionam: lucro < 10%

10% ≤ lucro ≤ 20%

lucro > 20% determine e escreva o valor total de compra e de venda de todas as mercadorias, assim como o lucro total. Observação: o aluno deve adotar um flag.

∆ 1.12.5. Supondo que a população de um país A seja da ordem de 90.0.0 de habitantes com uma taxa anual de crescimento de 3% e que a população de um país B seja, aproximadamente, de 20.0.0 de habitantes com uma taxa anual de crescimento de 1,5%, fazer um algoritmo que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas essas taxas de crescimento.

∆ 1.12.6. Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, fazer um algoritmo que determine o tempo necessário para que essa massa se torne menor do que 0,5 grama. Escreva a massa inicial, a massa final e o tempo calculado em horas, minutos e segundos.

∆ 1.12.7. Deseja-se fazer um levantamento a respeito da ausência de alunos a primeira prova de Programação de Computadores para cada uma das 14 turmas existentes. Para cada turma, é fornecido um conjunto de valores, sendo que os dois primeiros valores do conjunto corresponde a identificação da turma (A, ou B, ou C,...) e ao número de alunos matriculados, e os demais valores deste conjunto contêm o número de matrícula do aluno e a letra A ou P para o caso de o aluno estar ausente ou presente, respectivamente. Fazer um algoritmo que: - para cada turma, calcule a porcentagem de ausência e escreva a identificação da turma e a porcentagem calculada; - determine e escreva quantas turmas tiveram porcentagem de ausência superior a 5%.

∆ 1.12.8. Uma certa firma fez uma pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto lançado no mercado. Para isso, forneceu o sexo do entrevistado e sua resposta (sim ou não). Sabendo-se que foram entrevistadas 2.0 pessoas, fazer um algoritmo que calcule e escreva: - o número de pessoas que responderam sim;

- o número de pessoas que responderam não;

- a porcentagem de pessoas do sexo feminino que responderam sim;

- a porcentagem de pessoas do sexo masculino que responderam não;

∆ 1.12.9. Foi feita uma pesquisa para determinar o índice de mortalidade infantil em um certo período. Fazer um algoritmo que: - leia inicialmente o número de crianças nascidas no período;

- leia, em seguida um número indeterminado de linhas, contendo, cada uma, o sexo de uma criança morta (masculino, feminino) e o número de meses de vida da criança. A última linha, que não entrará nos cálculos, contém no lugar do sexo a palavra “vazio”; - determine e imprima: a) a porcentagem de crianças mortas no período; b) a porcentagem de crianças do sexo masculino mortas no período; c) a porcentagem de crianças que viveram 24 meses ou menos no período.

∆ 1.12.10. Foi feita uma pesquisa de audiência de canal de TV em várias casas de uma certa cidade, num determinado dia. Para cada casa visitada, é fornecido o número do canal (4,5,7,12) e o número de pessoas que o estavam assistindo naquela casa. Se a televisão estivesse desligada, nada era anotado, ou seja, esta casa não entrava na pesquisa. Fazer um algoritmo que: - leia um número indeterminado de dados, sendo que o “FLAG” corresponde ao número do canal igual a zero; - calcule a porcentagem de audiência para cada emissora;

- escreva o número do canal e a sua respectiva porcentagem.

∆ 1.12.1. Uma universidade deseja fazer um levantamento a respeito do seu concurso vestibular. Para cada curso, é fornecido o seguinte conjunto de valores: - o código do curso;

- o número de vagas;

- número de candidatos do sexo masculino;

- número de candidatos do sexo feminino;

O último conjunto, para indicar fim de dados, contém o código do curso igual a zero. Fazer um algoritmo que: - calcule escreva, para cada curso, o número de candidatos por vaga e a porcentagem de candidatos do sexo feminino (escreva também o código correspondente do curso); - determine o maior número de candidatos por vaga e escreva esse número juntamente com o código do curso correspondente (supor que não haja empate); - calcule e escreva o total de candidatos;

∆ 1.12.12. O sistema de avaliação de uma determinada disciplina obedece aos seguintes critérios: - durante o semestre são dadas três notas;

- a nota final é obtida pela média aritmética das notas dadas durante o curso;

- é considerado aprovado o aluno que obtiver a nota final superior ou igual a 60 e que tiver comparecido a um mínimo de 40 aulas.

Fazer um algoritmo que: a) Leia um conjunto de dados contendo o número de matrícula, as três notas e a frequência (número de aulas frequentadas) de 100 alunos. b) Calcule: - a nota final de cada aluno;

- a maior e menor nota da turma;

- a nota média da turma;

- o total de alunos reprovados;

- a porcentagem de alunos reprovados por infrequência; c) Escreva: - para cada aluno, o número de matrícula, a frequência, a nota final e o código (aprovado ou reprovado); - o que foi calculado no item b (2,3,4 e 5).

∆ 1.12.13. Deseja-se fazer uma pesquisa a respeito do consumo mensal de energia elétrica em uma determinada cidade. Para isso, são fornecidos os seguintes dados: - preço do kWh consumido;

- número do consumidor;

- quantidade de kWh consumidos durante o mês;

- código do tipo de consumidor (residencial, comercial, industrial).

O número do consumidor igual a zero deve ser usado como flag. Fazer um algoritmo que: - leia os dados descritos acima:

- calcule: a) para cada consumidor, o total a pagar; b) o maior consumo verificado; c) o menor consumo verificado; d) o total do consumo para cada um dos três tipos de consumidores; e) a média geral de consumo; - escreva: a) para cada consumidor, o seu número e o total a pagar; b) o que foi calculado nos itens b, c, d, e acima especificados.

∆ 1.12.14. Tem-se uma estrada ligando várias cidades. Cada cidade tem seu marco quilométrico. Fazer um algoritmo que: - leia vários pares de dados, contendo cada par os valores dos marcos quilométricos, em ordem crescente, de duas cidades. O último par contém estes dois valores iguais; - calcule os tempos decorridos para percorrer a distância entre estas duas cidades, com as seguintes velocidades: 20, 30, 40, 50, 60, 70, 80 km/hora, sabendo-se que t = e , onde t = tempo; e = espaço; v = velocidade; v

- escreva os marcos quilométricos, a velocidade e o tempo decorrido entre as duas cidades, apenas quando este tempo for superior a 2 horas.

∆ 1.12.15. Os bancos atualizam diariamente as contas de seus clientes. Essa atualização envolve a análise dos depósitos e retiradas de cada conta. Numa conta de balanço mínimo, uma taxa de serviço é deduzida se a conta cai abaixo de uma certa quantia especificada.

Suponha que uma conta particular comece o dia com um balanço de R$ 60,0. O balanço mínimo exigido é R$ 30,0 e se o balanço de fim de dia for menor do que isso, uma taxa é reduzida da conta. A fim de que essa atualização fosse feita utilizando computador, é fornecido o seguinte conjunto de dados: - a primeira linha contém o valor do balanço mínimo diário, quantidade de transações e taxa de serviço; - as linhas seguintes contém número da conta, valor da transação e código da transação (depósito ou retirada);

Escrever um algoritmo que: - calcule o balanço (saldo/débito) da conta ao fim do dia (se o resultado for negativo, isto significa insuficiência de fundos na conta); - escreva, para cada conta, o seu número e o balanço calculado. Se não houver fundos, imprima o número da conta e a mensagem “NÃO HÁ FUNDOS”.

∆ 1.12.16. Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para preenchimento de vagas no seu quadro de funcionários, utilizando processamento eletrônico. Supondo que você seja o programador encarregado desse levantamento, fazer um algoritmo que: - leia um conjunto de dados para cada candidato contendo: a) número de inscrição do candidato; b) idade; c) sexo (masculino, feminino); d) experiência no serviço (sim ou não).

O último conjunto contém o número de inscrição do candidato igual a zero. - calcule: a) o número de candidatos do sexo feminino; b) o número de candidatos do sexo masculino; c) idade média dos homens com mais de 45 anos entre o total de homens; d) número de mulheres que têm idade inferior a 35 anos e com experiência no serviço; e) a menor idade entre mulheres que já tem experiência no serviço; - escreva: a) o número de inscrição das mulheres pertencentes ao grupo descrito no item e; b) o que foi calculado em cada item acima especificado.

∆ 1.12.17. Um companhia de teatro planeja dar uma série de espetáculos. A direção calcula que, a R$ 5,0 o ingresso, serão vendidos 120 ingressos, e as despesas montarão em R$ 20,0. A diminuição de NR$ 0,50 no preço dos ingressos espera-se que haja um aumento de 26 ingressos vendidos.

Fazer um algoritmo que escreva uma tabela de valores do lucro esperado em função do preço do ingresso, fazendo-se varias este preço de R$ 5,0 a R$ 1,0 de R$ 0,50 em R$ 0,50. Escreva, ainda, o lucro máximo esperado, o preço e o número de ingressos correspondentes.

∆ 1.12.18. A comissão organizadora de um rallye automobilístico decidiu apurar os resultados da competição através de um processamento eletrônico.

Um dos algoritmos necessários para a classificação das equipes concorrentes é o que emite uma listagem geral do desempenho das equipes, atribuindo pontos segundo determinadas normas:

O algoritmo deverá: a) Ler: a.1) uma linha contendo os tempos-padrão (em minutos decimais) para as três fases de competição; a.2) um conjunto de linhas contendo cada uma o número de inscrição da equipe e os tempos (em minutos decimais) que as mesmas despenderam ao cumprir as três diferentes etapas. A última linha (flag), que não entrará nos cálculos, contém o número 9 como número de inscrição. b) Calcular: b.1) os pontos de cada equipe em cada uma das etapas, seguindo o seguinte critério:

Seja ∆ o valor absoluto da diferença entre o tempo-padrão (lido na primeira linha) e o tempo despendido pela equipe numa etapa:

3 <= ∆ <= 5 minutos– atribuir 80 pontos à etapa

∆ < 3 minutos – atribuir 100 pontos à etapa ∆ > 5 minutos – atribuir 80 – (∆ - 5)/5 pontos à etapa b.2) o total de pontos de cada equipe nas três etapas; b.3) a equipe vencedora.

c) Escrever: c.1) para cada equipe, o número de inscrição, os pontos obtidos em cada etapa e o total de pontos obtidos.

∆ 1.12.19. Numa certa loja de eletrodomésticos, o comerciário encarregado da seção de televisores recebe, mensalmente, um salário fixo mais comissão. Essa comissão é calculada em relação ao tipo e ao número de televisores vendidos por mês, obedecendo à tabela abaixo:

TIPO N.o DE TELEVISORES a cores Maior ou igual a 10

Menor do que 10

R$10,0 por televisor vendido R$ 50,0 por televisor vendido

Preto e branco Maior ou igual a 20

Menor do que 20

R$ 40,0 por televisor vendido R$ 20,0 por televisor vendido

Sabe-se, ainda, que ele tem um desconto de 8% sobre seu salário fixo para o INPS. Se o seu salário total (fixo + comissões – INPS) for maior ou igual a R$ 3.0,0 ele ainda terá um desconto de 5%, sobre esse salário total, relativo ao imposto de renda retido na fonte. Sabendo-se que existem 20 empregados nesta seção, leia o valor do salário fixo e, para cada comerciário, o número de sua inscrição, o número de televisores a cores e o número de televisores preto e branco vendidos; calcule e escreva o número de inscrição de cada empregado, seu salário bruto e seu salário líquido.

∆ 1.12.20. O dia da semana para uma data qualquer pode ser calculado pela seguinte fórmula:

Onde:

M – representa o número do mês. Janeiro e fevereiro são os meses 1 e 12do ano precedente, março é o mês 1 e dezembro é o mês 10;

D – representa o dia do mês; A – representa o número formado pelos dois últimos algarismos do ano; S – representa o número formado pelos dois primeiros algarismos do ano;

Os dias da semana são numerados de zero a seis; Domingo corresponde a 0, Segunda a 1, e assim por diante/ Fazer um algoritmo que: - leia um conjunto de 50 datas (dia, mês, ano);

- determine o dia da semana correspondente à data lida, segundo o método especificado;

- escreva, para cada data lida, o dia, mês, ano e o dia da semana calculado.

∆ 1.12.21. Numa fábrica trabalham homens e mulheres divididos em três classes: A – os que fazem até 30 peças por mês; B – os que fazem de 31 a 35 peças por mês; C – os que fazem mais de 35 peças por mês;

A classe A recebe salário-mínimo. A classe B recebe salário-mínimo e mais 3% do saláriomínimo por peça, acima das 30 iniciais. A classe C recebe salário-mínimo e mais 5% do saláriomínimo por peça acima das 30 iniciais.

Fazer um algoritmo que: a) leia várias linhas, contendo cada uma: - o número do operário;

- o número de peças fabricadas por mês;

- o sexo do operário; b) calcule e escreva

- o salário de cada operário; - o total da folha mensal de pagamento da fábrica;

- o número total de peças fabricadas por mês;

- a média de peças fabricadas pelos homens em cada classe;

- a média de peças fabricadas pelas mulheres em cada classe;

- o número do operário ou operária de maior salário (não existe empate). Observação: A última linha, que servirá de flag, terá o número do operário igual a zero.

∆ 1.12.2. Uma determinada fábrica de rádios possui duas linhas de montagem distintas: standard e luxo. A linha de montagem standard comporta um máximo de 24 operários; cada rádio standard dá um lucro de X reais e gasta um homem-dia para sua confecção. A linha de montagem luxo comporta no máximo 32 operários; e cada rádio luxo dá um lucro de Y cruzados e gasta 2 homensdia para sua confecção. A fábrica possui 40 operários. O mercado é capaz de absorver toda a produção e o fabricante deseja saber qual esquema de produção a adotar de modo a maximizar seu lucro diário.

Fazer um algoritmo que leia os valores de X e Y e escreva, para esse esquema de lucro máximo, o número de operários na linha standard e na linha luxo, o número de rádios standard e luxo produzidos e o lucro.

∆ 1.12.23. Fazer um algoritmo para calcular o número de dias decorridos entre duas datas (considerar também a ocorrência de anos bissextos), sabendo-se que: a) cada par de datas é lido numa linha, a última linha contém o número do dia negativo b) a primeira data na linha é sempre a mais antiga. O ano está digitado com quatro dígitos.

(Parte 1 de 2)

Comentários