Você está na página 1de 49

“ Todos direitos reservados.

Proibida a reprodução,
mesmo parcial, por qualquer
processo mecânico,
eletrônico, reprográfico, etc.,
sem a autorização, por
escrito, do(s) autor(es) e da
editora.”

LÓGICA DE
PROGRAMAÇÃO
LÓGICA DE PROGRAMAÇÃO

SUMÁRIO
Conceitos Importantes .......................................................................................................................1
Informática ....................................................................................................................................... 3
Computador ...................................................................................................................................... 3
Unidade Central De Processamento (Cpu) .......................................................................................... 3
Memória ........................................................................................................................................ 3
Tipos De Memória ........................................................................................................................ 4
Unidades De Medida De Informação .................................................................................................. 4
Periféricos ...................................................................................................................................... 4
Vídeo.......................................................................................................................................... 4
Teclado....................................................................................................................................... 4
Unidades De Armazenamento De Dados.......................................................................................... 5
Drives......................................................................................................................................... 5
Impressora.................................................................................................................................. 5
Tipos De Computadores ...................................................................................................................... 6
Software / Hardware........................................................................................................................... 6
Programa / Sistema............................................................................................................................ 6
Sistema Operacional ........................................................................................................................... 6
Segmentos Da Informática .................................................................................................................. 7
Linguagens De Programação............................................................................................................. 7
Editores ......................................................................................................................................... 7
Planilhas ........................................................................................................................................ 7
Integrados ..................................................................................................................................... 7
Cad ............................................................................................................................................... 7
Linguagem De Programação ................................................................................................................ 7
Profissões Na Informática .................................................................................................................... 8
Digitador........................................................................................................................................ 8
Operador ....................................................................................................................................... 8
Programador .................................................................................................................................. 8
Analista De Sistemas ....................................................................................................................... 8
Lógica De Programação ......................................................................................................................8
Exemplo......................................................................................................................................... 8
Exercitando .................................................................................................................................... 9
Variáveis ........................................................................................................................................... 9
Regras De Nomenclatura.................................................................................................................. 9
Exemplos .................................................................................................................................. 10
Principais Tipos De Variáveis........................................................................................................... 10
Variável Tipo Alfa - Numérica (Ou Caractere): ............................................................................... 10
Variável Tipo Numérica ............................................................................................................... 10
Operadores ..................................................................................................................................... 11
Aritméticos................................................................................................................................... 11
Relacionais ................................................................................................................................... 11
Lógicos ........................................................................................................................................ 11
Algoritmos........................................................................................................................................12
Exemplo 1 ....................................................................................................................................... 12
Exercício 1 ...................................................................................................................................... 13
Exemplo 2 ....................................................................................................................................... 13
Exercício 2 ...................................................................................................................................... 14
Exemplo 3 ....................................................................................................................................... 14
Exercício 3 ...................................................................................................................................... 15
Exemplo 4 ....................................................................................................................................... 16
Exercício 4 ...................................................................................................................................... 17
Exemplo 5 ....................................................................................................................................... 18
Exercício 5 ...................................................................................................................................... 19
Exemplo 6 ....................................................................................................................................... 20
www.selfcaxias.com.br Pág:. 1
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
1º Modo....................................................................................................................................... 20
Se / Fim Se ............................................................................................................................... 20
2º Modo :..................................................................................................................................... 21
Enquanto / Fim Enquanto ............................................................................................................ 21
Exercício 6 ...................................................................................................................................... 22
Exemplo 7 ....................................................................................................................................... 23
Exercício 7 ...................................................................................................................................... 24
Exemplo 8 ....................................................................................................................................... 25
Exercício 8 ...................................................................................................................................... 27
Exemplo 9 ....................................................................................................................................... 29
Exercício 9 ...................................................................................................................................... 31
Vetores.............................................................................................................................................32
Exemplo 1 ....................................................................................................................................... 33
Exercício 1 ...................................................................................................................................... 34
Exemplo 2 ....................................................................................................................................... 35
Exercício 2 ...................................................................................................................................... 36
Matriz ...............................................................................................................................................37
Exemplo 1 ....................................................................................................................................... 38
Exercício 1 ...................................................................................................................................... 40
Banco De Dados................................................................................................................................41
Operações Com Registro ................................................................................................................... 42
Organização Dos Dados Na Tabela...................................................................................................... 42
Comandos Para Algoritmos ................................................................................................................ 42
Declarações.................................................................................................................................. 42
Conexão Com A Tabela .................................................................................................................. 43
Desconexão Com A Tabela ............................................................................................................. 43
Exemplo 1 - Gravação E Leitura ......................................................................................................... 44
Exercício 1 - Gravação E Leitura ......................................................................................................... 45
Exemplo 2 - Leitura .......................................................................................................................... 46
Exercício 2 - Leitura.......................................................................................................................... 47
Conclusão .........................................................................................................................................48

www.selfcaxias.com.br Pág:. 2
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
CONCEITOS IMPORTANTES
INFORMÁTICA
É a ciência do tratamento racional (lógico) e automático (rápido) da informação para fins de
conhecimento e comunicações.

COMPUTADOR
Um computador é um veículo da informática que permite manipular informações em tempo
reduzido. Muito utilizado em aplicações comerciais e na automação de escritórios como folhas de pagamento
/ cobrança, contabilidade, contas a pagar e a receber, cadastro de clientes / fornecedores, controle de
estoques, edição de textos, reprodução automática, agenda, etc.

Vamos explicar melhor:

Um ser humano tem a capacidade de ler um livro de 100 páginas. Uma semana após o
término da leitura, ele poderá descrever o livro sem muitos detalhes. Após um ano, é possível que ele não
se lembre qual era o título do livro. Ao passar do tempo, poderá duvidar de que leu o livro. Isto não
acontece com o computador; se você guarda o conteúdo do livro em uma memória permanente, o seu
acesso aos dados deste livro também será permanente.

A função de um computador é receber a informação que você lhe dá, trabalhá-la de acordo
com as suas instruções e apresentar-lhe os resultados.

Um computador é basicamente composto por:

• Unidade central de processamento.

• Memória.

• Periféricos:

* Vídeo.

* Teclado.

* Unidades de Armazenamento.

* Drives.

* Impressora.

UNIDADE CENTRAL DE PROCESSAMENTO (CPU)


É um conjunto de circuitos eletrônicos que efetuam o processamento propriamente dito,
realizando operações aritméticas e lógicas, bem como coordenando o funcionamento de todo o sistema.

MEMÓRIA
É o lugar no computador onde são armazenados todos os meios necessários para um
processamento num determinado instante. Seu tamanho é definido através do número de caracteres que ela
pode armazenar e é medida em "BYTES".

BYTE : é uma unidade de medida de informação. Em cada byte é possível armazenar um


caractere. Cada byte é composto de 8 bits.
www.selfcaxias.com.br Pág:. 3
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
Ex.: Letra "A"  ao digitar a letra A, a CPU a interpreta como um valor, de acordo com a
tabela ASCII e posteriormente, transforma este mesmo valor em binário, que seriam os 8 bits que compõem
um byte e que será interpretado pelo computador. Todo este processo é feito internamente, sem que o
usuário tenha qualquer tipo de acesso.

A letra "A" corresponde a 65 na tabela ASCII, que é igual a 01000001 em binário.

Bit  menor item de informação binária. Pode assumir somente dois valores: zero ou um.

TIPOS DE MEMÓRIA

