Professional Documents
Culture Documents
COORDENAÇÃO DE INFORMÁTICA
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
CALIANE ZSCHORNACK
RELATÓRIO DE ESTÁGIO
PATO BRANCO
2009
Conteúdo licenciado pela Creative Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença
2.5 Brasil Commons. Essa licença permite copiar, distribuir, exibir e executar a obra.
Esta obra não pode ser utilizada com finalidades comerciais.
As novas obras devem conter menção aos autores nos créditos e as obras derivadas precisam ser
licenciadas sob os mesmos termos dessa licença.
Os direitos dos autores citados neste trabalho devem ser mantidos de acordo com o licenciamento de suas
obras.
CALIANE ZSCHORNACK
PATO BRANCO-PR
2009
Para minha família, minha eterna gratidão.
AGRADECIMENTOS
Richard Stallman
RESUMO
1 INTRODUÇÃO
1.2 Objetivos
1.3 Justificativa
A idéia deste trabalho surgiu após o conhecimento de que Python tem sido
bastante utilizada por grandes empresas como, por exemplo, Google, NASA (National
12
2 LINGUAGENS DE PROGRAMAÇÃO
mesmo porque suas aplicações são distintas: um joguinho para celular, um sistema de
apoio à tomada de decisões, um sistema que auxilia diagnosticar um enfarto eminente,
uma página Internet com notícias, um controle eletrônico de armazenamento de matéria
prima em uma usina atômica. Esses são exemplos de sistemas bem distintos. É
compreensível que as linguagens para implementá-los possuam características distintas.
Essas características auxiliam a classificar ou categorizar as linguagens. Os
recursos e as funcionalidades das linguagens auxiliam os desenvolvedores na produção
de sistemas de software com maior facilidade e agilidade. É importante que todos os
profissionais de tecnologias de informação e comunicação tenham conhecimento sobre os
conceitos de linguagens de programação. O conhecimento que falta a esses profissionais
é justamente o que faria com que as suas escolhas fossem mais conscientes sobre quais
linguagens utilizar (SEBESTA, 2007).
Uma linguagem de programação mais adequada ao problema a ser resolvido
auxilia os programadores a definirem software mais simples e claros, uma vez que
programas foram e são feitos para ser entendidos, aperfeiçoados e mantidos durante a
sua existência. Há ainda a interação entre partes de um mesmo programa, que deve ser
planejada cuidadosamente, para que ele não se torne muito complexo. No caso de
programação em larga escala, a linguagem é uma das partes mais importantes para
garantir que os programadores consigam gerenciar a interação das partes. E antes
mesmo de escolher uma linguagem é importante que se faça uma análise sobre qual é
melhor para implementação, testes e manutenção.
O objetivo de uma linguagem de programação é expressar algoritmos de maneira
que eles possam ser executados pelo computador, sob a forma de programas, também
denominados sistemas, aplicativos ou genericamente software.
Um algoritmo é um método para solucionar um problema. Um algoritmo manipula
dados. Um programa é composto por algoritmos e dados representados de maneira a
serem entendidos pelo computador. De maneira geral, programas processam dados de
entrada e produzem dados de saída.
A transformação das instruções definidas em uma linguagem de programação para
uma linguagem de máquina, pode ocorrer por meio de dois processos básicos:
compilação ou interpretação. Esses processos não são mutuamente exclusivos, isto no
sentido que linguagens podem tratados de maneira hibrida ou utilizar as duas maneiras
distintamente.
16
simulações com essas fórmulas) para definir tintas mais adequadas para determinados
usos e que faça uso de robôs para manipular substâncias tóxicas (linguagem para
inteligência artificial), utilizando uma base de dados (linguagem de consulta). Para a
implementação, esse sistema foi modelado utilizando uma linguagem de modelagem.
Apesar da quantidade de linguagens de programação e das distintas classificações
em que elas podem enquadrar-se, de maneira geral elas possuem itens ou elementos
básicos ou fundamentais que são mais ou menos comuns.
2.3.2.1 Variáveis
falso) e algum tipo de referência (como ponteiro ou handles). Ressalta-se que nem todas
as linguagens possuem todos esses ou somente esses tipos primitivos.
Um tipo composto pode ser construído em uma linguagem de programação a partir
de tipos primitivos e de outros tipos compostos, em um processo chamado composição.
Vetores e matrizes são exemplos comuns de tipos compostos. Embora não
obrigatoriamente o seja para todas as linguagens de programação.
As variáveis, como o próprio nome sugere, podem sofrer alterações durante o
percurso do desenvolvimento do programa e, podem ter seu valor alterado inclusive
durante a execução do mesmo.
2.3.2.2 Constantes
Constantes são criadas para armazenar um valor único durante toda a execução
de um programa. Esse valor é definido em tempo de programação, ou seja, quando o
programa é elaborado. O usuário do programa não pode alterar esse valor,
independentemente do número de vezes que o programa é executado.
Outra denominação para constante se refere a quando é utilizado um valor no lugar
de uma variável. Em vez deste valor estar armazenado em uma variável, ele é colocado
diretamente. Por exemplo: Soma (variável) = 3 + 2. 3 e 2 são constantes que poderiam
estar armazenadas nas variáveis Num1 e Num2, respectivamente e assim ficaria Soma =
Num1 + Num2.
Tipo Caractere - são valores de apenas um dígito, seja uma letra, um número ou
um caractere especial (*, _, &). Comumente um dado do tipo caractere é representado
entre aspas simples ou apóstrofos. São bastante utilizados quando é necessário informar
o sexo de uma pessoa como 'F' ou 'M', por exemplo. Exemplos:
'1'; 'a'; 'B'; '*'
Tipo Lógico - representam apenas dois valores: verdadeiro e falso. São usados,
por exemplo, para representar o resultado lógico de uma comparação. Exemplos:
2>4 (verdadeiro)
'A Terra é plana.' (falso).
2.3.5 Operadores
Operação Símbolo
Adição +
Subtração -
Multiplicação *
Divisão / ou DIV
Exponenciação ^ ou **
Radiciação √
Resto da divisão % ou REST
Descrição Símbolo
Igual a =
Diferente < > ou != ou #
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Expressão Resultado
A=B Falso
A <> B Verdadeiro
A>B Verdadeiro
A<B Falso
A >= B Verdadeiro
A <= B Falso
Operador Significado
E Uma expressão E (AND) é verdadeira se todas as condições
(AND) forem verdadeiras.
OU Uma expressão OU (OR) é verdadeira se pelo menos uma
(OR) condição for verdadeira
OU Exclusivo Uma expressão OU Exclusivo (XOR) é verdadeira quando
(XOR) apenas uma das condições for verdadeira.
NÃO Uma expressão NÃO (NOT) inverte o valor da expressão ou
(NOT) condição, se verdadeira inverte para falsa e vice-versa.
Exemplo:
Var1 ← 3
Condição1 Condição2 Condição1 E Condição2 Condição1 OU Condição2 NÃO-Condição1
Var1 > 2 Var1 > 1 V V F
V V
Var1 > 2 Var1 = 2 F V F
V F
Var1 > 5 Var1 > 2 F V V
F V
Var1 > 5 Var1 < 2 F F V
F F
Var2 = 5 OU Var3 = 5
F OU V
V
32
Por meio desse exemplo é possível verificar que o uso de parênteses pode definir
um resultado diferente para uma expressão lógica.
2.3.6.1 Seqüência
Programa Área_Circulo
Inicio
Raio: real
Pi: real
Area: real
Pi ←3.14159
Leia Raio
Area ← Pi * Raio * Raio
Escreva Area
Fim
início
Programa Média
Ler Nota1
Ler Nota2
Inicio
Nota1: real
Nota2: real
Media <-- (Nota1 + Nota2)/2
Media: real
Leia Nota1
Escrever Media
Leia Nota2
Media = (Nota1 + Nota2)/2
Escreva Media
fim
Fim
2.3.6.2 Decisão
Onde:
• condição determina um teste lógico.
• conjunto de instruções define as instruções que serão realizadas se a
condição for estabelecida.
A Figura 4 apresenta o fluxograma da estrutura de decisão se ... então.
Sim
condição
Não
instruções
36
Programa Aprovação
Inicio
Nota: Inteiro
Leia Nota
se Nota >=7 então
Escreva Aprovado
fim se
Fim
fim se
Onde:
• condição determina um teste lógico.
• conjunto de instruções 1 define as instruções que serão realizadas se a
condição for estabelecida, for verdadeira.
• conjunto de instruções 2 define as instruções que serão realizadas se a
condição não for estabelecida, for falsa.
A Figura 6 apresenta o fluxograma da estrutura de decisão se ... então ... senão.
Não Sim
condição
instruções
instruções
Programa Aprovação_Reprovação
Inicio
Nota: Inteiro
Leia Nota
se Nota >=7 então
Escreva Aprovado
senão
Escreva Reprovado
fim se
Fim
Programa Recuperação
Inicio
Nota: Inteiro
Leia Nota
se Nota >=7 então
Escreva Aprovado
senão
Leia NotaRecuperacao
se NotaRecuperacao > 8
Escreva Aprovado
senão
Escreva Reprovado
fim se
Fim
A estrutura de decisão escolha ... caso, também definida como caso selecione, é
utilizada para testar uma única expressão ou o valor de uma variável. O resultado contido
na condição é comparado com os valores fornecidos em cada cláusula “caso”.
A estrutura de decisão escolha ... caso é equivalente ao switch case que muitas
linguagens de programação possuem.
Forma geral de uma estrutura de decisão escolha ... caso:
escolha (expressão)
caso resposta1:
<conjunto de instruções 1>;
caso resposta2:
<conjunto de instruções 2>;
caso respostan:
<conjunto de instruções n>;
senão
<conjunto de instruções z>;
fim escolha
Onde:
41
• expressão é uma variável que será avaliada. De acordo com o valor contido
nessa variável será escolhido um dos casos.
• caso contém os possíveis conteúdos para a variável expressão. Esse
conteúdo determinada qual conjunto de instruções será realizado.
• senão indica o conjunto de instruções padrão (default) que é executado se o
conteúdo da variável em expressão não corresponder a nenhum outro caso.
• Os casos são avaliados na ordem seqüencial. Se nenhuma das respostas
corresponderem ao resultado da expressão, o conjunto de instruções
contido em senão será realizado. A existência de uma condição senão é
opcional na estrutura de decisão escolha ... caso.
A Figura 10 apresenta o fluxograma da estrutura de decisão escolha ... caso.
expressão
Programa NumeroExtenso
Inicio
Num: Inteiro
Leia Num
escolha
caso Num seja
0: Escreva zero
caso Num seja
1: Escreva um
senão
Escreva Outro número
fim caso
Fim
2.3.6.2 Repetição
Onde:
• condição determina um teste lógico.
• conjunto de instruções define as instruções que serão realizadas enquanto
• condição for estabelecida.
Dependendo do resultado do teste da condição, o conjunto de instruções poderá
não ser executado nenhuma vez (se for falsa no primeiro teste) ou ser executado várias
vezes (enquanto a condição for verdadeira).
Na estrutura enquanto ... faça, o conjunto de instruções será executado enquanto
a condição for verdadeira. O teste da condição será sempre realizado antes de qualquer
operação. Enquanto a condição for verdadeira o processo se repete. A Figura 12
apresenta o fluxograma da estrutura de repetição enquanto ... faça.
condição
Sim
instruções
Programa Tabuada
Inicio
Contador: Inteiro
Num: Inteiro
Leia Num
enquanto Contador <=10
Escreva Contador * Num = Contador *Num
Contador = Contador + 1
fim enquanto
Fim
Onde:
• condição determina um teste lógico.
• conjunto de instruções define as instruções que serão realizadas enquanto
a condição for estabelecida.
Independentemente do resultado primeiro teste da condição, o conjunto de
instruções será realizado pelo menos uma vez. Contudo, as execuções subseqüentes
somente serão realizadas enquanto a condução for verdadeira.
A Figura 14 apresenta o fluxograma da estrutura de repetição faça ... enquanto.
instruções
condição
Sim
Não
Programa NumeroPositivo
Inicio
Num: Inteiro
faça
Leia Num
enquanto Num <= 0
Escreva Num é positivo
Fim
Nesse exemplo, a instrução Leia Num e a comparação Num < 0 serão realizadas
até que seja informado um número positivo.
A estrutura de repetição para ... até ... faça é, normalmente, utilizada quando se
conhece exatamente o número de vezes que a seqüência será repetida. Essa é a
aplicação mais típica da estrutura de repetição para ... até ... faça, mas não é a única. As
estruturas de repetição faça ... enquanto e enquanto ... faça, também podem ser utilizadas
para repetições em que se conhece previamente o número de repetições a serem
realizadas.
Forma geral de uma estrutura de repetição para até faça:
para <inicialização da variável de controle> até <verificação da
condição de repetição> faça
<conjunto de instruções a ser repetido>
fim faça
Onde:
• inicialização da variável de controle contém o valor para a variável que irá
determinar a quantidade de vezes que conjunto de instruções será repetido.
• verificação da condição de repetição realiza o teste lógico para
47
inicialização da
variável de controle
condição de
execução
sim
Uma estrutura de repetição para ... até ... faça possui uma variável de controle.
Essa variável é inicializada na primeira iteração dessa estrutura e é definida uma
condição que determina quando a repetição para. A cada iteração essa variável é
incrementada ou decrementada e é verificado se a condição de parada é alcançada.
A variável de controle funciona como um contador da quantidade de repetições que
a estrutura irá executar. Este tipo de estrutura inicia em um valor pré-determinado (valor
inicial) e termina num valor também pré-determinado (valor final). O incremento ou
decremento é realizado a cada repetição da estrutura até que seja alcançada a condição
de finalização.
Na Figura 17, está o algoritmo para imprimir a tabuada de determinado número. Ele
está representado em fluxograma e em português estruturado. É um exemplo de
algoritmo utilizando a estrutura de repetição para ... até ... faça.
48
Programa Tabuada
Inicio
Num: Inteiro
Cont: Inteiro
Leia Num
para Cont=0 até Cont < 10 faça
Escreva Cont * Num
fim para
Fim
Nesse exemplo, já está previamente definido que a instrução Escreva Num * Cont
será realizada dez vezes. A variável Cont que inicia com 0 e é incrementada em cada
iteração da estrutura para ... até ... faça controla a finalização das repetições.
2.3.7 Funções
Função é um conjunto de código, identificado por nome, que pode ser chamado de
um outro local do programa. Por exemplo, é possível criar uma função para calcular a
média aritmética entre dois números. Esta função é genérica. Toda vez, durante o
programa, que for necessário fazer a média aritmética entre dois números, é possível
apenas chamar essa função. Isso é reaproveitamento de código e ocupa menos tempo do
programador, uma vez que ele não precise reescrever o mesmo código.
As funções recebem ou não valores que são passados como parâmetros, e podem
ou não retornar um valor como resultado. Se não houver passagem de parâmetro então a
função é simplesmente chamada pelo seu nome. Se houver passagem de parâmetro,
esses valores devem ser informados entre parênteses seguindo o nome da função. Se
houver retorno, esse pode ser atribuído para uma variável. Exemplo de uma função para
o cálculo da média de dois números. Essa função recebe como parâmetros os dois
números e retorna a média obtida.
Real Media (Real Numero1, Real Numero2)
{
49
Real Resposta;
Resposta = (Numero1 + Numero2) /2;
Retorno(Resposta);
}
Para utilizar a função, uma variável pode receber o retorno dessa função, como
em:
MediaGeral = Media (10, 8).
Nesse exemplo os parâmetros passados foram constantes (10 e 8), poderiam ser
variáveis cujos valores fossem obtidos como entrada do usuário. O retorno para uma
variável também é opcional, a chamada para a função poderia estar em uma instrução
para impressão ou fazer parte de uma condição de controle (repetição ou decisão).
Existem dois tipos de parâmetros a serem passados para uma função:
a) parâmetros por valor: o valor passado pode ser modificado dentro da função,
porém seu valor original é preservado.
b) parâmetros por referência: se valor passado para a função for modificado pelas
suas instruções, e por ser uma referência de um valor/variável já existente os
valores originais também vão sendo modificados. Só é possível passagem por
referência se forem usadas variáveis como parâmetro.
50
3 MATERIAIS E MÉTODO
3.1 Materiais
3.2 Método
4 LINGUAGEM PYTHON
4.1. Apresentação
A linguagem de programação Python foi criada em 1991 por Guido Van Rossum,
mestre pela Universidade de Amsterdã em 1982. O nome foi inspirado no programa
Monty Python's Flying Circus, da televisão britânica.
Python foi baseada na linguagem ABC, utilizada pelos laboratórios do Instituto
Nacional de Pesquisa em Matemática e Ciência da Computação (Amsterdã). Python foi
criada tendo como foco usuários leigos em programação como físicos, engenheiros e
lingüistas. Atualmente ela é aplicada em diversas áreas, como web e computação gráfica.
ABC era focada no ensino da programação para usuários que entendessem de
computador, mas sem que precisassem necessariamente entender de programação.
Python adotou essa mesma filosofia, e por isso ela é considerada simples e de fácil
aprendizagem.
Atualmente é desenvolvida comunitariamente sendo gerenciada pela organização
sem fins lucrativos Python Software Foundation. Essa linguagem é distribuída sob a
licença aprovada pelo OSI tornando seu uso livre, inclusive para produtos comerciais.
Python executa em Linux/Unix, Windows, Mac OS (Mac Operational System) X,
OS/2, Amiga, Palm Handhelds, e telefones móveis Nokia. Ela também pode ser portada
para as máquinas virtuais de Java e .NET.
Pode ser obtida no site www.python.org, embora a maioria das distribuições
53
4.2 Características
Python é uma linguagem interpretada, mas ela também pode compilar os seus
programas. Utilizando o interpretador interativo não é necessário criar o arquivo de Python
compilado, os comandos são executados interativamente à medida que o usuário interage
com o programa.
Se for utilizado o modo interpretado, ao ser chamado um programa ou um módulo,
o interpretador realizará a análise léxica e sintática e irá executá-lo. Esta é a máquina
virtual Python.
O bytecode da linguagem também é de alto nível. Para fazer engenharia reversa
de um código em linguagem binária é utilizado o módulo dis da biblioteca padrão da
linguagem.
Normalmente Python trabalha com dois grupos de arquivos:
a) Os módulos do núcleo da linguagem, sua biblioteca padrão e os módulos
independentes, criados pelo usuário. No núcleo do interpretador estão o analisador
léxico e o analisador sintático que utilizam as estruturas de objetos definidas no
código, o compilador que aloca memória e o avaliador de código que modifica o
estado atual do programa, mostrando resultado para o usuário.
Embora seja reconhecida como uma linguagem interpretada, Python
emprega um estágio de compilação que traduz scripts Python em uma série de
bytecodes, que são executados pela Máquina Virtual do Python. O código escrito
na linguagem Python é compilado para um código intermediário, semelhante a
bytecode da linguagem Java. É esse código intermediário que é interpretado, por
isso esse código é multi-plataforma.
b) O interpretador Python analisa o código fonte e compila para um bytecode, um
formato binário de instruções para a máquina virtual do Python. O código que é
executado é este bytecode. Ou seja, existe uma etapa de compilação de código
fonte para bytecode, e o bytecode é que é executado. Isto é o que acontece na
linguagem Java também. Em Java, arquivos .class são binários porém não são
linguagem de máquina, eles precisam de um interpretador para executar e este
interpretador é chamado de máquina virtual Java. Arquivos .jar são simplesmente
arquivos.class compactados.
A diferença é que a etapa de compilação é transparente para o programador
Python. Quando um programa é executado da seguinte maneira:
55
$ python meu_programa.py
O bytecode é gerado e executado em memória e não é salvo no disco. Contudo,
se o programa importar um módulo, a Python procura a versão compilada em bytecode
deste módulo, com a extensão .pyc, e se encontrada e não estiver desatualizada em
relação ao arquivo .py correspondente, o interpretador usa a versão já compilada.
Caso contrário, o interpretador compila o módulo .py e salva o bytecode em um
arquivo com a extensão .pyc no mesmo diretório onde está o .py, desde que tenha
permissão para escrita.
Na realidade, o sistema de runtime do Python é um interpretador de bytecode. É
ele que executa o comando import, por exemplo, mas como Python é uma linguagem
dinâmica, o interpretador tem funções para compilar código fonte e gerar bytecodes que
são executados por ele mesmo em tempo de execução.
Em resumo, o código fonte .py em Python é equivalente ao .java em Java e o
código compilado .pyc em Python é equivalente ao .class em Java.
4.4.1 Editor
Para a criação de arquivos fonte .py não é preciso mais que um editor de texto com
suporte a destaque de sintaxe e identação. O suporte a destaque de sintaxe serve
principalmente para a melhor visualização e entendimento do código. O suporte a
identação padroniza e mantém organizada a identação do código, uma vez que seja
configurado para determinada quantidade de espaços. Em Python o padrão de identação
adotado é de quatro espaços.
O interpretador interativo do Python facilita testar comandos sem ter que criar
56
arquivos separados e então executá-los. Para fazer uso do interpretador basta chamar o
Python em um terminal de comandos digitando “python”. Quando o interpretador for
carregado aparecerá algo como o texto seguinte na tela:
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
>>>
O símbolo do prompt (>>>) indica que o interpretador está pronto para ser utilizado.
Os arquivos fonte .py criados devem ser executados através do terminal com o
comando:
Exemplo:
python /media/dados/projetos_python/arquivo.py
4.5.1 Variáveis
Em Python não é preciso declarar o tipo da variável para que ela seja utilizada.
Python trabalha com o conceito de alocação dinâmica.
A principal diferença com algumas outras linguagens como Java, C, Delphi e Visual
Basic é que as variáveis não são declaradas previamente e não precisam armazenar o
mesmo tipo de valor durante todo o programa. Isso significa que se for necessário criar
uma variável contendo valor inteiro, ela será do tipo inteiro, e se essa mesma variável
tiver de armazenar um valor do tipo string, ela passará a ser do tipo string.
4.5.2 Constantes
a) Tipo numérico:
Exemplo de inteiros:
>>> numero = 20
>>> print numero
20
>>> type(numero)
<type 'int'>
3.0
b) Tipo Caracter:
Para textos das mais variadas formas, só existe o tipo string. Não há diferença
quanto a declarar um conjunto de caracteres com aspas simples ou duplas como neste
59
exemplo:
>>> variavel = 'Ola Mundo'
'Ola Mundo'
>>> variavel = “Ola Mundo”
'Ola Mundo'
Pode parecer estranho, mas essa indiferença entre aspas simples e duplas é
necessária e útil. Se uma variável com valor string for criada usando aspas simples e
dentro desta string existe uma palavra que deve levar aspas simples, a linguagem Python
não teria como determinar o final dessa string.
Exemplo:
>>> 'Programando em 'Python''
Essa declaração possui aspas duplas no final, e isso gerará o seguinte erro:
File "<stdin>", line 1
'Programando em 'Python''
^
SyntaxError: invalid syntax
Nestes casos é preciso especificar com clareza e fazer uso de aspas simples e
duplas. Portanto, estas são as maneiras corretas:
>>>“Programando em 'Python'”
“Programando em 'Python'”
>>>'Programando em “Python”'
'Programando em “Python”'
Uma maneira de escrever strings com múltiplas linhas é fazer uso de aspas triplas,
como nos exemplos:
>>> print “””Primeira linha.
...Segunda linha.
...Terceira linha.
...Linhas múltiplas”””
que a string ainda não acabou, ou seja, que ela continua na próxima linha.
>>> “Primeira linha. \
...Segunda linha”
'Primeira linha. Segunda linha.'
c) Tipo Vetor:
Para realizar operações com vetores e matrizes é utilizado o pacote NumPy
(Numerical Python) que contém vários módulos para estes fins. Os tipos de dados nativos
do Python seriam ineficientes se tivessem de trabalhar com grandes quantidades de
informação. O pacote NumPy não faz parte da distribuição oficial do Python, mas
geralmente estão disponíveis nas distribuições GNU/Linux. Para fazer uso desse pacote é
preciso importá-lo.
A base do NumPy é o objeto array, um conjunto com determinada dimensão que
armazena elementos de mesmo tipo. Os array podem se unidimensionais ou
multidimensionais.
Comandos do NumPy :
array(): cria um arranjo a partir de uma lista ou tupla (objetos iteráveis);
arange(): cria um arranjo a partir de um intervalo passado por parâmetro.
Para importar o pacote numpy no prompt do interpretador ou em arquivos com
extensão .py deve-se digitar:
from numpy import *
a) Sequência
'''Programa para calcular a area de um circulo'''
print '--- Calcular a area de um circulo ---'
#Variavel raio recebe o valor digitado pelo usuario
raio = int(raw_input("Informe o raio (somente numeros inteiros): "))
#Valor arredondado de pi
pi = 3.14
#Calcular a area do circulo
area = raio * (pi**2)
#Mostrar na tela o resultado
64
b) Decisão
if … else
print “--- Aprovacao de nota ---”
#Variavel nota recebe valor informado pelo usuario:
nota = int(raw_input("Nota: "))
#Condicao
if nota >= 7:
print "Aprovado"
se … então … senão
#Variavel nota recebe valor informado pelo usuario:
nota = int(raw_input("Nota: "))
#Condicao
if nota >= 7:
print "Aprovado"
else:
print "Reprovado"
escolha … caso
'''Programa NumeroExtenso. Equivalente ao switch case'''
#Variavel que recebe valor informado pelo usuario
num = int(raw_input("Informe um numero: "))
if num == 0:
print "Zero"
elif num == 1:
print "Um''
else:
print "Outro"
Não existe switch case nativo em Python, mas existem alternativas com orientação
a objetos, que fogem ao escopo do trabalho. São elas:
Alternativa 1:
for value in [value]:
if value == 'a':
result = x * 5
65
break
if value == 'b':
result = x + 7
break
if value == 'c':
result = x - 2
break
# default
result = x
break
Alternativa 2:
if value == 'a': result = x * 5
elif value == 'b': result = x + 7
elif value == 'c': result = x – 2
Alternativa 3:
var x = 10 ;
var y = 20 ;
var operator = "*"
var result = {
"+" : function(x, y) { return x + y } ,
"-" : function(x, y) { return x - y } ,
"*" : function(x, y) { return x * y } ,
"/" : function(x, y) { return x / y }
}[operator](x, y) ;
c) Estruturas de Repetição
enquanto … faça
'''Programa Tabuada'''
#Variavel numero recebe o valor digitado pelo usuario
numero = int(raw_input("Numero: "))
#Variavel contador
contador = 1
#Laco de repeticao
while contador <= 10:
print numero, " * ", contador, " = ", numero*contador
contador += 1
66
4.5.9 Funções
def fatorial(numero):
if numero<= 1:
return 1
else:
return (numero * fatorial(numero - 1)) #retorno do calculo do
fatorial do numero que sera passado por parametro
sem_parametro()
67
5 DISCUSSÕES
A citação acima mostra claramente os principais motivos pelos quais Python é uma
opção de linguagem simples e eficaz para o ensino e aprendizagem de programação. O
aprendizado com Python se torna mais prático porque não é preciso se preocupar em
entender como funcionam os níveis mais baixos da programação. Quem está
aprendendo precisa basicamente se acostumar com a ideia de comandos e conseguir
escrever programas simples, apenas sendo introduzidos ao ambiente de programação. A
identação do código em Python é a delimitação de bloco e torna os códigos mais
elegantes e fáceis de serem lidos. Sendo interpretada, a linguagem facilita o processo de
aprendizagem, pois é possível fazer testes sem que arquivos de código precisem ser
69
criados separadamente e depois testados. E o aprendiz ainda pode fazer seus testes em
casa, ou em qualquer outro lugar, usando o sistema operacional que melhor lhe convier.
70
CONCLUSÃO
REFERÊNCIAS
BRUECK, D., TANNER, S., Python 2.1 Bible. Hungry Minds, 2001.
DEITEL, H.M.; DEITEL, P.J. JAVA: como programar, 6a ed. Porto Alegre: Bookman,
2005.
DOWNEY, Allen; ELKNER, Jeffrey; MEYERS, Chris. How to Think Like a Computer
Scientist - Learning with Python , 1a. ed., Massachusetts: Green Tea Press, 2002.
POLLONI, Enrico G. F.; FEDELI, Ricardo Daniel; PERES, Fernando Eduardo. Introdução
À Ciência da Computação, 1a. ed., 2003.
<http://www.python.org>
<http://www.python.org.br >
<http://www.python.org.br/wiki/IntroPython>
<http://pt.wikibooks.org/wiki/Categoria:Python>
<http://pt.wikibooks.org/wiki/Python/Conceitos_b%C3%A1sicos/Compilador_de_Byte>
<http://pt.wikibooks.org/wiki/Python/Conceitos_b%C3%A1sicos/Compilador_de_Byte>
<http://www.async.com.br/projects/python/pnp/dynamictype.html>
<http://www.profissionaisti.com.br/2009/01/10-motivos-para-voce-aprender-a-programar-
em-python>
<http://pythonologia.org/2005/03/27/se-esse-python-fosse-meu>
<http://ramgarlic.com/docs/aprendacompy>