Apostila Logica

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 53

Modulo: Lógica de Programação

Lógica de Programação

Modulo: Lógica de Programação

_________________________________
1
Modulo: Lógica de Programação

Índice

1 INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ............................................................ 4 

1.1 LÓGICA ........................................................................................................................................... 4 


1.2 INSTRUÇÕES E SEQÜÊNCIA LÓGICA......................................................................................... 4 
1.3 ALGORITMO ................................................................................................................................... 5 

2 DESENVOLVENDO ALGORITMOS....................................................................................... 6 

2.1 FORMAS PARA REPRESENTAR ALGORITMOS .......................................................................... 6 


2.2 REGRAS PARA CONSTRUÇÃO DO ALGORITMO........................................................................ 7 
2.3 MÉTODO PARA CONSTRUÇÃO DE ALGORITMOS ...................................................................... 8 
P1 ............................................................................................................................................................ 8 
P2 ............................................................................................................................................................ 8 
P3 ............................................................................................................................................................ 8 
P4 ............................................................................................................................................................ 8 
MEDIA-FINAL ........................................................................................................................................ 8 
ALUNO 1 ................................................................................................................................................. 8 
ALUNO 2 ................................................................................................................................................. 8 
ALUNO 3 ................................................................................................................................................. 8 
ALUNO 4 ................................................................................................................................................. 8 
2.4 EXERCÍCIOS ................................................................................................................................... 9 

3 DIAGRAMA DE BLOCOS ........................................................................................................ 11 

3.1 O QUE É DIAGRAMA DE BLOCOS ............................................................................................. 11 


3.2 SIMBOLOGIA .................................................................................................................................... 11 
3.3 EXERCÍCIOS ................................................................................................................................. 13 

4 DADOS E TIPOS DE DADOS ................................................................................................ 14 

4.1 DADOS .......................................................................................................................................... 14 


4.2 CONSTANTES ............................................................................................................................... 14 
4.3 VARIÁVEIS ................................................................................................................................... 14 
4.4 TIPOS DE VARIÁVEIS ................................................................................................................ 15 
4.5 EXERCÍCIOS ................................................................................................................................. 15 

5 OPERADORES ............................................................................................................................. 18 

5.1 OPERADORES ARITMÉTICOS .................................................................................................... 18 


5.2 OPERADORES RELACIONAIS .................................................................................................... 19 
5.3 OPERADORES LÓGICOS ............................................................................................................. 19 
5.4 EXERCÍCIOS ................................................................................................................................. 22 

6 OPERAÇÃO LÓGICA E ESTRUTURA DE DECISÃO E REPETIÇÃO .................... 25 

6.1 ESTRUTURA DE DECISÃO: SE .................................................................................................. 25 


6.2 ESTRUTURA DE DECISÃO: SE/SENÃO................................................................................ 26 

_________________________________
2
Modulo: Lógica de Programação

6.3 COMANDO DE DECISÃO: AVALIE / QUANDO ................................................................. 28 


6.4 EXERCÍCIOS ................................................................................................................................. 29 
6.5 ESTRUTURA DE REPETIÇÕES DEFINIDAS.............................................................................. 31 
6.6 ESTRUTURA DE REPETIÇÕES INDEFINIDAS ......................................................................... 32 
EXEMPLO DO ALGORITMO DE ELEVAR AO CUBO: ......................................................................... 32 
6.7 EXERCÍCIOS ................................................................................................................................. 33 

7 ARQUIVOS DE DADOS ........................................................................................................... 40 

7.1 CONCEITOS BÁSICOS ................................................................................................................ 40 


7.2 ABERTURA DE ARQUIVOS ......................................................................................................... 41 
7.3 FECHAMENTOS DE ARQUIVOS.................................................................................................. 41 
7.4 LEITURA DE ARQUIVOS ............................................................................................................. 41 
7.5 GRAVAÇÃO DE ARQUIVOS ........................................................................................................ 43 
7.6 MACRO-FLUXO ............................................................................................................................ 45 

8 RELATÓRIOS ............................................................................................................................... 48 

8.1 CARACTERÍSTICAS DO FORMULÁRIO ..................................................................................... 48 


8.2 CONTROLE DE LINHAS, NUMERAÇÃO E SALTO DE PAGINAS ............................................. 48 
8.3 IMPRESSÃO DE CABEÇALHO E ESTÉTICA DE PÁGINA ......................................................... 49 
8.4 DIAGRAMA DE BLOCOS ESTRUTURADO PARA IMPRESSÃO DE RELATÓRIO............. 50 
8.5 EXERCÍCIOS ................................................................................................................................. 51 
8.6 FLUXO E DESCRIÇÃO DO PROCESSAMENTO ........................................................................... 52 

9 RESUMO DA SIMBOLOGIA ......................................................................................................... 53 

_________________________________
3
Modulo: Lógica de Programação

1 Introdução à Lógica de Programação


A Lógica de programação e a utilização de algoritmos são a
estrutura básica para o desenvolvimento de programas, mas ela é
construída sem nenhum vinculo a nenhuma linguagem de programação.
Sendo assim, tudo o que a Lógica de Programação e a construção de
algoritmos desenvolvem vale para a construção de qualquer programa em
qualquer linguagem de programação.
 Neste modulo, porém, vocês aprenderão as técnicas da Lógica de
Programação para aplicar na programação COBOL.

1.1 Lógica
O objetivo da lógica de programação é exercitar os métodos de
raciocínio e elaborar soluções coerentes para determinados problemas,
utilizando-se estruturas básicas de programação, construção e
representação de algoritmos para posterior codificação em linguagens de
programação.
 Lógica de programação é a técnica de encadear comandos, em
uma seqüência de instruções que deve ser obedecida, para atingir
determinado objetivo.

1.2 Instruções e Seqüência Lógica


Na linguagem comum, entende-se pôr instruções “um conjunto de
regras ou normas definidas para a realização ou emprego de algo”. Em
informática:
 Instrução é um comando que indica ao computador uma ação
elementar a executar.
Convém ressaltar que uma ordem isolada não permite realizar o
processo completo. Para isso é necessário um conjunto de instruções
colocadas numa ordem seqüencialmente lógica. Por exemplo, se
quisermos fazer batata frita, precisaremos colocar em prática uma série de
instruções: descascar as batatas, cortá-las, fritá-las, etc.
É evidente que essas instruções devem ser executadas em uma
ordem adequada – não se podem fritar as batatas e depois descascá-las.
Da mesma maneira, uma instrução tomada em separado não tem muito
sentido: Para obtermos o resultado, precisamos colocar em prática o
conjunto de todas as instruções na ordem correta, ou seja, numa
seqüência lógica.
Seqüência Lógica são os passos executados em uma ordem
correta até atingir um objetivo ou solução de um problema.

