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

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

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:

Universidade Federal de Goiás Instituto de Informática

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

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

ALGORITMOS AULA 1. Profª Amanda Gondim

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

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

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

INFORMÁTICA APLICADA AULA 01 ALGORITMOS

Lógica de Programação

Prof. Paulo Villa Aula 1

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

Algoritmos e Programação de Computadores Disciplina:

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

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

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

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

#Conceituação. Algoritmos. Eliezio Soares

Lógica de Programação

1 - INTRODUÇÃO. Portanto, um programa é a codificação de um algoritmo em uma linguagem de programação. (ASCENCIO;CAMPOS, 2007)

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

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

Introdução a Algoritmos

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Programação

Introdução à Algoritmia

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

INTRODUÇÃO A ALGORITMOS

Algoritmos. Prof. Jonatas Bastos Site:

Fig.1: Ilustração de Lógica Fonte: Internet

Algoritmos. Prof. Jonatas Bastos

Unidade 2: Algoritmos e programação

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

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

Fundamentos de Programação Introdução

Fundamentos de Algoritmos (5175/31)

Aula 1 - Introdução Cleverton Hentz

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

ALGORITMOS ALGORITMOS ALGORITMOS. Natureza dos passos. Apresentação das Estruturas de Algoritmos - Fluxograma

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

Aula 1: Desenvolvimento de Algoritmos

Aula 02 ALGORITMOS. Introdução à Computação

UFCD 0804 Algoritmos

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

Introdução à Programação

Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS

Disciplina de Algoritmos e Programação

CONCEITOS DE ALGORITMOS

INTRODUÇÃO A PROGRAMAÇÃO

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

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

CONCEITO DE COMPUTADOR. O que é um computador?

Introdução a Computação

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

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Programação para Ciências Biológicas

Algoritmos Computacionais

Aula 02. Algoritmos e Pseudocódigo

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

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

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

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Introdução a Algoritmos (baseado no material do prof. Marcelo Linder)

Aula 1 Introdução e Lógica. Bruno Orlandi

Capítulo 1 - Lógica e Algoritmos

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

Fundamentos de Programação

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

LINGUAGEM C: COMANDOS DE REPETIÇÃO

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

Lógica de Programação

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

Algoritmos e Estruturas de Dados

Conceitos Básicos de Algoritmos

ALGORITMOS E ESTRUTURAS DE DADOS I

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

ALGORITMOS E ESTRUTURAS DE DADOS I (Parte 1)

Algoritmos e Técnicas de Programação

ALGORITMOS E ESTRUTURAS DE DADOS I

Algoritmos e Técnicas de Programação

Estruturas de Repetição

CAPÍTULO 1 INTRODUÇÃO À LÓGICA

O que é um Algoritmo?

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Plano de Trabalho Docente 2017 Ensino Técnico

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

Transcrição:

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

Sumário Noções de Lógica; Algoritmo; leonardobcamposatgmail.com 2/18

Noções de Lógica O uso corriqueiro da palavra lógica está normalmente relacionado à coerência e à racionalidade; Frequentemente se associa lógica apenas à matemática, não se percebendo sua aplicabilidade e sua relação com as demais ciências; 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, fazendo análise das formas e leis do pensamento. Como filosofia, ela procura saber por que pensamos assim não de outro jeito; leonardobcamposatgmail.com 3/18

Noções de Lógica Visto que a forma mais complexa do pensamento é o raciocínio, a lógica estuda a correção do raciocínio. Ou seja, a lógica estuda e ensina a colocar ordem no pensamento ; Sempre que pensamos, a lógica ou a ilógica necessariamente nos acompanha; leonardobcamposatgmail.com 4/18

Noções de Lógica Vejamos uma aplicação de lógica em alguns simples testes de psicotestes: Se mais fosse menos e se vezes fosse dividido, qual seria o resultado da expressão: 16 : 2 (7 + 3) x 1 1? a) 7 b) 4 c) 6 d) 2 e) 1 Tem-se nove velas acesas. Apagam-se 3, quantas ficam? a) 5 2 b) 2 x 3 c) 8 + 1 d) dois ao cubo e) 48 : 4 Mais testes clique AQUI leonardobcamposatgmail.com 5/18

Noções de Lógica Quando queremos pensar, falar, escrever ou agir corretamente, precisamos colocar ordem no pensamento, isto é, utilizar lógica. A gaveta está fechada; A caneta está dentro da gaveta; Precisamos primeiro abrir a gaveta para depois pegar a caneta; Mas e a lógica de programação? Obviamente não é programação da TV; Mas sim, o uso correto das leis do pensamento, da ordem da razão e de processos de raciocínio e simbolização formais na programação de computadores; leonardobcamposatgmail.com 6/18

