Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rodrigo de Toledo
(original: Claudio Esperana)
calculadora
Por exemplo, as quatro operaes aritmticas so
* multiplicao
/ diviso % resto
** potenciao
Operadores aritmticos
Observaes:
A precedncia dos operadores aritmticos a usual. Diviso por 0 resultado em um erro de execuo grave! Isso tambm vale para resto da diviso por 0 (%). As operaes com inteiros resultados em nmeros no inteiros so TRUNCADOS, ou seja, arredondados para baixo. Pode-se agrupar operaes com parnteses recursivamente (no h colchetes ou chaves)
((a+b)*(a+c))*3
Variveis
So nomes dados a reas de memria
Nomes podem ser compostos de algarismos, letras ou _ O primeiro caractere no pode ser um algarismo Palavras reservadas (print, if, while, etc) so proibidas
(correto) (correto) (incorreto) (correto) (incorreto) (incorreto)
Exemplos de nomes:
salario aluno01 1ano _x nota!01 nota 01
Servem para:
Atribuio
Uma varivel modificada usando o comando de atribuio: <var> = <expresso> possvel tambm atribuir a vrias variveis simultaneamente: var1,var2,...,varN = expr1,expr2,...,exprN Exemplos:
Em Python
>>> a=1 >>> a 1
>>> a=2*a
>>> a 2 >>> a,b=3*a,a
>>> a,b
(6, 2) >>> a,b=b,a >>> a,b (2, 6)
Tipos de dados
As variveis podem conter diferentes tipos
Int: nmeros inteiros de preciso fixa (? a ?)
1 , 2 , 15 , -19
Ex.:
>>> a ="1" >>> b = 1 >>> a+b
ERRO! Identificado pelo Python
Nmeros inteiros
>>> a=2**30 # Potenciao >>> a 1073741824 >>> b=a*1000 #converso para long
>>> b
1073741824000L >>> b/1000 1073741824L >>> 10.0 # ponto flutuante 10.0 >>> 99e3 99000.0 #notao cientfica opcional
>>> 99e-3
0.099
Expresses booleanas
Tambm chamadas expresses lgicas Resultam em verdadeiro (True) ou falso (False) So usadas em comandos condicionais e de repetio Servem para analisar o estado e permitir escolher o prximo passo Operadores mais usados
Expresses booleanas
>>> 1==1 True >>> 1==2 False >>> 1==1 or 1==2 True >>> 1==1 and 1==2 False >>> 1<2 and 2<3 True >>> not 1<2 False >>> not 1<2 or 2<3 True >>> not (1<2 or 2<3) False
Expresses booleanas
As constantes True e False so apenas smbolos convenientes Qualquer valor no nulo visto como verdadeiro enquanto que 0 (ou False) visto como falso Operadores relacionais so avaliados antes de not, que avaliado antes de and, que avaliado antes de or
print
Forma geral: print expr,expr,... Os valores das expresses so escritos um aps o outro sem pular de linha:
Por exemplo: >>> aluno = 1234 >>> nota = 8.5 >>> print A nota do aluno, aluno, eh, nota A nota do aluno 1234 eh 8.50
input
O comando input permite perguntar ao usurio um valor (normalmente atribudo a uma varivel)
Formato: input(pergunta) onde pergunta uma string opcional que ser exibida para indicar o valor que se espera. Exemplo:
>>> a = input("Entre com um numero: ") Entre com um numero: 19 >>> print a 19
input
O comando input espera que se digite algo que faa sentido do lado direito de um sinal de atribuio. Ex:
>>> print a 19 >>> b = input() a >>> b 19 >>> c = input("entre com uma cadeia de caracteres: ") entre com uma cadeia de caracteres: abc Traceback (most recent call last): ERRO! Identificado File "<stdin>", line 1, in ? pelo Python File "<string>", line 0, in ? NameError: name 'abc' is not defined >>> c = input("entre com uma cadeia de caracteres: ") entre com uma cadeia de caracteres: "abc" >>> c 'abc' Para leitura de strings existe o comando raw_input que ser visto depois.
Criando um .py
Executando o .py
ou...
Double-click
Dica Para rodar (double-click) e ver o resultado final, terminar com raw_input("Enter to exit")
if
o comando condicional por excelncia
Primeira forma:
if <expressao>: <bloco de comandos>
if
Exemplo 1
a = input("Entre com um numero:") if a < 0: print a," negativo" print "Obrigado!"
Bloco de comandos
Em python, um bloco de comandos identificado por uma sequncia de comandos identao, por exemplo 2 espaos. Exemplo:
print num2, 'eh maior que', num print 'A diferena deles eh', num2-num
print 'acabou!'
if
Seno Segunda forma:
if expressao: comandos1 else: comandos2
Executa seq de comandos 1 caso expresso seja verdadeira. Caso contrrio, executa seq de comandos 2
if
Exemplo 2
a = input("Entre com um numero:")
if a < 0: print a," negativo" else: print a," zero ou positivo" print "Obrigado!"
Execuo 1:
Entre com um numero:2 2 zero ou positivo Obrigado!
Execuo 2:
Entre com um numero:-2 -2 negativo Obrigado!
if
elif Terceira forma:
if expressao1: comandos1 elif expressao2: comandos2 else: comandos(N)
Executa seq de comandos 1 caso expresso1 seja verdadeira. Caso contrrio, testa expressao2 e executa seq de comandos 2 se verdadeira
Vrios desses...
if
Exemplo 3
a = input("Entre com um numero:")
if a < 0: print a," negativo" elif a==0: print a," zero" else: print a," positivo" print "Obrigado!"
Execuo 1:
Entre com um numero:0 0 zero Obrigado!
Execuo 2:
Entre com um numero:2 2 positivo Obrigado!
Exerccios (if)
1. 2. 3. 4. Faa um programa que leia um nmero e diga se ele par ou mpar Faa um programa que leia 2 nmeros e imprima uma mensagem dizendo o maior deles. Detalhe: se os nmeros forem iguais, imprima uma mensagem avisando ao usurio. Faa um programa que informe o maior valor de 3 nmeros entrados. Faa um programa que leia trs notas de um aluno, calcule sua mdia aritmtica e imprima uma mensagem dizendo se o aluno foi aprovado, reprovado ou dever fazer prova final. O critrio de aprovao o seguinte: aprovado (mdia 7); reprovado (mdia < 3) e prova final ( 3 mdia < 7).
5.
Faa um programa que leia 3 nmeros e imprima uma das seguintes mensagens: todos os nmeros so iguais; todos os nmeros so diferentes; ou apenas dois nmeros so iguais.
Faa um programa que leia 3 nmeros e imprima o valor intermedirio, entre o menor e o maior nmero. Suponha que os nmeros sero diferentes. (DESAFIO) Faa um programa que leia 3 nmeros e os imprima em ordem decrescente. (DESAFIO) Um cinema faz descontos no seu preo relativos ao dia da semana e a idade dos clientes. Faa um programa que leia o preo normal de um ingresso, o dia na semana e a idade do cliente e informe o preo final. As datas da semana so representados por nmeros de 1 a 7 e os descontos seguem a tabela abaixo
de Segunda a Quinta (2, 3, 4 e 5) acima de 65 ou abaixo de 12 anos 60% Sexta, Sbado e Domingo (6, 7 e 1) 40%
6. 7. 8.
entre 12 e 65 anos
35%
5%