Buscar

Aulas Computação 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Computação I – EB1/Nuclear - MAB114 Computação I – EB1/Nuclear - MAB114 
 Profª. Ana LuisaProfª. Ana Luisa
Computação I - 2012/2 - aula 1 2
➢ Quantos já programaram antes ?
➢ Quais linguagens ?
➢ Quantos tem computador em casa com acesso a Internet ?
➢ Qual Sistema Operacional ?
➢ Quantos são calouros ?
➢ Quem veio de outro curso ?
➢ Nível de inglês ?
Computação I - 2012/2 - aula 1 3
Acessar o link abaixo para participar do grupo de discussão da 
Disciplina:
https://groups.google.com/d/forum/comp1_eb1_ufrj2013
Pedir para se associar ao grupo e aguardar aprovação.
Todos os avisos serão dados através desta lista.
Slides e listas de exercícios: serão enviados para o grupo.
As dúvidas podem/devem ser enviadas para a lista de discussão.
A lista deve ser usada apenas para discussão de assuntos 
relacionados a disciplina.
Computação I - 2012/2 - aula 1 4
Salas e horários:
3ª: 13h - 15h – A203
5ª: 13h – 15h – A204
Monitor: Igor Garcia de Oliveira
Computação I - 2012/2 - aula 1 5
Avaliação
Provas, Trabalho e Listas de Exercícios
Provas
P1: 16/05/2013 - 8h
P2: 27/06/2013 - 8h
P3: 04/07/2013 – 8h (Prova Final ou 2ª Chamada)
P4: 11/07/2013 – 8h 
(Prova Final para aqueles que fizeram 2ª Chamada)
Valor das Avaliações:
P1 = 10.0
P2 = 9.0
 Trabalho = 1.0
Bônus (exercícios feitos no laboratório) = 1.0 na média
P3 = 10.0 (se for 2ª chamada da P1) ou 
 9.0 (se for 2ª chamada da P2) ou
 10.0 (se for Prova Final)
P4 = 10.0
Computação I - 2012/2 - aula 1 6
Cálculo da Média
 Média = {(P1+P2 + Trabalho)/2}
• (Média+bonus) ≥ 7.0 : Aprovado direto
• (Média+bonus) < 3.0 : Reprovado direto
• 3.0 ≤ (Média+bonus) < 7.0 : Prova Final
Final = {(Média+Prova Final)}/2
• Final ≥ 5.0 : Aprovado 
• Final < 5.0 : Reprovado
Computação I - 2012/2 - aula 1 7
Avisos Importantes
1- Em caso de ausência em uma das provas P1 ou P2, o aluno deverá 
fazer a prova P3 como segunda chamada e, eventualmente, a P4 como
prova final.
2- Ausência em 2 provas: reprovado.
3- Proibido a utilização de celulares nos dias das provas. 
4- Nenhuma nota/média será arredondada.
5- As revisões de prova serão feitas durante o horário de aula.
6- Apenas os alunos regularmente inscritos serão autorizados a fazer 
prova. Alunos que não tenham seus nomes na pauta não poderão fazer 
prova.
Computação I - 2012/2 - aula 1 8
Ementa
- Introdução a Algoritmos e à Programação
- Linguagem Python:
- Função
- Tipos, variáveis e operadores
- Módulos
- comandos de Leitura e Escrita
- estruturas de decisão e repetição
- estruturas de dados: Sequências, Listas, Tuplas, Matrizes
- Strings
Computação I - 2012/2 - aula 1 9
Introdução
Computação I - 2012/2 - aula 1 10
Objetivo da disciplina: aprender a construir programas 
de computador.
Exemplos de Programas ?
Computação I - 2012/2 - aula 1 11
Objetivo da disciplina: aprender a construir programas 
de computador.
Exemplos de Programas ?
Explorer, Firefox, MSN, Windows, Word, Media Player, …
Computação I - 2012/2 - aula 1 12
Objetivo da disciplina: aprender a construir programas 
de computador.
Exemplos de Programas ?
Explorer, Firefox, MSN, Windows, Word, Media Player, …
Exemplo: Qual a “tarefa” que o Firefox deve realizar?
Computação I - 2012/2 - aula 1 13
Exemplo: Qual a “tarefa” que o Firefox deve realizar?
Digitar um endereço
Página solicitada
Firefox
http://www.google.com.br/
Computação I - 2012/2 - aula 1 14
Exemplo: Como o Firefox realiza esta “tarefa”?
Digitar um endereço
Página solicitada
Firefox
http://www.google.com.br/
Computação I - 2012/2 - aula 1 15
AlgoritmoAlgoritmo
 Método efetivo expresso como um conjunto de instruções
