Você está na página 1de 24

REPBLICA FEDERATIVA DO BRASIL

SERVIO PBLICO FEDERAL


UNIVERSIDADE FEDERAL RURAL DA AMAZNIA
INSTITUTO CIBERESPACIAL
LABORATRIO DE SISTEMAS CIBERFSICOS

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS

LABORATRIO DE SISTEMAS CIBERFSICOS


UNIVERSIDADE FEDERAL RURAL DA AMAZNIA
APOSTILA DE TCNICAS EM PROGRAMAO, PARTE I

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS

1. Um pouco sobre algoritmos


Uma definio intuitiva para algoritmos :
O Algoritmo uma descrio de aes (passo-a-passo)
que seguem uma lgica para alcanar um objetivo.

Uma definio formal para algoritmos :


O Algoritmo uma sequncia de aes finitas encadeadas e lgicas que
descrevem como um determinado problema deve ser resolvido.

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:

Figura B1 Organizao sistmica de todas as partes e mtodos para fazer um 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).

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
2. Formas de Representar um Algoritmo
Existem diversas formas de representao de algoritmos, mas no h um consenso com relao melhor
forma delas.
O critrio usado para classificar hierarquicamente estas formas est diretamente ligado ao nvel de detalhe,
inversamente ao grau de abstrao oferecido.
Algumas formas de representao de algoritmos tratam os problemas apenas em nvel lgico, abstraindo-se
de detalhes de implementao muitas vezes relacionados com alguma linguagem de programao especfica. Por
outro lado, existem formas de representao de algoritmos que possuem uma maior riqueza de detalhes e muitas
vezes acabam por obscurecer a ideia principal, o algoritmo, dificultando seu entendimento.

Dentre as formas de representao de algoritmo mais conhecidas, destacam-se:


A descrio narrativa;
O pseudocdigo, tambm conhecido como linguagem estruturada ou Portugol;
O fluxograma convencional.

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.

O passo-a-passo a seguir mostra a descrio narrativa de como fazer um bolo:

ALGORITMO (RECEITA DE BOLO)


PASSO 00: Separar os ingredientes;
PASSO 01: Bater duas claras em neve;
PASSO 02: Adicionar duas gemas;
PASSO 03: Adicionar uma xcara de acar;
PASSO 04: Adicionar duas colheres de manteiga;
PASSO 05: Adicionar uma xcara de leite de coco;
PASSO 06: Adicionar farinha e fermento;
PASSO 07: Verificar se est doce o suficiente;
PASSO 08: Colocar numa forma e levar ao forno em fogo brando;
PASSO 09: Retirar do forno;
PASSO 10: Tirar da forma e servir;
FIM
3

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
Observao I: SE a sua receita de bolo for diferente ou tenha um segredo especial, ENTO faa um algoritmo a descrevendo e
compartilhe conosco.

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.1 A importncia de se construir um algoritmo:


conseguimos visualizar e testar ainda no papel, a soluo criada com lgica de programao sem nos
preocupar com detalhes computacionais e uma vez concebida uma soluo algortmica para um problema, esta pode
ser traduzida facilmente para qualquer linguagem de programao e ser agregada das funcionalidades disponveis nos
diversos ambientes, ou seja, a codificao.

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.

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
3.3.1 Algumas Palavras Chave

Inicio, Fim, Algoritmo, Enquanto, Se, ento, Para, At, At que, Leia, Escreva, Faa, Repita, FimSe,
FimEnquanto, FimSelecione, entre outras que veremos adiante.

4. Regras para construo do Algoritmo


Para escrever um algoritmo precisamos descrever a seqncia de instrues, de maneira simples e objetiva.
Para isso utilizaremos algumas tcnicas:
1.

Usar somente um verbo por frase

2.

Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com
informtica ou cincias exatas

3.

Usar frases curtas e simples

4.

Ser objetivo

5.

Evite usar palavras que tenham sentido dbio

