Sei sulla pagina 1di 52

Centro Educacional FUCAPI – CEEF

Lynaldo Cavalcanti de Albuquerque

Curso Técnico em Informática

Módulo I
Disciplina: Lógica de Programação
Professor: Manfrine Santos

Aula I – Introdução a Lógica

Agosto-- 2009
Agosto
Roteiro

 Desenvolvimento de Software;
 Linguagens de Programação;
 Introdução ao Pensamento Lógico;
 Abordagem Geral;
 Exercícios de Fixação.
 Introdução a Algoritmo;
COMEÇANDO...
Desenvolvimento de Software

É importante que tenhamos uma visão geral do


processo de desenvolvimento de software, uma
vez que estudaremos lógica de programação com
o objetivo de conseguir um bom embasamento
para a prática da programação de computadores.
Desenvolvimento de Software

Consiste basicamente num conjunto de


atividades divididas em etapas, onde o objetivo
é, ao executar estas etapas, chegar à efetiva
construção de um software.
Desenvolvimento de Software

O que é um Software?
- instruções (programas de computadores) que
quando executados fornecem as características,
função e desempenho desejados;

- estruturas de dados que permitem aos programas


manipular adequadamente a informação;

- documentos que descrevem a operação e uso dos


programas.
Etapas do Desenvolvim. de Software
Sistema Computacional

Sistema
Computacional

Software
Hardware

Peopleware
Programa e Ling. de Programação

Programa: Um programa é um algoritmo escrito


em uma linguagem computacional.

Linguagens de Programação: São Softwares que


permitem o desenvolvimento de
programas.Um programa é um algoritmo
escrito em uma linguagem computacional.
Exemplos: Pascal, C, Java, Delphi, Clipper,
Visual Basic, etc.
LINGUAGEM DE PROGRAMAÇÃO

 Tipos de Linguagens:

– Programação Imperativa
– Programação Funcional
– Programação baseada em Lógica
– Programação Orientada por Objetos
PROGRAMAÇÃO IMPERATIVA

 Orientada por ações

 A Linguagem FORTRAN foi criada por um grupo da


IBM liderado por John Backus .

 COBOL foi criada para aplicações comerciais, cujo


objetivo era manipular ficheiros de registros.

 O ALGOL, criado nos anos 60, serviu de modelo


para o Pascal e C.

 BASIC foi criada para ser simples e usada por não-


programadores.
PROGRAMAÇÃO IMPERATIVA

 PL/1 foi a 1ª Linguagem Generalista,


embarcando conceitos do COBOL, FORTRAN e
ALGOL.

 O PASCAL derivou do ALGOL, a linguagem dos


anos 70 e 80.

 A Linguagem C foi orginalmente desenhada para


programação de sistemas, hoje é largamente
utilizadas nas aplicações.
PROGRAMAÇÃO FUNCIONAL

 Os conceitos básicos das linguagens


funcionais originaram do LISP.

 Utilizada para processamento simbólico em:


Cálculo diferencial e integral, teoria de
circuitos elétricos, resolução de jogos, I.A.
PROGRAMAÇÃO BASEADA EM LÓGICA

O PROLOG foi originalmente desenhado


para processamento de linguagem natural.

 Tal
como LISP é usado para processamento
simbólico em todas as áreas da I.A.

 Nessa linguagem não se descreve o


algoritmo para chegar ao resultado, mas a
informação base (fatos) e as regras para se
poder deduzir o resultado.
PROGRAMAÇÃO ORIENTADA A OBJETOS

 Quase todas as linguagens já existentes


foram modificadas para suportar o paradigma
OO (C++, MODULA 3, PROLOG++, etc.)

 Algumasforam originalmente projetadas para


suporte a esse paradgima (SIMULA,
SMALLTALK, EIFELL, JAVA), são as
chamadas OO puras.
O ATO DE PROGRAMAR

 Programar não é um ato mecânico,


consegue-se através do estudo e
principalmente do treino!!!

 “O Conhecimento da linguagem é
necessário, mas não é de todo suficiente.
Programação é o simples ato de escrever
idéias de outrem: é ter essas idéias, é ser
criativo e engenhoso!”
O que é Lógica?

Vem do grego logiké, que significa "arte de raciocinar“.

Coerência de raciocínio, de idéias.

A Lógica ensina a colocar Ordem no Pensamento.


