Construção de Algoritmos Unidade 1 – Construção de Algoritmos Profa. Simone de Abreu
Objetivo da Disciplina Capacitar o aluno na resolução de problemas utilizando uma linguagem de programação Desenvolver o raciocínio lógico voltado a programação Desmitificar a programação como uma coisa de “nerds”
Conteúdo da Disciplina Raciocínio lógico aplicado à Resolução de Problemas Conceitos Básicos sobre a Estrutura e Funcionamento de um computador Resolução de problemas com estruturação lógica por meio de Algoritmos Implementação de Algoritmos em uma linguagem de programação (Java) Componentes de um programa Operadores Matemáticos, Relacionais e Lógicos Constantes, Variáveis e Tipos de Dados Estruturas de Seleção e Repetição Vetores
Metodologia de Trabalho Apresentação de Conceitos Discussões em Sala Trabalho em Grupo Apresentação de Resultados Atividades em Laboratório Discussão de Soluções Atividades Extraclasse
Critério de Avaliação Semestre Divido em duas Etapas 1ª Etapa (Avaliação Continuada) – N1 3 provas escritas, individuais e sem consulta – 10,0 pontos 1 Trabalho em Grupo – 10,0 pontos Descarte da Menor nota Média da N1 – (AV1 + AV2 + AV3) / 3,0 2ª Etapa (Prova Final) – N2 1 Prova escrita individual e sem consulta – 10,0 Pontos Média final (N1 + N2) / 2 Aprovação: média >= 6,0
Softwares Utilizados Java JDK 7 com ambiente NetBeans http://netbeans.org/ Imagem que ilustra a a IDE Netbeans
Bibliografia
Bibliografia (cont. )
Principais Conceitos Fonte: www.corbis.com
É A ARTE DE RESOLVER PROBLEMAS ATRAVÉS DA CRIAÇÃO DE UM SOFTWARE Programar É A ARTE DE RESOLVER PROBLEMAS ATRAVÉS DA CRIAÇÃO DE UM SOFTWARE Vamos Analisar esta Definição!!
Programação é Arte? Similaridade do ponto de vista criativo Exige concentração Permite mais que uma solução Permite experimentação Habilidade que se aperfeiçoa com o passar do tempo e com a prática
Exemplo Se solicitarmos a diferentes pessoas que pintem um quadro de uma pessoa É provável que teremos os seguintes resultados Várias pinturas que expressam uma pessoa de formas diferentes Fontes: www.corbis.com notasaocafe.wordpress.com/category/arte-ao-cafe/
Ou... Fontes: www.corbis.com notasaocafe.wordpress.com/category/arte-ao-cafe/
Lógica = colocar “ordem no pensamento”! O que é Lógica? Lógica Pode ser definida como a “arte de bem pensar” Relacionada à coerência e racionalidade, ao que é correto Sempre que você expressa pensamentos de forma correta, você está sendo lógico! Portanto, a lógica se relaciona também com a “correção do pensamento”, determinando quais operações são válidas e quais não são Lógica = colocar “ordem no pensamento”!
O que é um algoritmo? Algoritmo Instrução Uma sequência finita de ações (instruções) encadeadas segundo uma determinada lógica com o objetivo de solucionar um problema específico Instrução É a informação que indica a um computador uma ação elementar a ser executada Como fazer um bolo de chocolate???
O que é um algoritmo? O que vai no bolo? Ingredientes que vai no bolo
Mas qual a ordem???? Ordenar em passos Lógicos! Exercício: Fazer o bolo de chocolate em no máximo 8 passos lógicos Bater os ovos com a manteiga Adicionar o açúcar e a farinha aos poucos Adicionar o leite e bater Adicionar o chocolate Misturar o fermento Despejar a mistura em um forma untada Levar ao forno para assar por 30 minutos Retirar do forno e comer
Seqüencia lógica de instruções (Algoritmo) Fases de um Algoritmo Todo algoritmo atua em um princípio básico de 3 fases: Valores iniciais Seqüencia lógica de instruções (Algoritmo) Resultado
Fases de um Algoritmo Exercício: Resolução: Identificar as fases do algoritmo (entrada, processamento e saída) para calcular a média de duas notas Resolução: Entrada: informar as duas notas: nota1 e nota2 Processamento: realizar o cálculo da média, sendo que a média é igual a soma de nota1 e nota2 dividido por 2 Saída: apresentar o resultado do cálculo realizado na fase anterior, ou seja, a média obtida das duas notas
Como resolver problemas? Dado um problema qualquer ler e realizar uma análise do mesmo Na análise investigar Quais são os dados fornecidos pelo problema? O que se espera como resultado final da solução do problema Pensar em como solucionar o problema Dividir em dois níveis Nível 01 – O que eu tenho que fazer? Tirar do problema quais são os passos gerais para solucioná-lo Nível 02 – Como fazer? Desenvolver todo o raciocínio lógico para resolver o problema. Identificar quais são os passos a serem seguidos para atingir a solução
Importante Lembrar SEMPRE do princípio de funcionamento de um computador Dados de Entrada Processamento Dados de Saída (Resultado) Dados de entrada Processamento E dados de saída
Problema Exemplo 1 Faça um algoritmo que leia quatro números, calcule e mostre a soma desses números
Resolução Exemplo 1 Nível 1 – O que eu tenho que fazer? Saber quais são os quatro números Fazer a soma dos quatro números Apresentar o resultado da soma
Resolução Exemplo 1 Nível 2 – Como fazer? Obter o primeiro número (num1) Obter o segundo número (num2) Obter o terceiro número (num3) Obter o quarto número (num4) Calcular a soma de num1, num2, num3 e num4 Mostrar a soma dos quatro números (soma)
Preciso ser um gênio para Programar? NÃO!! Aprender a programar é como aprender uma nova língua Está relacionado a aprender a se expressar em um novo dialeto
Preciso ser um gênio para Programar? Entender um problema Identificar uma solução para o problema Expressar esta solução, utilizando o raciocínio lógico, de tal forma que possa ser codificada em uma linguagem Ter vontade de aprender!!! E o que mais? PRATICAR PRATICAR PRATICAR PRATICAR
Exercitando a lógica...
Problema01: Problema dos Comboios Um comboio parte de Brasília a uma velocidade de 120 Km/h em direção a São Paulo, ao mesmo tempo em que outro comboio parte de São Paulo a uma velocidade de 80km/h em direção a Brasília Quando os comboios se encontram, qual deles está mais próximo de Brasília? Aquele que parte de Brasília ou o que parte de São Paulo?
Problema02: 4 pontos e 3 retas Una os 4 pontos com apenas três retas sem levantar a ponta do lápis e acabando no ponto onde começou
Problema03: O Lobo, a Cabra e o Repolho Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele e mais uma de suas 3 cargas, que são: um lobo, uma cabra e um repolho. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Sendo que, o lobo não pode ficar sozinho com a cabra e A cabra não pode ficar sozinha com o repolho
Problema04: Jarros de Água Existem 2 jarros com capacidade para 5 litros e 3 litros de água cada. Descreva os passos para juntar 4 litros de água em um dos dois jarros. Uma torneira Um jarro de 5 litros Um jarro de 3 litros e uma lixeira 3 litros 5 litros
Problema05: Missionários e Canibais Em um lado do lago existem 3 missionários e 3 canibais. Toda vez que os missionários ficam em menor número que os canibais eles são devorados. Como transportar os missionários de uma margem para outra do rio, em um barco com 2 lugares, sem que sejam devorados pelos canibais.