Você está na página 1de 160

Informtica

Wagner Roberto de Carvalho

2010
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

2010 IESDE Brasil S.A. proibida a reproduo, mesmo parcial, por qualquer processo, sem autorizao por
escrito dos autores e do detentor dos direitos autorais.

C331i

Carvalho, Wagner Roberto de. / Informtica. / Wagner


de Carvalho. Curitiba : IESDE Brasil S.A. , 2010.
160 p.

Roberto

ISBN: 978-85-387-0862-9

1. Informtica. 2. Desenvolvimento de sistemas. 3. Banco de dados. I. Ttulo.


CDD 004.3

Capa: IESDE Brasil S.A.


Imagem da capa: IESDE Brasil S.A.

Todos os direitos reservados.

IESDE Brasil S.A.

Al. Dr. Carlos de Carvalho, 1.482. CEP: 80730-200


Batel Curitiba PR
0800 708 88 88 www.iesde.com.br
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

Wagner Roberto de Carvalho


Bacharel em Direito e Administrador de Empresas pela Universidade Mackenzie, tcnico eletrnico pela Escola Tcnica Federal. Consultor e
instrutor especialista na rea de Banco de Dados
Relacional e Analista de Sistemas Mainframes
com passagens pelas empresas Oracle, IBM,
Unisys e Labo.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

sumrio
sumrio
mrio

7
Programas de
computador, sistemas e profisses
7 | Linguagem de programao
8 | Programas e sistemas
11 | Desenvolvimento de sistemas
12 | Resumo

O que um algoritmo?

15

16 | Detalhando o algoritmo
18 | Fluxograma ou diagrama de bloco de dados
19 | Simbologia de fluxogramas
21 | Estruturas bsicas na programao
32 | Resumo

Variveis

47

47 | Constantes
47 | Atribuindo valores a variveis
48 | Operadores
56 | Resumo

Tipos de variveis

61

61 | Variveis numricas
63 | Variveis string
64 | Variveis data
66 | Variveis booleanas
68 | Consistncia de entrada de valores
69 | Variveis indexadas
73 | Resumo

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Banco de dados

85

85 | Tabelas
86 | Manipulao de banco de dados
90 | Resumo

Layout de tabela

95

95 | Processando tabelas
97 | Lendo e gravando informaes
99 | Resumo

Conceito de manipulao de dados


109 | Elaborando um cadastro

Ordenao de tabelas

109

121

125 | O conceito de quebra


126 | Resumo

Conceito de relatrio

133

133 | Elaborando um relatrio

Sistemas de informao nas empresas

145

146 | A programao orientada a objetos


151 | Resumo

Anexo

155

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Programas de computador,
sistemas e profisses

As profisses relacionadas rea de computao ganham o interesse das


pessoas na medida em que sua utilizao prtica no trabalho, nos estudos
e no lazer aumenta significativamente sua utilizao diria pelas pessoas e
empresas.

Linguagem de programao
Programar elaborar a lgica e utiliz-la em uma linguagem de programao.
Linguagem de programao uma ferramenta composta por recursos,
comandos e instrues que, ao serem aplicados seguindo uma lgica de
raciocnio, do origem a diferentes programas e sistemas, com finalidades
diversas. As linguagens se dividem em dois grupos:
Com interface caracter so aquelas que no se utilizam de recursos
grficos como o do Windows. Exemplos: Cobol, Natural, CSP, C, Clipper, Fortran, Assembler, entre outras.
Com interface grfica aquelas que utilizam os recursos grficos do
Windows, como janelas, botes, imagens, e outros, consistindo em uma interface bem mais amigvel. Exemplos: JBuilder, Visual Basic.NET e ASP.NET,
SQL Windows, Visual C, Oracle Forms (e outros produtos Oracle), Access,
entre outras.
Programao, ento, envolve possuir lgica e conhecer uma linguagem
para aplic-la.
Assim, sabendo qual o objetivo a ser alcanado pelo programa que vamos
desenvolver, definimos a sequncia lgica de passos (ou instrues) para o
alcance desse objetivo e, ento, os escrevemos na linguagem escolhida. Procure sempre elaborar programas claros e eficientes, a fim de facilitar futuras
manutenes.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Programas de computador, sistemas e profisses

Programas e sistemas
Um sistema um conjunto de programas que interagem entre si, cada
um com sua finalidade especfica que, juntos, alcanam o objetivo proposto.
Assim, sabendo o objetivo a ser alcanado, por vezes, este poder consistir
em um sistema, j que formado por vrios objetivos menores, cada um
com seu prprio programa ou programas, mas que juntos alcanam a finalidade proposta.
Resumindo, programa uma unidade (que pode por vezes alcanar por
si s um objetivo) e sistema um conjunto de programas, cada um com sua
prpria finalidade, mas que juntos alcanam o objetivo principal: o sistema.

Profisses ligadas a sistemas


Cada empresa, dependendo de suas necessidades, desenvolve uma estrutura de informtica, cujo objetivo funcionar como apoio ao controle e
gerenciamento de seus negcios. Qualquer que seja a estrutura ou empresa,
sempre em sua rea de informtica as quatro reas de tecnologia (banco de
dados, programao e anlise, redes e internet) estaro presentes.

Analista de sistemas
Responsvel pelo levantamento de informaes sobre uma empresa a
fim de utiliz-las no desenvolvimento de um sistema para esta, ou ainda o
levantamento de uma necessidade especfica do cliente para desenvolver
um programa especfico com base nas informaes colhidas.
O levantamento realizado junto ao cliente ou usurio. So aplicadas,
ento, tcnicas de modelagem de dados para definir a estrutura da base de
dados necessria. Em seguida, o analista ir definir quais programas devero
ser elaborados, assim como os layouts de tela. De posse dessas informaes,
passa-as ao programador, que se encarregar de codificar os programas de
acordo com o levantamento realizado pelo analista.

Caractersticas de um bom analista de sistemas


 Bom relacionamento com os programadores, para trabalho em equipe.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Programas de computador, sistemas e profisses

 Bom relacionamento com os usurios, para trabalho em equipe.


 Flexibilidade em discutir outras solues e ideias.
 Objetividade.
 Criatividade.
 Tranquilidade.
 Bom raciocnio lgico e abstrato.
 Boa capacidade de concentrao e explanao.
 Viso crtica.
 Profundos conhecimentos em metodologias de desenvolvimento de
sistemas.

Programador
Responsvel pelo desenvolvimento de programas em uma linguagem especfica, segundo as informaes levantadas pelo analista de
sistemas.

Caractersticas de um bom programador


 Bom relacionamento para trabalho em equipe.
 Flexibilidade em discutir outras solues e ideias.
 Objetividade.
 Criatividade.
 Tranquilidade.
 Bom raciocnio lgico e abstrato.
 Boa capacidade de concentrao.
 Viso crtica.
 Profundos conhecimentos de uma linguagem de programao.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Programas de computador, sistemas e profisses

Analista programador
atualmente o profissional que rene em si todas as funes do analista
de sistemas e do programador. Ele faz todo o levantamento e definio (que
so tarefas do analista de sistemas), bem como tambm realiza a codificao
(tarefa do programador).

Caractersticas de um bom analista programador


Todas as citadas anteriormente para analista de sistemas, bem como para
programador.

Administrador de redes
Responsvel pelo desenho fsico ou topologia da rede, instalao e suporte no sistema operacional de rede escolhido pela empresa (Windows ou
Linux), gerencia o acesso a outras redes (bancrias, fornecedores, clientes)
cuidando tambm de toda a segurana contra hackers.

Caractersticas de um bom administrador de redes


 Flexibilidade em discusses.
 Tranquilidade.
 Bom relacionamento com os usurios.
 Viso crtica.
 Conhecimento profundo sobre estrutura de redes e sistemas operacionais.

Administrador de banco de dados (DBA)


Responsvel pelo gerenciamento do banco de dados, ele que gerencia
os usurios, seus privilgios, os programas dos sistemas, conteno de disco,
memria, segurana e disponibilidade das informaes. Ou seja, de responsabilidade desse profissional tudo que envolva tanto a base de dados,
quanto os acessos s informaes.

10

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Programas de computador, sistemas e profisses

Caractersticas de um bom administrador


de banco de dados
 Flexibilidade em discusses.
 Tranquilidade.
 Bom raciocnio lgico e abstrato.
 Boa capacidade de concentrao.
 Viso crtica.
 Profundos conhecimentos da estrutura do banco de dados a ser gerenciado, assim como da linguagem e da metodologia utilizada em
seus sistemas.

Desenvolvimento de sistemas
Todos os profissionais ligados a desenvolvimento e manuteno de sistemas, utilizam obrigatoriamente uma srie de metodologias e ferramentas de
software que apoiam seu trabalho e ajudam na tomada de deciso. Esse estilo
de trabalho obedece a etapas bem definidas ou a um importante roteiro de
trabalho utilizado para a construo e implantao de um novo sistema.
Necessidade de Negcio
ESTRATGIA

ANLISE

PROJETO

CONSTRUO

DOCUMENTAO
USURIO

IMPLANTAO

PRODUO
Sistema Operacional
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

11

Programas de computador, sistemas e profisses

 Estratgia (estudo da viabilidade): Identificao das deficincias atuais (caso existam) e dos objetivos a serem atingidos, para a elaborao
de um cronograma de atividades e de uma relao custo X benefcio
relativos s solues, a serem apresentados ao cliente ou usurio.
 Anlise: Fase de levantamento da estrutura, funcionamento e necessidades do usurio, para criao de um modelo descritivo e funcional
que deixe claro, dentro das informaes levantadas, o que poderia ser
feito para solucionar o problema do cliente (ou seja, todo o mecanismo que pode ser criado a nvel de programao para atender necessidade do cliente). Esse modelo apresentado ao cliente, explicando
as solues propostas, juntamente ao cronograma de atividades e
relao custo X benefcio.
 Projeto: Uma vez aprovada a proposta, com base em todo o levantamento anterior, ser ento iniciado o projeto. Nesse momento, sero
definidos os layouts de tela, os relatrios e tabelas necessrios ao sistema como um todo.
 Construo (programao): Envolve a codificao e integrao dos
diferentes mdulos definidos na anlise e que compem o sistema.
Cada programa tambm testado isoladamente e em conjunto, utilizando-se as tabelas predefinidas, para verificar se o objetivo proposto
est sendo atingido.
 Implantao: Compreende o cadastro inicial dos dados para o computador, treinamento dos usurios no novo sistema e seus mtodos
e o acompanhamento paralelo durante um tempo entre o novo sistema e o modelo antigo para verificao de possveis falhas (bugs) nos
programas e adaptao da empresa e seus usurios. Essa etapa se d
por encerrada aps a certificao de confiabilidade do sistema e da
adequao dos usurios a este.
 Produo: Fase em que o antigo sistema abandonado e o atual passa a ser utilizado plenamente.

Resumo
Programas de computador so desenvolvidos baseados em uma lgica
de passos e procedimentos e seu objetivo pode ser o de compor com outros
12

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Programas de computador, sistemas e profisses

um sistema. Um sistema de informao composto por um conjunto de programas individuais que foram planejados para funcionarem de forma integrada e harmoniosa, cumprindo um objetivo analisado e estabelecido por
um levantamento prvio. Para o seu desenvolvimento e manuteno existem tipos de profissionais variados que utilizam metodologias de trabalho e
softwares de apoio.

Atividades
1. O
que um programa com interface grfica?
2. Quais

as funes desempenhadas por um analista de sistemas?
3. O
que a fase de construo em um sistema?
4. Quais

as funes de um administrador de banco de dados (DBA)?
5. Para que serve a definio de estratgia no desenvolvimento de sistemas?

Gabarito
1. So os programas que utilizam os recursos grficos do Windows para
interagir com o usurio, como janelas, botes, imagens e outros, tornando o programa mais amigvel e agradvel ao usurio.
2. Ele responsvel pelo levantamento de informaes que sero utilizadas para o desenvolvimento de um sistema.
3. a fase em que so codificados e testados os programas que foram
definidos na fase de projeto do sistema.
4. Ele responsvel pelo gerenciamento e acesso das informaes contidas no banco de dados. Suas atribuies compreendem o controle
de acesso dos usurios, aplicaes, programas e sistemas ao banco e
tambm segurana e disponibilidade dessas informaes.
5. Serve para identificar as deficincias atuais e propor solues baseadas em novas aplicaes e sistemas a serem desenvolvidos para um
cliente ou usurio.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

13

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Algoritmo a base de qualquer lgica de programao. uma srie de


etapas, ou passos, dispostos em uma ordem lgica, a fim de solucionar um
problema, ou alcanar um determinado objetivo proposto.
Em um programa, esses passos seriam instrues. No entanto, para nos
adaptarmos ao uso da lgica, inicialmente analisamos fatos cotidianos
(afinal, para realizarmos uma tarefa, seguimos uma srie de passos, no ?), e
sobre estes montamos um algoritmo, para ento passarmos aos algoritmos
de lgica de programao.
Exemplo de algoritmo na vida cotidiana: uma receita de culinria, que
nada mais do que passos que devem ser seguidos a fim de atingir o objetivo principal que o prato em si.
Outros lugares onde podemos encontrar esses algoritmos seriam nos objetos nossa volta, onde esto localizados uma srie de algoritmos internos.
Por exemplo: em um micro-ondas, podemos dizer que esse objeto possui
uma srie de funes internas, como ligar, desligar, pipoca, entre outros.
Cada uma dessas funes seria um algoritmo.
Da mesma forma, cada programa deve atingir um objetivo. Por isso,
cada programa tem uma srie de objetos, e cada objeto uma srie de algoritmos que executam uma srie de instrues a fim de realizar uma determinada tarefa.
Exemplo:
Objetivo
Trocar um pneu furado de um automvel.
Algoritmo:
1. Incio
2. Retirar o estepe
3. Pegar o macaco

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

4. Levantar o carro com o macaco


5. Pegar chave de rodas
6. Retirar os parafusos da roda com a chave de rodas
7. Retirar o pneu furado
8. Colocar o estepe
9. Recolocar os parafusos
10. Apertar os parafusos com a chave de rodas
11. Baixar o carro com o macaco
12. Retirar o macaco
13. Fim

Detalhando o algoritmo
As etapas de um algoritmo podem ainda ser detalhadas.
Para entender melhor, vamos detalhar o exemplo anterior. Poderamos,
por exemplo, esmiuar a etapa Apertar os parafusos, substituindo-a por :
10. Apertar parafusos com a chave de rodas
11. Parafusos apertados?

Sim: Passo 12 (Baixar o carro com o macaco)

No: Passo 10

A sintaxe muito utilizada na computao. Usamos para declarar valores


ou condies em linguagens de programao e tambm no algoritmo para
determinar como a etapa deve ser interpretada e executada. Veja como ficaria a sintaxe do exemplo em questo.
Sintaxe:
<condio> ?
Sim: <passos para condio verdadeira>
No: <passos para condio falsa>
16

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Escrevendo um algoritmo claro e objetivo


Para isso, siga este processo:
1. Defina claramente o objetivo a ser atingido.
2. Especifique as etapas ou passos que devem ser seguidos, escrevendo-os, mas tomando o cuidado de deixar um espao em branco entre eles para
incluir posteriormente algum detalhamento que se faa necessrio.
3. Verifique se os passos seguem a ordem correta e se a disposio destes
tem sentido, modificando-os se necessrio.
4. Especifique os possveis detalhamentos.
5. Verifique, mais uma vez, a ordem e o sentido, alterando o que for
preciso.
6. Finalmente, passe a limpo, escrevendo a verso correta e definitiva do
algoritmo.
Exerccio 1
Faa o algoritmo para pendurar um quadro na parede.
Exerccio 2
Faa o algoritmo para fritar um ovo.
Exerccio 3
Faa um algoritmo para enviar um e-mail. (O computador j est ligado e
conectado na internet.)
Exerccio 4
Faa um algoritmo para solucionar o seguinte problema:
Observe a figura a seguir. Voc ter que mover os discos do pino A para
um dos outros dois pinos (B ou C).
Observaes:
Deve-se mover um disco de cada vez.
Em nenhum momento um disco maior pode ficar sobre um menor.
Os discos devem sempre estar em algum pino.
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

17

O que um algoritmo?

1
2
3

Fluxograma ou diagrama de bloco de dados


Fluxograma ou diagrama de bloco de dados a representao grfica de
um algoritmo.
Tomando ainda como exemplo fatos cotidianos, vamos pensar no que
fazemos para sairmos de casa pela manh:
1. Incio
2. Acordar
3. Levantar-se
4. Trocar-se
5. Sair de casa
6. Fim
Esse seria, resumidamente, o algoritmo. Por se tratar de algo escrito,
tambm o chamamos de Portugus estruturado.
Representando-o como um fluxograma, teramos:
INCIO
ACORDAR
LEVANTAR-SE
TROCAR-SE
SAIR DE CASA
FIM
18

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Simbologia de fluxogramas
So smbolos utilizados na representao grfica de um fluxograma.
Assim como em outros setores, a computao necessita de smbolos para
representar um esquema de fluxo de dados ou um projeto de programao.
O objetivo dessa representao, como em outros setores, o de suporte
para a construo correta de programas e sua manuteno futura.
A computao criou e convencionou uma srie de smbolos, cada qual com
uma funo especfica e para facilitar sua consulta, alm de constar aqui, inserimos
todos em um anexo que est no final do livro.

