Buscar

Lógica e Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL 
SENAC - RIO GRANDE DO SUL 
LÓGICA DE PROGRAMAÇÃO 
 
Porto Alegre, 2003. 
LÓGICA DE PROGRAMAÇÃO 
1ª Edição 
Elaboração e Edição 
SENAC - Rio Grande do Sul 
Documento produzido para uso interno do 
SENAC - Rio Grande do Sul 
SENAC.RS - Departamento Regional no Rio Grande do Sul 
Lógica de Programação 
1ª edição 
Porto Alegre: SENAC-RS, 2003. 
68 pp. 
 
LÓGICA DE PROGRAMAÇÃO 3 
CONTEÚDO PROGRAMÁTICO 
Esta apost i la foi desenvolvida pelo SENAC/RS, para apoio ao aluno durante 
o desenvolvimento do curso de Lógica de Programação. 
Este material é composto de bases teóricas que abrangem o conteúdo 
programático do curso e exercícios para sua f ixação. 
Além do conteúdo programático, abaixo descri to, este material poderá conter 
tópicos adicionais que se destinam a complementar o aprendizado do aluno. 
O conteúdo programático deste curso foi projetado para uma carga horária 
de 60 horas, com o propósito de, ao f inal do curso, tornar o aluno apto ao uso do 
software e de suas ferramentas para a real ização dos seus trabalhos. 
O conteúdo abrange os seguintes i tens: 
Diferenças entre os Ambientes 
Operacionais: Texto e Gráfico 
Noções de Programação Orientada ao 
Objeto e ao Evento 
Conceito de Programação Estruturada 
e Modular 
Definir o Conceito ERES 
Algori tmos: Definição e ut i l ização 
Tipos de Algoritmos 
Formas de Representação 
Algori tmos Naturais e Estruturados 
Elementos usados na construção de 
Algori tmos 
Constantes e Variáveis 
Expressões 
Operandos e Operadores 
Tabela Verdade 
Comando de Atribuição 
Inicio de Estruturas 
Conceituação 
Estrutura Seqüencial 
Estrutura de Seleção Simples 
Estrutura de Seleção Composta 
Estrutura de Seleção Múlt ipla 
Estruturas de Repetição 
Contador Fixo e Flag 
Como usar o ILA e o Editor Q (Qedit) 
 
 
LÓGICA DE PROGRAMAÇÃO 4 
SUMÁRIO 
Conteúdo programát ico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 
Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 
Concei tos In iciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 
Sof tware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 
Lóg ica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 
Lógica de programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 
Diferença Entre Sistemas Operacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 
Programação Orientada ao Objeto (POO) e programação Orientada ao Evento (POE). . . . . . . . 10 
Paradigma da Programação Or ientada a Eventos/Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 
O que é um Evento? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 
Como são Desencadeados os Eventos? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 
Quem Gerenc ia os Eventos? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 
O que é uma Classe de Objeto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 
O que é um Obje to? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 
Como ut i l izar ob je tos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 
Programação estruturada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 
Algor i tmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 
O que é um Algor i tmo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 
Formas de Representação de um Algor i tmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 
Vantagens e Desvantagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 
A lgor i tmos natura is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 
Algor i tmo Natura l Comparado com Algor i tmo Est ruturado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 
Elementos Usados nos Algor i tmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 
Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 
Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 
Expressões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 
Operandos e Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 
Operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 
Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 
Estruturas de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 
Est ru tura Seqüenc ia l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 
Estru tura de Se leção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 
Estru tura de Seleção S imples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 
Estru tura de Seleção Composta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 
Estru tura de Seleção Múl t ip la . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 
 
