Algoritmos e Programação Em Python eBook
Algoritmos e Programação Em Python eBook
ALGORITMOS E PROGRAMAÇÃO
EM PYTHON PARA O ENSINO
TÉCNICO INTEGRADO
1ª Edição
Teresina
2022
Ministério da Educação
Secretaria de Educação Profissional e Tecnológica
Instituto Federal de Educação, Ciência e Tecnologia do Piauí
Ministério da Educação
Secretaria de Educação Profissional e Tecnológica
Instituto Federal de Educação, Ciência e Tecnologia do Piauí
Conselho Editorial
Prof. Dr. Ricardo Martins Ramos – Presidente
Prof. Me. Alan Elias Silva – Secretário-Geral
Prof. Dr. José Carlos Raulino Lopes – Membro
Profa. Ma. Inara Erice de Souza Alves Raulino Lopes – Membro
Prof. Me. Israel Alves Correa Noleto – Membro
Bibliotecária Me. Sindya Santos Melo – Membro
Bibliotecária Me. Sônia Oliveira Matos Moutinho – Membro
Esta obra é uma publicação do Instituto Federal de Educação, Ciência e Tecnologia do Piauí. Os textos assinados são
de responsabilidade exclusiva dos autores e não expressam a opinião do Conselho Editorial.
Esta obra está licenciada sob uma Licença Creative Commons. Os usuários têm permissão para
copiar e redistribuir os trabalhos por qualquer meio ou formato, e para, tendo como base o seu
conteúdo, reutilizar, transformar ou criar, com propósitos legais, até comerciais, desde que citada
a fonte.
Carl Sagan
SUMÁRIO
LISTA DE FIGURAS..........................................................................
FIGURAS..........................................................................11
11
INTRODUÇÃO.................................................................................... 17
INTRODUÇÃO
1 - O QUE É PROGRAMAÇÃO?.
PROGRAMAÇÃO?....................................................19
.................................................. 19
1.1 Programação e o raciocínio lógico.........................................19
2 - A LINGUAGEM PYTHON.......................................................
PYTHON.......................................................27
27
2.1 Por que usar a linguagem Python?.........................................27
Exercícios............................................................................................ 43
3.5 Operadores.................................................................................. 52
3.6 A função de entrada “input()” e a função de saída
“print()”...................................................................................................54
Exercícios............................................................................................ 58
Exercícios............................................................................................ 65
5 - ESTRUTURA DE REPETIÇÃO.
REPETIÇÃO.............................................69
........................................... 69
5.1 O comando WHILE.................................................................. 69
Exercícios.............................................................................................79
6 - LISTA..............................................................................................
LISTA.............................................................................................. 95
6.1 Criando uma lista........................................................................97
Exercícios.......................................................................................... 102
7 - DICIONÁRIOS.
DICIONÁRIOS............................................................................107
..........................................................................107
7.1 Criando um dicionário.............................................................107
Exercícios........................................................................................... 118
8 - FUNÇÕES....................................................................................
FUNÇÕES....................................................................................125
125
8.1 Criando uma função................................................................ 126
8.2 Módulos.......................................................................................128
Exercícios........................................................................................... 141
REFERÊNCIAS..................................................................................147
REFERÊNCIAS ............................................................................... 147
SOBRE A AUTORA........................................................................
AUTORA........................................................................ 148
Lista de figuras
11
LISTA DE FIGURAS
INTRODUÇÃO
O QUE É PROGRAMAÇÃO?
assim por diante. Dessa forma, como a língua que você fala
possui uma sintaxe específica, a linguagem de computador que
você usa também possui sua própria sintaxe.
Logo, para que você faça um PROGRAMA DE
COMPUTADOR, você precisará usar uma LINGUAGEM DE
PROGRAMAÇÃO, e para usar essa linguagem de programação,
será necessário conhecer a sintaxe dessa linguagem.
A linguagem que utilizaremos neste livro é a linguagem de
programação Python versão 3.7. Você pode baixar gratuitamente
a linguagem Python no endereço https://www.python.org/
downloads/. No momento de criação desse material, a última
versão disponível no site era a 3.9.5, como visto na Figura 2.
Você pode baixar esta versão sem problemas. Qualquer versão
acima da 3 será compatível com as atividades realizadas neste
livro.
A LINGUAGEM PYTHON
EXERCÍCIOS
2 . Com base no que você leu até agora, o que você entende
por variáveis?
nome[0] ‘m’
nome[1] ‘a’
nome[2] ‘r’
nome[3] ‘i’
nome[4] ‘a’
3.5 Operadores
Multiplicação * >>10*5
>>50
Divisão / >>10/5
>>2
>>5/2
>>2.5
>>int(5/2)
>>2
>>> 5/0
Traceback (mostrecentcalllast):
File "<pyshell#2>", line 1, in <module>
5/0
ZeroDivisionError: division by zero
Atribuição = >> x = 10
(assign men t) >> x = 20
-Se pelo menos uma das >>(4==4) and (4<5) and (2!=2)
expressões for falsa, >>False
retorna falso (False).
OBS: (4==4) é True, (4<5) é True e (2!=2) é
Fazendo a tabela de False, logo o resultado é False.
combinações possíveis
podemos ver:
10
EXERCÍCIOS
A = 2
B = A*5
A = B+2
B = A-5
Valor A: ___________
Valor B:____________
Capítulo 3 - Python básico: variáveis, operadores e entrada e saída de dados
59
B=28
A= (B*2)
C=A-B
print(A)
print(C)
print(“C”)
Resposta: ___________________________________
ESTRUTURA DE DECISÃO IF
4.1 O COMANDO IF
EXERCÍCIOS
A = 2
B = A*5
B = A-5
if A>2:
print(“o valor é “,A)
else:
print(“A é menor que 2!“)
Reposta: ________________________________
A = 10
B = A*5
B = A-5
if A>=2:
print(“o valor é ”,A)
elif B<0:
print(“B é menor que 0!“)
Algoritmos e programação em Python para o Ensino Técnico Integrado
66
Reposta: ________________________________
A = 0
B = A*5
B = A-5
if A>=2:
print(“o valor é “,A)
elif B<0:
print(“B é menor que 0!“)
else:
print(“Nenhuma das alternativas anteriores!“)
Reposta: ________________________________
ESTRUTURA DE REPETIÇÃO
As estruturas de repetição, normalmente, são usadas
quando é necessário repetir determinada parte do código de
um número N de vezes. Um exemplo bem simples seria a soma
de todos os números inteiros de 1 a 10. Nesse problema, temos
uma soma que deve ser realizada dez vezes. Veja a Figura 39.
EXERCÍCIOS
a) Qual a condição?
a) Qual a condição?
c) Preencha a tabela:
a) Qual a condição?
a) Qual a condição?
a) Qual a condição?
a) Qual a condição?
a) Qual a condição?
Capítulo 5 - Estrutura de repetição
83
• range(<inicio_do_intervalo>,<fim_do_intervalo>)
Nesse caso, o Python assume <inicio_do_intervalo> como
valor inicial do intervalo. Como padrão, o incremento de valor
(a cada repetição efetuada) é igual a 1.
O <fim_do_intervalo> não participa do intervalo. A
repetição acontece sempre até o <fim_do_intervalo> - 1.
Ex.: range(1,8) é referente ao intervalo [1,2,3,4,5,6,7]
• range(<inicio_do_intervalo>,<fim_do_
intervalo>,<incremento>)
Nesse caso, além do <inicio_do_intervalo> e <fim_do_
intervalo>, o Python assume também o valor <incremento>
como sendo o valor que será incrementado a cada repetição
do laço.
Algoritmos e programação em Python para o Ensino Técnico Integrado
86
EXERCÍCIOS
a)
for x in range(5):
print(x**2)
b)
for x in range(4):
print(x)
Capítulo 5 - Estrutura de repetição
89
c)
for b in range(1,9):
print(b+1)
d)
for b in range(3):
print(x)
Algoritmos e programação em Python para o Ensino Técnico Integrado
90
e)
for x in range(2,7):
print(“x“)
print(x)
f)
for x in range(0,12,2):
print(x)
Capítulo 5 - Estrutura de repetição
91
g)
for y in range(0,12,3):
print(“o valor é “,y)
h)
for x in range(1,12,2):
print(“x é “,x)
Algoritmos e programação em Python para o Ensino Técnico Integrado
92
i)
for x in range(20,10,-2):
print(x)
j)
for x in range(10,1,-1):
print(“x é “,x)
Capítulo 5 - Estrutura de repetição
93
for x in range(5):
print(x*2,end= “ “)
a. ( ) 0 1 4 9 16
b. ( ) 0 1 4 9 16 25
c. ( ) 0 2 4 6 8
d. ( ) 0 2 4 6 8 16
EXERCÍCIOS
USANDO COMANDO DE REPETIÇÃO WHILE E FOR
LISTA
Uma “lista” é uma das estruturas de dados disponíveis em
Python. Por meio dela, você pode armazenar um conjunto de
valores. Imagine uma lista no mundo real:
• uma lista de supermercado informa o conjunto de
itens que você deseja comprar;
• uma lista de alunos informa os dados dos alunos de
uma turma;
• uma lista de tarefas para serem executadas informa
a quantidade de tarefas que você deseja realizar durante
um dia, por exemplo.
As listas são sequências mutáveis. É possível, em uma lista no
Python, armazenar dados heterogêneos, mas ela é normalmente
usada para armazenar coleções de itens homogêneos (o grau
preciso de similaridade variará de acordo com a aplicação).
As listas em Python têm o mesmo significado das listas
no mundo real. Então, por que usar listas? Sempre que for
necessário representar um conjunto de valores, uma opção é
você usar uma lista para representar isso em Python.
Exemplos de conjuntos de valores:
Conjunto finito das vogais = {a,e,i,o,u}
Conjunto infinito dos números pares ={2,4,6,8,10,12....}
Conjunto finito A = {1,2,3,4}
Conjunto finito B = {3,4,5,6,7}
Conjunto finito A ∩ B = {3,4}
Uma lista é um conjunto ordenado de valores. Ela tem
características semelhantes a um tipo “str”. Você lembra como
se identifica, individualmente, os elementos de uma variável
do tipo “str”? Exemplo: cada elemento da “str” é reconhecido
com um índice que vai de 0 (zero) até o seu tamanho – 1.
Algoritmos e programação em Python para o Ensino Técnico Integrado
96
• del
Apaga um elemento específico na lista.
Ex.:
• pop()
Apaga um elemento específico na lista e retorna o valor
removido.
Ex.:
EXERCÍCIOS
a) ( ) [0, 2, 4, 6]
b) ( ) [0, 1, 2, 3,4]
c) ( ) [0, 1, 4, 9]
d) ( ) [0, 2, 4, 6,8]
c) ( ) [2, 3, 4, 5, 6, 7, 8, 9, 10]
d) ( ) [2, 3, 4, 5, 6, 7, 8, 9, 10]
Capítulo 6 - Lista
103
a) ( ) [0, 1, 2, 3]
b) ( ) [0, 1, 2, 3,4]
c) ( ) [0, 1, 2, 3,4,5]
d) ( ) NDA
l=[]
for i in range(3):
l.append([i,i+1,i+2])
print(l)
a) ( ) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
c) ( ) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10]
DICIONÁRIOS
Outra estrutura de dados disponível em Python é
chamada de “dicionário”. Com um dicionário, você também
pode armazenar um conjunto de valores, tal como vimos
anteriormente, usando listas. No entanto, o dicionário tem uma
característica particular: ele relaciona a cada valor específico
uma chave de acesso.
Diferentemente das listas, em que o índice é um número
(o índice, em listas, é usado para acessar determinado valor),
dicionários utilizam suas chaves para acessar os valores. Assim,
podemos dizer que o dicionário é um tipo de mapeamento, ou
seja, ele mapeia valores (chaves) para outros valores arbitrários
(conteúdos). Mapeamentos são mutáveis. Em Python, existe, no
momento, apenas um tipo de mapeamento padrão, o dicionário.
>>> letra={}
>>> letra[‘a’]=’abrigo’
>>> letra[‘b’]=’bola’
>>> letra[‘c’]=’carro’
>>> letra
{‘a’: ‘abrigo’, ‘b’: ‘bola’, ‘c’: ‘carro’}
>>> letra[‘c’]=’casa’
>>> letra
{‘a’: ‘abrigo’, ‘b’: ‘bola’, ‘c’: ‘casa’}
>>> letra[‘a’]
‘abrigo’
>>> d.values()
dict_values([‘alfa‘, ‘beta‘])
Algoritmos e programação em Python para o Ensino Técnico Integrado
112
>>> ‘a‘ in d
True
Capítulo 7 - Dicionários
113
for i in d:
print(d[i])
alfa
beta
• pop()
Apaga um elemento específico no dicionário e retorna o
valor removido.
Ex.:
Algoritmos e programação em Python para o Ensino Técnico Integrado
118
EXERCÍCIOS
b) ( ) {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
d) ( ) [0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9]
Capítulo 7 - Dicionários
119
a) ( )1
ana maria
2
joao batista
3
fabio
b) ( ) ana maria
joao batista
fabio
Algoritmos e programação em Python para o Ensino Técnico Integrado
120
c) ( )1
2
3
d) ( ) ana maria
1
joao batista
2
fabio 3
a) ( )ABC
d) ( ) NDA
d) ( ) NDA
FUNÇÕES
Uma função é um bloco de código contendo início e
fim, sendo que esse bloco de código só é executado quando é
chamado.
Existem, na verdade, duas possibilidades de objetos função:
funções embutidas e funções definidas pelo usuário. Uma
função embutida é aquela pré-definida pela linguagem.
A propósito, o Python apresenta várias funções embutidas,
algumas das quais já vimos no decorrer deste livro, tais como:
type(), len(), range() etc. Uma função embutida é executada
quando é chamada pelo seu nome. Assim, se a função já existe
na linguagem, basta ao programador fazer a chamada dessa
função para executá-la.
O interpretador do Python possui várias funções e
múltiplos tipos embutidos que sempre estão disponíveis. Na
Figura 77, estão todas as funções, em ordem alfabética.
8.2 MÓDULOS
saudacao.alo()
alo()
<nome da função>()
Capítulo 8 - Funções
133
import calculadora
<nome_da_função>()
<nome_da_função>(x,y)
soma(2,3)
return <valor>
Algoritmos e programação em Python para o Ensino Técnico Integrado
140
EXERCÍCIOS
def c(x,y):
if x==y:
return True
else:
return False
resultado=c(4,3)
print(resultado)
Algoritmos e programação em Python para o Ensino Técnico Integrado
142
def w(x):
if x%2==0:
return True
else:
return False
print(w(4))
print(w(3))
print(w(2))
w(1)
def s():
soma=0
for i in range(0,10,2):
soma += i
print(s())
def s():
soma=0
for i in range(0,10,2):
soma += i
print(s())
Algoritmos e programação em Python para o Ensino Técnico Integrado
144
REFERÊNCIAS
SOBRE A AUTORA