• Nenhum resultado encontrado

Vocˆe pode colocar coment´arios no seu programa para documentar o que est´a fazendo. O com- pilador ignora completamente o que quer esteja dentro de um coment´ario.

Coment´arios em Python come¸cam com um #. Alguns exemplos:

# Este ´e um comentario sem graca # Este ´e

# um comentario # que usa

# diversas linhas #

Regras para coment´ario

´

E sempre uma boa id´eia colocar coment´arios em seu programa das coisas que n˜ao s˜ao claras. Isto vai ajudar quando mais tarde vocˆe olhar o programa que escreveu j´a h´a algum tempo ou vai ajudar a entender programas escritos por outra pessoa.

Um exemplo de coment´ario ´util:

# converte temperatura de farenheit para celsius celsius = (fahrenheit - 32) * 5.0 / 9.0

O coment´ario deve ser escrito em portuguˆes e n˜ao em Python . No exemplo abaixo # usando input(), obter valor de idade e multiplicar

# por 365 para obter dias #

idade = int( input() ) dias = idade * 365

o coment´ario ´e basicamente uma transcri¸c˜ao do c´odigo do programa. Em seu lugar, um coment´ario como

# obtem idade e transforma em numero de dias

seria mais informativo neste ponto. Ou seja, vocˆe deve comentar o c´odigo, e n˜ao codificar o coment´ario.

Vocˆe tamb´em deve evitar coment´arios in´uteis. Por exemplo: # Incrementa i

i = i + 1

Documenta¸c˜ao de fun¸c˜oes

Vocˆe deve documentar as fun¸c˜oes que escreve. Na documenta¸c˜ao vocˆe deve especificar as se- guintes informa¸c˜oes:

A¸c˜ao – o que a fun¸c˜ao faz

Entrada – descri¸c˜ao dos argumentos passados para a fun¸c˜ao

Sa´ıda – descri¸c˜ao do valor retornado pela fun¸c˜ao

Suposi¸c˜oes – o que vocˆe assume ser verdade para que a fun¸c˜ao funcione apropri- adamente

Algoritmo – como o problema ´e resolvido (m´etodo)

Estas informa¸c˜oes devem ser colocadas como coment´ario antes do cabe¸calho de defini¸c˜ao da fun¸c˜ao conforme o exemplo abaixo:

# funcao instrucoes()

# acao: mostra instrucoes do programa

# entrada: nenhuma

# saida: nenhuma

# suposicoes: nenhuma

# algoritmo: imprime as instrucoes #

def instrucoes() : # mostra instrucoes

