Você está na página 1de 1

Universidade Federal Rural de Pernambuco

Bacharelado em Sistemas de Informação


Fundamentos de Problemas Computacionais I
Prof. Rodrigo Soares
3a VA

1) Os ingleses medem as coisas de formas muito estranhas. Além das medidas esquisitas (como pés
e onças), o sistema de medidas inglês costuma ter subdivisões em 2, em vez das subdivisões em 10
que utilizamos por aqui (que é bem melhor, convenhamos). Temos uma régua em branco que deve
ser marcada em polegadas e você fará um programa que fará estas marcações como mostrado na
figura abaixo. Você receberá o tamanho total em polegadas e o tamanho da marcação maior. Você
deverá marcar a metade da régua com o maior marcação. Cada metade, por sua vez, será marcada
nas suas metades com uma marcação menor. Por exemplo, se uma régua tem 32’’, e a marcação
inicial tem altura 3, então 16’’ vai ser marcado com altura 3; 8’’ e 24’’ serão marcados com altura 2;
4’’, 12’’, 20’’ e 28’’ serão marcados com traço de altura 1. Entrada: dois inteiros positivos N e H, onde
N é o tamanho da régua e H é a altura da marcação. A saída será a sequência de marcações na
régua, como mostrado abaixo

Entrada Saída
16 3 0
1
2 -
3
4 - -
5
6 -
7
8 - - -
9
10 -
11
12 - -
13
14 -
15
16

a) [2 pontos] Mostre o algoritmo recursivo que resolve este problema;


b) [2 pontos] Calcule a função que descreve o seu tempo computacional de pior caso. Mostre
todos os cálculos.
c) [1 ponto] Escreva uma versão iterativa da função acima.
2) [2 pontos] Um palíndromo é uma palavra que coincide com sua inversa. Por exemplo, "OSSO" e
“OVO” são palíndromos. Mostre uma função recursiva que verifica se uma string S é palíndromo.
3) [2 pontos] Resolva o problema “Robô colecionador” com python ou pseudocódigo.
4) [1 ponto] Resolva o problema “Escada perfeita”.

Você também pode gostar