Você está na página 1de 71

Algoritmos e Programação

Aula 03 – Variáveis e Estrutura Sequencial

2022/1
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
O que são variáveis?
 Variável é uma região de memória do computador
que contém um valor e é conhecida por um nome
especificado pelo usuário.
Identificador Conteúdo

Moedas 12
Nome Maria
Pi 3.14
...
Condicao Falso
Como definir variáveis?
Identificador Atribuição Expressão

area = 20

• Nome dado aos objetos utilizados no programa


Identificador (variáveis, constantes, funções, etc.)

• Comando que define ou redefine o valor


Atribuição armazenado em uma variável

• Pode ser um valor ou um conjunto de


Expressão comandos que resulta em um valor
Variáveis
:: Analogia
Variáveis podem ser vistas como gavetas de
um armário 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 relação com variáveis no
contexto matemático?

Matemática Algoritmos
Variáveis podem assumir o Variáveis podem assumir
valor de qualquer apenas um único valor de
elemento de um conjunto. cada vez.
Regras para identificar variáveis
 O nome da variável deve iniciar obrigatoriamente
com uma letra do alfabeto ou o caractere
sublinhado (_).
 Os demais caracteres podem conter letras,
números ou o caractere sublinhado (_).
 Não use uma palavra-chave reservada:
Regras para identificar variáveis
:: Cuidados
 Não use espaços.
 Letras maiúsculas e minúsculas são diferentes.
 Variáveis Area e area são distintas.
Regras para identificar variáveis
:: Exemplos
Nome Válido Comentário
dia1

diaDaSemana

dia da semana Contém espaços


dia_da_semana

dia#3 Usa símbolo inválido


3o_dia Começa com número
_dia
Variáveis
:: Observações
 Se você declarar uma variável já existente, o
conteúdo anterior será perdido.

a = 6 a = 6
print(a) a = 22
print(a)

6 22
O valor das variáveis muda com o tempo

 O computador executa um script linha por linha.


 Quando alteramos o valor de uma variável, o valor
anterior é substituído pelo novo.
 O valor antigo fica perdido para sempre.
O valor das variáveis muda com o tempo

dívida compra
0 ? 1 divida = 0
0 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 0 8 compra = 0
600 0 9 print(divida)
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Tipos de dados
 O tipo define a natureza dos dados que a variável
armazena.
 Tipos mais comuns no Python:

Inteiro
Numérico
Real
Tipos Lógico

String de
caracteres
Tipos Numéricos
:: Classificação

Inteiros • São números sem a parte


fracionária.
(int) • Exemplos: 1 | 0 | -5 | 567

• São números com parte fracionária.


Reais • Também conhecidos como ponto
(float) flutuante.
• Exemplos: 1.0 | 3.1415 | 2.7182
Tipos Numéricos
:: Observações

Números inteiros e ponto Em programação, utilizamos


flutuante são representados o ponto – e não a vírgula –
de maneiras distintas na como separador entre a
memória do computador. parte inteira e a parte
fracionária de um número
ponto flutuante.
Tipos Numéricos
:: Exemplos
Número Inteiro Ponto flutuante
5

5.0

4.3

-2

100

1.333
Representação de números reais
:: Observações (1)
Variáveis de ponto flutuante são
representações da realidade na memória
do computador.

O conjunto dos números reais é infinito,


mas o espaço de armazenamento em
memória é um recurso finito.

Logo, somente alguns elementos do


conjunto de números reais podem ser
representados em um computador.
Representação de números reais
:: Observações (2)
 Variáveis de ponto flutuante são guardadas no
formato exponencial.
 Números mais próximos do zero são mais prováveis
de serem utilizados do que números muito grandes.

números números
representáveis representáveis
0
–max –min +min +max

x x+
Representação de números reais
:: Exemplo de limitação

print(10**3 + 0.001) print(10**30 + 0.001)

1000.001 1e+30
Tipo Lógico
 Uma variável do tipo lógico (ou booleano)
armazena um conteúdo que assume apenas um de
dois valores possíveis:
 True(verdadeiro)
 False (falso)

 Note que as iniciais T e F são escritas em


maiúsculas.
Tipo Lógico
:: Exemplos

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


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

True False
False True
String de caracteres
 Uma string (= corda) é uma cadeia de caracteres.
 Uma cadeia de caracteres é um sequência de
símbolos, tais como letras, números, sinais de
pontuação, etc., que formam textos em geral.

m o
A n
o h o
y t
P
String de caracteres
 O início e o fim de uma string são indicados por
