Você está na página 1de 33

MDULO 01 INTRODUO LGICA DE PROGRAMAO

Conhea os princpios de lgica de programao e suas caractersticas

O QUE PARA VOC UM PROBLEMA?

PROBLEMAS DO DIA-A-DIA

PROBLEMA
Problemas fazem parte do nosso cotidiano. Sempre que nos deparamos com um problema buscamos uma srie de passos (procedimento) para solucion-lo.

EXEMPLO DE SOLUO
Trocar a lmpada queimada:
Adquirir uma lmpada nova; Localizar o soquete a ser manipulado; Abrir o cavalete embaixo da lmpada queimada; Subir no cavalete com a lmpada nova; Retirar a lmpada defeituosa; Colocar a lmpada nova; Descer do cavalete com a lmpada queimada; Descartar a lmpada defeituosa.

COMO SOLUCIONAR O PROBLEMA DO PNEU FURADO?

LGICA
Entenda o porqu de estudar lgica de programao

O QUE PERMITIU A OBTENO DOS


PROCEDIMENTOS PARA AS SOLUES?

LGICA
A lgica o ramo da Filosofia e da Matemtica que estuda os mtodos e princpios que permitem fazer distino entre raciocnios vlidos (formais) e no vlidos (informais), determinando o processo que leva ao conhecimento verdadeiro. Formal:
Comprovado Segue Regras Rigoroso Geradora de Padres

LGICA (CONT.)
O uso da lgica primordial na soluo de problemas.
Permite alcanar objetivos com eficcia e eficincia.

Ningum consegue ensinar uma pessoa a pensar


Ensinar a desenvolver e aperfeioar as formas de pensar, com persistncia e constncia; Organizar os pensamentos em uma estrutura formal que permita extrair concluses a partir de premissas.

ALGORITMOS
Conhea o conceito de algoritmo e suas aplicaes

ALGORITMOS
Ao utilizarmos a lgica para listar passos ordenados que resultam na soluo de um determinado problema estamos construindo um algoritmo. Portanto, um algoritmo uma sequncia de passos (instrues) a ser seguida, que permite a execuo de uma tarefa ou a resoluo de um problema.
Todo algoritmo visa atingir um objetivo bem definido Possui uma sequncia de passos bem definida

Contrapondo o que normalmente se imagina, o termo algoritmo no foi originado na computao e muito menos pode ser utilizado apenas no contexto computacional.

ALGORITMOS (CONT.)
O conceito de algoritmo bem amplo
Portanto, qualquer tarefa que siga determinado padro pode ser descrita por um algoritmo

Exemplo: Trocar a lmpada queimada


PASSO 01: Adquirir uma lmpada nova; PASSO 02: Localizar o soquete a ser manipulado; PASSO 03: Abrir o cavalete embaixo da lmpada queimada; PASSO 04: Subir no cavalete com a lmpada nova; PASSO 05: Retirar a lmpada defeituosa; PASSO 06: Colocar a lmpada nova; PASSO 07: Descer do cavalete com a lmpada queimada; PASSO 08: Descartar a lmpada defeituosa.

COMO SERIA UM ALGORITMO PARA SAQUE DE DINHEIRO EM UM CAIXA ELETRNICO?

ALGORITMOS (CONT.)
Exemplo: Sacar dinheiro em caixa eletrnico
PASSO 01: Ir at o caixa eletrnico PASSO 02: Colocar o carto PASSO 03: Digitar a senha PASSO 04: Solicitar o saldo PASSO 05: Se o saldo for maior ou igual quantia desejada, sacar a quantia desejada; caso contrrio sacar o valor do saldo PASSO 06: Retirar dinheiro e carto PASSO 07: Sair do caixa eletrnico

LINGUAGENS
No apenas escrever por escrever...

EM QUE LINGUAGEM SE ENCONTRAM OS


ALGORITMOS DESENVOLVIDOS AT AGORA?

LINGUAGEM NATURAL
Descrio narrativa em linguagem natural
Permite descrever os algoritmos utilizando a mesma linguagem utilizada para nos comunicar. No h a necessidade de aprender nenhum novo conceito. Entretanto, em virtude da ambigidade presente na linguagem natural a descrio narrativa passvel de mais de uma interpretao.

LINGUAGEM NATURAL (CONT.)


Exemplo: O policial escutou o barulho da porta. Interpretaes Possveis:
O policial escutou o barulho produzido pela porta. O policial estava junto porta e escutou o barulho. O policial escutou o barulho que veio atravs da porta.

