51
Introdução à Algoritmos Professor: Claudio Stein Junior E-mail: [email protected]

Lógica de Programação

Embed Size (px)

DESCRIPTION

Apresentação Sobre lógica de programação.

Citation preview

Page 1: Lógica de Programação

Introdução à Algoritmos

Professor: Claudio Stein Junior

E-mail: [email protected]

Page 2: Lógica de Programação

04/10/23 2

Quem Quem sou eu?sou eu?

Page 3: Lógica de Programação

04/10/23 3

Page 4: Lógica de Programação

04/10/23 4

Page 5: Lógica de Programação

04/10/23 5

Quem sou eu?

• Bacharel em Sistemas de Informação• Licenciado em Informática• Pós-Graduando em Tecnologia em Desenvolvimento de

Sistemas Microsoft• MBA em Gestão Estratégica de Marketing• Certificado Java para WEB (IBM)• Analista de Sistemas da Inova Softwares• Professor da UNIBARRETOS, UNIJALES e ETEC• Orientador da Empresa Junior da UNIJALES• Atuando a 16 anos como professor (1994)• Especialidades: Programação (Delphi, .NET, Java),

Engenharia de Software, UML e Banco de Dados.

Page 6: Lógica de Programação

04/10/23 6

Ementa

• Lógica• Algoritmos• Linguagem Natural• Pseudocódigo• Fluxogramas• Constantes, Variáveis, Palavras Reservadas,

Identificadores• Tipos de Dados• Operadores

Page 7: Lógica de Programação

04/10/23 7

Metodologia

Aula expositiva e dialogada

Recursos

Notebook e projetor multimídia.

Page 8: Lógica de Programação

04/10/23 8

Bibliografia

Bibliografia Básica:

Fundamentos da Programação de ComputadoresAna Fernanda Gomes Ascencio, Edilene Aparecida Veneruchi de

Campos – 2ª edição – Editora Pearson Prentice Hall, 2003.

Algoritmos, Teoria e PráticaThomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford

Stein – Editora Campus, 2002.

Bibliografia Complementar:

Algoritmos e Programação – Teoria e PráticaMarco Medina e Cristina Fertig – 2ª Edição – Editora Novatec, 2006.

Page 9: Lógica de Programação

04/10/23 9

O que é um Problema?

Page 10: Lógica de Programação

04/10/23 10

Page 11: Lógica de Programação

04/10/23 11

Conceito de Problema

Problema (Dicionário Michaelis):

• Questão matemática proposta para ser resolvida.

• Questão difícil, delicada, suscetível de diversas soluções.

• Qualquer coisa de difícil explicação, mistério, enigma.

• Dúvida, questão.

Page 12: Lógica de Programação

04/10/23 12

Exemplos de Problemas

• Trocar uma lâmpada

• Trocar o pneu de um carro

• Preparar-se para uma prova

Sempre que nos deparamos com um problema buscamos

o quê?

Page 13: Lógica de Programação

04/10/23 13

Exemplo de Solução

• Por exemplo, para trocar uma lâmpada devemos:– Adquirir uma lâmpada nova;– Localizar a lâmpada queimada;– Retirar a lâmpada queimada;– Colocar a lâmpada nova;– Descartar a lâmpada queimada.

Page 14: Lógica de Programação

04/10/23 14

O que orientou a obtenção dos

procedimentos para a solução

proposta?

Page 15: Lógica de Programação

04/10/23 15

LógicaLógica

Page 16: Lógica de Programação

04/10/23 16

O que é a Lógica?

A lógica é o ramo da Filosofia e da Matemática que estuda os métodos e princípios que

permitem fazer distinção entre raciocínios válidos e não válidos, determinando o processo que leva ao conhecimento

verdadeiro.

Page 17: Lógica de Programação

04/10/23 17

Tome nota

• Ninguém ensina outra pessoa a pensar, mas sim a desenvolver e aperfeiçoar esta técnica, com persistência e constância.

• A lógica é primordial na solução de problemas e para alcançar objetivos com eficiência e eficácia.

• Desenvolvemos softwares

Page 18: Lógica de Programação

04/10/23 18

Lógica em um Mercado

Page 19: Lógica de Programação

04/10/23 19

A lógica dizia o quê?

Page 20: Lógica de Programação

04/10/23 20

Aliás... O que aquele ladrão vai fazer sem a roda???

Page 21: Lógica de Programação

04/10/23 21

Cada um pensa de uma forma

Page 22: Lógica de Programação

04/10/23 22

O que construimos ao utilizar a lógica para solucionar um

problema?

Page 23: Lógica de Programação

04/10/23 23

ALGORITMOALGORITMO

Page 24: Lógica de Programação

04/10/23 24

Conceito de Algoritmo

Uma sequência de passos bem Uma sequência de passos bem definida que deve ser seguida definida que deve ser seguida para a realizar uma tarefa ou para a realizar uma tarefa ou

solucionar um problema.solucionar um problema.

Page 25: Lógica de Programação

04/10/23 25

Métodos de Representação de Algoritmos

• Do ponto de vista computacional um algoritmo será implementado em uma linguagem de computação gerando um programa, o qual visa instruir um computador a executar determinada tarefa.

• O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação tem início com a construção do algoritmo.

Page 26: Lógica de Programação

04/10/23 26

Funcionalidade do Algoritmo

MUNDO REAL MÁQUINA

Page 27: Lógica de Programação

04/10/23 27

Métodos de Representação de Algoritmos

Descrição Narrativa:

Adquira uma lâmpada nova e localize a lâmpada a ser trocada. Em seguida retire a lâmpada queimada e coloque a lâmpada nova. Após a troca descarte a lâmpada queimada.

Page 28: Lógica de Programação

04/10/23 28