Memória RAM  tipo de memória que permite acesso direto a qualquer uma das suas
posições (leitura ou escrita) - onde é feito todo o trabalho. É uma memória "volátil", ou seja, os dados
armazenados se perdem caso o computador seja desligado.

Memória ROM  memória interna, caracterizada, basicamente, por ser apenas de leitura,
ou seja, não é possível escrever dados. Seu conteúdo é gravado durante a sua fabricação. É responsável
pelo processo de inicialização da máquina.

UNIDADES DE MEDIDA DE INFORMAÇÃO


1 BYTE = 1 caractere.

1 KBYTE ≅ 1000 BYTES.

1 MEGABYTE ≅ 1000 KBYTES.

1 GIGABYTE ≅ 1000 MEGABYTES.

1 TERABYTE ≅ 1000 GIGABYTE.

Obs.: O símbolo “ ≅ ” (aproximadamente) foi utilizado porque seria


exatamente = 1024)

PERIFÉRICOS

VÍDEO

É a tela onde o computador pode comunicar-se com o usuário visualmente, apresentando


resultados, informando erros, pedindo dados, enfim, permitindo a comunicação entre o homem e a
máquina.

TECLADO

A operação do computador é efetuada a partir do teclado. Este, permite a máquina entender


o que o usuário deseja executar, bem como alimentá-la de dados necessários.

www.selfcaxias.com.br Pág:. 4
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
UNIDADES DE ARMAZENAMENTO DE DADOS

A medida que há necessidade de reutilização de dados, bem como a execução repetitiva de


programas, surgem os dispositivos que permitem o armazenamento de informações. Os mais utilizados são:

Fitas Magnéticas: utilizadas em microcomputadores pessoais, quando na sua forma de


cassete, pois com um simples gravador é possível o armazenamento.

Tamanho Capacidade
360 KB (DD)
5 1/4 polegadas
1.2 MB (HD)
720 KB (DD)
3 1/2 polegadas
1.44 MB (HD)

Disquetes: são discos flexíveis de fácil manuseio que permitem o armazenamento de


informações com o auxilio de um outro periférico: o drive.

Discos Rígidos: são discos que permitem maior capacidade de armazenamento do que os
disquetes e apresentam maior velocidade nos acessos às informações. Mais conhecido como Winchester.

CD: têm capacidade de armazenamento comparada a do winchester, com a vantagem de ser


facilmente transportado. É possível realizar operações de leitura e gravação.

DRIVES

São periféricos utilizados para transferir informações da “memória para um disquete e vice-
versa (responsável pela leitura e gravação dos dados no disquete). É o compartimento onde encaixamos os
disquetes. Tipos de drives:

• Drive para discos de 5 1/4 polegadas (variando a capacidade de leitura/gravação).

• Drive para discos de 3 1/2 polegadas (variando a capacidade de leitura/gravação).

• CD-ROM: drive utilizado para ler ou gravar dados no CD. O CD a ser lido pode ser de
áudio (os mesmos utilizados em aparelhos de som) ou específicos para multimídia,
como enciclopédias, jogos, ou programas que serão utilizados para instalação no
Winchester. Para gravar em CD é necessário um drive CD-Rom específico para esta
finalidade.

IMPRESSORA

É o dispositivo que permite ao usuário enviar informações armazenadas pelo computador


para o papel. Pode ser classificada, quanto a qualidade e ao modo de impressão, em três tipos:

• Matricial: Os caracteres são impressos através do contato de agulhas com uma fita.

• Jato de Tinta: Há um cartucho que armazena a tinta com a qual os caracteres serão
impressos.

• Laser: Processo mais atualizado que garante ótima qualidade de impressão.

www.selfcaxias.com.br Pág:. 5
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
TIPOS DE COMPUTADORES
O modelo do computador é definido de acordo com sua capacidade de processamento. Veja
abaixo a relação de alguns modelos:

Processador Velocidade (Mhertz)


286
386
486 33/133
586
100/233
(Criado pelos concorrentes como a AMD)
Pentium (Criado pela Intel) 100/166
Pentium MMX 133/233
Pentium II 233/400
Pentium III 500/800
Obs.: O nome do modelo do computador é definido de acordo com a CPU do mesmo.

SOFTWARE / HARDWARE
Software é o termo utilizado para identificar programas ou sistemas executáveis. Hardware é
o termo utilizado para identificar a própria máquina, seus periféricos, seus dispositivos, seus circuitos, etc.

PROGRAMA / SISTEMA
Programa é um conjunto de comandos com uma determinada seqüência lógica, permitindo
um processamento de dados. É por seu intermédio que o computador é capaz de entender a tarefa a ser
executada, ou seja, age como interface entre o homem e a máquina.

Sistema é um conjunto de programas responsável por realizar uma ou várias ações


determinadas.

SISTEMA OPERACIONAL
O Sistema Operacional é um programa, escrito em Linguagem de Máquina, que permite
controlar todos os recursos do computador. É o responsável pela execução dos comandos básicos de uma
máquina e pelo tratamento das operações de entrada e saída, em especial, a leitura e gravação em disco.
Realiza a codificação dos comandos que serão executados pela máquina.

Alguns exemplos de sistemas operacionais :

• MSDOS.

• Windows 95 / 98 / ME / NT / 2000.

• OS/2.

• UNIX (sistema multi-usuário).

www.selfcaxias.com.br Pág:. 6
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
SEGMENTOS DA INFORMÁTICA

LINGUAGENS DE PROGRAMAÇÃO
Conjunto de comandos que executam determinadas funções, possibilitando maior facilidade
para a utilização de um computador. São programas específicos para criação de outros programas.

Ex.: Delphi, Visual Basic, Fox Pro, Clipper, entre vários outros.

EDITORES
Programas específicos para edição de textos.

Ex.: Word for Windows, Word Perfect, WordStar, Fácil, entre outros.

PLANILHAS
Programas específicos para cálculos, projeções e gráficos.

Ex.: Excel, Lotus 1-2-3, Quatro Pro, entre outros.

INTEGRADOS
conjunto de aplicativos. Reúne em um só programa diversos módulos de aplicação diária,
tais como: editores de textos, planilhas de cálculos, banco de dados, etc.

CAD
Programas de edição gráfica, voltados para as áreas de engenharia e arquitetura.

LINGUAGEM DE PROGRAMAÇÃO
É um conjunto de comandos que executam determinadas funções, possibilitando maior
facilidade para utilização de um computador. É a linguagem de programação que entende o comando dado,
traduz e transmite ao computador em uma linguagem mais precisa (geralmente em códigos).

É como acontece com os idiomas: temos o PORTUGUÊS, o FRANCÊS, o ALEMÃO, o INGLÊS e


assim por diante. Se considerarmos o INGLÊS como língua universal, todas as outras línguas podem ser
traduzidas para esta, existindo assim um laço de comunicação entre elas .

Em computação temos o Pascal, o Visual Basic, o Clipper e várias outras linguagens. A


LINGUAGEM DE MÁQUINA é a linguagem universal. Isto significa que se temos um "tradutor" ou
"interpretador" da linguagem, podemos nos comunicar com a máquina tranqüilamente.

Linguagens como o Pascal, o Cobol, o Basic, o DBase, já foram muito utilizadas, porém sua
aplicação hoje é mais restrita, dando lugar às Linguagens For Windows, como: Fox Pro, Visual Basic, Delphi.

www.selfcaxias.com.br Pág:. 7
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
PROFISSÕES NA INFORMÁTICA

