Baixe o app para aproveitar ainda mais
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
Compartilhar