Você está na página 1de 28

12/07/2014

Edição 2014

ALGORITMOS
Prof. Raquel S. de Paula Lopes
Professora.raquel.lopes@gmail.com

INTRODUÇÃO
Livro Texto
Estudo Dirigido de Algoritmos
Autor: Oliveira, Jayr Figueiredo / Manzano, Jose Augusto
Editora:Érica
ISBN: 857194413X
Série Estudo dirigido
Idioma Portugues
Páginas: 228
Publicação: 1997
Edição 1

1
12/07/2014

INTRODUÇÃO
Nossa Ferramenta de Trabalho

O microcomputador é um sistema (hardware e software) capaz de


processar um sinal.

INTRODUÇÃO
Interfaces
O Microcomputador possui várias Interfaces de entrada e saída:

2
12/07/2014

INTRODUÇÃO
Composição Externa
• Interfaces de entrada:

• Teclado:
• Padrão;
• PS/2;
• USB;
• Wireless (wi-fi e Bluetooh).

• Mouse:
• Serial (padrão);
• PS/2;
• USB;
• Wireless (wi-fi e Bluetooh).

INTRODUÇÃO
Composição Externa
• Interfaces de entrada:

• Scanner:
• LPT1 (Paralela);
• SCSI;
• USB;

• Outras:
• Câmeras Digitais;
• Canetas Óticas;
• Mesa Digitalizadora;
• Voz;

3
12/07/2014

INTRODUÇÃO
Composição Externa
• Interfaces de Saída:

• Monitores:
• CRT( Mono ou Color);
• LCD;
• Plasma;
• Organic Light Emitting Devices – OLED;

• Impressoras:
• LPT1 (Paralela);
• USB;
• Conexão de Rede;
• Infrared;
• Wireless.

INTRODUÇÃO
Composição Interna - Processadores

4
12/07/2014

INTRODUÇÃO
Composição Interna
• Mother Bord – Placa Mãe:

• É a placa mais importante do Computador


• Nela estão localizados:
• Processador;
• Memória;
• Interfaces;

INTRODUÇÃO
Evolução do Computador
 Dispositivos mecânicos para controlar operações complexas têm sido usados
desde o século XVI;

 A primeira calculadora de que se tem notícias é o Ábaco, de origem chinesa no


século V A.C (Antes de Cristo);

5
12/07/2014

INTRODUÇÃO
Evolução do Computador
 Blaise Pascal (1623-1662) desenvolveu uma calculadora mecânica
para auxiliar na preparação dos impostos de seu pai;
 Logo em seguida (1791-1871) Charles Babbage que é conhecido
como avô da computação, projetou uma máquina que podia
calcular tabelas simples marcando e girando engrenagens.
 A máquina de Babbage tinha capacidade de ler dados de entrada,
armazenar e fazer cálculos, gerando dados de saída (funções que
compõem os computadores modernos).

INTRODUÇÃO
Primeira Geração - Computadores à Válvula
 O primeiro computador eletrônico e digital (1943 a 1946) de propósito
geral foi denominado Eletronic Numerical Integrator And Computer –
ENIAC;

 O ENIAC era uma máquina gigantesca, contendo mais de 17.000 válvulas e


800 Km de cabos pesando 30 toneladas.

 Inicialmente ele foi projetado para calcular as tabelas balísticas utilizada


pelo exercito americano, mas também foi usado para realizar os cálculos em
relação ao uso da bomba H (propósito geral).

6
12/07/2014

INTRODUÇÃO
Modelo de Von Neumann

 Computadores digitais convencionais têm a forma comum atribuída a


Von Neumann;
 O modelo de Von Neumann consiste de cinco componentes principais :
1. Unidade de Entrada;
2. Unidade de Saída;
3. Unidade de Memória;
4. Unidade de Aritmética e Lógica – ULA
5. Unidade de Controle

INTRODUÇÃO A PROGRAMAÇÃO
Introdução a Programação

Muitas pessoas gostam de falar que possuem e sabem usar o raciocínio


lógico.

Quando questionadas, perdem a linha de raciocínio, pois este depende


de muitos fatores para completá-lo, tais como:

 Calma;  Vivência;

 Experiência;  Ponderação;

 Criatividade;  Responsabilidade;

 Conhecimento;  Versatilidade;

7
12/07/2014

INTRODUÇÃO A PROGRAMAÇÃO
Lógica e Algoritmos

• Podemos dizer que lógica é a ciência dos princípios formais


do raciocínio.
• Usar a lógica é fundamental para aqueles que desejam
programar um computador.
• Devemos lembrá-los que não ensinamos ninguém a pensar,
pois todas as pessoas possuem este "dom".
• Para usar a lógica é necessário: Saber Pensar

