Programação para a Internet II UC – Docente: André Luiz Silva de Moraes 4º sem – Redes de Computadores Roteiro 3: Revisão Python – Manipulação de Arquivos/Módulos Objetivos: • • • Gravar e recuperar informações de programas em arquivos de texto; Importar funções de arquivos externos; Criar funções com parâmetros e valores de retorno para uso em bibliotecas de funções e para uso em conjunto com funcionalidades de manipulação de arquivos; Ferramentas necessárias Python IDLE 2.7 Introdução Neste roteiro serão revisadas as funcionalidades para uso da linguagem Python na criação de funções e também para a criação de arquivos. Estas funcionalidades são importantes para que seja possível importar bibliotecas externas e desenvolvidas previamente contendo funcionalidades diversas para os aplicativos que serão desenvolvidos. Para utilizar arquivos em programas eles devem ser abertos pelo sistema. Arquivos podem ser abertos para gravação, leitura ou leitura+gravação, e estas formas devem ser detalhadas para poder interagir com sucesso na gravação e recuperação de dados em arquivos. Os principais comandos para trabalhar com arquivos estão disponíveis em http://187.7.106.14/andre/redes/prog-internet-II/2012-2/roteiros/roteiro3-arquivos-import/arquivos-material-aux-andremoraes.pdf, onde detalha informações sobre como trabalhar com arquivos. Tarefas 1. Crie um programa que receba o nome e a senha de um usuário. Em seguida faça com que estas das informações sejam gravadas em um arquivo texto com o nome de senhas.txt. 2. Crie o programa para que sejam repetidas continuamente ao usuário as opções e torne-as funcionais: a. Inserir novo usuário; b. Listar os usuários cadastrados; c. Sair do programa. 3. Elaborar um programa para que crie uma lista (array) de nomes de cidades inserido pelo usuário com 10 posições. Em seguida armazenar o conteúdo do vetor em um arquivo de texto com o nome de cidades.txt 4. Faça um programa que grave em um arquivo uma lista de números de 1 a 150 com o nome de numeros.txt. Em seguida, faça com que o programa leia este arquivo e extraia os números pares gravando-os em outro arquivo com o nome de pares.txt e os impares em um arquivo impares.txt 5. Faça um programa que receba o nome, o registro ponto de horas trabalhadas de um usuário e a data do registro. Em seguida faça com que o programa possa calcular o total de horas trabalhadas de um trabalhador informado pelo usuário. Os dados devem ser gravados em um arquivo registro_ponto.txt. 6. Alterar o programa 06 do roteiro2 para que contenha as seguintes opções e torne-as funcionais: a. Escolher um lanche b. Escolher uma bebida c. Encerrar o pedido e gerar a nota fiscal de compra. d. Sair do programa Detalhes: A nota deve ser gerada contendo todos os itens que foram comprados e o total da compra deve constar na nota. Sugestões de implementação: Gravar cada item comprado e o valor escolhido diretamente no arquivo. Para totalizar a compra fazer a leitura do arquivo e contabilizar o valor total. 7. Crie as seguintes funções no arquivo funcoes_diversas.py: maiúsculas() Que retorne o texto informado pelo usuário todo em letras maiúsculas hifeniza() que coloque um hífen em cada letra informada em uma palavra digitada pelo usuário sublinha() que retorne um texto informado pelo usuário sublinhado com hífens 6 Programação para a Internet II UC – Docente: André Luiz Silva de Moraes 4º sem – Redes de Computadores OBSERVAÇÕES: Todas as funções devem retornar o texto fornecido no argumento contendo a formatação aplicada. Em seguida crie outro programa de nome utiliza_funcoes.py e importe o módulo funcoes_diversas.py. Neste programa, tente utilizar as funções do arquivo utiliza_funcoes.py, para isto solicite ao usuário uma frase qualquer e imprima na tela o resultado de cada função contida no arquivo funcoes_diversas.py. Desafios: 8. Elaborar um programa para manutenção de suporte técnico, onde possam ser cadastrados equipamentos e realizar a manutenção dos mesmos. Os equipamentos cadastrados para consertos devem ser salvos em um arquivo “equipamentos.txt”. Cadastrar equipamento para conserto Retirar equipamento de conserto Listar os equipamentos em conserto Encerrar o programa Os dados dos equipamentos que serão gravados em arquivo devem estar dispostos no seguinte formato: Equipamento: roteador cisco 2100 Problema: porta db9 queimada Data de inclusão: 21/09/2010 9. Crie um novo módulo Python contendo todas as tarefas feitas neste roteiro. As tarefas serão funções nomeadas por você e ficarão em um arquivo mod-roteiro3.py. Crie outro arquivo de teste de nome teste-mod-roteiro3.py onde deve ser disponibilizado um menu ao usuário para escolher qual programa será executado. Referências: “Introdução à programação com Python: algoritmos e lógica de programação para iniciantes”, MENEZES, Nilo Ney Coutinho São Paulo Novatec 2010; “Aprendendo Python”, LUTZ, M.; ASCHER, D. 2.ed. Porto Alegre Bookman 2000. “Conceitos básicos da linguagem Python”, disponível em http://web2pybrasil.appspot.com/init/plugin_wiki/page/cursoweb2py-003; “Material auxiliar para funções e strings”, disponível em http://187.7.106.14/andre/redes/prog-internet-II/2012-2/livrosapostilas/roteiro2-material-auxiliar-funcoes-strings.pdf; “Material auxiliar para manipulação de arquivos”, disponível em http://187.7.106.14/andre/redes/prog-internet-II/20122/roteiros/roteiro3-arquivos-import/arquivos-material-aux-andre-moraes.pdf. 7