Buscar

Livro de Algoritmos e Lógica de Programação I

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 42 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 42 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 42 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

ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
“A Faculdade Católica Paulista tem por missão exercer uma ação integrada de suas atividades educacionais, visando à 
geração, sistematização e disseminação do conhecimento, 
para formar profissionais empreendedores que promovam 
a transformação e o desenvolvimento social, econômico e 
cultural da comunidade em que está inserida.
Missão da Faculdade Católica Paulista
 Av. Cristo Rei, 305 - Banzato, CEP 17515-200 Marília - São Paulo.
 www.uca.edu.br
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma 
sem autorização. Todos os gráficos, tabelas e elementos são creditados à autoria, 
salvo quando indicada a referência, sendo de inteira responsabilidade da autoria a 
emissão de conceitos.
Diretor Geral | Valdir Carrenho Junior
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
SUMÁRIO
AULA 01
AULA 02
AULA 03
AULA 04
AULA 05
AULA 06
AULA 07
AULA 08
AULA 09
AULA 10
AULA 11
04
05
07
09
12
17
19
22
29
31
35
INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO
CONCEITOS INICIAIS
COMO CONSTRUIR ALGORITMOS
TIPOS DE ALGORITMOS: LINGUAGEM NATURAL, 
FLUXOGRAMA E PSEUDOCÓDIGO
COMANDOS DE ENTRADA E SAÍDA
TABELA-VERDADE (OPERADORES LÓGICOS)
ESTRUTURA SEQUENCIAL
ESTRUTURA DE SELEÇÃO
SELEÇÃO HOMOGÊNEA
MÚLTIPLA ESCOLHA
ESTRUTURA DE REPETIÇÃO
FACULDADE CATÓLICA PAULISTA | 4
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 1 
INTRODUÇÃO À LÓGICA DE 
PROGRAMAÇÃO
É muito comum associarmos a palavra lógica apenas à matemática, mas esse termo 
normalmente está relacionado à coerência e à racionalidade (FORBELLONE, 2005). A 
lógica pode ser relacionada com a expressão “correção do pensamento”, pois uma de suas 
responsabilidades é determinar quais operações são válidas e quais não são (FORBELLONE, 
2005). 
De acordo com Forbellone (2005), a lógica também pode ser interpretada como a “ciência 
das formas do pensamento”, uma vez que a forma mais complexa do pensamento é o 
raciocínio e, portanto, a lógica estuda a correção do raciocínio.
A lógica de programação utiliza-se do uso correto das leis do pensamento e dos processos 
de raciocínio na programação de computadores, com o objetivo de racionalizar e desenvolver 
técnicas que auxiliem na produção de soluções logicamente válidas e coerentes e que resolvam 
com eficiência os problemas que se deseja programar (FORBELLONE, 2005).
Segundo Forbellone (2005), o principal objetivo do estudo da Lógica de Programação é 
a construção de algoritmos válidos e compreensivos. 
Indicação de filme
Nome: O Jogo da Imitação
Ano: 2014
Comentário: O filme é baseado na história real Alan Turing, matemático britânico 
e considerado o pai da computação. Em plena Segunda Guerra Mundial, Turing é 
contratado pelo governo inglês para ajudar a construir uma máquina capaz de 
decriptografar mensagens nazistas e assim contribuir para que sejam definidas novas 
estratégias de guerra pelos aliados com o intuito de vencer a guerra. Essa máquina 
ficou conhecida como máquina de Turing e utilizou conceitos de lógica e de algoritmos 
para ser construída. 
Para conhecer mais sobre o filme, acesse o trailer disponível em: < https://www.youtube.
com/watch?v=YIkKbMcJL_4>.
FACULDADE CATÓLICA PAULISTA | 5
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 2 
CONCEITOS INICIAIS
A começar de sua existência, os seres humanos sempre estiveram determinados em 
desenvolver máquinas que os ajudassem com as suas tarefas cotidianas, com o objetivo de 
economizar tempo e minimizar as dificuldades. No meio dessas máquinas, o computador 
vem se destacando por ser um dispositivo flexível, veloz e seguro (ASCENCIO, 2012).
Nos dias atuais o computador é uma ferramenta essencial em diversos setores da 
sociedade. São apresentados nos mais diversos formatos, desde o computador de mesa, os 
desktops, os portáteis, notebooks e tablets, até os supercomputadores que realizam cálculos 
exorbitantes (GUEDES, 2014). Mas sozinho, o computador não tem nenhuma iniciativa e 
precisa receber instruções claras e detalhadas de como e em quais ocasiões ele deve realizar 
o processamento dos dados (ASCENCIO, 2012) (GUEDES, 2014). Portanto, é necessário 
programá-lo para que ele possa executar as tarefas e solucionar problemas (GUEDES, 2014).
De acordo com Guedes (2014), para que o computador possa executar tarefas é necessário 
efetuar uma programação com uma sequência bem definida de instruções e essa elaboração 
de sequência bem definida é conhecida como algoritmo. 
Um algoritmo é classificado como uma sequência de etapas que devem ser realizadas para 
alcançar um determinado objetivo (GUEDES, 2014). Segundo Ascencio (2012), um algoritmo 
é a descrição de uma sequência de passos que deve ser seguida para efetuar uma tarefa.
É muito comum em nosso dia a dia nos depararmos com diversos exemplos de algoritmos. 
Um exemplo cotidiano é o da receita de bolo, onde está descrito um conjunto de ingredientes 
essenciais, com suas respectivas quantidades e uma sequência de passos que devem ser 
executados para que o resultado final seja alcançado com sucesso (GUEDES, 2014).
De acordo com Guedes (2014), cada tarefa que realizamos no nosso dia a dia é um 
algoritmo, que atua como uma receita, obedecendo as etapas necessárias para chegar no 
resultado final. 
Podemos observar no exemplo a seguir a execução de um algoritmo comumente utilizado 
em nosso dia a dia (ASCENCIO, 2012).
FACULDADE CATÓLICA PAULISTA | 6
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
ALGORITMO – Fazer um sanduíche
Passo 1: Pegar o pão.
Passo 2: Cortar o pão ao meio.
Passo 3: Pegar a maionese.
Passo 4: Passar a maionese no pão.
Paso 5: Pegar e cortar a alface o tomate.
Passo 6: Colocar a alface e o tomate no pão.
Passo 7: Pegar o hambúrguer.
Passo 8: Fritar o hambúrguer.
Passo 9: Colocar o hambúrguer no pão.
Os algoritmos podem ser executados de maneiras diferentes, assim como os problemas 
podem ter diversas soluções, mas sempre alcançando o mesmo resultado. Sendo assim, 
podem existir diversos algoritmos para solucionar o mesmo problema (ASCENCIO, 2012) 
(GUEDES, 2014).
FACULDADE CATÓLICA PAULISTA | 7
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 3
COMO CONSTRUIR ALGORITMOS
Um algoritmo tem por finalidade fazer a representação mais fiel do raciocínio envolvido 
na Lógica de Programação, e desse modo, nos permite absorver uma sequência de detalhes 
computacionais (FORBELLONE, 2005).
De acordo com Forbellone (2005), uma das importâncias da construção de algoritmos é 
que uma vez compreendida uma solução algorítmica para um determinado problema, esta 
pode ser traduzida para qualquer linguagem de programação. 
Segundo Ascencio (2012), para a construção de qualquer tipo de algoritmo, é preciso 
seguir estes passos:
a. Compreender completamente o problema a ser resolvido e destacar os pontos mais 
importantes e os objetos que o compõem.
b. Definir os dados de entrada, isto é, quais dados serão fornecidos e quais objetos fazem 
parte do cenário do problema.
c. Definir o processamento. Quais operações serão efetuadas e quais serão as restrições 
para essas operações. A responsabilidade de transformar os dados de entrada em 
dados de saída e de verificar quais objetos são responsáveis pela atividade é atribuição 
do processamento; 
d. Definir os dados de saída. 
e. Construir o algoritmo utilizando um dos tipos mais comuns de algoritmos.
f. Testar o algoritmo através de simulações. 
Na prática qualquer pessoa amparada na própria experiência é capaz de resolver problemas, 
entretanto, um programa de computador não tem conhecimento prévio e não adquire 
experiência própria na solução de problemas, o que ocasiona que devemos determinar em 
detalhes todas as ações que ele deve executar, prevendo as dificuldades e as maneiras de 
superá-las para que se consigaa solução do problema. Todo esse processo é realizado pelos 
programadores, também conhecidos como construtores de algoritmos (FORBELLONE, 2005).
FACULDADE CATÓLICA PAULISTA | 8
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Dica de leitura
Nome do livro: Algoritmos e Programação: Teoria e Prática
Editora: Novatec
Autor: Marco Medina e Cristina Fertig
ISBN: 978-8575220733
Comentário: Essa é uma obra bastante didática, que demonstra como compreender 
algoritmos e pseudocódigo com uma linguagem muito simples. O livro detalha todos os 
processos da construção de algoritmos e oferece diversos exemplos em pseudocódigo 
e nas linguagens de programação Pascal e C.
FACULDADE CATÓLICA PAULISTA | 9
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 4
TIPOS DE ALGORITMOS: 
LINGUAGEM NATURAL, 
FLUXOGRAMA E PSEUDOCÓDIGO
Um algoritmo é uma linha de raciocínio que pode ser descrito de diversas maneiras, de forma 
textual ou gráfica, e cada uma dessas técnicas tem suas vantagens e desvantagens, mas ambas 
permitem um nível elevado de clareza em relação ao fluxo de execução (FORBELLONE, 2005).
De acordo com Ascencio (2012), os três tipos de algoritmos mais utilizados são: linguagem 
natural, fluxograma e pseudocódigo.
Linguagem Natural
Linguagem natural ou descrição narrativa consiste em analisar o problema e escrever utilizando 
uma linguagem natural, por exemplo, a língua portuguesa os passos para a sua resolução 
(ASCENCIO, 2012).
A vantagem de utilizar a descrição narrativa é que não há necessidade de aprender nenhum 
conceito novo e a sua desvantagem é que a linguagem natural pode ser interpretada de várias 
maneiras, o que pode dificultar a transcrição do algoritmo para uma linguagem de programação 
(GUEDES, 2014).
Exemplo de algoritmo em linguagem natural para a multiplicação de dois números:
Passo 1: Receber os dois números que serão multiplicados.
Passo 2: Multiplicar os dois números.
Passo 3: Mostrar o resultado da multiplicação dos dois números.
Fluxograma
O algoritmo baseado em fluxograma consiste em interpretar o enunciado do problema e 
escrever os passos a serem seguidos para a solução do problema utilizando símbolos gráficos 
predefinidos (ASCENCIO, 2012).
De acordo com Guedes (2014), uma das vantagens em se utilizar símbolos gráficos é que 
estes são mais simples de compreender em relação aos textos, mas é necessário aprender a 
simbologia, que não permite detalhes mais precisos, o que dificulta a transcrição do algoritmo 
para uma linguagem de programação e problemas complexos resultam em um fluxograma 
muito amplo, o que torna difícil a visualização.
FACULDADE CATÓLICA PAULISTA | 10
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Exemplo de algoritmo em fluxograma para a multiplicação de dois números:
Figura 1 – Algoritmo representado em fluxograma
Fonte: Adaptado de Ascencio (2012, p. 04).
Anote isso
Fonte: Guedes (2014, p. 7).
FACULDADE CATÓLICA PAULISTA | 11
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Pseudocódigo
Também conhecido como portugol o pseudocódigo consiste em interpretar o enunciado 
do problema e escrever os passos a serem seguidos para a sua resolução através de regras 
predefinidas (ASCENCIO, 2012).
No pseudocódigo, a transcrição do algoritmo para qualquer linguagem de programação é 
quase imediata, mas é necessário aprender as regras do padrão do pseudocódigo utilizado. 
Na prática é o mesmo que desenvolver o programa aplicativo para depois reproduzir para 
uma linguagem de programação (ASCENCIO, 2012).
O pseudocódigo é amplamente utilizado pela maioria dos programadores para desenvolver 
seus algoritmos. É mais comum utilizar o pseudocódigo por ser o tipo de algoritmo mais 
próximo de uma linguagem usual (GUEDES, 2014).
Exemplo de algoritmo em pseudocódigo para a multiplicação de dois números:
Algoritmo
Declare N1, N2, M Numérico
Escreva “Digite dois números”
Leia N1, N2
M  N1 * N2
Escreva “Multiplicação = “, M
Fim_Algoritmo.
FACULDADE CATÓLICA PAULISTA | 12
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 5
COMANDOS DE ENTRADA E SAÍDA
Os algoritmos necessitam ser abastecidos com dados provenientes do meio externo 
para que consigam realizar as operações e os cálculos que são fundamentais para almejar 
o resultado necessário. Sendo assim, são utilizados os comandos de entrada e saída 
(FORBELONE, 2005). 
O comando de entrada em algoritmos é utilizado para receber os dados digitados pelo 
usuário e que serão armazenados em variáveis (ASCENCIO, 2012), ou seja, a finalidade desse 
comando é atribuir o dado a ser fornecido para uma variável identificada (FORBELLONE, 
2005). No pseudocódigo esse comando é representado pela palavra LEIA (ASCENCIO, 2012).
Exemplo:
LEIA X
Nesse caso, um valor digitado pelo usuário será armazenado na variável X.
Quando o algoritmo mostra os dados que calculou, como uma forma de apresentar a 
resposta ao problema que solucionou, utiliza-se o comando de saída ESCREVA, cuja finalidade 
é exibir o conteúdo da variável identificada (FORBELLONE, 2005). Esse comando é utilizado 
para mostrar os dados na tela (ASCENCIO, 2012).
Exemplo:
ESCREVA X
Exibe o valor armazenado na variável X.
5.1 Variáveis, Operadores e Constantes
Quando o assunto é programação esbarramos em dois tipos de valores: as variáveis, que 
se alteram conforme determinadas condições e que exigem que o algoritmo esteja preparado 
para atender essas alterações e os valores constantes, que não se alteram, permanecem 
sempre os mesmos, não importando a condição. Também são utilizados as operações e os 
operadores, que caracterizam as expressões de cálculo, condição, atribuição e comparação 
(GUEDES, 2014). 
FACULDADE CATÓLICA PAULISTA | 13
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
5.2 Tipos de Processamento: Variáveis, Constantes, Expressões 
Aritméticas e Lógicas
Variáveis
Nos algoritmos são utilizadas as variáveis para representarem valores conhecidos e 
desconhecidos. Esses valores são utilizados na resolução de um problema e podem ser 
alterados de acordo com a condição. Sendo assim, pode-se dizer que as variáveis armazenam 
dados de uma forma temporária que serão utilizados durante o processamento do programa 
para a resolução do problema em questão (GUEDES, 2014).
Quando um dado tem a possibilidade de ser alterado durante a execução do algoritmo ele 
é considerado uma variável (FORBELLONE, 2005). Uma variável representa uma posição de 
memória e possui nome, tipo e seu conteúdo pode variar ao longo do tempo de execução 
do programa e, embora uma variável possa assumir valores diferentes, ela somente pode 
armazenar um valor de cada vez (ASCENCIO, 2012).
Constantes
Quando um dado não sofre nenhuma alteração no decorrer da execução do programa, ou 
seja, quando o seu valor se mantém constante do início até o fim da execução do programa, 
esse dado é considerado uma constante (FORBELLONE, 2005).
Expressões Aritméticas e Lógicas
Quando os operadores são aritméticos e os operandos são constantes ou variáveis do tipo 
numérico, temos então uma expressão aritmética (FORBELLONE, 2005). E quando temos 
um conjunto de símbolos que representam as operações básicas da matemática, temos os 
operadores aritméticos (FORBELONNE, 2005).
As expressões lógicas são aquelas cujos operadores são lógicos ou relacionais e os 
operandos são relações, variáveis ou constantes do tipo lógico (FORBELLONE, 2005).
5.3 Operadores: Matemáticos, Funções Matemáticas
Os operadores aritméticos são utilizados para a realização de cálculos matemáticos e são 
compostos por um conjunto de símbolos utilizados nas operações básicas da matemática 
(GUEDES, 2014).
FACULDADE CATÓLICA PAULISTA | 14
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Operador Função Exemplos
+ Adição 1 + 2, A + B
- Subtração 6 – 3, A – B
* Multiplicação 2 * 4, A * B
/ Divisão6/3, A/B
Tabela 1 – Operadores Aritméticos
Fonte: Adaptado de Forbellone (2005, p. 19). 
Alguns operadores aritméticos utilizados na realização de cálculos podem ser também 
representados por funções matemáticas, como a potenciação, a radiciação, o resto da divisão 
e o quociente da divisão (GUEDES, 2014).
Operador Função Significado Exemplos
pot(x,y) Potenciação x elevado a y Pot(2,4)
rad(x) Radiciação Raiz quadrada de x rad(25)
Tabela 2 – Potenciação e radiciação
Fonte: Adaptado de Forbellone (2005, p. 19). 
Operador Função Exemplos
mod Resto da divisão
9 mod 4 resulta em 1
27 mod 5 resulta em 2
div Quociente da divisão
9 div 4 resulta em 2
27 div 5 resulta em 5
Tabela 3 – Operador de resto e quociente da divisão inteira
Fonte: Adaptado de Forbellone (2005, p. 19). 
De acordo com Forbellone (2005), para a resolução das expressões aritméticas, as 
operações devem obedecer a uma hierarquia entre elas.
Prioridade Operadores
1ª parênteses mais internos
2ª pot rad
3ª * / div mod
4ª + -
Tabela 4 – Precedência entre os operadores aritméticos
Fonte: Adaptado de Forbellone (2005, p. 20). 
FACULDADE CATÓLICA PAULISTA | 15
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
No caso de operadores de mesma prioridade se deve resolver da esquerda para a direita, 
conforme a sequência existente na expressão aritmética (FORBELLONE, 2005).
Exemplos:
a. 4 + 2 + 6/2
4 + 2 + 3
9
b. 4 – 2 * 6/3 – pot(2,3)
4 – 2 * 6/3 – 8
4 – 12/3 – 8
4 – 4 – 8
- 8
c. pot(4,2) – 6/3 + rad(1 + 4 * 6) /5
pot(4,2) – 6/3 + rad(1 + 24) /5
pot(4,2) – 6/3 + rad(25) /5
16 – 6/3 + 1
16 – 2 + 1
15
As expressões lógicas são aquelas cujos operadores são lógicos ou relacionais e os 
operandos são relações, variáveis ou constantes do tipo lógico (FORBELLONE, 2005).
Os operadores relacionais são utilizados para realizar comparações entre dois valores do 
mesmo tipo primitivo, onde esses valores são representados por constantes, variáveis ou 
expressões aritméticas e nas construções de equações são comuns a utilização de operadores 
relacionais, onde o resultado de uma relação é sempre um valor lógico (FORBELLONE, 2005).
Operador Função Exemplos
= Igual a 2 = 2, A = B
> Maior que 8 > 7, A > B
< Menor que 2 < 3, A < B
>= Maior ou igual a 4 >= 2, A >= B
<= Menor ou igual a 2 <= 4, A <= B
<> Diferente de 4 <> 5, A <> B
Tabela 5 – Operadores relacionais
Fonte: Adaptado de Forbellone (2005, p. 21). 
FACULDADE CATÓLICA PAULISTA | 16
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Exemplos:
a. 3 * 4 = 24/2
 12 = 12
 V