TERMINAL
Utilizado para indicar incio e final (ou sada) de um programa
ou subrotina (programa acionado por um outro).

CONECTOR
Usado para os casos onde o fluxo
muito grande ou se faz necessrio particion-lo. Assim, colocamos o conector e, dentro deste,
uma letra. Quando reiniciamos
o fluxo, incluimos um conector
igual com a mesma letra, indicando onde este prossegue.

SETAS DE FLUXO DE DADOS


Indica o sentido do fluxo de dados e responsvel por ligar os
demais smbolos utilizados.

CONECTOR DE PGINA
Usado no mesmo caso anterior,
diferenciando-se apenas por
parte do fluxo ficar em uma pgina e parte em outra.

PROCESSO
Representa uma ao. Exemplos: atribuio de valores a variveis, clculos quaisquer, entre
outros.

PROCESSO PREDEFINIDO
a chamada de um outro programa, seja este uma sub-rotina ou uma funo (esta ltima
semelhante sub-rotina, porm retorna um valor ao programa que a acionou).

DECISO
til em situaes onde se faz
necessria uma comparao,
uma verificao ou ainda uma
tomada de deciso. Essas decises (como denominaremos)
retomam valores verdadeiros
ou falsos, realizando algumas
operaes especficas de acordo
com esse valor.

ENTRADA/SADA DE DADOS
Indica operaes de leitura ou
gravao de dados em tabelas,
bem como alguma operao
em impressora.

TECLADO
Representa a entrada de dados
pelo teclado.

ABERTURA/FECHAMENTO DE
TABELAS
Prepara uma tabela para processamento ou a fecha para encerrar a sua manipulao.

DISPLAY
Representa a exibio de dados
em tela (ou monitor).

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

19

O que um algoritmo?

Desenhando fluxogramas consideraes


O desenho de um fluxograma uma representao lgica da execuo
de uma tarefa.
Quanto melhor for a representao e clareza de exposio do fluxo, menor
sero as perguntas do tipo o que isso aqui? ou aonde isso vai dar?.
Isso no significa, por exemplo, inserir um smbolo para cada argumento
ou vrios argumentos em cada smbolo, pois no existe uma regra de como
deve-se escrever, ela livre, lgica e muito pessoal.
Devemos respeitar e ter o bom senso que, para visualizar um fluxo, temos
sempre duas limitaes humanas:
No vdeo do computador temos a limitao fsica do monitor e no papel a
limitao fsica do espao para desenhar ou imprimir (A4, Oficio etc.).
Para se desenhar um bom fluxo em cada uma de suas etapas deve-se ter
em mente objetivo claro e fcil entendimento.
Lembre-se que outras pessoas vo se basear no seu fluxo para produzir
um programa e posteriormente mant-lo, portanto seja claro e objetivo.
Exemplo:
Orientar um pedestre a atravessar uma rua sem semforo.
Algoritmo (portugus estruturado):
1. Incio
2. Verificar trfego de veculos
3. A travessia segura ?

Sim: prximo passo

No: aguardar passagem de veculos

Passo 3

4. Atravessar a rua
5. FIM
E agora, o fluxograma correspondente :
20

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

INCIO

VERIFICAR
O
TRFEGO

TRAVESSIA
SEGURA?

NO

AGUARDE A
PASSAGEM
DE VECULOS

SIM
ATRAVESSAR
A
RUA

FIM

Obs.: Todo fluxograma inicia e termina com o smbolo terminal.

Estruturas bsicas na programao


Sequncia
So os processos em si que definimos, segundo uma determinada ordem,
no fluxograma.

Os passos devem ser sequenciais;


Sempre desenhe as setas de fluxo de dados,
pois este pode no ter a mesma direo;
Uma figura para cada instruo.
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

21

O que um algoritmo?

Estrutura condicional
Nessa estrutura utilizamos o SE seguido de uma condio, muito usado
em nosso dia a dia. Veja a estrutura a seguir.

Portugus estruturado
SE <condio> ENTO

<passos para condio verdadeira>

SENO

<passos para condio falsa>

FIM SE

Fluxograma
NO

SIM
<condio>

condio
falsa

condio
verdadeira

Exemplo
Portugus estruturado
1. Incio
2. SE fizer sol no fim de semana ENTO

22

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Vou para a praia

SENO

Alugo alguns filmes

FIM SE

3. Fim

Fluxograma
Incio

NO

Fazer sol

SIM

no fim de
semana
Alugo alguns filmes

Vou para a praia

Fim

Loop
Tambm conhecido como lao ou rotina de repetio.
O loop uma srie de processos, comandos ou instrues que so executados seguidamente, por vrias vezes, at que a condio de controle do
loop deixe de ser atendida.
Na estrutura a seguir, o loop formado pelo <processo> (poderiam ser
vrios processos) que apenas ser executado se a <condio> de sua realizao for satisfeita. Ao terminar de executar o processo do loop, reavalia-se
a sua condio. Se ainda for satisfeita, o <processo> novamente ser executado, e assim sucessivamente, at que a <condio> deste no seja mais
satisfeita.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

23

O que um algoritmo?

Portugus estruturado
Incio
ENQUANTO <condio>
<processo>
FIM ENQUANTO
Fim

Fluxograma
Abaixo temos a estrutura do loop no fluxograma.

<condio>

SIM

<processos>

NO

Outra maneira de trabalharmos com loop fazendo a verificao da condio no fim. Dessa forma podemos fazer com que um ou vrios processos
sejam executados at que determinada condio seja verdadeira, ou seja,
ele ir repetir os processos at que a condio seja satisfeita.

Portugus estruturado
Incio
FAZER

<processos>

AT <condio>
Fim

24

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Fluxograma

<processos>

<condio>

NO

SIM

Exerccio 5
Desenvolver um fluxograma para o algoritmo do exerccio 1 (pendurar
um quadro na parede).
Exerccio 6
Desenvolver um fluxograma para o algoritmo do exerccio 2 (fritar um
ovo).
Exerccio 7
Elaborar um fluxograma para o algoritmo do exerccio 3 (enviar um
e-mail).
Exerccio 8
Elaborar um fluxograma que descreva as etapas necessrias para se realizar uma ligao telefnica qualquer.

Fluxograma Teste de mesa


Sempre que finalizar um diagrama, sua lgica deve ser testada para avaliao. A esse teste chamamos Teste de mesa ou Teste de programa.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

25

O que um algoritmo?

Para testarmos a lgica, simulamos a execuo do programa. Entramos


com os dados necessrios, acompanhamos o processamento passo a passo
e verificamos o resultado final.
Se for encontrado algum erro, pode-se alterar a lgica e o fluxograma,
antes mesmo da codificao do programa.

Criando diagramas a partir


de um algoritmo com portugus estruturado
Exemplo:
Portugus
estruturado

Fluxograma
INCIO

NO

Se A1 ento
A2
Seno
A3
Fim-se
A4

SIM

A1
A3

A2

A4
FIM

Utilizando o portugus estruturado como base, vamos desenvolver


cada fluxograma para atender condio solicitada. Nos exerccios em
que so fornecidos os fluxogramas, desenvolva o resultado em portugus
estruturado.

26

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Exerccio 9
Portugus estruturado:

Fluxograma:

Se B1 ento
A1
Fim-Se
C3
Exerccio 10
Portugus estruturado:

Fluxograma:

C1
Se C2 ento
C3
C4
C5
Seno
Se C6 ento
C7
C8
Seno
C9
Fim-Se
Fim-Se
C10

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

27

O que um algoritmo?

Exerccio 11
Portugus estruturado:

Fluxograma:

Se C1 ento
C2
C3
Se C4 ento
C5
C6
Se C7 ento
Se C8 ento
C9
Fim-Se
Fim-Se
Fim-Se
Fim-Se
Exerccio 12
Fluxograma:

Portugus estruturado:

INCIO

INCIO DA
VOLTA

FIM DA
VOLTA

20 VOLTAS?

NO

SIM

28

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Exerccio 13
Fluxograma:

Portugus estruturado:

INCIO

ABRIR A URNA

TEM VOTO?

NO

TOTALIZAR URNA

SIM
LER VOTO

APURAR VOTO

FECHAR URNA

FINALIZAR
CONTAGEM

FIM

Exerccio 14
Portugus estruturado:

Fluxograma:

C1
Se C2 ento
C3
Se C4 ento
C5
C6
Seno
C7
Fim-Se
Seno
Se C8 ento
Se C9 ento
Se C10 ento
C11
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

29

O que um algoritmo?

Seno
C12
C13
Fim-Se
Fim-Se
Fim-Se
Fim-Se
C14
Exerccio 15
Portugus estruturado:

Fluxograma:

A1
Se A2 ento
A3
Se A4 ento
A5
Fim-se
Seno
A6
Se A7 ento
A8
Seno
Se A9 ento
A10
Seno
A11
A12
Fim-se
A13
A14
Fim-se
Fim-se

30

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Exerccio 16
Portugus estruturado:

Fluxograma:

Se A1 ento
Se A2 ento
A3
A4
Seno
Se A5 ento
A6
Seno
A7
Fim-se
Fim-se
Fim-se
A8
Se A9 ento
A10
Se A11 ento
A12
Seno
A13
Fim-se
Fim-se
A14

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

31

O que um algoritmo?

Dicas
Quem planeja um programa com antecedncia, elaborando um fluxograma ou mesmo um algoritmo (portugus estruturado):
 gasta menos tempo para escrever/codificar em alguma linguagem;
 comete menos erros;
 escreve programas mais elegantes (menores/bem estruturados);
 facilita a futura manuteno (alterao);
 gasta menos tempo de mquina.

Resumo
Algoritmo a base de qualquer lgica de programao. uma srie de
etapas, ou passos, dispostos em uma ordem lgica, a fim de solucionar um
problema, ou alcanar um determinado objetivo proposto. Da mesma forma,
cada programa deve atingir um objetivo. Por isso, cada programa tem uma
lgica, um algoritmo, uma srie de instrues a serem realizadas.
Fluxograma ou diagrama de dados a representao grfica de um algoritmo, onde podemos ter uma melhor viso sobre o que est acontecendo.
Sempre que finalizar um fluxograma, sua lgica deve ser testada para
avaliao, o que chamamos Teste de mesa ou Teste de programa.

Gabarito
Exerccio 1
Algoritmo:
1. INCIO
2. Providenciar prego e martelo
3. Escolher o local para o quadro
4. Pegar o prego e o martelo
32

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

5. Posicionar o prego no local escolhido


6. Atingir o prego com o martelo
7. O prego est seguro ?

Sim: Passo 8

No: Passo 6

8. Pendurar o quadro
9. FIM
Exerccio 2
Algoritmo:
1. INCIO
2. Providenciar ovo, frigideira, leo, sal, esptula, prato e fsforo
3. Riscar o fsforo
4. Acender a boca do fogo
5. Colocar a frigideira sobre a boca acesa
6. Colocar leo na frigideira
7. Quebrar delicadamente a casca do ovo
8. Despejar o contedo na frigideira
9. Colocar sal
10. Fritar o ovo
11. Ovo pronto?

Sim: Passo 12

No: Passo 10

12. Retirar o ovo da frigideira com a esptula


13. Colocar o ovo no prato
14. FIM
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

33

O que um algoritmo?

Exerccio 3
Algoritmo:
1. INCIO
2. Providenciar e-mail de destino
3. Abrir o browser
4. Entrar no site que possui conta de e-mail
5. Informar login e senha
6. Clicar em Ok
7. Login e senha corretos?
Sim: Passo 8
No: Passo 5
8. Pedir para compor um novo e-mail
9. Informar o e-mail de destino
10. Informar o assunto
11. Digitar o corpo da mensagem
12. Pedir para enviar o e-mail
13. Fechar a conta de e-mail
14. Fechar o browser
15. FIM
Exerccio 4
Algoritmo:
1. INCIO
2. Pegar Disco 1, colocar no Pino B
3. Pegar Disco 2, colocar no Pino C
4. Pegar Disco 1, colocar no Pino C
34

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

5. Pegar Disco 3, colocar no Pino B


6. Pegar Disco 1, colocar no Pino A
7. Pegar Disco 2, colocar no Pino B
8. Pegar Disco 1, colocar no Pino B
9. FIM
A

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

35

O que um algoritmo?
A

36

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Exerccio 5
Fluxograma:
INCIO

PROVIDENCIAR
PREGO E MARTELO

ESCOLHER O LOCAL
PARA O QUADRO

PEGAR PREGO E
MARTELO

POSICIONAR PREGO
NO LOCAL ESCOLHIDO

ATINGIR O PREGO
COM O MARTELO

PREGO
SEGURO?

NO

SIM
PENDURAR O QUADRO

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

37

O que um algoritmo?

Exerccio 6

INCIO

PROVIDENCIAR
OVO, FRIGIDEIRA,
LEO, SAL, ESPTULA,
PRATO E FSFORO

RISCAR O FSFORO

ACENDER A BOCA
DO FOGO

COLOCAR A FRIGIDEIRA
SOBRE A BOCA ACESA

COLOCAR LEO
NA FRIGIDEIRA

QUEBRAR DELICADAMENTE A
CASCA DO OVO

A
DESPEJAR O
CONTEDO NA
FRIGIDEIRA

COLOCAR O SAL

FRITAR O OVO

OVO PRONTO?
SIM
RETIRAR O OVO
DA FRIGIDEIRA
COM ESPTULA

COLOCAR O OVO
NO PRATO

FIM

38

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

NO

O que um algoritmo?

Exerccio 7

INCIO

Providenciar
e-mail de destino

Pedir para compor


novo e-mail

Abrir o browser

E-mail de
destino

Entrar no site que


possui conta de
e-mail

Login
Senha

Clicar em OK

NO

Login e senha
corretos?
SIM

Assunto

Mensagem

Enviar e-mail

Fechar a conta de
e-mail

Fechar o browser

A
FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

39

O que um algoritmo?

Exerccio 8
A

INCIO
NO

SABE O
NMERO?

SIM

NO

ATENDEU?

SIM

PROCURAR NMERO

CONVERSAR

TIRAR O FONE
DO GANCHO

DESLIGAR
NO

EST COM LINHA?

SIM

FIM
DISCAR O NMERO

NO

EST CHAMANDO?

SIM

APERTAR
GANCHO
ESPERAR ATENDER

40

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

O que um algoritmo?

Exerccio 9
INCIO

SIM

B1

A1

NO
C3

FIM

Exerccio 10
INCIO

C1

SIM

C2

C3
NO

SIM
C8

C7

C4

C6
NO
C9

C5

C10

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

41

O que um algoritmo?

Exerccio 11
INCIO
SIM
C1

C2

C3

NO
SIM
C4

C5

C6

NO

SIM

SIM

C7
NO

C8
NO

FIM

Exerccio 12
1. INCIO
2. FAZER
3. Incio volta
4. Fim volta
5. AT 20 voltas
6. FIM
Exerccio 13
1. INCIO
2. Abrir a urna
3. ENQUANTO tem voto

Ler voto

Apurar voto

FIM ENQUANTO

42

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

C9

O que um algoritmo?

4. Totalizar urna
5. Fechar urna
6. Finalizar contagem
7. FIM
Exerccio 14
INCIO
C1
C2
SIM
C11

SIM
C10

NO

C9

NO

SIM

NO

SIM

SIM
C3

C4

C5

C6

NO
C8

C7

NO

C12
C13
C14

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

FIM

43

O que um algoritmo?

Exerccio 15
INCIO
A1

NO

A2

SIM

A6

NO
NO

A9

A7
SIM

A3

SIM

NO

A4

A8

A11
A10
A12

A13

A14

FIM

44

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

SIM
A5

O que um algoritmo?

Exerccio 16
INCIO
NO

SIM

A1

NO
NO

SIM

A2
SIM

A5

A7

A3
A6
A4

A8

NO

SIM

A9

A10

NO
A13

A11

SIM
A12

A14

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

45

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

Uma varivel um meio de guardar um determinado valor em memria, valor esse a ser utilizado durante a execuo do programa, seja como
um contador, um controlador ou como um armazenamento temporrio de
algum dado ou informao imprescindvel ao seu programa que poder ser
posteriormente armazenado em algum arquivo.
Dependendo da necessidade, um programador cria ento uma varivel,
associando a esta um nome e um valor, sendo que esse ltimo pode ser alterado durante a execuo do programa.
Criada uma varivel, para manipular seu valor, basta referenciar o nome
dessa varivel.
Exemplo: varivel v_nome que contm o nome de um empregado.
Os nomes das variveis de um programa no podem conter
espaos, acentos ou caracteres especiais.