que devem ser feitas para realizar uma tarefa. 
Por exemplo, para trocar a resistência de um chuveiro devemos:
1. Adquirir uma resistência nova;
2. Localizar o chuveiro a ser manipulado;
3. Abrir o chuveiro;
4. Retirar a resistência defeituosa;
5. Colocar a resistência nova;
6. Fechar o chuveiro;
7. Descartar a resistência defeituosa.
Computação I - 2012/2 - aula 1 16
Como seria um algoritmo para trocar o pneu de um carro?
Computação I - 2012/2 - aula 1 17
O Algoritmo a seguir para lavar o cabelo está bem definido?
1. molhe o cabelo 
2. coloque o xampu 
3. massageie 
4. enxágue 
5. repita 
Computação I - 2012/2 - aula 1 18
O Algoritmo a seguir para lavar o cabelo está bem definido?
1. molhe o cabelo 
2. coloque o xampu 
3. massageie 
4. enxágue 
5. repita 
 - não está definido quanto de xampu deve ser colocado; 
 - não diz quanto tempo deve massagear; 
 - não diz quando paramos a repetição; 
 - não diz até quando enxaguar. 
Computação I - 2012/2 - aula 1 19
Uma versão melhorada:
1. molhe o cabelo 
2. repita duas vezes 
 2.1. coloque a quantidade correspondente a uma tampa 
 de xampu no cabelo 
 2.2. massageie o cabelo até fazer espuma 
 2.3. enxágue até tirar o xampu 
Computação I - 2012/2 - aula 1 20
Características
 Finitude: deve sempre terminar após um número finito de passos.
 Bem-definido: cada passo de um algoritmo deve ser precisamente 
 definido (sem ambiguidades).
 Entradas: deve ter zero ou mais entradas (informações que 
 são fornecidas antes do algoritmo iniciar).
 Saídas: deve ter uma ou mais saídas (resultado final do algoritmo).
 Efetividade: todas as operações devem ser suficientemente 
 básicas de modo que possam ser em princípio executadas
 com precisão em um tempo finito por uma pessoa. 
Computação I - 2012/2 - aula 1 21
Algoritmo - CaracterísticasAlgoritmo - Características
 
Entrada Algoritmo Saída
Finitude
Entrada Firefox Saída
Passos bem-definidos
Conjunto de Instruções
http://www.google.com.br/
Computação I - 2012/2 - aula 1 22
Problema: Faça um algoritmo para jogar o jogo da velha.
Computação I - 2012/2 - aula 1 23
Problema: Faça um algoritmo para jogar o jogo da velha.
Tabuleiro : 1 2 3
4 5 6
7 8 9
- Jogue(n) : Jogar na posição n.
- Faça2 : Retorna 5 se a posição 5 estiver vazia. Caso contrário,
 retorna qualquer uma das seguintes posições que esteja
 vazia: 2,4,6 ou 8.
- Ganha(p) : verdade se o jogador p puder vencer fazendo uma jogada.
Computação I - 2012/2 - aula 1 24
Problema: Faça um algoritmo para jogar o jogo da velha.
Movimentos : X para jogadas ímpares e O para jogadas pares.
Jogada = 1 : jogue(1)
Jogada = 2 : Se posição(5) = vazia então jogue(5) c.c. jogue(1)
Jogada = 3 : Se posição(9) = vazia então jogue(9) c.c. jogue(3)
Jogada = 4 : Se ganha(X) então jogue(ganha(X)) {bloque vitória adv}
c.c. jogue(faça2)
Jogada = 5 : Se ganha(X) então jogue(ganha(X)) {vença}
 c.c. se ganha(O) então jogue(ganha(O))
 c.c. se posição(7) = vazia então jogue(7) c.c. jogue(3)
Jogada = 6 : Se ganha(O) então jogue(ganha(0))
 c.c. se ganha(X) então jogue(ganha(X)), c.c. jogue(faça2)
Jogada = 7 , 9 : Se ganha(X) então jogue(ganha(X))
 c.c. se ganha(O) então jogue(ganha(O));
 c.c. jogue em qualquer posição vazia.
Jogada = 8 : Se ganha(O) então jogue(ganha(O))
 c.c. se ganha(X) 
 então jogue(ganha(X));
 c.c. jogue em qualquer posição vazia.
Computação I - 2012/2 - aula 1 25
Problema: Faça um algoritmo para jogar o jogo da velha.
Podemos fazer um algoritmo semelhante ao anterior para jogar xadrez?
Você consegue pensar em um outro algoritmo para jogar o jogo da velha?
Este novo algoritmo poderia ser usado para jogar xadrez?
Computação I - 2012/2 - aula 1 26
Problema: Faça um algoritmo para jogar o jogo da velha.
Para fazer um movimento :
1. Observeas configurações do tabuleiro resultantes de cada uma das 
 possíveis jogadas que podem ser executadas;
2. Decida pelo melhor movimento. Para escolher qual a melhor configuração 
 dentre um conjunto de configurações do tabuleiro, faça :
a) Verifique se é uma posição vencedora. Escolha esta.
b) Se não, considere todos os movimentos que o oponente pode 
 fazer a seguir.
 Veja qual o pior para nós.
 Suponha que o opositor escolherá tal movimento.
 Seja qual for a classificação deste pior movimento, passe para cima
 como a classificação do nó que estamos considerando.
