AED1-lista3-2012-01

2
Algoritmos e Estruturas de Dados I Terceira Lista de Exercícios Em todas as questões abaixo é para fazer um algoritmo na linguagem do interpretador HALL. PARTE 4: Funções 1) Fazer uma função que receba dois valores inteiros e retorne o maior dos dois. Fazer um algoritmo que leia um número indeterminado de pares de valores, o último valor, que não deverá entrar no cálculo, deve ser ambos iguais a zero. Para cada par lido, imprimir o maior valor. 2) Criar uma função que converta graus para radianos e outra função que converta de radianos para graus. Fazer um algoritmo que leia (i) um valor e graus e mostre o respectivo valor em radianos; e (ii) um valor em radianos e mostre o respectivo valor em graus. 3) Fazer uma função que receba a base e o logartimando e retorne o respectivo valor do logaritmo. Faça um algoritmo que escreva o logarítmo para uma base e logaritmando fornecido pelo usuário. A fórmula do logaritmo é: log b x = log e x log e b 4) Fazer uma função que retorne o fatorial de um inteiro fornecido como parâmetro. Faça um algoritmo para testar a função escrevendo os valores de fatoriais para diversos parâmetros de entrada. 5) Fazer uma função que calcula o número de arranjos de n elementos p a p. Fazer também um algoritmo para testar a função para um valor de n e de p fornecidos pelo usuário. A fórmula do arranjo é a seguinte: A p n = n! ( np ) ! 6) Fazer uma função que calcula o número de combinações de n elementos p a p. Fazer também um algoritmo para testar a função para um valor de n e de p fornecidos pelo usuário. A fórmula da combinação é a seguinte: C p n = n! p! ( np ) ! 7) Um número é capicua quando ele não muda se lido da esquerda para a direita ou da direita para a esquerda. Por exemplo, o ano 2002 é um ano capicua. Elaborar uma função que verifique essa característica sendo passado um inteiro como parâmetro. A função deve retornar um 1 se for verdadeiro e 0 se for falso. 8) Uma sequência de Fibonacci é definida pelos dois primeiros valores, ou seja, 0 e 1, e em seguida o próximo valor é sempre a adição dos dois números anteriores. Por exemplo, a sequência 0, 1, 1, 2, 3, 5, 8, 13, … é uma sequência de Fibonacci. Escrever uma função que receba dois valores inteiros de uma sequência de Fibonacci e retorne o próximo valor. Escrever um algoritmo para testar esta função. 9) Fazer um algoritmo que escreva os N números da sequência de Fibonacci. 10) Fazer um algoritmo que escreva os números da sequência de Fibonacci menores ou iguais que um valor de N dado. 11) Fazer uma função que retorne o n-ésimo termo da sequência de Fibonacci. 12) Fazer uma função que retorne 1 ou zero conforme o inteiro passado como parâmetro seja

Transcript of AED1-lista3-2012-01

Algoritmos e Estruturas de Dados ITerceira Lista de Exercícios

Em todas as questões abaixo é para fazer um algoritmo na linguagem do interpretador HALL.

PARTE 4: Funções

1) Fazer uma função que receba dois valores inteiros e retorne o maior dos dois. Fazer um algoritmo que leia um número indeterminado de pares de valores, o último valor, que não deverá entrar no cálculo, deve ser ambos iguais a zero. Para cada par lido, imprimir o maior valor.

2) Criar uma função que converta graus para radianos e outra função que converta de radianos para graus. Fazer um algoritmo que leia (i) um valor e graus e mostre o respectivo valor em radianos; e (ii) um valor em radianos e mostre o respectivo valor em graus.

3) Fazer uma função que receba a base e o logartimando e retorne o respectivo valor do logaritmo. Faça um algoritmo que escreva o logarítmo para uma base e logaritmando fornecido pelo usuário. A fórmula do logaritmo é:

logb x=loge x

loge b

4) Fazer uma função que retorne o fatorial de um inteiro fornecido como parâmetro. Faça um algoritmo para testar a função escrevendo os valores de fatoriais para diversos parâmetros de entrada.

5) Fazer uma função que calcula o número de arranjos de n elementos p a p. Fazer também um algoritmo para testar a função para um valor de n e de p fornecidos pelo usuário. A fórmula do arranjo é a seguinte:

A pn=

n!(n−p) !

6) Fazer uma função que calcula o número de combinações de n elementos p a p. Fazer também um algoritmo para testar a função para um valor de n e de p fornecidos pelo usuário. A fórmula da combinação é a seguinte:

Cpn=

n!p !(n−p)!

7) Um número é capicua quando ele não muda se lido da esquerda para a direita ou da direita para a esquerda. Por exemplo, o ano 2002 é um ano capicua. Elaborar uma função que verifique essa característica sendo passado um inteiro como parâmetro. A função deve retornar um 1 se for verdadeiro e 0 se for falso.

8) Uma sequência de Fibonacci é definida pelos dois primeiros valores, ou seja, 0 e 1, e em seguida o próximo valor é sempre a adição dos dois números anteriores. Por exemplo, a sequência 0, 1, 1, 2, 3, 5, 8, 13, … é uma sequência de Fibonacci. Escrever uma função que receba dois valores inteiros de uma sequência de Fibonacci e retorne o próximo valor. Escrever um algoritmo para testar esta função.

9) Fazer um algoritmo que escreva os N números da sequência de Fibonacci.10) Fazer um algoritmo que escreva os números da sequência de Fibonacci menores ou iguais

que um valor de N dado.11) Fazer uma função que retorne o n-ésimo termo da sequência de Fibonacci.12) Fazer uma função que retorne 1 ou zero conforme o inteiro passado como parâmetro seja

primo ou não. Fazer um algoritmo que teste a função para diversos valores.13) Fazer uma função que retorne 1 ou zero conforme o caractere passado como parâmetro seja

uma vogal ou não. Fazer um algoritmo que teste a função para diversos valores.14) Fazer uma função que converta graus Celsius em Fahreinheit. Fazer um algoritmo que teste

a função para diversos valores.15) Fazer uma função que converta graus Fahreinheit em Celsius. Fazer um algoritmo que teste

a função para diversos valores.16) Fazer uma função que receba dois inteiros e retorne a soma. Fazer um algoritmo que teste a

função para diversos valores.17) Fazer uma função que receba dois inteiros e retorne a subtração. Fazer um algoritmo que

teste a função para diversos valores.18) Fazer uma função que receba dois inteiros e retorne a multiplicação. Fazer um algoritmo que

teste a função para diversos valores.19) Fazer uma função que receba dois inteiros e retorne a divisão. Fazer um algoritmo que teste

a função para diversos valores.20) Fazer uma função que receba dois reais e retorne a soma. Fazer um algoritmo que teste a

função para diversos valores.21) Fazer uma função que receba dois reais e retorne a subtração. Fazer um algoritmo que teste

a função para diversos valores.22) Fazer uma função que receba dois reais e retorne a multiplicação. Fazer um algoritmo que

teste a função para diversos valores.23) Fazer uma função que receba dois reais e retorne a divisão. Fazer um algoritmo que teste a

função para diversos valores.24) Escreva uma função que calcule a distância entre dois pontos (x1, y1) e (x2, y2). Fazer um

algoritmo que teste a função para diversos valores.25) Faça uma função que informe a quantidade de dígitos de um determinado número inteiro

informado. Fazer um algoritmo que teste a função para diversos valores.26) Fazer uma função que simule uma jogada de um dado, ou seja, sempre que a função for

invocada deverá retornar aleatoriamente um valor entre 1 e 6. Fazer um algoritmo que teste a função diversas vezes.

27) Construa uma função que receba uma string como parâmetro e devolva outra string com os carateres embaralhados. Por exemplo: se função receber a palavra python, pode retornar npthyo, ophtyn ou qualquer outra combinação possível, de forma aleatória. Fazer um algoritmo que teste a função para diversos valores de entrada.

28) Construa uma função que desenhe um retângulo usando os caracteres ‘+’ , ‘−’ e ‘| ‘. Esta função deve receber dois parâmetros, linhas e colunas, sendo que o valor mínimo é igual a 1 e o valor máximo é 20. Fazer um algoritmo que teste a função para diversos valores de entrada.

29) Construa uma função encaixa que dados dois inteiros positivos a e b verifica se b corresponde aos últimos dígitos de a. Por exemplo: a = 567890 e b = 890 (encaixa); a = 2457 e b = 245 (não encaixa); a = 1243 e b = 1243 (encaixa); a = 457 e b = 2457 (não encaixa). Fazer um algoritmo que teste a função para diversos valores de entrada.

30) Criar uma função que recebe a altura (alt) e o sexo de uma pessoa e retorna o seu peso ideal. Para homens, calcular o peso ideal usando a fórmula peso ideal = 72.7 x alt - 58 e, para mulheres, peso ideal = 62.1 x alt - 44.7.