6.

Procure dividir o problema em etapas menores.

4.1 Fases Fundamentais


Vimos que ALGORITMO uma seqncia lgica de instrues que podem ser executadas.
importante ressaltar que qualquer tarefa que siga comportamento padro pode ser descrita por um
algoritmo.
Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em trs fases
fundamentais...

ENTRADA:

So os dados de entrada do algoritmo

PROCESSAMENTO: Procedimentos utilizados para chegar ao resultado final


SADA:

So os dados j processados

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
4.1.1 Analogia com o homem

4.2 Exemplo de Algoritmo


Imagine o seguinte problema: Calcular a mdia final dos alunos. Pelas provas os alunos recebero 2 notas:
Nota 1, Nota 2. Onde:

Para montar o algoritmo proposto, faremos trs perguntas:


a) Quais so os dados de entrada?

R: Os dados de entrada so Nota 1 e Nota 2

b) Qual ser o processamento a ser utilizado?

R: O procedimento ser somar todos os dados de


entrada e dividi-los por 2 (dois)

c) Quais sero os dados de sada?

R: O dado de sada ser a mdia final

Veja como fica em formato algoritmo Narrativo:


6

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
INICIO do algoritmo
Receba a nota da prova1
Receba a nota de prova2
Some todas as notas e divida o resultado por 2
Mostre o resultado da diviso
FIM do algoritmo

4.3 Teste de Mesa


Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado
de TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa
para verificar se o procedimento utilizado est correto ou no, escrevendo todas as
variveis e resultados em uma tabela.

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
5. Constantes, Variveis e Tipos de Variveis
Variveis e constantes so os elementos bsicos que um programa manipula. Uma varivel um espao
reservado na memria (endereo de memria) do computador para armazenar um contedo de determinado tipo,
varivel durante a execuo do algoritmo.
Variveis devem receber nomes para poderem ser referenciadas e modificadas quando necessrio. Um
programa deve conter declaraes que especificam de que tipo so as variveis que ele utilizar e s vezes um valor
inicial. Tipos podem ser, por exemplo: inteiros, reais, caracteres, etc. As expresses combinam variveis e constantes
para calcular novos valores.

5.1 Variveis

Varivel a representao simblica dos elementos de um certo conjunto.


Cada varivel corresponde a uma posio de memria, cujo contedo pode se alterado ao longo do tempo
durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela s pode armazenar
um valor a cada instante.

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
5.3 Tipos de Variveis
As variveis e as constantes podem ser basicamente de seis tipos:
Especficas para armazenamento de nmeros, que posteriormente
podero ser utilizados para clculos. Podem ser ainda classificadas
Numrica

como Inteiras ou Reais. As variveis do tipo inteiro so para


armazenamento de nmeros inteiros e as Reais so para o
armazenamento de nmeros que possuam casas decimais (nmeros
fracionrios).
Especficas para armazenamento de conjunto de caracteres que no

Caractere

contenham nmeros (literais). Ex: nomes.


(Expresses) Especficas para dados que contenham letras e/ou
nmeros. Pode em determinados momentos conter somente dados

Alfanumrica

numricos ou somente literais. Se usado somente para armazenamento


de nmeros, no poder ser utilizada para expresses (operaes
matemticas).

Lgica

Indexada

Usurio

Armazenam somente dados lgicos que podem ser Verdadeiro ou Falso.

Armazenam variveis uni e multidimensionais

Utilizada para variveis no bsica. So definidas atravs da instruo


TIPO

5.4 Declarao e Atribuio de Variveis


