0% acharam este documento útil (0 voto)
22 visualizações40 páginas

Algoritmos de Programação - Python Aula1 e Aula2

Enviado por

Adriele Oliveira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
22 visualizações40 páginas

Algoritmos de Programação - Python Aula1 e Aula2

Enviado por

Adriele Oliveira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 40

Algoritmos de

Programação
Introdução ao
PYTHON
Bibliografia:
Python para Desenvolvedores, 2ªed.
BORGES. Luiz Eduardo
O’REILLY, Media, Python Fluente
Características da Disciplina
40 horas
4h horas de avaliações
 duas avaliações e uma final
4h revisões
32h conteúdo e práticas
O que é um Algoritmo
Para CORMEN & LEISERSON, um
algoritmo é qualquer procedimento
computacional bem definido que toma algum
valor ou conjunto de valores como entrada e
produz algum valor ou conjunto de valores de
saída. Portanto, um algoritmo é uma
sequencia de passos computacionais que
transformam a entrada na saída, ou ainda,
uma ferramenta para resolver um
problema computacional bem especificado.
Prefácio
As linguagens dinâmicas eram vistas no
passado apenas como linguagens script,
usadas para automatizar pequenas tarefas,
porém, com o passar do tempo, elas
cresceram, amadureceram e conquistaram
seu espaço no mercado, a ponto de
chamar a atenção dos grandes
fornecedores de tecnologia.
Introdução
Python
É uma linguagem de altíssimo nível (em
inglês, Very High Level Language) orientada
a objeto, de tipagem dinâmica e forte,
interpretada e interativa.
Para LUTZ & ASCHER, o Python é uma
linguagem de propósito geral, frequentemente
aplicada em funções de script.
Características
O Python possui uma sintaxe clara e concisa,
que favorece a legibilidade do código fonte,
tornando a linguagem mais produtiva.
Python é um software de código aberto
com licença compatível com a General
Public License (GPL), porém menos
restritiva, permitindo que o Python seja
inclusive incorporado em produtos
proprietários. A especificação da linguagem
é mantida pela Python Software Foundation
(PSF).
Histórico
A linguagem foi criada em
1990 por Guido van
Rossum, no Instituto
Nacional de Pesquisa para
Matemática e Ciência da
Computação da Holanda (CWI)
e tinha originalmente foco em
usuários como físicos e
engenheiros. O Python foi
concebido a partir de outra
linguagem existente na
época, chamada ABC.
Cultura

 O nome Python foi tirado por Guido van Rossum do


programa da TV britânica Monty Python Flying Circus, e
existem várias referências na documentação da linguagem ao
programa, como, por exemplo, o repositório oficial de pacotes do
Python se chamava Cheese Shop, que era o nome de um dos
quadros do programa. Atualmente, o nome do repositório é
Python Package Index (PYPI).
Executando programas
Desenvolvimento interativo:
IDE python 3 e o IDLE
Sintaxe
Um programa feito em Python é constituído
de linhas, que podem continuar nas linhas
seguintes, pelo uso do caractere de barra
invertida (\) ao final da linha ou parênteses,
colchetes ou chaves, em expressões que
utilizam tais caracteres.
O caractere #marca o inicio de comentário.
Qualquer texto depois do # será ignorado até
o fim da linha , com exceção dos comentários
funcionais.
Executando programas
Exemplo de programa em Python:

( )
Sintaxe
Os arquivos .py
Os códigos são armazenados em arquivos
com a extensão .PY e são “executáveis” a
partir de um duplo clique, uma vez que o
interpretador PYTHON é chamado assim que
o SO identifica o tipo de arquivo ativado.
É possível também, ativar o código PYTHON
estando no COMMAND do Windows e digitar
diretamente no PROMPT o nome do
arquivo .PY desejado.
Tipagem dinâmica
Python utiliza tipagem dinâmica, o que significa que o
tipo de uma variável é inferido pelo interpretador em
tempo de execução (isto é conhecido como Duck
Typing). No momento em que uma variável é
criada através de atribuição, o interpretador define
um tipo para a variável, com as operações que podem
ser aplicadas.
A tipagem do Python é forte, ou seja, o interpretador
verifica se as operações são válidas e não faz coerções
automáticas entre tipos incompatíveis. Para realizar
a operação entre tipos não compatíveis, é
necessário converter explicitamente o tipo da
variável ou variáveis antes da operação.
Tipos Simples de Dados
Numéricos
Inteiros
 Os tipos numéricos INTEIROS usados em contagens
