LISTA DE EXERCÍCIOS – ALGORITMOS – FUNÇÕES 1 - Numa disciplina são dadas duas provas e dois trabalhos, mas a média é calculada considerando-se apenas a maior nota de prova e a maior nota de trabalho. Dadas as quatro notas de um aluno, informe a sua média. Crie e use as sub-rotinas, que determina o maior valor entre dois números e, uma outra outra que cálcula a média aritmética de dois números, para resolver este problema. 2 – Crie uma sub-rotina que receba um número natural n como entrada e exiba a contagem regressiva de n até 0. 3 – Crie uma sub-rotina que receba um número inteiro como entrada e exiba o dia da semana correspondente por extenso (1- domingo, 2- segunda,....). 4 - Crie uma sub-rotina que receba um número natural como entrada e determine se ele é par ou não. 5 - Crie uma sub-rotina que calcule a média ponderada entre duas notas. Essa função deve receber quatro dados de entrada, sendo as notas e seus respectivos pesos. Os pesos devem ser valores entre 0 e 1, co soma igual a 1. 6 – O fatorial de um número n é definido pelo produto 1 x 2 x 3 x 4x … x n. Crie uma sub-rotina que receba um número natural e determine o seu fatorial. 7 – Faça uma sub-rotina que receba como parâmetro um inteiro no intervalo de 1 a 9 e mostre a seguinte tabela de multiplicação (no exemplo, n=9): 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 8 - Faça uma sub-rotina que receba três notas de um aluno como parâmetros e uma letra. Se a letra for “A” a sub-rotina calcula a média aritmética das notas do aluno, se for “P” a sub-rotina calcula a média ponderada com pesos 5, 3, 2. A média calculada deve ser devolvida ao programa principal para, então, ser mostrada. 9 – Faça uma subr-rotina que receba, por parâmetro, a hora de início e a hora de término de um jogo, ambas subdivididas em dois valores distintos: horas e minutos. A sub-rotina dedeve retornar a duração expressa em minutos, considerando que o tempo máximo de duração é um jogo de 24 horas e que o jogo pode começar em um dia e terminar no outro. 10 – Faça uma sub-rotina que leia cinco valores inteiros e retorne o maior e o menor deles. 11 – Faça uma sub-rotina que receba por parâmetro um valor inteiro e positivo N e retorne o valor de S. S = 1 + 1/1! + 1/2! + 1/3! + 1/N! 12 – Foi realizada uma pesquisa de algumas características físicas de cinco habitantes de uma certa região. De cada habitante foram coletados os seguintes dados: sexo, cor dos olhos (A- Azulis ou C – Castanhos), cor dos cabelos (L – Louros, P – pretos ou C - Castanhos) e idade. a) Faça uma sub-rotina que leia esses dados em um vetor. Determine, por meio de outra sub-rotina, a média de idade das pessoas com olhos castanhos e cabelos pretos. Mostre esse resultados no programa principal. b) Faça uma sub-rotina que determine e devolva ao programa principal a maior idade entre os habitantes. c) Faça uma sub-rotina que determine e devolva ao programa principal a quantidade de indivíduos do sexo feminino cuja idade está entre 18 e 35 (inclusive) e que tenham olhos azuis e cabelos louros. 13 – Faça uma sub-rotina que retorne ao programa principal um vetor com os três primeiros números perfeitos. Sabe-se que um número é perfeito quando é igual à soma de seus divisores (exceto ele mesmo). Exemplo: os divisores de 6 são 1, 2 e 3 1+2+3=6, logo, 6 é um número perfeito. 14 – Faça uma sub-rotina que receba um vetor A de dez elementos inteiros, por parâmetro. Ao final dessa sub-rotina, o vetor B deve conter o fatorial de cada elemento de A. O vetor B deve ser mostrado no programa principal. A 2 1 0 3 4 ... B 2 1 1 6 24 … 13 – Faça uma sub-rotina que receba, por parâmetro, um vetor A com cinco números reais e retorne esses números ordenados em ordem crescente. 14 – Faça uma sub-rotina que receba, por parâmetro, uma matriz (5,5) e retorne a soma dos seus elementos. 15 - Faça uma sub-rotina que receba, por parâmetro, uma matriz (6,6) e retorne o menor elemento da sua diagonal secundária. 16 - Faça uma sub-rotina que receba, por parâmetro, uma matriz (6,6) e multiplique cada linha pelo elemento da diagonal principal daquela linha. A função deve retornar a matriz alterada para ser mostrada no programa principal. 17 - Faça uma sub-rotina que receba, por parâmetro, uma matriz (12,12) e retorne a média aritmética dos elementos abaixo da diagonal principal. 18 – Fazer uma sub-rotina que transforme horas, minutos e segundos em segundos. Ex: 2h 40min 10s → 9.610s . Fazer uma subrotina que transforme segundos em horas, minutos e segundos. Ex: 11.030 → 3h 3min 50s. Fazer um algoritmo que: a) Leia um conjunto de linhas contendo, cada uma, o número de um empregado, a hora de início (horas, minutos e segundos) e a hora de término (horas, minutos e segundos) de uma determinada tarefa. A última linha (FLAG) conterá o número do empregado negativo; b) Calcule para cada empregado, a duração da tarefa que ele executou, num mesmo dia, utilizando as duas sub-rotinas anteriormente definidas; c) Escreva, para cada empregado, o seu número e a duração de sua tarefa em horas, minutos e segundos.