Descrição Narrativa

• Vantagens

• Desvantagens

Page 29: Lógica de Programação

04/10/23 29

Page 30: Lógica de Programação

04/10/23 30

Descrição Narrativa

Um exemplo de ambigüidade presente em uma sentença na linguagem natural é:

O policial escutou o barulho da porta.

Esta frase pode ter pelo menos três interpretações:

1 - O policial escutou o barulho produzido pela porta.2 - O policial estava junto à porta e escutou o barulho.3 - O policial escutou o barulho que veio através daporta.

Page 31: Lógica de Programação

04/10/23 31

Métodos de Representação de Algoritmos

• Fluxograma

• Pseudocódigo (português estruturado)

Page 32: Lógica de Programação

04/10/23 32

Fluxograma

Page 33: Lógica de Programação

04/10/23 33

Exemplo de PseudocódigoALGORITMO: TROCAR UMA LÂMPADA

PASSO 1: Desligar a caixa de energia PASSO 2: Pegar a lâmpada novaPASSO 3: Pegar a escadaPASSO 4: Posicionar a escada embaixo da lâmpada queimadaPASSO 5: Subir na escada com a lâmpada novaPASSO 6: Retirar a lâmpada queimadaPASSO 7: Colocar a lâmpada novaPASSO 8: Descer da escadaPASSO 9: Ligar o interruptorPASSO 10: Guardar a escadaPASSO 11: Jogar a lâmpada velha no lixo

Page 34: Lógica de Programação

04/10/23 34

Métodos de Representação de Algoritmos

• Fluxograma:– Vantagem – a representação gráfica é mais concisa

que a representação textual.– Desvantagem – é necessário aprender a simbologia

dos fluxogramas.

• Pseudocódigo:– Vantagem – sua transcrição para qualquer linguagem

de programação é quase que direta.– Desvantagem – é necessário aprender as regras do

pseudocódigo.

Page 35: Lógica de Programação

04/10/23 35

Estrutura de um Algoritmo

Algoritmo <nome do algoritmo>

<declarações iniciais>

Inicio

<Corpo do algoritmo>

Fim

Page 36: Lógica de Programação

04/10/23 36

Conceitos Básicos de Algoritmos

Antes de nos aprofundarmos nos métodos de representação de algoritmos, devemos ter de forma clara a compreensão de alguns conceitos como:

• Constante;• Variável;• Identificador;• Palavra-reservada;• Entrada;• Saída.

Page 37: Lógica de Programação

04/10/23 37

Constantes

• Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa.

Exemplo:

PI = 3.1416

Page 38: Lógica de Programação

04/10/23 38

Variáveis

• Variáveis são endereços de memória destinados a armazenar informações temporariamente.

Page 39: Lógica de Programação

04/10/23 39

Identificadores

• São os nomes dados as variáveis, constantes e programas.

Exemplo:

Var idadeidade: Inteiro

Page 40: Lógica de Programação

04/10/23 40

Regras de Identificadores

• Não podem ter nomes de palavras reservadas (comandos da linguagem);

• Devem possuir como 1º caractere uma letra ou Underscore ( _ );

• Ter como demais caracteres letras, números ou Underscore;

• Não possuir espaços em branco;• A escolha de letras maiúsculas ou

minúsculas depende da linguagem

Page 41: Lógica de Programação

04/10/23 41

Palavras Reservadas

• São identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo.

Page 42: Lógica de Programação

04/10/23 42

Tipos de Dados

• NUMÉRICO (Inteiro ou Real)

• LITERAL

• LÓGICO

Page 43: Lógica de Programação

04/10/23 43

Exemplos de Armazenamento

• Inteiro: 0, -12, 15

• Real: 0.12, -1.13, 25.17

• Literal: “Claudio”, “a”, “4˚ Andar”

• Lógico: .V. ou .F.

Page 44: Lógica de Programação

04/10/23 44

Operadores

• Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores:– Operadores Aritméticos– Operadores Relacionais– Operadores Lógicos

Page 45: Lógica de Programação

04/10/23 45

Aritméticos

• OPERAÇÃO SÍMBOLO

• Adição +

• Subtração -

• Multiplicação *

• Divisão /

• Exponenciação **

Page 46: Lógica de Programação

04/10/23 46

Relacionais

• Descrição Símbolo

• Igual a =

• Diferente de <> ou #

• Maior que >

• Menor que <

• Maior ou igual a >=

• Menor ou igual a <=

Page 47: Lógica de Programação

04/10/23 47

Lógicos

• E / AND Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras

• OR/OU Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira

• NOT Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa.

Page 48: Lógica de Programação

04/10/23 48

Estrutura de um Algoritmo

Algoritmo Somar Var n1, n2, total : Inteiro; Inicio Escreva(“Digite um número”); Leia(n1); Escreva(“Digite outro número”); Leia(n2); total ← n1 + n2; Escreva(“A soma dos números é {0}.”, total);

Fim

Page 49: Lógica de Programação

04/10/23 49

Estrutura de um AlgoritmoAlgoritmo CalcularMedia Var n1, n2, media: real Inicio Escreva(“Digite um número”); Leia(n1); Escreva(“Digite outro número”); Leia(n2); media ← (n1 + n2) / 2; Se (MEDIA >= 7) entao Escreva (“Aprovado”); Senao Escreva (“Reprovado”); Fim_se Fim

Page 50: Lógica de Programação

04/10/23 50

Estrutura de um Algoritmo

Algoritmo MostrarTabuada Var i, n, total: real Inicio Escreva(“Digite um número”); Leia(n1); Para i ← 0 ate 10 faca total ← n * i; Escreva(“{0} X {1} = {2}”,n,i, total); Fim_ParaFim

Page 51: Lógica de Programação

04/10/23 51

FIM?