Algoritmos e Programação _ Departamento de Informática Turma 2015 – Noturno Lista de exercícios – Estruturas de Decisão/Repetição INSTRUÇÕES IMPORTANTES – LEIA COM ATENÇÃO: Sugestão: Inicialmente desenvolver a ideia dos programas em pseudocódigo ou linguagem de programação Pascal (escrever a mão), posteriormente implementar em um dos Ambientes de Programação C, utilizados na disciplina, preferencialmente Dev C++. Atenção: para os códigos fontes gerados, seguir a mesma nomenclatura sugerida para cada um dos arquivos, entre parênteses. Dois dos exercícios (problemas) abaixo serão escolhidos aleatoriamente pelo professor para apresentação, no dia 29/Setembro/2015 (terça-feira) no horário das aulas teóricas e dia da avaliação bimestral (teórica), o professor informará quais os exercícios que foram selecionados para apresentação; Os exercícios escolhidos (item anterior) correspondem aos 20% (vinte por cento) da nota de avaliação relativa aos trabalhos práticos do bimestre (Valor: 2,0 pontos). Os algoritmos (pseudocódigos) e códigos em linguagem de programação dos exercícios anteriormente citados deverão ser entregues conforme descrito a seguir: o Turmas NA e NB – no dia 05/Outubro/2015 – dia e horário de aula prática, deverão ser entregues impressos ou escritos a mão os arquivos fontes correspondentes, pessoalmente e também apresentados ao Prof. Jeferson Antonio Quimelli, a execução dos respectivos programas. Não esquecer de identificar os documentos, com o seu RA e nome. o Turmas ND e NP – no dia 06/Outubro/2015 – dia e horário de aula teórica, deverão ser entregues impressos ou escritos a mão, pessoalmente ao Prof. Ivo Mario Mathias e também o envio por e-mail dos arquivos fontes correspondentes para [email protected]. Não esquecer de identificar os documentos, com o seu RA e nome. _______________________________________________________________________________ Professores: Ivo Mário Mathias/Jeferson Antonio Quimelli - agosto/2015 1/3 Algoritmos e Programação _ Departamento de Informática Exercícios/Problemas 1. (Prog_exe_11) - Construa um programa que de acordo com o horário digitado (hh:mm) o programa exiba na tela a saudação "Bom dia", se for de manhã, "Boa tarde", se for a tarde e "Boa noite", se for a noite ou de madrugada. Considere que a passagem da manhã para a tarde ocorra às 12h00min horas e a passagem da tarde para a noite ocorre às 18h00min horas. 2. (Prog_exe_12) - Implemente em linguagem de programação C as expressões a seguir com suas respectivas variáveis. Para a saída do programa, quando o resultado de uma expressão for um valor lógico, seja exibida na tela do computador uma mensagem, "Verdadeiro" ou "Falso", conforme o resultado obtido pela avaliação da respectiva expressão. Para as demais expressões, os resultados numéricos também devem ser exibidos. Observação: para solucionar integralmente esse exercício, pesquise como funcionam as funções de manipulação de strings em linguagem C: strcpy(), strcat() e strcmp(). VAR Inteiro Real Lógico Literal : : : : 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) A=1, B=2, C=3; X=2.0, Y=10.0, Z=-1.0; L1=.V., L2=.F.; NOME[20] = "FULANO", SOBRENOME[20] = "DE TAL"; A + C / B A + B / C C / B / A A ** B ** A Z * X ** B –X ** B –(X ** B) (–X) ** B NOME + SOBRENOME NOME = SOBRENOME L1 .OU. L2 (L1 .E. (.NÃO. L2)) (L2 .E. (.NÃO. L1)) (L1.E.(.NÃO.L2)).OU.(L2.E. (.NÃO. L1)) X > Y .E. C <= B (C – 3 * A) < (X + 2 * Z) _______________________________________________________________________________ Professores: Ivo Mário Mathias/Jeferson Antonio Quimelli - agosto/2015 2/3 Algoritmos e Programação _ Departamento de Informática 3. (Prog_exe_13) - Fazer um programa que calcule e imprima a soma dos números pares desde 100 até 200, inclusive. Utilize estrutura while. 4. (Prog_exe_14) – Repetir o exercício anterior com a estrutura do while. 5. (Prog_exe_15) – Repetir o exercício anterior com a estrutura for. 6. (Prog_exe_16) - Utilizando alguma das estruturas de repetição, desenvolva um programa que permita a digitação de uma frase qualquer, a qual deve ser finalizada teclando-se <Enter>. Durante a digitação, simultaneamente, o programa deve exibir ler e ecoar apenas letras, vogais e consoantes, MAIÚSCULAS. Para as demais teclas o programa deve emitir uma mensagem como <caracter inválido>. 7. (Prog_exe_17) – Para o caso de um suposto estacionamento de carros, o controle de pagamento ocorre do seguinte modo: as primeiras duas horas custam R$ 3,00; após as primeiras duas horas o custo do estacionamento aumenta R$ 0,02 por cada minuto adicional até atingir o valor máximo de R$ 14,40, que corresponde ao valor máximo a ser pago por cada período de 24 horas. Sendo assim, quando o valor do estacionamento atinge R$ 14,40, a hora passa a ter o valor de R$ 0,60 e, o minuto R$ 0,01. Diante disso, sendo informados o dia, a hora e os minutos de ingresso e o dia, a hora e os minutos de saída, o programa deve fornecer o total a ser pago por aquele período de estacionamento. Observação: Para solucionar o próximo exercício, (Prog_exe_18), pesquise como funcionam as funções randomize()/random() dos IDEs da linguagem de programação C, de modo que, os supostos valores a serem sorteados no problema, sejam escolhidos aleatoriamente pelas funções em referência. 8. (Prog_exe_18) – Desenvolva um programa que simule um jogo de bingo, semelhante ao que ocorre em festas de igreja e quermesses. Simular a existência de pelo menos duas cartelas com um mínimo de 5 números cada uma, variáveis simples, cujos valores poderão ser inseridos via teclado ou gerados aleatoriamente. Neste sentido, fazer um sistema de entrada ou geração automática dos dados (números) de modo que números repetidos não sejam aceitos pelo sistema (consistência). Para o sorteio dos números, usar funções de geração de números randômicos, e num processo continuo verificar qual cartela terá todos os seus números sorteados. Como saída, o programa deve exibir qual a cartela ganhadora, os respectivos números e a quantidade total de valores gerados randomicamente para completar o processo. 9. (Prog_exe_19) - Utilizando alguma das estruturas de repetição, desenvolva um programa em linguagem de programação C que leia sequencialmente da tabela ASC o alfabeto (de 'A' a 'Z') e durante a leitura, selecione e exiba as letras que formam a palavra "DEINFO", nesta ordem, de modo que ao final da execução do programa deverá estar escrita na tela do computador a palavra indicada. _______________________________________________________________________________ Professores: Ivo Mário Mathias/Jeferson Antonio Quimelli - agosto/2015 3/3