Desafio – Tipos de dados
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
=> 1000D
=> 500C
=> 100L
=> 50X
=> 10V
=> 5I
=> 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
.