quinta-feira, 24 de dezembro de 2009

Mini Teste # 3

Apresentamos de seguida um esboço da solução do Mini Teste #3.

Boas Festas!!

3.1

Parâmetros formais são os nomes dados aos argumentos das definições. Por exemplo, em:

1.def teste(x,y):
2.   return x + y

x e y são os parâmetros formais. Durante a chamada (uso) de uma definição esses nomes recebem a identidade dos objectos associados aos parâmetros reais.

3.2

O módulo random foi importado de dois modos distintos. No primeiro caso, o acesso ao conteúdo do módulo, por exemplo para usar um dos seus métodos, obriga a usar o nome do módulo como prefixo, como se pode ver na linha 2. No segundo caso, é feita apenas uma imprtação selectiva, sendo apenas importados alguns elementos do módulo, no exemplo da linha 4 apenas se importa o método choice. Nesta situação usamos directamente o nome do método sem o prefixar com o nome do módulo. Nas linhas 7 a 11 a diferença entre os dois métodos aparece na forma de erro pois tentámos usar um método, randint, que não tinha sido importado directamente, sem o prefixar com o nome do módulo.

3.3

O programa cria uma matriz identidade, isto é uma matriz em que todos os elementos são zero, menos os elementos na diagonal principal que são um.

3.4

1.def posicoes(texto):
2.    vogais ='aeiouAEIOU'
3.    dic_pos = {}
4.    for i,letra in enumerate(texto):
5.        if letra in vogais:
6.            dic_pos[letra] = dic_pos.get(letra,[]) + [i]
7.    return dic_pos

3.5

01.def cota(fich):
02.    f_in = open(fich,'r')
03.    # ler cabeçalho
04.    linha = f_in.readline()
05.    dados = []
06.    # percorre ficheiro linha a linha
07.    linha = f_in.readline()
08.    while linha != '': # EOF?
09.        linha = linha[:-1].split(',')
10.        dados.append(float(linha[4]) - float(linha[1]))
11.        linha = f_in.readline()
12.    dados.sort()
13.    print 'Melhor: ', dados[-1]
14.    print 'Pior: ', dados[0]
15.    f_in.close()

1 comentário:

  1. Este teste era bastante acessivel , creio ter acertado em tudo a 100% excepto a dos vogais que tenho uma solução que embora (penso eu) seja funcional poderia estar bastante melhor , pois testei manualmente para cada letra tanto em lower case como em upper case .

    aproveito para agradecer ao professor por este blogue que tem me sido de grande utilidade , e desejar boas festas e feliz ano novo .

    ResponderEliminar