Aula Prática 2 - Variáveis e Estruturas de Controlo

O objetivo desta aula é experimentar a definição de funções envolvendo algoritmos simples, utilizando variáveis e estruturas de controlo. Após a realização da prática, deverá ter sido adquirida uma noção básica dos seguintes conceitos:

  • Variável dos tipos básicos int, float, bool
  • Instrução de atribuição: ... = ...
  • Estrutura de seleção: if
  • Estrutura de repetição: while
  • Bloco de instruções

Tal como na prática anterior, será necessário criar um projeto. Uma boa forma de organizar os exercícios das práticas é criar um projeto por cada aula prática.

Trabalho prévio

Desenvolva um módulo com funções que permitam:

1. Obter o máximo entre dois números.

Exemplo:

    maximum(7, 9) → 9 

2. Verificar se um número é múltiplo de um outro número, sem recurso ao operador de resto da divisão (%).

Exemplo:

    is_multiple(25, 5) → True
In [ ]:
 

Exercícios

Defina funções que permitam:

1. Obter o valor absoluto de um número.

Exemplos:

    absolute(-2) → 2 
    absolute(4) → 4 
In [ ]:
 

2. Obter o quociente da divisão inteira, sem recorrer ao operador de divisão inteira (//).

Exemplos:

    divide(31, 5) → 6
    divide(35, 7) → 5
In [ ]:
 

3. Obter uma potência de 2, i.e. 2n (sem usar o operador **), dado o expoente num argumento que se assume ser um número natural n (diferente de zero).

Exemplo:

    power_of_two(4) → 16
    power_of_two(8) → 256
In [ ]:
 

4. Obter o somatório dos números naturais até um dado n.

Exemplo:

    sum_of_naturals_up_to(5) → 15     (1 + 2 + 3 + 4 + 5)
In [ ]:
 

5. Obter o somatório dos números naturais pares compreendidos num dado intervalo fechado.

Exemplo:

    sum_of_even_numbers_between(3, 8) → 18     (4 + 6 + 8)
In [ ]:
 

6. Obter o primeiro algarismo da representação decimal de um número inteiro.

Exemplos:

    first_digit(2011) → 2
    first_digit(1998) → 1
In [ ]:
 

7. Obter o n-ésimo número da sequência de Fibonacci, considerando que o primeiro número da sequência tem número de ordem zero.

Recorde que os primeiros números da sequência de Fibonacci são 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Exemplo:

    fibonacci(7) → 13
In [ ]:
 

Exercícios extra

8. Defina uma função que recebe como argumento dois números naturais m e n e que calcula o máximo divisor comum desses dois números, usando o algoritmo de Euclides.

Exemplo:

    gcd(25, 30) → 5 
In [ ]: