Lista de Exercícios 8

Propaganda
Universidade do Estado de Santa Catarina (UDESC)
Prof. Rui Tramontin
Disciplina: Algoritmos (AGT)
Curso: Ciência da Computação
Lista de Exercícios 8
Algoritmos em Pseudocódigo / Funções e Procedimentos
1) Faça um algoritmo que leia os lados de um triângulo e em seguida chame uma função que
retorna 0 se o triângulo é eqüilátero, 1 se é isósceles e 2 se for escaleno. De acordo com o
retorno, mostrar esta informação.
2) Escreva um algoritmo que lê um número não determinado de valores m, todos inteiros e
positivos, um valor de cada vez, e, se m<10 utiliza uma função que calcula o fatorial de
m, e caso contrário, utiliza uma função para obter o número de divisores de m. O
algoritmo deve imprimir cada m lido e seu fatorial ou seu número de divisores com uma
mensagem adequada. Neste caso, temos um programa principal e dois subalgoritmos.
3) Escreva um algoritmo que gera e escreve os 10 primeiros números perfeitos. Um número
é dito perfeito se ele é igual à metade da soma de todos os seus divisores. Ex: 6 é um
número perfeito pois seus divisores são: 1+2+3+6 = 12. Escreva e use uma função que,
dado um número, retorne Verdadeiro ou Falso caso o número seja ou não perfeito.
4) Faça um algoritmo que gera uma tabela com os números de 1 a 10 e mostra o seu
quadrado, cubo, fatorial, número de divisores e uma mensagem dizendo se o número é
primo ou não. Escreva uma função para cada um desses cálculos. Exemplo:
Número
1
2
3
4
Quadrado
1
4
9
16
Cubo
1
8
27
64
Fatorial
1
2
6
24
Divisores
1
2
2
3
Primo
Não
Sim
Sim
Não
5) Faça um algoritmo que implemente uma calculadora simples (4 operações aritméticas
básicas: adição, subtração, multiplicação e divisão). Para cada operação elabore uma
função correspondente. As 4 funções devem ter dois parâmetros de tipo de dados inteiro.
Além disso, as funções devem retornar o valor resultante da aplicação da operação. O tipo
de dado de retorno de cada função depende do resultado de cada operação. O programa
deve solicitar os operandos e os operadores e calcular/mostrar o resultado vindo da
função desejada. Apresentar um menu para o usuário informar qual tipo de operação
deseja. O menu e a entrada de dados devem ser implementados em procedimentos
separados.
Observação: Tratar a operação de divisão por zero.
6) Implemente novamente o algoritmo para ordenação de um vetor (usando o método da
bolha ou da seleção), mas agora fazendo o uso de um procedimento que serve para trocar
os valores de duas variáveis (passadas por referência).
7) Escreva um algoritmo que calcula o N-ésimo termo da série de Fibonacci, onde N é
informado pelo usuário, e o cálculo é feito por uma função recursiva.
8) Escrever um algoritmo, utilizando um subalgoritmo recursivo, para calcular a soma dos
'n' primeiros inteiros positivos, sendo 'n' um valor fornecido pelo usuário.
9) Escrever um algoritmo, utilizando um subalgoritmo recursivo, que eleve um número
inteiro qualquer a uma potência. Devem ser fornecidos o número e a potência.
10) O fatorial primo ou primorial de um número primo positivo é o produto de todos os
primos positivos menores do que ou iguais a ele: Por exemplo, o fatorial primo de 7 é 2 ×
3 × 5 × 7 = 210. Escreva um algoritmo que calcule o fatorial primo de um número
informado pelo usuário. O algoritmo deve verificar se a entrada do usuário é um número
primo positivo. Observação: devem ser feitas duas funções, uma para calcular o fatorial
primo, e outra para verificar se um dado número é ou não primo.
11) Implemente uma nova versão da função para o cálculo do primorial, agora de maneira
recursiva.
Download