_________________________________
4
Modulo: Lógica de Programação

1.3 Algoritmo
Construir algoritmos é a base fundamental de toda a programação.
Um algoritmo é uma seqüência finita de passos, ordenados de forma
lógica, que levam a execução de uma tarefa.
Mesmo sem perceber, utilizamos algoritmo no nosso dia-a-dia
como, por exemplo, para executar uma receita culinária, trocar um pneu
furado ou trocar uma lâmpada.
Os algoritmos também estão presentes na especificação de tarefas
que devem ser repetidas sempre da mesma forma. Para automatizar uma
tarefa, é fundamental descrever seus passos de forma detalhada e clara,
para que qualquer um que venha a executá-la saiba exatamente o que
fazer. Assim, se uma indústria precisa que uma tarefa seja automatizada,
deve descrevê-la através de um algoritmo. Este algoritmo poderá ser lido
por um operário ou transformado em programa para uma máquina.
Os programas de computadores também são construídos a partir de
algoritmos, pois um programa é um algoritmo escrito em uma linguagem
computacional.

 Um algoritmo é formalmente uma seqüência finita de passos que


levam a execução de uma tarefa.

_________________________________
5
Modulo: Lógica de Programação

2 Desenvolvendo Algoritmos
Como já vimos, algoritmo é uma seqüência finita de passos que
levam a execução de uma tarefa. Então podemos pensar em algoritmo
como uma receita, uma seqüência de instruções que dão cabo de uma
meta específica. Estas tarefas não podem ser redundantes nem
subjetivas na sua definição, devem ser claras e precisas. Como
exemplo de algoritmos podemos citar os algoritmos das operações básicas
(adição, multiplicação, divisão e subtração) de números reais decimais.
Outros exemplos seriam os manuais de aparelhos eletrônicos, que
explicam passo-a-passo como ligá-los, e utilizá-los. Até mesmo as coisas
mais simples, podem ser descritas pôr seqüências lógicas. Por exemplo:

“Somar dois números quaisquer”.


 Escreva o primeiro número no retângulo A.
 Escreva o segundo número no retângulo B.
 Some o número do retângulo A com número do retângulo B
e coloque o resultado no retângulo C.

A B C
+ =

2.1 Formas para Representar Algoritmos


Existem várias formas de se representar um algoritmo. A primeira é
escrevê-lo através da linguagem natural que usamos no dia-a-dia. Esta
maneira, porém, pode levar a muitas ambigüidades, como na instrução
"Afrouxar ligeiramente as porcas". Uns poderão afrouxar mais e outros
menos.
Outra forma de se representar os algoritmos são os Diagrama de
Bloco, que usam formas geométricas diferentes para as diversas ações.
Este método é bastante popular pela sua facilidade de compreensão, mas
é um pouco limitado, preocupando-se muito com detalhes de nível físico
da implementação do algoritmo.
A terceira forma chama-se de pseudocódigo. Esta forma de
representação de um algoritmo assemelha-se muito à forma com que os
programas são escritos e consiste na descrição dos passos do algoritmo
através de frases construídas usando nossa linguagem natural com uma
sintaxe bem definida. Assim, consegue-se uma descrição do algoritmo
livre de ambigüidades e com uma estrutura bastante flexível e completa,
onde todos os elementos estão representados. Alem disso, o pseudocódigo
é a primeira aproximação da programação real de computador, bastando
somente traduzir as frases escritas em português por comandos Cobol, por
exemplo.

_________________________________
6
Modulo: Lógica de Programação

2.2 Regras para Construção do Algoritmo


Ao montar um algoritmo é preciso dividir o problema apresentado
em três fases fundamentais:

ENTRADA PROCESSAMENTO SAÍDA

 ENTRADA: são os procedimentos de aquisição dos dados de


entrada do algoritmo.
 PROCESSAMENTO: são os procedimentos utilizados para atingir o
resultado final (operações, comparações, etc.).
 SAÍDA: envolve a apresentação dos dados já processados
(resultado).
Além disso, temos de lembrar que:
1º) a ordem das instruções é importante;
2º) não existe processamento sem entrada de dados;
3º) tem de haver saída de dados;
4º) o número de passos (instruções) é finito e sempre chega ao
fim.
Ex: Imagine o seguinte problema: calcular a média final dos alunos
da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4.
Onde:
Média Final = P1 + P2 + P3 + P4

4
Para montar o algoritmo proposto, faremos três perguntas:
1) Quais são os dados de entrada?
Resposta:_____________________________________
2) Qual será o processamento a ser utilizado?
Resposta:______________________________________
3) Quais serão os dados de saída?
Resposta:______________________________________
Algoritmo
Receba a nota da prova1 em P1
Receba a nota de prova2 em P2
Receba a nota de prova3 em P3
Receba a nota da prova4 em P4
Some P1, P2, P3 e P4 e divida o resultado por 4
Coloque o resultado em Media-Final
Mostre Media-Final
Fim do Algoritmo

_________________________________
7
Modulo: Lógica de Programação

2.3 Método para construção de algoritmos


A construção de um algoritmo é um procedimento bastante
particular de cada pessoa, pois envolve o raciocínio de cada indivíduo,
suas experiências anteriores, seus hábitos e sua criatividade.
O mesmo problema apresentado a um grupo de pessoas,
provavelmente terá soluções completamente diversas, apesar de todas
funcionarem.
Mesmo assim, há algumas dicas que podem ajudar na organização
do raciocínio no momento da elaboração de um algoritmo:
 Ler atentamente o enunciado é justamente o enunciado do exercício
que fornece o encaminhamento necessário à resolução do problema e
que se torna, portanto, dependente de sua completa compreensão;
 Retirar do enunciado a relação das entradas de dados através do
enunciado podemos descobrir quais são os dados que devem ser
fornecidos, a partir dos quais desenvolveremos os cálculos;
 Retirar do enunciado a relação das saídas de dados através do
enunciado podemos descobrir quais são os dados que devem ser
emitidos para compor o resultado final, objetivo do algoritmo;
 Determinar o que deve ser feito para transformar as entradas
determinadas nas saídas especificadas. Nesta fase é que teremos a
construção do algoritmo propriamente dito, pois, a partir de alguns
requisitos especificados, devemos determinar qual seqüência de ações é
capaz de transformar o conjunto definido de dados nas informações de
resultado.
 Testar (executar) o algoritmo - implica em simular todos os passos