“Como, não é possível ensinar ninguém


a pensar o objetivo é justamente
aperfeiçoar este dom.”

SEQUÊNCIA LÓGICA
Sequência Lógica

Sequência Lógica são passos executados até


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

“Mascar um chiclete”:
· Pegar o chiclete
· Retirar o papel
· Colocar na boca
· Mascar o chiclete
· Jogar o papel no lixo

8
12/07/2014

17

Lógica de programação
LÓGICA DE PROGRAMAÇÃO:
Técnica de encadear pensamentos para atingir determinado
objetivo
Necessária para desenvolver programas e sistemas, pois
permite definir a seqüência lógica para a solução de um
problema
SEQÜÊNCIA LÓGICA: ?  1.  2.  3.  !
Estes pensamentos podem ser descritos como uma seqüência
de instruções, que devem ser seguidas para se cumprir uma
determinada tarefa
Passos executados até se atingir um objetivo ou solução de um
problema

Lógica

Modo de preparo: Quão cremoso?!?

Bata a margarina, as gemas e o açúcar até


Quanto tempo?!?
ficar cremoso
Junte o leite, o coco e aDefarinha e continue
uma vez só?!?
batendo
Acrescente o fermento e, por último, as
claras em neve Quanto tempo?!?

Unte uma forma com manteiga e leve ao


forno para assar

9
12/07/2014

Lógica estruturada

Modo de preparo:
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

Qual seria a lógica estruturada para a


atividade de trocar o pneu do carro?

10
12/07/2014

Troca de pneu
“Abra o porta-mala e verifique se todos
acessórios estão lá.
Em caso negativo, feche o porta-malas e
peça carona a alguém.
Em caso positivo, retire o triângulo,
posicione-o a cerca de 30 m do carro, e,
depois, retire o estepe e o macaco.
Levante o carro... “

Troca de pneu

11
12/07/2014

O
EXERCÍCI
Ordene e estruture
uma sequência para
a realização de uma
ligação telefônica
em um orelhão.

EXERCÍCIO
Resposta 1:

1. Tirar o fone do gancho


2. Ouvir sinal de linha
3. Introduzir cartão
4. Teclar o número desejado
5. Conversar
6. Desligar
7. Tirar o cartão

12
12/07/2014

Resposta 2 (Mais robusta)

EXERCÍCIO
1. Tirar o fone do gancho
2. Ouvir sinal de linha
3. Introduzir cartão
4. Teclar o número desejado
5. Se chamar e alguém atender
1. Conversar
2. Desligar
3. Retirar o cartão
6. Senão
1. Desligar
2. Voltar para a instrução 1

Problema da Torre de Hanói


Seja a seguinte situação:
deve-se mover todos os discos do primeiro eixo para o
terceiro mantendo-se a ordem original
em cada movimento, pode-se mover apenas um disco
um disco nunca poderá ser sobreposto por outro maior

13
12/07/2014

OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG
Passo 1:
mova disco menor para terceiro eixo
OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG

Passo 2:
mova disco médio para segundo eixo

14
12/07/2014

OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG
Passo 3:
mova disco menor para segundo eixo
OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG

Passo 4:
mova disco maior para terceiro eixo

15
12/07/2014

OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG
Passo 5:
mova disco menor para primeiro eixo
OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG

Passo 6:
mova disco médio para terceiro eixo

16
12/07/2014

OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG
Passo 7:
mova disco menor para terceiro eixo
OS
PLEX
COM
AS
BLEM
PRO
MO:
ORIT
ALG

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

17
12/07/2014

EXEMPLO
Tal sequência é um algoritmo? Vejamos...

Possui uma sequência de instruções


finitas e ordenadas?
R.: SIM.
O objetivo da sequência foi atingido?
R.: SIM.
Logo, é um algoritmo!

Como fazer o ALGORITMO? ALGORITMO: CONCEITO

OBS.: Não existe um algoritmo para


construir algoritmos

A criação de um algoritmo é um
exercício de criatividade
(conhecimento) e experiência
(técnica e prática)

18
12/07/2014

A realidade é complexa
e rica em detalhes!

Realidade

O que você abstrai dessa realidade?

19
12/07/2014

O que é abstração?

Abstração
=
Operação mental que
observa a realidade e
captura apenas os
aspectos relevantes
para um contexto

20
12/07/2014

21
12/07/2014

Lógica de programação
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

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 e animal (mas não é um cavalo)

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

22
12/07/2014

(10MIN)
E1
ATIVIDAD
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?