aspas ("), de modo a separar o conteúdo da string
do restante do texto do programa.
texto = "Amo o Python"

 Você pode usar espaços no interior de uma string


de caracteres.
String de caracteres
 Se você quiser incluir o símbolo de aspas em uma
string, use a expressão \".

texto2 = "Amo o \"Python\"."


print(texto2)

Amo o "Python".
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Funções

Na Matemática Em Programação

• Relação entre • Bloco de código


dois conjuntos que executa uma
tarefa específica

𝑓(𝑥)
Funções
:: Nomenclatura

mod = abs(x)
Resultado Argumento
(entrada)
Nome da função
Funções
:: Módulo
 A função abs(x)
fornece o módulo
(valor absoluto) de um
print(abs(-3))
número x. print(abs(3))
 Em notação
matemática, equivale
a |x|, ou seja, a
distância de até o 3
ponto 0 da reta real. 3

 01 argumento
Funções
:: Conversão de tipos
 A função int(x)
converte um valor x
em inteiro.
print(int(1.8))
print(float(4))

 A função float(y)
converte um valor y
em real.

1
 01 argumento 4.0
Funções
:: Máximo e mínimo
 As funções max() e
min() fornecem,
respectivamente, o
print(max(1, 2, 3, 4))
maior e o menor valor print(min(1, 2, 3, 4))
entre uma lista de
argumentos.
 Número variável de
argumentos. 4
1
Funções
:: Arredondamento
 A função
round(x,n)
aproxima um valor x
com até n casas x = 2.3456
print(round(x, 1))
decimais. print(round(x, 3))
 02 argumentos. print(round(x, 6))

 No resultado,
prevalece o menor
valor: ou n, ou a
2.3
quantidade de casas 2.346
decimais do número. 2.3456
Funções
:: Chamadas aninhadas
 O resultado de uma função pode ser o argumento
de outra função:

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

 Funcionamento análogo ao conceito de funções


compostas na matemática:

𝑔 𝑓 𝑥 =𝑔∘𝑓 𝑥
Funções
:: Chamadas aninhadas
 O resultado de uma
função pode ser o
argumento de outra
a = -1.2
b = -2.3 função.
c = -3.4
print(int(abs(max(a,b,c))))  Funcionamento
análogo ao conceito
de funções compostas
na matemática:
1
𝑔 𝑓 𝑥 = 𝑔∘𝑓 𝑥
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Entrada e Saída de Dados
:: Operação Básica

Entrada Saída
input() Script Python print()
Programação
:: Papéis

Usuário Programador

• Utiliza o script • Projeta e escreve


• Insere dados o script
Comandos de Entrada e Saída

Comandos de
Comandos de Saída
Entrada
• Permitem que o • Permitem que o
usuário do script exiba
programa entre resultados no
com novos valores console.
no script.
• Exemplo: • Exemplos:
• Função input() • Função print()
Saída 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 usuário
:: input()
 Exibe, no console, um texto de orientação para o
usuário e aguarda que este digite um valor.
var = input("Digite um numero: ")

 O console ficará travado até que o usuário digite


um valor.
 O valor digitado será armazenado na variável var.
 O valor digitado é interpretado como uma string.
Por isso, deve ser convertido ao tipo desejado
(inteiro, float, lógico).
Entrada e Saída de Dados
:: Exemplo
var = input("Digite um numero: ") 1 2 3
print("Voce digitou", var)
4

1 Digite um numero:

15 2

3 var = 15

4 Voce digitou 15
Problema 1
 Um estádio oferece três
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 Saídas

Grandeza Unidade de medida Faixa de valores


Nº de bilhetes A bilhetes ≥0
Entradas Nº de bilhetes B bilhetes ≥0
Nº de bilhetes C bilhetes ≥0
Saídas Renda R$ ≥0
Problema 1
:: Solução
início

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
início
nA = input("No. bilhetes A: ")
nA nB = input("No. bilhetes B: ")
nB nC = input("No. bilhetes C: ")
nC

precoA ← 50 precoA = 50.0


precoB ← 30 precoB = 30.0
precoC ← 20 precoC = 20.0

renda ← precoA * nA renda = precoA * nA + precoB *


+ precoB * nB nB + precoC * nC
+ precoC * nC

renda
print(renda)

fim
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 não


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)
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Módulos em Python
 O Python oferece um
pequeno conjunto de
funções nativas, tais
como max() e
abs().
 Outras funções são
agrupadas em
módulos, que devem
ser importados ao
programa, a depender
do domínio de
aplicação.
Como importar um módulo Python?

 Para importar as funções definidas em um módulo


Python, use o seguinte comando:

from <nome_do_módulo> import *

Pode ser o math, o random ou


outro que você necessitar.
Módulo math
 Contém diversas