do algoritmo, obedecendo a ordem das instruções, a fim de verificar se
os resultados obtidos correspondem ao esperado na montagem do
algoritmo, bem como detectar algum possível erro no desenvolvimento
deste. Essa atividade é conhecida pôr “teste de mesa”. Por exemplo,
para testar o algoritmo acima, use esta tabela:

P1 P2 P3 P4 Media-
Final

Aluno 1

Aluno 2

Aluno 3

Aluno 4

_________________________________
8
Modulo: Lógica de Programação

2.4 Exercícios
1) Especifique as ações necessárias para mover três disco de uma Torre de
Hanói, que consiste de três hastes (a - b - c), uma das quais serve de
suporte para três discos de tamanhos diferentes (1 - 2 - 3 ), os menores
sobre os maiores. Pode-se mover um disco de cada vez para qualquer
haste, contanto que nunca seja colocado um disco maior sobre um menor.
O objetivo é transferir os três discos para outra haste.

a b c

_________________________________
9
Modulo: Lógica de Programação

2) Você tem 8 bolas de bilhar. Todas, exceto uma, têm o mesmo peso e
você precisa descobrir qual a mais pesada. Para isto você deve utilizar
uma balança de pratos.

3) Você tem cinco frascos de comprimidos. Todos os comprimidos de um


único frasco estão "contaminados". Só é possível descobrir os comprimidos
contaminados pelo peso. O comprimido normal pesa 10 gramas; o
comprimido contaminado, 9 gramas. Você recebe uma balança com escala
e só pode fazer uma pesagem. Como descobrir qual o frasco contaminado?

_________________________________
10
Modulo: Lógica de Programação

3 Diagrama de Blocos

3.1 O que é Diagrama de Blocos


O diagrama de blocos é uma forma gráfica padronizada e eficaz
para representar os passos lógicos de um determinado processamento.
Com o diagrama representamos o algoritmo como uma seqüência de
símbolos, com significado bem definido.
 A principal função, do Diagrama de Blocos é a de facilitar a
visualização dos passos de um processamento.

3.2 Simbologia
TERMINAL

Indica o INÍCIO ou FIM de um processamento

Exemplo: Início do algoritmo

PROCESSAMENTO

Processamento em geral

Exemplo: Calculo de dois números

ENTRADA DE DADO MANUAL

Indica entrada de dados através do Teclado

Exemplo: Digite a nota da prova 1

EXIBIR

Mostra informações ou resultados

Exemplo: Mostre o resultado do calculo

PROCESSAMENTO PRE-DEFINIDO Processamento Estruturado

Exemplo: EXECUTAR CALCULAR-SALDO

_________________________________
11
Modulo: Lógica de Programação

Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não
conseguem transmitir a informação completa. Veja no exemplo a seguir:

“CALCULAR A MÉDIA DE 4 NOTAS”


INICIO

N1

N2

N3

N4

CALCULAR MEDIA =
(N1+N2+N3+N4) / 4

MEDIA

FIM

_________________________________
12
Modulo: Lógica de Programação

3.3 Exercícios
1) Construa um diagrama de blocos que :
o Leia a cotação do dólar
o Leia uma quantidade de dólares
o Converta o valor destes dólares para Real
o Mostre o resultado

2) Desenvolva um diagrama de blocos que:


o Leia 4 números
o Calcule o quadrado para cada um
o Somem todos os quadrados
o Mostre o resultado

_________________________________
13
Modulo: Lógica de Programação

4 Dados e Tipos de Dados

4.1 Dados
A elaboração de qualquer algoritmo seria impossível se não
considerarmos a estrutura de dados envolvidos, pois para processar
informações, estas deverão ser inseridas na memória do computador no
formato de dados.
 Os dados manipulados pelos computadores são: Constantes e
Variáveis

4.2 Constantes
Constante é um tipo de dado que não se modifica ao longo do
tempo, durante a execução de um algoritmo. Conforme o seu tipo, a
constante é classificada como sendo numérica ou literal (ou alfanumérica).
Exemplo de constantes:
 (P1 + P2 + P3) / 3 Constante numérica
 O nome é "MARIA" Literal

4.3 Variáveis
Em um programa, uma variável é um espaço reservado na
memória do computador para armazenar um tipo de dado
determinado. Variáveis devem receber nomes para poderem ser
referenciadas e modificadas quando necessário.
Um programa de computador deve conter declarações que
especificam de que tipo são as variáveis que ele utilizará e às vezes um
valor inicial.

Exemplos de Variáveis:
Conteúdo da variável(Literal)
VARIÁVEIS Variável

NOME = “JOSE”
Total = Produto * Quantidade

IDADE = 50

Variável Constante numérica

_________________________________
14
Modulo: Lógica de Programação

4.4 Tipos de Variáveis


 Numéricas - Específicas para armazenamento de números, que
posteriormente poderão ser utilizados para cálculos. Podem ser
ainda classificadas como Inteiras ou Decimais. As variáveis do tipo
inteiro são para armazenamento de números inteiros e as Decimais
são para o armazenamento de números que possuam casas
decimais.
 Alfabéticas - Específicas para armazenamento de conjunto de
caracteres que contenham somente letras e espaços. Ex: nomes.
 Alfanuméricas - Específicas para dados que contenham qualquer
tipo de caracter. Se usado para armazenamento de números, não
poderá ser utilizada para operações matemáticas.

4.5 Exercícios
1) O que é uma constante? Dê dois exemplos.

2) O que é uma variável? Dê dois exemplos.

_________________________________
15
Modulo: Lógica de Programação

3) Faça um teste de mesa no diagrama de bloco abaixo e preencha a


tabela ao lado com os dados do teste:

Inicio

Salário
Salario Abono Salário Novo

600,00 60,00
Abono
350,00

Salário
Novo=
Salário +
Abono

Salário
Novo

Fim

_________________________________
16
Modulo: Lógica de Programação

4) Sabendo-se que José tem direito a 15% de reajuste de salário,


complete o diagrama abaixo:

Inicio

Nome =
“José”

SalárioAtual
= 1200,00

%Reajuste =

ValorReajuste =

SalNovo =

SalNovo

Fim

_________________________________
17
Modulo: Lógica de Programação

5 Operadores
Os operadores são símbolos usados executar operações aritméticas
ou comparações entre variáveis. Temos três tipos de operadores:
 Operadores Aritméticos
 Operadores Relacionais
 Operadores Lógicos

