Você está na página 1de 44

ALGORITMOS

Aula 1
Gellars M. S. Tavares

CONTEDO PROGRAMTICO DESTA AULA

O conceito de Algoritmo;
Conceitos de lgica, lgica de programao e
programa;
Desenvolvendo a lgica atravs de jogos;
Identificando o problema e construindo etapas
para resolv-lo;
Conhecendo as linguagens usadas para
representar algoritmos;
Construindo algoritmos na linguagem natural;

DEFINIO DE ALGORITMOS

Origem

Matemtica

Programao

uma palavra derivada do nome do


matemtico Abu Jafar Muhammad, que
introduziu a escrita dos clculos atravs de
uma sequncia de passos em substituio ao
baco. Ele ficou conhecido como Al
Kharazmi.
uma sequncia de procedimento utilizada
para realizar e desenvolver clculo, de forma
automatizada sem muito esforo lgico.

Sequncia de passos finitos que devem ser


escritos de forma precisa e clara. Evitando
qualquer tipo de dvida na interpretao e que
tem como objetivo solucionar um problema
computacional.

DEFINIO DE ALGORITMOS

Sequncia finita de instrues, definida


de forma clara e sem ambiguidade, de
forma que possa ser executada e
reproduzida pelo interpretador ou leitor.

DEFINIO DE LGICA

A lgica o ramo da filosofia que


estuda e cuida das regras de
estruturao do pensamento, do uso do
raciocnio no estudo e soluo de
problemas .
Apresenta formas e tcnicas para
estruturao e argumentao utilizadas
na soluo de problemas.

LGICA

Jogos

Torre de Hani

LGICA

Jogos
O problema das garrafas de 8 litros, 5 e
3 litros.

LGICA

SITES SUGERIDOS
Desafios de raciocnio e lgica matemtica

http://www.profcardy.com/desafios/

LGICA

Racha Cuca

http://rachacuca.com.br

DEFINIO DE LGICA DE PROGRAMAO

uso correto das leis do pensamento, da


ordem da razo e de processos de
raciocnio e simbolizao formais na
programao de computadores, objetivando
racionalidade e o desenvolvimento de
tcnicas que cooperem para a produo de
solues logicamente vlidas e coerentes,
que resolvam com qualidade os problemas
que se deseja programar. Forbellone, A.,
Eberspacher, H, 2000).

CONCEITO DE PROGRAMA

um algoritmo escrito ou codificado,


utilizando
uma
linguagem
de
programao.
composto com um conjunto de
entradas, que so processadas e suas
sadas resultantes.

RESOLVENDO UM PROBLEMA
GEORGE PLYA

1. Entender
2. Planejar
3. Executar
4. Verificar

1 COMPREENDA O PROBLEMA

Identifique os dados.
Identifique a incgnita.
Identifique condio.
Verifique

se

possvel

satisfazer

condio com os dados fornecidos.

2 - PLANEJE

Procure achar alguma semelhana entre


esse problema e outro que j resolveu.
Releia o problema se no tiver conseguido
encontrar

as

etapas

necessrias

para

resolv-lo.
Quando

tiver

conseguido,

escreva

etapas sem ser prolixo e impreciso.

as

3 EXECUTE O PLANO

Acompanhe todas as etapas.


Verifique se conseguiu atingir o objetivo.
4 REFLITA SOBRE A SOLUO

Consegue justificar todas as etapas?


Consegue visualizar outra soluo?
Consegue ver uma outra aplicao para a
soluo encontrada?
Aula 1

ETAPAS PARA CONSTRUO DE UM ALGORITMO


Construo
do Algoritmo

a
m
e
l
b
o
r
Op

Interpretao do
enunciado
do problema

Codificao em uma
Linguagem de Programao
Aula 1

LINGUAGENS

LINGUAGENS PARA REPRESENTAR UM ALGORITMO

Aula 1

LINGUAGEM NATURAL

Aula 1