As variveis para utilizadas no programa devem ser declaradas (criadas) logo no
incio do algoritmo, na seo DECLARAES, quando ser reservado espao na memria.
S podem armazenar valores de um mesmo tipo.
Todas as variveis quando so criadas tem um contedo nulo (ou seja, nenhum
contedo).
Utilizamos o comando ATRIBUIO ( ), para atribuir valor a uma varivel, bem
como inicializ-la com um determinado valor.
O sentido a seta sempre da direita para a esquerda, e deve ser entendida como:
... um valor ATRIBUIDO a uma varivel.

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
5.5 Estrutura de um Algoritmo
ALGORITMO ("Nome do algoritmo" )
{Declaraes}
Nome : caracter { a varivel Nome criada como caracter }
Idade : inteiro
{ a varivel Idade nmero inteiro }
{Atribuies}
Nome Jos da Silva
Peso 85
INICIO (Nome do bloco)
{Instrues}
< comandos >
FIM

Nome Jos da Silva

{ se for o caso, de refinamento }

(A varivel nome recebe valor Jos da silva)

Peso 85 (A varivel Peso recebe valor igual a 85)

Obs.: As sees Declaraes e Atribuies so PBLICAS dentro do programa. ou seja


so "vistas" em qualquer parte do programa. Dentro do Bloco, as sees Declaraes e
Atribuies so LOCAIS ao Bloco, ou seja so privadas (particulares, internas) ao
Bloco, conforme veremos em Refinamentos Sucessivos.
6. Simulando o Funcionamento de um Computador
Vamos agora criar um algoritmo para somar dois nmeros quaisquer. Podemos criar uma seqncia de
passos lgicos e encadeados para executar esta tarefa. Vamos ainda imaginar que voc um computador e que estes
passos so ordens que voc dever seguir risca.
Cada retngulo abaixo uma tela do computador onde estaro as instrues a serem executadas
Passo 1 : Incio do processo Separe trs posies de memria para armazenar temporariamente 3 nmeros
aleatrios. Duas posies para armazenar 2 nmeros a serem informados e 1 posio para armazenar o resultado
solicitado da operao entre os dois primeiros nmeros.

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
Passo 4: Some este dois nmeros

Passo 5: Mostre o resultado nesta mesma tela

55
Passo 6: Fim do processo.

6.1 Observamos at que um algoritmo precisa:


1.

Ter um incio;

2.

Ser escrito em termos de aes (comandos) bem definidas;

3.

Que as aes sigam uma sequncia ordenada e lgica.

4.

Ter um ponto de finalizao

6.2 Vantagens da utilizao de algoritmos


A partir do algoritmo em linguagem humana e em portugus claro, o programador poder implement-lo em
qualquer linguagem de programao que conhea ou deseje. A maioria das linguagens de programao so em
lngua inglesa. No caso da linguagem PASCAL, o algoritmo apresentado anteriormente poder ser escrito na forma:
PROGRAM media;
USES crt;
VAR
{declarao de variveis}
numero1,
numero2: inteiro
soma: inteiro;
Begin
{incio do programa}
readln (numero1);
readln (numero2);
soma:= numero1 + numero2
writeln(soma);
end.
Observe que elaboramos uma seqncia de passos ou comandos

que sero as ordens a serem

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
6.3 Programas de Computador
Os programas de computadores nada mais so do que algoritmos escritos numa linguagem de computador,
normalmente em ingls, (Pascal, C, Cobol, Fortran, Visual Basic, Delhi entre outras) e que so interpretados e
executados por uma mquina, no caso um computador. Notem que dada esta interpretao rigorosa, um programa
por natureza muito especfico e rgido em relao aos algoritmos da vida real.
No nosso exemplo do tpico anterior nos antecipamos a este conceito que dever ser melhor entendido
agora.
Para programar um computador precisamos dar ordens escritas ao mesmo p-a-s-s-o a p-a-s-s-o. Um
computador apenas uma mquina e no raciocina como ns humanos. Cada ordem composta basicamente por um
verbo que indique qual ao queremos que o mesmo execute, assim se queremos que o computador escreva algo na
tela podemos usar algo como:
WRITE (ESTOU ESCREVENDO ALGO NA TELA)

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
7.1 Simbologia
Existem diversos smbolos em um diagrama de bloco. No decorrer do curso apresentaremos os mais
utilizados. Veja no quadro abaixo alguns dos smbolos que iremos utilizar:
FLUXO DE DADOS
Indica o sentido do fluxo de dados. Conecta os
demais smbolos
TERMINAL
Indica o INCIO ou FIM de um processamento
Exemplo: Incio do algoritmo
PROCESSAMENTO
Processamento em geral
Exemplo: Calculo de dois nmeros
ENTRADA/SADA (Genrica)
Operao de entrada e sada de dados
Exemplo: Leitura e Gravao de Arquivos
DESVIO (conector)
Permite o desvio para um ponto qualquer do
programa
ENTRADA MANUAL
Indica entrada de dados via Teclado
Exemplo: Digite a nota da prova 1
EXIBIR/SADA
Mostra informaes ou resultados
Exemplo: Mostre o resultado do clculo