5.1 Operadores Aritméticos


Os operadores aritméticos são os símbolos utilizados para realizar
as 4 operações aritméticas (adição, subtração, multiplicação e divisão) e a
exponenciação. Os símbolos para os operadores aritméticos são:

Operador Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação **

 Hierarquia das Operações Aritméticas


Entende-se por hierarquia das operações a ordem ou preferência em
que são executadas as operações em uma expressão aritmética que
contenha mais de um operador. A hierarquia das operações segue o
padrão normal dos cálculos matemáticos, que obedecem as seguintes
prioridades:
1º ( ) Expressões dentro de parênteses
2º Exponenciações
3º Multiplicações e divisões
4º Adições e Subtrações

 Quando houver operadores de mesma hierarquia, eles serão


executados da esquerda para a direita.
Exemplos:
TOTAL = PRECO * QUANTIDADE
1 + 7 * 2 ** 2 – 1 = 28
3 * (1 – 2) + 4 * 2 = 5

_________________________________
18
Modulo: Lógica de Programação

5.2 Operadores Relacionais


Os operadores relacionais são utilizados para comparar variáveis
alfanuméricas ou numéricas. Estas comparações (operações relacionais)
sempre geram um dos dois resultados lógicos: verdadeiro ou falso.
Os operadores relacionais são:

Descrição Símbolo
Igual =
Diferente NOT =
Maior que >
Menor que <

Maior ou igual a NOT <

Menor ou igual a NOT >

5.3 Operadores Lógicos


Os operadores lógicos servem para combinar dois ou mais
resultados lógicos (verdadeiro/falso) provenientes de expressões
relacionais, produzindo um novo resultado lógico (verdadeiro/falso).
Os operadores lógicos são:

OPERADOR DESCRIÇÃO
"NÃO": Inverte o valor de um operando. Se o operando é
Not verdadeiro o resultado será falso. Se o operando é falso o
resultado será verdadeiro.
"E": Se os dois operandos são verdadeiros, o resultado
And será verdadeiro. Se um dos dois operandos é falso, o
resultado será falso.
"OU": Se os dois operandos são falsos, o resultado será
Or falso. Se um dos dois operandos é verdadeiro, o resultado
será verdadeiro.
Quando houver uma expressão mais complexa de operadores
relacionais com varias comparações, podem-se usar parênteses para
agrupar operações e estabelecer prioridades.

_________________________________
19
Modulo: Lógica de Programação

Exemplos:
Suponha que temos três variáveis A = 5, B = 8 e C =1, os
resultados das expressões seriam:

Expressões Resultado
A = B AND B > C Falso

A NOT = B OR B < C Verdadeiro

NOT (A > B) Verdadeiro

A < B AND B > C Verdadeiro

A >=B OR B = C Falso

NOT(A <= B) Falso

A tabela abaixo mostra todos os valores possíveis criados pelos três


operadores lógicos (AND, OR e NOT)

OPERADOR AND OPERADOR OR OPERADOR


(E) (OU) NOT (NÃO)
A B A AND B A B A OR B A NOT A
V V V V V V V F
V F F V F V F V
F V F F V V
F F F F F F

_________________________________
20
Modulo: Lógica de Programação

Exemplo:
Montar diagrama de blocos do algoritmo para calcular o pagamento
de vendedores, sabendo que devem receber o salário base e um abono de
R$ 100,00 quando seu faturamento for superior a R$ 5.000,00.

Inicio

Salário
Base

Faturamento

MOVE 100
Fatura- Sim PARA ABONO
mento >
R$5000

Não
MOVE 0
PARA ABONO CALCULAR
Pagamento =
Salário base + abono

Pagamento

Fim

_________________________________
21
Modulo: Lógica de Programação

5.4 Exercícios

1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores


abaixo. Informe se as expressões são verdadeiras ou falsas.

SALÁRIO IR SALLIQ EXPRESSÃO V ou F

100,00 0,00 100 (SALLIQ >= 100,00)

200,00 10,00 190,00 (SALLIQ < 190,00)

300,00 15,00 285,00 SALLIQ = SALARIO –


IR

2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são


verdadeiras ou falsas:

( ) (A+C) > B
( ) B >= (A + 2)
( ) C = (B –A)
( ) (B + A) <= C
( ) (C+A) > B

3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo


são verdadeiras ou falsas.

( ) (A > C) AND (C <= D)


( ) (A+B) > 10 OR (A+B) = (C+D)
( ) (A >= C) AND (D >= C)

_________________________________
22
Modulo: Lógica de Programação

REVISÃO

1. Assinale V ou F

____ Lógica de programação é a técnica de encadear comandos, em uma


seqüência de instruções que devem ser seguidas, para atingir
determinado objetivo.

____ Podemos definir programa de computador como a indicação ao


computador de uma ação elementar a executar.

____ ENTRADA, PROCESSAMENTO e SAÍDA são fases presentes em qualquer


tipo de programa.

____ A fase de planejamento, no processo de construção de um programa, é


tarefa específica do analista de sistemas.

____ Os programadores devem construir um algoritmo (fluxograma ou


pseudocódigo) antes de codificar um programa.

____ Para garantir que um algoritmo esteja 100% correto, é melhor construí-lo
após codificarmos o programa.

____ Programas bem planejados devem ser estruturados.

2. Escolha a alternativa correta na segunda coluna:

A Especificação do programa __ Diagrama de blocos e pseudocódigo

B Formas de representar um __ Função do Analista de Sistemas


algoritmo

C Algoritmo __ Usado para testar nosso algoritmo


antes de passarmos para a fase de
codificação

D Teste de mesa __ Seqüência finita de passos que levam


a execução de uma tarefa

3. Cite as principais regras para construção de um algoritmo.

_________________________________
23
Modulo: Lógica de Programação

REVISÃO

4. A afirmação a seguir esta correta? Justifique sua resposta.

“É importante construir dois algoritmos (um diagrama de blocos e um


pseudocódigo) antes de codificarmos um programa”.

_______________________________________________________________

5. Responda V ou F

____ Os dados manipulados por um programa se classificam como constantes


e variáveis.

____ Não é recomendado o uso de constantes e variáveis em um mesmo


programa, quando utilizamos lógica estruturada.

____ Dados de entrada e de saída são exemplos de informações variáveis


utilizadas por um programa.

____ São tipos de variáveis: numéricas, alfabéticas, literais e constantes.

____ São operadores lógicos: NOT, OR e AND.

6. Identifique no segmento de pseudocódigo abaixo, as constantes e variáveis.


