LÓGICA E LINGUAGEM DE PROGRAMAÇÃO. Introdução

Documentos relacionados
Lógica de Programação. Capítulo 1. Introdução. Lógica de Programação. Forbellone / Eberspacher. Introdução

Introdução ao Conceito de Algoritmo e Programação Estruturada

Algoritmos e Programação

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

ALGORITMOS AULA 1. Profª Amanda Gondim

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Introdução à Lógica de Programação

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

#Conceituação. Algoritmos. Eliezio Soares

Lógica de Programação I

É neste ponto que entra o conceito de lógica de programação.

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Capítulo 1 Conceitos Básicos

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

Introdução aos Algoritmos

Introdução aos Algoritmos

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Universidade Federal de Goiás Instituto de Informática

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

Algoritmos e Técnicas de Programação

Lógica de Programação I

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

Algoritmos I Aula 2 Lógica de Programação

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Lógica de Programação

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

Algoritmos e Programação de Computadores Disciplina:

Introdução a algoritmos. Prof.: Jesus

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Lógica de Programação

Algoritmos e Programação

CONCEITO DE COMPUTADOR. O que é um computador?

Aula I Introdução à Lógica de Programação

Revisão Histórico das Linguagens de Programação

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Introdução a Algoritmos

Lógica de Programação

Lógica de Programação FORBELLONE, André Luis e EBERSPACHER, Henri (PLT)

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

1. Tema central. 2. Objetivos. 3. Recursos. 4. Referências Bibliográficas. 5. Informações. 6. Conteúdo

INFORMÁTICA APLICADA AULA 01 ALGORITMOS

Fundamentos de Programação Introdução

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Algoritmos e Programação

CONCEITO DE ALGORITMO

Algoritmo. pegar uma escada; posicionar embaixo da lâmpada; buscar uma lâmpada nova; ligar o interruptor; se a lâmpada não acender, então:

Prof. Paulo Villa Aula 1

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

Computação I: Representações de Algoritmos

Algoritmos I Aula 3 Resolução de Problemas (Fluxogramas)

Algoritmo: Definição. Algoritmo. O que é Lógica? Lógica de Programação. Mas e a Lógica de Programação?

Ensinando a Programação

LÓGICA DE PROGRAMAÇÃO. Prof. Welber Ribeiro da Silva

Algoritmos e Programação

PROGRAMAÇÃO A. Conceitos Básicos

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Algoritmos. Prof. Jonatas Bastos Site:

Técnicas de Programação

Introdução à Programação de Computadores Parte II

INTRODUÇÃO A PROGRAMAÇÃO

Programação de Computadores III

Construção de Algoritmos

CMP Algoritmos Algoritmos - Introdução Geral. Professor Vicente Paulo de Camargo

Introdução à Programação. Ceça Moraes

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos e Linguagem de Programação I

Processamento da Informação BC-05045

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

ET51D - INFORMÁTICA. Algoritmos - Introdução. Prof: Glauber G. O. Brante e Mariana Furucho.

Arquitetura Genérica de um Computador (Máquina de Von Neumann): Diagrama conhecido como Máquina de Von Neumann (grande nome da informática).

Disciplina de Algoritmos e Programação

OFICINA DA PESQUISA. Prof. Msc. Carlos José Giudice dos Santos

Informática Conceitos Básicos Revisão 1

Desenvolvimento de algoritmos Desenvolvimento de Algoritmos

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

AULA Entrada/Saída, Operadores

Unidade 1 Conceitos básicos

Algoritmos e Técnicas de programação. Professora: Luciana Faria

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

Unidade 2: Algoritmos e programação

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Algoritmos e Programação

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Programação Procedimental

Aula 1 Algoritmo e Pseudo-código

3.1 - O que é um diagrama de bloco? Simbologia... 11

Algoritmos e Programação

Transcrição:

LÓGICA E LINGUAGEM DE PROGRAMAÇÃO Introdução

PARA DESCONTRAIR 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 2

OBJETIVOS DA AULA Apresentar os conceitos elementares de lógica e sua aplicação no cotidiano; Definir algoritmo; Estabelecer uma relação entre lógica e algoritmos: a lógica de programação; Exemplificar a aplicação dos algoritmos utilizando situações do dia-a-dia; Comparar as principais formas de representação dos algoritmos; e Exercitar o conhecimento aprendido com exercícios diversos. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 3

PROGRAMAR PARA QUE? Escrever páginas web Acertar seu relógio Aprender a usar mapas Mostrar para seus amigos que você sabe programar Parecer estranho Entender melhor como seu computador funciona Cozinhar Salvar o mundo Software livre 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 4

