Algoritmos-v.1.9 - REVISADA - Lista 009

Propaganda
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.
Download