DIGITADOR
É a pessoa que utiliza o computador para armazenar nele informações. Se identificaria
parcialmente com um datilógrafo.

OPERADOR
É a pessoa que está ciente de como manusear o computador.

PROGRAMADOR
É aquela pessoa responsável pela confecção de programas / sistemas .

ANALISTA DE SISTEMAS
É o responsável pelo estudo das varias soluções possíveis para realizar determinado
processamento, desde os dados de entrada, lógicas de programação, formatos de arquivos, etc.

LÓGICA DE PROGRAMAÇÃO
Como já vimos programa é uma seqüência lógica de comandos que permite o
processamento dos dados e o responsável pela criação do mesmo é o programador.

Mas para programar, você precisa ter uma lógica e conhecer determinadas instruções a
serem dadas ao computador.

Geralmente elaboramos um rascunho do programa que vamos fazer, traçando a lógica e


determinando as instruções.

A lógica da programação é a chave de um programa.

EXEMPLO
Vamos dar o exemplo da lógica quando programamos fazer um bolo. A receita do bolo seria
um PROGRAMA.

Como toda receita tem um nome (BOLO), os programas também terão nomes. Os
ingredientes seriam os COMANDOS (ou instruções). E a lógica que a receita manda seguir é a mesma lógica
que um programa segue:

• Bater 1 xícara de manteiga com 2,5 xícaras de açúcar.

• Acrescentar 3 gemas de ovos e misturar.

• Acrescentar 2 xícaras de farinha de trigo, 1 xícara de maizena, 1 copo grande de leite


e bater.

• Bater as claras dos ovos até ficar em neve.

• Colocar 1 colher média de pó-royal.

• Untar a forma e levar ao forno.

www.selfcaxias.com.br Pág:. 8
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
• É lógico que não podemos misturar os ingredientes sem antes colocá-los em uma
vasilha.

• E se resolvermos misturar a farinha de trigo com os ovos antes da manteiga é


possível que o resultado do bolo não seja o mesmo.

EXERCITANDO
Numere os processos lógicos para a troca de uma lâmpada queimada:

( ) Pegar a escada

( ) Trocar as lâmpadas

( ) Subir na escada

( ) Descer da escada

( ) Testar se a lâmpada nova funciona

( ) Guardar a escada

( ) Pegar a lâmpada nova

( ) Jogar a lâmpada velha no lixo

( ) Trocar ou não as lâmpadas novamente

Pode ser que nem todas as pessoas obtenham a mesma numeração, isto porque cada uma
possui uma determinada lógica.

VARIÁVEIS
Para guardar dados na memória temos que criar um endereço do dado que será
armazenado. Variável é o nome deste endereço na memória que guardará um determinado dado.

REGRAS DE NOMENCLATURA
1. Deve começar com uma letra qualquer.

2. Terá um tamanho definido em cada linguagem.

3. Não deve conter espaços em branco nem sinais de operadores.

4. Não pode ser nome de comandos da linguagem utilizada.

www.selfcaxias.com.br Pág:. 9
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLOS

VÁLIDO INVÁLIDO
DADO1 1DADO (começa com número)
VAR2 VAR 2 (contém espaço)
SHOWMESSAGE (em DELPHI estaria
CONFIRMA incorreto, pois este é um de seus
comandos)

PRINCIPAIS TIPOS DE VARIÁVEIS

VARIÁVEL TIPO ALFA - NUMÉRICA (OU CARACTERE):

1. Armazena qualquer tipo de caractere: letras e/ou números (até 256 caracteres).

2. Não fazem operações matemáticas.

3. O conteúdo deve ser escrito entre aspas.

EXEMPLOS

VÁLIDO INVÁLIDO
NOME  "MARIA” DADO1  "12" * "13"
NUM  "1200 A" DADO2  “12” / “13”
DADO2  "1" + "2" - 12
Concatenação (soma de
caracteres)

VARIÁVEL TIPO NUMÉRICA

1. Armazena somente números.

2. Fazem operações matemáticas.

3. O conteúdo deve ser escrito sem o uso de aspas.

EXEMPLOS

VÁLIDO INVÁLIDO
VAR1  1000 NUM2  12 89
VAR2  1 + 2
A variável VAR2 irá conter o NUM  "1200 A"
resultado da soma 1+2

OBSERVAÇÃO

Outros tipos de variáveis serão vistos de acordo com cada linguagem.

www.selfcaxias.com.br Pág:. 10
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
OPERADORES

ARITMÉTICOS
Os principais operadores aritméticos são:

SÍMBOLO OPERAÇÃO
+ adição
- subtração
/ divisão
* Multiplicação
** Potenciação
A seqüência de operações é:

• Avaliação de parênteses.

• Cálculo de funções.

• Exponenciação ( ** ).

• Multiplicação ou divisão.

• Adição ou subtração.

RELACIONAIS
São usados para comparar dois valores.

Operador Relação Testada Expressão

= igualdade x=y
<> desigualdade x<>y
< menor que x<y
> maior que x>y
<= menor ou igual a x<=y
>= maior ou igual a x>=y

LÓGICOS
Executam testes em relações múltiplas. Os principais operadores lógicos são:

E Ou Não

Intercção União Negação

www.selfcaxias.com.br Pág:. 11
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
ALGORITMOS
Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa
sucessão finita de ações.

EXEMPLO 1
Algoritmo para mostrar na tela os números inteiros a partir de 1 (inclusive).

Início

numérico: I {Definição da variável}

I1 {inicializa a variável com o valor 1}

enquanto I > 0 faça

mostre I {mostra o número}

I I +1 {contador, ou seja, acrescenta mais um na variável}

fim enquanto

Fim.

Explicação do algoritmo:

É sempre bom colocarmos os identificadores de INÍCIO / FIM de comandos, e também


comentários sobre o que o Algoritmo faz ({---}).

Como iremos mostrar os números inteiros na tela, criaremos uma variável ( no caso I ) que
será então acrescida sempre de 1 unidade ( I  I + 1 ).

Para não repetirmos os comandos " mostre I " e " I  I + 1", utilizamos um recurso de LOOP
(repetição) denominado ENQUANTO / FIM ENQUANTO. Com este recurso os comandos internos a esta
estrutura serão executados enquanto a condição dada for verdadeira. Quando a condição especificada for
falsa a execução do algoritmo passará para o primeiro comando após o FIM ENQUANTO.

ENQUANTO condição verdadeira FAÇA

Comando 1

Comando2

FIM ENQUANTO

www.selfcaxias.com.br Pág:. 12
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 1
Fazer um Algoritmo que imprima na tela todos os números inteiros a partir de 49 (inclusive).
A área abaixo é destinada para você resolver o exercício.

EXEMPLO 2
Algoritmo que gere infinitamente na tela todos os números inteiros ímpares a partir de 1
(inclusive).

Início

{Algoritmo para mostrar números inteiros impares a partir de 1}

numérico: ÍMPAR {Definição de variáveis }

ÍMPAR  1

enquanto ÍMPAR > 0 faça

mostre ÍMPAR

ÍMPAR  ÍMPAR + 2 {contador com acréscimo de 2 unidades}

fim enquanto

Fim.

www.selfcaxias.com.br Pág:. 13
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 2
Fazer um Algoritmo que imprima na tela todos os números inteiros pares a partir de 2
(inclusive). A área abaixo é destinada para você resolver o exercício.

EXEMPLO 3
Algoritmo que mostra na tela os números inteiros entre 15 e 50 (inclusive) e quando o
número for 45 a mensagem “Felicidades” deve ser mostrada.