O que é Lógica?

O que é Lógica: “Ciência que tem por objetivo


determinar, por entre todas as operações
intelectuais que tendem para o conhecimento
do verdadeiro, o que são válidas, e as que o
não são.

Raciocínio lógico: Exemplo:

1º Premissa: O ser humano é racional


2º Premissa: Você é um ser humano
Conclusão:Logo, você é racional.
SEQUÊNCIA LÓGICA

 Seqüência Lógica são passos executados


até atingir um objetivo ou solução de um
problema:

 “Chupar uma bala”:


· Pegar a bala
· Retirar o papel
· Chupar a bala
· Jogar o papel no lixo
SEQUÊNCIA LÓGICA

 Preparar um Bolo
– Bata a margarina, as gemas e o açúcar
por 15 minutos
– Junte o leite, o coco e a farinha e continue
batendo por mais 15 minutos
– Acrescente 20 g de fermento e, por
último, as claras em neve
– Unte uma forma com manteiga e leve ao
forno para assar por 30 minutos
SEQUÊNCIA LÓGICA

 Troca de pneu
Exercício 1

Realizar uma ligação telefônica de um telefone público.

1 – Retirar o telefone do gancho.


2 – Esperar o sinal .
3 – Colocar o cartão.
4 – Discar o número.
5 – Aguardar o atendimento.
6 – Falar no telefone.
7 – Colocar o telefone no gancho.
Desafio 1

Criar a solução para o problema:

“Você deve levar um leão, uma cabra e pedaço de


grama de um lado para outro de um rio,
atravessando com um bote”.
Sabendo que:
- o leão não deve ficar sozinho com a cabra.
- a cabra não deve ficar sozinha com a grama.
Solução

1 – Levar a cabra.
2 – Volta.
3 – Levar a grama.
4 – Volta com a cabra.
5 – Leva o leão.
7 – Volta.
8 – Levar a grama.
Desafio 2

Criar a solução para o problema das Torres de Hanoi:

Inicialmente você têm-se três hastes, A, B e C, sendo que


na haste A repousam três anéis de diâmetros diferentes,
em ordem decrescente de diâmetro.

A B C
Desafio 2 – Cont.

“Você deve transferir os três anéis da haste A para B,


utilizando C se for necessário”.

Sabendo que:
- deve-se mover um único anel por vez.
- um anel de diâmetro maior, não pode repousar sobre
algum outro de diâmetro menor.

A B C
Torre de Hanoi

 Passo 1:
mova disco menor para terceiro eixo
Torre de Hanoi

 Passo 2:
mova disco médio para segundo eixo
Torre de Hanoi

 Passo 3:
mova disco menor para segundo eixo
Torre de Hanoi

 Passo 4:
mova disco maior para terceiro eixo
Torre de Hanoi

 Passo 5:
mova disco menor para primeiro eixo
Torre de Hanoi

 Passo 6:
mova disco médio para terceiro eixo
Torre de Hanoi

 Passo 7:
mova disco menor para terceiro eixo
Solução da Torre de Hanoi

 Seqüência de passos completa:


Passo 1: mova disco menor para terceiro eixo
Passo 2: mova disco médio para segundo eixo
Passo 3: mova disco menor para segundo eixo
Passo 4: mova disco maior para terceiro eixo
Passo 5: mova disco menor para primeiro eixo
Passo 6: mova disco médio para terceiro eixo
Passo 7: mova disco menor para terceiro eixo
Noções de Lógica

 Exemplos de aplicação da lógica

– O quarto está fechado e que meu livro está no quarto.


Então, preciso primeiro abrir o quarto para pegar o livro.

– Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha


de Ana. Então, Júlia é neta de Rosa e sobrinha de
Paula.

– Todo mamífero é animal e todo cavalo é mamífero.


Então, todo cavalo é animal.

– Todo mamífero bebe leite e o homem bebe leite. Então,


todo homem é mamífero.
Exercicio 2 (15 min.)

 Resolva os seguintes problemas de lógica


– P1 – Uma lesma deve subir um poste de 10m de
altura. De dia sobe 2m e à noite desce 1m. Em
quantos dias atingirá o topo do poste?
– P2 - Três gatos comem três ratos em três
minutos. Cem gatos comem cem ratos em
quantos minutos?
– P3 - O pai do padre é filho do meu pai. O que eu
sou do Padre?
– P4 - Se um bezerro pesa 75 kg mais meio
bezerro, quanto pesa um bezerro inteiro?
Exercicio 2 (15 min.)

 Resolva os seguintes problemas de lógica


