Você está na página 1de 19

Conceituao e estruturao de algoritmos

Conceituao
Estruturao de algoritmos
Linguagem natural Fluxograma Pseudocdigo

Introduo
A finalidade de um computador receber, manipular e armazenar dados
Processamento de dados

Possui duas partes:


Hardware e software

Desenvolvimento de software atravs de programas


Linguagem de programao

Introduo
Desenvolvimento de um programa:
Anlise: definio dos dados de entrada, processamento e dados de sada Algoritmo: descrever o problema com suas solues Codificao: tranformar o algoritmo para uma linguagem de programao

Conceituao
Algoritmo no um termo restrito computao
A palavra algoritmo vem do nome do matemtico iraniano Abu Abdullah Mohammad Ibn Musa al-Khawarizmi
Considerado o fundador da lgebra

O termo algoritmo tambm utilizado em outras reas:


Engenharia, administrao, etc.

Conceituao
Algumas definies de algoritmo:
Um procedimento passo a passo para a soluo de um problema Uma seqncia detalhada de aes a serem executadas para realizar alguma tarefa

Exemplos de algoritmo:
Fazer um sanduiche Receita culinria

Conceituao
Passos para fazer um sanduiche:
Pegar o po e cort-lo ao meio Pegara a maionese e pass-la no po

Pegar e cortar alface e tomate


Colocar alface e tomate no po Pegar e fritar o hamburger

Colocar o hamburger no po

Conceituao
Receita para fazer um bolo de chocolate:
Numa vasilha, misture 4 xcaras de farinha de trigo, 2 xcaras de acar, 2 xcaras de achocolatado, 2 colheres de fermento e 1 pitada de sal; Junte 3 ovos, 2 xcaras de gua morna e 1 xcara de leo; Misture bem; Unte uma forma retangular com leo e polvilhe farinha de trigo e despeje a massa; Asse em temperatura mdia por 30 minutos.

Conceituao
A receita tem todas as caractersticas de um algoritmo

Ingredientes Modo de preparo

Bolo de chocolate

Conceituao
Mas eu realizo essas atividades de maneira diferente!
Correto!! Um problema pode ser resolvido de diversas maneiras, mas tem que gerar a mesma resposta Podem existir vrios algoritmos para solucionar o mesmo problema

Estruturao de algoritmos

As principais so:
Linguagem natural Fluxograma Pseudocdigo

Linguagem natural
Problema em se representar algoritmo usando a linguagem natural: ambigidade
Por exemplo:
A velhinha ouviu o barulho da janela.

Uma mquina seria incapaz de interpretar o que realmente est acontecendo A linguagem natural no adequada porque no tem rigidez sinttica e semntica

Fluxograma
Os fluxogramas apresentam os algoritmos de forma grfica
As formas grficas so:
Caixas, elipses, losangos, setas

Algoritmo:
Escolha do maior valor entre dois nmeros distintos introduzidos pelo usurio

Fluxograma
Incio

leia n1, n2

sim

n1 > n2

no

maior n1

maior n2

escreva maior

Fim

Fluxograma
Vantagens:
O entendimento de elementos grficos mais simples que o entendimento de textos Sem ambiguidade

Desvantagens:
necessrio aprender a simbologia dos fluxogramas O algoritmo resultante no apresenta muito detalhes, dificultando sua transcrio para um programa

Pseudocdigo
Algoritmos podem ser representados em cdigo diretamente em linguagem de programao Linguagens de programao so construdas utilizando palavras reservadas em ingls
Pseudocdigo tenta diminuir o nus da utilizao da linguagem de programao Um pseudocdigo bastante conhecido no Brasil o Portugol

Pseudocdigo

Algoritmo Maior var n1, n2, maior: inteiro; inicio leia(n1,n2); se (n1>n2) ento maior n1; seno maior n2; escreva (maior); fim

Pseudocdigo
Vantagem:
Passagem do algoritmo para qualquer linguagem de programao quase imediata

Desvantagem:
necessrio aprender as regras do pseudocdigo

Exerccios
Defina o que um algoritmo.
Por que a linguagem natural no adequada para a construo de algoritmos para computador? Quais as vantagens e desvantagens da utilizao de fluxograma e de pseudocdigo na construo de algoritmos? Elabore um algoritmo para a escolha e apresentao do menor valor entre dois nmeros distintos introduzidos pelo usurio. Apresente em fluxograma e pseudocdigo.

Leituras obrigatrias
MEDINA & FERTING. Algoritmos e Programao
Capitulo 1 (1.1 e 1.3)

ASCENCIO & CAMPOS. Fundamentos da programao de computadores


Captulo 1