Unidade 1 – Construção de Algoritmos Profa. Simone de Abreu 2 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” 3 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 4 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 5 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 6 Softwares Utilizados • Java JDK 7 com ambiente NetBeans – http://netbeans.org/ 7 Bibliografia 8 Bibliografia (cont. ) Principais Conceitos Fonte: www.corbis.com 10 Programar É A ARTE DE RESOLVER PROBLEMAS ATRAVÉS DA CRIAÇÃO DE UM SOFTWARE Vamos Analisar esta Definição!! 11 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 12 Exemplo • Se solicitarmos a diferentes pessoas que pintem um quadro de uma pessoa • É provável que teremos os seguintes resultados Fontes: www.corbis.com notasaocafe.wordpress.com/category/arte-ao-cafe/ 13 Ou... Fontes: www.corbis.com notasaocafe.wordpress.com/category/arte-ao-cafe/ 14 O que é Lógica? • Lógica – Pode ser definida como a “arte de bem pensar” – Relacionada à coerência e racionalidade, ao que é correto Lógicavocê = colocar “ordem no pensamento”! – Sempre que 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 15 O que é um algoritmo? • Algoritmo – 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??? 16 O que é um algoritmo? • O que vai no bolo? 17 Mas qual a ordem???? • • Ordenar em passos Lógicos! Exercício: – Fazer o bolo de chocolate em no máximo 8 passos lógicos 1. 2. 3. 4. 5. 6. 7. 8. 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 18 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 19 Fases de um Algoritmo • Exercício: – 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 20 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 21 Importante • Lembrar SEMPRE do princípio de funcionamento de um computador 22 Problema Exemplo 1 • Faça um algoritmo que leia quatro números, calcule e mostre a soma desses números 23 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 24 Resolução Exemplo 1 Nível 2 – Como fazer? 1. 2. 3. 4. 5. 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 6. Mostrar a soma dos quatro números (soma) 25 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 26 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 27 Exercitando a lógica... 28 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? 29 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 30 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? 1. Sendo que, o lobo não pode ficar sozinho com a cabra e 2. A cabra não pode ficar sozinha com o repolho 31 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. 5 litros 3 litros 32 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.