Computação 1

Propaganda
Computação 1
aula 1 - Teórica
professor: Leonardo Carvalho
Resolver problemas de forma
rápida e
com precisão
Exemplo:
escrever uma
palavra
Exemplo:
escrever uma
palavra
exatamente
1687 vezes
Programação de
computadores
Programação de computadores
Instruções em códigos
Linguagem de programação
Linguagens naturais vs linguagem de máquina
Linguagem natural
Linguagem de
programação
Linguagem de máquina
uma das
linguagens de programação
mais populares
do mundo
segundo o índice TIOBE
Desktop, web,
mobile
Utilizada em
Grandes empresas
Linguagem de script em
Softwares profissionais
Linguagem de script em
Softwares profissionais
Sobre o curso
Página oficial
www.dcc.ufrj.br/~pythonufrj
Minha página
www.dcc.ufrj.br/~lcarvalho/comp1.html
aulas
teóricas e práticas
Quint
as-fei
13h às ras
Sala F 15h
2-011
ras
i
e
f
s
Terça 15h
13h às
Lep 2
avaliação
provas e trabalhos
Provas
● 3 provas
● É necessário fazer pelo menos 2 provas!
● Nota final
○ NF = 30%P1 + 50%max(P2, P3) + 20%T
○ NF = 40%P2 + 40%P3 + 20%T (se não fizer a P1)
● Aprovação: NF >= 5.0
O que vamos
aprender?
Tópicos
●
●
●
●
●
Manipulação de dados
Funções
Estrutura condicional
Estruturas de repetição
Comunicação com o usuário
Como deixar o
curso mais
divertido?
Módulo TURTLE
Módulo PYGAME
Mãos à obra
Antes de tudo: instalação do Python
No Windows:
32 bits: python.org/ftp/python/2.7.10/python-2.7.10.msi
64 bits: python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi
Modo interativo
Ambiente para testarmos nossos códigos
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license"
for more information.
>>>
Modo interativo
IDLE
Modo interativo
Editor online: repl.it/languages/python
Primeiros passos: valores numéricos
>>> 1
1
>>> 10
10
>>> 4.2
4.2
>>> 8
8
>>> 346874187
346874187
>>> 548.8918725
548.8918725
Tipos de dados
Números inteiros
Números reais (float)
Operações fundamentais
>>> 8+5
13
>>> 7-3
4
>>> 27*39
1053
>>> 12/3
4
>>> 20/3
6
>>> 20.0/3
6.666666666666667
>>> 20.0//3
6.0
Potência
>>> 8**5
32768
>>> 5**3
125
>>> 12.2**5.7
1556865.2849978525
>>> 9**0.5
3.0
>>> 72**0.6
13.013661254372382
Resto: operador módulo
>>>
2
>>>
3
>>>
1
>>>
0
13/5
13%5
17%8
21%7
Expressões
>>> 5+8-2*7/3
9
>>> 20*(13-7)/8
15
>>> 17+8*23-10
191
>>> 17+8*(23-10)
121
>>> (17+8)*(23-10)
325
>>> 5+8-2*7/3.1
8.483870967741936
Expressões: regra de precedência
1.
2.
3.
4.
Expressões entre parênteses
Exponenciação
Multiplicação, divisão, módulo (*)
Adição, subtração (*)
(*) da esquerda para a direita
Expressões: regra de precedência
>>>
?
>>>
?
>>>
?
>>>
?
1+2*3
3*2**(2+1)*5
100/25/4
100/(25/4)
Testando
>>> 15.9827*32.5487
520.2161074899999
>>> 15.9827+32.5487
48.5314
>>> 15.9827-32.5487**0.5
10.277553200836984
O que essas operações têm em comum?
Podemos
guardar valores!
Variáveis
>>> a = 15.9827
>>> b = 32.5487
>>> a*b
520.2161074899999
>>> a+b
48.5314
>>> a-b**0.5
10.277553200836984
Identificadores: nomes de variáveis
Letras, números, underline.
>>> x = 2
>>> valor = 12
>>> valor_total = 1938.8
>>> _1x = 10
>>> 1x = 10
SyntaxError: invalid syntax
Valor: dado armazenado
>>>
>>>
>>>
>>>
>>>
idade = 30
peso = 60.2
altura = 1.72
x = 3*2
y = 5 + 4
Uso de variáveis
Simplificar expressões
>>> (18.37**2 - 3*18.37 + 8)/(3*18.37 - 7)
6.035063396383288
>>> x = 18.37
>>> (x**2 - 3*x + 8)/(3*x - 7)
6.035063396383288
Uso de variáveis
Organizar cálculos
>>> a = 2
>>> b = -6
>>> c = 4
>>> delta = b**2 - 4*a*c
>>> x0 = (-b-delta**0.5)/(2*a)
>>> x1 = (-b+delta**0.5)/(2*a)
>>> x0
1.0
>>> x1
2.0
Atribuição
>>>
>>>
>>>
>>>
6
>>>
x = 2
y = 3*x
x = 4
y
camarote = 10000.00
Atribuição múltipla
>>>
>>>
2
>>>
4
>>>
>>>
12
>>>
2
>>>
9
x, y = 2, 4
x
y
a, b, c = 12, x, y+5
a
b
c
Manipulação de
texto
Strings: sequências de caracteres
>>> 'a'
'a'
>>> "b"
'b'
>>> 'Bob Esponja'
'Bob Esponja'
>>> "Aham... senta la, Claudia."
'Aham... senta la, Claudia.'
>>> "armaria mainha, nam"
'armaria mainha, nam'
Strings: sequências de caracteres
Por enquanto, nada de caracteres especiais.
>>> 'chão'
'ch\xc3\xa3o'
>>> 'ಠ_ಠ'
'\xe0\xb2\xa0_\xe0\xb2\xa0'
Concatenação de strings
>>> 'a' + 'b'
'ab'
>>> a = 'Um milhao de reais '
>>> b = 'em barras de ouro, '
>>> a+b
'Um milhao de reais em barras de ouro, '
>>> c = 'que vale mais do que dinheiro'
>>> a+b+c
'Um milhao de reais em barras de ouro, que
vale mais do que dinheiro'
Multiplicação de inteiro por string
>>> 3*'a'
'aaa'
>>> 10*'hue'
'huehuehuehuehuehuehuehuehuehue'
>>> 10*'hue' + 'br'
'huehuehuehuehuehuehuehuehuehuebr'
Escrever uma
palavra
exatamente
1687 vezes
>>> 1687*'bola '
Divirtam-se
Download