DECISO
Permite elaborar processos de deciso

CONECTOR DE PAGINA
Permite informar de qual pagina vem o fluxograma

Dentro do smbolo sempre ter algo escrito, pois somente os smbolos no


nos dizem nada. Veja no exemplo a seguir:.

13

13

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
Exemplo: Fluxograma de um programa para ler dois nmeros aleatrios diferentes de zero,
calcular a mdia dos mesmos e mostrar o resultado encontrado.

Inicio

Digite 1 numero n1

Digite 2 numero n2

SIM

Nmeros
so
zeros??
NO

Some os dois nmeros e divida por 2

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

8.1 Operadores Aritmticos


Os operadores aritmticos so os utilizados para obter resultados numricos. Alm da adio, subtrao,
multiplicao e diviso, podem utilizar tambm o operador para exponenciao. Os smbolos para os operadores
aritmticos podem ser vistos:

14

14

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS

Operao

Smbolo

Adio

Subtrao

Multiplicao

Diviso

Exponenciao

** ou ^

8.2 Hierarquia das Operaes Aritmticas


1

( ) O que estiver entre Parnteses

Exponenciao

Multiplicao, diviso (o que aparecer primeiro)

+ ou (o que aparecer primeiro)

Exemplos:

TOTAL = PREO * QUANTIDADE


1 + 7 * 2 ** 2 1 = 28
3 * (1 - 2) + 4 * 2 = 5

8.3 Operadores Relacionais

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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
8.4 Operadores Lgicos
Os operadores lgicos servem para combinar resultados de expresses, retornando se o resultado final
verdadeiro ou falso.

Os operadores lgicos so:

E (And)

A expresso verdadeira se todas as condies forem verdadeiras

OU (Or)

A expresso verdadeira se pelo menos uma condio for verdadeira

NO (Not)

Inverte o valor da expresso ou condio, se verdadeira inverte para falsa e vice-versa.

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.

8.5 Funes Intrnsecas


So funes que resumem uma srie se operaes bsicas.
Podem ser Aritmticas, quando no tratamento de nmeros e Literais quando no tratamento de
alfanumricos.

8.6 Funes Aritmticas

Caracter

Sintaxe
Caracter(Num)

Descrio
Fornece o caracter correspondente a Num (entre 1 e
255) de acordo com a tabela ASCII

Int

Int(Num)

Arredonda um nmero real Num para


retornando a parte inteira mais prxima.

Raiz

Raiz(Num)

Retorna uma raiz quadrada de Num.

Abs

Abs(Nm)

Retorna o valor absoluto de Num, que um nmero


sem o respectivo sinal.

Div

Div(Num;Divisor)

Retorna o quociente da diviso de Num por divisor.

Mod

Mod(Num;Divisor)

Retorna o resto depois da diviso de Num por divisor.

baixo,

16

16

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS

8.7 Funes Literais Usuais

Ltrim

Sintaxe
Ltrim(Texto)

Descrio
Elimina de Texto espaos em branco
esquerda.