NOÇÕES DE LÓGICA Lógica é a ciência que estuda as formas de pensamento. Lógica é a parte da filosofia que trata das formas do pensamento em geral (dedução, indução, hipótese, inferência etc.) e das operações intelectuais que visam à determinação do que é verdadeiro ou não. Aristóteles é o autor do primeiro trabalho sobre lógica. A lógica é frequentemente dividida em três partes: o raciocínio indutivo, o raciocínio abdutivo e o raciocínio dedutivo. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 5

NOÇÕES DE LÓGICA A Lógica nos acompanha diariamente: Um bebê sabe que precisa chorar para receber atenção. Um casal com três filhos notou que um vaso estava quebrado, enquanto duas das crianças estavam na escola. Quem é o culpado? Pegar um chiclete. Retirar o papel. Mastigar o chiclete. Jogar o papel no lixo. Se um carro está com a seta esquerda ligada. Significa que ele vai virar à direita ou à esquerda? O pensamento (e a lógica) pode ser expresso por meio da linguagem oral ou escrita. Um mesmo pensamento pode ser expresso em inúmeros idiomas, tanto oralmente quanto por escrito. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 6

NOÇÕES DE LÓGICA O que é Lógica? A Lógica ensina a colocar ordem no pensamento. Exemplos: a. Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. b. Kaiton é país do planeta Stix. Todos os Xinpins são de Kaiton. Logo, todos os Xinpins são Stixianos. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 7

NOÇÕES DE LÓGICA Existe Lógica no dia-a-dia? Sempre que pensamos, a lógica ou a ilógica necessariamente nos acompanham. Exemplos: a. A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta. b. Anacleto é mais velho que Felisberto. Felisberto é mais velho que Marivaldo. Portanto, Anacleto é mais velho que Marivaldo. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 8

NOÇÕES DE LÓGICA Mas e a lógica de programação? Significa usar a lógica para resolver problemas computacionais. o O raciocínio é algo abstrato, intangível; o Os seres humanos têm a capacidade de expressá-lo por meio da palavra; o Um mesmo raciocínio pode ser expresso em inúmeros idiomas; o A lógica de programação pode ser representada por inúmeras linguagens de programação; o Algoritmos são uma representação fiel do raciocínio da lógica de programação. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 9

NOÇÕES DE LÓGICA O que é um algoritmo? o O objetivo principal do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos. o Um algoritmo pode ser definido como uma sequência de passos que visam atingir um objetivo bem definido. o Algoritmos são comuns em nosso cotidiano. Exemplo: manual de instalação de uma TV. o Quando elaboramos um algoritmo, devemos especificar ações claras e precisas, que a partir de um estado inicial, após um período de tempo finito, produzem um estado final previsível e bem definido. o Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam em uma sucessão finita de ações. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 10

ALGORITMIZANDO A LÓGICA Por que é importante construir um algoritmo? o Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica de Programação. o Um algoritmo permite abstrair uma série de detalhes computacionais. o Uma solução algorítmica para um problema pode ser traduzida para qualquer linguagem de programação. Este processo é chamado de codificação. o Alguns algoritmos presentes em nosso dia-a-dia: receita de bolo, orientação para se chegar em algum endereço, realização de alguma tarefa rotineira. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 11

ALGORITMOS - O QUE SÃO? Um algoritmo é uma sequência de instruções que resolve uma determinada tarefa. Essas instruções podem ser executadas por um computador ou até mesmo por um ser humano. Um algoritmo pode ser comparado a uma receita de bolo, onde cada passo da preparação do bolo corresponde a uma instrução do algoritmo. Normalmente, desenvolver algoritmos eficientes não é uma tarefa simples. No meio acadêmico, diversas técnicas para o desenvolvimento de algoritmos mais eficientes são estudadas pela Ciência da Computação. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 12

ALGORITMOS - EXEMPLOS Algoritmo 1 - Somar três números Passo 1 - Receber os três números. Passo 2 - Somar os três números. Passo 3 - Mostrar o resultado obtido. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 13

ALGORITMOS - EXEMPLOS Algoritmo 2 - Fazer um sanduíche Passo 1 - Pegar o pão. Passo 2 - Cortar o pão ao meio. Passo 3 - Pegar a maionese. Passo 4 - Passar a maionese no pão. Passo 5 - Pegar e cortar a alface e o tomate. Passo 6 - Colocar a alface e o tomate no pão. Passo 7 - Pegar o hambúrguer. Passo 8 - Fritar o hambúrguer. Passo 9 - Colocar o hambúrguer no pão. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 14

ALGORITMOS - EXEMPLOS Algoritmo 3 - Ir para a escola Passo 1 - Acordar cedo. Passo 2 - Ir ao banheiro. Passo 3 - Abrir o armário para escolher uma roupa. Passo 4 - Se o tempo estiver quente, pegar uma camiseta e uma calça jeans; Caso contrário, pegar um agasalho e uma calça jeans. Passo 5 - Vestir a roupa escolhida. Passo 6 - Tomar café. Passo 7 - Pegar uma condução. Passo 8 - Descer próximo à escola. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 15

