Beruflich Dokumente
Kultur Dokumente
Aula 04 Algoritmos Prof. Allbert Velleniche de Aquino Almeida E-mail: professor@allbert.com.br Site: http://www.allbert.com.br
Conceitos Bsicos
Desde o incio de sua existncia, o homem procurou criar mquinas para auxili-lo em seu trabalho, diminuindo o esforo fsico e economizando tempo Hardware x software
ENTRADA
PROCESSAMENTO
SADA
MEIO FSICO
Construo de Algoritmos
Problema Soluo
COMPUTADOR
Implementao de Programas
mbito
Mente
Meio Fsico
Computador
Utilizao do Raciocnio
Pensar correta e ordenadamente na anlise e resoluo do problema. Formalmente, chamamos este processo de lgica de programao, que pode ser entendido como a habilidade em se utilizar corretamente o raciocnio na resoluo de problemas.
Construo de Algoritmos
Formalmente, chamamos este processo de construo de algoritmos, que pode ser entendido como a habilidade de se utilizar corretamente a lgica de programao na construo de algoritmos, ou seja, a soluo transcrita em passos.
Implementao de Programas
Conceito de algoritmo
Essa sequncia de passos para soluo de um problema no nica, da mesma forma que no existe um algoritmo nico para a soluo de um problema computacional;
Conceito de algoritmo
Algoritmo , ento, um conjunto de passos (aes) que levam soluo de um determinado problema. Em geral, os caminhos que levam a uma soluo so muitos. Um conjunto finito de regras que prov uma sequncia de operaes para resolver um tipo de problema especfico [KNUTH]
Sequncia ordenada, e no ambgua, de passos que levam soluo de um dado problema [TREMBLAY]
Conceito de algoritmo
definir o processamento;
definir os dados de sada; construir o algoritmo utilizando uma das ferramentas descritas na prxima seo; testar o algoritmo realizando simulaes.
narrativa
fluxograma linguagem
estruturado, etc.)
Descrio narrativa
Ex.: Imaginem um problema onde o usurio tenha que entrar com dois nmeros e o problema tenha que somar esses nmeros e apresentar o resultado ao usurio.
Descrio narrativa
Vantagens:
Desvantagens:
impreciso provocada pela ambiguidade; pouca confiabilidade (a impreciso acarreta a desconfiana); extenso (normalmente, escreve-se muito para dizer pouca coisa).
Fluxograma
Incio
Leia A, B
C=A+B
Escreva C
Fim
Fluxograma
Vantagens:
uma ferramenta bastante conhecida; figuras dizem muito mais que palavras; padro mundial. faz com que a soluo do problema j esteja amarrada a dispositivos fsicos; pouca ateno aos dados, no oferecendo recursos para descrev-los ou represent-los; complica-se medida que o algoritmo cresce.
Desvantagens:
Ex.: Algoritmo soma Inicio leia (A) leia (B) C A+B escreva (C) Fimalgoritmo
Vantagens:
Independncia fsica da soluo; Usa o portugus como base; Pode-se definir quais e como os dados vo estar estruturados; Fcil mapeamento em uma linguagem de programao qualquer.
Desvantagens:
Simulao de algoritmos
Tambm conhecido como teste de mesa A partir de dados de teste cuja resposta conhecida, simula-se a execuo do algoritmo e compara-se a
Exemplo #1
Dado o seguinte problema: Clculo da mdia de um aluno. Descrio: A mdia do aluno composta por duas provas e duas sries de exerccios. A primeira prova tem peso 1 e a segunda tem peso 2, a mdia aritmtica das sries de exerccios tem peso 1.
Soluo Exemplo #1
1. Dados de Entrada
3. Dados de sada:
Mdia = 8.0
Mdia=(N1+N2*2+(S1+S2)/2)/4
Mdia
Fim
leia(N2)
leia(S1) leia(S2)
Exemplo #2
Dados trs valores positivos, a, b e c, determine a sua mdia aritmtica, harmnica, geomtrica e ponderada com pesos de 1, 2 e 3 respectivamente.
Quais
deste problema?
Soluo Exemplo #2
1. 2. Obter os valores para a, b e c. Calcular a mdia aritmtica.
abc ma 3 3 mh 1/ a 1/ b 1/ c
3.
4.
mg 3 a.b.c
1a 2b 3c mp 1 2 3
5.
6.