O QUE ACONTECERIA SE A LINGUAGEM


NATURAL FOSSE UTILIZADA NOS SISTEMAS?

LINGUAGEM ARTIFICAL
Um computador no dotado da capacidade de tomar decises com base em premissas.
Portanto, no possvel instruir um computador com sentenas dbias.

Desta forma, um computador instrudo a executar tarefas atravs da utilizao de uma linguagem formal
Linguagem Artificial Exemplos: C, Basic, Pascal, Cobol, C#, PHP, etc. Toda linguagem (Formal e Natural) composta de duas partes: sintaxe (Escrita) e semntica (Significado).

Portanto, deve-se criar uma forma de traduzir instrues escritas em linguagem natural para a linguagem artificial

PROGRAMAO EM
COMPUTADORES
E onde entra a programao nisso tudo?

PROGRAMAO EM COMPUTADORES
Um algoritmo, no mundo computacional, uma sequncia de passos finitos descrita em uma linguagem formal que permite descrever aes que sero realizadas pelo computador.
No permite ambiguidade; Executada com um esforo finito; Utiliza um tempo finito.

O algoritmo tem como papel fundamental ser o elo de ligao entre o mundo real e o computacional. A atividade de programao tem incio com a construo do algoritmo.

PROGRAMAO EM COMPUTADORES (CONT.)


Linguagem de Programao

Problema

Algoritmo

CODIFICAO

Cdigo-Fonte

Soluo Programa Executvel


MUNDO REAL MUNDO COMPUTACIONAL

PROGRAMAO EM COMPUTADORES (CONT.)


Algoritmo Codificao
Algoritmo: Sequncia de passos descritos em linguagem formal Codificao: Srie de instrues escritas em uma linguagem de programao

Portanto, todo cdigo-fonte ou script a codificao de um algoritmo previamente criado pelo desenvolvedor

REPRESENTAO DE
ALGORITMOS
Como representar um raciocnio lgico correto?

REPRESENTAES DE ALGORITMOS
Existem diversos mtodos para representar algoritmos.
Por serem formais, esses mtodos impem regras, disponibilizam um conjunto reduzido de palavras/smbolos passiveis de serem utilizados (rigidez sinttica) e gera consistncia semntica para a eliminao da ambigidade intrnseca linguagem natural.

Exemplos:
Fluxograma: Representao grfica; Pseudocdigo: Representao textual em Portugus Estruturado.

QUAIS AS VANTAGENS E DESVANTAGENS DO FLUXOGRAMA E DO PSEUDOCDIGO?

REPRESENTAES DE ALGORITMOS (CONT.)


Exemplo: Trocar uma lmpada queimada Resolvendo com um algoritmo representado em pseudocdigo.
Regras so impostas e um nmero restrito de aes definido. Neste exemplo as aes disponveis so: pegar, largar, subir, descer, abrir, fechar, retirar e colocar.

REPRESENTAES DE ALGORITMOS (CONT.)


Descrio Narrativa Pseudocdigo

Adquira uma lmpada nova e v ao soquete a ser manipulado. Em seguida abra o cavalete, suba e retire a lmpada defeituosa, coloque a lmpada nova e desa do cavalete com a lmpada velha. Depois, descarte a lmpada defeituosa.

Pegar (lmpada nova); Abrir (cavalete); Subir (cavalete); Retirar (lmpada defeituosa); Colocar (lmpada nova); Descer (cavalete); Fechar (cavalete); Largar (Lmpada defeituosa).

REPRESENTAES DE ALGORITMOS (CONT.)


Exemplo: Trocar uma lmpada queimada Resolvendo com um algoritmo representado em grfico.
Regras so impostas e um nmero restrito de aes/smbolos definido. Neste exemplo as aes/smbolos disponveis so:

SUBIR PEGA R DESC ER

FECH AR

COLOC AR

LARG AR

ABRI R

RETIRA R

REPRESENTAES DE ALGORITMOS (CONT.)


Descrio Narrativa Grfico
LMPA DA NOVA LMPA DA VELHA

Adquira uma lmpada nova e v ao soquete a ser manipulado. Em seguida abra o cavalete, suba e retire a lmpada defeituosa, coloque a lmpada nova e desa do cavalete com a lmpada velha. Depois, descarte a lmpada defeituosa.

CAVALE TE

CAVALE TE

CAVALE TE

CAVALE TE

LMPADA VELHA

LMPADA NOVA

DVIDAS?