apostila - logica de programacao

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 Rua dos Otoni, 881/9º andar - Funcionários PABX/FAX : (31) 3273-2822 CEP 30150-270 - Belo Horizonte - MG

Upload: costawashington

Post on 12-Dec-2015

17 views

Category:

Documents


4 download

DESCRIPTION

Logica de Programacao

TRANSCRIPT

Page 1: Apostila - Logica de Programacao

“ 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

Rua dos Otoni, 881/9º andar - Funcionários PABX/FAX : (31) 3273-2822

CEP 30150-270 - Belo Horizonte - MG

Page 2: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

SUMÁRIO Conceitos Importantes..................................................................................................................... 1

Informática....................................................................................................................................1 Computador...................................................................................................................................1

Unidade Central De Processamento (Cpu)........................................................................................1 Memória.....................................................................................................................................1

Tipos De Memória .....................................................................................................................2 Unidades De Medida De Informação ...............................................................................................2 Periféricos ..................................................................................................................................2

Vídeo ......................................................................................................................................2 Teclado ...................................................................................................................................2 Unidades De Armazenamento De Dados.......................................................................................3 Drives.....................................................................................................................................3 Impressora ..............................................................................................................................3

Tipos De Computadores...................................................................................................................4 Software / Hardware .......................................................................................................................4 Programa / Sistema ........................................................................................................................4 Sistema Operacional .......................................................................................................................4 Segmentos Da Informática...............................................................................................................5

Linguagens De Programação .........................................................................................................5 Editores .....................................................................................................................................5 Planilhas.....................................................................................................................................5 Integrados..................................................................................................................................5 Cad ...........................................................................................................................................5

Linguagem De Programação .............................................................................................................5 Profissões Na Informática ................................................................................................................6

Digitador ....................................................................................................................................6 Operador....................................................................................................................................6 Programador...............................................................................................................................6 Analista De Sistemas....................................................................................................................6

Lógica De Programação.................................................................................................................... 6

Exemplo.....................................................................................................................................6 Exercitando ................................................................................................................................7

Variáveis .......................................................................................................................................7 Regras De Nomenclatura ..............................................................................................................7

Exemplos ................................................................................................................................8 Principais Tipos De Variáveis .........................................................................................................8

Variável Tipo Alfa - Numérica (Ou Caractere):...............................................................................8 Variável Tipo Numérica..............................................................................................................8

Operadores....................................................................................................................................9 Aritméticos .................................................................................................................................9 Relacionais .................................................................................................................................9 Lógicos ......................................................................................................................................9

Algoritmos ..................................................................................................................................... 10

Exemplo 1 ...................................................................................................................................10 Exercício 1...................................................................................................................................11 Exemplo 2 ...................................................................................................................................11 Exercício 2...................................................................................................................................12 Exemplo 3 ...................................................................................................................................12 Exercício 3...................................................................................................................................13 Exemplo 4 ...................................................................................................................................14 Exercício 4...................................................................................................................................15 Exemplo 5 ...................................................................................................................................16 Exercício 5...................................................................................................................................17

Page 3: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

Exemplo 6 ...................................................................................................................................18 1º Modo ...................................................................................................................................18

Se / Fim Se ...........................................................................................................................18 2º Modo : .................................................................................................................................19

Enquanto / Fim Enquanto ........................................................................................................19 Exercício 6...................................................................................................................................20 Exemplo 7 ...................................................................................................................................21 Exercício 7...................................................................................................................................22 Exemplo 8 ...................................................................................................................................23 Exercício 8...................................................................................................................................25 Exemplo 9 ...................................................................................................................................27 Exercício 9...................................................................................................................................29

Vetores .......................................................................................................................................... 30

Exemplo 1 ...................................................................................................................................31 Exercício 1...................................................................................................................................32 Exemplo 2 ...................................................................................................................................33 Exercício 2...................................................................................................................................34

Matriz............................................................................................................................................. 35

Exemplo 1 ...................................................................................................................................36 Exercício 1...................................................................................................................................38

Banco De Dados ............................................................................................................................. 39

Operações Com Registro................................................................................................................40 Organização Dos Dados Na Tabela ..................................................................................................40 Comandos Para Algoritmos.............................................................................................................40

Declarações ..............................................................................................................................40 Conexão Com A Tabela...............................................................................................................41 Desconexão Com A Tabela ..........................................................................................................41

Exemplo 1 - Gravação E Leitura ......................................................................................................42 Exercício 1 - Gravação E Leitura......................................................................................................43 Exemplo 2 - Leitura.......................................................................................................................44 Exercício 2 - Leitura ......................................................................................................................45

Conclusão....................................................................................................................................... 46

Page 4: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

