Conceituao
Estruturao de algoritmos
Linguagem natural Fluxograma Pseudocdigo
Introduo
A finalidade de um computador receber, manipular e armazenar dados
Processamento de dados
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
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
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
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)