CADERNO DE EXERCÍCIOS ALGORITMOS J. EXERCÍCIOS SOBRE MODULARIZAÇÃO 177. Faça uma função que recebe um número inteiro por parâmetro e retorna verdadeiro se ele for par e falso se for ímpar. 178. Escreva um programa que leia o raio de um círculo e faça duas funções: uma função chamada area que calcula e retorna a área do círculo e outra função chamada perimetro que calcula e retorna o perímetro do círculo. Área = PI * r2; Perímetro = PI * 2 * r; 179. Escreva um programa para ler uma temperatura em graus Fahrenheit. Faça uma função chamada celsius para calcular e retornar o valor correspondente em graus Celsius. Fórmula: C = ((F-32)/9)*5 180. Escreva um programa para ler as notas das duas avaliações de um aluno no semestre. Faça um procedimento que receba as duas notas por parâmetro e calcule e escreva a média semestral e a mensagem “PARABÉNS! Você foi aprovado!” somente se o aluno foi aprovado (considere 6.0 a média mínima para aprovação). 181. Faça um programa que leia a altura e o sexo (codificado da seguinte forma: 1:feminino 2:masculino) de uma pessoa. Depois faça uma função chamada pesoideal que receba a altura e o sexo via parâmetro e que calcule e retorne seu peso ideal, utilizando as seguintes fórmulas: - para homens : (72.7 * h) – 58 - para mulheres : (62.1 * h) – 44.7 Observação: Altura = h (na fórmula acima). 182. Escreva um programa para ler o número de lados de um polígono regular e a medida do lado (em cm). Faça um procedimento que receba como parâmetro o número de lados e a medida do lado deste polígono e calcule e imprima o seguinte: - Se o número de lados for igual a 3, escrever TRIÂNGULO e o valor do seu perímetro. - Se o número de lados for igual a 4, escrever QUADRADO e o valor da sua área. - Se o número de lados for igual a 5, escrever PENTÁGONO. Observação: Considere que o usuário só informará os valores 3, 4 ou 5. CADERNO DE EXERCÍCIOS ALGORITMOS 183. Faça um programa para calcular o Fatorial de um número. Para o cálculo do fatorial, sabemos que N! depende de (N-1)!; este por sua vez depende de (N-2)!; e, assim por diante, até que N seja 1, quando então tem-se que fatorial de 1 é igual a 1 mesmo. Utilize uma função que recebe como parâmetro de entrada o número a ser calculado o fatorial, do tipo inteiro, e retorna o fatorial deste número, também do tipo inteiro. 184. Escreva uma função que lê um caractere digitado pelo usuário e retorna este caractere somente se ele for igual a 'S' ou 'N'. Se o caractere não for nem 'S' nem 'N', a função imprime a mensagem 'Caractere inválido. Digite novamente'. Use esta função em um programa que fica lendo do usuário um número qualquer e imprime este número ao cubo na tela. O programa deve ficar lendo os números até o usuário responder 'N' à pergunta se ele deseja continuar ou não. 185. Escreva uma função que recebe 2 números inteiros n1 e n2 como entrada e retorna a soma de todos os números inteiros contidos no intervalo [n1,n2]. Use esta função em um programa que lê n1 e n2 do usuário e imprime a soma. 186. Faça um programa de calculadora simples com as seguintes operações possíveis: adição, subtração, multiplicação e divisão. O programa inicia apresentando ao usuário um menu de opções como mostrado abaixo: ********************************************************************** * Calculadora. Opções possíveis: * 1. Adição * 2. Subtração * 3. Multiplicação * 4. Divisão * 5. Sair do programa ********************************************************************* Entre com sua opcao: Crie uma função que apresenta o menu inicial acima e retorna a opção do usuário para o programa principal. Esta opção é então analisada e o programa principal chama as funções de adição, subtração, multiplicação e divisão conforme a opção do usuário. Se a opção for inválida, informe ao usuário e peça a ele para entrar com uma opção válida. Após a execução da operação o programa volta a apresentar o menu inicial até que o usuário encerre o programa com a opção 5. 187. Escreva um programa que lê um valor inteiro (maior do que 1 e menor ou igual a 10) e exibe a tabuada (até 10) de multiplicação do número lido. Você deverá escrever as seguintes funções e procedimentos: - Function LeNumero(n1,n2:integer):integer; CADERNO DE EXERCÍCIOS ALGORITMOS Lê um número inteiro no intervalo especificado (n1, n2) e o retorna. Cada vez que for digitado um número inválido (fora do intervalo especificado) a função deve exibir a mensagem "Número inválido. Digite novamente!" - Procedure Tabuada( n:integer ); Recebe como parâmetro um número inteiro e exibe na tela a tabuada de multiplicação até 10 do número lido. Exemplo: número lido 5 5x1=5 5 x 2 = 10 .... 5 x 10 = 50 188. Escreva um programa composto de uma função Max e o programa principal como segue: a) A função Max recebe como parâmetros de entrada dois números inteiros e retorna o maior. Se forem iguais retorna qualquer um deles; b) O programa principal lê 4 séries de 4 números a,b,c e d. Para cada série lida imprime o maior dos quatro números usando a função Max. 189. Escreva um programa que leia uma cadeia de caracteres qualquer do usuário (tamanho máximo 60 caracteres) e imprima esta cadeia de caracteres centralizada no meio da tela (em modo texto a tela tem 80 colunas). Para a impressão da mensagem centralizada, escreva um procedimento que recebe como parâmetro a cadeia de caracteres e imprime esta cadeia de caracteres centralizada na tela. 190. Elaborar um algoritmo que imprima o fatorial dos números entre 0 e 10, conforme mostrado abaixo (apresentar uma solução utilizando funções SEM passagem de parâmetro). NÚMERO =============== 0 1 2 3 4 5 6 7 8 9 10 FATORIAL ================= 1 1 2 6 24 120 720 5040 40320 362880 3628800 191. Elaborar um algoritmo que imprima o fatorial dos números entre 0 e 10, conforme mostrado no exercício 190 (apresentar uma solução utilizando procedimento COM passagem de parâmetro). CADERNO DE EXERCÍCIOS ALGORITMOS 192. A Série de FIBONACCI é construída com base nas seguintes regras: F(n) = n F(n) = F(n-1) + F(n-2) para n=0 ou n=1 para n>1 Elabore um algoritmo para gerar os 12 primeiros termos da série de Fibonacci conforme mostrado abaixo: POSIÇÃO : TERMO : 1 1 2 1 3 4 5 6 7 8 9 10 11 12 2 3 5 8 13 21 34 55 89 144 Obs: Utilize o conceito de FUNÇÃO, utilizando um vetor para armazenar os valores da série. 193. Considere a seguinte situação: Dois vetores A = {7, 3, 9, 1, 5} e B = {6, 2, 10, 8, 4} Mostrar na tela os dois vetores sem passar pela função de classificação Utilizar uma função que classifique em ordem crescente os dois vetores A eB Construir um vetor C que ao final do processamento contenha os dados de A e B mergeados, também classificado, só que em ordem decrescente. Elabore um algoritmo que utilize funções para ler os dados, executar o processamento e mostrar na tela os dados referentes aos vetores A, B e C. 194. Elabore um algoritmo que leia os valores de duas matrizes A e B e execute a multiplicação de A por B resultando C. Utilize a lógica simplificada: Função CARGA_MATRIZES_A_E_B; Função MULTIPLICA com passagem das matrizes como parâmetros Função IMPRESSÃO (imprime matrizes A, B e C). Matriz A 1 0 0 1 Matriz B 2 0 1 1 -3 0 1 2 -3 0 1 5 4 -2 195. Elabore um algoritmo que realize os cálculos do algoritmo conhecido como MÓDULO 11, utilizado na determinação dos dígitos de verificação do CPF. Esquema – Exemplo : CPF 5 MULTIPLICADORES 1 DV1 0 2 6 3 8 4 1 5 2 6 4 7 3 8 3 9 SOMA = 1.5 + 2.0 + 3.6 + 4.8 + 5.1 + 6.2 + 7.4 + 8.3 + 9.3 = 5 0 6 8 1 2 4 3 3 9 8 7 6 5 4 3 2 1 151 CADERNO DE EXERCÍCIOS ALGORITMOS DV2 DV1 = RESTO DA DIVISÃO DE SOMA POR 11 = 151 MOD 11 = 8 SOMA = 1.3 + 2.3 + 3.4 + 4.2 + 5.1 + 6.8 + 7.6 + 8.0 + 9.5 = 169 DV2 = RESTO DA DIVISÃO DE SOMA POR 11 = 169 MOD 11 = 4 Assim o CPF será 506.812.433-84. Utilize a lógica simplificada: Função LER_CPF - armazene os dados em um vetor Função DV1 Função DV2 Função RESULTADO Obs: Montar um loop para que o programa possa, ao final da primeira execução, determinar o DV de outros CPF. 196. Faca um script que contenha uma função volume(raio) que receba como argumento o raio de uma esfera e retorne o seu volume. 197. Faca um script que contenha uma função volume(objeto,dim) que receba como argumentos o nome do objeto, que pode ser "cubo" ou "esfera" e a sua dimensão característica dim, que é a aresta ou o raio, dependendo do objeto, e devolva o seu volume. 198. Faca um script que contenha uma função iguais(a,b) que retorne true caso os argumentos a e b sejam iguais e false caso contrario.