c) O melhor nó é aquele com a classificação mais alta.
Computação I - 2012/2 - aula 1 27
Problema: Faça um algoritmo para jogar o jogo da velha.
Computação I - 2012/2 - aula 1 28
Problema: Faça um algoritmo para jogar o jogo da velha.
Computação I - 2012/2 - aula 1 29
Problema: Faça um algoritmo para jogar o jogo da velha.
Computação I - 2012/2 - aula 1 30
Programa de ComputadorPrograma de Computador
 Conjunto de instruções que descrevem como uma tarefa 
deve ser realizada por um computador. Ou seja, o computador
deve ser capaz de “entender” as instruções.
Algoritmo Programa
O computador “entende” linguagem de máquina: 01011100110.
Como traduzir um algoritmo para código de máquina?
“Traduzir”
Algoritmo Programa 01001111010101
Linguagem Natural Linguagem de Programação Ling. Máquina
(sintaxe e semântica)
?
Computação I - 2012/2 - aula 1 31
Linguagens e Paradígmas de Programação
1- Linguagem Assembly:representação simbólica do linguagem
de máquina. Linguagem de baixo nível.
2- Linguagens Procedurais: descrevem passo a passo o 
 procedimento que deve ser feito para resolver uma tarefa 
 específica. 
3- “Linguagens” Orientadas a Objetos: dados e métodos de 
 manipulação dos dados são mantidos dentro de uma unidade
 chamada objetos.
4- Linguagens Funcionais: mudanças de estados são definidas
como uma função.
5- Linguagens de Programação em Lógica: expressa o 
 conhecimento com relação a um problema.
Computação I - 2012/2 - aula 1 32
Linguagens e Paradígmas de Programação
1- Programação Imperativa: define sequências de comandos
que um computador deve seguir para realizar uma tarefa.
2- Programação Declarativa: expressa o que deve ser realizado 
 sem dizer como realizar.
3- Programação Orientada a Objeto
4- Programação Funcional
 
Algoritmo Programa 01001111010101
Linguagem Natural Linguagem de Programação Ling. Máquina
(sintaxe e semântica)
?
Computação I - 2012/2 - aula 1 33
Linguagens e Paradígmas de Programação
1- Programação Imperativa: define sequências de comandos
que um computador deve seguir para realizar uma tarefa.
2- Programação Declarativa: expressa o que deve ser realizado 
 sem dizer como realizar.
3- Programação Orientada a Objeto
4- Programação Funcional
 
Algoritmo Programa 01001111010101
Linguagem Natural Linguagem de Programação Ling. Máquina
(sintaxe e semântica)
Compilador
Computação I - 2012/2 - aula 1 34
Compilador
Programa Compilador Programa 
Fonte Objeto
Entrada
Saída
Entrada
Computação I - 2012/2 - aula 1 35
Interpretador
Programa Interpretador Saída 
Fonte
Entrada
Computação I - 2012/2 - aula 1 36
● Simples o suficiente para um curso introdutório
● Muitos recursos
● Orientação a Objetos
● Escalável (módulos, classes, controle de exceções)
● Biblioteca embutida extensa e grande número de 
módulos fornecidos por terceiros
● Grande variedade de aplicações
● Linguagem interpretada (script)
● Multi-plataforma
● Grátis!
● Comunidade bastante grande
Por que Python?
Computação I - 2012/2 - aula 1 37
Quem usa Python?
Computação I - 2012/2 - aula 1 38
Links, referências e materiais sobre Python: 
http://orion.lcg.ufrj.br/python/
http://www.python.org/
Para instalar o Python
1) Instalar o interpretador Python 2.7 ou 3.2 
(observe o sistema operacional e se é 32bits ou 64 bits)
Computação I - 2012/2 - aula 1 39
Links, referências e materiais sobre Python: http://orion.lcg.ufrj.br/python/
Para instalar o Python
1) Instalar o interpretador Python 2.7 ou 3.2 
Computação I - 2012/2 - aula 1 40
1) Instalar o interpretador Python 2.7 ou 3.2
Computação I - 2012/2 - aula 1 41
1) Instalar o interpretador Python 2.7 ou 3.2
Computação I - 2012/2 - aula 1 42
1) Instalar o interpretador Python 2.7 ou 3.2
Computação I - 2012/2 - aula 1 43
1) Instalar o interpretador Python 2.7 ou 3.2 
Computação I - 2012/2 - aula 1 44
1) Instalar o interpretador Python 2.7 ou 3.2 
Computação I - 2012/2 - aula 1 45
1) Instalar o interpretador Python 2.7 ou 3.2 
Computação I - 2012/2 - aula 1 46
1) Instalar o interpretador Python 2.7 ou 3.2
Computação I - 2012/2 - aula 1 47
1) Instalar o interpretador Python 2.7 ou 3.2 
Computação I - 2012/2 - aula 1 48
1) Instalar o interpretador Python 2.7 ou 3.2
1.5) Instalar o numpy para aplicações numéricas.
1.6) Instalar o scipy para aplicações científicas.
1.7) Instalar o matplotlib para gráficos e interface. 
Computação I – EB1/Nuclear - MAB114 Computação I – EB1/Nuclear - MAB114 
 Profª. Ana LuisaProfª. Ana Luisa
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49

Outros materiais