ATENÇÃO: Nesse Algoritmo teremos que usar um tipo de estrutura condicional.

As estruturas condicionais são responsáveis por mudanças de caminho em um determinado


fluxo, devido a um dado procedimento no decorrer da operação de um programa (Algoritmo).

1º Modo 2º Modo
SE <Teste Lógico> ENTÃO SE <Teste Lógico> ENTÃO
<Bloco de Comandos> <Bloco de Comandos>
FIM SE SENÃO
<Bloco de Comandos>
FIM SE

www.selfcaxias.com.br Pág:. 14
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
Início

{Algoritmo para mostrar números inteiros de 15 a 50 autor: Fulano – data: 01/01/2100}

numérico: NUM1 { Definição de variáveis}

NUM1  15 { NUM1 é inicializada com valor 15 }

mostre " Números inteiros de 15 a 50 "

enquanto NUM1 <= 50 faça

mostre NUM1

se NUM1 = 45 então {caso NUM1 seja 45 a mensagem deve ser mostrada}

mostre “Felicidades”

fim se

NUM1  NUM1 + 1

fim enquanto

Fim

EXERCÍCIO 3
Fazer um Algoritmo para mostrar na tela os números ímpares entre 20 e 100 e quando o
número for 91 exibir a mensagem “Você está chegando lá ...”. A área abaixo é destinada para você resolver
o exercício.

www.selfcaxias.com.br Pág:. 15
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 4
Algoritmo para ler um número pelo teclado e verificar se ele é negativo ou positivo. Finalize
o Algoritmo quando o número for igual a 0.

Início

{Algoritmo para verificar se um número é positivo ou negativo}

{Autor : fulano – data: 00/00/0000}

numérico: NUM1 {Definição de variáveis}

NUM1  0

mostre " Número negativo ou positivo"

mostre " ATENÇÃO PARA TERMINAR Digite Zero"

mostre " Digite o número: "

leia NUM1

enquanto NUM1 <> 0 faça

se NUM1 > 0 então

mostre "Este número é positivo"

senão

mostre "Este número é negativo"

fim se

mostre " Digite o número: "

leia NUM1

fim enquanto

interrompa execução

Fim

ATENÇÃO: Nos exemplos 1 e 2 , os Algoritmos não possuíam uma condição para interromper
a sua execução. É o que chamamos de LOOP INFINITO . O terceiro exemplo possuía um FIM, pois ele gerava
números no intervalo de 15 a 50. Nesse exemplo (4), uma condição foi criada: o Algoritmo será
interrompido quando NUM1 for igual a 0. Observe que foi dada uma mensagem na tela para informar ao
usuário como terminar a execução do Algoritmo (ATENÇÃO PARA TERMINAR Digite Zero). Essa mensagem é
de muita importância, pois sem ela, o usuário não saberia como interromper a execução do Algoritmo.

www.selfcaxias.com.br Pág:. 16
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 4
Fazer um Algoritmo que peça um número em centímetros e converta-o em polegadas,
mostrando esse resultado na tela. A área abaixo é destinada para você resolver o exercício.

Sabe-se que :

2,54 CENTÍMETROS = 1 POLEGADA

Finalize o Algoritmo quando o número dado for igual a 0 . (Utilize a estrutura ENQUANTO /
FIM ENQUANTO).

www.selfcaxias.com.br Pág:. 17
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 5
Algoritmo para ler dois números pelo teclado e mostrar o maior e o menor deles. Finalize o
Algoritmo quando o primeiro número for igual a 0.

Início

{Algoritmo para ler dois números e encontrar o maior e menor deles}

{Autor: Fulano – data: 00/00/0000}

numérico: NUM1, NUM2 { Definição de variáveis }

NUM1  0 {Inicialização das variáveis}

NUM2  0

mostre " Maior e Menor de Dois Números"

mostre " DIGITE ZERO PARA TERMINAR !!!!"

mostre " Digite o primeiro número:"

leia NUM1

enquanto NUM1 <> 0 faça

mostre " Digite o segundo número: "

leia NUM2

se NUM1 = NUM2 então

mostre "Os números são iguais"

fim se

se NUM1 > NUM2 então

mostre "Maior:" NUM1

mostre "Menor:" NUM2

fim se

se NUM2 > NUM1 então

mostre "Maior:", NUM2

mostre "Menor:" NUM1

fim se

mostre " Digite o primeiro número: "

leia NUM1

fim enquanto

interrompa execução

Fim

www.selfcaxias.com.br Pág:. 18
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 5
Fazer um Algoritmo que leia o nome e a nota final de vários alunos de uma escola e que
classifique cada um em APROVADO ou REPROVADO. Finalize o Algoritmo quando NOME = FIM . Utilize a
estrutura ENQUANTO / FIM ENQUANTO. A área abaixo é destinada para você resolver o exercício.

ATENÇÃO : APROVADO  aluno com nota final >= 70 e

REPROVADO  aluno com nota final < 70 .

www.selfcaxias.com.br Pág:. 19
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 6
Algoritmo para ler vários nomes e alturas pelo teclado. Quando for digitado FIM no nome,
imprima o número de pessoas, a soma das alturas e interrompa a execução.

1º MODO

SE / FIM SE

Início

{Algoritmo para ler nomes e alturas digitadas. }

{Mostrar o total de pessoas e a soma das alturas}

{autor: fulano - data:00/00/0000}

caractere: NOME

numérico: ALT, SOMA, PESSOAS

NOME  “ “ {NOME inicializa com espaço em branco}

ALT  0 {Inicialização das variáveis}

PESSOAS  0

SOMA  0

mostre " Nomes e Alturas "

mostre "PARA TERMINAR Digite FIM "

enquanto NOME <> “FIM” faça

mostre " Informe o nome :"

leia NOME

se NOME = "FIM" então

mostre "Número Total de Pessoas :" PESSOAS

mostre "Soma das Alturas :" SOMA

interrompa execução

fim se

mostre "Informe a altura :"

leia ALT

PESSOAS  PESSOAS + 1
Somador de Alturas. A
SOMA  SOMA + ALT variável SOMA sempre está
acrescida do valor contido na
fim enquanto variável ALT

Fim

www.selfcaxias.com.br Pág:. 20
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
2º MODO :

ENQUANTO / FIM ENQUANTO

Início

{Algoritmo para ler nomes e alturas pelo teclado.}

{Mostrar o total de pessoas e a soma das alturas}

caractere: NOME

numérico: ALT, SOMA, PESSOAS

NOME  " " {Inicialização de variáveis}

ALT  0

PESSOAS  0

SOMA  0

mostre " Nomes e Alturas "

mostre " NOME = FIM para terminar "

mostre " Digite o nome : "

leia NOME

enquanto NOME <> "FIM" faça

mostre "Informe a altura :"

leia ALT

PESSOAS  PESSOAS + 1

SOMA  SOMA + ALT

mostre " Digite o nome :"

leia NOME

fim enquanto

mostre "Número Total de Pessoas :" PESSOAS

mostre "Soma das Alturas :" SOMA

interrompa execução

Fim

www.selfcaxias.com.br Pág:. 21
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 6
Fazer um Algoritmo que leia várias idades pelo teclado. Quando o operador digitar 0 na
idade, imprima o número de pessoas, a soma das idades, a média das idades; e finalize o Algoritmo. A área
abaixo é destinada para você resolver o exercício.

