Prof. Alessandro Zimmer Universidade Federal do Paraná Engenharia Elétrica Técnicas de Programação I Exercícios – Programação em C • Cada exercício deve ser desenvolvido por todos os alunos visto que os mesmos serão objeto da avaliação bimestral. Escrever programas em ANSI C para resolver os seguintes problemas: 1) Escreva um programa que calcule o máximo divisor comum (m.d.c) entre dois números usando o algoritmo de Euclides. Tal algoritmo consiste em efetuar divisões sucessivas entre dois números até obter-se o resto zero. O máximo divisor comum entre os dois números é o último resto diferente de zero obtido. Ex: m.d.c.(44,16)? Dividir o maior número pelo menor (44 / 16 = 2, resto 12) Dividir o divisor (16) pelo resto 12 (16 / 12 = 1, resto 4) Repetir a operação (12 / 4 = 3, resto 0) Visto que a divisão foi exata, o m.d.c (44,16) = 4. 2) Em uma determinada firma trabalha-se em turnos. Deseja-se determinar a quantidade de minutos trabalhada por um funcionário em um turno. Para isso, escrever um programa que leia um intervalo de horas (hora e minuto inicial e hora e minuto final), calculando o número de minutos neste intervalo. Considere que a hora é dada no formato 0-24h e que o intervalo pode ultrapassar o limite do dia (quando a hora final for menor do que a hora inicial). 3) Escreva um programa que calcule o mínimo múltiplo comum (m.m.c.) de dois números inteiros fornecidos pelo usuário. Utilize o método da decomposição simultânea, que consiste em decompor ambos os números ao mesmo tempo, como mostra a tabela abaixo, para os números 15 e 24. O produto dos fatores obtidos é o m.m.c. deste números. 15 15 15 15 24 12 6 3 2 2 2 3 Prof. Alessandro Zimmer 1 Prof. Alessandro Zimmer Universidade Federal do Paraná Engenharia Elétrica Técnicas de Programação I 5 1 1 1 5 m.m.c (15,24)= 2 x 2 x 2 x 3 x 5 = 120 Legenda: Fonte AZUL = nível fácil Fonte PRETA = nível médio Fonte VERMELHA = nível difícil ___ XXX ___ Prof. Alessandro Zimmer 2