Rtrim

Rtrim(Texto)

Elimina de Texto espaos em branco


direita.

Comp

Comp(Texto)

Direita

Direita(Texto;NCaract)

Fornece o total de caracteres de Texto


incluindo espaos em branco.
Retorna os ltimos NCaract caracteres em
Texto.

Esquerda Esquerda(Texto;Nm_Caract)

Retorna os primeiros Nm_Caract caracteres


em Texto.

Sub

Sub(Texto; N; M)

Resulta uma parte de Texto que comea no


caracter de numero N e tem tamanho M

Pos

Pos(Texto; Parte)

Indica a posio da primeira ocorrncia de


Parte em Texto

ASCII

ASCII(Texto)

Fornece o valor inteiro correspondente ao


primeiro caractere de Texto, segundo a
tabela ASCII

17

17

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
9. Estruturas Bsicas de Controle
Na maioria das vezes necessitamos tomar decises no andamento do algoritmo. Essas decises interferem
diretamente no andamento do programa. Trabalharemos com dois tipos de estrutura. A estrutura de Deciso e a
estrutura de Repetio

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.

9.2 SE ENTO / IF ... THEN


A estrutura de deciso SE/IF normalmente vem acompanhada de um comando, ou seja, se determinada
condio for satisfeita pelo comando SE/IF ento execute determinado comando.
Imagine o exemplo abaixo, um algoritmo que determinado aluno somente estar aprovado se sua mdia for
maior ou igual a 5.0, o diagrama de blocos ficaria:.

SE Media >= 5.0 ENTO "aluno Aprovado"

9.3 SE ENTO SENO / IF ... THEN ... ELSE


A estrutura de deciso SE/ENTO/SENO, funciona exatamente como a estrutura SE, com apenas
uma diferena, em SE somente podemos executar comandos caso a condio seja verdadeira, diferente de
SE/SENO pois sempre um comando ser executado independente da condio, ou seja, caso a condio seja
verdadeira o comando da condio ser executado, caso contrrio o comando da condio falsa ser executado.

SE Mdia >= 5.0 ENTO


"aluno Aprovado"
SENO
"aluno Reprovado"
FimSe

18

18

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
No exemplo acima est sendo executada uma condio que, se for verdadeira, executa o comando
APROVADO, caso contrrio executa o segundo comando REPROVADO. Podemos tambm dentro de uma
mesma condio testar outras condies, conforme mostra o exemplo:

9.4 SELECIONE CASO / SELECT ... CASE


A estrutura de deciso SELECIONE/CASO utilizada para testar, na condio, uma nica expresso, que
produz um resultado, ou, ento, o valor de uma varivel, em que est armazenado um determinado contedo.
Compara-se, ento, o resultado obtido no teste com os valores
fornecidos em cada clusula Caso.
No exemplo do diagrama de blocos abaixo, recebido
uma varivel Op e testado seu contedo, caso uma das
condies seja satisfeita, executado o bloco de comandos
apropriado, caso contrrio executado a opo de comandos de
caso seno.

SELECIONE CASO Op
CASO 1
<comandos>
CASO 2
<comandos>
CASO 3
<comandos>
CASO 4
<comandos>
CASO 5
<comandos>
CASO SENO
<comandos>
FimSelecione

19

19

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
9.5 ENQUANTO <CONDIO>, FAA / DO WHILE ... LOOP
Neste caso, o bloco de operaes ser executado enquanto a condio x for verdadeira. O teste da condio
ser sempre realizado antes de qualquer operao.
Enquanto a condio for verdadeira o processo se repete. Podemos utilizar essa estrutura para trabalharmos
com contadores. Em diagrama de bloco:
Exemplo de Contador

Enquanto <condio> Faa


<Comandos>
FimEnquanto

9.6 AT QUE <CONDIO>, FAA... / DO UNTIL ... LOOP


