Informática e
Programação
(Python)
Engenharia de Alimentos
Engenharia Química
Prof.: Eder Daniel Corvalão
EMENTA OU CONHECIMENTOS
Introdução a linguagem de programação
Python.
* Python: estrutura condicional
* Python: estrutura repetitiva
* Python: vetores e modularização
Calendário
26/10 Avaliação 2 (P2)
09/11 Python: introdução e estrutura condicional
16/11 Python: estrutura repetitiva
23/11 Python: vetores e modularização
30/11 Python: Revisão exercícios
07/12 Avaliação 3 (P3)
14/12 Considerações finais
PYTHON: história e evolução
Linguagem de script orientada a objeto (1991) e
desenvolvida por Guido van Rossum.
PYTHON: história e evolução
* Linguagem de Alto Nível
* Interpretada
* Programação:
- Modular
- Orientada a objeto
- Funcional
* Tipagem dinâmica e forte
* Vasta coleção de bibliotecas
* Código aberto (GPL)
PYTHON: história e evolução
* Diversas estruturas de dados nativos
- lista, tupla, dicionário
* Gerenciamento de memória automático
* Tratamento de exceções
*Sobrecarga de operadores
* Indentação para estrutura de bloco
* Multiplataforma
* Bem documentada
* Muito usada
PYTHON: história e evolução
* Fácil, simples
* Sintaxe limpa
* Diversas bibliotecas já inclusas
* Mais expressiva do que muitas linguagens
(C/C++, Perl, Java)
* Interativa
* Protótipos rápidos
* Alta produtividade
* Interfaces para outras linguagens com C/C++
e Fortran
PYTHON: história e evolução
Quem usa?
* Google
* Nasa
* Yahoo
* Apple
* Nokia
* IBM
* Linux
* Entre outros milhões
Linguagem Portugol e o VisualG
Aprender a lógica?
→ Portugol VISUALG
Implementar a lógica numa linguagem?
→ Python THONNY
Linguagem Portugol e o VisualG
Thonny
É uma ferramenta que auxilia a criação e
execução de programas na linguagem
Python.
O Thonny é composto de várias janelas,
cada uma com uma funcionalidade
específica.
Conjunto de softwares - construção de
programas – permite editar código, depurar,
testar.
Linguagem Portugol e o VisualG
Python - Thonny
Linguagem Portugol e o VisualG
VisualG
Instalação: ir ao link
[Link]
E fazer o download
Atenção:
Portugol → linguagem (regras sintáticas)
VisualG → ferramenta para escrever e
interpretar programas.
Estrutura Sequencial
➢
Expressões aritméticas
➢
Variáveis e tipos básicos
➢
Três operações básicas de programação
Entrada de dados
Processamento de dados
Saída de dados
➢
Funções matemáticas
Estrutura Sequencial
➢
Operadores aritméticos no Python
Estrutura Sequencial (variáveis)
➢
Tipos básicos em Python
Estrutura Sequencial (variáveis)
Tipos de Dados Básicos:
Estrutura Sequencial (variáveis)
➢
Nomes de variáveis
1. Primeiro caractere deve ser sempre uma letra ou
um caractere sublinhado (famoso underline ‘_’)
2. Os outros caracteres podem ser letras
maiúsculas, minúsculas, números e underline. Não
usar acentos ou til.
3. Não são permitidos espaço em branco ‘ ’ e nem
caracteres especiais, como @, $, +, -, % e !
4. Ainda não é permitido o uso de palavras
reservadas
Entrada – Processamento - Saída
Anteriormente vimos estes componentes na
resolução de problemas com o computador.
Como representar no Python / Thonny ?
ENTRADA: usa-se a palavra reservada INPUT
INPUT(X)
Significa que o valor colocado pelo usuário usando
a entrada padrão (teclado por exemplo) será
armazenado no local de memória dado a X
Entrada – Processamento - Saída
Como representar
SAÍDA: usa-se a palavra reservada Print
Print (X)
Print (“Conteúdo de X é: “, X)
No primeiro caso irá mostrar na tela apenas o valor
contido na variável X
No segundo caso irá mostrar na tela a mensagem
entre aspas, seguido do valor de X
Entrada – Processamento - Saída
Como representar
ATRIBUIÇÃO: usa-se o símbolo de igual =
X=4
Significa que a posição de memória em que X está
armazenado vai receber o valor 4
Outros exemplos:
nome ← “Iaroslau”
Y←6
media ← (X + Y) / 2
Entrada – Processamento - Saída
Exercício: Calcular a área e preço de um terreno
Entrada – Processamento - Saída
Exercícios:
Entrada – Processamento - Saída
Exercícios: “troco”
preco: float; dinheiro: float; troco: float
qtd: int
preco = float(input("Preco unitario do produto: "))
qtd = int(input("Quantidade comprada: "))
dinheiro = float(input("Dinheiro recebido: "))
troco = dinheiro - (preco * qtd)
print(f"TROCO = {troco:.2f}")
Entrada – Processamento - Saída
Exercícios:
Entrada – Processamento - Saída
Exercícios: “pagamento”
nome: str
valor: float; pagamento: float
horas: int
nome = str(input("Nome: "))
valor = float(input("Valor por hora: "))
horas = int(input("Horas trabalhadas: "))
pagamento = valor * horas
print(f"O pagamento para {nome} deve ser {pagamento:.2f}")
Entrada – Processamento - Saída
Exercícios:
Fazer um programa para ler uma duração de tempo
em segundos, daí imprimir na tela esta duração no
formato horas:minutos:segundos.
Exemplo de execução (teste)
Entrada – Processamento - Saída
Exercícios: “duracao”
duracao: int; horas: int; minutos: int; segundos: int; resto: int
duracao = int(input("Digite a duracao em segundos: "))
horas = duracao // 3600;
resto = duracao % 3600;
minutos = resto // 60;
segundos = resto % 60;
print(f"{horas}:{minutos}:{segundos}")
Thonny – usando o DEBUG
É possível executar o programa “passo-a-passo” o
que facilita encontrar erros e entender melhor o
funcionamento do seu programa Primeiro entrar em
“modo Debug” via menu Executar → Depurar
programa atual; ou, clicando na opção com
desenho de um ‘inseto’
Para seguir passo
a passo usar
botão <F7>
Estrutura Condicional
➢
Expressões comparativas
➢
Expressões lógicas
➢
Exercícios
Estrutura Condicional
Operadores comparativos no Python
Expressões relacionais:
As expressões
a<b relacionais sempre
b != (a + 1) voltam um valor lógico
a * 2 >= b (Verdadeiro ou Falso)
Estrutura Condicional
OPERADORES LÓGICOS
Também conhecidos como operadores
booleanos.
Estrutura Condicional
Estrutura Condicional
Exercícios
2) Uma operadora de telefonia cobra R$ 50.00
por um plano básico que dá direito a 100
minutos de telefone.
Cada minuto que exceder a franquia de 100
minutos custa R$ 2.00. Fazer um programa
para ler a quantidade de minutos que uma
pessoa consumiu, daí mostrar o valor a ser
pago.
Entrada – Processamento - Saída
Exercícios: “operadora”
minutos: int
valor: float
minutos = int(input("Digite a quantidade de minutos: "))
valor = 50.0
if minutos>100:
valor = valor + (minutos - 100) * 2.0
print(f"Valor a pagar: R$ {valor:.2f}")
Estrutura Condicional
Exercícios
1) Elabore um algoritmo que, dada a idade de
um atleta, classifique-o em uma das seguintes
categorias:
Infantil -> 5 a 10 anos
Juvenil -> 11 a 17 anos
Master -> acima de 17 anos
Estrutura Condicional
Exercícios
2) Faça uma algoritmo que leia duas notas de
um aluno, o número de aulas ministradas e o
número de aulas assistidas por este aluno
nesta disciplina.
Calcule e mostre a media final e diga se ele foi
aprovado ou reprovado. Considere que para
um aluno ser aprovado de obter média final
igual ou maior a 6 e ter no mínimo 75% de
frequência.
Estrutura Condicional
Estrutura condicional múltipla escolha
Quando se tem várias opções de fluxo a serem
tratadas com base no valor de uma variável, ao
invés de várias estruturas if-else encadeadas,
podemos utilizar a estrutura "escolha".
Usando as estruturas conhecidas como ficaria
um programa que recebe um código de região
e escreve na tela o nome desta região?
(suponha que 1-Norte 2-Nordeste 3-Cento-
oeste 4-Sudeste 5-sul)
Estrutura Condicional
Estrutura condicional múltipla escolha
Sintaxe:
match variavel:
case valor1:
comando1
comando2
case valor2:
comando3
comando4
case _:
comando5
comando6
Estrutura Condicional
Estrutura condicional múltipla escolha
Resolução do problema das regiões com a
estrutura ESCOLHA:
Estrutura Condicional
Exercícios
3) Escreva um algoritmo para ler o preço de
etiqueta de um produto e calcular o preço final
a pagar pelo cliente de acordo com a seguinte
tabela:
0 A vista 25% de desconto
1 Cheque 20%
2 Cartão (2x) 10%
3 Cartão (3x) 5%
outra não identificada sem desconto
Considere preço final = preço etiqueta – valor
desconto. Apos os cálculos exibir o preço final
para o cliente.
Estrutura Repetitiva - enquanto
Estrutura Repetitiva
exemplo while
Estrutura Repetitiva - para
Estrutura Repetitiva
exemplo for
Estrutura Repetitiva
PROBLEMA: Escreva um algoritmo para
calcular a média da idade de um grupo de 6
pessoas.
Solicitar que o usuário digite cada uma das
idade e então calcular a média. Ao final do
programa deve ser exibida uma mensagem
com a média destas idades
Estrutura Repetitiva: while
Exemplo
Leia uma quantidade indeterminada de duplas de
valores inteiros X e Y.
Escreva para cada X e Y uma mensagem que indique
se estes valores foram digitados em ordem crescente
ou decrescente.
O programa deve finalizar quando forem digitados
dois valores iguais.
Entrada – Processamento - Saída
Exercícios: “crescente”
x: int; y: int
print("Digite dois numeros:")
x = int(input())
y = int(input())
while x != y:
if x > y:
print("DECRESCENTE!")
else:
print("CRESCENTE!")
print("Digite dois numeros:")
x = int(input())
y = int(input())
Estrutura Repetitiva: enquanto
Desafio
Estrutura repetitiva: enquanto
Exercícios
1) Um posto de combustíveis deseja determinar qual
de seus produtos tem a preferência de seus clientes.
Escreva um algoritmo para ler o tipo de combustível
abastecido (codificado da seguinte forma: 1.Álcool
[Link] [Link] [Link]).
Caso o usuário informe um código inválido (fora da
faixa de 1 a 4) deve ser solicitado um novo código
(até que seja válido).
O programa será encerrado quando o código
informado for o número 4, devendo então mostrar a
mensagem "MUITO OBRIGADO", bem como as
quantidades de cada combustível.
Estrutura repetitiva: enquanto
Exercícios
1) … exemplo
Estrutura Repetitiva: for
Util:
Usado quando se sabe previamente a quantidade
de repetições, ou o
intervalo de valores
Estrutura Repetitiva: for
exemplo
Estrutura repetitiva
Exercícios
2) Ler um número inteiro N, daí mostrar na tela a
tabuada de N para 1 a 10, conforme exemplo.
Estrutura Repetitiva: para
Desafio:
Estrutura repetitiva:
Exercícios
3) Em uma corrida de automóveis com N voltas,
foram anotados os tempos, em ordem, de um piloto a
cada volta. Fazer um algoritmo que dê o melhor e o
pior tempo e em que volta aconteceram.
Estrutura repetitiva:
Exercícios
4) Escreva um algoritmo para simular uma caixa
registradora de supermercado. O caixa deve digitar a
quantidade comprada e o preço unitário de cada item
O algoritmo deve mostrar: o total da compra e a
quantidade de volumes comprados.
** Não se sabe previamente quantos volumes cada
pessoa tem no seu carrinho. Assim, ao digitar
quantidade comprada = 0 (zero) indica que não há
mais itens e compra pode ser totalizada.
Estrutura repetitiva:
Exercícios
5) A prefeitura de uma cidade fez uma pesquisa entre
seus habitantes, coletando dados sobre o salário e
número de filhos. A prefeitura dejesa saber:
- Média do salário da população
- Média do número de filhos
- Maior salário
- Percentual de pessoas com salário até R$ 500,00
O final da leitura de dados se dará com a entrada de
um salário negativo
VETORES
Declaração de vetores em Python
Vetores - Problema exemplo
Fazer um programa para ler um número inteiro
positivo N (máximo = 6) depois ler N números
quaisquer e armazená-los em um vetor. Ao final
mostrar na tela todos os elementos do vetor
Vetores
exemplo: soma_vetor
Fazer um programa para ler um número inteiro
positivo N (máximo = 6) depois ler N números
reais e armazená-los em um vetor.
Ao final:
➢
mostrar na tela todos os elementos do vetor
➢
Mostrar a soma e a média dos elementos do
vetor.
exemplo: soma_vetor
n: int
soma: float; media: float
n = int(input("Quantos numeros voce vai digitar? "))
vetor: [float] = [0 for x in range(n)]
for i in range(n):
vetor[i] = float(input("Digite um numero: "))
soma = 0
for i in range(n):
soma = soma + vetor[i]
media = soma / n
print("\nVALORES = ", end="")
for i in range(n):
print(f"{vetor[i]:.1f} ", end="")
print(f"\nSOMA = {soma:.2f}")
print(f"MEDIA = {media:.2f}")
Vetores
Exercício: 1) números negativos
Fazer um programa para ler um número inteiro
positivo N (máximo = 6) depois ler N números
quaisquer e armazená-los em um vetor. Ao final
mostrar na tela todos os números negativos
Vetores
Exercício: 2) números pares
Fazer um programa para ler um número inteiro
positivo N (máximo = 6) depois ler N números
inteiros e armazená-los em um vetor.
Ao final, mostrar na tela todos os números pares e
a quantidade de números pares
Vetores
Exercício: 3) maior posição
Faça um programa que leia N números reais e
armazene-os em um vetor. Em seguida, mostrar
na tela o maior número do vetor (supor não ter
empates). Mostrar também a posição do maior
elemento, considere a primeira posição como 0
(zero)
Vetores
Exercício: 4) abaixo da média
Vetores
Exercícios: 5) somando vetores
Faça um algoritmo que some o conteúdo de
dois vetores e armazene o resultado em um
terceiro vetor.
Para simplificar defina os 3 vetores com poucas
posições (4 ou 5 são suficientes). O usuário vai
digitar os valores dos 2 primeiros vetores; e,
depois você deve exibir o conteúdo do terceiro
vetor com o resultado da soma.
Vetores – Exercício: 6) aprovados
Exercícios
Vetores
Aprovados
Vetores
Desafio:
Escrever um programa com três vetores [1..10]
- Nome
- Idade
- Endereço
O programa deve ter um menu com as opções:
- cadastrar pessoas em índice (n)
- mostrar pessoa do índice (n)
- procurar pessoa por nome
- fim