Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Algoritmos
Algoritmos - Introduo
Formulao de um algoritmo
Aspecto esttico
Aspecto dinmico
Ao
um evento que ocorre num perodo de tempo finito, estabelecendo um efeito intencionado
e bem definido - Guimares/Lages
um acontecimento que, a partir de um estado inicial, aps um perodo de tempo finito,
produz um estado final previsvel e bem definido - Harry Farrer
Processo
Seqncia temporal de aes (ou sub-aes), cujo efeito acumulado igual ao efeito do
evento total
Padro de Comportamento
Objetivo
Norma de execuo
Resumo Geral
AO
PROCESSO
ALGORITMO
ESTADO
PADRO DE
COMPORTAMENTO
Algoritmo
Algoritmos-2-Introducao-2015-s2
Pgina 1 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Itens Fundamentais
Constantes
Numrica
Representao no Sistema Decimal
Inteiro ou Fracionrio
Lgica
Usadas em proposies lgicas
falso
verdadeiro
Literal
Representadas por qualquer seqncia de caracteres: letras, dgitos e smbolos
especiais
Toda constante literal deve estar delimitada (aspas simples / apstrofo)
Variveis - Tipos Bsicos
Numrica Inteira
Representao no Sistema Decimal
Qualquer nmero inteiro, negativo, nulo ou positivo
Lgica
Conjunto de valores falso ou verdadeiro em proposies lgicas
Literal
Qualquer conjunto de caracteres alfanumricos
Variveis - Declarao
A semntica de uma declarao de variveis corresponde criao de locais
na memria rotulada com o nome da varivel (identificador) e marcada com
o tipo de valores que ela pode conter Guimares/Lages
Classe de Dados
Agrupamento lgico de depsito de dados com caractersticas afins
Exemplos:
NM => Armazenamento de nomes
CD => Armazenamento de cdigos
Identificador
Nome que identifica o contedo a ser armazenado
Exemplos:
NMALUNO =>Armazenamento de nome de aluno
CDFUNCIO => Armazenamento de cdigo de funcionrio
Formao do Identificador
CLASSE DE
DADOS
LETRA
NMERO
Algoritmos-2-Introducao-2015-s2
Pgina 2 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Exemplos de Classes de Dados
CLASSE DE
DADOS
DESCRIO
(significado do dado a ser armazenado)
CD
Cdigo
NM
Nome
DS
Descrio
DT
Data
HR
Hora
VL
Valor
QT
Quantidade
MD
Mdia
PC
Percentual / Taxas
TX
Textos
IX
Qualificador / Indexador
TB
Tabela
NO
Nmero
UF
Unidade Federativa
ST
Situao / Status
SN
Sim ou No
FS
Situao de Arquivo
FL
Localizao de Arquivo
TT
Totalizador
Algoritmos-2-Introducao-2015-s2
Pgina 3 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Operadores e Expresses
Operadores
Operadores Aritmticos
Adio
Multiplicao
Subtrao
Diviso
Operadores Lgicos
Conjuno
disjuno
negao
Operadores Relacionais
igual a
diferente de
maior que
menor que
maior ou igual a
menor ou igual a
contido em
Operadores Literais
concatenao positiva
+
*
/
e
ou
no
=
<>
>
<
>=
<=
em
+
Expresses
Expresses Aritmticas
Escritas linearmente
Utiliza notao matemtica
Prioridade entre as operaes
Prioridade
Operadores
1a.
* / div mod
2a.
+ OBS: div e mod so operadores que s podem ser
aplicados com operandos inteiros dando,
respectivamente, o quociente inteiro e o resto
inteiro da diviso entre operandos (resultados
obtidos por diviso e truncamento, sem
arredondamento)
Expresses Lgicas
Relaes
Comparao realizada entre valores do mesmo tipo
A natureza da relao indicada por um operador relacional
O resultado de uma relao sempre um valor lgico, isto , falso ou
verdadeiro
Tabela de prioridades de expresses
Prioridade
1a.
2a.
3a.
4a.
Algoritmos-2-Introducao-2015-s2
Operadores
no
*, /, div, mod, e
+, -, ou
=, <>, <, <=, >=, >, em
Pgina 4 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Mximas da Programao
01. Algoritmos devem ser feitos para serem lidos por seres humanos.
Procure escrever seus algoritmos de forma clara e organizada, possibilitando a qualquer pessoa
uma fcil leitura e interpretao.
02. Comentrios
Procure descrever nos seus algoritmos as situaes importantes e que necessitam de uma
orientao especfica. Considere os seguintes aspectos:
a) escreva os comentrios no momento em que estiver escrevendo o algoritmo;
b) os comentrios devero acrescentar alguma coisa; no apenas para frasear os
comandos;
c) lembre-se: toda vez que for feita uma modificao no algoritmo, os comentrios
associados devero ser alterados, e no apenas os comandos.
d) para comentar, utilize o // <texto de comentrio>
Procure deixar linhas em branco para separar os principais processos de seu algoritmo, isto vai
permitir uma leitura por bloco, o que aumenta consideravelmente a legibilidade dele.
07. Utilize parnteses para aumentar a legibilidade em expresses aritmticas e/ou lgicas
e prevenir-se contra erros.
Algoritmos-2-Introducao-2015-s2
Pgina 5 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Metodologia para Desenvolvimento de Algoritmos
Passo 1 Leitura e Anotaes
Leia cuidadosamente e at o fim a especificao do problema, fazendo
as anotaes necessrias.
Passo 2 Entrada(s)
Levante e analise todas as entradas citadas explicitamente ou no na
especificao do problema (entradas - leituras).
Passo 3 Sada(s)
Levante e analise todas as sadas explcitas ou no exigidas na
especificao do problema (sadas - mostras).
Passo 4 Gerao/Transformao
Verifique se necessrio gerar valores internamente ao algoritmo e
levante as variveis necessrias estabelecendo o valor inicial e o tipo de
cada uma delas.
Levante e analise todas as transformaes necessrias para, dadas as
entradas e valores gerados internamente, produzir as sadas
especificadas.
Passo 5 Algoritmo
Elabore o algoritmo.
Passo 6 Testes
Teste cada passo do algoritmo, verificando se as transformaes
intermedirias executadas esto conduzindo aos objetivos desejados.
Passo 7 Otimizao
Faa uma avaliao geral do algoritmo procurando e alterando os
pontos de melhoria.
Algoritmos-2-Introducao-2015-s2
Pgina 6 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Exemplo Prtico de Aplicao da Metodologia de Desenvolvimento de Algoritmos
Neste ponto consideramos uma especificao para desenvolvimento de um algoritmo
e a utilizamos para exemplificar na prtica a aplicao da metodologia com
explicao minuciosa de cada ponto.
Especificao:
Pgina 7 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Passo 5 - Elaborar o algoritmo.
Neste passo foi utilizado o padro VISUALG para a construo do algoritmo.
Algoritmo EXP001.alg
// Funo: Verificao e resoluo de uma equao do 2o Grau
// Autor: Prof. Dreco
// Data: 03/08/2015
var
inicio
fimse
fimalgoritmo
Algoritmos-2-Introducao-2015-s2
Pgina 8 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Passo 6 - Testar cada passo do algoritmo, verificando se as transformaes intermedirias
executadas esto conduzindo aos objetivos desejados.
VLCOEFA
0
0
1
1
0
1
1
1
VLCOEFB
1
1
0
2
0
1
2
2
Algoritmos-2-Introducao-2015-s2
VLCOEFC
1
2
1
0
0
1
3
2
VLDELTA
VLX1
VLX2
Sada
?
?
?
?
?
?
?
?
Pgina 9 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Passo 7 - Fazer uma avaliao geral do algoritmo identificando e alterando pontos de
melhoria.
Algoritmo EXP001.alg
// Funo: Verificao e resoluo de uma equao do 2o Grau
// Autor: Prof. Dreco
// Data: 03/08/2015
var
inicio
fimse
fimse
fimalgoritmo
Algoritmos-2-Introducao-2015-s2
se VLDELTA = 0 entao
escreval (As razes so iguais , VLX1:10:2)
senao
VLX2 <- (-VLCOEFB raizq (VLDELTA))
/ (2 * VLCOEFA)
escreval (O valor da raiz 1 =, VLX1:10:2)
escreval (O valor da raiz 2 =, VLX2:10:2)
fim-se
Pgina 10 de 11
Universidade de Uberaba
Algoritmos
Algoritmos - Introduo
Estrutura de um algoritmo
O algoritmo distribudo nas seguintes sees:
Comentrios de prlogo
Identificam o algoritmo de maneira geral (algoritmo, funo, autor e data).
Declarao de variveis globais
Nesta seo item so definidas as variveis que podero ser utilizadas por todo o
processo lgico principal e pelas funes e procedimentos definidos no algoritmo.
Declarao de funes e de procedimentos
Devero ser declaradas as funes e procedimentos necessrios ao desenvolvimento
lgico do algoritmo.
Processo lgico principal
O processo lgico principal responsvel pela estruturao das aes e comandos
que visam atender resoluo do problema como um todo. Est subdividida em:
marcador de incio;
inicializao das variveis globais;
descrio das aes que compe o processo lgico principal;
marcador de finalizao.
Exemplo da estrutura
Algoritmo Exemplo.alg
// Funo: Exemplo de estrutura de um algoritmo
// Autor: Equipe do LPT1
// Data: 03/08/2015
// Declarao das variveis
Var
<VARIAVEL-1a>, <VARIAVEL-2a>, ..., <VARIAVEL-na> : <TIPOa>
<VARIAVEL-1b>, <VARIAVEL-2b>, ..., <VARIAVEL-nb> : <TIPOb>
inicio
<COMANDO-1>
<COMANDO-2>
<COMANDO-3>
...
<COMANDO-n>
fimalgoritmo
Algoritmos-2-Introducao-2015-s2
Pgina 11 de 11