Constantes
Constante segue o mesmo conceito de varivel, diferenciando-se apenas
pelo fato de que mantm, durante toda a execuo do programa, o mesmo
valor.
Exemplo: constante c_hoje que contm a data de hoje, durante todo o
processamento.

Atribuindo valores a variveis


Cada linguagem de programao utiliza-se de um determinado operador de atribuio. No entanto, nos fluxogramas e algoritmos de forma geral,
quando queremos atribuir um determinado valor a uma varivel, utilizamos
o operador de igualdade, como mostrado a seguir:
<nome da varivel> = <valor>
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

Variveis

Exemplos:
v_nome = Joo
v_salario = 1000
Observando os exemplos anteriores podemos perceber que Joo est
entre apstrofo ( ) e que o valor 1 000 no est. Isso ocorre por se tratarem
de texto e nmero respectivamente.

Tipos de variveis/constantes
Tanto variveis quanto constantes podem assumir quatro tipos de valores. So eles:
Tipo de varivel

Caractersticas

Numrica

Pode conter apenas valores numricos.


Pode ser utilizada em operaes aritmticas.

Caracter ou String

Um string uma cadeia de caracteres.


Pode conter qualquer caracter.
De forma geral, variveis desse tipo so apenas concatenadas a outras de
mesmo tipo (juntando vrias, formando uma grande cadeia), quando manipuladas em linguagens de programao.

Data

Pode conter qualquer valor de data.


Com datas, podem ser realizados clculos de adio ou subtrao.

Booleana

Varivel que apenas pode assumir dois valores: TRUE (verdadeiro) e FALSE (falso).

Operadores
Alm do operador de atribuio, temos, basicamente, trs tipos de
operadores:
Tipo de operadores

Caractersticas

Aritmticos

Utilizados em clculos numricos.


Nessa categoria temos os operadores : exponenciao, multiplicao,
diviso, adio e subtrao.

Relacionais

Utilizados para comparaes condicionais ou de controle de loops.


Nessa categoria temos os operadores: igualdade, maior, menor, maior
igual, menor igual, diferente.

Lgicos

Permitem associar diferentes condies, de forma que o resultado de


uma somado ao de outra seja considerado no controle condicional ou
de loop. Nessa categoria temos E e OU.

48

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

Operadores aritmticos
Podemos realizar diversas operaes aritmticas com variveis numricas, para clculos de totais, subtotais, contagem, mdia, entre outros.
Para esses clculos, podemos utilizar vrios operadores :
Operao

Sinal comumente usado em


programao

Prioridade

Exponenciao

Multiplicao

Diviso

Adio

Subtrao

Em uma expresso, inicialmente se resolve o que est entre parnteses.


Depois, so efetuadas primeiramente as exponenciais, depois as multiplicaes e divises e, por ltimo, as adies e subtraes.
Exerccio 1
Tendo 4 variveis V1, V2, V3 e V4 com, respectivamente, os valores 1, 3, 3
e 2 (V1 = 1, V2 = 3, V3 = 3, V4 = 2), realize as expresses abaixo, informando o
valor final da varivel V_RES :
a) V_RES = V3 * V2 V1 + V4
b) V_RES = V3 * (V2 V4)
c) V_RES = V2 ^V4 V3 * V1
d) V_RES = V2 * (V4 / 2) + V1

Operadores relacionais
Utilizados para comparaes condicionais ou de controle de loops. Temos,
nessa categoria, os seguintes operadores:
Sinal

Significado

Igual a

>

Maior que

<

Menor que

>=

Maior ou igual a

<=

Menor ou igual a

<>

Diferente

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

49

Variveis

Entendendo o retorno de cada condio


Cada condio pode estar satisfeita ou no. Se satisfeita, retorna TRUE
(verdadeiro); caso contrrio, retorna FALSE (falso).
Por exemplo, considere a seguinte lgica:
SE nota_final > 7 ENTO

situacao = APROVADO

SENO

situacao = REPROVADO

FIM SE
Imagine que o valor da varivel nota_final seja 5. Se assim for, ao avaliar
a condio,
SE nota_final > 7 ENTO
Vemos que a mesma no satisfeita, ou seja, 5 no maior que 7, logo o
retorno da condio FALSE. Portanto, a instruo realizada ser situacao =
REPROVADO.
Em outra situao, imagine que a varivel nota_final tenha o valor 9. Ao
avaliar a mesma condio, vemos que, dessa vez, ela satisfeita, logo retorna
TRUE. Nesse caso ser realizada a instruo situacao = APROVADO.
Chamamos os valores (TRUE e FALSE) de BOOLEANOS.
Exemplo:
Uma revendedora de automveis precisa de um programa que calcule o
percentual de comisso mensal de cada funcionrio. Suponhamos que nesse
programa, temos uma varivel de nome total_vendas que ir conter o valor
total das vendas realizadas por um determinado funcionrio, e que, com
base nesse valor, vamos determinar o novo percentual de comisso desse
funcionrio (varivel perc_com). Assim, caso total_vendas seja maior que
100000 perc_com ser de 10%. Caso contrrio no haver comisso.
SE total_vendas > 100000 ENTO

perc_com = 0.1

FIM SE
50

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

Assim, elaboramos uma condio para verificar a situao pedida e realizar a devida instruo de alterao, caso a condio seja satisfeita.

Operadores lgicos
Com os operadores lgicos podemos tambm associar diversas condies (ou comparaes). Em nosso ltimo exemplo, verificamos apenas se
total_vendas > 100000, ou seja, necessrio que somente uma condio
seja satisfeita para que o funcionrio ganhe a comisso de 10%. (perc_com
= 0.1).
Com os operadores, podemos ento montar uma nica instruo onde
sejam avaliadas simultaneamente diversas condies. Para ligar (e tratar)
essas condies, iremos utilizar os operadores lgicos, que so: E e OU,
seguindo a seguinte estrutura:
<condio1> <operador lgico> <condio2>

O operador lgico E
utilizado quando queremos que as duas condies (tanto a anterior,
quanto a posterior ao operador) sejam, ambas, satisfeitas.
Dessa forma, as instrues dentro de um SE ou de um loop apenas sero
executadas caso o resultado final da expresso como um todo seja TRUE.
Para isso, todas as condies devem retornar esse mesmo valor.
Utilizando o exemplo anterior (o da revendedora de automveis), vamos
imaginar que agora para um funcionrio ganhar a comisso de 10% precise
ter um total de vendas entre 100 000 e 200 000.
Exemplo:
SE total_vendas > 100000 E
total_vendas < 200000 ENTO

perc_com = 0.10

FIM SE

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

51

Variveis

O operador lgico OU
utilizado quando queremos que uma das duas condies, ou ambas,
sejam satisfeitas.
Dessa forma, as instrues dentro de um SE ou de um loop apenas sero
executadas caso o resultado final da expresso como um todo seja TRUE.
Para isso, ao menos uma das condies deve retornar esse mesmo valor.
Exemplo:
SE cargo = Gerente OU cargo = Diretor ENTO

v_comissao = 0

SENO

v_comissao = 0.1

FIM SE

Utilizando vrios operadores E e OU


em uma nica linha
Podemos associar mais de duas condies em uma nica linha. Entre uma
condio e outra, deve obrigatoriamente aparecer um operador lgico que
determine se ambas as condies devero ser satisfeitas ou no.
Os operadores E tm prioridade maior que os operadores OU, de forma
que, caso queiramos tratar prioritariamente os operadores OU e, ento, os E,
deveremos utilizar os operadores OU entre parnteses.
Exemplo:
Queremos aumentar o salrio apenas dos empregados que pertenam
ao setor 1 ou ao setor 2, desde que o volume de vendas que cada um deles
gerou seja maior que 20 000. Suponhamos que temos, para tratamento, as
variveis v_setor e v_vendas. Poderamos, ento, elaborar a seguinte instruo de controle :
Se v_setor = 1 OU v_setor = 2 E v_vendas > 20000 ento
Se utilizssemos essa instruo de controle, seria primeiramente considerado o operador E, e depois o operador OU. Assim, inicialmente, seriam con52

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

siderados, atravs dessa instruo, os funcionrios que pertencem ao setor


2 e que tenham gerado um volume de vendas superior a 20 000, bem como
todo e qualquer funcionrio do setor 1, no importando o volume de vendas
que este tenha conseguido.
No entanto, no queremos considerar todos os funcionrios do setor 1,
mas apenas aqueles cujo volume de vendas satisfaa a condio. Assim, a
instruo de controle deveria ser alterada para:
Se (v_setor = 1 OU v_setor = 2) E v_vendas > 20000 ento
Assim, inicialmente, seria avaliado o que est entre parnteses, de forma
que primeiro se verificaria se o empregado est no setor 1 ou 2. Aps avaliada essa condio, passa-se, ento, a avaliar o que est fora dos parnteses.
Assim, alm do funcionrio pertencer ao setor 1 ou 2, dever tambm ter
gerado um volume de vendas superior a 20 000, atendendo condio inicialmente solicitada em nosso exemplo.

Entendendo decises com Tabela Booleana


J foi explicado o funcionamento dos operadores lgicos E e OU. Agora,
os visualizaremos graficamente atravs das Tabelas Booleanas.
A Tabela Booleana tambm conhecida como Tabela de Deciso.
Analisemos inicialmente a tabela para o operador E:
OPERADOR E

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

Ou seja, ao utilizar o operador E, a expresso como um todo apenas retornar TRUE caso todas as condies envolvidas tambm retornem esse
mesmo valor.
Da mesma forma, tambm temos a tabela para o operador OU:
OPERADOR OU

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

53

Variveis

Ou seja, ao utilizar o operador OU, a expresso como um todo apenas


retornar TRUE, caso ao menos uma das condies envolvidas retorne esse
mesmo valor.
Exemplos:
1) Se a temperatura baixar ento

colocarei blusa

Fim-Se
Nesse exemplo, apenas caso a temperatura baixe (nesse caso a condio
satisfeita, ou seja, retorna TRUE), realizarei as aes descriminadas entre a
clusula SE e FIM-SE, no caso, colocar a blusa.
Se a temperatura no baixar, significa que essa condio no satisfeita,
ou seja, seu retorno FALSE, de forma que, se assim for, no sero realizadas
as aes descriminadas entre a clusula SE e FIM-SE.
2) Se a temperatura baixar E chover ento

colocarei blusa

usarei guarda-chuva

Fim-Se
Nesse outro exemplo, temos duas condies: temperatura baixar e
chover. As aes compreendidas dentro da clusula SE apenas sero realizadas se ambas as condies forem satisfeitas, ou seja, ambas devero retornar TRUE para que as aes se realizem. Podemos visualizar isso tambm
atravs da Tabela Booleana abaixo:
Primeira condio:
temperatura baixar

Segunda condio:
chover

Aes: colocar blusa e usar


guarda-chuva

TRUE

TRUE

TRUE

TRUE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

3)

Se a temperatura baixar OU chover ento

colocarei blusa

usarei guarda-chuva

Fim-Se
54

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

Esse exemplo semelhante ao anterior, mas estruturado com o operador lgico OU. Aqui, temos duas condies: temperatura baixar e chover. As
aes compreendidas dentro da clusula SE apenas sero realizadas se ao
menos uma das condies for satisfeita, ou seja, ao menos uma dever retornar TRUE para que as aes se realizem. Podemos visualizar isso tambm
atravs da Tabela Booleana abaixo:
Primeira condio:
temperatura baixar

Segunda condio:
chover

Aes: colocar blusa e usar


guarda-chuva

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

Exerccio 2
Preencha a Tabela de Deciso apresentada, considerando a seguinte expresso condicional:
Se a temperatura baixar E chover OU estiver atrasado ento

irei de carro

Fim-Se
Temperatura
baixar

Chover

Estiver atrasado

TRUE

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

Ir de carro

Exerccio 3
Elaborar o fluxograma para a seguinte proposta:
 Solicitar o nmero de voltas em piscinas olmpicas em que uma pessoa
qualquer nadou.
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

55

Variveis

 Se a quantidade informada for menor ou igual a 20, exibir Voc est


fora de forma.
 Se a quantidade informada for maior que 20 e menor que 50, exibir
Voc est em forma.
 Se a quantidade informada for maior ou igual a 50, exibir Voc est
pronto para competir.
Exerccio 4
Tendo duas variveis numricas v1 e v2, faa um fluxograma que determine qual a maior das duas, informando essa relao ao usurio.

Resumo
Varivel: armazena um determinado valor em memria. Ao referenciar o
nome da varivel, possvel manipular seu contedo.
Constante: armazena, durante todo o processamento do programa, um
mesmo valor, com o qual foi inicializada.
Tipos de variveis/constantes: numrica, string, data, booleana.
O operador de atribuio de valores a variveis o sinal de igualdade
(=).
Temos ainda trs operadores:
 Operadores aritmticos (+, , *, /, ^) usados em clculos;
 Operadores relacionais (=, <>, <, <=, >, >=) usados em condies e
comparaes;
 Operadores lgicos (E, OU) usados para criar expresses condicionais, formadas por vrias condies.
Operador lgico E: a expresso apenas retornar TRUE caso todas as
condies integrantes retornem esse mesmo valor.
Operador lgico OU: a expresso apenas retornar TRUE caso ao menos
uma das condies retorne esse valor.

56

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

Gabarito
Exerccio 1
a) V_RES = 3 * 3 1 + 2

V_RES = 9 1 + 2

V_RES = 8 + 2

V_RES = 10

b) V_RES = 3 * (3 2)

V_RES = 3 * 1

V_RES = 3

c) V_RES = 32 3 * 1

V_RES = 9 3

V_RES = 6

d) V_RES = 3 * (2 / 2) + 1

V_RES = 3 * 1 + 1

V_RES = 3 + 1

V_RES = 4

Exerccio 2
Temperatura
baixar

Chover

Estiver atrasado

Ir de carro

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

57

Variveis

Exerccio 3
INCIO

QTDE = 0

QTDE

SIM
QTDE <= 20

VOC EST FORA


DE FORMA!

NO
QTDE < 50

SIM

VOC EST EM
FORMA!

NO
VOC EST PRONTO
PARA COMPETIR!

FIM

58

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Variveis

Exerccio 4
INCIO

V1 = 0
V2 = 0

V1, V2

SIM
V1 > V2

V1 + > + V2

NO
SIM
V2 > V1

V2 + > + V1
NO

V1 + = + V2

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

59

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Existem quatro tipos bsicos de variveis utilizados pelas modernas linguagens de programao. So eles: numricas; strings (ou cadeia de caracteres); data e booleanas.
Vamos entender cada um desses tipos.

Variveis numricas
Por vezes, em um programa, precisamos de variveis para armazenar nmeros, eventualmente utilizando-as em manipulaes numricas. Por exemplo, crio variveis numricas para armazenar resultados de clculos de forma
geral, ou para guardar um determinado valor numrico que solicitei ao meu
usurio.

Exemplo
Imagine que desejamos calcular o salrio final de um empregado, acrescido de um determinado percentual de aumento. Suponhamos que temos as
seguintes variveis (todas numricas):
 v_salario (contendo o salrio do empregado).
 v_percentual (contendo o percentual de aumento a ser aplicado sobre o salrio).
 v_salario_final (que conter o resultado desse clculo, ou seja, o salrio j acrescido desse percentual).
Assim, para armazenar o resultado do clculo na varivel v_salario_final
poderamos utilizar a seguinte instruo:
v_salario_final = v_salario * (1 + v_percentual/100)

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Exemplo de aplicao
Objetivo: Elaborar um programa para exibir 10 asteriscos * na primeira
linha da tela, considerando que esta possui 80 colunas e 24 linhas. Elaborar o
algoritmo (com portugus estruturado) e o fluxograma correspondente.
Resoluo: Precisaremos controlar a posio em tela onde os asteriscos
sero colocados. Como essa posio a coordenada (linha, coluna), subentendemos que devemos controlar a linha e a coluna. Para isso, criamos duas
variveis numricas: L (para linha) e C (para coluna).
Portugus estruturado:
1. Incio

Fluxograma:
Incio

2. L = 1
L=1
C=1

C=1
3. Limpar tela
4. ENQUANTO C<11

Exibir (L,C) *

C=C+1

Limpar tela

SIM
C < 11

FIM ENQUANTO
5. Fim

(L,C)*

C = C+1

NO
Fim