Classifique-as por tipo.

0300-00-CALCULA-MULTA

MULTIPLICAR MULTA-E POR 0,05


SE VALOR-E > 1000 E VENCTO-E < DATA-LIMITE
SOMAR 100 EM MULTA-E
FIM-SE
MOVER “VALOR DA MULTA” PARA OBSERVACAO-S
MOVER MULTA-E PARA MULTA-S

_______________________________________________________________

_______________________________________________________________

______________________________________________________________

_________________________________
24
Modulo: Lógica de Programação

6 Operação Lógica e Estrutura de Decisão e Repetição


Uma operação lógica é uma operação envolvendo comparação de
dois dados (variáveis ou constantes) através de operadores relacionais.
Uma operação lógica tem como resultado um valor booleano (verdadeiro
ou falso). Em outras palavras, uma operação lógica é uma pergunta à qual
a resposta tem de ser verdadeiro ou falso.
 As operações lógicas são utilizadas quando nossos programas
exigem tomadas de decisões.
Na maioria das vezes necessitamos tomar decisões no andamento
do algoritmo. Essas decisões interferem diretamente no andamento do
programa.
Nos algoritmos as decisões são implementadas através de
operações lógicas formando as ESTRUTURAS DE DECISÃO. Nos algoritmos
também são freqüentes o uso de cálculos ou operações repetitivas. O
conjunto de comandos e operações lógicas que controlam as operações
repetitivas de um algoritmo forma as ESTRUTURAS DE REPETIÇÃO.

6.1 Estrutura de Decisão: SE


A estrutura de decisão é formada normalmente pela palavra SE
seguida de uma operação lógica e uma serie de comandos imperativos. Se
a operação lógica tiver resultado VERDADEIRO, os comandos imperativos
serão executados.
Imagine um algoritmo em que um aluno somente será considerado
aprovado se sua média for maior ou igual a 5. Veja como ficaria o
algoritmo:

SE MEDIA >= 5
APROVE ALUNO
FIM SE.

Em Diagrama de Blocos:

MEDIA S
Not < 5

N
APROVE
ALUNO

_________________________________
25
Modulo: Lógica de Programação

6.2 Estrutura de Decisão: SE/SENÃO


Na estrutura “SE/SENÃO”, quando a condição SE for “verdadeira”
os comandos imperativos situados após a operação lógica serão
executados, caso contrário (resposta “falsa”), os comandos imperativos
situados após o SENÃO serão executados.

Em pseudocódigo:
SE MÉDIA NOT < 5
APROVE O ALUNO
SENÃO
REPROVE O ALUNO
FIM SE.

Em Diagrama de Blocos:
Não Sim
MEDIA
>= 5

REPROVAR APROVAR
O ALUNO O ALUNO

No exemplo acima está sendo executada uma condição que, se for


verdadeira, executa o comando “APROVAR O ALUNO”, caso contrário
executa o segundo comando “REPROVAR O ALUNO”. Podemos também
dentro de uma condição testar outras condições. Como no exemplo
abaixo:

Não Sim
MEDIA
>= 5

REPROVAR Não Sim


ALUNO MEDIA
>= 7

FAZER NOVA APROVAR


AVALIAÇÃO ALUNO

_________________________________
26
Modulo: Lógica de Programação

Em pseudocódigo:

SE MÉDIA >= 5
SE MEDIA >= 7
APROVAR ALUNO
SENÃO
FAZER NOVA AVALIAÇÃO
SENÃO
REPROVAR ALUNO
FIM SE.

_________________________________
27
Modulo: Lógica de Programação

6.3 Comando de Decisão: AVALIE / QUANDO


Se for necessário perguntar se uma variável contém um dos valores
de uma série de valores possíveis, precisaríamos usar um conjunto de
instruções SE ... SENÃO para testar todos os valores. Muitas linguagens de
programação, incluindo o COBOL, permitem uma estrutura de algoritmo
em que só se testa a variável uma vez (AVALIE), e depois usa-se uma
série de (QUANDO) para verificar se a avaliação feita coincide com um dos
valores possíveis.

No diagrama de blocos abaixo avalia-se a variável “Op”, e se seu


conteúdo for 1, 2, ou 3 mostra-se a mensagem “Opção N”, caso contrário
a mensagem será “Opção Errada”.

INICIO

AVALIE SIM
QUANDO MENS =
OP “OPÇÃO1”
1

NÃO

SIM
QUANDO MENS =
2 “OPÇÃO2”

NÃO

SIM
QUANDO MENS =
3 “OPÇÃO3”

NÃO

QUANDO SIM MENS =


OUTRO “OPÇÃO
VALOR ERRADA”

MENS

FIM

_________________________________
28
Modulo: Lógica de Programação

6.4 Exercícios

1) Faça um teste de mesa do diagrama apresentado abaixo, de acordo


com os dados fornecidos:

INICIO

Ler
SALBASE

Ler
GRATIF

SALBRUTO =
SALBASE + GRATIF

Não Sim
SALBRUTO
< 1000

IR = SALBRUTO IR = SALBRUTO
* (20 / 100) * (15 / 100)

SALLIQ =
SALBRUT - IR

SALLIQ

FIM

_________________________________
29
Modulo: Lógica de Programação

Teste o diagrama com os dados abaixo

SALBASE GRATIF
3.000,00 1.200,00
1.200,00 400,00
500,00 100,00

Memória

SALBASE GRATIF SALBRUTO IR SALLIQ

Dados de Saída

SALLIQ

Elabore um pseudocódigo levando-se em conta o diagrama apresentado:

_________________________________
30
Modulo: Lógica de Programação

6.5 Estrutura de Repetições Definidas


Utilizamos a ESTRUTURA DE REPETIÇÕES quando desejamos que
um conjunto de instruções seja executado um número definido de vezes,
ou até que seja alcançada uma condição.
Na ESTRUTURA DE REPETIÇÕES DEFINIDAS o bloco de operações
será executado repetidamente um número definido de vezes. Em diagrama
de bloco a estrutura é a seguinte:

EXECUTOU
Não EXECUTA
N VEZES? BLOCO DE
INSTRUÇÕES

Sim

CONTINUA

Exemplo: Elevar um número dado ao cubo

CONTADOR = 0
PEGAR
INICIO RESULTADO = 1
NÚMERO
SOMAR 1 EM
CONTADOR.

CONTA Não MULTIPLICAR


DOR = 3 RESULTADO
POR NÚMERO.

Sim
FIM