Neste caso, o bloco de operaes ser executado at que a condio seja satisfeita, ou seja, somente
executar os comandos enquanto a condio for falsa. Em diagrama de blocos:
Exemplo de At Diagrama
At <condio> Faa
<Comandos>
FimAt

20

20

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
9.7 REPITA ..., ENQUANTO <CONDIO> / DO .. LOOP WHILE
Neste caso primeiro so executados os comandos, e somente depois realizado o teste da condio. Se a
condio for verdadeira, os comandos so executados novamente, caso seja falso encerrado o comando DO. Em
diagrama de bloco
Exemplo de Enquanto Diagrama
Repita
<Comandos>
Enquanto <condio>

9.8 REPITA ..., AT QUE <CONDIO> / DO . . LOOP UNTIL


Neste caso, executa-se primeiro o bloco de operaes e somente depois realizado o teste de condio. Se a
condio for verdadeira, o fluxo do programa continua normalmente. Caso contrrio processado novamente os
comandos antes do teste da condio.
Em diagrama de Bloco
Exemplo de Do .... Loop - Until
Repita
<Comandos>
At que <condio>

9.9 PARA ... DE...., AT...PASSO...FAA...SEGUINTE / FOR ...TO...NEXT


Tem seu funcionamento controlado por uma varivel chamada contador. Sendo assim, executar um
determinado

conjunto

determinado

numero

de
de

instrues,
vezes,

um

passos

(intervalos) controlados (de 2 em 2, de 3 em 3 ...)


PARA <contador> DE <inicio> AT
<fim> PASSO <incremento> FAA
<comandos>
SEGUINTE
21

21

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS
10. Referncias Bibliogrficas

[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

Universidade Federal Rural da Amaznia, UFRA TCNICAS EM PROGRAMAO


PARTE I. ALGORITMOS E FLUXOGRAMAS

Cacau
Theobroma cacao

Manjar dos Deuses


Ele j era adorado dois milnios antes de Cristo. Os Olmecas, h 3.500 anos, atribuam-lhe procedncia divina. No Brasil, marcou
um perodo, o Ciclo do Cacau. Colombo o apresentou Europa, e hoje, desse fruto, extrai-se a guloseima mais popular do planeta:
O Chocolate.
O cacau possui flavonoides, compostos qumicos com propriedades antioxidantes que impedem o acmulo do mau
colesterol nos vasos sanguneos, evitando a formao de cogulos causadores de ataque cardaco. O cacau contm mais
flavonoides que qualquer alimento rico nessas substncias, como vinho tinto, ch preto e ch verde. Mas ateno: o chocolate
escuro, em especial o amargo, que rico nos flavonoides mais poderosos. Ele recomendvel tambm contra depresso e TPM
(tenso pr-menstrual), pois ativa a produo de serotonina, neurotransmissor do bom humor.

Da Elite para o Povo


Alm de riquezas minerais, o conquistador Hernan Cortez levou da Amrica Central para a Espanha o xocolatl e seu
segredo: colher o fruto, retirar as sementes, espalhar ao Sol para fermentar e secar, assar e esmagar numa gamela at formar uma
pasta perfumosa; misturar com gua, e est pronta a bebida sagrada. Carlos V gostava de adoar. A famlia real e os nobres se
apaixonam. Cozinhas de mosteiros viram laboratrios onde os monges aprimoram receitas. Chegam s barras e tabletes, para
dissolverem em gua quente.
O chocolate, circunscrito aos mosteiros e aos sales da aristocracia, foge da Espanha e, em 1657, um francs abre a
primeira chocolateria em Londres. Com a revoluo industrial, chega a todo o povo. Em 1765, sementes chegam aos Estados
Unidos. A primeira fbrica se instala em Massachusetts. E o chocolate se espalha pelo mundo.
Contedo extrado do livro: Em se plantando, tudo d, editora: Leitura, ISBN 978-85-7358-883-5, BRASIL, 2009.

23

23

Você também pode gostar