Mauro Cesar Bernardes 25/Fevereiro/2014
MAC2166
Introdução à Computação para Engenharia
- aulas 01 e 02 -
Agenda
• Página graúna
• Instalação do Python
• Python Shell
• Variáveis
• Operadores relacionais
• Operadores numéricos
• Comando de saída print()
• Comando de entrada input()
• Conversor de tipo int()
• Exemplos de problemas
• Comando while
• Comando if, elif, else
http://grauna.ime.usp.br
http://python.org/download/
Python Shell
Python Shell
Variáveis
São nomes dados a áreas de memória
Esses nomes podem ser compostos de algarismos, letras ou _
O primeiro caractere não pode ser um algarismo
Palavras reservadas (print, if, while, etc) não podem ser utilizadas para variáveis (veremos isso mais à frente...)
Exemplos de nomes de variáveis:
Após definidas, armazenam informações que podem ser alteradas.
Servem para:
Guardar valores intermediários
Construir estruturas de dados
nota (correto) aluno01 (correto) 1aluno (incorreto) _x (correto) nota!01 (incorreto) nota 01 (incorreto)
Atribuição
Uma variável é modificada usando o comando de atribuição:
<var> = <expressão>
É possível também atribuir a várias variáveis simultaneamente:
var1,var2,...,varN = expr1,expr2,...,exprN
Exemplos:
nota_maxima = 10
a = 2
c = a
b = c
soma = nota_maxima
fator = 3
x1, x2, x3 = 5,4,7
Atribuição
Variáveis: revisão
• Nomes de variáveis devem obrigatoriamente iniciar com uma letra ou sublinhado (_).
• Podem conter números e o símbolo sublinhado (_)
Exemplos de nomes válidos e inválidos
Nome Válido?
a1
velocidade Velocidade90 Salario medio Salario_medio
_b 1a
sim
sim
sim
não
sim
sim
não
Operadores numéricos
Operador Descrição
+ Adição
- Subtração
* Multiplicação
/ Divisão
// Divisão inteira
% Módulo (resto da divisão)
** Potência
Operadores numéricos
Operadores relacionais
Utilizados para realização de comparações Também chamados expressões lógicas
Resultam em verdadeiro (True) ou falso (False)
Símbolo matemático
Operador Python
operação
= = = Igualdade
> > Maior que
< < Menor que
≠ != diferente
≥ >= Maior ou igual
≤ <= Menor ou igual
Operadores relacionais
Utilizado para realização de comparações
Primeiros comandos em Python
Saída de dados: print()
Entrada de dados: input()
Saída: print()
Forma geral: print (expr,expr,...)
Os valores das expressões são escritos um após o outro sem pular de linha:
>>> print ("1.001 ao quadrado é ",1.001**2) 1.001 ao quadrado é 1.002001
Por exemplo:
>>> aluno = 1234
>>> nota = 8.5
>>> print ("A nota do aluno", aluno, "é", nota A nota do aluno 1234 é 8.50
Entrada: input()
• O input() permite interagir com o usuário (normalmente atribuindo valor a uma variável)
– Formato: input("mensagem")
– onde mensagem é uma string opcional que será exibida para orientar quanto ao valor que se espera.
• Exemplo:
– >>> a = input("Entre com um número: ")
– Entre com um número: 21 – >>> print (a)
– 21
O comando input() espera que se digite algo que faça sentido do lado direito de um sinal de atribuição.
Exemplo:
– >>> print (a) – 19
– >>> b = input()
– 15
– >>> b – 15
– >>> c = input("entre com um número: ")
– entre com um número: 37
Entrada: input()
Mas Atenção!!!!
Analise o trecho abaixo
Entrada: input()
Algo errado??
O comando input() lê o que for digitado no
teclado como uma sequência de caracteres (string), incluindo os números.
Entrada: input()
Para a conversão de um caractere em um número inteiro, devemos utilizar
int()
Entrada: input()
Entrada: input()
Python Shell
Python Shell
Python
PROBLEMA 0:
Dados dois inteiros, calcular a sua soma.
• Primeira tentativa:
a = 3 b = 4
soma = a + b
print("A soma de a + b é igual a soma")
Python: Edição
Python: Execução
Python: Resultado
PROBLEMA 0:
Dados dois inteiros, calcular a sua soma.
• Segunda tentativa:
a = 3 b = 4
soma = a + b
print("A soma de a + b é igual a", soma)
Python: Resultado
PROBLEMA 0:
Dados dois inteiros, calcular a sua soma.
• Terceira tentativa:
a = 3 b = 4
soma = a + b
print("A soma de", a, "+", b, "é igual a", soma)
Python: Resultado
PROBLEMA 0:
Dados dois inteiros, calcular a sua soma.
• Quarta tentativa:
a = input("Digite o primeiro número: ") b = input("Digite o segundo número: ") soma = a + b
print("A soma de", a, "+", b, "é igual a", soma)
Python: Resultado
PROBLEMA 0:
Dados dois inteiros, calcular a sua soma.
• Quinta tentativa:
atexto = input("Digite o primeiro número: ") btexto = input("Digite o segundo número: ") a = int(atexto)
b = int(btexto) soma = a + b
print("A soma de", a, "+", b, "é igual a", soma)
Python: Resultado
PROBLEMA 0:
Dados dois inteiros, calcular a sua soma.
• Sexta tentativa:
a = int(input("Digite o primeiro número: ")) b = int(input("Digite o segundo número: ")) soma = a + b
print("A soma de", a, "+", b, "é igual a", soma)
Python: Resultado
Exercício
• Faça um programa que leia dois valores inteiros, armazene os valores nas variáveis y e z, calcule o valor de x de acordo com a fórmula abaixo e
apresente o resultado.
x = y^2 + z/5
Estrutura de repetição: while
• Utilizadas para executar partes de um programa várias vezes, normalmente dependendo de uma condição.
while <condição>:
comando_1 comando_2 comando_3
comando_fora_do_while
x=1
while x<3:
print(x) x = x + 1
print("fim do programa")
• while
:repete um bloco de comandos enquanto uma condição for verdadeira.
Exercício1: Faça um programa que imprima os números pares de 1 a 10
Exercício2: Faça um programa que leia um número n e imprima os valores pares de 0 a n
Problema 1:
Leia uma sequência de números inteiros diferentes de zero e calcule sua soma. O programa deverá terminar quando for
digitado um zero.
Por exemplo, para a sequência:
12 17 4 -6 8 0
o seu programa deve escrever o número
35.
num = int(input("Digite um inteiro: ")) soma = 0
while num != 0:
soma = soma + num
num = int(input("Digite um inteiro: ")) print("A soma é", soma)
Python: Resultado
Problema 2:
Dados números inteiros n e k, com k>=0, determinar n
k. Por exemplo, dados os números 3 e 4 o seu programa
deve escrever o número 81.
n = int(input("Digite o valor de n: ")) k = int(input("Digite o valor de k: ")) pot = 1
i = 1
while i <= k:
pot = pot*n i = i + 1
print("A potencia é", pot)
print("O valor de %d elevado a %d é %d" %(n, k, pot))
Python: Resultado
Problema 3:
Dado um número inteiro n >= 0, calcular n! .
n = int(input("Digite o valor de n: ")) fat = 1
i = 2
while i <= n:
fat = fat*i i = i + 1
print("O valor de %d! é =" % n, fat)
Python: Resultado
Condições: if, else
• Condições servem para selecionar quando uma parte do programa deve ser executada ou quando deve ser
simplesmente ignorada
if <condição>:
comando_1 comando_2
comando_fora_do_if
a=int(input("valor 1:")) b=int(input("valor 2:")) if a > b:
print("maior valor:", a) print("fim do programa")
if <condição>:
comando_1 comando_2 else:
comando_3 comando_4
comando_fora_do_if_else
a=int(input("valor 1:")) b=int(input("valor 2:")) if a>b:
print("maior valor:", a) else:
print("maior valor:", b) print("fim do programa")
Mas e se a for igual a b????
Condições: if, elif, else
if <condição>:
comando_1 comando_2
elif <condição>:
comando_3 comando_4
elif <condição>:
comando_5 comando_6 else:
comando_7 comando_8
comando_fora_do_if_else
a=int(input("valor 1:")) b=int(input("valor 2:")) if a > b:
print("maior valor:", a) elif a==b:
print(a,"=",b) else:
print("maior valor:", b) print("fim do programa")
Problema 4:
Dados um número inteiro n, n>0, e uma sequência com n números inteiros, determinar a soma dos inteiros positivos
da sequência. Por exemplo, para a sequência de 6 números
-2 7 0 -5 8 4
o seu programa deve escrever o número 19.
n = int(input("Digite o tam da seq: ")) soma = 0
while n > 0:
num = int(input("Digite um num da seq: ")) n = n - 1
if num > 0:
soma = soma + num
print("A soma dos positivos é", soma)
Python: Resultado
Problema 5:
Dados um número inteiro n, n>0, e uma sequência com n números inteiros, determinar a soma dos inteiros positivos e a soma dos inteiros negativos da sequência. Por exemplo, para a sequência
6
-2 7 0 -5 8 4
o seu programa deve escrever os números 19 e -7.
n = int(input("Digite o tam da seq: ")) somap = 0
soman = 0
while n > 0:
num = int(input("Digite um num da seq: ")) if num > 0:
somap = somap + num else:
soman = soman + num n = n – 1
print("A soma dos positivos é", somap) print("A soma dos negativos é", soman)
Python: Resultado
Tabela Verdade: Operador and (e)
O resultado é verdadeiro apenas quando todos os operadores forem verdadeiros
v1 V2 v1 and v2
True True
True False False True False False
True
False
False
False
Tabela Verdade: Operador or (ou)
O resultado é falso apenas quando todos os operadores forem falsos
v1 V2 v1 or v2
True True
True False False True False False
True
True
True
False
Tabela Verdade: Operador not (não)
O resultado é uma inversão do valor
v1 not v1
True False
False True
Operadores lógicos
• Utilizados para agrupar operações com lógica booleana
• Python permite a utilização de três operadores lógicos:
and (e), or (ou), not (não)
Operador Python Operação
and e
or ou
not não
Problema 6:
Dados um número inteiro n>0 e as notas de n alunos, determinar quantos ficaram de recuperação. Um aluno está de recuperação se sua
nota estiver entre 30 e 50 (nota máxima é 100).
n = int(input("Digite n: ")) rec = 0
cont = 0
while cont < n:
media = int(input("Digite uma nota: ")) if media >= 30 and media < 50:
rec = rec + 1 cont = cont + 1
print(rec, "alunos ficaram de recuperação")
Python: Resultado
Exercícios:
(Entregar em 11/03)
(variáveis, input e print)
1. Faça um programa que leia 2 números inteiros (entrada) e imprima (saída) a sua média aritmética.
2. Faça um programa que leia um número inteiro e imprima o seu antecedente e o seu sucessor.
3. Faça um programa que leia um valor (inteiro) de uma conta em uma lanchonete, representando o gasto realizado pelo cliente e imprima o valor total a ser pago, considerando que o restaurante cobra 10% para o garçom.
4. Faça um programa que leia dois valores inteiros, sendo um para hora e outro para minutos, que representam a hora corrente e informe quantos segundos se passaram deste o início do dia (0h).
Exercícios: Entregar em 11/03
de Segunda a Quinta (2, 3, 4 e 5) Sexta, Sábado e Domingo (6, 7 e 1)
acima de 65 ou abaixo de 12 anos
60% 40%
entre 12 e 65 anos 35% 5%
5. Faça um programa que leia um número e diga se ele é par ou ímpar
6. Faça um programa que leia 2 números e imprima uma mensagem informando maior deles. Detalhe: se os números forem iguais, imprima uma mensagem avisando ao usuário que são iguais.
7. Faça um programa que informe o maior valor de 3 números lidos.
8. Faça um programa que leia três notas de um aluno, calcule sua média aritmética e imprima uma mensagem dizendo se o aluno foi aprovado, reprovado ou deverá fazer prova de recuperação. O critério de aprovação é o seguinte:
aprovado (média 5); reprovado (média < 3) e prova de recuperação( 3 média < 5).
9. Faça um programa que leia 3 números e imprima uma das seguintes mensagens:
todos os números são iguais;
todos os números são diferentes; ou apenas dois números são iguais.
10. Faça um programa que leia 3 números e imprima o valor intermediário, entre o menor e o maior número. Suponha que o usuário irá fornecer três números diferentes.
11. Faça um programa que leia 3 números e os imprima em ordem decrescente.
12. Um cinema faz descontos no seu preço relativos ao dia da semana e a idade dos clientes. Faça um programa que leia o preço normal de um ingresso, o dia na semana e a idade do cliente e informe o preço final. As datas da semana são representados por números de 1 a 7 e os descontos seguem a tabela abaixo