_________________________________
31
Modulo: Lógica de Programação

6.6 Estrutura de Repetições Indefinidas


Neste caso, o bloco de operações será executado até que uma
condição seja verdadeira. Enquanto a condição for falsa o processo se
repete.
Exemplo:

CONDIÇÃO NÃO BLOCO DE


SATISFEITA OPERAÇÕES

SIM

CONTINUA

Nos algoritmos modulares, o bloco instruções repetidas é escrito em um bloco de


lógica independente, e o comando de repetição pode ser representado em
diagrama de blocos como uma das formas abaixo:

1ª Forma: 2ª Forma:

BLOCO DE
EXECUTAR
OPERAÇÃO
ATÉ CONDIÇÃO
CONDIÇÃO SATISFEITA
SATISFEITA

Exemplo do algoritmo de elevar ao cubo:


EXECUTAR
CALCULO
INICIO PEGAR
RESULTADO = 1
NÚMERO
3 VEZES

FIM

MULTIPLICAR VOLTE
CALCULO RESULTADO POR
NUMERO

_________________________________
32
Modulo: Lógica de Programação

6.7 Exercícios

1) Elabore um diagrama de blocos que leia um número N até que N =


ZEROS. Se N for positivo acumule em ACUM-A, se for negativo, em ACUM-
B. No final mostrar ACUM-A e ACUM-B.

2) Elaborar um Diagrama de Blocos para ler números N, até N = ZEROS.


Quando N for par acumular o valor em ACUM-P e quando for ímpar
acumular em ACUM-I. Exibir ACUM-P e ACUM-I no final do processamento.

_________________________________
33
Modulo: Lógica de Programação

3) Construa um diagrama de blocos para ler números N, até N = ZEROS, e


mostrar somente os números maiores que 100. No final mostrar a
quantidade total de números maiores que 100.

4) Tendo como dados de entrada a ALTURA e o SEXO das pessoas, ate


ALTURA = ZEROS e SEXO = BRANCOS, construir um algoritmo que calcule
o peso ideal, utilizando as seguintes fórmulas de peso:

Para homens: (72.7 * ALTURA) - 58


Para mulheres: (62.1 * ALTURA) - 44.7

_________________________________
34
Modulo: Lógica de Programação

5) Faça um algoritmo que determine o maior e o menor entre N números


lidos. A condição de parada é a entrada de um valor 0.

6) Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita


uma mensagem: N “ é múltiplo de 10”.

_________________________________
35
Modulo: Lógica de Programação

7) Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria


qualquer preço. O monge, necessitando de alimentos, indagou à rainha
sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em
um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter
apenas um grão e os quadros subseqüentes, o dobro do quadro anterior. A
rainha achou o trabalho barato e pediu que o serviço fosse executado, sem
se dar conta de que seria impossível efetuar o pagamento. Faça um
algoritmo para calcular o número de grãos que o monge esperava receber.

_________________________________
36
Modulo: Lógica de Programação

8) João Papo-de-Pescador, homem de bem, comprou um microcomputador


para controlar o rendimento diário de seu trabalho. Toda vez que ele traz
um peso total de peixes maior que o estabelecido pelo regulamento de
pesca do estado de São Paulo (50 quilos) deve pagar uma multa de R$
4,00 por quilo excedente. João precisa que você faça um diagrama de
blocos e um pseudocódigo que acumule na variável P (peso total dos
peixes), o peso de cada peixe pescado (variável PP). No final calcular e
mostrar a variável E (Excesso) e a variável M (Multa) o valor da multa que
João deverá pagar. Caso contrário mostrar tais variáveis com o conteúdo
ZERO.

_________________________________
37
Modulo: Lógica de Programação

9) Faça um diagrama de bloco que leia N números, até N = ZEROS, e


mostre uma mensagem indicando se este número é par ou ímpar, e se é
positivo ou negativo. No final mostre:
Quantidade Total de Números Impares
Quantidade Total de Números Pares
Quantidade Total de Números Positivos
Quantidade Total de Números Negativos

_________________________________
38
Modulo: Lógica de Programação

10) Elabore um algoritmo que dada a idade de N nadadores, até idade =


ZEROS, acumule a quantidade total de alunos em cada categoria, de
acordo com a classificação abaixo:

o Baby = até 4 anos


o Infantil A = 5 a 7 anos
o Infantil B = 8 a 11 anos
o Juvenil A = 12 a 13 anos
o Juvenil B = 14 a 17 anos
o Adultos = Maiores de 18 anos

No final mostrar a quantidade de nadadores em cada categoria.

_________________________________
39
Modulo: Lógica de Programação

7 Arquivos de Dados
Nos algoritmos que vimos até aqui, os dados estavam na memória
do computador, ou seja, após a execução do algoritmo os dados se
perdiam. Para resolver esse problema começaremos a trabalhar com
arquivos, onde poderemos guardar os dados e também manipula-los. Para
isso necessitamos definir alguns conceitos como: campos, registros e
arquivos.

7.1 Conceitos Básicos


CAMPO é um espaço reservado em memória para receber
informações (dados) - Exemplo: Campo Nome, Campo Endereço

Nome

Maria das Graças

REGISTRO é um conjunto de campos, que juntos definem uma


ocorrência de uma entidade. - Exemplo: Registro de Clientes (definem
uma ocorrência da entidade Cliente).

COD-CLI NOME ENDEREÇO FONE


00001 MARIA DAS GRAÇAS RUA DAS DORES,1400 888-9876

ARQUIVO é um conjunto de registros da entidade. - Exemplo: O arquivo de


Clientes da Empresa, onde estão armazenados os dados de todos os clientes
da empresa.

Registro 1

Registro2

Os arquivos estudados neste modulo de lógica são chamados de ARQUIVOS SEQUENCIAIS.


O modulo de COBOL AVANÇADO mostrara outro tipo de arquivo com mais recursos
(VSAM).

_________________________________
40
Modulo: Lógica de Programação

7.2 Abertura de Arquivos


Toda vez que for necessário trabalhar com arquivo, primeiramente
precisamos ABRIR o arquivo. Abrir o arquivo significa estabelecer
comunicação com o periférico (disco, fita) em que o arquivo se encontra, e
deixá-lo disponível para leitura/gravação. O símbolo para abertura de
arquivo em diagrama de blocos é:

ABRIR
ARQUIVO

7.3 Fechamentos de Arquivos


É necessário o fechamento do arquivo, após o processamento, para
que o sistema operacional garanta a integridade de suas informações.
Fechar um arquivo também libera o periférico que estava sendo utilizado
para uso de outros programas. O símbolo para fechamento de arquivo é
igual ao de abertura de arquivo:

FECHAR
ARQUIVO

7.4 Leitura de Arquivos


Após abrir um arquivo é necessário LER os dados que estão em
disco e transferi-los para a memória. Cada comando de leitura
transfere um registro para a área de memória do computador. O
símbolo para leitura de arquivo é

LER
ARQUIVO

_________________________________
41
Modulo: Lógica de Programação

Toda vez que abrimos um arquivo, o computador se posiciona no


início do arquivo. A cada leitura feita, o computador transfere o registro
em que esta posicionado para a memória (com todos os seus campos) e
avança para o próximo registro. Quando atinge o fim do arquivo, o
computador envia um aviso (EOF – End Of File) comunicando a
impossibilidade de continuar as leituras.

Inicio

COD-CLI NOME ENDERECO Registro 1


00001 JOSE SILVA RUA ..........
00002 MARIA RUA ......... Registro 2
00003 ANTONIO RUA ......... Registro 3

EOF

Os algoritmos que trabalham com arquivos devem sempre testar o


EOF após cada leitura do arquivo. Simbolicamente podemos representar
esse teste da seguinte maneira.
Exemplo: Contar os registros de um arquivo.

LER
REGISTRO

Não CONTAR
E.O.F. REGISTRO

Sim

Diagrama Completo:
INICIO
_________________________________
42
Modulo: Lógica de Programação

ABRIR
ARQUIVO

NREG = 0

LE
REGISTRO

EOF não SOMAR 1


EM NREG

sim
NREG

FECHAR
ARQUIVO FIM

7.5 Gravação de Arquivos


Da mesma maneira que os registros são lidos de um arquivo,
também podemos gravar registros em um arquivo. A gravação consiste na
transferência de um registro da memória, para um periférico (disco, fita).
O símbolo para gravação de arquivos é:

GRAVAR
REGISTRO

De maneira semelhante à leitura de arquivos, a gravação é feita


registro a registro. Cada novo comando de gravação grava o conteúdo do
registro da memória no fim do arquivo.

_________________________________
43
Modulo: Lógica de Programação

Oque limita o tamanho de umarquivo é o espaço de gravação do meio físico.

_________________________________
44
Modulo: Lógica de Programação

7.6 Macro-Fluxo
O macro fluxo é a representação gráfica dos arquivos que serão
processados em um programa, sem detalhar os algoritmos.
Estes dois exemplos de Macro-fluxo dão uma visão geral dos
arquivos envolvidos em cada um dos programas. O primeiro diz que
haverá um arquivo de entrada, um processamento e um arquivo de saída.
Já o segundo exemplo diz que haverá um arquivo de entrada, um
processamento, e a saída será um relatório.

1º Exemplo 2º Exemplo

ARQ ARQ
E NT CLI

PROGRAMA PROGRAMA

ARQ
SAIDA RELATÓRIO

_________________________________
45
Modulo: Lógica de Programação

7. 7 Exercício – Calculando o preço de venda

Fluxo e descrição do processamento

PRODUTO

A partir dos registros do arquivo PRODUTO gerar o


REG. LIDOS
REG.GRAVADOS
arquivo TABVENDA, com código de produto e preço
de venda, conforme formula a seguir:

PRECO-VENDA-S = PRECO-E * MARGEM-E

Ao final do processamento informar o total de


TABVENDA
registros lidos e total de registros gravados

Layouts dos arquivos de entrada e saída

PRODUTO

CODPROD-E DESCRICAO-E QTDEST-E PRECO-E MARGEM-E

9(04) X(25) 9(03) 9(04)V99 9(01)V99 X(09)

TABVENDA

CODPROD-S DESCRICAO-S PRECO-VENDA-S

9(04) X(25) 9(04)V99 X(07)

Mensagem final – totais de registros lidos e gravados

TOTAIS DO PROCESSAMENTO

TOTAL DE REGISTROS LIDOS ..: 999


TOTAL DE REGISTROS GRAVADOS: 999

FINAL DE EXECUCAO

_________________________________
46
Modulo: Lógica de Programação

7. 8 Exercício – Calculando reposição do estoque

Fluxo e descrição do processamento

1. Ler os registros do arquivo ESTOQUE gerando o


arquivo REPOSICAO com os itens em estoque
que deverão ser repostos.
2. Um item deverá reposto quando a quantidade
em estoque for menor que a quantidade
mínima;
3. Calcular a quantidade de reposição como a
diferença entre a quantidade máxima e a
quantidade em estoque.
QTDREP-S = QTDMAX-E – QTDEST-E.
4. Ao final do processamento informar o total de
registros lidos e o total de registros gravados.

Layouts dos arquivos de entrada e saída

ENTRADA – ESTOQUE – tamanho do registro (LRECL) 50 posições

CODPROD- DESCRICAO- QTDEST-E QTDMIN- QTDMAX- PRECO-E


E E E E

9(04) X(25) 9(03) 9(03) 9(03) 9(04)v99 X(06)

SAIDA – REPOSICAO – tamanho do registro (LRECL) 20 posições

CODPROD- QTDEST-S QTDMAX- QTDREP- PRECO-S


S S S

9(04) 9(03) 9(03) 9(03) 9(04)V99 X(01)

Mensagem final – totais de registros lidos e gravados

TOTAIS DO PROCESSAMENTO

TOTAL DE REGISTROS LIDOS ..: 999


TOTAL DE REGISTROS GRAVADOS: 999

------- FINAL DE EXECUCAO ------

_________________________________
47
Modulo: Lógica de Programação

8 Relatórios
A impressão de relatórios é o registro de informações processadas pelo
computador em um meio de armazenamento de dados chamado de
formulário. Para efetuarmos a impressão de relatórios devemos nos
preocupar com os seguintes aspectos:
o Características do formulário
o Controle de linhas, numeração e salto de página
o Impressão de cabeçalho e estética da página

8.1 Características do Formulário


A maioria dos formulários possui um formato padrão, isto é, a
quantidade de linhas por página e de caracteres por linha são
constantes.

8.2 Controle de Linhas, numeração e salto de Paginas


Uma preocupação com o controle de linhas é não permitir que a
impressora imprima fora do espaço útil do papel reservado para o texto,
pois além de esteticamente não ficar bom, haveria perda de informações.
Para controlarmos o número de linhas impressas, devemos criar um
contador de linha e de páginas e não deixar o valor desses contadores
ultrapassarem o número desejado de linhas por página.