LÓGICA DE PROGRAMAÇÃO 5 
Est ru tura de Repet ição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 
Est ru tura Faca Enquanto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 
Estru tura para prox imo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 
Exemplo de repet ição por contador f ixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 
Exemplo de repet ição por f lag de resposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 
Exemplo de repet ição por f lag predeterminado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 
Procedimentos e Funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 
Modular ização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 
Módulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 
Di ferença ent re Procedimento e Função . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 
Procedimentos com Parâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 
Passagem de parâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 
Exemplos de Procedimento e Função . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 
Recurs iv idade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 
Vetores e Matr izes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 
O que são Vetores e Mat r izes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 
Algori tmos para Manipular Vetores e Matr izes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 
Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 
Apêndice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 
Exemplo de Algor i tmo para Ordenar um Vetor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 
Apêndice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 
Comandos do Interpretador da L inguagem dos Algor i tmos ( i la ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 
Exercícios de Raciocínio Lógico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 
Exercíc ios com Algor í tmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 
 
 
LÓGICA DE PROGRAMAÇÃO 6 
CONCEITOS INICIAIS 
Desde os primórdios, o homem vem tentando resolver seus problemas com 
maior rapidez e o menor esforço possíveis, procurando automatizar as tarefas 
rotineiras. Isso possibi l i tou o aparecimento de instrumentos como a roda, roldana, 
alavanca, carro e até o computador. 
No entanto as tarefas que devem ser real izadas pelo computador, de forma 
automática, têm de ser anteriormente pensadas e colocadas em uma seqüência 
de ações para, posteriormente, serem inseridas na máquina. A essa seqüência de 
ações denomina-se Programa e à fase de formular soluções que gerem 
programas denomina-se Lógica de Programação . 
Programar é basicamente Construir Algoritmos . 
A meta principal de qualquer programador é resolver problemas por meio de 
soluções lógicas para obter resultados eficientes (corretos) e eficazes (com 
qual idade). Porém, se as soluções não forem bem planejadas (passo a passo), 
com certeza essa meta não será at ingida. 
Antes de iniciar o estudo de Lógica de Programação , conheça alguns 
conceitos básicos: 
SOFTWARE 
Software é o conjunto dos programas quecomandam o funcionamento do 
Hardware . Programas são fei tos a part i r de algori tmos (objeto de estudo deste 
curso), seqüências de instruções/comandos para se at ingir um objetivo. 
Depois de pronto, o algoritmo é convert ido para uma l inguagem de 
programação . O produto dessa conversão é um programa . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 7 
LÓGICA 
As pessoas uti l izam a lógica no cotidiano sem perceber; chegam mesmo a 
citá-la, sem entender direi to o seu signif icado. 
Segundo o dicionário Aurél io , a lógica é a “coerência de raciocínio, de 
idéias”, ou ainda a “seqüência coerente, regular e necessária de acontecimentos, 
de coisas”. 
Você pode perceber isso, nos exemplos a seguir: 
O número 3 é menor que o número 5. 
O número 7 é maior que o número 5. 
Logo, o número 3 é menor que os números 5 e 7. 
Quando chove, não é preciso regar as plantas do jardim. 
Hoje choveu. 
Logo, hoje não é preciso regar as plantas do jardim. 
O Brasi l f ica na América do Sul. 
A América do sul f ica no continente americano. 
Logo, os brasi leiros são americanos. 
Às vezes o raciocínio funciona desordenadamente. Quantas vezes você já 
ouviu as frases: “E se acontecer aqui lo?”, ou “É, mas eu não t inha pensado 
nisso!” 
Neste exemplo, estão descri tas ações de quem vai a um banco; entretanto, 
veja se seria possível ret i rar o dinheiro obedecendo à seqüência descri ta. 
1 Sair do banco. 
2 Aguardar a vez de ser atendido. 
3 Entrar na f i la do caixa. 
4 Digi tar a senha. 
5 Entrar no banco 
6 Informar o valor a ser ret irado. 
7 Procurar a f i la do caixa. 
8 Pegar o comprovante de saque, o cartão eletrônico e o dinheiro. 
9 Entregar o cartão eletrônico ao funcionário que atende no caixa. 
10 Conferir o valor em dinheiro. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 8 
Você conseguir ia ret i rar o dinheiro? Com certeza não, pois, embora as ações 
estejam corretas, a seqüência está errada. A primeira ação é sair do banco . 
Como se pode reti rar dinheiro de um banco estando fora dele? Agora observe as 
mesmas ações na seqüência correta. 
1 Entrar no banco. 
2 Procurar a f i la do caixa. 
3 Entrar na f i la do caixa. 
4 Aguardar a vez de ser atendido. 
5 Entregar o cartão eletrônico ao funcionário que atende no caixa. 
6 Informar o valor a ser ret irado. 
7 Digi tar a senha. 
8 Pegar o comprovante de saque, o cartão eletrônico e o dinheiro. 
9 Conferir o valor em dinheiro. 
10 Sair do banco 
Uti l iza-se a lógica para ordenar e corrigir pensamentos ou ações voltados 
para a solução de problemas. 
LÓGICA DE PROGRAMAÇÃO 
Falar em Lógica de Programação s ignif ica apenas contextual izar a lógica 
na programação de computadores, buscando a melhor seqüência de ações para 
solucionar determinado problema. 
Na programação de computadores, o nome dessa seqüência de ações é 
Algoritmo , que é, de maneira bem simples, a seqüência de passos ou ações para 
at ingir um objet ivo. 
Já ação é um fato que, a part i r de um estado inicial , após um período de 
tempo f inito, produz um estado f inal previsível e def inido. Por exemplo, abrir uma 
porta é uma ação. 
 
 
No exemplo acima você pode observar que, ao objeto (porta), no estado 
inicial (porta fechada), é apl icada a ação (abrir) por um tempo determinado 
(segundos), levando ao estado f inal (porta aberta), previsível e def inido (pois é 
esperado que, quando se abre algo, principalmente qualquer porta, no f inal, ela 
esteja aberta). 
OBJETIVO 
O objetivo deste curso é proporcionar a apropriação de conhecimentos 
capazes de reconhecer, ut i l izar e saber a f inal idade e o funcionamento das 
técnicas, ferramentas e elementos uti l izados na construção de algori tmos para 
que possamos ordenar, desenvolver e aprimorar o raciocínio lógico apl icado na 
solução de problemas do cotidiano. 
 
LÓGICA DE PROGRAMAÇÃO 9 
DIFERENÇA ENTRE SISTEMAS OPERACIONAIS 
O Sistema Operacional no ambiente Texto, o DOS, entre outros, tem como 
lógica a tr i logia C.O.D. - Comando, Origem e Destino. 
Exemplo: 
O Sistema Operacional no ambiente Gráf ico, o Windows, entre outros, tem 
como lógica a tr i logia O.E.A. - Objeto, Evento e Ação. 
É necessário exist ir um Objeto (ex. Um botão), um Evento (ex. Um cl ique 
neste botão), para executar uma Ação (ex. Abrir outra Janela). 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 10 
PROGRAMAÇÃO ORIENTADA AO OBJETO (POO) E 
PROGRAMAÇÃO ORIENTADA AO EVENTO (POE). 
PARADIGMA DA PROGRAMAÇÃO ORIENTADA A EVENTOS/OBJETOS 
Neste paradigma, o controle de f luxo de dados é cr iado a part i r da 
elaboração da Interface, onde o sistema operacional envia mensagens ao 
apl icativo informando quando algum Evento ocorre e sobre qual Objeto . A part ir 
desta mensagem é veri f icada a existência de Código para tratar o Evento ; se 
houver, este é executado. 
Assim, a ordem através da qual o seu Código de programa é executado 
depende de quais Eventos ocorram. 
Por essa razão, costuma-se dizer que quem controla a execução do sistema 
é o Usuário , pois, invariavelmente, o evento será disparado por ele. 
A Programação Orientada ao Objeto (POO) contém a Programação Orientada 
ao evento (POE), porém a POE não existe sem a POO. Podemos ter um objeto e 
não ter nenhum evento associado a ele, porém não podemos ter um evento sem 
exist ir um objeto. 
O QUE É UM EVENTO? 
Um evento é um acontecimento, algo que acontece ou se faz acontecer 
sobre um Objeto da apl icação. Um acontecimento que o objeto pode reconhecer. 
COMO SÃO DESENCADEADOS OS EVENTOS? 
Através de ações de Usuários interagindo com o programa, por um outro 
programa requisi tando uma troca de dados, ou pelo próprio Windows. 
Mexer e cl icar botões do mouse, pressionar teclas no teclado, são ações que 
desencadeiam eventos. Exemplos de eventos: Cl ick, MouseMove, Keypress. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 11 
QUEM GERENCIA OS EVENTOS? 
Os eventos são gerenciados pelo próprio programa ou pelo sistema 
(ambiente) operacional gráfico. 
Exemplo de fluxograma: 
 
O QUE É UMA CLASSE DE OBJETO? 
Uma Classe Objeto é um modelo de como o objeto será ao ser cr iado, ou 
seja, de onde este é derivado. A classe é composta por Código e Dados 
formando uma unidade. 
Exemplos de classes: 
 
O QUE É UM OBJETO? 
Um Objeto é uma instância de uma classe. Quem uti l iza um objeto não 
precisa saber como este foi construído, mas, como interagir com ele; nem como o 
objeto executa um cálculo, mas como chamar a função que o executa e definir 
valores aos seus parâmetros. 
Desta forma um objeto da classe CommandButton (Command1) só exist i rá 
quando desenharmos este em um formulário, neste instante cr ia-se uma instânciadesta classe, o objeto Command1. 
 
LÓGICA DE PROGRAMAÇÃO 12 
COMO UTILIZAR OBJETOS 
Os objetos são ut i l izados através da manipulação de suas Propriedades, 
Métodos e Eventos , def inidos assim: 
 
Desta forma, para alterarmos a cor de fundo de um formulário, devemos 
alterar o valor da propriedade BackColor, com o valor correspondente à cor 
desejada. Ex: Red 
Se quisermos exibir (ação) um formulário ( janela), temos que ut i l izar o 
Método Show . Ex: Form1.Show 
Por f im, se quisermos emit ir um Beep toda vez que o usuário movimenta o 
mouse sobre o formulário, devemos escrever um código para o Evento do Objeto 
que reconhece este movimento, neste caso o evento MouseMove . 
Vantagens na uti l ização de objetos 
A primeira vantagem é a redução no número de l inhas de código. Imagine 
você ter que criar uma janela que permita a conf iguração de Impressora, em vez 
de cr iá- la e escrever centenas de l inhas de código, você pode uti l izar o objeto 
CommonDialogControl fornecido pela l inguagem. 
Outra vantagem é a possibi l idade da ut i l ização de objetos desenvolvidos 
por terceiros , ou objetos criados por você mesmo , em qualquer apl icação. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 13 
PROGRAMAÇÃO ESTRUTURADA 
Na programação estruturada a arquitetura e do t ipo Top to Down. Isto é, de 
cima para baixo. Efetua a execução do Código do início até o f im. 
Na programação modular o programa é fei to por módulos (rot inas), sendo 
que o conjunto desses formam o programa num todo. 
Este t ipo de programação é que vai formar o Código a ser escri to para cada 
Evento veri f icado. 
Os conhecimentos de Programação Estruturada e Modular, que será o objeto 
deste curso servem para elaborarmos os algori tmos e escrevermos os códigos 
nos procedimentos e funções a serem implementados, e executados quando for 
disparado um evento na Programação Orientada ao Objeto/Evento. 
ETAPAS PARA A SOLUÇÃO DE PROBLEMAS. 
1 Planejamento Geral (O Que deve ser fei to). 
2 Planejamento Detalhado (Como deve ser fei to?) 
3 Revisão (Teste de mesa). Veri f icar se Como decidimos fazer, tem 
como resultado o Que deve ser fei to. 
4 Codif icação. 
5 Compilação ou Interpretação. 
6 Teste do Programa. 
7 Documentação. 
Ao elaborar um programa, devemos em primeiro lugar deixar bem claro, o 
Que precisa ser fei to e, logo após, definirmos as maneiras possíveis de se chegar 
ao resultado desejado (Como?). 
Não existe uma única solução para um problema, dentre as soluções 
encontradas devemos escolher a que mais sat isfaça ao conceito E. R. E. S . , ou 
seja: 
E – Eficácia, o programa deve fazer o que deve ser fei to. Não confundir 
com ef iciência que signif ica fazer bem fei to. Um programa pode ser 
bem fei to, mas não oferecer a solução para o problema proposto. 
R – Rapidez, dentre as várias soluções encontradas para o mesmo 
problema, devemos escolher a que seja mais rápida em termos de 
execução. 
E – Economia. Também devemos escolher a solução mais econômica 
em termos de ut i l ização de memória principal e memória de 
armazenamento. 
S – Segurança. O programa deve prever e tratar possíveis erros do 
usuário. Exemplo: se pedirmos para digi tar o Sexo (M/F), o 
programa não deve deixar que o usuário digi te qualquer outra letra 
que não sejam o M ou o F . 
Para elaborar a solução de um problema usamos os Algoritmos . 
 
LÓGICA DE PROGRAMAÇÃO 14 
ALGORITMOS 
O QUE É UM ALGORITMO? 
Um Algoritmo é uma seqüência f inita de instruções bem claras, bem 
definidas e bem detalhadas que, quando colocadas em uma ordem lógica , nos 
levam a solução de um problema. 
Os Algoritmos independem da l inguagem de programação a ser ut i l izada. O 
objetivo da construção de Algoritmos é que eles possam ser adaptados a 
qualquer l inguagem de programação. 
Não existe apenas um Algoritmo para a solução de um problema. 
Um Algoritmo pode ser numérico ou não. 
Um Algoritmo pode ter tantas entradas e saídas de dados, quantas forem 
necessárias, pode até não ter entradas, mas obrigatoriamente deverá ter pelo 
menos uma saída de dados que é o resultado do processamento. 
FORMAS DE REPRESENTAÇÃO DE UM ALGORITMO 
Temos 3 (três) formas de representar um algori tmo: 
• PSEUDOCÓDIGO (OU PORTUGUÊS ESTRUTURADO, OU PORTUGOL). 
• FLUXOGRAMA 
• DIAGRAMA DE CHAPIN 
PSEUDOCÓDIGO : As estruturas lógicas são escri tas numa l inguagem próxima 
ao português, na seqüência em que são executadas. 
FLUXOGRAMA: Nesta forma de representação as estruturas lógicas são 
expressas através de f iguras geométricas, interl igadas por setas que indicam o 
caminho a ser seguido. 
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 15 
DIAGRAMA DE CHAPIN : As estruturas lógicas são representadas por f iguras 
retangulares, colocadas uma após a outra, de cima para baixo. 
 
VANTAGENSE DESVANTAGENS 
PSEUDOCÓDIGO: 
• Fácil de compreender. 
• Fáci l de ler e converter para programação. 
• Melhor para representar programas maiores. 
• É estruturado. 
FLUXOGRAMA: 
• Fácil de compreender. 
• Bom para construir e visual izar pequenos programas. 
• Difíci l de desenhar quando o programa f ica muito grande. 
• Não é estruturado. 
DIAGRAMA DE CHAPIN: 
• Fáci l de compreender, ler e converter para a programação. 
• É estruturado. 
• Bom para visual izar pequenos programas. 
• Difíci l de desenhar quando o programa f ica muito grande. 
Observação: Neste curso usaremos algoritmos com a forma de representação Pseudocódigo. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 16 
ALGORITMOS NATURAIS 
Algori tmos naturais são usados para l inguagens mais ant igas que não são 
estruturadas e nem modulares, como Fortran, Basic, Cobol (antes de ter o 
comando Perform), etc.. . 
Esse t ipo de algori tmo uti l iza comandos de retorno ou avanço (instrução GO 
TO) , do f luxo para determinada l inha do algori tmo. 
Com o surgimento das l inguagens de programação estruturadas e modulares 
esse t ipo de algori tmo se tornou obsoleto. 
As l inguagens estruturadas não possuem mais os comandos de retorno ou 
avanço (instrução GO TO) , para uma determinada l inha do algori tmo, a própria 
estrutura é que define o retorno ou avanço do f luxo. 
EXEMPLO DE ALGOR ITMO NATURAL 
Algori tmo para ret irar a devolução do Imposto de Renda. 
INICIO 
Passo 1 – Sair de casa. 
Passo 2 – Ir até o banco. 
Passo 3 – dir igir-se ao balcão. 
Passo 4 – Já chegou a devolução do Imposto de Renda? 
Passo 5 – Sim: vá para o passo 12. 
Passo 6 – Não: Voltar para casa. 
Passo 8 – Esperar um dia. 
Passo 9 – É sábado, domingo ou feriado? 
Passo 10 – Sim: vá para o passo 8. 
Passo 11 – Não: vá para o passo 1. 
Passo 12 – Retirar o dinheiro. 
Passo 13 – Voltar para casa. 
FIM 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 17 
ALGORITMO NATURAL COMPARADO COM ALGORITMO ESTRUTURADO 
Desafio : ler dez valores numéricos, mostrar os valores l idos e no f inal mostrar a 
soma dos números digi tados. 
ALGOR ITMO NATURAL ALGOR ITMO ESTRUTURADO 
INICIO VARIAVEIS 
 Passo 1 – Ler N NUMERICO N, S, C 
 Passo 2 – Escrever N INICIO 
 Passo 3 – S = S + N FACA ENQUANTO C<10 
 Passo 4 – C = C + 1 LER N 
 Passo 5 – C < 10? ESCREVER N 
 Passo 6 – Sim: vá para o passo 1 S = S + N 
 Passo 7 – Não: vá para o passo 8 C = C + 1 
 Passo 8 – Escrever “Soma =“,S FIM_ENQUANTO 
FIM ESCREVER “Soma =“,S 
 FIM 
Na construção de algori tmos, ut i l izamos diversos elementos. Entre eles 
podemos ci tar valores informados ao programa (pelo teclado ou l idos de um 
disco), comandos para armazenar valores, expressões, estruturas, e etc. 
Veremos a seguir quais são esses elementos, quando usar, para que usar e 
como eles funcionam dentro de um algori tmo. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 18 
ELEMENTOS USADOS NOS ALGORITMOS 
1 CONSTANTES: 
1.1 Numérico; 
1.2 Data; 
1.3 Lógica; 
1.4 Caracter (texto, literal, string) 
2 VARIÁVEIS: 
2.1 Numérico; 
2.2 Data; 
2.3 Lógica; 
2.4 Caracter (texto, literal, string) 
3 EXPRESSÕES: 
3.1 Operandos; 
3.2 Operadores; 
4 COMANDO DE ATRIBUIÇÃO: 
5 ESTRUTURAS: 
5.1 Seqüencial; 
5.2 Seleção; 
5.2.1 Simples; 
5.2.2 Composta; 
5.2.3 Múltipla; 
5.3 Repetição; 
5.3.1 Contador fixo; 
5.3.2 Flag; 
5.3.2.1 De resposta; 
5.3.2.2 Predeterminado; 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 19 
CONSTANTES 
CONSTANTES: são valores ut i l izados no processamento, mas que não 
sofrerão alterações durante o mesmo. Exemplos: nomes, datas de nascimento, 
números de funcionários, nomes de cidades, etc. 
As constantes podem ser dos seguintes tipos: 
NUMÉRICO: Quando começam por um número, um sinal ou um parêntese, 
todos os demais caracteres são apenas números, com apenas uma exceção, que 
é o separador decimal (dependendo da l inguagem, pode ser o ponto ou a vírgula). 
Exemplos: 123, 34,75, (567), -512, etc. 
DATA: Quando t iver um formato conhecido de data. Os mais comuns são: 
dd/mm/aa, dd/mmm/aa, dd/mm/aaaa, dd/mmm/aaaa, dd/mm, dd/mmm, mm/aa, 
mmm/aa, mm/aaaa, mmm/aaaa. 
LÓGICA: (Booleanas). São os valores que correspondem às quatro letras ou 
palavras lógicas correspondentes: T (True), F (False), Y (Yes), N (No). 
CARACTER: (Texto, Li teral ou String). São reconhecidas pela exclusão, ou 
seja, tudo que não for reconhecido como numérico, data ou lógico, é do t ipo 
caracter. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 20 
VARIÁVEIS 
VARIÁVEIS: Não são valores. Variáveis são endereços de memória (Ram) que 
armazenam temporariamente valores. Esses endereços recebem um rótulo, que é 
o nome da variável, e um conteúdo. Cada vez que mencionamos o nome da 
variável, é manipulado o seu conteúdo. 
Observação: Podemos imaginar uma variável como sendo uma gaveta em um 
armário (endereço de memória Ram), onde guardamos alguma 
coisa (conteúdo), prego, por exemplo. Para ident i f icar esta gaveta 
colocamos uma etiqueta (rótulo), com o nome de prego (nome da 
variável). Quando queremos pregos temos que abrir a gaveta que 
tem o rótulo prego e pegar o seu conteúdo. 
Os nomes das variáveis devem sempre começar por uma letra, não devem 
ter espaços em branco e nem caracteres especiais, no máximo o símbolo 
sublinhado. Exemplos: Nome_cl i , Num_func, Datanasc, etc. 
As variáveis são declaradas no início do algori tmo. Dependendo do valor a 
ser armazenado, as variáveis poderão ser dos t ipos: Numérico , Data , Lógico ou 
Caracter ( texto, l i teral ou str ing). 
Os valores armazenados nas variáveis permanecem até que: 
• O computador seja desligado (normal ou por falta de energia), visto que são armazenados 
na memória Ram; 
• Por término do programa ou rot ina onde foram criadas; 
• Seja atribuído um novo valor para a mesma variável. 
Observação: Só podemos armazenar um valor de cada vez em uma variável. Ao 
atr ibuirmos um novo valor que deve ser do mesmo t ipo, o valor 
anterior será sumariamente el iminado. 
Exemplo : Se escrevermos A=5 , o valor cinco será o conteúdo da variável A . 
Se mais adiante escrevermos A=20 , o valor vinte passa a ser o novo conteúdo da 
variável A , e o valor anterior, cinco, será el iminado. 
Escopo: (abrangência), as variáveis, dependendo da l inguagem, podem ser 
Públicas (Public) ou Globais (Global) e Privadas (Private) ou Locais (Locals). 
Observação: As variáveis Públicas ou Globais são vistas por todos os 
módulos do programa, e as Locais ou Privadas somente nas 
rotinas onde são criadas. 
 
LÓGICA DE PROGRAMAÇÃO 21 
EXPRESSÕES 
Expressão: é qualquer instrução de manipulação de dados. 
As expressões podem ser: 
ARITMÉTICAS: Nesse t ipo de expressão só podemos ut i l izar operadores, 
constantes e variáveis do t ipo numérico, e o resultado será sempre um valor 
numérico. Exemplo 3+2, A*B. 
RELACIONAIS: Nesse t ipo de expressão real izamos uma comparação entre 
dois ou mais operandos do mesmo t ipo, ut i l izando operadores relacionais e o 
resultado será sempre um valor lógico (verdadeiro ou falso). Exemplo: 10>5, A<B. 
LÓGICAS: É a união de duas ou mais expressões relacionais ut i l izando 
operadores lógicos, e o resultado também será sempre um valor lógico 
(verdadeiro ou falso). Exemplo: A>B E 10>5, Cidade = “Canoas” OU Cidade = 
“Porto Alegre”. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 22 
OPERANDOS E OPERADORES 
OPERANDOS 
São os elementos que serão manipulados. 
Como operandos podemos utilizar: 
CONSTANTES: Exemplo: 15+25, 345/5, 12,35*20; 
VARIÁVEIS: Exemplo: A-B, X/Y, HT*SH; 
FUNÇÕES DA LINGUAGEM: Exemplo: PI()*Cos(x)+Raiz(256,2) 
Observações: Linguagens apl icat ivas mais específ icas como as Plani lhas 
Eletrônicas e os Gerenciadores de Bancos de Dados podem 
ut i l izar como operandos as referências a células (Exemplo: 
A3*B5) ou os campos do Banco de dados (Exemplo: 
Horas_Trab*Sal_Hora). 
OPERADORES 
São símbolos ou palavras que indicam o t ipo de manipulação e também 
determinam de que t ipo é a expressão. 
Os operadores se dividem em três grupos: 
ARITMÉTICOS: 
• Adição: + 
• Subtração: - 
• Multipl icação: * 
• Divisão: / 
• Exponenciação: ^ 
Observação: Os operadores ari tméticos mantêm a mesma prioridade 
matemática, ou seja: em primeiro lugar são executadas as raízes 
e exponenciações, logo a seguir, as mult ipl icações e divisões, e, 
por úl t imo, as somas e subtrações. Em caso de empate de 
prioridades, o cálculo é efetuado sempre da esquerda para a 
direi ta. Para alterar a prior idade dos operadores, usamos 
parênteses. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 23 
RELACIONAIS 
• Igualdade: = 
• Maior do que: > 
• Menor do que: < 
• Maior ou igual a: >= 
• Menor ou igual a: <= 
• Diferente: <> 
Observações: Entre os operadores relacionais não existem prioridades, sempre são 
executados da esquerda para a direita, à medida que forem aparecendo. 
LÓGICOS (Booleanos) 
• NAO 
• E 
• OU 
Observação: Nos operadores lógicos o E tem prioridade sobre o OU . 
Os operadores lógicos igualmente chamados de Booleanos ut i l izam a álgebra 
de Boole, ou álgebra Booleana, também denominada Tabela Verdade. 
O operador NAO é um inversor de resultados, isto é, se o resultado da 
expressão for verdadeiro transforma em falso e vice-versa. 
Exemplo: 50>30, resultado verdadeiro. NAO (50>30), resultado falso. 
Usando o operador E , o resultado f inal só será verdadeiro se o resultado de 
todas as condições forem verdadeiras, qualquer outra hipótese, o resultado será 
falso. 
Usando o operador OU , o resultado f inal só será falso se o resultado de 
todas as condições forem falsas; qualquer outra hipótese, o resultado será 
verdadeiro. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 24 
Veja o exemplo da tabela verdade abaixo: 
 
Comando de atr ibuição 
O comando de atr ibuição serve para colocar um valor (conteúdo) dentro de 
uma variável. 
O comando de atr ibuição, dependendo da l inguagem, pode ser: 
= ← := Exemplo: A = 15 ou A ←15 ou A := 15 
Em qualquer dos casos estamos colocando o valor 15 como conteúdo da 
variável A . 
Neste curso uti l izaremos como comando de atr ibuição o sinal de = . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 25 
ESTRUTURAS DE CONTROLE 
As estruturas de controle servem para direcionar o f luxo do processamento. 
As estruturas de controle podem ser: 
ESTRUTURA SEQÜENCIAL 
A estrutura seqüencial , como diz o próprio nome, é uma seqüência de 
instruções que se sucedem uma após a outra sem desvios ou interrupções. Este 
t ipo de estrutura não possui palavras chaves, é composta somente por l inhas de 
comandos sucessivas e está sempre l imitada pelo início e f im do algori tmo ou 
pelo inicio e f im de uma outra estrutura. 
Exemplo: Ler o nome e duas notas de um aluno, calcular a média e mostrar 
o nome do aluno, as duas notas e a média calculada. 
VARIAVEIS 
NUMERICO N1, N2, M 
CARACTER NOME 
INICIO 
N1 = 0 
N2 = 0 
M = 0 
LER NOME 
LER N1 
LER N2 
M = (N1+N2)/2 
ESCREVER NOME, N1, N2,M 
FIM 
ESTRUTURA DE SELEÇÃO 
Devemos ut i l izar uma estrutura de seleção. Sempre que para executar 
alguma ação dependa do resultado de uma condição, isto é, no que temos que 
fazer existe uma condicionante. 
Observação: Conforme o que devemos fazer, de acordo com o resultado da 
condição, a estrutura de seleção pode ser de três t ipos di ferentes: 
Seleção Simples, Seleção Composta ou Seleção Múlt ipla. 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 26 
ESTRUTURA DE SELEÇÃO SIMPLES 
Na estrutura de Seleção Simples , somente teremos uma ação se o resultado 
da condição for Verdadeiro , caso o resultado seja falso não há ação a ser 
executada. 
As palavras chaves de uma estrutura de Seleção Simples são: 
 
Exemplo: Ler o nome e duas notas de um aluno, calcular a média e mostrar 
o nome do aluno, as duas notas, a média calculada e as palavras Aluno 
Reprovado, caso a média seja menor do que sete. 
VARIAVEIS 
NUMERICO N1, N2, M 
CARACTER NOME 
INICIO 
N1 = 0 
N2 = 0 
M = 0 
LER NOME 
LER N1 
LER N2 
M = (N1+N2)/2 
ESCREVER NOME, N1, N2, M 
SE M < 7 ENTAO 
ESCREVER “ALUNO REPROVADO” 
FIM_SE 
FIM 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 27 
ESTRUTURA DE SELEÇÃO COMPOSTA 
Na estrutura de Seleção Composta , será executado um comando ou um 
grupo de comandos, caso o resultado da condição seja Verdadeiro e outro 
comando ou outro grupo de comandos diferentes, se o resultado da condição for 
Falso . 
As palavras-chave de uma estrutura de Seleção Composta são: 
 
Observação: Se o resultado da condição for Verdadeiro será executado tudo 
que estiver entre as palavras ENTAO e SENAO , sendo ignorado o 
que tudo que est iver após a palavra SENAO , porem se o resultado 
da condição for Falso , será desprezado tudo que estiver entre as 
palavras ENTAO e SENAO , sendo executado apenas o que estiver 
entre as palavras SENAO e FIM_SE . 
 Exemplo: Ler o nome e duas notas de um aluno, calcular a média e mostrar 
o nome do aluno, as duas notas, a média calculada e as palavras Aluno 
Reprovado, caso a média seja menor do que sete e Aluno Aprovado em caso 
contrário. 
VARIAVEIS 
NUMERICO N1, N2, M 
CARACTER NOME 
INICIO 
N1 = 0 
N2 = 0 
M = 0 
LER NOME 
LER N1 
LER N2 
M = (N1+N2)/2 
ESCREVER NOME, N1, N2,M 
SE M < 7 ENTAO 
ESCREVER “ALUNO REPROVADO” 
SENAO 
ESCREVER “ALUNO APROVADO” 
FIM_SE 
FIM 
 
LÓGICA DE PROGRAMAÇÃO 28 
ESTRUTURA DE SELEÇÃO MÚLTIPLA 
A Estrutura de Seleção Múltipla é ut i l izada quando devemos fazer vários 
testes em uma mesma variável ou testar o valor de uma variável dependendo do 
teste do valor de outra variável. 
Observação: A estrutura de Seleção Múltipla pode ser construída com 
Estruturas de Seleção Composta encadeadas (aninhadas), ou 
pela estrutura Faca Caso . 
Ut i l izando Estruturas de Seleção Composta encadeada, para fazer a 
Seleção Múltipla podemos fazer o encadeamento das seguintes formas: 
Encadeamento, somente se o resultado da primeira condição for verdadeiro. 
 
Encadeamento somente se o resultado da primeira condição for falso. 
 
 
LÓGICA DE PROGRAMAÇÃO 29 
Um encadeamento se o resultado da pr imeira condição seja verdadeiro, e 
outro encadeamento, caso o resultado da primeira condição seja falso. 
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
LÓGICA DE PROGRAMAÇÃO 30 
SELEÇÃO MÚLT IPLA COM ESTRUTURA DE FACA CASO: 
As palavras-chave da estrutura Faca Caso são: 
 
Observação: Para a solução do próximo exemplo, usaremos uma solução com 
estrutura de Seleção Composta encadeada e outra solução 
ut i l izando a estrutura Faca Caso . 
Exemplo: Ler o estado civi l de uma pessoa como valor numérico, sendo que 
1 corresponde a Solteiro, 2 a Casado e 3 para Outros. Testar estes valores 
levando-se em conta que o usuário pode digitar errado e escrever o estado civi l 
em caracteres. 
SOLUÇÃO UT IL I ZANDO ESTRUTURA DE SELEÇÃO COMPOSTA ENCADEADA: 
VARIAVEIS 
NUMERICO EC 
INICIO 
EC = 0 
ESCREVER “Digite o estado civil (1 – solteiro, 2 – casado, 3 – outros)” 
LER EC 
SE EC = 1 ENTAO 
ESCREVER “Solteiro” 
SENAO 
SE EC = 2 ENTAO 
ESCREVER “Casado” 
SENAO 
SE EC = 3 ENTAO 
ESCREVER “Outros” 
SENAO 
ESCREVER “Valor inválido” 
FIM_SE 
FIM_SE 
FIM_SE 
 
LÓGICA DE PROGRAMAÇÃO 31 
SOLUÇÃO UT IL I ZANDO ESTRUTURA DE FACA CASO: 
VARIAVEIS 
NUMERICO EC 
INICIO 
EC = 0 
ESCREVER “Digite o estado civil (1 – solteiro, 2 – casado, 3 – outros)” 
LER EC 
FACA CASO 
CASO EC = 1: 
ESCREVER “Solteiro” 
CASO EC = 2: 
ESCREVER “Casado” 
CASO EC = 3: 
ESCREVER “Outros” 
OUTRO_CASO: 
ESCREVER “Valor inválido” 
FIM_CASO 
ESTRUTURA DE REPETIÇÃO 
Uma Estrutura de Repetição deve ser usada sempre que uma rot ina tenha 
que ser executada mais do que uma vez durante o mesmo processamento. 
As repetições podem ser fei tas por Contador Fixo , ou seja, a rot ina vai ser 
repetida sempre um número f ixo de vezes. Por Flag de Resposta , onde a cada 
volta do laço perguntamos ao usuário se ele quer cont inuar ou não, se a resposta 
for sim à rotina, segue repetindo; e se for não, a rot ina termina. Ainda podemos 
fazer a repetição por Flag Predeterminado , isto é, determinamos que quando o 
usuário pressionar um determinado conjunto de teclas ou um determinado valor 
para conteúdo de uma variável, a rot ina termina. 
Para construir a estrutura

Outros materiais