e quaisquer valores que não necessitem de
decimais. Função de conversão é a int()
Ex: >>> a = 10
b = int(“20”) #a string foi
convertida em inteiro
Reais
 Os tipos REAIS são comumente usados em cálculos
diversos. Função de conversão é a float()
Tipos Simples de Dados
Textuais
String
 São do tipo TEXTO, contendo em seu corpo um índice de
caracteres acessível por contagem crescente e
decrescente
 Ex:
Índice decrescente -7 -6 -5 -4 -3 -2 -1
String com 7 caracteres T E C I N F O
Índice decrescente 0 1 2 3 4 5 6
>>> a = “TECINFO”
>>> a[0]
‘T’
>>> a[-1]
‘O’
Comandos Básicos de Entrada e Saída
O comando print()
Este é o principal comando de saída de dados do console
PYTHON, serve para imprimir os conteúdos das variáveis e
dados diversos para feedback ao desenvolvedor.
Ex:
>>> a = "Professor"
>>> print("Bom dia! " + a)
Bom dia! Professor

Vemos um exemplo de concatenação de strings


Comandos Básicos de Entrada e Saída
O comando print() – Interpolando textos
Interpolar é a inserção de um trecho de texto
dentro de outro. A interpolação, ocorre de várias
formas, e, algumas linguagens e bibliotecas,
proporcionam maneiras bastante interessantes e
diferentes para interpolarmos valores. O Python
fornece um conjunto de ferramentas bastante
poderosas para esse fim.
Operador “%” é usado para fazer interpolação de
strings. A interpolação é mais eficiente no uso de
memória do que a concatenação convencional.
Comandos Básicos de Entrada e Saída
O comando print() – Interpolando textos
>>> sexo = "masculino"
>>> nome = "Cláudio"
>>> interpolar = "Sexo é igual a %s e o nome
é igual %s "%(sexo, nome)
>>> print(interpolar)
'Sexo é igual a masculino e o nome é igual
Cláudio '
Comandos Básicos de Entrada e Saída
O comando print() – Interpolando textos
Neste exemplo, vamos colocar uma String entre
chaves dentro do texto, em seguida, com a
função format(), vamos associar os nomes
definidos entre chaves ao texto passando-os
como argumentos de função
>>> interpolar = "Sexo é igual a {SEXO} e o nome é
igual {NOME}“.format(SEXO=sexo, NOME=nome)
>>> interpolar
'Sexo é igual a masculino e o nome é igual Cláudio'
Comandos Básicos de Entrada e Saída
A função input() – Entrada de dados
 Refere-se a entrada de dados do mundo externo
para o meio digital. É dessa forma que enviamos
informações para dentro das nossas aplicações.

>>> num = input("Digite um número:")


"Digite um número:“ 23
>>>print(num)
‘23’
Operações Básicas e Variáveis
O Python pode ser utilizado como uma calculadora
matemática avançada. Praticamente, todos os
operadores aritméticos funcionam da mesma forma
como os conhecemos da matemática elementar.
 Por exemplo, para trabalharmos com as 4 principais
funções matemáticas, a soma, subtração,
multiplicação e divisão, temos os operadores
conforme tabela a seguir.
Operação Operador
Adição +
Subtração -
Multiplicaçã *
o
Divisão /
Operações Básicas e Variáveis
Tempos também, operadores para
exponenciação, obtenção da parte inteira de
uma divisão, extração do módulo da divisão,
conforme pode ser visto na tabela a seguir:

Operação Operador
Exponenciaç **
ão
Parte inteira //
módulo %
Operações Básicas e Variáveis
Operações matemáticas básicas
>>> a = 3 #nome criado
>>> b = 4
>>> a + 1, a – 1 #adição, subtração
(4, 2)
>>> b * 3, b / 2 #multiplicação, divisão
(12, 2.0)
>>> a % 2, b ** 2 #mód(resto), potenciação
(1, 16)
>>> 2 + 4.0, 2.0 ** b # conversões
(6.0, 16.0)
Controle de fluxo
É muito comum em um programa que certos
conjuntos de instruções sejam executados de
forma condicional, em casos como validar
entradas de dados, por exemplo.
Sintaxe:
Controle de fluxo
Uma Estrutura de Condição, como o próprio
nome já diz, verifica a condição dos
argumentos passados e, executa um comando
caso a condição seja verdadeira, como se
pode ver no algorítimo abaixo:
SE condição ENTÃO
comando
Toda condição retornará um valor entre
True/False, definindo o comportamento da
estrutura, se ativará o comando caso seja
True, senão, o comando será ignorado.
Controle de fluxo
Para entendermos melhor como se dá o
processo de teste de uma condicional, temos
os operadores condicionais, a seguir:
Operado Tipo Valor
r
== Igualdade Verifica a igualdade entre dois valores.

