mac2166 introdução à computaçãomcesar/aulas_01e02.pdf · variáveis variáveis podem ser...

59
MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014

Upload: others

Post on 09-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

MAC2166

Introdução à Computação - aulas 01 e 02 -

Mauro Cesar Bernardes

25/Fevereiro/2014

Page 2: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 3: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

http://python.org/download/

Page 4: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python Shell

Page 5: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python Shell

Page 6: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 7: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 8: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Atribuição

Page 9: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 10: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 11: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Operadores numéricos

Page 12: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 13: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Operadores relacionais

Utilizado para realização de comparações

Page 14: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Primeiros comandos em Python

Saída de dados: print()

Entrada de dados: input()

Page 15: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 16: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 17: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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()

Page 18: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Mas Atenção!!!!

Analise o trecho abaixo

Entrada: input()

Algo errado??

Page 19: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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()

Page 20: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Entrada: input()

Page 21: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python Shell

Page 22: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python Shell

Page 23: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python

Page 24: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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")

Page 25: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Edição

Page 26: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Execução

Page 27: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 28: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 29: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 30: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 31: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 32: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 33: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 34: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 35: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 36: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 37: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 38: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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.

Page 39: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 40: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 41: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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))

Page 42: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 43: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 44: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 45: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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????

Page 46: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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")

Page 47: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 48: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 49: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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)

Page 50: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 51: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 52: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 53: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Tabela Verdade: Operador not (não)

O resultado é uma inversão do valor

v1 not v1

True False

False True

Page 54: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 55: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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")

Page 56: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

Python: Resultado

Page 57: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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).

Page 58: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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

Page 59: MAC2166 Introdução à Computaçãomcesar/aulas_01e02.pdf · Variáveis Variáveis podem ser definidas como itens que podem ser alterados. São nomes dados a áreas de memória Nomes

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