Desafio – Tipos de dados

Concluído

Para colocar em prática tudo o que você aprendeu neste módulo, temos alguns desafios de codificação para você. Esses desafios não são complicados, e daremos nossa solução para cada um deles. Tente resolvê-los primeiro e, depois, compare a sua solução com a nossa. Você sempre poderá voltar para examinar o conteúdo se não se lembrar de algo específico.

Escrever um programa para calcular a sequência de Fibonacci

Neste primeiro desafio, você escreverá um programa para calcular a sequência de Fibonacci com base em um número. Você vai criar uma função que retorne uma fatia com todos os números em uma sequência de Fibonacci. A sequência resulta da realização do cálculo com base em um número que é inserido pelo usuário. O número de entrada deve ser maior que dois. Vamos supor que os números inferiores a 2 resultarão em um erro e retornarão uma fatia nula.

Lembre-se de que a sequência de Fibonacci é uma lista de números em que cada número é a soma dos dois números de Fibonacci anteriores. Por exemplo, a sequência de números para 6 é 1,1,2,3,5,8, para 7 é 1,1,2,3,5,8,13, para 8 é 1,1,2,3,5,8,13,21 etc.

Criar um tradutor de algarismos romanos

Escreva um programa que traduza um algarismo romano como MCLX para 1,160. Use um mapa para carregar os algarismos romanos básicos que você usará para converter um caractere da cadeia de caracteres em um número. Por exemplo, M será uma chave no mapa e o valor dela será 1000. Use a seguinte lista de mapa de caracteres da cadeia de caracteres:

  • M => 1000
  • D => 500
  • C => 100
  • L => 50
  • X => 10
  • V => 5
  • I => 1

Caso a entrada de usuário venha com uma letra diferente da lista anterior, imprima um erro.

Lembre-se de que haverá alguns casos em que um número menor precede um número maior. Portanto, você não pode apenas somar os números. Por exemplo, o número MCM deve imprimir 1,900.