mac2166 introdução à computaçãomcesar/aulas_01e02.pdf · variáveis variáveis podem ser...
TRANSCRIPT
MAC2166
Introdução à Computação - aulas 01 e 02 -
Mauro Cesar Bernardes
25/Fevereiro/2014
Agenda
• Instalação do Python • Python Shell • Variáveis • Operadores relacionais • Operadores numéricos • Comando de saída print() • Comando de entrada input • Exemplos de problemas • Comando while • Comando if, elif, else
http://python.org/download/
Python Shell
Python Shell
Variáveis Variáveis podem ser definidas como itens que podem ser alterados.
São nomes dados a áreas de memória
Nomes podem ser compostos de algarismos, letras ou o símbolo_
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:
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 Utilizado para realização de comparações
Também chamadas 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 sequencia 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()
Python Shell
Python Shell
Python
PROBLEMA 0: Dada 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: Dada 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: Dada 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: Dada 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: Dada 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: Dada 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
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.
Problema 1: Leia uma sequência de números inteiros diferentes de zero e
calculando sua soma. O programa termina 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: "))
soma1 = 0
while num != 0:
soma = soma1 + 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 nk. 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 (variáveis, input e print)
1. Faça um programa que leia 2 números (entrada) e imprima (saída) a sua média aritmética.
2. Faça um programa que leia um número e imprima o seu antecedente e o seu sucessor.
3. Faça um programa que leia um valor de 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 um valor da hora corrente (hora e minutos) e informe quantos minutos se passaram deste o início do dia (0h).
Exercícios:
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%
1. Faça um programa que leia um número e diga se ele é par ou ímpar
2. Faça um programa que leia 2 números e imprima uma mensagem dizendo o maior deles. Detalhe:
se os números forem iguais, imprima uma mensagem avisando ao usuário.
3. Faça um programa que informe o maior valor de 3 números entrados.
4. 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 final. O critério de
aprovação é o seguinte:
aprovado (média 7); reprovado (média < 3) e prova final ( 3 média < 7).
5. 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.
6. 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 os números serão diferentes.
7. (DESAFIO) Faça um programa que leia 3 números e os imprima em ordem decrescente.
8. (DESAFIO) 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
Exercícios para estudo
• Resolver os exercícios de 1 a 6 disponíveis em:
http://www.ime.usp.br/~macmulti/exercicios/inteiros/index.html