Anda di halaman 1dari 71

IEC081 - Introduo Cincia dos Computadores

IEC037 - Introduo Programao de


Computadores

Aula 01 Variveis e Estrutura Sequencial

2016/1

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

O que so variveis?

Varivel uma regio de memria do computador


que contm um valor e conhecida por um nome
especificado pelo usurio.
Identificador
Moedas
Nome
Pi

Contedo

12
Maria
3.14

...
Condicao

Falso

Como definir variveis?


Identificador

Atribuio

Expresso

area = 20

Identificador

Nome dado aos objetos utilizados no programa


(variveis, constantes, funes, etc.)

Atribuio

Comando que define ou redefine o valor


armazenado em uma varivel

Expresso

Pode ser um valor ou um conjunto de


comandos que resulta em um valor

Variveis
:: Analogia
Variveis podem ser vistas como gavetas de
um armrio onde cabe apenas um nico valor

largura

4.4 7.8

largura = 4.4
altura = 3.2

altura

3.2

largura = 7.8

Qual a relao com variveis no


contexto matemtico?

Matemtica

Algoritmos

Variveis podem assumir o


valor de qualquer
elemento de um conjunto.

Variveis podem assumir


apenas um nico valor de
cada vez.

Regras para identificar variveis

O nome da varivel deve iniciar obrigatoriamente


com uma letra do alfabeto ou o caractere
sublinhado (_).
Os demais caracteres podem conter letras,
nmeros ou o caractere sublinhado (_).
No use uma palavra-chave reservada:

Regras para identificar variveis


:: Cuidados

No use espaos.
Letras maisculas e minsculas so diferentes.
Variveis

Area e area so distintas.

Regras para identificar variveis


:: Exemplos
Nome

Vlido

Comentrio

dia1
diaDaSemana
dia da semana

Contm espaos

dia_da_semana
dia#3

Usa smbolo invlido

3o_dia

Comea com nmero

_dia

Variveis
:: Observaes

Se voc declarar uma varivel j existente, o


contedo anterior ser perdido.

a = 6
print(a)

a = 6
a = 22
print(a)

22

O valor das variveis muda com o tempo

O computador executa um script linha por linha.


Quando alteramos o valor de uma varivel, o valor
anterior substitudo pelo novo.
O valor antigo fica perdido para sempre.

O valor das variveis muda com o tempo


dvida

compra

100

2 compra = 100

100

100

3 divida = divida + compra

100

200

4 compra = 200

300

200

5 divida = divida + compra

300

300

6 compra = 300

600

300

7 divida = divida + compra

600

8 compra = 0

600

9 print(divida)

1 divida = 0

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Tipos de dados

O tipo define a natureza dos dados que a varivel


armazena.
Tipos mais comuns no Python:
Inteiro
Numrico

Real
Tipos

Lgico
String de
caracteres

Tipos Numricos
:: Classificao
Inteiros
(int)

Reais
(float)

So nmeros sem a parte


fracionria.
Exemplos: 1 | 0 | -5 | 567

So nmeros com parte fracionria.


Tambm conhecidos como ponto
flutuante.
Exemplos: 1.0 | 3.1415 | 2.7182

Tipos Numricos
:: Observaes

Nmeros inteiros e ponto


flutuante so representados
de maneiras distintas na
memria do computador.

Em programao, utilizamos
o ponto e no a vrgula
como separador entre a
parte inteira e a parte
fracionria de um nmero
ponto flutuante.

Tipos Numricos
:: Exemplos
Nmero Inteiro
5
5.0
4.3

-2
100

1.333

Ponto flutuante

Representao de nmeros reais


:: Observaes (1)
Variveis de ponto flutuante so
representaes da realidade na memria
do computador.

O conjunto dos nmeros reais infinito,


mas o espao de armazenamento em
memria um recurso finito.

Logo, somente alguns elementos do


conjunto de nmeros reais podem ser
representados em um computador.

Representao de nmeros reais


:: Observaes (2)

Variveis de ponto flutuante so guardadas no