Exerccio 1
Sabendo que a tela de seu monitor composta de 24 linhas e 80 colunas,
elabore algoritmo e fluxograma de um programa que exiba * em todas as
linhas da tela, sempre na primeira coluna de cada uma delas.
Exerccio 2
Elabore o fluxograma de um programa que solicite trs nmeros ao usurio, calcule a soma deles e exiba esse resultado em tela.
Exerccio 3
Elabore o fluxograma de um programa que solicite dois nmeros ao usurio, armazenando-os nas variveis A e B, e que calcule e apresente ao usurio, a seguir, o valor da varivel X, sendo X = B / A.
62

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Variveis string
Uma string nada mais do que uma cadeia de caracteres. comum, durante a manipulao de um programa, surgir a necessidade de manipular
uma frase ou um texto. Para isso, utilizamos a varivel string.

Exemplo 1
Imagine que desejamos armazenar em uma varivel a frase Tecle algo
para continuar... . Suponhamos que temos a seguinte varivel string:
 v_instrucao (que conter o texto acima descrito).
Assim, para armazenar o texto nessa varivel, utilizaramos a seguinte
instruo:
v_instrucao = Tecle algo para continuar...

Exemplo 2
Imagine que, aps calculada uma mdia, voc precise exibi-la acompanhada do texto Mdia = . Suponha o uso das variveis:
 v_vlrmedia (que contm a mdia j calculada).
 v_texto (que conter o resultado acrescido do texto).
Assim, teramos a seguinte instruo:
v_texto = Mdia = + v_vlrmedia

Exemplo de aplicao
Objetivo: Elaborar um programa em que, sabendo a nota de um aluno
e que, para sua aprovao, a nota do mesmo dever pelo menos ser 6
(ou um valor maior), informe em tela a situao do aluno, se aprovado ou
reprovado.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

63

Tipos de variveis

Portugus estruturado:
1. INCIO

Fluxograma:
Incio

2. nota = 0
3. situacao =
APROVADO
4. OBTER nota

NOTA = 0
SITUAO =
APROVADO

NOTA

5. SE nota < 6 ENTO


situacao =
REPROVADO
FIM SE

SIM
NOTA < 6

SITUAO =
REPROVADO

NO

6. EXIBIR situacao
SITUAO

FIM

Fim

Variveis data
Por vezes, necessrio tambm armazenar uma data em uma varivel,
bem como manipul-la atravs de clculos. Com essa finalidade, utilizada a
varivel do tipo data. Com uma data, podemos realizar diversos clculos:
 data + nmero = data onde o nmero equivale a dias que so adicionados data.
 data nmero = data onde o nmero equivale a dias que so subtrados da data.
 data data = nmero resulta no nmero de dias entre as duas datas.

64

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Exemplo 1
Imagine que desejamos armazenar em uma varivel a data de hoje acrescida de 30 dias. Suponhamos as seguintes variveis data:
 v_hoje (que contm a data corrente).
 v_data (que conter a data resultado).
Assim, para armazenar a data nessa varivel, utilizaramos a seguinte instruo :

v_data = v_hoje + 30

Exemplo de aplicao
Objetivo: Elaborar um programa em que seja solicitada uma data ao usurio, e que, em decorrncia, informe a data da semana seguinte (equivalente
ao mesmo dia da semana).
Portugus estruturado:
1. Incio

Fluxograma:
Incio

2. v_data =
3. obter v_data
4. v_data = v_data + 7

v_data =

v_data

5. Exibir v_data
6. Fim

v_data = v_data +7

v_data

Fim

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

65

Tipos de variveis

Variveis booleanas
So variveis que podem conter e armazenar apenas dois estados: TRUE
ou FALSE.

Exemplo
Imagine que desejamos armazenar em uma varivel booleana o valor
TRUE caso um certo nmero seja superior a 1 000. Suponhamos as seguintes
variveis:
 v_numero (varivel numrica que contm o valor).
 v_flag (varivel booleana que conter TRUE ou FALSE).
Assim, para proceder sua manipulao, utilizaramos a seguinte instruo:
v_flag = FALSE
Se v_numero > 1000 ento

v_flag = TRUE

Fim-Se

Exemplo de aplicao
Objetivo: Elaborar um programa em que seja solicitado um dado ao usurio, que ser exibido no final, apenas se caso esse dado tenha realmente sido
informado.

66

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Portugus estruturado:
1. Incio

Fluxograma:
Incio

2. v_nome =
flag = TRUE

v nome =
flag = TRUE

3. obter v_nome
4. SE v_nome = ENTO

v_nome

flag = FALSE
FIM SE

SIM

5. Se flag = TRUE ENTO

v nome =

flag = FALSE

NO

