Programação para Internet II
Prof. André Luiz Silva de Moraes
Material original de Prof. Marcelo da Silveira Siedler
[email protected]
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL
FACULDADE DE TECNOLOGIA SENAC PELOTAS
Objetivos
o Aplicação dos conceitos de programação em
sockets.
o Identificar e aplicar programação em sockets
no desenvolvimento de aplicações para a
Internet.
o Identificar os protocolos de aplicação em
relação à lógica de programação com sockets;
Metodologia
o Aulas expositivas
o Aulas práticas com softwares e soluções à
serem desenvolvidas no laboratório.
Linguagem de Programação
o Python
o Linguagem de programação simples, já adotada
no curso e bastante aceita para o objetivo da
unidade.
Avaliação
o Provas práticas
o Trabalhos individuais e em grupo
desenvolvidos e/ou apresentados em aula
o Pontualidade na entrega das atividades
o Avaliação Individual
o 75% de freqüência
Roteiro
o REVISÃO PYTHON
o USANDO LIST E DICS
o ESCREVENDO EM ARQUIVOS
o ORIENTAÇÃO A OBJETOS EM PYTHON –
o
o
o
o
INTRODUÇÃO
PROGRAMAÇÃO EM SOCKETS
- Aplicações Cliente-Servidor
- E-Mail
- Acesso SSH
SOCKETS
“Socket é a interface entre a camada de aplicação
e a de transporte dentro de uma máquina”
JAMES F KUROSE
o É a porta na qual os processos enviam e
recebem mensagens.
Revisão Python
Escrever na saída do programa
print comando
- exemplos:
print 'LPWEB II'
print 3 ** 50
Comentários
# comentário
Importar Bilioteca
import biblioteca
- exemplo:
import sys
Variáveis
• Python possui tipagem dinâmica e forte;
• Tipagem dinâmica significa que a variável
assume o tipo de acordo com o valor
atribuído;
• Tipagem forte significa que se uma
variável é do tipo inteiro, ela deve ser
tratada como um inteiro, ou convertida
para ser tratada de outra forma;
• Para mudar o tipo de uma variável,
devemos declará-la novamente;
Variáveis
o Tipagem Dinâmica
>>> a = 1
>>> type(a)
<type 'int'>
>>> a = 'flavio'
>>> type(a)
<type 'str'>
o Tipos Nativos
o float, int, long, boolean, strings, listas, tuplas e
dicionários.
Entrada de Dados – teclado
• Em Python, a leitura de dados do teclado é feita
através das funções raw_input e input.
nome = raw_input("Digite seu nome: ")
idade = input("Digite sua idade: ")
print("Digite seu sexo: ")
sexo = sys.stdin.readline()
A função input “adivinha” o tipo
digitado e retorna. CUIDADO!
A função raw_input sempre
retorna uma string.
Assim funciona, mas você não
precisa disso! ;)
Operadores
• Os operadores do Python:
Aritméticos
Comparação
Lógicos
+
==
and
-
!=
or
*
>
not
/
<
%
>=
<=
in
is
Instruções Condicionais
o if – elif – else
>>> if nota >= 7:
print 'Parabens.'
elif nota >= 5:
print 'Voce esta na recuperacao!‘
else:
print 'Voce foi reprovado.'
Exercício
o Criar um script que solicite que o usuário digite
sua idade, retornando se o mesmo é maior de
idade ou não.
Instruções de Repetição
o while
>>> numero = 20
>>> while numero > 10:
... numero= input("Digite um numero: ")
...
Digite um numero: 11
Digite um numero: 12
Digite um numero: 2923929
Digite um numero: 9
>>>
Exercício
o Criar um script que receba um número e
imprima todos os números pares entre 1 e o
número digitado.
Instruções de Repetição
o For
>>> for var in objeto_iteravel:
Exemplo:
>>> for numero in [1,2,3,4]:
... print numero,
...
1234
>>>
String – Lista de métodos
o __len__(): Retorna o tamanho da string;
o __getslice__(inicio, fim): Retorna uma
substring de inicio até fim.
o capitalize(): Retorna a mesma string com
a primeira letra em maiúsculo.
o upper(): Retorna a mesma string com
todas as letras em maiúsculo.
o lower(): Retorna a mesma string com
todas as letras em minúsculo.
String – Lista de métodos
o replace(antigo, novo): Retorna a mesma
string com o valor novo em todas as
ocorrências de antigo.
o split([separador]): Retorna uma lista de
strings. Caso o separador não seja
especificado, a lista será dividida por
espaços em branco.
Exercício
o Criar um script que atribua a uma variável a
string ‘Maça, Uva, Laranja, Alface’.
o Trocar Alface por Abacaxi
o Retornar uma lista de strings com as frutas
atribuídas.
Estrutura de Dados – List
o alunos = []
o alunos.append("Monica")
o alunos.append("Cascao")
o alunos.append("Cebolinha")
o alunos.reverse()
o for nome in alunos:
o
print nome
Estrutura de Dados – List
alunos = ["Monica", "Cascao",
"Cebolinha"]
alunos.reverse()
tamanho = alunos.__len__()
i = 0
while i < tamanho:
print(alunos[i])
i += 1
Estrutura de Dados - List
o Métodos
o append(elemento): adiciona elemento ao
fim da lista.
o count(elemento): retorna um inteiro
contendo a quantidade de vezes que
elemento aparece na lista.
o reverse(): inverte a ordem dos elementos
da lista.
o remove(elemento): remove da lista o
primeiro elemento encontrado.
Trabalhando com Arquivos
• Arquivos são objetos do tipo file;
• Para a abertura de um arquivo,
utilizamos a função open;
• A função open funciona como uma fábrica
de instâncias.
Trabalhando com Arquivos
arquivo = open("entrada.txt")
Abrindo o arquivo
para leitura
Imprimindo uma linha do arquivo a cada duas
linhas da tela.
for linha in arquivo:
print(linha)
Imprimindo uma palavra por
linha
for linha in arquivo:
linha = linha.replace("\n", "")
palavras = linha.split('\t')
for palavra in palavras:
print(palavra)
Download

Modelagem e Especificação de Software Profª. Cibele da Rosa Christ