Escolar Documentos
Profissional Documentos
Cultura Documentos
Por
Otavio Chase
www.lab.ufra.edu.br/lasic
TCNICAS EM PROGRAMAO
Uma Abordagem Sistmica Aplicada a Cincias do Ambiente e do Meio Agrrio
Parte I
ALGORITMOS E FLUXOGRAMAS
Computao no mais sobre computadores. sobre viver... Temos visto computadores se moverem para fora
de grandes salas com ar condicionado para nossos gabinetes, depois para nossas escrivaninhas e agora para os
nossos colos e nossos bolsos. Mas isto no o final... Como uma fora da natureza, a era digital no pode ser
negada nem interrompida... A supervia da informao pode ser bastante exagerada hoje, mas ela uma indicao
sobre o amanh. Ela ir existir alm das previses mais desvairadas das pessoas... No estamos aguardando
nenhuma inveno. Ela est aqui. agora. Ela quase gentica em sua natureza, no sentido de que cada gerao se
tornar mais digital que a sua antecessora.
Nicholas Negroponte
Professor de mdia tecnolgica no Massachussetts Institute of Technology MIT, EUA
http://pt.wikipedia.org/wiki/Nicholas_Negroponte
Otavio Chase
Prof. Eng. Eletron. M.Sc.
Autor
www.lab.ufra.edu.br/lasic
Este material foi escrito e revisado por professores e membros do Laboratrio de Sistemas Ciberfsicos situado no
Instituto Ciberespacial da Universidade Federal Rural da Amaznia.
2012 ESTE MATERIAL PROPRIEDADE DA UFRA ICIBE E TEM TODOS OS SEUS DIREITOS RESERVADOS
ESTE MATERIAL LIVRE E NO PODE SER COMERCIALIZADO
Um algoritmo formalmente uma sequncia finita de passos que levam a execuo de uma tarefa. Podemos
pensar em algoritmo como uma receita, uma seqncia de instrues que executam uma meta especfica. Estas
tarefas no podem ser redundantes nem subjetivas na sua definio, devem ser claras e precisas.
Como exemplos de algoritmos podemos citar os algoritmos das operaes bsicas da matemtica (adio,
multiplicao, diviso e subtrao) de nmeros reais decimais. Outros exemplos seriam os manuais de aparelhos
eletrnicos, como um aparelho de som, que explicam passo-a-passo como, por exemplo, gravar um evento. At
mesmo as coisas mais simples do nosso dia a dia, podem ser descritas por sequncias lgicas.
Por exemplo:
Apesar do nome pouco usual, algoritmos so comuns em nosso cotidiano, como por exemplo, uma receita
de bolo. Nela est descrita uma srie de ingredientes necessrios e uma seqncia de diversos passos (aes) que
devem ser fielmente cumpridos para que se consiga fazer o alimento desejado, conforme se esperava, antes do incio
das atividades (objetivo bem definido).
Observa-se, porm que uma ordem isolada no permite realizar o processo completo, para isso necessrio
um conjunto de instrues colocadas em ordem sequencial lgica. No exemplo do pargrafo anterior para fazermos
um bolo no podemos comear por colocar os ingredientes no forno. necessrio todo um processo passo a passo
para se chegar a este fim. A figura B1 mostra como podemos visualizar o conceito de algoritmos atravs da receita
de bolo:
Uma receita uma descrio de um conjunto de passos ou aes que fazem a combinao de um conjunto
de ingredientes (partes) com vista a obter um produto gastronmico particular: o Bolo (que o sistema como um
todo, com a soma de todas as partes).
3. A Descrio Narrativa
Nesta forma de representao, os algoritmos so expressos em linguagem natural, por exemplo:
Figura B2 A interao entre as partes (ingredientes) feita atravs de instrues (passo-a-passo) para assar o bolo.
Quando elaboramos um algoritmo devemos especificar aes claras e precisas, que a partir de um estado
inicial, aps um perodo de tempo finito, produzem um estado final previsvel e bem definido. Isto significa que o
algoritmo fixa um padro de comportamento a ser seguido, uma norma de execuo a ser trilhada, com vistas a
alcanar, como resultado final, a soluo de um problema, garantindo que sempre que executado, sob as mesmas
condies, produza o mesmo resultado.
3.2 Pseudocdigo
O pseudocdigo uma tcnica narrativa denominada, tambm conhecida como portugus estruturado ou
chamada por alguns de portugol.
Esta tcnica de algoritmizao baseada em uma PDL Program Design Language (Linguagem de
Projeto de Programao). Aqui vamos apresent-la em portugus. A forma originas de escrita conhecida como
ingls estruturado, muito parecida com a notao da linguagem PASCAL. A PDL (neste caso, o pseudocdigo)
usada como referncia genrica para uma linguagem de projeto de programao, tendo como finalidade mostrar uma
notao para elaborao de algoritmos, os quais sero utilizados na definio, criao e desenvolvimento de uma
linguagem computacional (Clipper, C, Fortran, Pascal, Delphi, Visual-Objects) e sua documentao. Abaixo
apresentado um exemplo deste tipo de algoritmo.
Os algoritmos so independentes das linguagens de programao. Ao contrrio de uma
linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo.
O algoritmo deve ser fcil de interpretar e fcil de codificar. Ou seja, ele deve ser o intermedirio entre a
linguagem falada e a linguagem de programao.
3.3 Portugol
A maioria esmagadora das linguagens de programao de computadores em lngua inglesa. Para facilitar
o aprendizado de lgica de programao foram criadas algumas pseudolinguagens.
O Portugol uma pseudolinguagem de programao, uma simbiose de Portugus, Algol e Pascal, criada
originalmente em ingls, com a proposta de ser independente da linguagem nativa (ou seja, existe em japons,
javans, russo...).
Basicamente, uma notao para algoritmos, a ser utilizada na definio, criao, desenvolvimento e
documentao dos programas.
Inicio, Fim, Algoritmo, Enquanto, Se, ento, Para, At, At que, Leia, Escreva, Faa, Repita, FimSe,
FimEnquanto, FimSelecione, entre outras que veremos adiante.
2.
Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com
informtica ou cincias exatas
3.
4.
Ser objetivo
5.
6.
ENTRADA:
So os dados j processados
Programa mdia
Var
Nome: caractere
N1, N2: real
Soma, mdia: real
Incio
Imprima Informe nome e notas do aluno:
Leia nome
Leia n1
Leia n2
Soma <= n1 + n2
Mdia <= soma / 2
Imprima nome
Imprima Mdia
Se mdia >=5 Ento
Imprima Aprovado
Caso contrrio
Imprima Reprovado
Fim Se
Fim
A diferena entre uma linguagem de programao de alto nvel utilizada em computao e uma PDL que
esta (seja escrita em portugus, ingls, ou qualquer outro idioma) no pode ser compilada em um computador (por
enquanto). Porm, existem Processadores de PDL que possibilitam traduzir essa linguagem numa representao
grfica de projeto, fornecendo uma variedade de informaes, como: tabelas de referncia cruzada, mapas de
aninhamento, ndice operacional do projeto, entre tantas outras.
ATENO: Lembramos que o fluxograma e o pseudocdigo so as duas tcnicas importantes para a documentao
da soluo de um problema computacional
5.1 Variveis
Exemplos de variveis:
Nome
Media = Soma / 20
Nome o nome dado a uma posio de memria para armazenar um contedo com letras
Media o nome dado a uma posio de memria para armazenar um valor real
Soma e o nome dado a uma posio de memria para armazenar um valor real
5.2 Constantes
Constante uma determinada varivel que possui um valor fixo (que no se modifica) durante a execuo
de um algoritmo.
Conforme o seu tipo, a constante classificada como sendo numrica lgica e literal.
Exemplos de constante:
Nome = Jose da Silva
Peso= 75
Caractere
Alfanumrica
Lgica
Indexada
Usurio
Passo 2 : Leia o numero que eu estou digitando agora na sua tela de vdeo:
25
Passo 3 : Leia o segundo numero que eu estou digitando agora na sua tela de vdeo:
30
10
10
55
Passo 6: Fim do processo.
Ter um incio;
2.
3.
4.
executadas.
Observe ainda que todos os comandos so constitudos de VERBOS (readln/Leia, writeln/Escreva) que
indicam qual ao queremos que seja executada.
Exerccios:
1) Crie uma sequncia lgica para tomar banho
2) Faa um algoritmo para achar a mdia de 3 nmeros
3) Crie uma algoritmo para acrescentar 10% ao seu salrio mensal.
11
11
7. Fluxograma
Sabemos que uma figura fala por mil palavras. No processo de aprendizado fixamos com mais facilidade
imagens do que conceitos escritos.
O diagrama de blocos ou fluxograma uma forma padronizada eficaz para representar os passos lgicos de
um determinado processamento.
Com o diagrama podemos definir uma seqncia de smbolos, com significado bem definido. Portanto, sua
principal funo a de facilitar a visualizao dos passos de um processamento
O fluxograma uma ferramenta usada e desenvolvida pelos profissionais de anlise de sistemas, bem como,
por alguns profissionais de Organizao, Sistemas e Mtodos. Tem como finalidade descrever o fluxo seja manual ou
mecnico, especificando os suportes usados para os dados e informaes. Usa smbolos convencionais, permitindo
poucas variaes. Representado por alguns desenhos geomtricos bsicos, os quais indicaro os smbolos de entrada
de dados, do processamento dedados e da sada de dados, acompanhados dos procedimentos requeridos pelo analista
de sistemas e a serem realizados pelo programador por meio do desenvolvimento do raciocnio lgico, o qual dever
solucionar o problema do programa a ser processado pelo computador.
uma ferramenta de uso em diversas reas do conhecimento humano, por traduzir em formato grfico
algum procedimento ou norma.
12
12
DECISO
Permite elaborar processos de deciso
CONECTOR DE PAGINA
Permite informar de qual pagina vem o fluxograma
13
13
Inicio
Digite 1 numero n1
Digite 2 numero n2
SIM
Nmeros
so
zeros??
NO
Imprima o resultado
encontrado
Fim
8. Operadores
Os operadores so meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do
computador. Temos trs tipos de operadores:
Operadores Aritmticos
Operadores Relacionais
Operadores Lgicos
14
14
Operao
Smbolo
Adio
Subtrao
Multiplicao
Diviso
Exponenciao
** ou ^
Exponenciao
Exemplos:
Os operadores relacionais so utilizados para comparar String de caracteres e nmeros. Os valores a serem
comparados podem ser caracteres ou variveis.
Igual a
Diferente de
Maior que
Menor que
Maior ou igual a
Menor ou igual a
=
<> ou
>
<
>=
<=
Estes operadores sempre retornam valores lgicos (Verdadeiro ou Falso/ True ou False)
Para estabelecer prioridades no que diz respeito a qual operao executar primeiro, utilize os parnteses. Os
operadores relacionais so:
Exemplos
Tendo duas variveis A = 5 e B = 3 , os resultados das expresses seriam:
A
A
A
A
A
A
Expresso
=B
<> B
>B
<B
>= B
<= B
Resultado
Falso
Verdadeiro
Verdadeiro
Falso
Verdadeiro
Falso
15
15
E (And)
OU (Or)
NO (Not)
A tabela mostra todos os valores possveis criados pelos trs operadores lgicos.
Exemplos
Suponha que temos trs variveis A = 5, B = 8 e C =1. Os resultados das expresses seriam:
Expresses
A=B
A <> B
A>B
A<B
A >= B
A <= B
AND
OR
NOT
AND
OR
NOT
B>C
B<C
B>C
B=C
Resultado
Falso
Verdadeiro
Verdadeiro
Verdadeiro
Falso
Falso.
Caracter
Sintaxe
Caracter(Num)
Descrio
Fornece o caracter correspondente a Num (entre 1 e
255) de acordo com a tabela ASCII
Int
Int(Num)
Raiz
Raiz(Num)
Abs
Abs(Nm)
Div
Div(Num;Divisor)
Mod
Mod(Num;Divisor)
baixo,
16
16
Ltrim
Sintaxe
Ltrim(Texto)
Descrio
Elimina de Texto espaos em branco
esquerda.
Rtrim
Rtrim(Texto)
Comp
Comp(Texto)
Direita
Direita(Texto;NCaract)
Esquerda Esquerda(Texto;Nm_Caract)
Sub
Sub(Texto; N; M)
Pos
Pos(Texto; Parte)
ASCII
ASCII(Texto)
17
17
9.1 Deciso
Os comandos de deciso ou desvio fazem parte das tcnicas de programao que conduzem a estruturas de
programas que no so totalmente seqenciais. Com as instrues de SALTO ou DESVIO pode-se fazer com que o
programa proceda de uma ou outra maneira, de acordo com as decises lgicas tomadas em funo dos dados ou
resultados anteriores. As principais estruturas de deciso so: Se Ento, Se ento Seno e Selecione Caso.
18
18
SELECIONE CASO Op
CASO 1
<comandos>
CASO 2
<comandos>
CASO 3
<comandos>
CASO 4
<comandos>
CASO 5
<comandos>
CASO SENO
<comandos>
FimSelecione
19
19
20
20
conjunto
determinado
numero
de
de
instrues,
vezes,
um
passos
21
[1]
Mrcio V. Soares, Marcelo M. Gomes, Marco A. F. Souza, Algoritmos e Lgica de Programao, 2 ed,
Editora: Cengage Learning, 234 pgs, ISBN: 9788522111299, Brasil, 2011
[2]
Prof. Eder A. B. Castro, Notas de Aula em Introduo a Cincia da Computao, UEMS, Brasil, 2003.
[3]
Silvio do Lago Pereira, Algoritmos e Lgica de Programao em C Uma Abordagem Didtica, 1 ed.,
Editora: rica, Brasil, 2010.
22
22
Cacau
Theobroma cacao
23
23