O objetivo principal do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos. Mas o que é um algoritmo? Um algoritmo pode ser definido como uma sequência de passos que visam a atingir um objetivo bem definido; Na medida em que precisamos especificar uma sequência de passos, é necessário utilizar ordem, ou seja, pensar com ordem, portanto precisamos utilizar lógica; leonardobcamposatgmail.com 7/18

Apesar do nome pouco usual, algoritmos são comuns em nosso cotidiano, como, por exemplo, uma receita de bolo; 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. Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica de Programação e, dessa forma, permite-nos abstrair uma série de detalhes computacionais e Codificar uma solução algorítmica para qualquer linguagem de programação; leonardobcamposatgmail.com 8/18

Podemos escrever um primeiro algoritmo de exemplo, utilizando português coloquial, que descreva o comportamento na resolução de uma determinada atividades, como, por exemplo, a troca de uma 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. E se a lâmpada não estivesse queimada? leonardobcamposatgmail.com 9/18

Podemos fazer um teste, a fim de verificar se a lâmpada está ou não queimada; 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 queimada; Colocar a lâmpada nova. O algoritmo está correto mas pode ser melhorado, como? leonardobcamposatgmail.com 10/18

Mudemos então o teste condicional se a lâmpada não acender para o início da sequência de ações 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; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova. O algoritmo ainda não prevê a possibilidade da lâmpada nova não funcionar; leonardobcamposatgmail.com 11/18

Podemos fazer um refinamento, uma melhoria no algoritmo, de tal modo que se troque a lâmpada diversas vezes, se necessário, até que funcione: 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; Buscar uma lâmpada nova; Subir na escada; Subir na escada; Retirar a lâmpada queimada; Retirar a lâmpada queimada; Colocar outra lâmpada nova; Colocar a lâmpada nova; Acionar o interruptor; Acionar o interruptor; Se a lâmpada não acender, então Se a lâmpada não acender, então Subir na escada... leonardobcamposatgmail.com 12/18 Buscar uma lâmpada nova;

Observemos que o teste da lâmpada nova é efetuada por um mesmo conjunto de ações: Se a lâmpada não acender, então Retirar a lâmpada queimada; Colocar a lâmpada nova; Portanto, em vez de reescrever várias vezes esse conjunto de ações, podemos alterar o fluxo sequencial de execução e voltemos a executar o teste (se a lâmpada não acender); Precisamos, então, determinar um limite para tal repetição, com o objetivo de garantir uma condição de parada; leonardobcamposatgmail.com 13/18

Podemos então, testar a lâmpada nova até que ela acenda; Enquanto a lâmpada não acender, faça Retirar a lâmpada queimada; Colocar uma lâmpada nova. A condição lâmpada não acender permaneceu e estabelecemos um fluxo repetitivo que será finalizado assim que a condição de parada for falsa, ou seja, assim que a lâmpada acender: Percebemos que o número de repetições é indefinido, porém é finito, e que depende apenas da condição estabelecida, o que leva a repetir as ações até alcançar o objetivo; leonardobcamposatgmail.com 14/18

O novo algoritmo ficaria: 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; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Acionar o interruptor; Enquanto a lâmpada não acender, faça Buscar uma lâmpada nova; Subir na escada; Retirar a lâmpada queimada; Colocar uma lâmpada nova; Acionar o interruptor; leonardobcamposatgmail.com 15/18

Até agora estamos efetuando a troca de uma única lâmpada, na verdade estamos testando um soquete. O que faríamos se tivéssemos mais soquetes a testar, por exemplo, dez 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; Subir na escada; Retirar a lâmpada queimada; Colocar a lâmpada nova; Acionar o interruptor; 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; Se a lâmpada não acender, então... leonardobcamposatgmail.com 16/18

Observamos que o algoritmo anterior é apenas um conjunto de dez repetições; Repetição? Isso nos remete à solução usada para testar as lâmpadas queimadas. EURECA!!!!! Solução: Exercício para casa. leonardobcamposatgmail.com 17/18

Bibliografia FORBELLONE, André L. V., Lógica de Programação: a construção de algoritmos e estruturas de dados. - 3. ed. - São Paulo: Prentice Hall, 2005 leonardobcamposatgmail.com 18/18