b. 15 mod 4 > 9 mod 4
 3 > 1
 V
c. 2 * 5 div 3 <= pot(2,3) /2
 10 div 3 <= 8 /2
 3 <= 4
 V
FACULDADE CATÓLICA PAULISTA | 17
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 6 
TABELA-VERDADE 
(OPERADORES LÓGICOS)
Os operadores lógicos são utilizados para associar expressões que estabelecem uma 
comparação entre valores, segundo Guedes (2014), para a formação de novas proposições 
lógicas compostas a partir de outras proposições lógicas mais simples (FORBELLONE, 2005).
Operador Função
não negação
e conjunção
ou disjunção
Tabela 6 – Operadores lógicos
Fonte: Adaptado de Forbellone (2005, p. 22). 
A tabela-verdade é o conjunto de todas as possibilidades combinatórias entre os valores 
de diversas variáveis ou expressões lógicas em função do operador lógico utilizado que se 
encontram em duas possíveis situações, verdadeiro ou falso (FORBELLONE, 2005) (GUEDES, 
2014), sendo uma ferramenta muito utilizada para facilitar a análise da combinação de 
expressões e variáveis (GUEDES, 2014).
As tabelas abaixo apresentam exemplos de tabelas-verdade.
A não A
F V
V F
Tabela 7 – Operação de negação
Fonte: Adaptado de Forbellone (2005, p. 23). 
A B A e B
F F F
F V F
V F F
V V V
Tabela 8 – Operação de conjunção
Fonte: Adaptado de Forbellone (2005, p. 23). 
A B A ou B
F F F
F V V
V F V
V V V
Tabela 9 – Operação de disjunção
Fonte: Adaptado de Forbellone (2005, p. 23). 
FACULDADE CATÓLICA PAULISTA | 18
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
De acordo com o autor Forbellone (2005), abaixo seguem alguns exemplos de aplicações 
com tabelas-verdade:
a. Se chover e relampejar, eu fico em casa.
Quando eu fico em casa?
Nesse exemplo, a proposição somente será verificada quando os termos chover e relampejar 
forem simultaneamente verdadeiros.
b. Se chover ou relampejar eu fico em casa.
Quando eu fico em casa?
Com o operador lógico ou as possibilidades de “eu fico em casa” são maiores, pois de acordo 
com a tabela-verdade, a proposição se tornará verdadeira nos casos: somente chovendo, 
somente relampejando e chovendo e relampejando.
c. 2 < 5 e 15/3 = 5
V e 5 = 5
V = V
V
d. 2 < 5 ou 15/3 = 5
V ou V
V
Prioridade Operadores
1ª não
2ª e
3ª ou
Tabela 10 – Operação de conjunção
Fonte: Adaptado de Forbellone (2005, p. 24). 
Prioridade Operadores
1ª parênteses mais internos
2ª operadores aritméticos
3ª operadores relacionais
4ª operadores lógicos
Tabela 11 – Precedência entre todos operadores
Fonte: Adaptado de Forbellone (2005, p. 24).
Exemplo:
a. não (4 <> 8/2) ou V e 3 – 6 > 6 – 3 ou V
não ( 4 <> 4 ou V e – 3 > 3 ou V)
não (F ou V e F ou V)
não (F ou F ou V)
não (F ou V)
não (V)
F
FACULDADE CATÓLICA PAULISTA | 19
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 7
ESTRUTURA SEQUENCIAL
De acordo com Forbellone (2005), uma estrutura sequencial de um algoritmo está 
relacionada com o fato de que o conjunto de ações primitivas será executado em uma 
sequência linear de cima para baixo e da esquerda para a direita, ou seja, da mesma maneira 
em que foram escritas.
As ações serão seguidas de um ponto-e-vírgula (;), que tem por finalidade separar uma 
ação de outra e auxiliar na organização sequencial das ações, pois ao encontrar um ponto-
e-vírgula se deve executar o próximo comando na sequência (FORBELLONE, 2005).
Segundo Forbellone (2005), o modelo abaixo representa um modelo básico de estrutura 
sequencial para se escrever um algoritmo, identificando o bloco, colocando início e fim, e 
dentro iniciando a declaração das variáveis e depois o corpo do algoritmo.
Algoritmo Modelo básico 
1. início // identificação do início do bloco correspondente ao algoritmo
2. 3. // declaração de variáveis
4.
5. // corpo do algoritmo
6. Ação 1;
7. Ação 2;
8. Ação 3;
9. .
10. .
11. .
12. Ação n;
13.
14. Fim. // fim do algoritmo
Segundo Ascencio (2012), as variáveis são declaradas após a palavra DECLARE e os tipos 
mais usuais são: NUMÉRICO (para variáveis que irão receber números), LITERAL (para as 
FACULDADE CATÓLICA PAULISTA | 20
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
variáveis que irão receber caracteres) e LÓGICO (para as variáveis que irão receber valores 
verdadeiro ou falso).
Exemplo:
DECLARE 
X NUMÉRICO
Y, Z LITERAL
TESTE LÓGICO
O comando de atribuição é usado para fornecer valores ou operações para as variáveis 
(ASCENCIO, 2012).
Exemplo:
X  6
X  X + 2
Y  “nome”
teste  verdade
Exemplo do algoritmo para calcular a média aritmética.
Algoritmo Média Aritmética
1. início // começo do algoritmo
2.
3. Declare // declaração de variáveis
4. N1, N2, N3, N4 numérico // notas bimestrais
5. MA numérico // média anual
6.
7. // entrada de dados
8. Leia (N1, N2, N3, N4);
9. 
10. // processamento
11. MA  (N1, N2, N3, N4) / 4;
12.
13. // saída de dados
14.Escreva (MA);
15.
16. Fim. // fim do algoritmo
FACULDADE CATÓLICA PAULISTA | 21
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Anote isso
Quando é criado um algoritmo deve-se especificar ações claras e precisas que, a partir de 
um estado inicial e após um determinado tempo, resultem em um resultado final esperado. 
Um algoritmo estabelece um padrão de comportamento a ser seguido, com o objetivo de 
solucionarum problema, garantindo que sempre que for feito do mesmo modo, o resultado 
final será o mesmo.
Fonte: Forbellone (2005, p. 4).
FACULDADE CATÓLICA PAULISTA | 22
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 8
ESTRUTURA DE SELEÇÃO
A estrutura de seleção permite a escolha de um grupo de ações ou bloco a ser executado 
quando determinadas condições representadas por expressões lógicas ou relacionais são 
ou não satisfeitas (GUEDES, 2014). Serão abordados dois tipos de estrutura de seleção: 
simples e composta.
8.1 Sintaxe da Estrutura Sequencial: Seleção Simples e Seleção 
Composta
A seleção simples é utilizada para testar certa condição antes de executar determinada 
ação. Se a condição for aceita um determinado bloco de instruções deverá ser executado 
e se a condição não for aceita, o fluxo da execução do algoritmo irá seguir após o fim do 
bloco de decisão (GUEDES, 2014), como mostra o modelo abaixo:
se <condição>
então
 <conjunto de instruções>