1

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".

Page 5: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

2

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

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.

Page 6: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

3

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

5 1/4 polegadas 360 KB (DD)

1.2 MB (HD)

3 1/2 polegadas 720 KB (DD)

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.

Page 7: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

4

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 (Criado pelos concorrentes como a AMD)

100/233

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).

Page 8: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

5

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.

Page 9: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

6

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.

Page 10: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

7

• Untar a forma e levar ao forno.

• É 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.

Page 11: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

8

EXEMPLOS

VÁLIDO INVÁLIDO

DADO1 1DADO (começa com número)

VAR2 VAR 2 (contém espaço)

CONFIRMA SHOWMESSAGE (em DELPHI estaria 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 resultado da soma 1+2

NUM "1200 A"

OBSERVAÇÃO

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

Page 12: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

9

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

Page 13: Apostila - Logica de Programacao

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.

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

10

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}

I 1 {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 ).

ENQUANTO condição verdadeira FAÇA

Comando 1

Comando2

FIM ENQUANTO

Page 14: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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.

11

Page 15: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

12

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

<Bloco de Comandos>

FIM SE

SE <Teste Lógico> ENTÃO

<Bloco de Comandos>

SENÃO

<Bloco de Comandos>

FIM SE

Page 16: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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.

13

Page 17: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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.

14

Page 18: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

15

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).

Page 19: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

16

Page 20: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

17

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 .

Page 21: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

18

SOMA SOMA + ALT

fim enquanto

Somador de Alturas. Avariável SOMA sempre estáacrescida do valor contido navariável ALT

Fim

Page 22: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

19

Page 23: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

20

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.

Page 24: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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.

21

Page 25: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

22

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.

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.

Page 26: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

23

Page 27: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

fim enquanto

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).

24

Page 28: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

25

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

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 %

Page 29: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

26

Page 30: Apostila - Logica de Programacao

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.

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

27

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

Lucro Dos Produtos

Produto = Fim (termina)

Produto.........: ???????????

Preço de compra: ?????,??

Preço de venda: ?????,?? LUCRO : XXX,XX %

2

5

13

14

15

23

24 LINHAS

Finalize o Algoritmo quando o nome do produto = FIM .

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

Page 31: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

28

Page 32: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

CLASSIFICAÇÃO DE TRIÂNGULOS Primeiro lado = 0 (termina) Entre com o 1º lado: ??? Entre com o 2º lado: ??? Entre com o 3º lado: ???

XXXXXXXX mensagem XXXXXXXX

2 5 13

15

17

22

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

29

Page 33: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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).

30

Page 34: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

31

Page 35: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

32

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.)

Page 36: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

33

Page 37: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

34

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.

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.)

Page 38: Apostila - Logica de Programacao

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

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

35

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

{ 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”

Page 39: Apostila - Logica de Programacao

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.

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

36

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

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]

I 1

SP 0

MG 0

RJ 0

Page 40: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

I I + 1

fim enquanto

mostre "Mostrando dados armazenados na matriz"

I 1

enquanto I <= 15 faça

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

I I + 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

37

Page 41: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

38

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.)

Page 42: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

39

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

Page 43: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

40

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

Page 44: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

41

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 )

Page 45: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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

CADASTRO DE PESSOAS 2

8

14 15 16

NOME = FIM (TERMINA)

NOME: ??????????????????????????????????? ENDEREÇO: ??????????????????????????????????? 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

42

Page 46: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

43

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

CADASTRO DE FUNCIONÁRIOS 2

8

14 15 16

NOME = FIM (TERMINA)

NOME FUNCIONÁRIO: ??????????????????????????? DEPARTAMENTO: ??????????????????? SALÁRIO: R$ ????,??

Page 47: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

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.

44

Page 48: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

45

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

Page 49: Apostila - Logica de Programacao

Rua dos Otoni, 881 - 9º Andar Pág.: Belo Horizonte - MG - 30150-270 www.zargon.com.br (31) 3273-2822

LÓGICA DE PROGRAMAÇÃO

46

CONCLUSÃO

Chegamos assim ao final de nossa apostila de Introdução a Programação esperando que seu

conteúdo lhe tenha sido muito útil, como complemento satisfatório das aulas assistidas.

Esperamos que, ao você escolher uma linguagem de programação, lembre-se que, a lógica desenvolvida pelos Algoritmos será sua principal ferramenta.

Você deverá então, definir bem o problema a ser solucionado, desenvolver um Algoritmo e por fim codificá-lo para a linguagem escolhida.

A Zargon Computação estará sempre ao seu dispor para solucionar dúvidas quando necessário.

Atenciosamente,

Diretoria de Treinamento Zargon Tecnologia em Informática