RESPOSTAS - ATIVIDADE 1
Respostas
R1 - 8 dias. No oitavo dia a lesma
sobe 2(dois) metros, atinge o topo
e não interessa se ela desceu
novamente.
R2 – 3 (três) minutos
R3 – Tio

23
12/07/2014

INTRODUÇÃO A PROGRAMAÇÃO
Lógica e Algoritmos

• A técnica mais importante no projeto da lógica de programação é


chamada programação estruturada, a qual consiste em uma metodologia
de projeto, objetivando:
1. Agilizar a codificação da escrita da programação;
2. Permitir a verificação de possíveis falhas apresentada pelos programas;
3. Facilitar as alterações e atualizações dos programas.

Conceito de Algoritmo

“Um Algoritmo é uma seqüência de


instruções ordenadas de forma lógica para
a resolução de uma determinada tarefa ou
problema"

INTRODUÇÃO A PROGRAMAÇÃO
Vários Outros Conceitos para Algoritmos

" Um conjunto finito de regras que provê uma sequência de operações


para resolver um tipo de problema específico" [Knuth]

"Sequência Ordenada, e não ambígua, de passos que levam à solução de


um dado problema" [Tremblay]

"Processo de cálculo, ou de resolução de um grupo de problemas


semelhantes, em que se estipulam, com generalidade e sem restrições,
as regras formais para a obtenção do resultado ou da solução do
problema" [Aurélio]

24
12/07/2014

INTRODUÇÃO A PROGRAMAÇÃO
Algoritmo

• A palavra algoritmo, inicialmente, pode parecer estranha e


descolhecida. No entanto, se observarmos atentamente, fazemos uso de
algoritmos em nosso cotidiano:
• Instruções para utilizar um aparelho eletrônico/eletrodoméstico;
• Receita para preparar um determinado prato;
• Guia para preenchimento do Imposto de Renda;
• Maneira que as contas de água, energia, telefone, etc... são calculadas.

INTRODUÇÃO A PROGRAMAÇÃO
Comentários sobre Algoritmos

• Vejamos o que algumas pessoas importantes, para a Ciência da


Computação, disseram a respeito de algoritmos:
" A noção de algoritmo é básica para toda programação de
computadores" Professor da Universidade de Stanford, autor da
coleção " The art of computer programming"
" O conceito central da programação e da ciência da Computação é o
conceito de algoritmo" Criador de linguagens de programação
como ALGOL, PASCAL e MODULA-2.

25
12/07/2014

INTRODUÇÃO A PROGRAMAÇÃO
Principais Caracteristicas

• Todo algoritmo deve apresentar algumas características básicas:


1. Ter fim;
2. Não dar margem à dupla interpretação (não ambíguo);
3. Capacidade de receber dado(s) de entrada;
4. Poder gerar informações de saída;
5. Ser efetivo (ou seja, todas as etapas especificadas pelo algoritmo
devem ser alcançáveis em um tempo finíto).

INTRODUÇÃO A PROGRAMAÇÃO
Algoritmo Estruturado

• Algoritmo é um processo de cálculo matemático ou de resolução


de um grupo de problemas semelhantes;

• São regras formais para obtenção de um resultado ou da solução


de um problema, englobando fórmulas de expressões aritméticas;

• Note que sempre estaremos diante de um problema, e que deverá


ser resolvido primeiro por nós, para que depois seja passado e
resolvido por um computador;

• O que queremos dizer é que primeiro você deve entender bem o


problema, para depois buscar a sua solução dentro de um
computador;

26
12/07/2014

INTRODUÇÃO A PROGRAMAÇÃO
Estrutura de um Algoritmo

Algoritmo “ < Nome_Do_Algoritmo>”

var

<Declaração das variáveis>

inicio

<Corpo do Algoritmo>

fimdoalgoritmo

INTRODUÇÃO A PROGRAMAÇÃO
Introdução ao Visualg

• Primeiras atividades
• Escrever algo na tela
• Definição de Caractere
• Ler algo digitado do teclado.

27
12/07/2014

INTRODUÇÃO A PROGRAMAÇÃO
Variáveis

• A memória de um computador é como um grande arquivo onde cada


gaveta pode armazenar um único valor.
• Para poder utilizá-lo precisamos identificar cada gaveta com um nome.

 Assim, o que foi armazenado


pode ser utilizado a qualquer
momento.

 Nomes de variáveis entretanto


devem obedecer algumas
regras.

PRIMEIRO EXEMPLO
Resolução do Primeiro Exemplo
 Algoritmo Genérico:

 1. Obter dois valores, no caso variáveis A e B;

 2. Efetuar a soma das variáveis A e B, implicando o seu resultado na variável X;

 3. Apresentar o valor da variável X após a operação de soma dos dois valores fornecidos.

28

Você também pode gostar