fimse
Exemplo:
Algoritmo Saber se o número informado é ímpar
1. declare
2. numero numérico
3.
4.início
5.
6. leia (numero)
7.
8. se ((numero mod 2) = 1 então
9.
10. escreva (“O número informado é ímpar”)
11.
12. fimse
13.
14. fim.
FACULDADE CATÓLICA PAULISTA | 23
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Como no exemplo anterior somente existe uma condição a ser executada, então esta 
estrutura de seleção é denominada estrutura simples (GUEDES, 2014).
Utiliza-se a estrutura da seleção composta quando houver casos em que duas alternativas 
dependem de uma mesma condição, uma de a condição ser verdade e outra de a condição 
ser falsa como é descrito no modelo (FORBELLONE, 2005):
 se <condição>
então
<conjunto de instruções para o teste de condição resultar em verdade>
senão
<conjunto de instruções para o teste de condição resultar em falso>
fimse
Exemplo:
Algoritmo Cálculo do bônus salarial
1. declare
2. salario, bônus, tempo numérico
3.
4. início
5.
6. leia (salario)
7. leia (tempo)
8.
9. se (tempo >= 5) então
10.
11. bônus  salario * 0,20
12.
13. senão
14.
15. bônus  salario * 0,10
16
17. fimse
18.
19. escreva (“O valor do bônus é”, bônus)
20.
21. fim.
FACULDADE CATÓLICA PAULISTA | 24
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Nota-se que existe uma condição para a resposta verdadeira e outra condição para 
a resposta falsa, sendo assim, caracterizado como uma estrutura de seleção composta 
(GUEDES, 2014). 
8.2 Introdução à Linguagem de Programação 
Segundo Guedes (2014), a linguagem de programação é constituída de um conjunto de 
regras e palavras agrupadas em frases que irão resultar em um determinado significado e, 
sendo assim, essas palavras podem ser chamadas de comandos e as frases oriundas de 
estruturas de programação.
Um programa de computador é formado de comandos e estruturas de programação 
definidas pelas regras da linguagem de programação e produzidas de maneira que sejam 
fáceis de serem compreendidas pelos seres humanos (GUEDES, 2014).
As linguagens de programação foram criadas para solucionarem determinados tipos de 
problemas, sendo que algumas podem ser melhores para determinadas aplicações do que 
outras. Portanto, a linguagem de programação depende muito da sua adequação para a 
tarefa que se pretende realizar (GUEDES, 2014).
8.2.1 História da Linguagem de Programação
De acordo com Guedes (2014), existem diferentes linguagens de programação que 
surgiram ao longo do desenvolvimento dos sistemas computacionais e cada uma delas tem 
características próprias e recursos existentes da época de sua criação. Algumas permanecem 
ativas e foram atualizadas, recebendo novas funcionalidades e se adaptando para a exigente 
realidade de avanços no desempenho de hardware e exigências dos sistemas.
As primeiras linguagens de programação que surgiram eram de estrutura sequencial 
não possuíam interatividade e se destinavam a uma única atividade específica devido as 
características dos sistemas existentes à época. Depois, com a evolução dos computadores, 
dos sistemas operacionais e da complexidade computacional surgiram as linguagens 
estruturadas que permitiram a criação de sistemas mais interativos, organizados e com 
mais funcionalidades (GUEDES, 2014). 
Posteriormente, surgiram as linguagens orientadas a objetos que promoveram uma grande 
transformação no modo como os sistemas são desenvolvidos e codificados, retornando 
grande interatividade, processamento distribuído e alta diversidade para dispositivos (GUEDES, 
2014).
FACULDADE CATÓLICA PAULISTA | 25
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
8.2.2 Tipos de Dados, Constantes e Variáveis
Os tipos de dados mais utilizados são os numéricos, os lógicos e os literais. Os dados 
numéricos se dividem em dois grupos: inteiros e reais. Os dados numéricos do tipo inteiros 
podem ser positivos ou negativos e não podem ser fracionários (GUEDES, 2014). Exemplos: 
-10, 32, 129, -418. Já os dados numéricos reais podem ser positivos ou negativos e apresentam 
parte fracionária (GUEDES, 2014). Exemplo: 1.45, - 3.50, 225.75, 319.12.
Também conhecidos como dados booleanos, os dados lógicos assumem valores 
verdadeiros e falsos (GUEDES, 2014). E os dados literais são tipos de dados formados por 
um único caractere ou por uma sequência de caracteres. Esses dados podem ser caracteres 
do alfabeto, números, letras maiúsculas e minúsculas e caracteres especiais (GUEDES, 2014). 
Exemplo: “nome”, “2A”, “23#”, ‘5’.
Os caracteres representados entre aspas duplas (“ “) caracterizam um conjunto de caracteres 
e um único caractere é representado por aspas simples (‘ ‘) (GUEDES, 2014).
De acordo com Guedes (2014), os tipos de constantes que são valores que não sofrem 
alterações ao longo do desenvolvimento do algoritmo ou da execução do programa são 
expressas como dados constantes como o π, a raiz quadrada de um número e a constante 
de Napier (e), ou até mesmo um valor informado que não se altera durante a execução do 
algoritmo.
Como exemplos de tipos de variáveis podemos citar a cotação de moedas como o dólar e 
o euro, o índice de inflação (GUEDES, 2014), as ações de uma empresa na bolsa de valores, 
o valor do consumo de quilowatt/hora de uma residência.
8.3 Comandos de Entrada e Saída: Estrutura Sequencial
A estrutura sequencial em uma linguagem de programação pode ser descrita como no 
exemplo abaixo, onde foi utilizada a estrutura sequencial da linguagem de programação 
PASCAL (ASCENCIO, 2012).
PROGRAM nome;
USES nomes_das_unidades;
VAR nomes_das_variáveis: tipo;
BEGIN
bloco_de_comandos
END.
FACULDADE CATÓLICA PAULISTA | 26
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
A declaração de variáveis em Pascal é dada da seguinte maneira:
VAR X: INTEGER;
 Y, Z: REAL;
 NOME: STRING
 SEXO: CHAR;
 TESTE: BOOLEAN;
E as declarações de constantes realizadas após a palavra CONST.
CONST X = 10;
Y = 6.5;
NOME = “ZECA”;
SEXO = ‘M’;
TESTE = TRUE;
A atribuição de valores é feita da seguinte forma:
X := 5;
Y := 3.5;
Nome := “Arthur”;
Sexo := ‘M”;
Teste := false;
Um comando de entrada é descrito da seguinte forma:
READLN(nome_da_variável);
Exemplo:
READLN(NOME);
Um comando de saída é descrito da seguinte forma:
WRITELN(nome_da_variável);
Exemplo:
WRITELN(NOME);
FACULDADE CATÓLICA PAULISTA | 27
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
8.4 Estrutura de Controle: Sequencial e de Seleção
No desenvolvimento de algoritmos são utilizados os conceitos de bloco lógico, entrada e 
saída de dados, variáveis, constantes, atribuições, expressões lógicas, relacionais e aritméticas 
e também comandos que realizam a tradução de todos esses conceitos de maneira que 
representem um conjunto de ações (FORBELLONE, 2005). 
De acordo com Forbellone (2005), esse conjunto de ações somente será viável se existir 
uma perfeita relação lógicaessencial para a forma que essas ações são executadas pela 
forma que é conduzido o fluxo de execução do algoritmo. Assim sendo, os algoritmos que 
serão desenvolvidos e empregados nas resoluções dos problemas devem ser criados por meio 
das estruturas básicas de controle de fluxo de execução: sequenciação, seleção e repetição.
8.4.1 Estrutura Sequencial
Em algoritmos, uma estrutura sequencial corresponde ao fato de que o conjunto de ações 
primitivas será executado em uma sequência linear de cima para baixo e da esquerda para a 
direita, ou seja, da mesma forma em que foram escritas. As ações devem ser seguidas de um 
ponto e vírgula (;), que tem por objetivo separar uma ação da outra e auxiliar na organização 
sequencial das ações, uma vez que um ponto e vírgula (;) for encontrado, se deve executar 
o próximo comando da sequência (FORBELLONE, 2005).
De acordo com Forbellone (2005), um modelo básico de algoritmo deve identificar os blocos, 
utilizando início e fim, e dentro do bloco devem ser iniciadas a declaração das variáveis e 
depois o corpo do algoritmo.
Exemplo: Modelo geral de um algoritmo sequencial
1. início // identificação do início do bloco correspondente ao algoritmo
2. 
3. // declaração de variáveis
4. 
5. // corpo do algoritmo
6.
7. ação 1;
8. ação 2;
9. ação 3;
10 ação 4;
11. .
12. . 
13. .
14. ação n;
15.
16. fim. // fim do algoritmo
FACULDADE CATÓLICA PAULISTA | 28
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Anote isso
Depois de definir as variáveis de entrada e de saída é recomendável realizar uma série 
de perguntas do tipo “o quê?” com o objetivo de descobrir, de uma forma clara e objetiva, 
alguns aspectos relevantes que se deve levar em conta na criação do algoritmo e nas 
ações envolvidas no processamento necessário para a obtenção das respostas desejadas.
Fonte: Forbellone (2005, p. 31).
8.4.2 Estrutura de Seleção
A estrutura de seleção permite a escolha de um grupo de ações, ou blocos, a serem 
executados quando determinadas condições, descritas por expressões lógicas ou relacionais 
são ou não satisfeitas (FORBELLONE, 2005).
Segundo Forbellone (2005), quando a estrutura é encadeada ela pode ser homogênea 
ou heterogênea. Uma estrutura encadeada é caracterizada quando são agrupadas várias 
seleções. Essa estrutura, geralmente, ocorre quando uma determinada ação ou bloco deve 
ser executado caso um grande conjunto de possibilidades ou combinações for satisfeito.
FACULDADE CATÓLICA PAULISTA | 29
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 9
SELEÇÃO HOMOGÊNEA
A seleção homogênea utiliza a construção de diversas estruturas de seleção encadeadas 
que devem seguir um determinado padrão lógico (FORBELLONE, 2005). Na seleção homogênea 
um comando deve ser executado apenas quando forem satisfeitas algumas condições e 
a construção do algoritmo deve seguir um padrão. Posteriormente a cada “então”, existe 
um outro “se”, e não existem “senões”. Isso define uma estrutura encadeada homogênea 
(FORBELLONE, 2005). 
Exemplo:
Se <condição 1>
 Então se <condição 2>
 Então se <condição 3>
 Então se <condição 4>
 Então faça;
 Fim_se;
 Fim_se;
 Fim_se;
Fim_se;
O comando somente é executado quando todas as condições forem simultaneamente 
verdadeiras (FORBELLONE, 2005). 
Exemplo:
Se <condição 1> e <condição 2> e <condição 3> e <condição 4>
 Então faça;
Fim_se;
9.1 Seleção heterogênea
Quando não é possível identificar um padrão lógico de cosntrução de uma estrutura de 
seleção, esta seleção é caracterizada como sendo uma estrutura de seleção heterogênea 
(FORBELLONE, 2005).
FACULDADE CATÓLICA PAULISTA | 30
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
De acordo com Forbellone (2005), uma estrutura de seleção heterogênea pode ser descrita 
como o exemplo abaixo:
Exemplo:
Se <condição 1>
 Então
 Se <condição 2>
 Então
 Início // bloco verdade 1
 Ação 1;
 .
 .
 .
 Ação n;
 Fim; // bloco verdade 1
 Fim_Se;
Senão
 Se <condição 3>
 Então
 Início // bloco verdade 2
 Ação 1;
 .
 .
 .
 Ação n;
 Fim; // bloco verdade 2
 Senão
 Se <condição 4>
 Então
 Se <condição 5>
 Então
 <comando_verdadeiro>; 
 Fim_Se
 Senão
 <comando_falso>;
 Fim_Se;
 Fim_Se;
 Fim_Se;
FACULDADE CATÓLICA PAULISTA | 31
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 10
MÚLTIPLA ESCOLHA
Quando uma estrutura de seleção exerce um conjunto de opções para escolha ela é 
denominada de seleção de múltipla escolha e existem duas formas de realizar, uma delas é 
utilizando o encadeamento de instrução “Se”, e a outra é usando a instrução “escolha caso” 
(GUEDES, 2014).
Na estrutura de seleção de múltipla escolha um conjunto de valores discretos precisa ser 
testado e ações distintas são relacionadas a esses valores (FORBELLONE, 2005).
Exemplo pseudocódigo utilizando a instrução Se:
Se (variável = Tal_Coisa_1) então
 <conjunto de instruções A>
Senão
 Se (variável = Tal_Coisa_2) então
 <conjunto de instruções B>
Senão
 Se (variável = Tal_Coisa_3) então
 <conjunto de instruções C> 
Senão
 <conjunto de instruções D> 
 Fim_Se
Fim_Se
Fim_Se 
Exemplo pseudocódigo utilizando a instrução escolha caso:
Escolha variável_escolha
 Caso Tal_Coisa_1
 <conjunto de instruções A>
 Caso Tal_Coisa_2
 <conjunto de instruções B>
 Caso Tal_Coisa_3
 <conjunto de instruções C>
 Outro_caso
 <conjunto de instruções D>
Fim_Escolha
Caso o valor da variável_escolha seja igual ao valor de Tal_Coisa_N, então o comando 
Caso será executado, caso contrário, serão verificados os outros casos até ser encontrada 
uma igualdade ou terminarem os casos.
Para um comando que possui mais de um valor em que se verifica sua necessidade, 
todos esses valores são agrupados em um único caso. Para executar um comando que 
FACULDADE CATÓLICA PAULISTA | 32
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
se verifica com todos os outros valores, exceto os discriminados caso a caso, é incluído a 
situação “outro caso” (FORBELLONE, 2005). 
Anote isso
Para aprender mais sobre as estruturas de controle, assista o vídeo “Lógica de 
Programação | Estruturas de Controle” acessando o link:< https://www.youtube.com/
watch?v=RUy_EI4SIcA> 
10.1 Seleção Múltipla Escolha
O exemplo a seguir demonstra uma estrutura de seleção encadeada homogênea se-
senão-se:
Se (A = X1) Então 
C1;
 Senão Se (A = X2) Então 
C2;
 Senão Se (A = X3) Então 
C3;
 Senão Se (A = X4) Então 
C4;
 Senão Se (A = X5) Então 
C5;
 Senão C6;
 Fim_Se
 Fim_Se
 Fim_Se
 Fim_Se
Fim_Se
O mesmo exemplo pode ser escrito utilizando a estrutura de múltipla escolha:
Escolha A
 Caso X1
 C1;
 Caso X2
 C2;
Caso X3
 C3;
Caso X4
 C4;
Caso X5
 C5;
Outro_caso C6;
Fim_Escolha
FACULDADE CATÓLICA PAULISTA | 33
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Anote isso
Quer aprender um pouco mais sobre seleção múltipla escolha? acesse o link:< https://www.
youtube.com/watch?v=UG27GMtvzQM> e assista o vídeo “Seleção de Múltipla Escolha 
(ESCOLHA...CASO)”, do Canal Byte no YouTube. 
10.2 Implementação das Estruturas de Decisão
As estruturas de decisão são utilizadas para verificar um comando e efetuar a decisão do 
mesmo. Veremos a seguir a implementação das estruturas de decisão simples, composta 
e homogênea, heterogênea e múltipla escolha.
10.2.1 Implementação da Estrutura de Decisão Simples
Na estrutura de decisão simples o comando somente será executado se a condição for 
verdadeira e essa condição é uma comparação que possui dois valores possíveis: verdadeiro 
ou falso (ASCENCIO, 2012).
Se condição Então 
Início
 Comando 1
 Comando 2
Comando 3 
Fim
Os comandos 1, 2 e 3 somente serão executados se a condição for verdadeira.
10.2.2 Implementação da Estrutura de Decisão Composta
Se a condição for verdadeira os comandos 1 e 2 serão executados,caso contrário serão 
executados os comandos 3 e 4.
Se condição Então 
Início
 Comando 1
 Comando 2
 Fim
Senão 
Início
 Comando 3
 Comando 4
FACULDADE CATÓLICA PAULISTA | 34
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
10.2.3 Implementação da Estrutura de Decisão Múltipla Escolha
Existem situações recíprocas exclusivas que se uma situação for executada, as outras 
demais não serão. Para o caso é indicado um comando mais seletivo como o “escolha_caso” 
(ASCENCIO, 2012).
Escolha_caso (variável)
 Início
 Caso valor1: comando 1;
 Ação 1;
 Caso valor2: comando 2;
 Ação 2;
Caso valor3: comando 3;
 Ação 3;
Outro_caso: lista comandos;
Fim_Escolha_caso
O comando “escolha_caso” avalia o valor de uma variável para decidir qual caso será 
executado. Cada caso está relacionado a um possível valor da variável. Quando o valor 
da variável não coincidir com os valores especificados nos casos, então será executado o 
comando “outro_caso” (ASCENCIO, 2012).
Dica de leitura
Nome do livro: Fundamentos da Programação de Computadores
Editora: Pearson Education do Brasil
Autor: Ana Fernanda Gomes Ascencio e Edilene Aparecida Veneruchi de Campos
ISBN: 978-8564574168
Comentário: Este livro apresenta técnicas e comandos para a elaboração e 
implementação de algoritmos nas linguagens PASCAL, C/C++ e JAVA. É um livro indicado 
para quem está iniciando no mundo da programação de computadores, visto que as 
linguagens de programação abordadas são muito utilizadas no início do aprendizado 
da programação de computadores e por serem de fácil entendimento, proporcionando 
o despertar para o raciocínio lógico.
FACULDADE CATÓLICA PAULISTA | 35
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
AULA 11
ESTRUTURA DE REPETIÇÃO
As estruturas de repetição permitem que um mesmo trecho de código seja executado mais 
de uma vez (GUEDES, 2014). Essa estrutura é muito utilizada quando um algoritmo inteiro 
ou somente um trecho dele precisa ser repetido e esse número de repetições pode ser fixo 
ou estar vinculado a uma condição, segundo Ascencio (2012) que pode ser indeterminado, 
mas necessariamente finito (FORBELLONE, 2005).
Segundo Forbellone (2005), os trechos dos algoritmos que se repetem são chamados de 
laços de repetição e também são conhecidos por sua tradução em inglês, loops ou looping, 
por lembrarem uma execução finita em círculos, que posteriormente, segue sua execução 
normalmente.
11.1 Estrutura de Repetição com Teste no Início - While
A repetição com teste no início é caracterizada por uma estrutura de controle de fluxo de 
execução que permite repetir diversas vezes um mesmo trecho de algoritmo, mas sempre 
verificando antes de cada execução se é permitido executar o mesmo trecho do algoritmo 
(FORBELLONE, 2005).
Para que aconteça a repetição com teste no início é utilizado a estrutura “enquanto”, que 
possibilita que um bloco seja repetido enquanto uma determinada condição for verdadeira 
(FORBELLONE, 2005).
De acordo com Ascencio (2012), essa estrutura de repetição é indicada quando não se 
sabe a quantidade de vezes que um trecho do algoritmo deve ser repetido, mas também 
pode ser utilizada quando se conhece a quantidade de vezes e se baseia na análise de uma 
condição e a repetição é realizada enquanto a condição for verdadeira.
Enquanto a condição for verdadeira, os comandos 1, 2 e 3 serão executados.
Enquanto condição Faça
Início
 Comando 1
 Comando 2
Comando 3
Fim
FACULDADE CATÓLICA PAULISTA | 36
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Em algumas situações o teste condicional da estrutura de repetição irá resultar em um 
valor falso já na primeira comparação. Assim sendo, os comandos escritos dentro dessa 
estrutura não serão executados (ASCENCIO, 2012).
Enquanto a condição for verdadeira, o comando 1 será executado.
Enquanto condição Faça
Comando 1
Anote isso
Acesse o vídeo “Lógica de Programação – Estrutura de Repetição ENQUANTO”, do canal 
Escola WWW no YouTube, para aprender um pouco mais sobre estrutura de repetição 
“enquanto”. Visite o link:< https://www.youtube.com/watch?v=u8MN57YKrEk> 
11.2 Estrutura de Repetição: Conceitos de contadores e 
acumuladores
De acordo com Guedes (2014), para os comandos internos das estruturas de repetição 
existem dois tipos de uso de variáveis: os acumuladores e os contadores.
Quando a execução de um cálculo necessita de valores que sejam obtidos a cada interação 
ou quando o cálculo somente estará finalizado com a conclusão da repetição, utiliza-se os 
acumuladores. Para a operação em que será utilizado um acumulador deve ser inicializado 
com um valor neutro (GUEDES, 2014).
No caso de uma adição o acumulador deve ser iniciado com o valor zero e ser for uma 
multiplicação, o acumulador deve ser inicializado com o valor 1 (GUEDES, 2014). A variável 
acumulador é usada para acumular à soma uma série de valores e devem ser inicializadas 
com o valor zero antes de serem utilizadas, pois se isso não acontecer, a soma irá incluir o 
valor anterior armazenado na posição de memória da variável acumulador (DEITEL, 2011). 
FACULDADE CATÓLICA PAULISTA | 37
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Exemplo:
Algoritmo Soma
Var
 soma, i, num: inteiro;
Início
soma  0 // inicialização da variável soma com o valor zero
para i de 1 até 5 faça
 escreva(“Digite um número: ”);
 leia(num);
 soma  soma + num
 fim_para
 escreva(“Soma = “, soma);
fim_algoritmo
Já os contadores servem para executar a contagem de uma ação que ocorre dentro da 
estrutura de repetição (GUEDES, 2014). Essa técnica de utilizar um contador para controlar a 
estrutura de repetição serve então para especificar a quantidade de vezes que um conjunto 
de comandos será executado e é conhecida como repetição definida, pois o número de 
repetições é conhecido antes que o loop comece a ser executado (DEITEL, 2011).
 Essas variáveis contadoras devem ser inicializadas com os valores zero ou 1, dependendo 
da sua utilização (DEITEL, 2011).
FACULDADE CATÓLICA PAULISTA | 38
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Exemplo:
Algoritmo Compara_Numero
Var
 cont, i: inteiro;
Início
cont  0 // inicialização da variável cont com o valor zero
 para i de 1 até 5 faça
 escreva(“Digite um número: “);
 leia(num);
 se (num > 5) então
 cont  cont + 1 // conta mais 1 na variável cont
 fim_se
 fim_para
 escreva(“Quantidade de números maiores que 5 é = “,cont);
fim _algoritmo
Anote isso
Caso uma variável acumuladora ou contadora não for inicializada, os resultados do 
algoritmo podem estar incorretos. Por isso é muito importante inicializar todas as 
variáveis acumuladores e contadores.
Fonte: DEITEL (2011, p. 53).
FACULDADE CATÓLICA PAULISTA | 39
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
11.3 Estrutura de Repetição com Teste no Final e Variável de 
Controle Do - While
A estrutura de repetição com teste no final é utilizada juntamente com a estrutura repita 
que possibilita que um bloco ou uma ação seja repetida até que uma determinada condição 
seja verdadeira (FORBELLONE, 2005).
Essa estrutura de repetição com teste no final é utilizada quando não se sabe a quantidade 
de vezes que um trecho do algoritmo deve ser repetido, mas também pode ser utilizada quando 
se conhece a quantidade de vezes de repetição do trecho do algoritmo (ASCENCIO, 2012).
O teste condicional da estrutura de repetição é realizado ao final da estrutura (GUEDES, 
2014), e essa estrutura se baseia na análise de uma condição onde a repetição será realizada 
até a condição se tornar verdadeira (ASCENCIO, 2012), e isso implica que os comandos 
internos sempre serão executados na primeira iteração (GUEDES, 2014).
Exemplo estrutura de repetição repita:
Algoritmo Exemplo_Repita
Var
// declaração de variáveis
Início
 Repita
 Comando
 Até condição
Fim_algoritmo
A estrutura de repetição DO - WHILE podeser utilizada quando o número de repetições 
necessárias não for fixo e os comandos serão repetidos até a condição assumir o valor 
falso (ASCENCIO, 2012).
Nessa estrutura o teste de condição é realizado no fim e, portanto, a repetição será 
executada, no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a 
condição assumir o valor falso (ASCENCIO, 2012).
FACULDADE CATÓLICA PAULISTA | 39
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
11.3 Estrutura de Repetição com Teste no Final e Variável de 
Controle Do - While
A estrutura de repetição com teste no final é utilizada juntamente com a estrutura repita 
que possibilita que um bloco ou uma ação seja repetida até que uma determinada condição 
seja verdadeira (FORBELLONE, 2005).
Essa estrutura de repetição com teste no final é utilizada quando não se sabe a quantidade 
de vezes que um trecho do algoritmo deve ser repetido, mas também pode ser utilizada quando 
se conhece a quantidade de vezes de repetição do trecho do algoritmo (ASCENCIO, 2012).
O teste condicional da estrutura de repetição é realizado ao final da estrutura (GUEDES, 
2014), e essa estrutura se baseia na análise de uma condição onde a repetição será realizada 
até a condição se tornar verdadeira (ASCENCIO, 2012), e isso implica que os comandos 
internos sempre serão executados na primeira iteração (GUEDES, 2014).
Exemplo estrutura de repetição repita:
Algoritmo Exemplo_Repita
Var
// declaração de variáveis
Início
 Repita
 Comando
 Até condição
Fim_algoritmo
A estrutura de repetição DO - WHILE pode ser utilizada quando o número de repetições 
necessárias não for fixo e os comandos serão repetidos até a condição assumir o valor 
falso (ASCENCIO, 2012).
Nessa estrutura o teste de condição é realizado no fim e, portanto, a repetição será 
executada, no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a 
condição assumir o valor falso (ASCENCIO, 2012).
FACULDADE CATÓLICA PAULISTA | 39
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
11.3 Estrutura de Repetição com Teste no Final e Variável de 
Controle Do - While
A estrutura de repetição com teste no final é utilizada juntamente com a estrutura repita 
que possibilita que um bloco ou uma ação seja repetida até que uma determinada condição 
seja verdadeira (FORBELLONE, 2005).
Essa estrutura de repetição com teste no final é utilizada quando não se sabe a quantidade 
de vezes que um trecho do algoritmo deve ser repetido, mas também pode ser utilizada quando 
se conhece a quantidade de vezes de repetição do trecho do algoritmo (ASCENCIO, 2012).
O teste condicional da estrutura de repetição é realizado ao final da estrutura (GUEDES, 
2014), e essa estrutura se baseia na análise de uma condição onde a repetição será realizada 
até a condição se tornar verdadeira (ASCENCIO, 2012), e isso implica que os comandos 
internos sempre serão executados na primeira iteração (GUEDES, 2014).
Exemplo estrutura de repetição repita:
Algoritmo Exemplo_Repita
Var
// declaração de variáveis
Início
 Repita
 Comando
 Até condição
Fim_algoritmo
A estrutura de repetição DO - WHILE pode ser utilizada quando o número de repetições 
necessárias não for fixo e os comandos serão repetidos até a condição assumir o valor 
falso (ASCENCIO, 2012).
Nessa estrutura o teste de condição é realizado no fim e, portanto, a repetição será 
executada, no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a 
condição assumir o valor falso (ASCENCIO, 2012).
verdadeiro
FACULDADE CATÓLICA PAULISTA | 40
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Exemplo da estrutura DO – WHILE
do
Início
 Comandos
Fim_do
While (condição) 
Anote isso
Depois de definir as variáveis de entrada e de saída é recomendável realizar uma série 
de perguntas do tipo “o quê?” com o objetivo de descobrir, de uma forma clara e objetiva, 
alguns aspectos relevantes que se deve levar em conta na criação do algoritmo e 
nas ações envolvidas no processamento necessário para a obtenção das respostas 
desejadas.
Fonte: Forbellone (2005, p. 31).
FACULDADE CATÓLICA PAULISTA | 41
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
REFERÊNCIAS
ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da programação de computadores: 
algoritmos, Pascal, C/C++ (padrão ANSI) e Java. 3. ed. São Paulo: Person Education do 
Brasil, 2012.
FORBELLONE, A. L. V. Lógica de Programação: A construção de algoritmos e estruturas 
de dados. 3. ed. São Paulo: Prentice Hall, 2005.
GUEDES, S. Lógica de programação algorítmica. São Paulo: Pearson Education do Brasil, 
2014.

Outros materiais