_________________________________
48
Modulo: Lógica de Programação

8.3 Impressão de Cabeçalho e Estética de Página

Para termos uma idéia melhor da estética do formulário, veja o


exemplo abaixo.

Cabeçalho Cia XXXX pag. 1

Listagem de funcionários
Num. Nome Unid
Linhas de Detalhe 0001 Maria XG
0002 José XG

Rodapé

Total de funcionários 2

Área de Cabeçalho:
Local onde devemos colocar linhas de cabeçalho para identificar o
assunto a que se refere o conteúdo da página como um todo, e linhas de
cabeçalho com o nome de cada coluna de informações. Pode haver outras
linhas de cabeçalho de acordo com a necessidade.

Linha de Detalhe:
São as linhas geradas a partir de dados lidos de um arquivo.

Área de Rodapé:
São linhas contendo valores de totalizações de colunas e/ou linhas
de identificação da empresa, ou outras informações de fim de pagina.

_________________________________
49
Modulo: Lógica de Programação

8.4 Diagrama de Blocos ESTRUTURADO para Impressão de Relatório

Processar
Principal Iniciar

sim
ACLIN CABE- Abrir Arqs
Iniciar =66 ÇALHO

não

ACLIN ACUM=0
=8 TOTLIN=70
Processar
Ate EOF

LER
COLOCAR ARQFUN
CODFUN
Finalizar NOME
UNIDADE
EM DETALHE Fim

IMPRIMIR
DETALHE Cabeçalho
Fim Finalizar

SOMAR 1 GRAVAR
TOTPAG ACUM
ACLIN + 1
ACUM + 1

MOVE
LER TOTPAG
ARQFUNC P/CABPAG
FECHAR
ARQS
GRAVAR CAB1
SALTANDO
Fim PAGINA

FIM
GRAVAR
CAB2

GRAVAR
CAB3

Fim

_________________________________
50
Modulo: Lógica de Programação

8.5 Exercícios
Fluxo e descrição do processamento

Um banco deseja emitir uma listagem de todos os


clientes cujos saldos sejam iguais ou superiores de
R$ 1.500,00 e o número da conta seja menor que
10.000. Faça o diagrama de bloco correspondente.

Cabeçalhos em todas as paginas.

50 linhas de detalhe por página.

Layouts dos arquivos de entrada e saída

CADCLI

NUMERO-CONTA-E NOME-CLIENTE-E SALDO-ATUAL-E

9(05) X(40) 9(06)V99

RELATORIO

1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5.
..80
RELACAO DE CLIENTES / SALDOS - PAG. 99
CB-PAG

NUMERO-CONTA NOME SALDO

XX.XXX X.......................................X ZZ.ZZ9,99


XX.XXX X.......................................X ZZ.ZZ9,99
XX.XXX X.......................................X ZZ.ZZ9,99
XX.XXX X.......................................X ZZ.ZZ9,99
XX.XXX X.......................................X ZZ.ZZ9,99
XX.XXX X.......................................X ZZ.ZZ9,99
XX.XXX X.......................................X ZZ.ZZ9,99
XX.XXX X.......................................X ZZ.ZZ9,99

LD-NUMCONTA LD-NOME LD-SALDO

_________________________________
51
Modulo: Lógica de Programação

8.6 Fluxo e descrição do processamento

1. Ler os registros do arquivo CADALUNO gerando relação de alunos por


sala de aula.
2. Ao final de cada classe informar o total de alunos e a media da classe.
Imprimir após a ultima linha impressa na página.
3. Iniciar a impressão de nova classe em nova pagina.
4. Ao final do processamento imprimir, em pagina separada, o total de
classes, o total de alunos da escola e media entre os alunos da escola:
5. Fórmulas:
Media do aluno : (NOTA1 x 2 + NOTA2 x 2 + NOTA3 x 3) / 7
Média da classe: ∑médias dos alunos da classe / total de alunos da classe
Média geral : ∑médias dos alunos da escola / total de alunos da escola

Layouts dos arquivos de entrada e saída

ENTRADA – CADALUNO (classificado por CLASSE-E)

CLASSE-E NUM-E NOME-E ENDE-E NOTA1-E NOTA2-E NOTA3-E IDADE-E

X(03) 9(03) X(40) X(40) 99v99 99v99 99v99 9(02)

SAIDA – RELATO – imprimir 50 linhas por pagina

1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5.
..80
dd/mm/aaaa ESCOLA DA VIDA - RELACAO DE ALUNOS POR SALA DE AULA PAG. 99
C1-DATA C1-
PAG
CODIGO DA CLASSE xxx
C2-CLASSE

NUMERO NOME DO ALUNO NOTA1 NOTA2 NOTA3 MEDIA

99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99


99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
99.999 x....................................x Z9,99 Z9,99 Z9,99 Z9,99
LD-NUM LD-NOME LD-NOTA1 LD-NOTA2 LD-NOTA3 LD-
MEDIA

TOTAL DE ALUNOS... 999 - MEDIA DA CLASSE Z9,99


T1-TOTAL T1-MEDIA

TOTAL DE CLASSES... 99 - TOTAL DE ALUNOS... 999 - MEDIA GERAL.... Z9,99


T2-TOTCLASSES T2-TOTALUNOS T2-MEDIAGERAL

_________________________________
52
Modulo: Lógica de Programação

9 Resumo da Simbologia

Símbolo Função
TERMINAL Indica o INÍCIO ou FIM de um processamento
Exemplo: Início do algoritmo
PROCESSAMENTO Processamento em geral
Exemplo: Cálculo de dois números
ENTRADA/SAÍDA Operação de entrada e saída de dados.
Ex: Leitura e Gravação de Arquivos
DECISÃO Indica uma decisão a ser tomada
Exemplo: Verificação de Sexo

DESVIO Permite o desvio para um ponto qualquer do


programa

ENTRADA MANUAL Indica entrada de dados através do Teclado


Exemplo: Digite a nota da prova
EXIBIR Mostra informações ou resultados
Exemplo: Mostre o resultado do calculo

RELATÓRIO Relatórios

PROCESSAMENTO
ESTRUTURADO/PREDEFINIDO Processamento Estruturado / Predefinido
Exemplo: Executar ROTINA-A e retornar ao mesmo
ponto do programa.

PROCESSAMENTO Processamento estruturado com condição de


ESTRUTURADO COM repetição e retorno ao mesmo ponto do comando,
REPETIÇÃO após condição satisfeita.
Exemplo: Ler até final de arquivo

_________________________________
53

Você também pode gostar