!= Igualdade Verifica a diferença entre dois valores.

> Comparaçã Verificar se o valor A é maior que o valor B.


o
< Comparaçã Verifica se o valor A é menor que o valor B.
o
>= Comparaçã Verifica se o valor A é maior ou igual ao valor
o B.
<= Comparaçã Verifica se o valor A é menor ou igual ao valor
o B.
Controle de fluxo
Estrutura condicional simples:

if soma > 0:
print("Maior que Zero.“)
Controle de fluxo
Estrutura Condicional Composta executa um
comando quando a condição for verdadeira e
outra condição quando for falsa:

if soma > 0:
print("Maior que Zero.“)
else:
print("Menor que Zero.“)
Controle de fluxo
Estruturas Codicionais Aninhadas são várias
condições em cascatas, ou seja, um IF dentro
de outro IF.

if soma > 0:
print("Maior que Zero.“)
elif soma = 0:
print("Igual a Zero.“)
else:
print("Menor que Zero.“)
Controle de fluxo
 Expressão Condicional.

<expressao1> if <condicao> else <expressao2>

Primeiro, a condição é avaliada (ao invés


de expressao1), se a condição for
verdadeira, expressao1 é avaliada e seu valor é
retornado; caso contrário, expressao2 é avaliada e
seu valor retornado.
Ex:
>>> x = 10
>>>print ("par" if (x % 2 == 0) else "impar")
Laços de Repetição
Estrutura responsável por repetir contada ou
condicionadamente blocos de comando:
Ciclos contados: Laços com repetição finita a
partir de um contador.
Ciclos condicionados: Laços cuja repetição
cessará ou continuará ao satisfazer uma
condição.
O Laço FOR
Para percorrer sequências previamente
conhecidas utilize o laço for.
 O que é mesmo uma sequência?
 Sequências são coleções ordenadas embutidas:

strings, listas, tuplas e dicionários. Ex:


>>> lista = ["p", "y", "t", "h", "o", "n"]
>>> for item in lista:
print(item)
p
y
t
h
o
O Laço FOR
Usando listas com a função interna
enumerate.
>>> for key, value in enumerate(lista):
print(key, value)
0 p
1 y
2 t
3 h
4 o
5 n
O Laço FOR
Podemos utilizar o laço for com outras
funções como por exemplo o range
>>> for i in range(5):
print(i)
0
1
2
3
4
O laço while
 Um laço simples com while

>>> count = 0
>>> while count <= 5:
print(count)
count += 1
0
1
2
3
4
O laço while
Exemplo com break.
OBS:
>>> count = 0
>>> while count <= 5: continue e break,
respectivamente:
print(count)
count += 1 Para iniciar imediatamente a
if count > 3: próxima volta do loop, use o
comando continue.
break
Para encerrar imediatamente o
0 loop, use o comando break
1
2
Esquisitices... 
for-else ? while-else ?
Então, é isso mesmo!

# #
# while # for
# #
count = 0 for i in range(5):
while count <= 5: print(i)
print(count) else:
count += 1 print('após iteração')
else:
print('após
iteração')
É bem docinho....
Limpando a tela pelo terminal do DOS
Já vimos que não há um comando clear para limpar
a tela do shell, no entanto, esse recurso pode ser
feito quando usamos nossas aplicações python
diretamente no CMD do windows, bastando para
isso, usar o código abaixo:

import os
os.system('cls' if os.name == 'nt' else 'clear')

Se o SO for windows use o comando CLS nativo, senão, sub-


entendendo que seja o SO LINUX será usado o comando CLEAR.
Ok Let’s play...
Crie um programa que calcule a média de 4 notas,
sendo elas:
 Parcial1 = 15% da média
 Parcial2 = 15% da média
 Conclusiva = 30% da media
 Simulado = 40% da média
Mostre se o aluno está aprovado ou reprovado levando
em conta a média = 8.0 e, o programa deve perguntar
se deseja fazer um novo calculo através da pergunta
“Deseja continuar? s/n”
Ao selecionar a opção SIM a tela deve ser limpa e um
novo calculo deve ser iniciado.

Você também pode gostar