Exibir
`Seu nome + v_nome

flag = TRUE

FIM SE
6. Fim

SIM

Seu nome +
v nome

NO
Fim

Exerccio 4
Elabore um programa capaz de informar se o aluno est REPROVADO, de
EXAME ou APROVADO. O programa dever receber dois valores de entrada:
nota1 e nota2. Com base nessas duas notas, ele dever calcular a mdia aritmtica do aluno e, com a mdia calculada, dever verificar a situao deste,
seguindo o critrio abaixo:
 Se a mdia calculada for maior ou igual a 5 ele est APROVADO.
 Se a mdia for menor do que 5 e maior ou igual a 3 ele est de EXAME.
 E se for inferior a 3 ele est REPROVADO.
 O programa dever exibir como resultado as notas do aluno, a mdia
aritmtica e a situao.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

67

Tipos de variveis

Exerccio 5
Elabore um programa que solicite o valor total da compra de um determinado cliente. Se o valor for superior a 500 reais, permitir parcelamento em
2 vezes, informando 2 parcelas, bem como o valor da parcela (0 e 30 dias).
Caso contrrio, informar Parcela nica, o valor e a data do pagamento.

Consistncia de entrada de valores


Consistir um valor fornecido pelo usurio simplesmente implica em verificar se do tipo esperado, ou atende condio solicitada. A importncia
da consistncia reside no fato de que, possuindo dados confiveis para o
processamento, com certeza o programa que os manipular gerar resultados tambm confiveis.
Por exemplo, se for solicitado um nmero maior do que 30, aps o informe deste pelo usurio, devemos verificar se seu valor foi informado corretamente. Dessa forma faramos duas verificaes. A primeira, verificando se o
informe numrico, e a segunda, verificando se o nmero maior que 30.
Caso alguma das condies no fosse atendida, teramos uma situao de
erro, para a qual exibiramos uma mensagem de acordo, informando o usurio a esse respeito.
Assim, verificamos os tipos de dados esperados, bem como se atendem
s condies estabelecidas, e caso seja notado algum problema (o que chamamos inconsistncia), exibimos uma mensagem de erro ao usurio e, dependendo do caso, ento solicitamos o reinforme do mesmo dado.
Exerccio 6
Elabore um programa que solicite trs notas:
 Nota de exerccios em sala de aula.
 Nota da prova terica.
 Nota da prova prtica.

68

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

E, usando-as como base, informe a mdia resultante (soma das trs notas
dividido por 3). Consistir as notas, verificando se cada uma maior ou igual
a zero, caso contrrio exibir uma mensagem de erro.
Exerccio 7
Elabore um programa que solicite 25 dados cadastrais de candidatos com
nome, cidade e idade, consistindo como vlido apenas idade menor a 30.

Variveis indexadas
A varivel indexada tambm conhecida como array, matriz ou vetor.
A diferena bsica entre uma varivel simples e uma indexada que a
indexada , na realidade, formada por diversas variveis menores. Ou seja,
enquanto a varivel simples contm um nico valor, a indexada contm
diversos valores, cada um em uma posio diferente, a qual referenciamos
atravs de um nmero inteiro.
Ou seja, na varivel indexada tratamos diversos valores em posies diferentes (a posio 1 contm um valor, a 2 outro, e assim por diante), como
se fossem diversas variveis, com a diferena de que as referenciamos todas
com o mesmo nome e apenas as diferenciamos e identificamos atravs do
nmero de sua posio, que apresentamos entre parnteses logo aps o
nome da varivel.
Por exemplo:
VALOR 1
POSIO 1

VALOR 2
POSIO 2

VALOR 3
POSIO 3

.......

VALOR N
POSIO N

Para utilizar o valor 3, usaramos vetor(3).

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

69

Tipos de variveis

Aplicao sem o uso de varivel indexada


Exemplo
Ler 4 nmeros, som-los, mostrar o resultado e tambm os nmeros
somados.
Fluxo:
Incio

V_SOMA = 0
V1 = 0
V2 = 0
V3 = 0
V4 = 0

V_SOMA =
V1 + V2 + V3 + V4

(V_SOMA, V1, V2, V3, V4)


V1
Fim
V2

V3

V4

Desse modo, referenciamos 4 variveis diferentes e, para l-las, necessitaramos de 4 comandos individuais, um para cada varivel a ser tratada. Se
tivssemos 100 nmeros, imagine ento o tamanho do cdigo. S para ler as
variveis seriam necessrias 100 instrues.

70

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Aplicao com o uso de varivel indexada


Exemplo 1
Agora o mesmo exemplo, usando variveis indexadas (lendo 10 nmeros):
A utilizao vetor (I) referente varivel do tipo array. Pode ser I ou qualquer outra letra, pois ele funciona apenas como um contador.
Fluxo:
INCIO
V_SOMA = 0
I=1
VETOR (10)

I < 11

SIM

VETOR(I)

I=I+1

NO
I=1

I < 11

SIM

V_SOMA =
V_SOMA +
VETOR (I)

I=I+1

NO
V_SOMA

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

71

Tipos de variveis

Assim, mesmo que lssemos milhares de variveis de entrada, para efetuar o clculo sobre estas, apenas realizaramos o loop apresentado anteriormente, que se repetiria at atingir o limite, indicado como condio do loop
(no exemplo anterior, 10), diminuindo o cdigo. Observe que o primeiro loop
solicita os dados e o segundo faz a soma.

Exemplo 2
Imagine que temos uma varivel indexada de nome ms e que contm:
Posio ou ndice

Elemento

(1)

Janeiro

(2)

Fevereiro

(3)

Maro

(4)

Abril

(5)

Maio

(6)

Junho

(7)

Julho

(8)

Agosto

(9)

Setembro

(10)

Outubro

(11)

Novembro

(12)

Dezembro

Podemos referenciar seus elementos explcita ou implicitamente.


Explcita: De forma explcita, passaramos a posio que estamos tratando dessa varivel. Por exemplo, ms(1) contm Janeiro, de forma que esse
seria o valor manipulado.
Implcita: Utilizaramos uma varivel como indexador, cujo valor seria a
posio que estamos tratando. Por exemplo, sendo a varivel indexadora de
nome i, usaramos ms(i) para referenciar um certo valor contido na posio
i. Assim:

72

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

 Se i = 3 , ms(i) = Maro
 Se i = 6, ms(i) = Junho
Exerccio 8
Elabore um programa que leia 20 valores numricos (um por vez) e apresente somente os positivos como sada (no considerar, como positivos, os
de valor zero).
Exerccio 9
Elabore um programa que leia 100 valores numricos. Ele deve contar e
apresentar a quantidade de valores positivos (considere tambm, como positivo, os iguais a zero) e a quantidade de valores negativos do conjunto.
Exerccio 10
Elabore um programa que leia 50 valores numricos e os exiba.
Exerccio 11
Elabore um fluxo que leia 100 valores numricos e exiba apenas aqueles
que forem < 100.

Resumo
Existem, basicamente, quatro tipos de variveis simples: numricas,
string, data e booleanas. Em um programa, aps o informe de variveis,
deve ser realizada a consistncia destas.
Alm das variveis citadas, existe ainda um tipo composto de varivel, ao
qual chamamos varivel indexada. Essa composta por diversos valores, os
quais so referenciados pela posio que ocupam (nmero inteiro).

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

73

Tipos de variveis

Gabarito
Exerccio 1
INCIO
L=0
C=0

LIMPAR TELA
A
NO

L < 25

FIM

SIM

(L, C) = *

L=L+1

Exerccio 2
INCIO

X=0
Y=0
Z=0
RES = 0

X, Y, Z

RES = X + Y + Z

A SOMA
RES
FIM

74

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Exerccio 3
INCIO

A=0
B=0
X=0

A, B

SIM

A=0

No h diviso por zero!

NO
X=B/A

O RESULTADO :
+X

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

75

Tipos de variveis

Exerccio 4
INCIO

NOTA_1 = 0
NOTA_2 = 0
MEDIA = 0
SITUACAO =

NOTA_1
NOTA_2

MEDIA =
(NOTA_1 + NOTA_2) / 2

NO

NO

SITUACAO =
EXAME

MEDIA
<3

MEDIA
>=5

SIM

SIM

SITUACAO =
APROVADO

SITUACAO =
REPROVADO

NOTA_1
NOTA_2
MEDIA
SITUACAO

FIM

76

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Exerccio 5
INCIO

V_TOTAL = 0
PARC = 0
DT1 =
DT2 =
SITUACAO =

V_TOTAL

NO

V_TOTAL
> = 500

SIM

SITUACAO =
PARCELA NICA

SITUACAO =
2 PARCELAS

PARC = V_TOTAL

PARC = V_TOTAL/2

DT1 = HOJE

DT1 = HOJE
DT2 = DT1 + 30

SITUACAO
PARCELA: + PARC
DATA (S): + DT1
+DT2

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

77

Tipos de variveis

Exerccio 6
INCIO

N_EX = 0
N_TEO = 0
N_PRAT = 0
MEDIA = 0

N_EX
N_TEO
N_PRAT

N_EX > = 0
E N_TEO > = 0
E N_PRAT > = 0

NO
VALOR(ES)
INVLIDO(S)!

SIM
MEDIA = (N_EX + N_
TEO + N_PRAT) / 3

MDIA: +
MEDIA

FIM

Exerccio 7
INCIO
Nome =
cidade =
idade = 0
n=0

nome, cidade,
idade

n = n+1
N
N
n = 25

idade<30

idade

FIM

78

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Exerccio 8
INCIO

NUM (20)

I=1

I = I+1

NUM (I)
SIM

I < = 20

INFORME O + I +
VALOR

NO
I=1
A

I < = 20
SIM

NUM (I) > 0

NO

SIM

NO
NUM (I)
FIM
I=I+1

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

79

Tipos de variveis

Exerccio 9
Notem que nesse programa existe uma chamada para um outro programa CALCULOS.
INCIO

POS = 0
NEG = 0
NUM (100)
I=1

I = I+1

NUM(I)
I <= 100

SIM

INFORME 0 + I +
VALOR

NO
I=1

I <= 100

SIM

CALCULOS

NO
POSITIVOS: + POS
NEGATIVOS: +NEG

80

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

CALCULOS

NO

NUM (I) >= 0

NEG = NEG + 1

SIM

POS = POS + 1

I=I+1

SADA

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

81

Tipos de variveis

Exerccio 10

Incio

valor = 0
n=0
valor

n = n+1

n > 50

valor

Fim

82

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Tipos de variveis

Exerccio 11

Incio

V=0
n=0
valor

n = n+1

n = 100

N
N

V < 100

valor

Fim

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

83

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Banco de dados

Um banco de dados (ou data base) tem a finalidade de armazenar as informaes de uma determinada empresa, bem como oferecer uma maneira
rpida e eficiente de recuperar esses dados.
Os bancos de dados oferecem recursos de segurana capazes de controlar e gerenciar o acesso dos usurios aos dados armazenados.
Internamente, um banco de dados formado por um conjunto de tabelas
( o chamado banco de dados relacional) que podem ser processadas pelo
computador atravs de uma aplicao ou sistema.

Tabelas
Uma tabela a base do chamado banco de dados relacional, que nada
mais do que uma coleo de tabelas relacionadas entre si. Onde cada
tabela representa uma entidade da empresa, como funcionrio, produto ou
cliente.
Uma tabela armazena os dados de uma forma organizada e de fcil compreenso. Em uma tabela temos linhas e colunas, onde suas linhas representam os registros e suas colunas representam os campos.
Assim, na tabela, cada linha um conjunto de valores (um por coluna)
que caracterizam uma determinada entidade.
Portanto, tabelas so estruturas de dados que os bancos de dados relacionais utilizam para armazenar e gerenciar os dados de uma certa entidade da
empresa. Alguns bancos de dados que trabalham com estruturas de tabelas
so: ORACLE e SQL SERVER.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Banco de dados

Exemplo visual de uma tabela


Imagine uma tabela de empregados:
Nr_emp

Sobrenome

Nome

Nr_dept

100

Palmeira

Orlando

10

310

Silva

Andr

15

210

Oliveira

Cleice

10

405

Barbosa

Ana

12

378

Gomes

Jos

25

Essa representao, como um todo, o que chamamos tabela. Como


podemos notar, ela formada por linhas, sendo que cada linha formada
pelos dados de uma entidade. A linha de nr_emp = 100, por exemplo, contm
dados do empregado Orlando Palmeira.
Da mesma forma, a tabela formada por colunas. Temos uma coluna sobrenome, por exemplo, que apresenta os sobrenomes de todos os empregados, um por linha. Cada coluna tem uma finalidade. Por exemplo, a coluna
nr_dept contm os departamentos em que cada funcionrio se encontra na
empresa.
Assim, cada linha contm 4 valores no exemplo, um valor em cada
coluna. Exemplificando, a terceira linha de dados contm na coluna nr_emp
o nmero 210; na coluna sobrenome, Oliveira; na coluna nome, Cleice; e na
coluna nr_dept, o valor 10.

Manipulao de banco de dados


Os bancos de dados relacionais podem ser manipulados atravs da linguagem SQL (Structure Query Language). Vamos ver um exemplo.
O SQL uma linguagem declarativa, isto , o usurio declara o que quer
como resultado e o gerenciador do banco de dados busca as informaes
em uma ou vrias tabelas dependendo do que foi solicitado, trazendo as
linhas que correspondem declarao.
Por exemplo, queremos selecionar algumas colunas da tabela de empregados do departamento 10.
Como ficaria essa declarao no SQL:
86

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Banco de dados

Selecione (Select) estas colunas (nr_emp, sobrenome, nome, nr_dept) da


tabela empregados (from empregados) cujo departamento seja 10 (where
nr_dept=10).
Comando SQL:
SELECT nr_emp, sobrenome, nome, nr_dept
FROM empregados
WHERE nr_dept = 10
Teramos como resultado:
Nr_emp

Sobrenome

Nome

Nr_dept

-------

-------

-------

-------

100

Palmeira

Orlando

10

210

Oliveira

Cleice

10

Observando o resultado, percebemos que os funcionrios dos outros setores


no aparecem, isso no significa que eles tenham sido apagados da tabela.

Chave primria (primary key)


Uma tabela (bem como um arquivo) pode conter uma chave primria, ou
seja, uma coluna que identifique, para o usurio, cada linha de informao
nessa tabela. A chave primria pode tambm ser formada por vrias colunas,
o que chamamos chave primria composta.
Independente da chave primria ser, por definio, simples (uma nica
coluna), ou composta (vrias colunas), seu contedo deve ser nico na tabela
como um todo, assim como deve tambm ser obrigatrio.
Chave primria

Nr_banco

Nr_conta

Balano

Data_abertura

104

75760

12,000,50

21-OUT-89

104

77956

100,10

105

89570

55,775,00

15-JAN-85

103

55890

15,001,85

10-MAR-71

105

76954

5,00

25-SET-91

Tabela de contas

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

87

Banco de dados

Coluna nica (unique key)


Como explicado no tpico anterior, quando temos, em uma tabela, colunas definidas como chave primria, por consequncia, o contedo de cada
uma dessas colunas nico.
No entanto, existem colunas na tabela que, independente de serem ou
no chave primria, tambm podem ser nicas, de forma que seu valor no
se repita em nenhuma ocorrncia dessa coluna.
Uma coluna que poderia ser definida como unique key seria o CPF.

Coluna obrigatria (not null)


Durante um informe de valores, indica que uma determinada coluna
deve, obrigatoriamente, conter um valor, de forma que o usurio deve inform-lo para proceder a incluso ou para continuar informando valores para
as demais colunas.
Uma coluna que poderia ser definida como not null seria o nome.

Chaves estrangeiras (foreign keys)


Uma chave estrangeira justamente aquela que define o relacionamento
entre duas tabelas distintas dentro do banco de dados relacional.
A chave estrangeira, quando contida em uma tabela, coluna primria
em uma outra tabela. Assim, os valores nessas colunas, em uma e noutra
tabela, so correspondentes. Dessa forma, ao incluir uma nova linha de
informao na minha tabela, o valor atribudo a uma coluna de chave estrangeira dever, obrigatoriamente, existir como chave primria em uma
segunda tabela.

88

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Banco de dados

Primary key

Foreign key

Nr_emp

ltimo nome

Primeiro nome

Nr_dept

Nr_folha_pagto

100

Smith

John

10

9710

310

Adams

Jane

15

8730

210

Brown

Jim

10

1157

405

Gomes

Jos

378

Johnson

Lucy

3394
25

Tabela de
empregado

4477

Primary key

Nr_dept

Nome_dept

10

Financeiro

15

Operacional

12

Manufatura

25

Vendas

Tabela de
departamento

Uma observao importante que uma chave estrangeira pode ou no


ser obrigatria (o fato de ser chave estrangeira no obriga o informe de um
valor para esta).
A chave estrangeira apenas ser obrigatria caso seja parte integrante da
chave primria da tabela.

Integridade de dados
Para que a tabela contenha dados confiveis, dependendo do tipo da
coluna (se for obrigatria, nica, chave primria ou secundria), essas regras
de definio de coluna tambm devero ser consistidas. Isso geralmente
feito de forma automtica pelo banco de dados durante o gerenciamento dos dados nas tabelas, a esse conjunto de definies que podem existir
eventualmente em uma tabela chamamos regras ou constraints.
Alm desses tipos de regras, podem existir, eventualmente, outras regras
que chamamos regras de negcios ou regras definidas pelo usurio, que so
situaes que devem ser obedecidas e aplicadas aos valores das colunas, validando-os. Essas situaes podem ser definidas pelo rgo governamental
ou pela prpria empresa. Por exemplo:
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

89

Banco de dados

 Os vendedores da rea comercial devem somente receber um percentual de comisso de 5%.


 O percentual do Imposto de Renda Retido na Fonte de 30.
 O salrio deve estar entre 500 e 10 000.
 O dado que informa o sexo do funcionrio deve ser M ou F.

Estrutura de tabela
Cada campo (informao) em uma tabela possui um datatype (tipo de
dado), que pode ser numrico, string (texto), data, booleano (TRUE ou FALSE)
entre outros e, eventualmente um tamanho predefinido.
A relao completa de datatypes e tamanho de todos os campos de uma
tabela chamada de estrutura.
Ao elaborar um programa, em qualquer linguagem, esses tipos de dados
devem sempre ser obedecidos e respeitados quando se estiver realizando
incluso, ou qualquer outro tipo de manipulao de dados na tabela.
Devemos sempre respeitar a forma de declarao das strings para a correta utilizao dos recursos da linguagem utilizada, ou seja, strings entre
apstrofos e para os nmeros no necessrio. Esse um exemplo de como
respeitar e seguir os tipos de dados definidos pela estrutura de uma tabela
para os seus campos.

Resumo
Um banco de dados formado por tabelas, por isso o chamamos de
banco de dados relacional.
Uma tabela formada por linhas (registros) e colunas (campos).
Cada coluna pode ser validada e definida como chave primria, chave
estrangeira, nica ou obrigatria. A essas definies chamamos regras de
integridade de dados ou constraints.
Chave primria a coluna cujo valor identificar cada linha da tabela. A
chave primria pode ser simples (uma coluna) ou composta (vrias colunas),
mas nica e obrigatria.
90

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Banco de dados

Chave estrangeira de uma tabela a coluna que chave primria em


uma outra tabela. Atravs dessas colunas (cujos valores so correspondentes), podemos relacionar as tabelas.
Coluna nica aquela que no apresenta duplicidade de dados na
tabela.
Estrutura de uma tabela a relao de tipos de dados e tamanhos dos
campos das colunas da tabela.

Atividades
1. O que so e para que servem as tabelas no banco de dados relacional?
2. Qual o objetivo de possuir uma primary key em uma tabela?
3. Na tabela de contas abaixo, a coluna DATA_ABERTURA foi escolhida
como sendo nossa coluna com atributo de chave primria. Nossa escolha a melhor tecnicamente? Especifique o porqu.

Chave primria
NR_BANCO

NR_CONTA

BALANO

DATA_ABERTURA

104

75760

12,000,50

21-OUT-89

104

77956

100,10

105

89570

55,775,00

15-JAN-85

103

55890

15,001,85

10-MAR-71

105

76954

5,00

25-SET-91

Tabela de contas
4. Para que servem as chaves estrangeiras (foreign keys) no banco de dados relacional?
5. O que um datatype do tipo string na estrutura de uma tabela?

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

91

Banco de dados

Gabarito
1. Tabelas so a base estrutural de armazenamento de informao em
um banco de dados relacional. Eles utilizam as tabelas estruturando os
dados em linhas (registros) e colunas que possuem as caractersticas
de cada linha. Um banco de dados relacional utiliza as tabelas para
gerenciar, armazenar e consultar os dados.
2. Quando precisamos que uma determinada coluna na tabela possua
uma garantia de regra que torne obrigatoriamente aquele valor nico
na tabela inteira e que seja controlado pelo prprio banco de dados .
3. No. Porque podem existir vrias linhas com a mesma data de abertura de conta, portanto essa coluna inapropriada a ser uma candidata
em possuir o atributo de chave primria.
4. Servem para construir o relacionamento entre as tabelas pelo banco de
dados , pois a chave estrangeira aquela que define o relacionamento
entre duas tabelas distintas dentro do banco de dados relacional. A
chave estrangeira, quando contida em uma tabela, coluna primria
em uma outra tabela. Assim, os valores nessas colunas, em uma e noutra tabela, so sempre interligados, obrigatoriamente, controlados e
consistidos pelo banco de dados como uma regra (constraint).
5. um tipo de dado que define o tipo de informao que a coluna pode
receber. No caso de datatype tipo string, por exemplo, significa que
sero aceitos pelo banco de dados valores alfanumricos na coluna.

92

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

Uma tabela formada por vrias linhas e colunas, onde cada linha representa um registro e cada coluna representa um campo.
Portanto, podemos ter uma tabela de clientes, onde cada linha representaria um cliente diferente, que composta por colunas, onde esto as informaes que particularizam esse cliente. Por exemplo, podemos ter uma
coluna para o cdigo do cliente, outra para o nome, endereo, CPF, entre
outras.
As colunas de uma tabela so chamadas de layout, ou ainda, o layout dos
registros da tabela.
O layout de cada tabela definido de acordo com sua finalidade e uso
pelas aplicaes (ou programas) que iro manipul-lo.

Processando tabelas
possvel elaborar fluxos de programas que manipulam informaes digitadas pelo usurio durante o processamento. Informaes essas que ficam
armazenadas em variveis.
Da mesma forma, podemos fazer programas que manipulem informaes
da mesma maneira, s que provenientes de tabelas. Assim, o processamento
basicamente ser o mesmo, mudando apenas a origem da informao a ser
manipulada, passando de variveis para dados de tabela.

Avaliando incio e fim de tabela


Por vezes, em um programa, precisamos processar todos os seus registros ou linhas, o que fazemos atravs de um loop. Nesse caso, o nmero de
vezes que executamos o loop exatamente o nmero de linhas que a tabela
contm, ou seja, as instrues que formam o loop so realizadas para cada

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

linha. Ao terminar o processamento de uma linha, o loop entra em ao, realizando as mesmas operaes, s que para a prxima linha. E assim todas as
linhas vo sendo processadas, at o final da tabela.
Cada loop possui uma condio para avaliar sua durabilidade. No caso
de estarmos processando toda uma tabela, a condio que devemos avaliar
se o final da tabela j foi alcanado. Porque enquanto for possvel ler uma
nova linha, ainda no atingimos o final da tabela, e devemos novamente realizar o loop, processando os dados da linha lida.
No entanto, ao chegar ao final da tabela, o loop no tem mais razo de
ser realizado, afinal, todas as linhas da tabela j foram processadas. Assim,
encerra-se a realizao do loop e passamos s instrues que o seguem.
Para avaliar, em uma condio, se foi atingido o final ou, eventualmente,
o incio de uma tabela, empregamos comandos prprios da linguagem que
utilizarmos para desenvolver o programa. A nvel de fluxo, utilizamos EOF
(end of file = final de arquivo, tambm conhecido como NOT FOUND) e BOF
(begin of file = incio do arquivo).

Exemplo
Desenvolver um programa que determine, e apresente, a porcentagem
dos clientes no bloqueados que uma empresa possui (clientes no bloqueados dividido pelo total de clientes da empresa), bem como a quantidade
desses clientes, com base na tabela CLIENTE que possui o seguinte layout:
 CODIGO
 NOME
 ENDER
 CREDITO
 BLOQ este, quando o cliente estiver bloqueado, dever conter TRUE,
seno FALSE.

96

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

INCIO

TOT_CLI = 0
NAO_BLOQ = 0
PORCENT = 0

ABRIR
TABELA
CLIENTE
A
LER
CLIENTE

NO

EOF

PORCENT =
(NAO_BLOQ /
TOT_CLI) * 100

TOT_CLI =
TOT_CLI + 1

NO

BLOQ

SIM

SIM

NAO_BLOQ =
NAO_BLOQ + 1

PORCENT
NAO_BLOQ

FECHAR
TABELA
CLIENTE

FIM

Lendo e gravando informaes


Para gravar dados em tabelas, a nvel de fluxo, utilizamos a mesma simbologia adotada para leitura.
Segue um exemplo elucidando como seria o fluxo nessas circunstncias.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

97

Layout de tabela

Exemplo
Desenvolver um programa que leia toda a TAB_A (do 1. ao ltimo registro) e, para cada linha lida, grave uma linha correspondente em TAB_B de
acordo com o layout apresentado abaixo, sendo TAB_A e TAB_B tabelas com
dados de alunos.
Layout TAB_A : COD , NOME , END , CPF e RG
Layout TAB_B : CPF_S , END_S , COD_S , RG_S e NOME_S
INCIO

ABRIR
TAB_A
TAB_B
A
LER
LINHA
TAB_A
NO

COD_S = COD

EOF
TAB_A?

SIM

FECHAR
TAB_A
TAB_B

NOME_S = NOME
FIM
END_S = END

CPF_S = CPF

RG_S = RG

GRAVAR
TAB_B

A
98

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

Resumo
Layout de tabela: no caso de tabela, so as colunas que formam cada uma
de suas linhas.
Para processar cada linha ou registro, utilizamos os loops.

Para avaliar fim de tabela usamos EOF ; para incio, BOF.

Atividades
Exerccio 1
Desenvolver um programa que determine (e apresente em tela) a quantidade de pessoas de sexo feminino, sua mdia de peso e mdia de idade. A
quantidade de pessoas do sexo masculino, sua mdia de peso e sua mdia
de idade, com base na tabela TAB_A que possui o seguinte layout:
 NOME
 IDADE
 PESO
 SEXO M ou F
Exerccio 2
Desenvolver um programa que leia sequencialmente toda a tabela de
funcionrios TABFUN. Toda tabela dever ser avaliada, de forma que, se
corresponder a um funcionrio que receba salrio acima de 1 000, do sexo
masculino e que tenha algum dependente, gravar em outra tabela de nome
FUNCSEL, ignorando a informao caso uma dessas condies no seja
satisfeita.
Layout TABFUN: COD, NOME, SAL, SEXO e DEP
Onde SAL o salrio, SEXO apenas poder conter M ou F, e DEP o
nmero de dependentes.
Layout FUNCSEL: COD_S, NOME_S, SAL_S, SEXO_S, e DEP_S

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

99

Layout de tabela

Exerccio 3
Desenvolver um programa que leia sequencialmente a tabela de alunos
TABALU. Cada informao lida dessa tabela deve ser avaliada de forma que
todos os alunos, cuja mdia seja maior ou igual a 5, sejam includos na tabela
TABMED, que contm as mdias dos alunos aprovados.
Layout TABALU: COD, NOME, NT1, NT2
Onde NT1 a primeira nota do aluno e NT2 a segunda.
Layout TABMED: CODALU, NOMEALU, MEDALU
Onde MEDALU a mdia das notas dos alunos, calculada da seguinte
forma:
Mdia = ( ( NT1 x 3 ) + ( NT2 x 7 ) ) / 10
Exerccio 4
Desenvolver um programa que leia sequencialmente a tabela de produtos PROD. Ao processar cada linha, caso o cdigo da linha seja A, ignor-la ;
caso contrrio, calcular o valor lquido e gravar a linha na tabela VALIQ.
Layout PROD: COD, QTDE, UNIT, PERC, CLIN
Onde UNIT o preo unitrio, PERC o percentual de desconto e CLIN o
cdigo da linha.
Layout VALIQ: CODPROD, VLIQ
Onde VLIQ o valor lquido, calculado da seguinte forma:
 Valor bruto = quantidade x preo unitrio
 Desconto = (valor bruto x percentual desconto) / 100
 Valor lquido = valor bruto desconto
Exerccio 5
Desenvolver um programa que leia sequencialmente a tabela de vendedores VEND. Para cada linha lida calcular o salrio do ms, somando ao
salrio o valor da comisso, e gravando a linha com esse valor calculado na
tabela TABSAL. O valor de comisso ser determinado da seguinte forma:
 Se vendas no ms >= 10 000, comisso = vendas_ms x 10%
100

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

 Se vendas no ms >= 5 000 e < 10 000, comisso = vendas_ms x 5%


 Se vendas no ms < 5 000, comisso = 0
Ao trmino do processamento, exibir em vdeo o total salarial a ser pago
no ms.
Layout VEND: COD, NOME, SAL, VMES
Onde SAL o salrio e VMES o valor das vendas que realizou no ms.
Layout TABSAL: CODVEN, SMES
Onde SMES o valor do salrio no ms, j acrescido da comisso.

Gabarito
Exerccio 1
INCIO

QTDE M = 0
QTDE_F = 0
SOMA_IDADE_F = 0
SOMA_IDADE_M = 0
SOMA_PESO_M = 0
SOMA_PESO_F = 0
MEDIA_IDADE_F = 0
MEDIA_IDADE_M = 0
MEDIA_PESO_M = 0
MEDIA_PESO_F = 0

ABRIR
TAB_A
C
LER
REGISTRO
NO

EOF

SIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

101

Layout de tabela

NO

SIM

SEXO
= M

SOMA_IDADE_F =
SOMA_IDADE_F + IDADE

SOMA_IDADE_M =
SOMA_IDADE_M + IDADE

QTDE_F =
QTDE_F + 1

QTDE_M =
QTDE_M + 1

SOMA_PESO_F =
SOMA_PESO_F + PESO

SOMA_PESO_M =
SOMA_PESO_M + PESO

C
B

MEDIA_IDADE_M =
SOMA_IDADE_M / QTDE_M

MEDIA_IDADE_F =
SOMA_IDADE_F / QTDE_F

MEDIA_PESO_M =
SOMA_PESO_M / QTDE_M

MEDIA_PESO_F =
SOMA_PESO_F / QTDE_F
EXIBIR
MEDIA_IDADE_M
MEDIA_IDADE_F
QTDE_M
MEDIA_PESO_M
QTDE_F
MEDIA_PESO_F
FECHAR
TAB_A
FIM
102

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

Exerccio 2
INCIO
ABRIR
TABFUN,
FUNCSEL

LER
TABFUN
NO

SIM

EOF?

FECHAR
TABFUN,
FUNCSEL

FIM

NO

SAL >
1000
NO

SIM

SEXO
= M
NO

SIM

DEP > 0

SIM

COD_S = COD
NOME_S = NOME

SAL_S = SAL
SEXO_S = SEXO

DEP_S = DEP

GRAVAR
LINHA EM
FUNCSEL

B
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

103

Layout de tabela

Exerccio 3
INCIO

MEDIA = 0
SOMA = 0
P1 = 0
P2 = 0

ABRIR
TABALU,
TABMED

LER
TABALU
NO

SIM

EOF?

FECHAR
TABALU,
TABMED

FIM
A

P1 = 3* NT1
P2 = 7* NT2
SOMA = P1 + P2

MEDIA = SOMA/10

NO

MEDIA < 5

SIM

CODALU = COD
NOMEALU = NOME
MEDALU = MEDIA

GRAVAR
LINHA EM
TABMED

104

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

Exerccio 4
INCIO

VLRBRUTO = 0
DESC = 0

ABRIR
PROD,
VALIQ

LER
PROD
NO

SIM

EOF?

FECHAR
PROD,
VALIQ

FIM
A

NO

CLIN =
A ?

SIM

VLRBRUTO =
QTDE* UNIT

DESC =
(VLRBRUTO *
PERC) / 100

VLIQ = VLBRUTO
DESC

CODPROD = COD

GRAVAR
LINHA EM VALIQ

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

105

Layout de tabela

Exerccio 5

INCIO

COMIS = 0
TOTSAL = 0

ABRIR
VEND,
TABSAL
LER
VEND

NO

EOF?

SIM

EXIBIR
TOTSAL

FECHAR
VEND,
TABSAL

FIM

106

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Layout de tabela

A
NO

NO

COMIS = 0

VMES >=
5000

VMES >=
10000
SIM

SIM

COMIS =
VMES * 10/100

COMIS =
VMES * 5/100

SMES = SAL + COMIS


CODVEN = COD

GRAVAR
LINHA EM
TABSAL

TOTSAL =
TOTSAL + SMES

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

107

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de
manipulao de dados

Uma aplicao composta por cadastros (a chamada manipulao de tabelas ), eventuais processamentos (qualquer tipo de operao que envolva a
parte cadastral e que caracterize a sua aplicao, por exemplo, o preparo de
um cheque a ser emitido), e relatrios de forma geral, tudo isso geralmente
distribudo em menus sendo, cada cadastro, processamento ou relatrio um
item nesse menu que, ao ser selecionado, ativa o programa correspondente
opo selecionada.
Neste captulo, veremos a manuteno de dados armazenados em tabelas (incluso, alterao e excluso), bem como a consulta a esses dados o
que, por vezes, muito til em meio ao cadastramento.
A consulta a uma tabela simplesmente exibir em tela suas linhas ou registros. Pode ser uma consulta com cabealho (ou seja, um texto no topo
da listagem, em cada tela) e rodap (um texto na parte inferior da tela), mas
pode variar conforme o objetivo a ser atingido e de qual distribuio mais
til ao usurio que manipular o sistema.

Elaborando um cadastro
Um cadastro ser o programa que permitir ao usurio incluir, alterar, excluir e, eventualmente, consultar os dados de uma determinada tabela. A
isso, como dissemos, chamamos manipulao de dados.
Ento imaginemos a aplicao. Como explicado anteriormente, o usurio
seleciona, no menu da aplicao, o item relacionado ao cadastro desejado.
Selecionando o item, ativa um programa que conter as opes: inserir, alterar, excluir, consultar, bem como uma de confirmao ou sada, para terminar
o processamento desse programa. Essas opes podem ser distribudas em
tela de forma bem variada. O posicionamento dessas opes em tela, bem
como o layout da tela em si definido pelo analista programador.
Para entender melhor o funcionamento desse programa, examine o
fluxo contido na pgina seguinte. Nele, estaremos utilizando uma tabela
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

Conceito de manipulao de dados

chamada DEPTO, que contm departamentos e segue o seguinte layout:


CODIGO (cdigo do departamento), DEPT (nome do departamento), GERENTE (nome do gerente).
INCIO

CODIGO = 0
DEPT =
GERENTE =
OK = TRUE

ABRIR
TABELA
DEPTO
B
LER
OPO
NO

NO

NO

NO

OPO
INSERIR

SIM

OPO
ALTERAR

SIM

OPO
EXCLUIR

SIM

OPO
CONSULTA
NO

SIM

OPO
SAIR

SIM

FECHAR
TABELA
DEPTO

FIM

ROT_INC

ROT_ALT

ROT_EXC

ROT_CONS
EXIBIR
OPO
INVLIDA

Esse programa, inicialmente, abre a tabela DEPTO. Em seguida, realiza um


loop, lendo inicialmente a opo. Se a opo selecionada foi SAIR, fecha a
tabela e encerra o programa. Caso contrrio, verifica, uma a uma, se a opo
foi INSERIR, ALTERAR, EXCLUIR ou CONSULTAR. Se uma delas for verdadeira, ativa uma sub-rotina, e ao trmino desse processamento, volta a realizar o loop, verificando qual a prxima opo do usurio.
Assim, se a opo foi INSERIR, ativa a sub-rotina ROT_INC (de incluso);
se ALTERAR, ativa a ROT_ALT (de alterao); se EXCLUIR, ativa a ROT_EXC
(de excluso) e, se CONSULTA, ativa a ROT_CONS (para realizar a consulta
aos dados da tabela).
110

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de manipulao de dados

Caso nenhuma das opes seja vlida, apresenta uma mensagem de erro
em tela. No caso, Opo Invlida! e volta a solicitar a opo.
Assim, na tela, temos as opes possveis, e ao escolher uma delas, j ativada uma sub-rotina que ser responsvel pela operao selecionada. E, na
mesma tela, j temos uma consistncia, aceitando apenas uma das opes
possveis. Assim, se a opo for invlida (no for nenhuma das possveis e
esperadas), informa isso ao usurio.
Comecemos agora a analisar cada sub-rotina.

Sub-rotina de incluso
ROT_INC
EXIBIR
TELA P/
INCLUSO
CODIGO, DEPT,
GERENTE

OK = FALSE

CONSISTIR
NO

OK =
TRUE

SIM

LER
DEPTO
NO

GRAVAR
DADOS

J
EXISTE?

SIM

CDIGO J
EXISTE

CADASTRO
REALIZADO

SADA

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

111

Conceito de manipulao de dados

Esse fluxo representa o funcionamento da sub-rotina ROT_INC que trata


da incluso de um novo departamento na tabela DEPTO.
Nela, inicialmente, preparamos a tela para a incluso de um novo departamento e a disponibilizamos para o usurio entrar com os dados. Quando o
usurio termina, prosseguimos com a validao dos dados informados. A avaliao feita por uma outra sub-rotina (a de nome CONSISTIR), que eventualmente
mudar o valor da nossa varivel OK para TRUE, indicando se os dados esto em
perfeitas condies para realmente serem includos na tabela ou no.
Antes da consistncia, inicializamos a varivel OK com FALSE.
Aps a sub-rotina verificamos se a varivel OK mudou para o valor TRUE.
Caso isso acontea, passamos a verificar se o cdigo informado j existe na
tabela. Caso exista, uma mensagem de erro aparecer em tela ao usurio.
Caso no exista, inclumos os dados na tabela.
Caso a varivel OK continue com FALSE, a incluso no concluda.
Finalizando a sub-rotina, sendo os dados gravados ou no, remontamos a
tela para, ento, encerrarmos o processamento desta.

Sub-rotina de consistncia
CONSISTIR
NO
CDIGO
INVLIDO!

CODIGO > 0

NO

DEPTO
OBRIGATRIO

SIM

DEPT
<>
NO

SIM

GERENTE
<>

GERENTE
OBRIGATRIO

OK = TRUE

SADA
112

SIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de manipulao de dados

Nesse fluxo de consistncia, avaliamos os dados de entrada. No caso, verificamos se:


1. CODIGO maior que zero
2. DEPT foi informado
3. GERENTE foi informado
Se as trs condies forem satisfeitas, significa que os dados esto corretos e podem ser armazenados na tabela. Para indicar essa situao, usamos a
varivel OK (definida antes da chamada sub-rotina CONSISTIR com o valor
FALSE), passando-a para TRUE.

Sub-rotina de alterao
ROT_ALT

COD

LER
DEPTO

NO

J
EXISTE?

CDIGO
NO EXISTE

SIM

EXIBIR
TELA P/
ALTERAO
DEPT,
GERENTE
OK = FALSE

CONSISTIR
SIM
ALTERAO
REALIZADA

OK =
TRUE

NO

GRAVAR
DEPTO
MONTAR
TELA
SADA

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

113

Conceito de manipulao de dados

Para alterar uma linha, inicialmente preciso localiz-la para que seja
apresentada em tela com os dados correntes. Para isso, o usurio deve informar o valor de alguma coluna chave (no caso do nosso exemplo, a coluna
COD) poderia tambm ser uma coluna nica. Esses dois passos foram os
realizados inicialmente no fluxo.
Caso no exista a linha na tabela, deve acusar um erro. Caso contrrio,
deve apresentar ento os dados de cada coluna dessa linha em tela, para
ento permitir que o usurio altere algum deles.
Aps as alteraes realizadas e a confirmao do usurio, feita a validao dos dados (novamente atravs da sub-rotina CONSISTIR, cujo fluxo
j foi apresentado anteriormente). Se os dados estiverem invlidos, voltar a
solicit-los; caso contrrio, gravar a linha na tabela.

Sub-rotina de excluso
ROT_EXC

COD

LER LINHA
NA TABELA

NO

J
EXISTE

NO EXISTE
ESTE CDIGO
NA TABELA!

SIM

MONTAR
TELA
CONFIRMAR
EXCLUSO DA
LINHA
NO

EXCLUI

SIM

ELIMINAR
LINHA NA
TABELA

EXCLUSO
CANCELADA!

MONTAR
TELA
SADA

114

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de manipulao de dados

A linha a ser excluda deve ser inicialmente identificada. Para isso, o usurio deve informar o valor de uma coluna chave ou nica. No caso do fluxo
apresentado, o usurio dever informar o valor da coluna COD, que a chave
identificadora da linha. Em seguida verificado na tabela se a linha j existe.
Caso no exista, acusa erro. Caso contrrio, exibe os dados da linha na tela
e, ento, confirma sua excluso.
Se a excluso for cancelada, exibe mensagem de acordo, se confirmada,
elimina a linha fisicamente da tabela.
Por ltimo, eliminando ou no a linha, a tela remontada e a execuo
encerrada.

Sub-rotina de consulta
ROT_CONS

MONTAR
TELA DE
SELEO
AGUARDAR
INFORME E
CONFIRMAO
B
LER
LINHA NA
TABELA
NO

EOF

SIM

PAUSA PARA
USURIO
LIMPAR E
REEXIBIR
TELA
SADA

NO

LINHA
VLIDA

SIM

EXIBIR
DADOS
DA LINHA

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

115

Conceito de manipulao de dados

Para consultarmos os dados de uma tabela, necessrio que os apresentemos todos em tela, segundo algum critrio de seleo que o usurio venha
a escolher.
Portanto, necessrio apresentar em tela todos os parmetros possveis
para a seleo dos dados. Dessa forma, em seguida monta-se a tela de parmetros, dispondo nesta diversos campos que serviro para filtrar os dados
da tabela.
Uma vez informados e confirmados esses parmetros, passamos leitura
das linhas na tabela, em um loop, lendo linha a linha. Nesse loop verificamos
se o final da tabela j foi alcanado. Caso no tenha sido, valida a linha conforme os parmetros fornecidos.
Por ltimo exibe os dados da linha na tela, conforme o layout definido
previamente.
Esse o fluxo mais simples. Poderamos tambm utilizar, entre outras
coisas, cabealhos, aprimorando o programa de consulta.

Atividades
Exerccio 1
Imagine uma tabela de funcionrios de nome FUNC com o seguinte
layout:
 COD (cdigo do funcionrio): maior que zero.
 NOME (nome completo): obrigatrio.
 DTADM (data de admisso): obrigatria (e vlida).
 SAL (salrio): maior que zero.
 DEPTO (departamento): maior que zero.
 CARGO (cargo do funcionrio na empresa): maior que zero.

116

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de manipulao de dados

Com base nessas informaes, elabore uma sub-rotina de consistncia,


ou seja, faa a verificao de entrada de valores.
Exerccio 2
Utilizando a tabela de funcionrios FUNC do exerccio anterior com o seguinte layout:
 COD (cdigo do funcionrio).
 NOME (nome completo): obrigatrio.
 DTADM (data de admisso): obrigatria (e vlida).
 SAL (salrio): maior que zero.
 DEPTO (departamento).
 CARGO (cargo do funcionrio na empresa).
Inclua as seguintes tabelas:
DEPTO (departamento) com o seguinte layout:
COD_DEPT (cdigo do departamento): no pode ser null
NOME_DEPT (nome do departamento)
CARGO (cargo) com o seguinte layout:
COD_CARG (cdigo do cargo): no pode ser null
NOME_CARG (nome do cargo)
Com base nessas informaes, reflita e efetue uma manuteno no fluxo
de forma a implementar as novas tabelas inseridas no sistema. Elabore uma
sub-rotina de consistncia, faa a verificao de entrada de valores e linhas
vlidas.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

117

Conceito de manipulao de dados

Gabarito
Exerccio 1
A parte inicial do exerccio a mesma que est na aula, sendo necessrio
apenas apresentar a rotina consistir, conforme segue abaixo.
CONSISTIR
NO

COD > 0

CDIGO
INVLIDO!

NO

SIM

SIM

NOME
<>

NOME
OBRIGATRIO

NO

SIM

DTADM
<>

DATA DE
ADMISSO
OBRIGATRIA!

NO

DTADM
VLIDA

DATA DE
ADMISSO
INVLIDA!

NO
SALRIO
INVLIDO!

SAL > 0

NO

DEPARTAMENTO
INVLIDO

SIM

DEPT
>0
NO

SIM

CARGO
>0

CARGO
INVLIDO!

SIM

OK = TRUE

B
SADA

118

SIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de manipulao de dados

Exerccio 2
A parte inicial do exerccio a mesma que est na aula, sendo necessrio apenas apresentar a rotina consistir e a abertura das tabelas DEPTO e
CARGO, conforme segue abaixo.
CONSISTIR
NO

SIM

COD > 0

CDIGO
INVLIDO!

NO

SIM

NOME<>

NOME
OBRIGATRIO

NO

DTADM
<>

DATA DE
ADMISSO
OBRIGATRIA!

NO

SIM

DTADM
VLIDA

DATA DE
ADMISSO
INVLIDA !

SIM

A
SIM
NO
SALRIO
INVLIDO!

SAL > 0

NO
DEPARTAMENTO
INVLIDO

Abrir
Tabela
DEPTO

Abrir
Tabela
CARGO

Ler
DEPTO

Ler
CARGO

DEPTO
Existe?
NO

SIM

CARGO
Existe?

CARGO
INVLIDO !

SIM

OK = TRUE

B
SADA

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

119

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

Manipulao de dados em tabelas (incluso, alterao e excluso), so os


principais comandos utilizados na linguagem de acesso a banco de dados.
Desses comandos, o de consulta muito utilizado por usurios e programas,
retornando sempre que solicitados os dados encontrados, no exatamente da
forma ou ordenados como o usurio ou aplicao deseja. Imagine que queira
realizar uma consulta de uma tabela (contendo cdigo, nome e descrio), mas
que os dados sejam apresentados de forma ordenada, organizados em ordem
alfabtica de nome. A tabela, seguindo a sua ordem natural, apresenta seus registros ordenados pelo campo chave primria (nesse caso o cdigo). No entanto,
para atender nossa necessidade, essa tabela deveria apresentar-se em ordem de
nome. possvel fazer isso criando, para essa tabela, uma ordenao por nome
quando estivermos abrindo a tabela para processar seus registros.
Ordenao de tabela simplesmente uma definio de qual campo, ou
campos, ela estar ordenada ao ser aberta.
Tabela Doctos
Ordenao por cdigo

Cdigo

Nome

Descrio

NUM

Numerrio

CHQ

Cheque

CCR

Carto crdito

VRF

Vale refeio

VTR

Vale transporte

Tabela Doctos
Ordenao por nome

Nome

Cdigo

CCR

CHQ

NUM

VRF

VTR

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

Nas ilustraes anteriores, podemos visualizar a tabela DOCTOS. Ela fisicamente no se encontra por ordem de nome, e sim por ordem de cdigo. Para
que, ao realizarmos o processamento, a tabela esteja ordenada por nome,
precisamos criar uma ordenao, que ser feita no momento da abertura da
tabela. Teremos os nomes ordenados, cada um com seu respectivo cdigo,
referenciando o registro original da tabela DOCTOS. Essa nova ordenao
dos registros da tabela no ir afet-la fisicamente.
At agora falamos da utilidade da ordenao em uma consulta. Uma ordenao pode tambm ser til em diversos momentos. Por exemplo, quero
processar os dados de uma tabela, mas para atingir o meu objetivo, os registros na tabela deveriam seguir um outro critrio de ordenao, de forma a
trazer os dados agrupados por tipo ou por representante de vendas. Nesse
caso, tambm podemos criar uma nova ordenao para os registros.
Exemplo
Temos duas tabelas. A primeira, chamada TABALU, uma tabela de alunos
que tem o seguinte layout:
 COD (cdigo do aluno)
 NOME (nome do aluno)
 CODTUR (turma em que se encontra)
A segunda tabela chama-se TABTUR, uma tabela de turmas que segue
o layout abaixo:
 TURMA (cdigo da turma igual ao campo CODTUR da outra tabela)
 NRALU (quantidade de alunos na turma)
Utilizar a tabela TABALU ordenada pelo campo CODTUR e process-la de
forma a gerar os registros de TABTUR.
Soluo:
Como a tabela TABALU estar ordenada pelo campo CODTUR (que a
chave arquivo), ao ler os seus registros, leremos todos os alunos da primeira
turma, depois todos da segunda, todos da terceira e assim por diante. Enquanto estivermos lendo registros de uma mesma turma, acumularemos o
nmero de alunos que j encontramos nessa turma. E assim leremos registro

122

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

a registro. Quando o prximo registro lido no for da mesma turma, deveremos ento gerar um registro no TABTUR, com o total de alunos processados
para aquela turma.
Analisemos, ento, o fluxo a seguir.
Note que a sub-rotina QUEBRA tambm chamada ao final do loop (aps
processados todos os registros). Isso feito para que gere o registro referente ltima turma processada.

INCIO

ABRIR
TABALU (ordenado por CODTUR)
TABTUR
B
LER TABALU

NO

EOF
TABALU

SIM

QUEBRA

FECHAR TABALU
TABTUR

FIM

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

123

Ordenao de tabelas

NO

SIM

TURANT
=

TURANT = CODTUR

NO

SIM

TURANT
<>CODTUR

QUEBRA

TOTALU = 0

TURANT = CODTUR

TOTALU = TOTALU + 1

QUEBRA
NRALU = TOTALU

TURMA = TURANT

GRAVAR TABTUR

SADA
124

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

O conceito de quebra
No ltimo fluxo apresentado, temos um conceito muito importante: o
conceito de quebra.
Quebra uma mudana, ou seja, um campo ou coluna que passa a assumir outro valor no meio do processamento.
No nosso ltimo exemplo, todas as vezes em que passvamos a processar uma nova turma de alunos, por esta ser diferente da anterior, tnhamos
ento uma quebra. No caso, uma quebra por CODTUR (cdigo da turma), j
que este era o campo analisado.
Para se ter uma quebra consistente, importante observar que devemos,
no mesmo processamento, considerar tanto a ordenao quanto a quebra
pela mesma coluna da tabela.

Ordenao composta
Vimos o conceito de ordenao. At o momento, vimos apenas as ordenaes simples, aquelas com base em um nico campo (por exemplo: cdigo
da turma).
No entanto, poderamos ter uma ordenao com base em mais de um
campo. Essas seriam ordenaes compostas, ou seja, formadas por mais de
um campo.
Imagine um cadastro de funcionrios. Este teria os campos Cdigo, Nome,
Salrio, Cargo, Departamento, entre outros. Poderamos, por exemplo, ordenar esta tabela de funcionrios por Departamento e Nome, ou por Cargo e
Nome, definindo a ordenao de acordo com a nossa necessidade.
No caso da ordenao por Departamento e Nome funcionaria da seguinte forma: teramos todos os registros ordenados primeiramente por Departamento e, quando tivssemos vrios funcionrios em um mesmo Departamento (vrias coincidncias), esses registros seriam ordenados por Nome.
Resumindo, nesse exemplo teramos os funcionrios ordenados por Departamento, e dentro de cada departamento, ordenados tambm por Nome.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

125

Ordenao de tabelas

Tabela funcs

Cdigo

Nome

Depto

Antonio

Roberto

Viviane

Marcos

Julia

...

Ordenao depto e nome

Depto

Nome

Antonio

Marcos

Julia

Roberto

Viviane

Resumo
Ordenao: forma de ordenar os registros de uma tabela pelo campo desejado sem alterar sua ordem fisicamente.
Usamos uma ordenao para organizar uma tabela de acordo com o processamento em que a utilizaremos.
Uma ordenao pode ser simples (com base em um nico campo) ou
composta (com base em dois ou mais campos).
Quebra: situao em que um campo passa de um valor para outro durante um processamento, onde a tabela encontra-se ordenada por esse mesmo
campo.

126

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

Atividades
Exerccio 1
Temos duas tabelas. A primeira, chamada ARQALU, uma tabela de
alunos e tem o seguinte layout:
 COD (cdigo do aluno)
 MAT (cdigo da matria)
 MED (mdia do aluno na matria)
A segunda chama-se ARQTOT, uma tabela de alunos onde estaro discriminados o nmero de matrias em que o aluno foi aprovado, bem como o
nmero de matrias em que foi reprovado. Essa tabela segue o layout:
 CODALU (cdigo do aluno)
 MATAP (nmero de matrias em que foi aprovado)
 MATRP (nmero de matrias em que foi reprovado)
Utilizar a tabela ARQALU ordenada pela coluna COD e process-la de
forma a gerar as linhas de ARQTOT. Considere o aluno reprovado em uma
matria apenas se a mdia dele nessa matria for inferior a 5.
Exerccio 2
Temos duas tabelas. A primeira, chamada ARQALU, uma tabela de
alunos e tem o seguinte layout:
 COD (cdigo do aluno)
 SEX (sexo do aluno)
 TUR (turma do aluno)
 MAT (cdigo da matria)
 MED (mdia do aluno na matria)
A segunda chama-se ARQTOT, uma tabela de alunos onde estaro discriminados o nmero de matrias em que o aluno foi aprovado, bem como o
nmero de matrias em que foi reprovado. Essa tabela segue o layout:
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

127

Ordenao de tabelas

 CODALU (cdigo do aluno)


 SEX (sexo do aluno)
 MATAP (nmero de matrias em que foi aprovado)
 MATRP (nmero de matrias em que foi reprovado)
Com base nessas informaes, reflita e efetue uma manuteno no fluxo
de forma a implementar as novas determinaes inseridas no sistema.
Utilizar a tabela ARQALU ordenada pela coluna COD e process-la de
forma a gerar os linhas de ARQTOT. Considere o aluno reprovado em uma
matria apenas se a mdia dele nessa matria for inferior a 5 e tambm
apenas aqueles em que SEX= F.

Gabarito
Exerccio 1
INCIO

ALUANT=
APROV=0
REPROV=0

ABRIR ARQALU
(NDICE POR COD)
E ARQTOT
B
LER ARQALU

NO

EOF

SIM

QUEBRA

FECHAR ARQALU,
ARQTOT

FIM

128

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

QUEBRA
NO

ALUANT
=

SIM

CODALU = ALUANT
ALUANT = COD

MATAP = APROV
NO

ALUANT
<>COD

SIM

MATRP = REPROV
QUEBRA

APROV = 0
REPROV=0

GRAVAR
REGISTRO
EM ARQTOT

ALUANT=COD

NO

MED<5

SADA

SIM

REPROV = REPROV + 1

APROV = APROV + 1

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

129

Ordenao de tabelas

Exerccio 2
INCIO

ALUANT=
APROV=0
REPROV=0

ABRIR ARQALU
(NDICE POR COD)
E ARQTOT

B
LER ARQALU

NO

NO

SEX=F

EOF

SIM

SIM

QUEBRA

FECHAR ARQALU,
ARQTOT

FIM

130

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Ordenao de tabelas

QUEBRA
NO

ALUANT
=

SIM

CODALU = ALUANT
ALUANT = COD

MATAP = APROV

NO

ALUANT
<>COD

SIM

MATRP = REPROV
QUEBRA

APROV = 0
REPROV=0

ALUANT=COD

NO

MED<5

GRAVAR
REGISTRO
EM ARQTOT

SADA

SIM

REPROV = REPROV + 1

APROV = APROV + 1

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

131

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de relatrio

Relatrios so consultas apresentadadas em formato de texto direcionado para uma impressora, portanto respeitando suas caractersticas de formatos e desenhos de impresso.
O relatrio bem similar consulta, com algumas excees:
Direcionamento impressora: ao invs de ser apresentado em tela, ele
impresso.
De forma geral, possui cabealho da pgina, cabealho das colunas, detalhe e, por vezes, rodap.
Pode tambm apresentar subtotais e totais gerais, dependendo da finalidade do relatrio.

Elaborando um relatrio
Para que a montagem de um relatrio se torne mais fcil vamos dividi-lo
em cabealho da pgina, cabealho das colunas, detalhe, rodap do detalhe
e rodap.
Cabealho
da pgina
Cabealho
das colunas

Detalhe

Rodap do
detalhe
Rodap

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de relatrio

Entendendo cada parte do relatrio


Cabealho da pgina
onde definimos o ttulo que ser impresso em cada uma das pginas
do relatrio.

Cabealho das colunas


No cabealho das colunas colocaremos o ttulo de cada coluna de dados
do relatrio, ou seja, identificamos o que ser impresso.

Detalhe
O detalhe a principal parte de um relatrio, onde estaro os registros
selecionados para impresso (um por linha). No detalhe tambm podemos
organizar os dados para que sejam impressos por grupo. Dessa forma, podemos acrescentar subtotais.

Rodap do detalhe
Local onde colocamos os subtotais das quebras (grupos).

Rodap
Aqui, onde definimos um rodap para o relatrio. No rodap costume
se colocar a data e hora em que o relatrio foi impresso.

Usando quebras em relatrios


Quebra em relatrios um conceito importante e bastante utilizado para
a determinao de subtotais e totais gerais. Assim, a cada quebra, costume
de forma geral termos um subtotal de um determinado valor.
Dessa forma, o conceito de quebra permanece vlido tambm para relatrios.

134

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de relatrio

Uma vez que o relatrio deva apresentar subtotais por quebra, por
motivo de consistncia, os dados da tabela devero ser colocados na ordem
da coluna que ser utilizada para quebra. Assim, sero utilizados quebra e
ordenao pelo(s) mesmo(s) campo(s).
Para determinar a quebra, usamos o mesmo procedimento. Usamos variveis para guardar os dados da ltima linha impressa. Caso os dados da nova
linha, ao serem comparados aos da anterior, impliquem em uma quebra,
ento realizamos totalizaes, clculos e outras operaes, de acordo com
a nossa necessidade.

Exemplo prtico
Imagine uma tabela de funcionrios chamada TAB_FUNC com os campos
COD (cdigo), NOME, SAL (salrio), DEPTO (departamento) e CARGO.
Deseja-se um relatrio de funcionrios com quebra por cargo, seguindo
o layout abaixo:
Cabealho
da pgina
Cabealho
das colunas

RELATRIO DE FUNCIONRIOS POR CARGO


CARGO

NOME

SALRIO

Detalhe

Rodap do
detalhe
Rodap

TOTAL DO CARGO
DATA: 99/99/9999

HORA: 99:99 hs

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

135

Conceito de relatrio

INCIO

CARGO_ANT=
SAL, CARGO = 0

ABRIR TAB FUNC


(order by CARGO)
A
LER REGISTRO

NO

EOF?

SIM

CABEALHO
IMPRIMIR
(SAL_CARGO)
NO

CARGO ANT
=

SIM

CARGO_ANT
= CARGO

IMPRIMIR
(RODAP)

FECHAR
TAB_FUNC
NO

CARGO <>
CARGO_ANT

SIM

QUEBRA

FIM

DETALHE

136

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de relatrio

CABEALHO

NO

LIMITE DE
PGINA

SIM

SALTAR
PGINA

IMPRIMIR
CABEALHO
DE PGINA

IMPRIMIR
CABEALHO
DAS COLUNAS

SADA

Na sub-rotina do cabealho devemos colocar uma condio (LIMITE DE


PGINA) para verificar quando necessrio que a impressora pegue uma
nova folha. Sendo que o limite da pgina deve considerar os rodaps.
QUEBRA

DETALHE

IMPRIMIR
(SAL_CARGO)

IMPRIMIR
REGISTRO

SAL_CARGO=0

SAL_CARGO=
SAL_CARGO +SAL

CARGO_ANT=CARGO

SADA

SADA
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

137

Conceito de relatrio

Na sub-rotina da quebra estamos imprimindo o rodap do detalhe, que


indicado com a varivel entre parnteses.

Atividades
Exerccio 1
Desenvolver um programa que imprima os materiais para compra, sendo
estes todos os que tiverem a quantidade atual em estoque inferior ou igual
quantidade mnima a ser mantida em estoque. Para isso utilizaremos a tabela
TAB_MAT com o layout: COD (cdigo do material), DESC (descrio), QTD
(quantidade atual em estoque), UNIT (preo unitrio), QTD_MIN (quantidade mnima em estoque o chamado ponto de compra) e UNID (unidade
de medida).
O relatrio dever seguir o seguinte layout:
Cabealho
da pgina
Cabealho
das colunas

RELAO DE MATERIAIS PARA COMPRA


CDIGO

DESCRIO

QTDE. ATUAL

Detalhe

Rodap

DATA: 99/99/9999

HORA: 99:99 hs

Nesse relatrio no ser necessrio imprimir o rodap do detalhe.

138

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de relatrio

Exerccio 2
Desenvolver um programa que liste os alunos por curso informando
um total de quantos alunos h em cada curso, bem como um total geral
de alunos. Para isso, utilizaremos a tabela TAB_ALU com o layout: CURSO
(cdigo do curso), NOME (nome do curso), NOMEALU (nome do aluno) e
SALA.
O relatrio dever seguir o seguinte layout:
Cabealho
da pgina
Cabealho
das colunas

RELAO DE ALUNOS POR CURSO


CURSO

NOME DO ALUNO

SALA

Detalhe

Rodap do
detalhe

TOTAL DE ALUNOS:

Rodap

TOTAL GERAL:

99/99/9999

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

139

Conceito de relatrio

Gabarito
Exerccio 1
INCIO
ABRIR
TAB_MAT
(NDICE POR
DESC)
A
LER
REGISTRO

NO

SIM

EOF?

IMPRIMIR
RODAP
CABEALHO

NO

QTD < =
QTD_MIN

FECHAR
TAB MAT

SIM

FIM

IMPRIMIR
REGISTRO

CABEALHO
NO

LIMITE DE
PGINA

SIM
SALTAR
PGINA
IMPRIMIR
CABEALHO
DE PGINA
IMPRIMIR
CABEALHO
DAS COLUNAS

SADA
140

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Conceito de relatrio

Exerccio 2
INCIO
CURSO_ANT=
TOT_ALU = 0
TOT_GERAL = 0

ABRIR TAB_ALU
(order by CURSO)
A

LER REGISTRO

NO

EOF?

SUBTOTAL

CABEALHO

NO

CURSO_ANT =

SIM

IMPRIMIR
RODAP

SIM

CURSO_ANT = CURSO
FECHAR
TAB_ALU
NO

CURSO<>
CURSO ANT

SIM

SUBTOTAL

FIM

TOT_ALU = 0
CURSO_ANT = CURSO

DETALHE

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

141

Conceito de relatrio
SUBTOTAL

CABEALHO
NO

LIMITE DE
PGINA

IMPRIMIR
(TOT_ALU)

SIM
SALTAR
PGINA
IMPRIMIR
CABEALHO
DE PGINA
IMPRIMIR
CABEALHO
DAS COLUNAS

SADA

TOT_GERAL =
TOT_GERAL +
TOT_ALU
SADA

DETALHE

IMPRIMIR
REGISTRO

TOT_ALU = TOT_ALU+1

SADA

142

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Sistemas de informao
nas empresas

As empresas cada vez mais enfrentam a concorrncia, de forma que todo


o sistema tem se tornado muito complexo, em uma evoluo constante. Para
competir e sobreviver, cada empresa tem sido obrigada a tomar decises
cada vez mais rpidas e eficazes. E na busca de conseguir atingir esse objetivo, as empresas precisam acessar mais rapidamente e com maior flexibilidade todas as informaes distribudas pela organizao.
Nesse cenrio, onde h a necessidade de facilidade de acesso s informaes, surgiu a necessidade de se criar Sistemas de Informao que fornecessem esses dados de forma mais rpida e a um menor custo; que o uso
do software se tornasse mais intuitivo (agilizando tambm a entrada de informaes no sistema); que qualquer eventual manuteno nesse software
fosse bem mais rpida e gil, bem como esse sistema fosse mais confivel,
garantindo a segurana dos dados.
Para atingir esses objetivos, as empresas vm utilizando uma srie de tcnicas e ferramentas, a saber:
 Arquitetura cliente/servidor: Temos um servidor (contendo a base
de dados e eventuais aplicativos e sistemas), que acessado por vrios
usurios, cada um em sua estao cliente.
 Ferramentas CASE: Srie de ferramentas que ajudam a agilizar os processos de projeto derivados da anlise (Ex.: Visio, Poseidon).
 Programao visual: Onde o aplicativo ou sistema final tem uma aparncia grfica, fcil e intuitiva (Ex.: Visual Studio .Net).
 Geradores de cdigo: A fim de facilitar a programao, existem, para
algumas linguagens, geradores automticos de cdigo, agilizando a
programao.
 Orientao a objetos: Um aplicativo grfico (padro Windows) disposto em janelas, que contm, cada uma, diversos outros elementos,
como botes, labels (textos), caixas de texto, caixas de listagem contendo diversos valores, entre outros elementos. Esses elementos so
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

Sistemas de informao nas empresas

os chamados objetos, cada um com a sua finalidade, e com os quais o


usurio interage diretamente, com o auxlio do mouse. O cdigo executado corresponder a cada ao do usurio sobre cada um desses
objetos. A isso chamamos orientao a objetos.
 Biblioteca de classes de objetos: Cada objeto (seguindo a mesma
ideia anterior) possui determinadas funcionalidades e particularidades
que o distingue dos demais. Assim, cada objeto pertence a uma classe,
dependendo de suas caractersticas e funes. Biblioteca de classes
uma coleo dessas classes de objetos.
Neste captulo, abordaremos a orientao a objetos, o conceito mais
avanado em programao.

A programao orientada a objetos


A OOP (Object Oriented Programming) como conhecida, lida com o
conceito de programao modular (onde o cdigo dividido em diversas
outras partes, cada uma com um objetivo diferente) e o fornecimento de
todo um suporte que facilita a manuteno desses mdulos.
Como citado anteriormente, usando orientao a objetos, teramos um
aplicativo grfico (padro Windows) disposto em janelas, cada uma contendo diversos outros elementos, como botes, labels (textos), caixas de texto,
caixas de listagem contendo diversos valores, entre outros. Esses elementos
so os chamados objetos, cada um com a sua finalidade, e com os quais o
usurio interage diretamente, com o auxlio do mouse. Como nunca sabemos onde o usurio ir clicar com o mouse ou qual ao ir tomar em relao
ao objeto, o cdigo de manipulao e processamento fica atrelado a cada
objeto, para que, uma vez selecionado, o cdigo correspondente seja ativado. Assim, o objeto no contm apenas dados e caractersticas, mas o cdigo
das possveis aes do usurio sobre ele tambm.
Por exemplo, um boto OK na janela. O boto um objeto que tem sua
prpria funcionalidade e caractersticas. Suponhamos que, caso selecionado pelo usurio, queremos realizar uma srie de instrues de gravao.
Assim, a seleo do boto seria o clique do mouse sobre este. Essa ao (o
clique do mouse) que desencadearia a gravao. Dessa forma, incorporado ao objeto boto, deixamos tambm esse cdigo, para que seja realizado
quando o boto for pressionado.
146

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Sistemas de informao nas empresas

Os objetos, dependendo da sua funcionalidade e de suas caractersticas,


so enquadrados em uma determinada classe.
Uma classe descreve as caractersticas de objetos similares, que compartilham comportamento e estrutura em comum.
Essas classes ficam todas em uma biblioteca. Assim, um objeto pode ser
reutilizado em diferentes aplicativos.
Da mesma forma, podemos tambm reutilizar o cdigo que criamos para
a aplicao.
Alm de objetos e de classes de objetos, na OOP, temos alguns outros
conceitos envolvidos. Veremos agora o que so propriedades, mtodos e
eventos. Posteriormente, complementaremos esses conceitos com alguns
outros recursos.

Propriedades
Definem a aparncia e caractersticas de um objeto. Um objeto, por exemplo, ocupa uma determinada posio, possui um nome, apresenta eventualmente algum texto e assim por diante.
Outras propriedades seriam, por exemplo, cor, tipo e tamanho da fonte.
Essas propriedades, de forma geral, podem ser definidas em tempo de
projeto (quando ainda a tela e o programa esto sendo elaborados) ou ainda,
durante tempo de execuo, atravs de comandos semelhantes a estes:
<NomeObjeto>.<Propriedade> = <Valor>
ou
<NomeVarivel> = <NomeObjeto>.<Propriedade>
Outros objetos podem possuir tambm propriedades que estejam disponveis apenas em tempo de execuo.

Mtodos
Mtodos so rotinas internas de um objeto, ou seja, incorporadas a ele,
que servem exclusivamente para manipul-lo.
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

147

Sistemas de informao nas empresas

Se um aplicativo for composto por vrias janelas a cada janela, chamamos formulrio podemos, por exemplo, a um determinado ponto do processamento, exibir outra dessas janelas. Para isso, usaramos o mtodo show
do formulrio.
Um mtodo, dependendo da sua funcionalidade, pode alterar, em decorrncia de sua execuo, algumas das propriedades do objeto ao qual est incorporado. Por exemplo, um mtodo que limpa o texto de uma caixa, altera
uma de suas propriedades.
Internamente, um mtodo pode ou no retornar um valor como resultado. Se retornar um valor, esse mtodo ser internamente uma funo; caso
contrrio, ser uma procedure.
Dessa forma, um mtodo um programa, uma rotina, e possui internamente vrias instrues. Uma vez executado o mtodo, todas essas instrues sero realizadas automaticamente.
Para entender melhor o funcionamento de um mtodo, tome por exemplo
a ao de ligar o seu carro, o mtodo poderia se chamar LigaCarro. Quando
executado esse mtodo, o carro ser ligado. Porm, veja que, para o carro ser
ligado, alguns procedimentos foram executados implicitamente, como injeo de combustvel dentro do cilindro, a fasca da vela, entre outros. Ao invs
de executarmos cada tarefa independentemente, foi utilizado um mtodo
simples que realiza todas essas tarefas automaticamente.

Eventos
Um evento a ao que um objeto pode realizar. Pressionando o boto do
mouse sobre um certo objeto da tela, o usurio estar disparando eventos.
O clique do mouse sobre um boto dispara o evento correspondente,
que um cdigo executado quando essa situao ocorre.
Quando um objeto criado, fechado ou carregado, um evento correspondente tambm pode ser ativado.
Vrios objetos podem ter os mesmos eventos, mas isso no significa que
ir ocorrer a mesma coisa.
Por exemplo, tanto um aparelho de TV quanto um aspirador de p, possuem o boto para lig-los, mas quando apertamos esse boto (executamos
148

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Sistemas de informao nas empresas

um evento), o resultado obtido diferente, ou seja, o mtodo executado


pela ao que causamos no o mesmo.

Recursos bsicos da
linguagem orientada a objeto
Existem linguagens orientadas a objetos e outras que so apenas baseadas em objetos.
Para uma linguagem ser considerada realmente orientada a objeto, ela
deve suportar cinco recursos bsicos : abstrao, encapsulao, herana , polimorfismo e agregao.
Uma linguagem baseada em objetos j no possui esses quatro recursos,
mas apenas parte deles. Assim sendo, ela no uma linguagem realmente
orientada a objetos.

Abstrao
Abstrao refere-se habilidade da linguagem para modelar o mundo
real. exatamente o que tentamos fazer na criao de um programa: representar no computador algo que acontea no mundo real.
Por exemplo: Uma locadora que possui o cadastro dos filmes feito em
fichas e guardado em arquivos de ferro. Ao se fazer alguma consulta, perde-se muito tempo.
Como resolver esse problema?
Utilizando as ferramentas corretas podemos desenvolver um sistema que
seja capaz de controlar no s a consulta dos filmes, mas sim a incluso, alterao, excluso, locao e cadastro de clientes, em um tempo bem menor e
com muito mais segurana.

Encapsulamento
Encapsulamento requer que todo o mdulo de programa seja to autocontido quanto possvel e no hajam efeitos colaterais sobre outros mdulos. A meta aqui criar mdulos (objetos) que possam ser utilizados onde
for apropriado, sem ter que se preocupar quanto a requisitos especiais ou
Este material parte integrante do acervo do IESDE BRASIL S.A.,
mais informaes www.iesde.com.br

149

Sistemas de informao nas empresas

efeitos colaterais. Por exemplo, voc no quer que sua lavadora de pratos
seja ligada sempre que voc ligar seu videocassete.
Se a linguagem suporta encapsulamento, funo do programador utiliz-la corretamente isso no automtico. Assim, por exemplo, se voc
alterou alguma caracterstica ou propriedade de um objeto, deve guardar
suas definies originais no comeo da rotina para restaur-las ao final do
processamento desta. Isso facilita a reutilizao de cdigo.
Outro fator a considerar na reutilizao de cdigo que cada cdigo
tenha especificamente uma finalidade nica. Se, por exemplo, voc juntar
vrios clculos em uma nica rotina, esta ser mais difcil de ser reaproveitada, j que nem sempre voc precisar de todos esses clculos, bem como
ser difcil lembrar a ordem em que eles se encontram. Se, no entanto, cada
clculo estiver contido em uma rotina diferente, a reutilizao de cada uma
delas ser bem mais fcil.

Herana
Refere-se habilidade de um objeto herdar as caractersticas gerais de
outro objeto, bem como a capacidade de adicionar capacidades especficas
a esse objeto (alm das herdadas).
Herana permite que voc reutilize cdigo em comum, reduzindo assim a
quantidade de cdigo escrito.
Vejamos um exemplo de herana no mundo real. Digamos que voc queira
criar um furgo e um carro esporte zero. Construir cada um do zero, ou seja, do
comeo, significa que voc ter que reproduzir muitas das caractersticas redundantes, tais como rodas, janelas, entre outras. Seria mais eficiente construir
uma classe bsica de carro que inclusse todas as coisas que o furgo e o carro
esporte tm em comum e, ento, herdar da classe carro bsica e adicionar caractersticas especficas que voc precisa para cada tipo.
A razo para essa capacidade ser to importante em linguagem de programao que o mundo real feito de objetos que se encaixam em uma
hierarquia. A razo pela qual carros bsicos, furges e carros esporte foram

150

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Sistemas de informao nas empresas

escolhidos para o exemplo citado, porque essa a forma que os humanos caracterizam classes do mundo real. Quanto mais voc pensa sobre isso,
mais voc percebe que o mundo real repleto de objetos, e uma linguagem
de programao orientada a objetos uma forma de nos aproximarmos do
modelo de objetos do mundo real.

Polimorfismo
Polimorfismo a capacidade de dois objetos relacionados, mas diferentes
um do outro, comportarem-se de diversas maneiras diferentes, e at mesmo
de um funcionar como o outro.
Um exemplo de polimorfismo seria um moedor de carne e um liquidificador.

Agregao
Agregao representa um relacionamento entre classes de objetos. Onde
um objeto pode ser composto por outros objetos. Para identificarmos uma
agregao podemos usar as palavras: consiste de, faz parte de, contm.
Por exemplo, um carro: consiste de rodas, contm motor, chassis, caixa de
cmbio, entre outros.

Resumo
Uma linguagem orientada a objeto formada por:
 Objetos (com propriedades, mtodos e eventos).
 Classes de objetos.
 Recursos abstrao, encapsulamento, herana, polimorfismo e agregao.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

151

Sistemas de informao nas empresas

Atividades
1. O que arquitetura cliente/servidor?
2. O que linguagem de programao orientada a objetos?
3. O que mtodo em linguagem de programao orientada a objetos?
4. O que herana em linguagem orientada a objetos?
5. O que um gerador de cdigo?

Gabarito
1. um tipo de arquitetura em computao muito utilizado pelas empresas, onde os dados ficam centralizados em um equipamento central na rede: o servidor que atende s requisies de dados e servios
de toda a rede a ele conectado, os chamados clientes.

A vantagem e sucesso dessa arquitetura devem-se ao fato de os dados


centralizados em servidores serem mais fceis de manter, atualizar e
prover sua segurana.

2. um tipo de programao voltada ao desenvolvimento de sistemas


que permite aos cdigos dos programas serem reaproveitados em vrios programas pois so agrupados em objetos e classes. Dessa forma
so criados vrios tipos de bibliotecas de componentes prontos que
do agilidade e facilitam o desenvolvimento e a manuteno futura
dos sistemas.
3. So

as caractersticas de funcionalidade individuais de cada objeto.
4. uma das caractersticas de sucesso desse tipo de programao. Para
criar um novo objeto podemos copiar suas caractersticas de outro
objeto j existente, complementando com outras especficas, criando
assim um novo objeto para a biblioteca.

152

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Sistemas de informao nas empresas

5. So ferramentas de desenvolvimento que substituem o ato de codificar programas manualmente. Elas utilizam um ambiente visual amigvel do Windows e de forma construtiva operada pelo programador,
passando a gerar automaticamente o cdigo do programa na linguagem desejada. Alm da velocidade maior no desenvolvimento, destaca-se pela capacidade de documentar todo o processo, facilitando a
manuteno futura de sistemas nele baseados.

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

153

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Anexo

Simbologia de fluxogramas
TERMINAL
Utilizado para indicar incio e final (ou sada) de um programa
ou subrotina (programa acionado por um outro).

CONECTOR
Usado para os casos onde o fluxo
muito grande ou se faz necessrio particion-lo. Assim, colocamos o conector e, dentro deste,
uma letra. Quando reiniciamos
o fluxo, incluimos um conector
igual com a mesma letra, indicando onde este prossegue.

SETAS DE FLUXO DE DADOS


Indica o sentido do fluxo de dados e responsvel por ligar os
demais smbolos utilizados.

CONECTOR DE PGINA
Usado no mesmo caso anterior,
diferenciando-se apenas por
parte do fluxo ficar em uma pgina e parte em outra.

PROCESSO
Representa uma ao. Exemplos: atribuio de valores a variveis, clculos quaisquer, entre
outros.

PROCESSO PREDEFINIDO
a chamada de um outro programa, seja este uma sub-rotina ou uma funo (esta ltima
semelhante sub-rotina, porm retorna um valor ao programa que a acionou).

DECISO
til em situaes onde se faz
necessria uma comparao,
uma verificao ou ainda uma
tomada de deciso. Essas decises (como denominaremos)
retomam valores verdadeiros
ou falsos, realizando algumas
operaes especficas de acordo
com esse valor.

ENTRADA/SADA DE DADOS
Indica operaes de leitura ou
gravao de dados em tabelas,
bem como alguma operao
em impressora.

TECLADO
Representa a entrada de dados
pelo teclado.

ABERTURA/FECHAMENTO DE
TABELAS
Prepara uma tabela para processamento ou a fecha para encerrar a sua manipulao.

DISPLAY
Representa a exibio de dados
em tela (ou monitor).

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Anotaes

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Anotaes

158

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Anotaes

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

159

Este material parte integrante do acervo do IESDE BRASIL S.A.,


mais informaes www.iesde.com.br

Você também pode gostar