www.selfcaxias.com.br Pág:. 22
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 7
Algoritmo para ler vários números pelo teclado e mostrar o maior e o menor deles. Finalize o
Algoritmo quando o número dado for igual a 0 .

Início

{Algoritmo para ler uma sequência de números}

{e mostrar ao final o maior e o menor número.}

numérico: NUMERO, MAIOR, MENOR

NUMERO  0 { Inicialização de variáveis }

MAIOR  0

MENOR  0

mostre " Maior e Menor de Vários Números"

mostre "Número = 0 PARA TERMINAR "

mostre " Entre com o número: "

leia NUMERO

MENOR  NUMERO

MAIOR  NUMERO

enquanto NUMERO <> 0 faça

se NUMERO > MAIOR então

MAIOR  NUMERO

fim se

se NUMERO < MENOR então

MENOR  NUMERO

fim se

mostre " Entre com o número: "

leia NUMERO

fim enquanto

mostre "Maior:" MAIOR

mostre "Menor:" MENOR

interrompa execução

Fim

Observe que foram usadas duas variáveis denominadas MAIOR e MENOR, para guardarem os
valores do maior e menor número respectivamente.

Essas variáveis, na verdade, serviram como auxílio, pois à medida que os números fossem
digitados, o programador perderia sempre os seus valores anteriores, ficando assim impossibilitado de
encontrar o maior e menor valor.

www.selfcaxias.com.br Pág:. 23
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 7
Fazer um Algoritmo que leia a identificação e o peso de vários bois em uma fazenda. Quando
for dado um peso = 0, finalize o Algoritmo, mostrando o número de identificação e o peso do boi mais
pesado e do mais leve. A área abaixo é destinada para você resolver o exercício.

www.selfcaxias.com.br Pág:. 24
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 8
Uma pesquisa sobre algumas características físicas da população de uma determinada região
coletou os seguintes dados, referentes a cada habitante, para serem analisados:

• sexo (M / F) <masculino ou feminino>

• cor dos cabelos ( L / P / C ) <louros/pretos/castanhos>

• idade

Faça um Algoritmo que auxilie a pesquisa: leia os dados acima, para cada habitante. Quando
for digitada uma idade = - 1 imprima o seguinte relatório, e depois interrompa execução.

• Maior idade dos habitantes : xxx

• Número de pessoas com cabelos louros ou pretos : xxx

• Percentual de mulheres entre 18 e 35 anos : xxx % (inclusive)

Início

{ Algoritmo para auxiliar uma pesquisa sobre algumas }

{características físicas de determinada população }

caractere: SEXO, CABELO

numérico: IDADE, MAIORIDADE, PESCAB, MUL1835, TOTPES, PORCENTA

IDADE  0 {Inicialização de variáveis}

SEXO  " "

CABELO  " "

MAIORIDADE  0

PESCAB  0

MUL1835  0

TOTPES  0

PORCENTA  0

mostre "Pesquisa para Verificar Características População"

mostre "Idade = -1 PARA TERMINAR "

mostre "Entre com a idade : " leia IDADE

enquanto IDADE <> - 1 faça

mostre "Entre com o sexo (F / M):" leia SEXO

enquanto SEXO <> "F" e SEXO <> "M" faça

mostre “Sexo digitado está inválido”

mostre "Entre com o sexo (F / M):" leia SEXO

fim enquanto

www.selfcaxias.com.br Pág:. 25
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
mostre "Entre com a cor dos cabelos (L / P / C): ") leia CABELO

enquanto CABELO <> "L" e CABELO <> "P" e CABELO <> "C" faça

mostre “Cor do Cabelo digitada está inválida”

mostre "Entre com a cor dos cabelos (L / P / C): ") leia CABELO

fim enquanto

{ teste para descobrir maior idade }

se IDADE > MAIORIDADE então

MAIORIDADE  IDADE

fim se

{ teste para contar o número de pessoas com cabelos Louros/Pretos }

se CABELO = "L" ou CABELO = "P" então

PESCAB  PESCAB + 1

fim se

{ teste para contar no de mulheres entre 18 e 35 anos }

se SEXO = "F" e IDADE >= 18 e IDADE <= 35 então

MUL1835  MUL1835 + 1

fim se

{ conta número de pessoas }

TOTPES  TOTPES + 1

mostre "Entre com a idade : " leia IDADE

fim enquanto

{ mostra resultados finais }

mostre "Maior idade entre os habitantes:" MAIORIDADE

mostre "No de pessoas com cabelos louros ou pretos:" PESCAB

{ Calculando a porcentagem de mulheres entre 18 e 35 anos }

PORCENTA (MUL1835 * 100) / TOTPES

mostre "Porcentagem de mulheres entre 18 e 35 anos:" PORCENTA

interrompa execução

Fim

Observe que todo o Algoritmo é desenvolvido em cima de uma preocupação com o relatório
final. São feitos vários testes, para verificar os resultados. Note que o cálculo da porcentagem (PORCENTA)
não precisa ser calculado dentro do LOOP ( enquanto / fim enquanto), e sim, antes somente de mostrá-la. O
que necessita permanecer dentro do LOOP, nesse caso, é o contador de mulheres nessa faixa de idades
(MUL1835) e o contador total de pessoas (TOTPES).

Com esses dois contadores em mãos, fica fácil calcular a porcentagem .

www.selfcaxias.com.br Pág:. 26
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 8
Suponha que você foi contratado para fazer um algoritmo que controle uma festa de
danceteria. Lembre-se que a pessoa que irá operar o programa é um leigo, portanto atenção para as
mensagens a serem dadas. Serão pedidos os seguintes dados aos convidados: (A área abaixo é destinada
para você resolver o exercício.)

• nome

• sexo ( F/M ) <feminino/masculino>

• profissão ( D/O/P/A ) <digitador/operador/programador/analista>

• estado civil ( S/C/V/D ) <solteiro/casado/viúvo/desquitado>

• idade

Atenção : 1º) Menores de 18 não entram

2º) Imponha condição para terminar o Algoritmo.

Finalizado, imprima o seguinte relatório para o dono da festa:

Número de homens casados entre 20 e 30 anos : xxx

Média das idades : xxx

Porcentagem de homens : xxx %

Porcentagens de mulheres solteiras programadoras : xxx %

www.selfcaxias.com.br Pág:. 27
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO

www.selfcaxias.com.br Pág:. 28
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 9
Algoritmo para calcular o lucro em porcentagem de cada produto dado pelo teclado. Serão
pedidos os seguintes dados:

• Nome do produto.

• Preço de compra do produto.

• Preço de venda do produto.

Para cada produto você devera calcular e mostrar o seu lucro, de acordo com a seguinte tela
:

80 COLUNAS

15 35

2 Lucro Dos Produtos

2 Produto = Fim (termina)


5
4

L 13 Produto.........: ???????????
I
N 14 Preço de compra: ?????,??
H 15 Preço de venda: ?????,??
A
23 LUCRO : XXX,XX %
S

Finalize o Algoritmo quando o nome do produto = FIM .

ATENÇÃO: Neste exemplo, vamos nos preocupar em passar ao usuário do programa, uma
melhor performance de nossas telas, ou seja, da apresentação do programa final na tela do computador. O
vídeo possui, nos casos mais comuns, 24 linhas(horizontais) por 80 colunas (verticais), como se fosse um
papel todo quadriculado.

Portanto, cada ponto no vídeo possui uma determinada posição, a qual temos acesso.

