Profa. Simone de Abreu
Unidade 1 – Construção de
Algoritmos
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– 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”!
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. Bater os ovos com a manteiga2. Adicionar o açúcar e a farinha aos poucos3. Adicionar o leite e bater4. Adicionar o chocolate5. Misturar o fermento6. Despejar a mistura em um forma untada7. Levar ao forno para assar por 30 minutos8. 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
Dados de Entrada
Processamento
Dados de
Saída(Resultado)
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. Obter o primeiro número (num1)2. Obter o segundo número (num2)3. Obter o terceiro número (num3)4. Obter o quarto número (num4)5. Calcular a soma de num1, num2,
num3 e num46. 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.