![Page 1: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/1.jpg)
MC102 - Algoritmos e Programação de Computadores
Turma Z - Segundo Semestre de 2019
![Page 2: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/2.jpg)
A partir desse slide, utilizaremos o material desenvolvido pela professora Sandra Avila e disponível em http://www.ic.unicamp.br/~sandra/
![Page 3: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/3.jpg)
Conteúdo da Prova 1
● Variáveis
● Tipos (int, float, str, bool) e Operações básicas
● Expressões booleanas/lógicas (and, or, not)
● Comandos condicionais (if-elif-else)
● Comandos repetitivos (for, while)
● Listas
● Strings
![Page 4: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/4.jpg)
Revisão do Conteúdo
![Page 5: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/5.jpg)
![Page 6: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/6.jpg)
Objetos
● Qualquer dado em Python é um objeto, que é de um certo tipo específico.
● O tipo de um objeto especifica quais operações podem ser realizadas sobre o objeto.
![Page 7: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/7.jpg)
Objetos
print(type("Olá turma de MC102"))print(type(5))
<class 'str'><class 'int'>
"Olá turma de MC102" é uma string ou texto cadeia de caracteres, do tipo str5 é um inteiro, do tipo int
16
![Page 8: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/8.jpg)
Objetos
print(type("5"))
<class 'str'>
5 é um número inteiro, mas como está entre aspas é uma string.
17
![Page 9: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/9.jpg)
Variáveis
● Variáveis são uma forma de se associar um nome dado pelo programador com um objeto.
altura = 10nota = 9.75turma = "KLMN"
![Page 10: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/10.jpg)
Variáveis: Regras para Nomes
● Deve começar com uma letra (maiúscula ou minúscula) ou underscore(_). Nunca pode começar com um número.
● Pode conter letras maiúsculas, minúsculas, números e subscrito.
● Não pode-se utilizar como parte do nome de uma variável:
● { ( + - * / \ n ; . , ? $
● Letras maiúsculas e minúsculas são diferentes: c = 4 C = 3
19
![Page 11: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/11.jpg)
Variáveis: Regras para Nomes
O nome 102MC é ilegal pois não começa com uma letra.
mais$ é ilegal pois contém um caractere ilegal, o símbolo de cifrão.
class é uma palavra reservada em Python.
102MC = "disciplina legal"mais$ = 1000000class = "MC102"
20
![Page 12: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/12.jpg)
Variáveis: Palavras Reservadas
and as assert break class continue
def del elif else except exec
finally for from global if import
in is lambda nonlocal not or
ass raise return try while with
yield True False None
22
![Page 13: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/13.jpg)
Variáveis: Palavras Reservadas
and as assert break class continue
def del elif else except exec
finally for from global if import
in is lambda nonlocal not or
ass raise return try while with
yield True False None
22O que vimos até agora :)
![Page 14: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/14.jpg)
Atribuição
● O comando = do Python é o comando de atribuição. Ele associa a variável do lado esquerdo do comando com o objeto do lado direito do comando.
23
![Page 15: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/15.jpg)
Atribuição
● O comando = do Python é o comando de atribuição. Ele associa a variável do lado esquerdo do comando com o objeto do lado direito do comando.
Lembrete! = é atribuição == é igualdade
23
![Page 16: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/16.jpg)
Atribuição
● Se uma variável for usada sem estar associada com nenhum objeto, um erro ocorre.
● No exemplo abaixo não podemos usar a variável c, pois esta não foi definida (associada com algum objeto).
a = 10b = 10a = a + ba20a = a + c
25
![Page 17: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/17.jpg)
Tipos
● int: números inteiros. Ex: 10, -24.
● float: números decimais. Ex: 2.4142, 3.141592.
● str ou string: textos. Ex: "Olá turma".
● bool: valores booleanos falso (False) e verdadeiro (True).
![Page 18: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/18.jpg)
Tipo Inteiro
● Objetos do tipo int armazenam valores inteiros.
● Literais do tipo int são escritos comumente como escrevemos inteiros.
● Exemplos: 3, 1034, e -512.
● O tipo int possui precisão arbitrária (limitado a memória do seu computador).
27
![Page 19: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/19.jpg)
Tipo Ponto Flutuante
● Objetos do tipo float armazenam valores “reais”.
● Literais do tipo float são escritos com um ponto para separar a parte inteira da parte decimal. Exemplos: 3.1415 e 9.8.
● Possuem problemas de precisão pois há uma quantidade limitada de memória para armazenar um número real no computador.
28
![Page 20: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/20.jpg)
Tipo String
● Objetos do tipo string armazenam textos.
● Um literal do tipo string deve estar entre aspas simples ou aspas duplas. Exemplos de strings:
○ 'Olá Pessoal!' ou "Olá Pessoal".
31
![Page 21: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/21.jpg)
Tipo Bool
● Em Python o tipo bool especifica os valores booleanos falso (False) e verdadeiro (True).
● Podemos criar variáveis associadas a booleanos, mas o uso mais comum é na verificação de resultados de expressões relacionais e lógicas.
a = Trueprint(type(a))<class ‘bool’>
20
![Page 22: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/22.jpg)
Tipagem em Python
● Uma variável em Python possui o tipo correspondente ao objeto que ela está associada naquele instante.
● Python não possui tipagem forte como outras linguagens.○ Isto significa que você pode atribuir objetos de diferentes tipos para uma
mesma variável.○ Como uma variável não possui tipo pré-definido, dizemos que Python
tem tipagem fraca.○ Em outras linguagens cria-se variáveis de tipos específicos e elas só
podem armazenar valores daquele tipo para o qual foram criadas.○ Estas últimas linguagens possuem tipagem forte.
32
![Page 23: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/23.jpg)
Tipagem em Python
a = 3print(a)3a = 90.45print(a)90.45a = "Olá vocês!"print(a)Olá vocês!a = Trueprint(a)True
33
![Page 24: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/24.jpg)
Operações Básicas
● Saída de dados: print()
● Entrada de dados: input()
● Expressões
● Operadores Aritméticos
![Page 25: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/25.jpg)
A Função print()
24
![Page 26: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/26.jpg)
Escrevendo na Tela: print()
● Para imprimir um texto, utilizamos o comando print().● O texto pode ser um literal do tipo string.
● No meio da string pode-se incluir caracteres de formatação especiais.● O símbolo especial \n é responsável por pular uma linha na saída.
print("De novo isso?")De novo isso?
print("De novo isso? \n Olá Pessoal!")De novo isso?Olá Pessoal! 25
![Page 27: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/27.jpg)
Escrevendo o Conteúdo de uma Variável na Tela
● Podemos imprimir, além de texto puro, o conteúdo de uma variável utilizando o comando print().
● Separamos múltiplos argumentos a serem impressos com uma vírgula.
a = 10print("A variável contém o valor", a)A variável contém o valor 10
26
![Page 28: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/28.jpg)
Escrevendo o Conteúdo de uma Variável na Tela
● A impressão com múltiplos argumentos inclui um espaço extra entre cada argumento.
a = 10b = 3.14print("a contém o valor", a, "e b contém o valor", b)a contém o valor 10 e b contém o valor 3.14
27
![Page 29: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/29.jpg)
Escrevendo o Conteúdo de uma Variável na Tela
● Podemos converter todos os valores em strings e usar o operador + para concatenar strings de forma a imprimir sem estes espaços:
28
a = 10b = 3.14print("a contém o valor " + str(a) + " e b contém o valor " + str(b))a contém o valor 10 e b contém o valor 3.14
![Page 30: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/30.jpg)
A Função input()
![Page 31: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/31.jpg)
A Função input()
● Realiza a leitura de dados a partir do teclado.● Aguarda que o usuário digite um valor e atribui o valor digitado a
uma variável.● Todos os dados lidos são do tipo string.
print("Digite um número:")numero = input()print("O número digitado é:" + numero)
30
![Page 32: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/32.jpg)
A Função input()
● Podemos converter uma string lida do teclado em um número inteiro usando a função int() (ou um número float usando a função float()).
print("Digite um número:")numero = int(input())numero = numero * 10print("O número digitado vezes 10 é:", numero)
31
![Page 33: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/33.jpg)
Expressões Aritméticas
![Page 34: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/34.jpg)
Expressões Aritméticas
● Os operadores aritméticos são: +, -, *, /, //, %, **
● Adição: expressão + expressão● Subtração: expressão - expressão● Multiplicação: expressão * expressão● Divisão: expressão / expressão: resultado é sempre um float.● Divisão: expressão // expressão: se os operandos forem inteiros, a
divisão é inteira. Se um deles for ponto flutuante faz uma divisão truncada.● Resto da Divisão: expressão % expressão ● Exponenciação (potenciação): expressão ** expressão
33
![Page 35: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/35.jpg)
Precedência
● Precedência é a ordem na qual os operadores serão avaliados quando o programa for executado.
● Em Python, os operadores são avaliados na seguinte ordem:1. **2. *, /, //, na ordem em aparecerem na expressão3. %4. +, -, na ordem em aparecerem na expressão
● Exemplo: 8 + 10 * 6 é igual a 68
34
![Page 36: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/36.jpg)
Alterando a Precedência
● (expressão) também é uma expressão, que calcula o resultado da expressão dentro dos parênteses, para só então calcular o resultado das outras expressões.○ 5 + 10 % 3 é igual a 6○ (5 + 10) % 3 é igual a 0
● Você pode usar quantos parênteses desejar dentro de uma expressão.● Use sempre parênteses em expressões para deixar claro em qual
ordem a expressão é avaliada!
35
![Page 37: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/37.jpg)
Expressões Relacionais
![Page 38: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/38.jpg)
Expressões Relacionais
● Expressões relacionais são aquelas que realizam uma comparação entre duas expressões e retornam○ False, se o resultado é falso.○ True, se o resultado é verdadeiro.
37
![Page 39: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/39.jpg)
Operadores Relacionais
● Os operadores relacionais da linguagem Python são:○ == : igualdade○ != : diferente○ > : maior que○ < : menor que○ >= : maior ou igual que○ <= : menor ou igual que
38
![Page 40: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/40.jpg)
● expressão == expressão : Retorna verdadeiro quando as expressões forem iguais.
● expressão != expressão : Retorna verdadeiro quando as expressões forem diferentes.
● expressão > expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor maior que a expressão da direita.
● expressão < expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor menor que a expressão da direita.
● expressão >= expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor maior ou igual que a expressão da direita.
● expressão <= expressão : Retorna verdadeiro quando a expressão da esquerda tiver valor menor ou igual que a expressão da direita.
39
![Page 41: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/41.jpg)
Expressões Lógicas
![Page 42: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/42.jpg)
Expressões Lógicas
● Expressões lógicas são aquelas que realizam uma operação lógica (ou, e, não, etc...) e retornam True ou False (como as expressões relacionais).
● Na linguagem Python temos os seguintes operadores lógicos:○ and : operador E○ or: operador OU○ not: operador NÃO
41
![Page 43: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/43.jpg)
Expressões Lógicas
● expressão and expressão : Retorna verdadeiro quando ambas as expressões são verdadeiras.
● expressão or expressão : Retorna verdadeiro quando pelo menos uma das expressões é verdadeira.
● not expressão : Retorna verdadeiro quando a expressão é falsa e vice-versa.
42
![Page 44: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/44.jpg)
Expressões Lógicas
print(8 > 9 and 10 != 2)print(14 > 100 or 2 > 1)print(not(14 > 100) and not(1 > 2))
FalseTrueTrue
43
![Page 45: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/45.jpg)
Precedência de Operadores
Nível Categoria Operadores
7 (alto) exponenciação **
6 multiplicação *, /, //, %
5 adição +, -
4 relacional ==, !=, <=, >=, >, <
3 lógico not
2 lógico and
1 (baixo) lógico or44
![Page 46: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/46.jpg)
Comandos Condicionais
● Permite decidir se um determinado bloco de comandos deve ou não ser executado, a partir do resultado de uma expressão relacional ou lógica.
● if, elif, else
![Page 47: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/47.jpg)
46
![Page 48: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/48.jpg)
Bloco de Comandos 1
FalsoVerdadeiro
Condição47
Bloco de Comandos 2
![Page 49: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/49.jpg)
Comandos Condicionais
● O principal comando condicional é o if, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão é verdadeira
● Os comandos são executados somente se a expressão relacional/lógica for verdadeira.
48
![Page 50: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/50.jpg)
Comandos Condicionais
● O principal comando condicional é o if, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão é verdadeira
● Os comandos são executados somente se a expressão relacional/lógica for verdadeira.
49
dois pontos
![Page 51: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/51.jpg)
Comandos Condicionais
● Uma variação do comando if é o if/else, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão é verdadeira
else:
comandos executados se a expressão é falsadois pontos
dois pontos
comandos indentados
50
![Page 52: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/52.jpg)
Comandos Condicionais
if (condicao1):comandos1
51
if (condicao1):comandos1
else:comandos2
![Page 53: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/53.jpg)
Comandos Condicionais
if (condicao1):if (condicao2):
comandos1else:
comandos2else:
if (condicao3): comandos3
else: comandos4
52
![Page 54: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/54.jpg)
Comandos Condicionais
● O programa determina o menor de dois números.
# Determina o menor de dois números.numero1 = int(input("Digite um número:"))numero2 = int(input("Digite um número:"))
if numero1 < numero2:print("O menor número é:", numero1)
else:print("O menor número é:", numero2)
53
![Page 55: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/55.jpg)
Comandos Condicionais
numero = 5if (numero > 3):
if (numero < 7):print("a")
else: if (numero > -10):
print("b") else: print("c")
54
![Page 56: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/56.jpg)
Comandos Condicionais
Quando apenas uma de várias alternativas é verdadeira podemos usar a construção if-elif-else que em Python é representado por:
if condicao1: comandos1 elif condicao2: comandos2elif condicao3: comandos3elif condicao4: comandos4 else: comandos5
n vezes
55
![Page 57: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/57.jpg)
Comandos Repetitivos
● Permite executar um bloco de comandos várias vezes para obter o resultado esperado.
● Comandos repetitivos, iterativos, laços, loops, …
● while, for
![Page 58: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/58.jpg)
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
Eu adoro programar! Eu adoro programar!
57
![Page 59: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/59.jpg)
Comando while
58
![Page 60: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/60.jpg)
Comando while
● Executa um bloco de comando(s) enquanto a condição é verdadeira (True).
while condicao:comandos
59
![Page 61: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/61.jpg)
Comando while
● Passo 1: Testa condição. ○ Se condição for verdadeira,
vai para o Passo 2○ Senão, vai para Passo 4
● Passo 2: Executa comandos● Passo 3: Volta para Passo 1 Comandos
Condição
Passo 1
Passo 2
Passo 4
Passo 360
![Page 62: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/62.jpg)
Comando while
● Programa que imprime os n primeiros números.
# Imprime os n primeiros númerosn = int(input("Digite um número: "))numero = 1while numero <= n:
print(numero)numero = numero + 1
61
![Page 63: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/63.jpg)
Comando for
62
![Page 64: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/64.jpg)
Comando for
● É a estrutura de repetição mais usada no Python.
● Para cada elemento da lista, em ordem de ocorrência, é atribuído este elemento à variável e então é executado o(s) comando(s).
for variável in lista:comando(s)
63
![Page 65: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/65.jpg)
Comando for
● Passo 1: Verifica se percorreu toda a lista.○ Se não percorreu, atribui-se o próximo
elemento da lista para a variável.○ Se percorreu, vai para Passo 4
● Passo 2: Executa comandos● Passo 3: Volta para Passo 1 Comandos
Próximo elemento?
Passo 1
Passo 2
Passo 4
Passo 364
![Page 66: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/66.jpg)
A Função range
● É comum fazermos um laço for iterar sobre valores numéricos.
● Em Python, a função range(n) gera uma lista com valores de 0 até n-1.
● Programa que imprime todos os números de 0 a 9.
# Imprime todos os números de 0 a 9for numero in range(10):
print(numero)
65
![Page 67: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/67.jpg)
A Função range
● Podemos especificar um passo a ser considerado no intervalo de valores na função range(n)○ range(inicio,fim,passo): gera-se números de inicio
com incremento de passo até fim-1.
66
![Page 68: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/68.jpg)
A Função range
● Programa que imprime todos os números pares entre 0 e 13.
# Imprime todos os números pares entre 0 e 13for numero in range(0,13,2):
print(numero)
024681012
67
![Page 69: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/69.jpg)
while e for
● Programa que imprime os n primeiros números.
# Imprime os n primeiros númerosn = int(input("Digite um número: "))numero = 1while numero <= n:
print(numero)numero = numero + 1
# Imprime os n primeiros númerosn = int(input("Digite um número: "))for numero in range(1,n+1):
print(numero)68
![Page 70: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/70.jpg)
while ou for?
● for : “iteração definida”
● while : “iteração indefinida”, não temos certeza de quantas iterações precisamos nem podemos estabelecer um limite superior.
69
![Page 71: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/71.jpg)
Laços e o Comando break
● O comando break faz com que a execução de um laço seja terminada, passando a execução para o próximo comando depois do final do laço.
while condicao:comando(s)break
comando(s)
for variável in lista:comando(s)break
comando(s)
70
![Page 72: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/72.jpg)
Laços Encaixados
● Para resolver alguns problemas, é necessário implementar um laço dentro de outro laço.
● Estes são laços encaixados.
for i in range(1,11):for j in range(1,6):
print(i, j)
71
![Page 73: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/73.jpg)
Variável Indicadora
72
![Page 74: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/74.jpg)
Variável Indicadora
● Um uso comum de laços é para a verificação se um determinado objeto, ou conjunto de objetos, satisfaz uma propriedade ou não.
● Um padrão que pode ser útil na resolução deste tipo de problema é o uso de uma variável indicadora.○ Assumimos que o objeto satisfaz a propriedade (indicadora = True).○ Com um laço verificamos se o objeto realmente satisfaz a
propriedade.○ Se em alguma iteração descobrirmos que o objeto não satisfaz a
propriedade, então fazemos indicadora = False.73
![Page 75: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/75.jpg)
Exemplo: Número Primo
n = int(input("Digite um número inteiro positivo: "))
numero = 2primo = True # primo é a variável indicadora
while (numero <= n-1) and (primo):if (n % numero == 0): # se n é divisível por numero
primo = Falsenumero = numero + 1
if (primo):print("É primo.")
else:print("Não é primo.")
74
![Page 76: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/76.jpg)
Variável Contadora
75
![Page 77: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/77.jpg)
Variável Contadora
● Considere ainda o uso de laços para a verificação se um determinado objeto, ou conjunto de objetos, satisfaz uma propriedade ou não.
● Um outro padrão que pode ser útil é o uso de uma variável contadora.
○ Esperamos que um objeto satisfaça x vezes uma sub-propriedade. Usamos um laço e uma variável que conta o número de vezes que o objeto tem a sub-propriedade satisfeita.
○ Ao terminar o laço, se a variável contadora for igual à x então o objeto satisfaz a propriedade.
76
![Page 78: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/78.jpg)
Exemplo: Número Primo
n = int(input("Digite um número inteiro positivo: "))
numero = 2divisores = 0 # divisores é a variável contadora
while (numero <= n-1) and (divisores == 0):if (n % numero == 0): # se n é divisível por numero
divisores = divisores + 1numero = numero + 1
if (divisores == 0):print("É primo.")
else:print("Não é primo.")
77
![Page 79: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/79.jpg)
Variável Acumuladora
78
![Page 80: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/80.jpg)
Variável Acumuladora
● Vamos ver alguns exemplos de problemas que são resolvidos utilizando laços.
● Há alguns padrões de solução que são bem conhecidos, e são úteis em diversas situações.
● O primeiro padrão deles é o uso de uma “variável acumuladora”.
79
![Page 81: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/81.jpg)
Soma de Números
● Como n não é definido a priori, não podemos criar n variáveis e depois somá-las.
● A ideia é criar uma variável acumuladora que a cada iteração de um laço acumula a soma de todos os números lidos até então.
acumuladora = 0repita n vezes
leia um número auxacumuladora = acumuladora + aux
80
![Page 82: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/82.jpg)
Soma de Números
# Soma n númerosn = int(input("Digite o valor de n: "))acumuladora = 0for numero in range(n):
aux = int(input())acumuladora = acumuladora + aux # Acumula a soma
print("A soma é:", acumuladora)
● Programa que soma n números.
81
![Page 83: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/83.jpg)
Listas
● Servem para armazenar vários dados de forma simplificada.
● lista = [2,"mc102", 9.75, [2,4], "b"]
![Page 84: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/84.jpg)
Exemplos de Listas
● Lista de inteiros:
● Listas podem conter dados de tipos diferentes:
● Listas podem conter outras listas:
● Ou podem não conter nada. Neste caso [] indica a lista vazia.
x = [2, 45, 12, 9, -2]
x = [2,"qwerty" ,45.99087, 0, "a"]
x = [2, [4,5], [9]]
83
![Page 85: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/85.jpg)
Listas: Como Usar
● Pode-se acessar uma determinada posição da lista utilizando-se um ındice de valor inteiro.
● A sintaxe para acesso de uma determinada posição é:
○ identificador[posição]
● Sendo n o tamanho da lista, os ındices válidos para ela vão de 0 até n − 1.○ A primeira posição da lista tem ındice 0.
○ A última posição da lista tem ındice n − 1.84
![Page 86: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/86.jpg)
Listas: Índices
● O slicing em Python é obtido como
○ identificador[ind1:ind2]
● e o resultado é uma sub-lista com os elementos de ind1 até ind2−1.
notas = [8.0, 5.5, 9.3, 0.5, 3.1]print(notas[1:4])
[5.5, 9.3, 0.5]
85
![Page 87: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/87.jpg)
Listas: Função len
● A função len(lista) retorna o número de itens na lista.
● É muito comum usar a função len junto com o laço for para percorrer todas as posições de uma lista:
notas = [8.0, 5.5, 9.3, 0.5, 3.1]len(notas)
5
notas = [8.0, 5.5, 9.3, 0.5, 3.1]for i in range(len(notas)):
print(notas[i]) 86
![Page 88: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/88.jpg)
Listas: for
● Lembre-se que o for na verdade faz a variável de controle assumir todos os valores de uma lista. Assim:
● E também pode ser implementado como:
notas = [8.0, 5.5, 9.3, 0.5, 3.1]for i in range(len(notas)):
print(notas[i])
notas = [8.0, 5.5, 9.3, 0.5, 3.1]for i in notas:
print(i)87
![Page 89: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/89.jpg)
Listas: append
● Uma operação importante é acrescentar um item no final de uma lista. Isto é feito pela função append.
lista.append(item)
notas = [8.0, 5.5, 9.3, 0.5, 3.1]notas.append(9.5)print(notas)
[8.0, 5.5, 9.3, 0.5, 3.1, 9.5]
88
![Page 90: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/90.jpg)
Strings
● Strings em Python são listas imutáveis de caracteres.
● Strings são representadas por sequências de caracteres entre aspas simples ' ou entre aspas duplas ".
![Page 91: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/91.jpg)
Strings: ResumoMétodo Parâmetros Descrição
strip nenhum Retorna uma string removendo caracteres em branco do início e do fim. Ex: a.strip()
find substring Retorna o índice onde a substring começa na string. Ex: a.find("texto")
split nenhum Separa uma string usando sep como separador e retorna uma lista das substrings. Ex: a.split()
replace substring1, substring2
Substitui todas as ocorrências de uma substring por outra. Ex: a.replace("prova","teste")
list substring Transforma uma string em uma lista onde os itens da lista correspondem aos caracteres da string. Ex: list("texto") ou list(a)
join substring Retorna uma string com a concatenação dos elementos da sequência/lista. Ex: "".join(a)
count substring Retorna o número de ocorrências de uma substring. Ex: a.count("as")
upper nenhum Retorna uma string toda em maiúsculas. Ex: a.upper()
lower nenhum Retorna uma string toda em minúsculas. Ex: a.lower() 90
![Page 92: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/92.jpg)
Exercícios
![Page 93: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/93.jpg)
1. Qual valor é exibido pelo seguinte comando:
a. Nada, é produzido um erro de execução.b. 53c. 54
d. 53.785
print(int(53.785))
![Page 94: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/94.jpg)
1. Qual valor é exibido pelo seguinte comando:
a. Nada, é produzido um erro de execução.
b. 53
c. 54
d. 53.785
print(int(53.785))
![Page 95: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/95.jpg)
2. Qual é o valor impresso ao final da seguinte sequência de comandos?
a. Nada é impresso, ocorre um erro de execução.
b. sexta-feira
c. 32.5
d. 19
dia = "sexta-feira"dia = 32.5dia = 19print(dia)
![Page 96: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/96.jpg)
2. Qual é o valor impresso ao final da seguinte sequência de comandos?
a. Nada é impresso, ocorre um erro de execução.
b. sexta-feira
c. 32.5
d. 19
dia = "sexta-feira"dia = 32.5dia = 19print(dia)
![Page 97: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/97.jpg)
3. O que imprime o seguinte comando?
a. 4 4.5 2
b. 4 4 4.5
c. 4.5 4 2
d. 4.4 4.25 2
print(18/4, 18//4, 18%4)
![Page 98: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/98.jpg)
3. O que imprime o seguinte comando?
a. 4 4.5 2
b. 4 4 4.5
c. 4.5 4 2
d. 4.4 4.25 2
print(18/4, 18//4, 18%4)
![Page 99: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/99.jpg)
4. O que imprime o seguinte comando?
a. <class 'str'>
b. <class 'int'>
c. <class 18>
d. 18
idade = input("Por favor, digite a sua idade: ")# usuário digita 18print(type(idade))
![Page 100: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/100.jpg)
4. O que imprime o seguinte comando?
a. <class 'str'>
b. <class 'int'>
c. <class 18>
d. 18
idade = input("Por favor, digite a sua idade: ")# usuário digita 18print(type(idade))
![Page 101: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/101.jpg)
5. Qual é o valor a expressão a seguir?
a. 3
b. 24
c. 14
d. 13.667
16 - 2 * 5 // 3 + 1
![Page 102: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/102.jpg)
5. Qual é o valor a expressão a seguir?
a. 3
b. 24
c. 14
d. 13.667
16 - 2 * 5 // 3 + 1
![Page 103: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/103.jpg)
6. Depois das atribuições a seguir, quais são os valores de x e y?
a. x = 15 e y = 15b. x = 22 e y = 22c. x = 15 e y = 22d. x = 22 e y = 15
x = 15y = xx = 22
![Page 104: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/104.jpg)
6. Depois das atribuições a seguir, quais são os valores de x e y?
a. x = 15 e y = 15b. x = 22 e y = 22c. x = 15 e y = 22d. x = 22 e y = 15
x = 15y = xx = 22
![Page 105: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/105.jpg)
7. Depois das atribuições a seguir, qual é o valor de a?
a. 1
b. 7
c. 5
d. Nada é impresso, ocorre um erro.
d = 3c = 2b = 4d = c + ba = a + 1print(a)
![Page 106: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/106.jpg)
7. Depois das atribuições a seguir, qual é o valor de a?
a. 1
b. 7
c. 5
d. Nada é impresso, ocorre um erro.
d = 3c = 2b = 4d = c + ba = a + 1print(a)
![Page 107: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/107.jpg)
8. O que o seguinte código imprime?
a. Verdadeiro
b. Falso
c. Verdadeiro
Falso
d. Nada.
if (4 + 5 == 10): print("Verdadeiro")else: print("Falso")
![Page 108: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/108.jpg)
8. O que o seguinte código imprime?
a. Verdadeiro
b. Falso
c. Verdadeiro
Falso
d. Nada.
if (4 + 5 == 10): print("Verdadeiro")else: print("Falso")
![Page 109: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/109.jpg)
9. O que o seguinte código imprime?
a. Verdadeiro
b. Verdadeiro
Falso
c. Falso
d. Falso
Verdadeiro
if (4 + 5 == 10): print("Verdadeiro")else: print("Falso")print("Verdadeiro")
![Page 110: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/110.jpg)
9. O que o seguinte código imprime?
a. Verdadeiro
b. Verdadeiro
Falso
c. Falso
d. Falso
Verdadeiro
if (4 + 5 == 10): print("Verdadeiro")else: print("Falso")print("Verdadeiro")
![Page 111: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/111.jpg)
10. O que o seguinte código imprimirá se x = 3, y = 5 e z = 2?
a. a
b. b
c. c
d. Nada.
if x < y and x < z: print("a")elif y < x and y < z: print("b")else: print("c")
![Page 112: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/112.jpg)
10. O que o seguinte código imprimirá se x = 3, y = 5 e z = 2?
a. a
b. b
c. c
d. Nada.
if x < y and x < z: print("a")elif y < x and y < z: print("b")else: print("c")
![Page 113: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/113.jpg)
11. O que é impresso pelos seguintes comandos?
a. I love Python
b. Python
c. IlovePython
d. Erro, não é possível concatenar três strings.
a = "I"b = "love"c = "Python"print(a+b+c)
![Page 114: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/114.jpg)
11. O que é impresso pelos seguintes comandos?
a. I love Python
b. Python
c. IlovePython
d. Erro, não é possível concatenar três strings.
a = "I"b = "love"c = "Python"print(a+b+c)
![Page 115: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/115.jpg)
12. O que o seguinte código imprime?
a. python!python!python!
b. pythonpythonpython!
c. python!!!
d. Erro, não é possível concatenar e multiplicar strings ao mesmo tempo.
a = "python"b = "!"print(a+b*3)
![Page 116: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/116.jpg)
12. O que o seguinte código imprime?
a. python!python!python!
b. pythonpythonpython!
c. python!!!
d. Erro, não é possível concatenar e multiplicar strings ao mesmo tempo.
a = "python"b = "!"print(a+b*3)
![Page 117: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/117.jpg)
13. Quantas vezes a palavra MC102 é impressa pelos seguintes comandos?
a. 4b. 5c. 6d. 7
frase = "Vou arrasar na prova!"for f in frase[3:8]: print("MC102")
![Page 118: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/118.jpg)
13. Quantas vezes a palavra MC102 é impressa pelos seguintes comandos?
a. 4b. 5c. 6d. 7
frase = "Vou arrasar na prova!"for f in frase[3:8]: print("MC102")
![Page 119: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/119.jpg)
14. Quantas vezes a letra a é impressa pelos seguintes comandos?
a. 0b. 1c. 2d. 3
frase = "Vou arrasar na prova!"for i in range(len(frase)): if i % 2 == 0: print(frase[i])
![Page 120: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/120.jpg)
14. Quantas vezes a letra a é impressa pelos seguintes comandos?
a. 0b. 1c. 2d. 3
frase = "Vou arrasar na prova!"for i in range(len(frase)): if i % 2 == 0: print(frase[i])
![Page 121: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/121.jpg)
15. O que o seguinte código imprime?
a. 4
b. 5
c. 6
d. 7
frase = "Vou arrasar na prova!"print(frase.count("r") + frase.count("v"))
![Page 122: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/122.jpg)
15. O que o seguinte código imprime?
a. 4
b. 5
c. 6
d. 7
frase = "Vou arrasar na prova!"print(frase.count("r") + frase.count("v"))
![Page 123: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/123.jpg)
16. O que é impresso pelo trecho de código a seguir?
a. 6
b. 7
c. 8
d. 9
uma_lista = [3, 67, "gato", [56, 57, "gato"], [ ], 3.14, False]print(len(uma_lista))
![Page 124: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/124.jpg)
16. O que é impresso pelo trecho de código a seguir?
a. 6
b. 7
c. 8
d. 9
uma_lista = [3, 67, "gato", [56, 57, "gato"], [ ], 3.14, False]print(len(uma_lista))
![Page 125: MC102 - Algoritmos e Programação de Computadoresra134985/mc102/Revisao P1.pdf · 2019. 9. 12. · MC102 - Algoritmos e Programação de Computadores Turma Z - Segundo Semestre de](https://reader036.vdocuments.site/reader036/viewer/2022070221/61357eff0ad5d20676476a1d/html5/thumbnails/125.jpg)
Boa Prova!!!