Vamos supor que fossemos escrever um nome no meio da tela. Para isso precisamos saber
qual é a coordenada (linha, coluna) nesse ponto. Utilizaremos linha 12, coluna 40, logo teremos:

mostre linha 12, coluna 40 "MARIA COSTEIRA"

ou somente

mostre 12,40 "MARIA COSTEIRA"

OBS: Existem linguagens em que a coordenada é dada por :

COLUNA, LINHA

www.selfcaxias.com.br Pág:. 29
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
Início

{Algoritmo para calcular o lucro dos produtos dados}

{Definição de variáveis }

caractere: PROD

numérico: PRECOM, PREVEN, LUC

PROD  " " {Inicialização de variáveis}

PRECOM  0

PREVEN  0

LUC  0

fazer o contorno de tela

mostre 2,35 "LUCRO DOS PRODUTOS "

mostre 5,35 "Produto = FIM - termina"

mostre 13,15 "Produto........: " leia PROD

enquanto PROD <> "FIM" faça

mostre 14,15 "Preço de Compra: " leia PRECOM

mostre 15,15 "Preço de Venda:” leia PREVEN

LUC  ( (PREVEN/PRECOM) -1 ) * 100

mostre 23,35 "LUCRO : " LUC

mostre 13,15 "Produto........: " leia PROD

fim enquanto

interrompa execução

Fim

www.selfcaxias.com.br Pág:. 30
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 9
Faça um Algoritmo para classificar um triângulo em ESCALENO / ISÓSCELES / EQUILÁTERO
ou NÃO É UM TRIÂNGULO. Serão pedidos pelo teclado: lado 1, lado 2 e lado 3, conforme a tela abaixo : (A
área abaixo é destinada para você resolver o exercício.)

10 20 35
2 CLASSIFICAÇÃO DE TRIÂNGULOS
5 Primeiro lado = 0 (termina)
13
Entre com o 1º lado: ???
15 Entre com o 2º lado: ???
17 Entre com o 3º lado: ???
22 XXXXXXXX mensagem XXXXXXXX
Finalize o Algoritmo quando for dado o primeiro lado = 0.

ATENÇÃO: Recordando algumas propriedades:

TRIÂNGULO ESCALENO  Caso os 3 lados sejam diferentes

TRIÂNGULO ISÓSCELES  Caso 2 lados quaisquer sejam iguais

TRIÂNGULO EQUILÁTERO  Caso os 3 lados sejam iguais

NÃO É UM TRIÂNGULO  Caso a soma de 2 lados seja menor que 1 lado ou um dos
lados seja 0

www.selfcaxias.com.br Pág:. 31
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
VETORES
São arranjos unidimensionais e seu armazenamento se faz na memória RAM. Uma variável
onde podemos guardar vários valores.

Como a variável armazena valores diferentes, para referenciá-los existe um índice associado
a cada uma delas e chamado de indexador do vetor. No algoritmo a criação de um vetor pode ser feita
segundo a seguinte especificação:

Tipo vet1 = vetor [n] Tipo de variável (caractere ou numérica)

onde n é o número máximo de posições disponíveis no vetor para armazenar os dados.

Exemplo: Criar um vetor para armazenar 5 nomes e depois mostrá-los na tela.

Início

{Recebe 5 nomes e mostra na tela}

{Definição de variáveis}

numérico: IND

IND  1

Tipo M1 = vetor [5] caractere

M1[1]  “RUI” {Inicialização do Vetor}

M1[2]  “LEONARDO”

M1[3]  “ANA MARIA”

M1[4]  “JOSÉ DE ABREU”

M1[5]  “JUANITO DAS ROSAS”

enquanto IND <= 5 faça

mostre M1[IND]

IND  IND +1

fim enquanto

interrompa execução

Fim

Na estrutura acima foi criado um vetor denominado M1, com 5 posições, para armazenar
dados (nesse exemplo, do tipo caractere). E uma variável para trabalhar como índice do vetor, facilitando o
processo de mostrar os dados.

Em um vetor pode-se armazenar variáveis de todos os tipos (numérica, caracter, lógica).

www.selfcaxias.com.br Pág:. 32
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 1
Algoritmo para guardar 10 nomes de pessoas em um determinado vetor, e depois exibi-los
no vídeo:

Início

{ Algoritmo para ler 10 nomes, armazenar em um vetor e listá-los em vídeo}

{ Definição de Variáveis }

numérico: IND

Tipo NOMES = vetor [10] caractere

IND  1

mostre "Armazenando dados em vetor"

enquanto IND <= 10 faça

mostre “Digite o nome :”

leia NOMES[IND]

IND  IND + 1

fim enquanto

mostre “Exibindo os nomes armazenados no vetor”

IND  1

enquanto IND <= 10 faça

mostre NOMES[IND]

IND  IND + 1

fim enquanto

interrompa execução

fim

www.selfcaxias.com.br Pág:. 33
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 1
Fazer um algoritmo para guardar 10 placas de carros em um determinado vetor, e depois
exibi-los em ordem INVERSA (do último ao primeiro): (A área abaixo é destinada para você resolver o
exercício.)

www.selfcaxias.com.br Pág:. 34
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 2
Algoritmo para encontrar um nome no vetor NOMES visto no exemplo 1 e mostrar a posição
onde foi gravado. Nome = FIM termina.

Início

{ Algoritmo para encontrar um nome em um vetor e mostrar sua posição }

{ Definição de Variáveis }

numérico: IND

caractere: ACHOU, NOME

Tipo NOMES = vetor [10] caractere

IND  1

ACHOU  “ “

NOME  “ “

mostre "Pesquisando um nome armazenado no vetor e indicando sua posição"

mostre “Para finalizar digite FIM no nome”

mostre “Digite o nome:” leia NOME

enquanto NOME <> “FIM” faça

ACHOU  “ “

enquanto IND <= 10 E ACHOU <> “SIM” faça

se NOMES[IND] = NOME então

ACHOU  “SIM”

mostre NOME “está na posição” IND

fim se

IND  IND + 1

fim enquanto

se ACHOU <> “SIM” então

mostre “Nome inexistente no vetor”

fim se

mostre “Digite o nome:” leia NOME

IND  1

fim enquanto

interrompa execução

fim

A variável ACHOU foi criada com um Flag, ou seja, um auxiliar para interromper a pesquisa
quando a informação fosse encontrada. Assim sempre que uma nova pesquisa é iniciada o valor da variável
ACHOU é modificado para branco.
www.selfcaxias.com.br Pág:. 35
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 2
Fazer um algoritmo para encontrar a placa de um carro digitada pelo usuário no Vetor
PLACAS visto no exemplo 1, e determinar em qual posição foi encontrada, Placa = FIM termina. (A área
abaixo é destinada para você resolver o exercício.)

www.selfcaxias.com.br Pág:. 36
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
MATRIZ
São vetores multidimensionais e seu armazenamento se faz na memória RAM. É também
uma variável onde podemos guardar vários valores.

Como a variável armazena valores diferentes, para referenciá-los existe um índice associado
a cada um deles que é chamado de indexador da matriz.

No capítulo anterior, quando estudamos Vetores, na verdade estudamos um tipo particular


de matriz de uma única dimensão.

No algoritmo a criação de uma matriz pode ser feita segundo a seguinte especificação:

Tipo mat1  matriz [n,x]

onde n é o número máximo de linhas disponíveis na matriz e x é o número máximo de


colunas.