ALGORITMOS - EXEMPLOS Algoritmo 4 - Sacar dinheiro no banco 24 horas Passo 1 - Ir até um banco 24 horas. Passo 2 - Colocar o cartão. Passo 3 - Digitar a senha. Passo 4 - Solicitar a quantia desejada. Passo 5 - Se o saldo for maior ou igual à quantia desejada, sacar; Caso contrário, mostrar mensagem de impossibilidade de saque. Passo 6 - Retirar o cartão. Passo 7 - Sair do banco 24 horas. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 16

ALGORITMOS - TORRES DE HANÓI As Torres de Hanói é um quebra-cabeça composto por uma base contendo três torres (A, B e C) e três discos de diâmetros distintos (1, 2 e 3). Neste quebra-cabeça, o objetivo é encontrar uma forma de mover todos os discos da torre A para a torre C, usando a torre B como espaço auxiliar, de modo que: apenas um disco seja movido de cada vez; nenhum disco seja posicionado sobre outro disco de diâmetro menor; os discos sejam imediatamente transferidos de uma torre para outra. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 17

ALGORITMOS - TORRES DE HANÓI Há várias soluções possíveis para este problema. Uma delas é a seguinte: 1º passo: mova o disco do topo da torre A para o topo da torre C. 2º passo: mova o disco do topo da torre A para o topo da torre B. 3º passo: mova o disco do topo da torre C para o topo da torre B. 4º passo: mova o disco do topo da torre A para o topo da torre C. 5º passo: mova o disco do topo da torre B para o topo da torre A. 6º passo: mova o disco do topo da torre B para o topo da torre C. 7º passo: mova o disco do topo da torre A para o topo da torre C. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 18

ALGORITMIZANDO A LÓGICA Vamos a um exemplo? ALGORITMO 1.1 Troca de lâmpada Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 19

ALGORITMIZANDO A LÓGICA E se a lâmpada não estiver queimada? ALGORITMO 1.2 Troca de lâmpada com teste Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Se a lâmpada não acender, então Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 20

ALGORITMIZANDO A LÓGICA Podemos melhorar o algoritmo anterior? ALGORITMO 1.3 Troca de lâmpada com teste no início Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 21

ALGORITMIZANDO A LÓGICA E se a nova lâmpada não funcionar? ALGORITMO 1.4 Troca de lâmpada com teste e repetição indefinida Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Se a lâmpada não acender, então Retirar a lâmpada queimada; Colocar a lâmpada nova; Até quando??? 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 22

ALGORITMIZANDO A LÓGICA Como corrigir o algoritmo anterior? ALGORITMO 1.5 Troca de lâmpada com teste e condição de parada Acionar o interruptor; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Enquanto a lâmpada não acender, faça Retirar a lâmpada queimada; Colocar uma lâmpada nova; 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 23

ALGORITMIZANDO A LÓGICA E se eu tivesse que trocar várias lâmpadas? ALGORITMO 1.6 Troca de lâmpada com teste para 10 soquetes Acionar o interruptor do primeiro soquete; Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Enquanto a lâmpada não acender, faça Retirar a lâmpada queimada; Colocar uma lâmpada nova; Acionar o interruptor do segundo soquete; 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 24

ALGORITMIZANDO A LÓGICA ALGORITMO 1.7 Troca de lâmpada com teste para 10 soquetes com repetição Ir até o interruptor do primeiro soquete; Enquanto a quantidade de soquetes testados for menor que dez, faça Acionar o interruptor Se a lâmpada não acender, então Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Acionar o interruptor; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Enquanto a lâmpada não acender, faça Retirar a lâmpada queimada; Colocar uma lâmpada nova; Ir até o interruptor do próximo soquete; 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 25

ALGORITMIZANDO A LÓGICA Algumas considerações: Construção de algoritmos usando uma linguagem coloquial; Estrutura Sequencial: conjunto de ações executadas sequencialmente; Estrutura Seletiva: teste condicional para executar ou não um conjunto de ações; Estrutura de Repetição: repetição de um mesmo trecho do algoritmo; Um programa de computador tradicional não tem conhecimento prévio nem adquire experiências; Programadores: Construtores de Algoritmos. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 26

ALGORITMIZANDO A LÓGICA De que maneira representaremos o algoritmo? o Um algoritmo é uma linha de raciocínio, que pode ser descrito de diversas maneiras, de forma gráfica ou textual; o Os algoritmos vistos até aqui estavam na forma textual, usando português coloquial. o As formas gráficas são mais puras por serem mais fiéis ao raciocínio original, substituindo um grande número de palavras por convenções de desenhos. o No material de apoio há um representação do algoritmo 1.7 em formato de fluxograma tradicional e outro em Chapin. o Quais as vantagens e desvantagens das representações textuais e gráficas? 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 27

