Prévia do material em texto
ARA0017 – Int. à Programação Estruturada em C Aulas 01 e 02 – Fundamentos da Lógica Profª Ma. Ione F. Goulart ione.goulart@estacio.br mailto:ione.goulart@estacio.br Agenda Aula 1 FUNDAMENTOS DA LÓGICA 1 EXERCITANDO A LÓGICA 3 PRÓXIMOS PASSOS LÓGICA 2 VAMOS JOGAR? 4 Fundamentos da Lógica "Exact Instructions Challenge - THIS is why my kids hate me." (Desafio das Instruções ao Pé da Letra - Por isso meus filhos me odeiam) de Josh Darnit acessível em: ( https://www.youtube.com/watch?v=cDA3_5982h8 ). Lógica A lógica é uma área da filosofia que visa estudar a estrutura formal dos enunciados (proposições) e suas regras. Em suma, a lógica serve para se pensar corretamente, sendo assim, uma ferramenta do correto pensar. Lógica tem origem na palavra grega logos, que significa razão, argumentação ou fala. A ideia de falar e argumentar pressupõe que o que está sendo dito possua um sentido para aquele que ouve. Lógica Esse sentido fundamenta-se na estrutura lógica, quando algo "tem lógica" quer dizer que faz sentido, é uma argumentação racional. Lógica Lógica Exercitando a Lógica Site: https://lightbot.com/flash.html https://lightbot.com/flash.html Fundamentos da Lógica O que a maioria das escolas não ensinam, de Code.org acessível em: https://www.youtube.com/watch?v=nKIu9yen5nc https://www.youtube.com/watch?v=nKIu9yen5nc ARA0017 – Int. à Programação Estruturada em C Aulas 01 e 02 – Fundamentos da Lógica Profª Ma. Ione F. Goulart ione.goulart@estacio.br mailto:ione.goulart@estacio.br Agenda Aula 2 PENSAMENTO ESTRUTURADO ALGORITMO 1 FLUXOGRAMA 3 PRÓXIMOS PASSOS LINGUAGEM NATURAL 2 LINGUAGEM DE PROGRAMAÇÃO 4 SITUAÇÃO PROBLEMA 5 Pensamento Estruturado O Pensamento Estruturado (PE) é uma metodologia, simples em essência, original em seu enfoque, indispensável por sua relevância na vida moderna e finalmente sem precedentes em sua universalidade. É importante ressaltar que não é uma filosofia, nem uma teoria. A metodologia propõe-se inicialmente a catalisar os processos artificiais e humanos. Em um nível mais avançado, ela objetiva também desempenhar um papel de catalisadora em processos físicos, emocionais e espirituais. Algoritmo O Algoritmo é uma sequência finita de passos lógicos que levam a execução de uma tarefa, que levam a resolução de determinado problema. Em informática, um algoritmo é um conjunto de regras e procedimentos lógicos perfeitamente definidos que levam a solução de um problema em um número finito de etapas. (PIVA JUNIOR et al., 2012) Algoritmo Não Computacionais: São algoritmos cuja sequência de passos, a principio, não pode ser executada por um computador. Exemplo: receita de bolo. Computacionais: São algoritmos cuja sequência de passos pode ser executada por um computador. Exemplo: programa de computador Algoritmo Componentes básicos de um algoritmo. Dados - são os valores (números, nomes, etc.) de que precisamos para resolver o problema. Código - são os comandos ou instruções que usaremos para manipular e "processar" os dados. A elaboração do algoritmo descreve os dados e as suas manipulações. Essa descrição pode ser feita de diversas formas e por meio de técnicas diferentes que representarão a sequência dos passos (ou etapas) a serem realizados pela execução do algoritmo. Cada uma dessas técnicas fornece maneiras diferentes de representação do pensamento ou do raciocínio desejado, privilegiando algumas características da percepção e compreensão dos profissionais envolvidos. Representação Formal da Solução de Problemas Linguagem Natural Esta forma de representação, também conhecida como portugol ou pseudocódigo ou português estruturado, consiste na descrição estruturada, por meio de regras pré-definidas, de fases (ou passos) a serem realizadas para a resolução do problema. O Português Estruturado utiliza a linguagem natural para representar o raciocínio, que no nosso caso é o Português. Linguagem Natural Situação problema: Imagine uma situação em que a idade de uma pessoa deva ser analisada para classificá-la em jovem ou adulta. Linguagem Natural O algoritmo é apresentado por meio do português estruturado e é coerente com a situação problema sugerida. Linguagem Natural ☺ Facilita a passagem do algoritmo para a linguagem de programação desejada (criação do programa), habituando o programador com as regras da programação. Existe a necessidade do aprendizado das regras do pseudocódigo em português. Fluxograma Existem várias figuras geométricas empregadas na construção do fluxograma, e buscaremos somente a compreensão da lógica racional proposta por esse tipo de representação de raciocínio. Fluxograma O algoritmo é apresentado graficamente por meio do fluxograma coerente com a situação sugerida. Fluxograma ☺ O entendimento de uma representação gráfica é mais fácil do que uma descritiva (textual). É necessário aprender a simbologia gráfica e ela não apresenta muitos detalhes necessários para a transcrição do algoritmo no programa esperado. Linguagem de Programação Uma linguagem de programação contém os comandos que fazem o computador escrever algo na tela, realizar cálculos aritméticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lógica. Linguagem de Programação O algoritmo é apresentado graficamente por meio da linguagem de programação C, coerente com a situação sugerida. Situação Problema Tem-se em mãos duas jarras: uma com capacidade para quatro litros e outra com capacidade para três litros. As jarras não possuem marcações intermediárias, de forma que, se qualquer uma das jarras não estiver completamente cheia, não será possível saber quanta água haverá dentro dela. Existe uma torneira disponível para encher as jarras e um ralo que permite que a água seja jogada fora. Instruções: Encher completamente uma jarra, utilizando a torneira; Passar a água de uma jarra para outra; e Esvaziar completamente uma jarra, jogando a água que estiver dentro dela no ralo. Situação Problema Objetivo: indicar como as jarras devem ser manipuladas, de modo que, ao final da manipulação, a jarra com capacidade para quatro litros de tenha exatamente dois litros de água. https://www.novelgames.com/en/jars/ https://www.novelgames.com/en/jars/ ARA0017 – Int. à Programação Estruturada em C Aulas 01 e 02 – Fundamentos da Lógica Profª Ma. Ione F. Goulart ione.goulart@estacio.br mailto:ione.goulart@estacio.br