Para referenciar um elemento da matriz são necessários tantos índices quantas são as
dimensões da matriz. Numa matriz bidimensional (2 dimensões) o primeiro índice indica a linha (N) e o
segundo a coluna (X). No exemplo MAT1 [1,3] se refere ao elemento da linha número 1 e coluna número 3.
Veja a seguir:

1 2 3 4 5
1 ← MAT 1 [1,3]
2
Exemplo: Criar um algoritmo que recebe o nome e a idade de 10 pessoas e depois mostre
esses nomes e suas respectivas idades.

Início

{ Algoritmo para ler 10 nomes e idades, armazenar em uma matriz e listá-los em vídeo}

{ Definição de Variáveis }

tipo LISTA  matriz [10,2]

numérica: LIN

LIN  1

mostre "Preenchendo a matriz"

enquanto LIN <= 10 faça

mostre “Digite o nome :”

leia LISTA[LIN,1]

mostre “Digite a idade:”

leia LISTA[LIN,2]

LIN  LIN + 1

fim enquanto

mostre “Exibindo os nomes armazenados na matriz”

www.selfcaxias.com.br Pág:. 37
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
LIN  1

enquanto LIN <= 10 faça

mostre “O aluno” LISTA[LIN,1] “tem” LISTA[LIN,2] “anos”.

LIN  LIN + 1

fim enquanto

interrompa execução

fim

Na estrutura acima foi criada uma matriz denominada LISTA, com 10 LINHAS e 2 COLUNAS,
para armazenar os nomes e idades de alunos, por exemplo.

Em uma matriz pode-se armazenar variáveis de todos os tipos (numérica, caracter, lógica).

Representação:

1 2

1 ANA 37
2 RUI 22
3 LEO 12
4 PEDRO 5
5 JOSÉ 32

EXEMPLO 1
Algoritmo para guardar 15 nomes e seus estados em uma matriz. Serão aceitos apenas os
estados MG, SP e RJ. No final mostrar quantas pessoas são de cada estado e mostrar seus nomes e estados
respectivamente.

Início

{ Algoritmo para armazenar 15 nomes e estados em uma matriz e contar quantas }

{ pessoas são de cada estado}

{ Definição de Variáveis }

numérico: I, SP, MG, RJ

tipo LISTA  matriz [15,2]

I1

SP  0

MG  0

RJ  0

www.selfcaxias.com.br Pág:. 38
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
mostre "Preenchendo a matriz"

enquanto I <=15 faça

mostre “Digite o nome: ” leia LISTA[I,1]

mostre “Digite o estado:” leia LISTA[I,2]

enquanto LISTA[I,2] <> “SP” e LISTA[I,2] <> “MG” e LISTA[I,2] <> “RJ” faça

mostre “Estado inválido”

mostre “Digite o estado:” leia LISTA[I,2]

fim enquanto

se LISTA[I,2] = “SP” então

SP  SP +1

senão se LISTA[I,2] = “RJ” então

RJ  RJ +1

senão

MG  MG +1

fim se

fim se

II+1

fim enquanto

mostre "Mostrando dados armazenados na matriz"

I1

enquanto I <= 15 faça

mostre "O estado do(a) " LISTA[I,1] "é" LISTA[I,2]

II+1

fim enquanto

mostre SP “moram em São Paulo”

mostre RJ “moram no Rio de Janeiro”

mostre MG “moram em Minas Gerais”

interrompa execução

Fim

www.selfcaxias.com.br Pág:. 39
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 1
Fazer um algoritmo para guardar 20 placas de carros, o nome e a idade de seus
proprietários em uma matriz, e calcular a média das idades e depois exibir as placas, o nome e a idade em
ordem INVERSA (do último ao primeiro) e a média calculada. (A área abaixo é destinada para você resolver
o exercício.)

www.selfcaxias.com.br Pág:. 40
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
BANCO DE DADOS
Aprender a lidar com bancos de dados é uma tarefa da maior importância para o
programador. Freqüentemente são necessários programas que trabalhem com banco de dados. Mas o que é
um banco de dados ? De um modo simplificado, podemos dizer que banco de dados é um arquivo ou uma
área reservada no winchester para a armazenagem de informações relevantes, por exemplo, para os
negócios de uma determinada empresa.

O que seriam estas informações ? Bem, imagine uma empresa que venda aparelho eletro-
eletrônicos. Como nem sempre os aparelhos são fabricados pela própria empresa, devemos considerar a
necessidade da empresa contatar alguns fornecedores adequados para o seu negócio. Também devemos
considerar a expectativa de clientes, para os quais a empresa revenderá seus produtos eletro-eletrônicos. Já
podemos com isso imaginar algumas informações relevantes para a empresa armazenar em seu banco de
dados. Por exemplo, os endereços dos clientes, dos fornecedores e os seus telefones para contato comercial.
Além disso consideremos também que a empresa possuirá um estoque de seus produtos. Quando um
produto é vendido na loja, o pessoal encarregado pelo estoque deve ser informado. Quando um produto é
comprado dos fornecedores, o pessoal do estoque deve ser informado para atualizar a quantidade de
produtos disponíveis no estoque. Mais informações relevantes podem ser encontradas agora. Por exemplo, a
quantidade de produtos vendidos, os tipos de produtos disponíveis no estoque, seus preços de venda e de
compra, a quantidade de produtos necessários para a reposição do estoque.

Veja que um banco de dados pode conter uma variedade de informações. A relevância delas
varia em relação às características dos negócios de cada empresa. Diante disto, podemos entender que
banco de dados é um local no qual podemos gravar informações de todos os tipos, mas principalmente as
realmente importantes para um negócio ou atividade. As aplicações são muitas e não se limitam apenas as
atividades comerciais das empresas.

NOME DO CLIENTE ENDEREÇO TELEFONE


João Rua das Rosas, 1000 3344-3432
Maria Av. Contorno, 34 3226-6784
Pedrita Rua Oliveira, 40/201 3222-9090
Note que cada linha da tabela contém todas as informações referentes a cada cliente. As
colunas apenas dividem estas informações em partes. Cada linha é chamada de REGISTRO e cada coluna de
CAMPO.

Os campos são aqueles que conterão os dados, ou seja, o campo NOME DO CLIENTE conterá
o dado JOÃO. Observe que cada campo possui um nome diferente.

Lembre-se que as informações processadas pelos nossos programas ficam inicialmente


armazenadas na memória do computador. Devido a isto, se o computador for desligado perderemos todas
elas. Para guardá-las temos que utilizar um banco de dados.

Em resumo:

• Registro: é um conjunto de campos e dados

• Campo: é cada informação contida numa coluna do registro

www.selfcaxias.com.br Pág:. 41
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
OPERAÇÕES COM REGISTRO
As operações básicas que podem ser feitas em uma tabela do banco de dados são:

• Consulta aos dados armazenados

• Inclusão de novos dados

• Alteração de dados

• Exclusão de registros

A disposição dos registros na tabela pode favorecer determinadas operações em detrimento


de outras. O conhecimento das possibilidades de organização dos dados na tabela permite aos
programadores escolher a técnica mais eficiente para efetuar uma operação com registro(s).

ORGANIZAÇÃO DOS DADOS NA TABELA


Numa tabela os dados podem ser organizados de duas maneiras:

• Sequencial.

• Indexada.

Ambas são úteis, mas em contextos diferentes.

Normalmente os registros são organizados numa tabela em ordem sequencial, o que