print(’O processo de purifica¸c~ao do Uranio-235 ´e . . . ’; .

.

23.4 Exerc´ıcios de Fixa¸c˜ao

1. (calcMedia) Fa¸ca programa que obtenha do usu´ario um conjunto de valores reais e calcule a m´edia aritm´etica dos valores lidos. O usu´ario indica o final do conjunto de valores digitando um valor qualquer n˜ao num´erico. A valida¸c˜ao da entrada do usu´ario deve ser feita pela fun¸c˜ao ehNumerico(), que recebe como parˆametro um string e verifica se esta string representa um valor num´erico (inteiro ou real), retornando True se for o caso, ou False se n˜ao for o caso.

2. (dna) Calcular a porcentagem dos nucleot´ıdeos G e C em diversas cadeias de DNA fornecidas pelo usu´ario. O programa termina quando uma cadeia vazia ´e informada. O programa deve usar a fun¸c˜ao conta gc() que recebe como parˆametro uma sequˆencia de DNA e retorna a porcentagem de nucleot´ıdeos G e C nesta sequencia.

3. (pesoIdeal) Fa¸ca um programa que obt´em do usu´ario um conjunto de pares de valores (sexo, altura) representando o sexo (M ou F) e altura de pessoas. Para cada um, mostre o peso ideal da pessoa, que deve ser calculado pela fun¸c˜ao pesoIdeal(), a ser definida pelo programador. A fun¸c˜ao deve calcular e devolver o peso ideal de uma pessoa dados seu sexo e altura de acordo com as f´ormulas abaixo:

(72, 7 × altura) − 58 (para homens) (62, 1 × altura) − 44, 7 (para mulheres)

O programa termina quando for informado sexo inv´alido ou altura 0 (zero).

4. (bolsa) Deseja-se distribuir bolsas de estudo para alunos de um curso. O valor da bolsa depende do valor da nota que o aluno teve em uma certa disciplina, conforme tabela abaixo:

Nota em disciplina Bolsa (R$) 70 6 nota < 80 500,00 80 6 nota < 90 600,00

nota > 90 700,00

70 > nota 0,00 (sem bolsa)

Pede-se um programa que ao receber a nota de 3 alunos, escolha a maior nota e conforme o valor desta, imprima na tela o valor da bolsa correspondente. Defina e use a fun¸c˜ao maior() para encontrar o maior valor de trˆes n´umeros que s˜ao passados como parˆametros. Tamb´em deve ser definida e usada a fun¸c˜ao bolsa() para calcular e devolver o valor da bolsa para uma determinada nota que ´e passada como parˆametro.

23.5 Exerc´ıcios

1. (lancheria) O card´apio de uma lancheria ´e o seguinte:

Especifica¸c˜ao C´odigo Pre¸co

Cachorro quente 100 1,20

Bauru simples 101 1,30

Bauru com ovo 102 1,50

Hamb´urger 103 1,20

Cheeseburguer 104 1,30

Refrigerante 105 1,00

Escrever um programa que leia um conjunto de pares de valores que indicam o c´odigo de um item e a quantidade do item e calcule o valor TOTAL. O c´alculo do pre¸co de um item deve ser feito pela fun¸c˜ao calcLanche() que recebe como parˆametros o c´odigo de um lanche e sua quantidade e retorna o sub-total de acordo com a tabela acima. Se o c´odigo informado ´e inv´alido, a fun¸c˜ao deve imprimir uma mensagem de erro, informando o c´odigo incorreto.

O programa termina quando for informado o c´odigo de valor 0 (zero).

2. (palindromo) Fa¸ca programa que recebe v´arios conjuntos de 2 inteiros positivos quaisquer do usu´ario e indica se um ´e o contr´ario do outro, isto ´e, se o primeiro n´umero for re-escrito do ´ultimo d´ıgito para o primeiro d´a como resultado o segundo n´umero. O programa termina quando o primeiro n´umero de um conjunto for negativo. A verifica¸c˜ao da propriedade deve ser feita pela fun¸c˜ao ehPalindromo() que recebe 2 strings como parˆametros e retorna True se as 2 strings possuem a propriedade e False caso contr´ario.

3. (abrevia) Escreva programa que obtenha do usu´ario v´arios nomes. Para cada um deles, o programa deve imprimir na tela todas as partes do nome abreviadas, com excess˜ao do ´

ultimo sobrenome. Al´em disso, as primeiras letras de todas as partes devem estar em MAI ´USCULA. Caso o nome informado tiver apenas 1 parte, ele deve ser considerado inv´alido e a convers˜ao n˜ao deve acontecer. Quando o usu´ario digitar a palavra ’FIM’, o programa deve imprimir quantos nomes foram informados e quantos nomes n˜ao foram processados. A palavra ’FIM‘ n˜ao deve ser processada de forma alguma (convers˜ao e contagem).

Ex.: se entrada for ’Armando Luiz Nicolini Delgado’, a sa´ıda deve ser ’A.L.N. Delgado’ O programa deve usar a fun¸c˜ao abrevia(), que recebe uma string contendo um nome a ser abreviado e retorna o nome abreviado conforme indicado acima, ou retorna a palavra Invalido se o nome n˜ao puder ser abreviado.

4. (dna-2) Calcular a porcentagem de nucleot´ıdeos informados pelo usu´ario em diversas cadeias de DNA tamb´em fornecidas pelo usu´ario. O programa termina quando uma cadeia vazia ´

e informada. O programa deve usar a fun¸c˜ao conta nucl() que recebe como parˆametros uma sequˆencia de DNA e um conjunto de nucleot´ıdeos retorna a porcentagem de cada nucleot´ıdeo na sequencia.

T´opico 10

Arquivos

Aula 24

24.1 Introdu¸c˜ao

O armazenamento de dados em vari´aveis e outras estruturas de dados (listas, dicion´arios, etc) ´e tempor´ario. Arquivos s˜ao usados para armazenamento permanente de grandes quantidades de dados em dispositivos de armazenamento secund´ario, como discos.

`

As vezes n˜ao ´e suficiente para um programa usar somente a entrada e sa´ıda padr˜ao (teclado e tela do computador). H´a casos em que um programa deve acessar arquivos. Por exemplo, se n´os guardamos uma base de dados com endere¸cos de pessoas em um arquivo, e queremos escrever um programa que permita ao usu´ario interativamente buscar, imprimir e mudar dados nesta base, este programa deve ser capaz de ler dados do arquivo e tamb´em gravar dados no mesmo arquivo.

No restante desta se¸c˜ao discutiremos como arquivos de texto s˜ao manipulados em Python . Como ser´a visto, tudo ocorre de maneira an´aloga ao que acontece com entrada e sa´ıda padr˜ao (teclado e tela do computador).

Documentos relacionados