Mathematics">
Introducao A Programacao Python
Introducao A Programacao Python
Introducao A Programacao Python
Sumário
Introdução à programação com python 1
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Características do Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Instalação do Python e da IDE PyCharm . . . . . . . . . . . . . . . . . . . . . . . 2
Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Nomes de variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Comando de atribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Conversão entre tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . 8
Operadores matemáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Ordem de operações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comando de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comando de saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Exercícios resolvidos e comentados . . . . . . . . . . . . . . . . . . . . . . . . . 14
Introdução
A ideia de um ser humano, enquanto for apenas um pensamento, é algo amorfo, que
existe por si mesma, não necessitando de nada, além de si, para descrevê-la. Entre-
tanto para compartilhá-la com outras pessoas precisamos descrever esta ideia com
palavras e frases, transformando este pensamento em uma linguagem natural hu-
mana.
Computadores e outros dispositivos eletrônicos programáveis possuem sua própria
forma de “pensar”, isto é, o código binário. Máquinas seguem instruções determi-
nadas pela energização (ou não) de determinadas partes em seus componentes.
Então para transmitir uma ideia para uma máquina devo me comunicar em zeros
e uns? A resposta para esta pergunta é um “sim” e um “não”. Um “sim” pois, de fato,
1
a “ideia” que será recebida pela máquina será descrita como uma sequência de zeros
e uns. O “não” se refere a dizer que embora seja possível traduzir sua ideia para uma
linguagem natural da máquina (binário), este não é o processo mais comum. A pro-
gramação diretamente em binário é algo demasiadamente complexo para humanos,
pois a forma básica de expressão do ser humano são as palavras e não sequências
numéricas.
Para contornar este problema foram criadas as linguagens de programação, que
são pontes entre a linguagem natural humana e a linguagem da máquina (binária),
mesclando conceitos das linguagens de máquina e natural humana.
As linguagens de programação são classificadas em vários níveis de acordo com
sua proximidade com a linguagem humana. Linguagens de baixo nível tem a função de
descrever uma situação mais próxima do “ponto de vista” de uma máquina, ao passo
que linguagens de alto nível são concebidas com o propósito de tornar fácil a tradução
de um pensamento (algoritmo), se assemelhando com fidelidade à linguagem humana
que seria necessária para descrever aquela ideia.
Neste tutorial descreveremos a linguagem de programação Python cujo objetivo é
se aproximar bastante da linguagem humana, sendo assim intuitiva, fácil e ao mesmo
tempo sendo bastante flexível, se adequando ao uso em diversas situações.
Características do Python
Python é uma linguagem de programação interpretada, de código-fonte aberto e
disponível para vários sistemas operacionais. Ser uma linguagem interpretada sig-
nifica dizer que ao se escrever um programa, este não será compilado (traduzido para
uma linguagem de máquina), mas sim ‘lido” por um outro programa (chamado de
interpretador) que traduzirá para a máquina o que seu programa quer dizer.
O interpretador (Figura 1) para Python é interativo, ou seja, é possível executá-lo
sem fornecer algoritmo para ele. Ao invés disso, o interpretador disponibilizará uma
interface interativa onde é possível inserir os comandos desejados um por um e ver
o efeito de cada um deles.
2
Figure 1: Console interativo do python da IDE PyCharm
operacional Windows, o interpretador para Python deve ser baixado através do site
(http://www.python.org) e instalado. Neste último sistema o usuário encontra um
utilitário para fazer o papel de terminal (e editor de python) no Windows, denomi-
nado IDLE.
Uma IDE de desenvolvimento é um ambiente de desenvolvimento que integra
diferentes aplicações permitindo que o programador escreva, execute e debug seus
códigos. Diversas IDEs estão disponíveis para a linguagem Python. Durante as aulas
e para as atividades será utilizada a IDE PyCharm (Figure 2) disponibilizada gratuita-
mente pela JetBrains, que está disponível para download no link (https://www.jetbrains.
com/pycharm/download/#section=windows).
Variáveis
Variáveis são um conceito importante em programação. Uma variável é apenas um
nome que você atribui a um objeto. Programadores armazenam dados nelas para
tornar seus códigos mais legíveis e para não ter que lembrar a todo momento o que
são certas coisas. Sendo assim, podemos definir que variáveis são formas de se ar-
mazenar dados para uso posterior.
As variáveis podem ser classificadas em 3 tipos básicos:
3
Figure 2: IDE PyCharm Community
que A é um inteiro (tipo “int”). Por outro lado, se o valor a ser armazenado fosse 3.2
que é um dado do tipo “ponto flutuante”, este deveria ser expresso como A = 3.2. Ob-
serve que, para Python, A = 3 e B = 3.0 são variáveis de tipos diferentes e isto deve ser
levado em conta ao se realizar certos tipos de manipulações de dados.
A Figura 3 mostra um exemplo de atribuição de um valor do tipo inteiro (int)
para a variável A e de um valor do tipo ponto flutuante (float) para a variável B. Se
observarmos no canto direito da Figura, notamos que a IDE PyCharm exibe as variáveis
que estão disponíveis para uso e seus respectivos tipos de dados.
4
String
String é um tipo de objeto formado por uma sequência imutável de caracteres que
nos permite trabalhar com textos. Veja Figura 4
Percebemos que elas são delimitadas por aspas, podemos utilizar tanto aspas
duplas como as simples. Se utilizarmos aspas duplas, como o mostrado no exem-
plo acima, podemos usar as simples para aplicações dentro do texto que estamos
escrevendo, o contrário também é verdadeiro (Figura 5).
Nomes de variáveis
Nomes de variáveis podem ser longos. Eles podem conter letras e dígitos, porém
devem começar com uma letra ou sublinhado (_). Apesar de ser possível usar letras
5
and as assert break class continue
def None del elif else except
exec finally for from global if
import in is lambda nonlocal not
or pass raise return try while
with yield True False
maiúsculas, em geral não fazemos isso. Se você fizer, lembre-se que Dia e dia são
variáveis diferentes.
76trombones é ilegal porque não começa com uma letra mais$ é ilegal porque
contém um caractere inválido, o sinal de dólar. Mas qual é o problema com class?
Acontece que class é uma das palavras reservadas de Python. As palavras reser-
vadas definem as regras de sintaxe e estrutura da linguagem, e elas não podem ser
usadas como nomes de variáveis. Python tem aproximadamente 30 palavras reser-
vadas (e esse número pode variar, à medida em que a linguagem evolui):
6
Uma sugestão é deixar essa lista à mão. Se o interpretador reclamar de um nome
de uma das suas variáveis e você não souber o motivo, verifique se ele está nessa lista.
Programadores geralmente escolhem nomes que façam sentido para os humanos
que irão ler o programa — esses nomes ajudam o programador a documentar, ou se
lembrar, qual é o papel de cada variável.
Portanto, as boas práticas para definir os nomes de suas variáveis são:
• Dê nomes significativos;
Comando de atribuição
O comando de atribuição, representado nas linguagens de programação pelo símbolo
de igual (=), é utilizado para atribuir um valor a uma variável. Sua representação de
forma genérica é:
7
Alguns exemplos do uso do comando de atribuição são apresentados na Figura 6
8
Operadores matemáticos
Operadores são símbolos especiais que representam computações como adição, mul-
tiplicação e divisão. Os valores sobre os quais o operador trabalha são chamados de
operandos. Todas as expressões abaixo são válidas em Python, cujo significado é
mais ou menos óbvio (Figura 8):
9
em 645 minutos? Para ajudar nesse tipo de questão, Python nos fornece um segundo
tipo de operador de divisão. Essa versão, chamada divisão inteira, usa o operador //.
Ela sempre trunca o resultado para o menor inteiro mais próximo (Veja Figura 10).
10
Ordem de operações
Quando mais de um operador aparece em um expressão, a ordem em que são real-
izadas as operações dependem das regras de precedência. Python segue as regras de
precedência dos seus operadores matemáticos da mesma forma que matemática.
• Parênteses têm a mais alta precedência e podem ser usados para forçar que uma
expressão seja calculada na ordem que você deseja. Como expressões entre
parênteses são calculadas primeiro, 2*(3-1) é 4, e (1+1)**(5-2) é 8. Você pode
usar parênteses para tornar uma expressão mais legível, como em (minutos *
100) / 60, mesmo que isto não mude o resultado.
• Multiplicação e ambas as divisões têm a mesma precedência, que são mais altas
que adição e subtração, que também têm a mesma precedência. Logo, 2*3-1 é 5
e não 4, e 5-2*2 é 1 e não 6.
Comando de entrada
Todos os exemplos que vimos até agora os valores das variáveis foram setados dentro
do próprio programa, o que funciona perfeitamente bem. Porém, e se quisermos criar
programa em que o usuário pudesse digitar qualquer valor para uma variável.
Para fazer isso, precisamos uma forma de obter dados do usuário. Por sorte, em
Python há uma função pronta que faz isso, denominada input.
A função input permite que apresentemos um texto (ou prompt). Quando a função
é executada, o prompt é exibido. O usuário do programa pode digitar seu nome e
11
pressionar Enter. Quando isso acontece, o texto digitado é retornado pela função in-
put, e nesse caso, é associado à variável n. Experimente algumas vezes este exemplo
e tente nomes diferentes na caixa de entrada que aparece.
É fundamental lembrar que a função input retorna uma string. Mesmo se você
pedir para o usuário digitar a sua idade, você obterá como resposta uma string como
“17”.
A variável entrada corresponde à string que foi digitada pelo usuário. Como dito
antes, mesmo que a esta string seja 150, ainda assim é uma string e não um número.
Para convertê-la a um número, usamos a função int. O resultado é referenciado por
totalMins. Agora, cada vez que você executar o programa, poderá digitar um novo
valor para o total de minutos a converter!
Comando de saída
Em diversos exemplos utilizados ao longo deste texto você deve ter notado a presença
de um elemento que ainda não mencionamos, a função print. A função print tem como
objetivo exibir uma mensagem na tela para informar algo ao usuário. Isso significa
12
que ela irá imprimir na tela o texto que ela receber como parâmetro. Adicionalmente,
o programador pode passar vários parâmetros para função print, ela irá concatenar,
ou agrupar todos os parâmetros em uma única string que será exibida na tela. A
Figura 13 apresenta alguns exemplos de uso da função print.
13
Exercícios resolvidos e comentados
1. Faça um algoritmo que leia as 3 notas de um aluno e calcule a média final deste
aluno. Considerar que a média é ponderada e que o peso das notas é: 2, 3 e 5,
respectivamente.
n1 ∗ p1 + n2 ∗ p2 + n3 ∗ p3
p1 + p2 + p3
Solução:
1 print (" Programa que calcula a média ponderada de três notas .")
2
7 n1 = float (n1)
8 n2 = float (n2)
9 n3 = float (n3)
10
Comentários sobre a solução: Nas linhas 7,8 e 9 a função float foi uti-
lizada para fazer a conversão das notas de string para float. Dessa forma
as casas decimas das notas digitadas serão preservadas e a média será
mais precisa. Outra questão importante pode ser observada na linha 11,
onde a média ponderada é calculada. Tanto no numerador quando no
denominador os parenteses foram utilizados para garantir a exatidão na
resposta. Note que, se não colocarmos os parênteses o resultado obtido
será diferente e portanto incorreto, pois as operações de adição e sub-
tração aconteceriam na ordem errada.
2. Faça um algoritmo que receba como entrada o valor do raio de uma esfera e
calcule a área total da esfera.
A = 4 ∗ π ∗ r2
14
Onde: A é a área da esfera e r é o raio.
Solução:
1 print (" Programa que calcula a área total de uma esfera .")
2 raio = input (" Digite o raio da esfera : ")
3 raio = float (raio)
4 areatotal = 4*3.141516* raio **2
5 print ("Área total da esfera :", areatotal )
Solução:
1 print (" Programa que calcula a hipotenusa .")
2 cateto_1 = input (" Digite o primeiro cateto : ")
3 cateto_2 = input (" Digite o segundo cateto : ")
4
15