– P6 – Um pai de 80kg e suas 2 filhas (40kg cada),
precisam sair de uma ilha com um barco. Porém
a capacidade do barco é de 80kg. Como farão
para sair da ilha?
RESPOSTAS – Exercício 2

 Respostas
– R1 - 9(nove) dias. No nono dia a lesma
sobe 2(dois) metros, atinge o topo e
evidentemente não desce 1 metro
– R2 – 3 (três) minutos
– R3 – Tio
– R4 – 112 (cento e doze) kg
RESPOSTAS – Exercício 2

– R6 – Vão as duas filhas. Uma delas volta.


O pai sai. A outra filha volta. As duas filhas
saem juntas.
INSTRUÇÕES

 Instruçõessão um conjunto de regras ou


normas definidas para a realização ou
emprego de algo. Em informática, é o que
indica a um computador uma ação elementar
a executar.
LINGUAGENS DE PROGRAMAÇÃO
ALGORITMO

 “Algoritmo
é um conjunto finito de regras,
bem definidas, para a solução de um
problema em um tempo finito e com um
número finito de passos.”
CARACTERÍSTICAS DO ALGORITMO

 Finitude: um algoritmo tem de terminar ao


fim de um número finito de passos.
 Definitude: cada passo do algoritmo tem de
ser definido com precisão.
 Entrada: um algoritmo pode ter zero ou
mais entradas.
 Saídas: um algoritmo tem uma ou mais
saídas.
 Eficácia: todas as operações feitas por um
algoritmo têm de ser básicas.
ALGORITMOS

 Regras:
 Variáveis sãos os únicos objetos
manipulados pelos algoritmos
 Os algoritmos só podem memorizar valores
em variáveis
PSEUDOCÓDIGO

 Os algoritmos são descritos em uma


linguagem chamada pseudocódigo, que é
uma alusão à posterior implementação em
uma linguagem de programação.

 Assim os algoritmos são independentes das


linguagens de programação.

 Ao contrário de uma linguagem de


programação não existe um formalismo
rígido de como deve ser escrito o algoritmo.
REGRAS PARA SE CRIAR O ALGORITMO

 Usar somente um verbo por frase


 Imaginar que você está desenvolvendo um
algoritmo para pessoas que não trabalham
com informática
 Usar frases curtas e simples
 Ser objetivo
 Procurar usar palavras que não tenham
sentido dúbio
MONTAGEM DO ALGORITMO

ENTRADA: São os dados de entrada do algoritmo

PROCESSAMENTO: São os procedimentos utilizados para


chegar ao resultado final

SAÍDA: São os dados já processados


Estrutura de um Algoritmo

ALGORITMO <NOME>;
Declare

< declaração de variáveis, constantes e tipo >;


INICIO

<comandos>

FIM.
Exemplo de Algoritmo

 Imagine a seguinte situação: precisamos elaborar


um algoritmo para trocar uma lâmpada.

Início
- pegue uma escada;
- coloque-a embaixo da lâmpada;
- busque uma lâmpada nova;
- suba na escada com a lâmpada nova;
- retire a lâmpada velha;
- coloque a lâmpada nova;
- desça da escada.
Fim
Exemplo de Algoritmo

No entanto, antes de trocarmos a lâmpada devemos nos


certificar de que ela realmente esteja queimada, para então
trocá-la. Assim, podemos melhorar o nosso algoritmo.

Início
- ligue o interruptor;
- se a lâmpada não acender, então:
- pegue uma escada;
- coloque-a embaixo da lâmpada;
- busque uma lâmpada nova;
- suba na escada com a lâmpada nova;
- retire a lâmpada velha;
- coloque a lâmpada nova;
- desça da escada.
Fim
Exercícios 3

P1 – Construa um algoritmo para realizar a


troca de uma lâmpada:
P2 – Construa um algoritmo para ir ao banco e
retirar dinheiro:
P3 – Construa um algoritmo para realizar um
empréstimo de um livro na biblioteca:
P4 – Construa um algoritmo para tomar um
bom banho:
P5 – Construa um algoritmo para assistir um
filme no cinema:
Dúvidas