apostila - logica de programacao
DESCRIPTION
Logica de ProgramacaoTRANSCRIPT
“ 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
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
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
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".
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.
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.
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).
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.
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.
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.
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.
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
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
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
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
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
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
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).
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
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 .
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
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
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.
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
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.
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
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
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 %
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
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
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
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
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
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
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.)
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
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.)
{ 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”
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
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
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.)
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
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
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 )
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
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$ ????,??
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
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
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