ALGORITMIZANDO A LÓGICA Qual o problema de usar a língua pátria para escrever algoritmos? Vejamos a seguinte frase: O pregador foi grampeado durante o conserto. Esse exemplo, quando falado, pode ter até oito sentidos diferentes. Você sabe quais? o O computador é desprovido do raciocínio necessário para interpretar a frase. o Para evitar esse e outros problemas, utilizaremos um conjunto de regras que visam restringir e estruturar o uso do português na representação dos algoritmos. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 28

MÉTODO PARA A CONSTRUÇÃO DE ALGORITMOS Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos: Compreender completamente o problema a ser resolvido, destacando os pontos mais importantes e os objetos que o compõem. Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetos fazem parte desse cenário problema. Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída. Além disso, deve-se verificar quais objetos são responsáveis pelas atividades. Definir os dados de saída, ou seja, quais dados serão gerados depois do processamento. Construir o algoritmo usando um dos tipos descritos nos próximos slides. Testar o algoritmo realizando simulações. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 29

TIPOS DE ALGORITMOS Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma, pseudocódigo ou portugol. Descrição Narrativa A descrição narrativa consiste em analisar o enunciado do problema e escrever, usando uma linguagem natural (por exemplo, a língua portuguesa), os passos a serem seguidos para sua resolução. Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural neste ponto, já é bem conhecida. Desvantagem: a língua natural abre espaço para várias interpretações, o que posteriormente dificultará a transcrição desse algoritmo para programa. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 30

TIPOS DE ALGORITMOS Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma, pseudocódigo ou portugol. Fluxograma O fluxograma consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos predefinidos, os passos a serem seguidos para sua resolução. Vantagem: o entendimento de elementos gráficos é mais simples que o entendimento de textos. Desvantagem: é necessário aprender a simbologia dos fluxogramas, e além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição para um programa. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 31

FLUXOGRAMA Símbolo Significado Símbolo utilizado para indicar o início e o fim do algoritmo. Símbolo que permite indicar o sentido do fluxo de dados. Serve exclusivamente para conectar os símbolos ou blocos existentes. Símbolo utilizado para indicar cálculos e atribuições de valores. Símbolo utilizado para representar a entrada de dados. Símbolo utilizado para representar a saída de dados. Símbolo utilizado para indicar que deve ser tomada uma decisão, apontando a possibilidade de desvios. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 32

TIPOS DE ALGORITMOS Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma, pseudocódigo ou portugol. Pseudocódigo ou portugol O pseudocódigo ou portugol consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução. Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem que será utilizada. Desvantagem: é necessário aprender as regras do pseudocódigo, que serão apresentadas nas próximas aulas. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 33

RESUMO A lógica se relaciona com a ordem da razão, com a correção do pensamento ; É necessário utilizar processos lógicos de programação para construir algoritmos; Um algoritmo é uma sequência de passos bem definidos que têm por objetivo solucionar um determinado problema; O exemplo das lâmpadas introduziu o conceito de fluxo de execução. A estrutura sequencial significa que o algoritmo é executado passo a passo, sequencialmente, da primeira à última ação. A estrutura de seleção permite que uma ação seja ou não executada, dependendo do valor resultante da inspeção de uma condição. A estrutura de repetição permite que trechos de algoritmos sejam repetidos até que uma condição seja satisfeita ou enquanto uma condição não estiver satisfeita. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 34

SOFTWARES o Criação de Fluxogramas online http://www.draw.io 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 35

PÁGINAS NA INTERNET o Racha Cuca http://rachacuca.com.br/ o Oito sites infalíveis para aprender programação por conta própria http://computerworld.com.br/gratis-oito-sites-infaliveis-para-aprender-programacao-porconta-propria 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 36

VÍDEOS NA INTERNET o Uma breve história da lógica https://www.youtube.com/watch?v=ozmbmbp3one o Historia de la Lógica https://www.youtube.com/watch?v=tl_wrb3m6me o Piada Tunes - Portuga e a Lógica - ANIMATUNES https://www.youtube.com/watch?v=ziy0py8hauw o Desafio de lógica dos cinco triângulos - Matchstick Puzzles https://www.youtube.com/watch?v=m9oukyxpbs4 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 37

REFERÊNCIAS BIBLIOGRÁFICAS FARRER, H. Algoritmos Estruturados. 3. ed. São Paulo: LTC, 1999. 260 p. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall Brasil, 2005. 232 p. 03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 38