significa que os registros são dispostos na ordem em que foram inseridos. De modo a adquirir maior
performance, vez por outra é necessário reorganizá-los de maneira indexada. Isto significa alterar a
disposição normal dos registros de modo de operações de consulta das informações sejam mais rápidas.

A diferença de performance entre as duas abordagens, sequencial e indexada, fica clara se


imaginarmos uma situação na qual o programa deverá localizar na tabela de clientes o nome de um
determinado cliente chamado “JOÃO”. Em ordem sequencial seria necessário percorrer os registros da tabela
um a um, uma vez que o “JOÃO” poderia ter sido um dos primeiros clientes incluídos bem como um dos
últimos. Como na ordem sequencial os nomes dos clientes não estão na ordem alfabética, não poderíamos
ter uma idéia prévia a respeito da sua localização na tabela. Por outro lado, em ordem indexada,
poderíamos reorganizar os registros na tabela de modo que ficasse em ordem alfabética por nome de
cliente; assim a localização do “JOÃO” ficaria facilitada na medida em que seu nome teria um localização
determinável pelo programa.

COMANDOS PARA ALGORITMOS

DECLARAÇÕES
É preciso declararmos como será constituído o registro da tabela a ser manipulada, ou seja,
os campos que serão utilizados. Por exemplo:

tabela PRODUTOS

caractere: PRODUTO

numérico: PRVENDA, PRCOMPRA

www.selfcaxias.com.br Pág:. 42
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
CONEXÃO COM A TABELA
Para manipularmos uma tabela é necessário mais do que o conhecimento de sua estrutura
interna, é preciso estabelecer uma conexão entre o programa e a tabela. Veja como isto será feito:

abra ( < Nome da tabela >, < Tipo de Acesso >, < Modo > )

Tipo de Acesso: SEQUENCIAL / INDEXADO

Modo: LEITURA / LEITURA E GRAVAÇÃO

Exemplo:

tabela PRODUTOS

caractere: PRODUTO

numérico: PRVENDA, PRCOMPRA

abra ( Produtos, Sequencial, Leitura e Gravação)

DESCONEXÃO COM A TABELA


Quando não precisarmos mais da tabela, devemos nos desconectar dela. Esta é uma prática
comum para evitar perda de performance ou mesmo o risco de perdas de informações. Veja abaixo:

feche ( < Nome da Tabela > )

Exemplo:

tabela PRODUTOS

caractere: PRODUTO

numérico: PRVENDA, PRCOMPRA

abra ( Produtos, Sequencial, Leitura e Gravação)

{ Os comandos do programa são escritos aqui }

feche ( Produtos )

www.selfcaxias.com.br Pág:. 43
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 1 - GRAVAÇÃO E LEITURA
Considere uma tabela seqüencial chamada “PESSOAS” na qual existem três campos: nome,
endereço e idade. Faremos um algoritmo para ler os dados via teclado de várias pessoas e gravá-los na
tabela.

CAMPO TIPO
NOME CARACTERE
ENDERECO CARACTERE
IDADE NUMÉRICO
Nos basearemos na tela abaixo:

20 30

2 CADASTRO DE PESSOAS

8 NOME = FIM (TERMINA)

14 NOME: ???????????????????????????????????
15 ENDEREÇO: ???????????????????????????????????
16 IDADE: ??

Inicio

{ Algoritmo que lê e grava os dados das pessoas em uma tabela }

{ Declaração da Tabela }

tabela PESSOAS

caractere: NOME, ENDERECO

numérico: IDADE

abra ( PESSOAS, Seqüencial, Leitura e Gravação)

fazer contorno de tela

mostre 2,20 “CADASTRO DE PESSOAS”

mostre 8,30 “NOME = FIM (TERMINA)”

mostre 14,30 “NOME: “ leia NOME

enquanto NOME <> “FIM” faça

mostre 15,30 “ENDERECO:” leia ENDERECO

mostre 16,30 “IDADE:” leia IDADE

grave registro ( PESSOAS )

mostre 14,30 “NOME: “ leia NOME

fim enquanto

feche ( PESSOAS )

Fim

www.selfcaxias.com.br Pág:. 44
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 1 - GRAVAÇÃO E LEITURA
Considere uma tabela seqüencial chamada “FUNCIONÁRIOS” na qual existem três campos:
nome do funcionário, departamento e salário. Faça um algoritmo para ler os dados via teclado de vários
funcionários e gravá-los na tabela. No final, mostre o total dos salários dos funcionários cadastrados. (A
área abaixo é destinada para você resolver o exercício.)

CAMPO TIPO

FUNCIONARIO CARACTERE
DEPARTAMENTO CARACTERE

SALARIO NUMÉRICO
Nos basearemos na tela abaixo:

20 30

2 CADASTRO DE FUNCIONÁRIOS

8 NOME = FIM (TERMINA)

14 NOME FUNCIONÁRIO: ???????????????????????????


15 DEPARTAMENTO: ???????????????????
16 SALÁRIO: R$ ????,??

www.selfcaxias.com.br Pág:. 45
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXEMPLO 2 - LEITURA
Considere uma tabela indexada chamada “PESSOAS” na qual existem três campos: nome,
endereço e idade. Faremos um algoritmo para ler os dados da tabela e mostrá-los na tela.

CAMPO TIPO

NOME CARACTERE
ENDERECO CARACTERE

IDADE NUMÉRICO
Amostra do Relatório

João Rua das Rosas, 1000 44


Maria Av. Contorno, 34 22
Pedrita Rua Oliveira, 40/201 28
Inicio

{ Algoritmo que lê os dados na tabela e mostra na tela }

{ Declaração da Tabela }

tabela PESSOAS

caractere: NOME, ENDERECO

numérico: IDADE

{ Conexão com a tabela }

abra ( PESSOAS, Indexado, Leitura )

enquanto não FDA( PESSOAS ) faça

mostre NOME, ENDERECO, IDADE

leia registro ( PESSOAS)

fim enquanto

feche ( PESSOAS )

Fim

ATENÇÃO
Neste algoritmo utilizamos o comando FDA( < NOME DA TABELA > ), ou seja Fim De
Arquivo. Sua Função é verificar a cada volta do loop se o programa atingiu o último registro da tabela.

www.selfcaxias.com.br Pág:. 46
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
EXERCÍCIO 2 - LEITURA
Considere uma tabela indexada chamada “FUNCIONÁRIOS” na qual existem três campos:
nome do funcionário, departamento e salário. Faça um algoritmo para ler os dados da tabela e mostrá-los
na tela. Ao final do relatório calcule a soma total dos salários dos funcionários. (A área abaixo é destinada
para você resolver o exercício.)

CAMPO TIPO

FUNCIONÁRIO CARACTERE
DEPARTAMENTO CARACTERE

SALÁRIO NUMÉRICO
Amostra do Relatório

João Recursos Humanos 1180,00


Maria Financeiro 2000,00
Pedrita Vendas 1280,00

Total 4460,00

www.selfcaxias.com.br Pág:. 47
Copyright© Powered by webAula
LÓGICA DE PROGRAMAÇÃO
CONCLUSÃO

Esperamos que o conteúdo desta apostila tenha servido de suporte


para seu curso.

A informática sofre mudanças bruscas muito rapidamente, procure no


futuro uma biblioteca auxiliar e fique atento ao lançamento de novos aplicativos e
versões.

A equipe webAula estará sempre ao seu dispor para solucionar


dúvidas quando necessário.

Atenciosamente,

Diretoria de Treinamento
webAula

www.selfcaxias.com.br Pág:. 48
Copyright© Powered by webAula