LINGUAGEM GRFICA

Fluxograma

Aula 1

PSEUDOLINGUAGENS

Ideia original construir algoritmos


sem a preocupao dos detalhes de
uma linguagem de programao logo,
no pode ser executada em um
computador.
Semntica -> definio de cada comando
Sintaxe -> como se escreve um comando
Aula 1

LINGUAGENS ALGORTMICAS

Aula 1

UAL - UNESA ALGORITHMIC LANGUAGE

Universidade Estcio de S(Campus Friburgo/RJ)


Adriana Sayuri Spallanzani
Andra Teixeira de Medeiros
Juarez Muylaert Filho(orientador)

Aula 1

DOWNLOAD

UAL
No prprio ambiente on line

Aula 1

VAMOS EXERCITAR?

Problema
Entrar com quatros salrios e exibir a mdia dos salrios.

Primeiro momento - COMPREENDE


Dados sero digitados no teclado (origem),
totalizando quatro dados numricos;
O algoritmo dever calcular mdia
aritmtica, resultando em uma informao
numrica;
O algoritmo dever exibir a mdia dos
salrios.
Aula 1

VAMOS EXERCITAR?

Segundo momento IDENTIFICA


Quatro operaes de entrada de dados,
uma para cada salrio;
Uma operao de processamento para
calcular a mdia dos salrios;
Uma operao de sada para exibir a mdia
dos salrios.

Aula 1

VAMOS EXERCITAR?

Terceiro momento ESCREVE


escolhendo uma das linguagens: natural,
grfica , pseudolinguagem ou linguagem
algortmica.

Aula 1

VAMOS EXERCITAR?

Quarto momento REFLETE


Como est a soluo ?
Ser que existe outra melhor?
O fato de funcionar significa dizer que
eficiente?
Poder ser aproveitado em outros
momentos?

Aula 1

SOLUO NO UAL

Aula 1

SOLUO NO UAL

Aula 1

DICAS IMPORTANTES

30

Reveja todos os conceitos da aula on-line.


Aprimore seus conhecimentos
pesquisando no material didtico e na
bibliografia recomendada (procure na
Biblioteca do campus ou na Biblioteca
Virtual/ SIA).
Assista ao(s) filme(s) da aula.

Aula 1

Faa o Estudo Dirigido e/ou Lista de


Exerccios.
Assista cada aula quantas vezes for
necessrio.
Esteja sempre em contato com seu
professor.
No durma com dvidas.

Aula 1

Vamos praticar agora?

Aula 1

ALGORITMOS

Atividade 1
Gellars M. S. Tavares

PROBLEMA
Problema da Torre de Hani - Eduard Lucas em 1883
Seja a seguinte situao:
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 maior nunca poder ser sobreposto
por outro menor.

Aula 1

UMA SOLUO

Aula 1

UMA SOLUO

PASSOS:
1 Colocar o disco verde na terceira torre.

Aula 1

UMA SOLUO

PASSOS:
2 Colocar o disco marrom na segunda torre.

Aula 1

UMA SOLUO

PASSOS:
3 Colocar o disco verde na segunda torre.

Aula 1

UMA SOLUO

PASSOS:
4 Colocar o disco azul na terceira torre.

Aula 1

UMA SOLUO

PASSOS:
5 Colocar o disco verde na primeira torre.

Aula 1

UMA SOLUO

PASSOS:
6 Colocar o disco marrom na terceira torre.

Aula 1

UMA SOLUO

PASSOS:
7 Colocar o disco verde na terceira torre.

Aula 1

UMA SOLUO
PASSOS:
1 Colocar o disco verde na terceira torre.
2 Colocar o disco marrom na segunda torre.
3 Colocar o disco verde na segunda torre.
4 Colocar o disco azul na terceira torre.
5 Colocar o disco verde na primeira torre.
6 Colocar o disco marrom na terceira torre.
7 Colocar o disco verde na terceira torre.

Aula 1