Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação e Algoritmos Aêda Sousa aedasousa@gmail.com 19/08/2017 1 Agenda O que veremos nesta aula ? ➢ Conceitos de Lógica ➢ Algoritmos ➢ Representações de Algoritmos ➢ Descrição Narrativa ➢ Fluxograma Convencional ➢ Pseudocódigo ➢ Linguagens de Programação 19/08/2017 Lógica O que é lógica? • Podemos relacionar a lógica com a “correção do pensamento”, pois uma de suas preocupações é determinar quais operações são válidas e quais não são. • Podemos ainda dizer que a lógica tem em vista a “ordem da razão”. • Isso dá a entender que a nossa razão pode funcionar desordenadamente. • Por isso, a lógica estuda e ensina a colocar “ordem no pensamento”. 19/08/2017 Lógica Existe lógica no nosso dia-a-dia? • Quando falamos ou escrevemos, estamos expressando nosso pensamento, logo, precisamos usar a lógica nessas atividades. • A lógica é importante em nossa vida, não só na teoria, como na prática. • Quando precisamos falar, escrever, pensar ou agir corretamente, precisamos colocar “ordem no pensamento”, isto é, utilizar a lógica. 19/08/2017 Lógica Sei que a comida está na geladeira. Sei que a geladeira está fechada. Logo, concluo que... tenho de abrir a geladeira para pegar a comida 19/08/2017 Lógica Sei que sou mais velho que João. Sei que João é mais velho que José. Então, concluo que... eu sou mais velho que José 19/08/2017 Lógica Sejam os seguintes fatos: Todos os filhos de João são mais altos do que Maria. Antônio é filho de João. Então, o que podemos concluir logicamente? Lógica Maria Joaquina é aluna da Maurício de Nassau. Para ser aprovado, um aluno da Maurício de Nassau precisa obter nota maior ou igual a 7 e comparecer a mais de 75% das aulas. Maria Joaquina compareceu a todas as aulas e obteve nota igual a 8. Então, o que podemos concluir? 19/08/2017 Lógica ➢ Pode ser vista como a arte de pensar corretamente. A lógica visa a colocar ordem no pensamento; ➢ Ciência que estuda as leis do raciocínio; ➢ Correção/validação do pensamento; ➢ Encadeamento/ordem de ideias; ➢ Arte de pensar bem; ➢ Precisamos mais do que fórmulas, precisamos APRENDER A PENSAR! ➢ É preciso aprender a pensar sobre o problema, extraindo o máximo de informações sobre ele. 19/08/2017 Lógica Mas o que é a lógica de Programação? ➢ Permite o aperfeiçoamento de nossa forma de pensar e raciocinar sobre um problema computacional, afim de obter uma solução eficaz e/ou eficiente; ➢ A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequencia lógica para o desenvolvimento. 19/08/2017 Lógica • O uso correto das leis do pensamento, da “ordem da razão” e de processo de raciocínio e simbolização formais na programação de computadores. • Desenvolvimento de técnicas que ajudem na solução (logicamente válidas e coerentes) de problemas que se deseja programar. 19/08/2017 Lógica ➢ São passos executados até atingir um objetivo ou solução de um problema. ➢ Exemplo: Chupar uma bala ➢ Pegar a bala; ➢ Retirar o papel; ➢ Chupar a bala; ➢ Jogar o papel no lixo; 19/08/2017 Lógica Instruções ➢ Um conjunto de regras ou normas definidas para a realização ou emprego de algo; ➢ Por exemplo: se quisermos fazer uma omelete de batatas, precisaremos colocar em prática uma série de instruções: descascar as batatas, bater os ovos, fritar as batatas, etc... ➢ Em informática, é o que indica a um computador uma ação elementar a executar. 19/08/2017 Algoritmos Definição ➢ Formalmente é uma sequência FINITA DE PASSOS que levam à execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que busca atingir um objetivo bem definido (FORBELLONE et al., 2005); ➢ Ao definir uma sequência de passos é necessário pensar ordenadamente, utilizar lógica. 19/08/2017 Algoritmos Definição ➢ O objetivo fundamental de toda programação é construir algoritmos; ➢ Quando criamos um algoritmo, apenas apontamos uma sequência de atividades que levam à solução de um problema. Por que usar Algoritmos? 19/08/2017 Algoritmos • Ajuda a resolver problemas... 19/08/2017 Algoritmos • Ensina a máquina como resolver problemas... 19/08/2017 Algoritmos Por que usar Algoritmos? ➢ Abstração: Todo esforço é utilizado na resolução do problema, e não em detalhes computacionais. ➢ Portabilidade: Uma solução algorítmica pode ser traduzida para qualquer linguagem de programação. Abstração: habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Concentração em ideias gerais (“o que”), não em detalhes (“como”). 19/08/2017 Algoritmos • Fases da Programação 19/08/2017 Algoritmos Regras para Criação do Algoritmo ➢ Ter início e fim; ➢ Usar somente um verbo por frase; ➢ Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática; ➢ Usar frases curtas e simples; 19/08/2017 Algoritmos Regras para Criação do Algoritmo ➢ Ser objetivo; ➢ Procurar usar palavras que não tenham sentido dúbio (não ambíguas); ➢ Ações devem seguir uma sequência ordenada. 19/08/2017 Algoritmos Regras para Criação do Algoritmo: Exemplo ➢ Problema: Preparar um Café ➢ Sequencia de passos para a solução: 1. Encher a chaleira com água 2. Colocar a chaleira para ferver 3. Colocar duas colheres de sopa de pó de café no coador 4. Aguarde a água ferver 5. Acrescente a água ao pó aos poucos 6. Aguarde coar 7. Adoce a gosto 19/08/2017 Algoritmos Representação ➢ Descrição Narrativa: uso de português ➢ Fluxograma: símbolos gráficos para representar fases e componentes dos algoritmos; ➢ Pseudocódigo: Definição de uma pseudo-linguagem de programação, cujos comandos são em português. 19/08/2017 Algoritmos Descrição Narrativa ➢ Os algoritmos são expressos em linguagem natural; 19/08/2017 Algoritmos ➢Receita de bolo: ➢ 1. Misture os ingredientes ➢ 2. Bata os ingredientes em uma vasilha ➢ 3. Espalhar manteiga na forma ➢ 4. Despeje a mistura na forma ➢ 6. Leve a forma ao forno ➢ 7. Retire do forno ➢ 9. Deixe esfriar 19/08/2017 Algoritmos ➢Troca de pneus: ➢ 1. Afrouxar ligeiramente as porcas ➢ 2. Suspender o carro ➢ 3. Retirar as porcas e o pneu ➢ 4. Colocar o pneu reserva ➢ 5. Apertar as porcas ➢ 6. Abaixar o carro ➢ 7. Dar o aperto final nas porcas 19/08/2017 Algoritmos ➢Obter a média do aluno: ➢ 1. Obter as suas 2 notas de provas ➢ 2. Calcular a média aritmética ➢ 3. SE a média for maior ou igual que 7 ➢ o aluno foi aprovado ➢ SENÃO ele foi reprovado 19/08/2017 Algoritmos ➢Trocar uma Lâmpada ➢1. pegar uma escada ➢2. posicionar a escada embaixo da lâmpada ➢3. buscar uma lâmpada nova ➢4. subir na escada ➢5. retirar lâmpada velha ➢6. colocar lâmpada nova 19/08/2017 Algoritmos Descrição Narrativa: Estrutura de Decisão ➢ Trocar uma Lâmpada: SE estiver queimada ➢ 1. pegar uma escada ➢ 2. posicionar a escada embaixo da lâmpada ➢ 3. buscar uma lâmpada nova ➢ 4. acionar o interruptor ➢ 5. SE a lâmpada não acender, ENTÃO ➢ 5.1 subir na escada ➢ 5.2 retirar lâmpada queimada ➢ 5.3 colocar lâmpada nova 19/08/2017 Algoritmos Descrição Narrativa: Estrutura de Decisão ➢ Trocar uma Lâmpada: SE estiver queimada (V2) ➢ 1. acionar o interruptor; ➢ 2. SE a lâmpada não acender, ENTÃO ➢ 2.1 pegar uma escada ➢ 2.2 posicionar a escada embaixo da lâmpada ➢ 2.3 buscar uma lâmpada nova ➢ 2.4 subirna escada ➢ 2.5 retirar lâmpada queimada ➢ 2.6 colocar lâmpada nova 19/08/2017 Algoritmos Descrição Narrativa: Estrutura de Repetição ➢ Trocar uma Lâmpada: SE estiver queimada ➢ 1. acionar o interruptor; ➢ 2. SE a lâmpada não acender, ENTÃO ➢ 2.1 pegar uma escada ➢ 2.2 posicionar a escada embaixo da lâmpada ➢ 2.3 buscar uma lâmpada nova ➢ 2.4 subir na escada ➢ 2.5 retirar lâmpada queimada ➢ 2.6 colocar lâmpada nova ➢ 2.7 SE a lâmpada não acender, ENTÃO ➢ 2.7.1 Retirar lâmpada queimada ➢ 2.7.2 Colocar lâmpada nova 19/08/2017 Repetir indefinidamente até que uma lâmpada funcione Descrição Narrativa: Estrutura de Repetição ➢ Trocar uma Lâmpada: SE estiver queimada (V2) ➢ 1. acionar o interruptor; ➢ 2. SE a lâmpada não acender, ENTÃO ➢ 2.1 pegar uma escada ➢ 2.2 posicionar a escada embaixo da lâmpada ➢ 2.3 buscar uma lâmpada nova ➢ 2.4 subir na escada ➢ 2.5 retirar lâmpada queimada ➢ 2.6 colocar lâmpada nova ➢ 2.7 ENQUANTO a lâmpada não acender, FAÇA: ➢ 2.7.1 retirar lâmpada queimada ➢ 2.7.2 colocar lâmpada nova 19/08/2017 Assim, enquanto a condição definida na linha 2.7 for verdadeira (ou seja, enquanto a lâmpada não acender), as ações definidas em 2.7.1 e 2.7.2 serão repetidas. Abstraímos os fatos de ter de descer da escada para pegar uma lâmpada nova e subir novamente. Algoritmos Descrição Narrativa ➢Vantagens ➢ Linguagem Natural ➢Desvantagens ➢ Ambiguidade ➢ Imprecisão ➢ Pouca Confiabilidade ➢ Extensão 19/08/2017 Dúvidas 19/08/2017 34 Desafio – Torre de Hanoi Objetivo: transferir da haste A para B, usando C se necessário. As regras de movimento são: • Deve-se mover um único anel por vez; • Um anel de diâmetro maior nunca pode repousar sobre algum outro de diâmetro menor. 19/08/2017 Algoritmos Atividade ➢ Descreva um algoritmo para matar a fome (escolha sua comida preferida). ➢ Descreva um algoritmos para vestir uma roupa. ➢ Descreva um algoritmo para ligar um carro. ➢ Descreva um algoritmo que defina como preparar um bolo de chocolate. ➢ Descreva um algoritmo para ligar o computador. 19/08/2017 Exercício de Casa ➢Acessar a pagina http://studio.code.org/join/QDSZFH e criar uma conta (Obrigatório); ➢Após o cadastro acessar https://studio.code.org/s/20- hour e fazer as atividades: ➢Fase 2 - O Labirinto: 1,2,3,4,5 ➢Fase 5 - O Artista: 1,2 19/08/2017 Obrigada! “Não importa o quão devagar você vá, desde que você não pare” -Confúcio 19/08/2017 38 Lógica de Programação e Algoritmos Aêda Sousa aedasousa@gmail.com 19/08/2017 39
Compartilhar