funções que podem
ser usadas ​em
cálculos matemáticos.
Módulo math
:: Funções matemáticas e constantes
exp(x) • Calcula ex

log(x) • Logaritmo natural de x (base e)

log10(x) • Logaritmo de x na base 10

sqrt(x) • Raiz quadrada de x

pi • Valor da constante Pi

e • Valor da constante de Euler


Módulo math
:: Funções trigonométricas
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


Módulo math
:: Funções trigonométricas
 Funções
trigonométricas do
Python operam em
from math import *
radianos. ang = 90
 Use a função print(sin(ang))
print(sin(radians(ang)))
radians() para
converter um ângulo
de graus para
0.8939966636005579
radianos. 1.0
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Boas práticas de programação
:: Comentários
 Códigos devem ser escritos para serem lidos por seres
humanos.
 Escreva os comentários no momento em que estiver
escrevendo o código.
 Os comentários devem acrescentar informação, e não frasear
o comando:
# Multiplicacao de b por h:
area = b * h

# Calculo da area do retangulo:


area = b * h

Boas práticas de programação
:: Comentários
 Faça um cabeçalho no início do arquivo para
explicar a finalidade do script

#-------------------------------------------
# UNIVERSIDADE FEDERAL DA GRANDE DOURADOS
# FULANO DA SILVA
# DATA: 19/07/2022
#
# OBJETIVO: Calcular o volume de combustivel
# em um tanque cilindrico
#-------------------------------------------
Boas práticas de programação
:: Identificadores (1/2)
 Sempre use nomes descritivos e fáceis de lembrar
para suas variáveis:
x = 1.3 raio = 2.2

 Use sempre letras minúsculas em nomes de
variáveis:


raio = 1.3 raio_interno = 1.3
Raio = 4.6 raio_meio = 4.6
RAIO = 7.9 raio_externo = 7.9
Boas práticas de programação
:: Identificadores (2/2)
 Não utilize acentos nos nomes das variáveis. Pode
funcionar em alguns sistemas, mas em outros, não.
área = 1.3 area = 2.2

Boas práticas de programação
:: Nome dos arquivos
 Não use espaço e nem acentos no nome dos
arquivos de script.

caixa eletrônico.py

caixa_eletronico.py

caixaEletronico.py

Boas práticas de programação
:: Expressões
 Use espaços em branco para melhorar a
legibilidade.
 Utilize parênteses para melhorar a compreensão e
evitar erros, mesmo que não alterem a
precedência.
H=(A**2+B**2)**0.5

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



Boas práticas de programação
 Defina todas as variáveis no início de cada script, a
fim de tornar mais fácil a manutenção do código.

nivel = 0.8 # nivel de combustivel (m)


altura = 2.3 # altura do tanque (m)
raio = 1.5 # raio da secao vertical (m)
volume = 0 # volume de combustivel (m3)
Conteúdo

Variáveis

Tipos de variáveis

Funções

Entrada e saída de dados

Módulos

Boas práticas de programação

Erros
Erros
 Lidar com erros faz parte do desenvolvimento de
programas.
 Erros de sintaxe
 Erros de execução
Erros de sintaxe
 Os erros de sintaxe são
violações das regras de
escrita da linguagem.
 Quando um programa
Python contém um erro
de sintaxe, uma
mensagem de erro de
sintaxe é produzida pelo
interpretador.
 Programas com erros de ¤¥₪
sintaxe não são
executados.
Erros de sintaxe

Instrução correta.
x1 = 3.14
Letra “P” maiúscula no lugar de “p”
Print(x1) minúsculo.

Uso errôneo de espaço no nome da


x 1 = 3.14 variável (entre x e 1).

Uso errôneo de espaço no valor


x1 = 3. 14 numérico (entre o ponto e 1).

A contra-barra não é um operador


print(x1 \ 10) válido.
Erros de execução
 Erros de execução são
violações da semântica
da linguagem.
 A maioria dos erros de
tempo de execução não
pode ser detectada
antes da execução do
programa.
Erros de execução

Instruções corretas, que definem as


x1 = 3.14
variáveis x1 e x2, usadas nas
x2 = 0
instruções seguintes.

Um erro de execução é causado por


print(x1 / x2) uma divisão por zero.

Um erro de execução é causado


porque nenhuma variável X2 (inicial
print(X2)
maiúscula) foi definida previamente.
Referências bibliográficas
 Menezes, Nilo Ney Coutinho (2010). Introdução à
Programação com Python. Editora Novatec.
 HETLAND, Magnus Lie (2008). Beginning Python:
From Novice to Professional. Springer eBooks, 2ª
edição. Disponível em:
http://dx.doi.org/10.1007/978-1-4302-0634-7.
Dúvidas?

Você também pode gostar