formato exponencial.
Nmeros mais prximos do zero so mais provveis
de serem utilizados do que nmeros muito grandes.
nmeros
representveis
max

nmeros
representveis

min

+min

x+

+max

Representao de nmeros reais


:: Exemplo de limitao

print(10**3 + 0.001)

1000.001

print(10**30 + 0.001)

1e+30

Tipo Lgico

Uma varivel do tipo lgico (ou booleano)


armazena um contedo que assume apenas um de
dois valores possveis:
True

(verdadeiro)
False (falso)

Note que as iniciais T e F so escritas em


maisculas.

Tipo Lgico
:: Exemplos

print(2 < 3)
print(3 < 2)

True
False

print(15/3 < 5)
print(15/3 == 5)

False
True

String de caracteres

Uma string (= corda) uma cadeia de caracteres.


Uma cadeia de caracteres um sequncia de
smbolos, tais como letras, nmeros, sinais de
pontuao, etc., que formam textos em geral.

m o
A

n
o
h
t
y
P

String de caracteres

O incio e o fim de uma string so indicados por


aspas ("), de modo a separar o contedo da string
do restante do texto do programa.
texto = "Amo o Python"

Voc pode usar espaos no interior de uma string


de caracteres.

String de caracteres

Se voc quiser incluir o smbolo de aspas em uma


string, use a expresso \".
texto2 = "Amo o \"Python\"."
print(texto2)

Amo o "Python".

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Funes
Na Matemtica

Relao entre
dois conjuntos

()

Em Programao

Bloco de cdigo
que executa uma
tarefa especfica

Funes
:: Nomenclatura
mod = abs(x)
Argumento
(entrada)

Resultado

Nome da funo

Funes
:: Mdulo

A funo abs(x)
fornece o mdulo
(valor absoluto) de um
nmero x.
Em notao
matemtica, equivale
a |x|, ou seja, a
distncia de at o
ponto 0 da reta real.
01 argumento

print(abs(-3))
print(abs(3))

3
3

Funes
:: Converso de tipos

A funo int(x)
converte um valor x
em inteiro.

print(int(1.8))
print(float(4))

A funo float(y)
converte um valor y
em real.

01 argumento

1
4.0

Funes
:: Mximo e mnimo

As funes max() e
min() fornecem,
respectivamente, o
maior e o menor valor
entre uma lista de
argumentos.
Nmero varivel de
argumentos.

print(max(1, 2, 3, 4))
print(min(1, 2, 3, 4))

4
1

Funes
:: Arredondamento

A funo
round(x,n)
aproxima um valor x
com at n casas
decimais.
02 argumentos.
No resultado,
prevalece o menor
valor: ou n, ou a
quantidade de casas
decimais do nmero.

x = 2.3456
print(round(x, 1))
print(round(x, 3))
print(round(x, 6))

2.3
2.346
2.3456

Funes
:: Chamadas aninhadas

O resultado de uma funo pode ser o argumento


de outra funo:

int(abs(max(-1.2, -2.3, -3.4)))

Funcionamento anlogo ao conceito de funes


compostas na matemtica:

Funes
:: Chamadas aninhadas
O resultado de uma
funo pode ser o
argumento de outra
funo.
Funcionamento
anlogo ao conceito
de funes compostas
na matemtica:
=

a = -1.2
b = -2.3
c = -3.4
print(int(abs(max(a,b,c))))

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Entrada e Sada de Dados


:: Operao Bsica

Entrada
input()

Script Python

Sada
print()

Programao
:: Papis
Usurio
Utiliza o script
Insere dados

Programador
Projeta e escreve
o script

Comandos de Entrada e Sada


Comandos de
Entrada
Permitem que o
usurio do
programa entre
com novos valores
no script.
Exemplo:
Funo input()

Comandos de Sada
Permitem que o
script exiba
resultados no
console.
Exemplos:
Funo print()

Sada de dados
:: print()

Exibe os dados passados como argumento.


print("Oi")
x = 108
print(x)
print("Metade:", x/2)

texto = "ola mundo"


print(texto)

Entrada de dados pelo usurio


:: input()

Exibe, no console, um texto de orientao para o


usurio e aguarda que este digite um valor.
var = input("Digite um numero: ")

O console ficar travado at que o usurio digite


um valor.
O valor digitado ser armazenado na varivel var.
O valor digitado interpretado como uma string.
Por isso, deve ser convertido ao tipo desejado
(inteiro, float, lgico).

Entrada e Sada de Dados


:: Exemplo
var = input("Digite um numero: ") 1 2 3
print("Voce digitou", var)
4

Digite um numero:
15

var = 15

Voce digitou 15

Problema 1

Um estdio oferece trs


categorias de assentos:
Classe A R$ 50
Classe B R$ 30
Classe C R$ 20

Escreva um programa
que pergunta quantos
bilhetes de cada classe
foram vendidos, e, em
seguida, exibe a renda
gerada pela venda dos
ingressos.

Problema 1
:: Definir Entradas e Sadas

Entradas

Sadas

Grandeza

Unidade de medida

Faixa de valores

N de bilhetes A

bilhetes

N de bilhetes B

bilhetes

N de bilhetes C

bilhetes

Renda

R$

Problema 1
:: Soluo
incio
nA
nB
nC

precoA 50
precoB 30
precoC 20
renda precoA * nA
+ precoB * nB
+ precoC * nC
renda
fim

Problema 1
:: Converter o algoritmo em programa
incio
nA
nB
nC

precoA 50
precoB 30
precoC 20
renda precoA * nA
+ precoB * nB
+ precoC * nC
renda
fim

nA = input("No. bilhetes A: ")


nB = input("No. bilhetes B: ")
nC = input("No. bilhetes C: ")

precoA = 50.0
precoB = 30.0
precoC = 20.0
renda = precoA * nA + precoB *
nB + precoC * nC

print(renda)

Problema 1
:: Testando o programa
nA = input("No. bilhetes A: ")
nB = input("No. bilhetes B: ")
nC = input("No. bilhetes C: ")
precoA = 50.0
precoB = 30.0
precoC = 20.0

renda = precoA * nA + precoB * nB + precoC * nC


print(renda)

Por que no
funciona?

Problema 1
5 Testar o programa
nA = int(input("No. bilhetes A: "))
nB = int(input("No. bilhetes B: "))
nC = int(input("No. bilhetes C: "))
precoA = 50.0
precoB = 30.0
precoC = 20.0

renda = precoA * nA + precoB * nB + precoC * nC


print(renda)

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Mdulos em Python

O Python oferece um
pequeno conjunto de
funes nativas, tais
como max() e
abs().
Outras funes so
agrupadas em
mdulos, que devem
ser importados ao
programa, a depender
do domnio de
aplicao.

Como importar um mdulo Python?

Para importar as funes definidas em um mdulo


Python, use o seguinte comando:
from <nome_do_mdulo> import *
Pode ser o math, o random ou
outro que voc necessitar.

Mdulo math

Contm diversas
funes que podem
ser usadas em
clculos matemticos.

Mdulo math
:: Funes matemticas e constantes
exp(x)

Calcula ex

log(x)

Logaritmo natural de x (base e)

log10(x)
sqrt(x)

pi
e

Logaritmo de x na base 10
Raiz quadrada de x
Valor da constante Pi

Valor da constante de Euler

Mdulo math
:: Funes trigonomtricas

sin(x)

Calcula o seno de x (em radianos)

cos(x)

Calcula o cosseno de x (em radianos)

tan(x)

Calcula a tangente de x (em radianos)

asin(x)

Calcula o arco-seno de x

acos(x)

Calcula o arco-cosseno de x

atan(x)

Calcula o arco-tangente de x

Mdulo math
:: Funes trigonomtricas

Funes
trigonomtricas do
Python operam em
radianos.
Use a funo
radians() para
converter um ngulo
de graus para
radianos.

from math import *


ang = 90
print(sin(ang))
print(sin(radians(ang)))

0.8939966636005579
1.0

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Boas prticas de programao


:: Comentrios

Cdigos devem ser escritos para serem lidos por seres


humanos.
Escreva os comentrios no momento em que estiver
escrevendo o cdigo.
Os comentrios devem acrescentar informao, e no frasear
o comando:
# Multiplicacao de b por h:
area = b * h
# Calculo da area do retangulo:
area = b * h

Boas prticas de programao


:: Comentrios

Faa um cabealho no incio do arquivo para


explicar a finalidade do script

#------------------------------------------# UNIVERSIDADE FEDERAL DO AMAZONAS


# FULANO DA SILVA
# DATA: 25/05/2016
#
# OBJETIVO: Calcular o volume de combustivel
#
em um tanque cilindrico
#-------------------------------------------

Boas prticas de programao


:: Identificadores (1/2)

Sempre use nomes descritivos e fceis de lembrar


para suas variveis:
x = 1.3

raio = 2.2

Use sempre letras minsculas em nomes de


variveis:
raio = 1.3
Raio = 4.6
RAIO = 7.9

raio_interno = 1.3
raio_meio
= 4.6
raio_externo = 7.9

Boas prticas de programao


:: Identificadores (2/2)

No utilize acentos nos nomes das variveis. Pode


funcionar em alguns sistemas, mas em outros, no.
rea = 1.3

area = 2.2

Boas prticas de programao


:: Nome dos arquivos

No use espao e nem acentos no nome dos


arquivos de script.
caixa eletrnico.py

caixa_eletronico.py

caixaEletronico.py

Boas prticas de programao


:: Expresses

Use espaos em branco para melhorar a


legibilidade.
Utilize parnteses para melhorar a compreenso e
evitar erros, mesmo que no alterem a
precedncia.
H=(A**2+B**2)**0.5

H = ((A ** 2) + (B ** 2)) ** 0.5

Boas prticas de programao

Defina todas as variveis no incio de cada script, a


fim de tornar mais fcil a manuteno do cdigo.
nivel
altura
raio
volume

=
=
=
=

0.8
2.3
1.5
0

#
#
#
#

nivel de combustivel (m)


altura do tanque (m)
raio da secao vertical (m)
volume de combustivel (m3)

Contedo
Variveis
Tipos de variveis

Funes
Entrada e sada de dados
Mdulos
Boas prticas de programao
Erros

Erros

Lidar com erros faz parte do desenvolvimento de


programas.
Erros

de sintaxe
Erros de execuo

Erros de sintaxe

Os erros de sintaxe so
violaes das regras de
escrita da linguagem.
Quando um programa
Python contm um erro
de sintaxe, uma
mensagem de erro de
sintaxe produzida pelo
interpretador.
Programas com erros de
sintaxe no so
executados.

Erros de sintaxe
x1 = 3.14

Instruo correta.

Print(x1)

Letra P maiscula no lugar de p


minsculo.

x 1 = 3.14

Uso errneo de espao no nome da


varivel (entre x e 1).

x1 = 3. 14

Uso errneo de espao no valor


numrico (entre o ponto e 1).

print(x1 \ 10)

A contra-barra no um operador
vlido.

Erros de execuo

Erros de execuo so
violaes da semntica
da linguagem.
A maioria dos erros de
tempo de execuo no
pode ser detectada
antes da execuo do
programa.

Erros de execuo
x1 = 3.14
x2 = 0

print(x1 / x2)

print(X2)

Instrues corretas, que definem as


variveis x1 e x2, usadas nas
instrues seguintes.
Um erro de execuo causado por
uma diviso por zero.
Um erro de execuo causado
porque nenhuma varivel X2 (inicial
maiscula) foi definida previamente.

Referncias bibliogrficas

Menezes, Nilo Ney Coutinho (2010). Introduo


Programao com Python. Editora Novatec.
HETLAND, Magnus Lie (2008). Beginning Python:
From Novice to Professional. Springer eBooks, 2
edio. Disponvel em:
http://dx.doi.org/10.1007/978-1-4302-0634-7.

Dvidas?

Anda mungkin juga menyukai