Você está na página 1de 42

ALGORITMOS E LÓGICA

DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA
Diretor Geral | Valdir Carrenho Junior


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.
ALGORITMOS E LÓGICA
DE PROGRAMAÇÃO I
PROF. ME. RICARDO ZANNI SILVEIRA

SUMÁRIO
AULA 01 INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO 04

AULA 02 CONCEITOS INICIAIS 05

AULA 03 COMO CONSTRUIR ALGORITMOS 07

AULA 04 TIPOS DE ALGORITMOS: LINGUAGEM NATURAL, 09


FLUXOGRAMA E PSEUDOCÓDIGO

AULA 05 COMANDOS DE ENTRADA E SAÍDA 12

AULA 06 TABELA-VERDADE (OPERADORES LÓGICOS) 17

AULA 07 ESTRUTURA SEQUENCIAL 19

AULA 08 ESTRUTURA DE SELEÇÃO 22

AULA 09 SELEÇÃO HOMOGÊNEA 29

AULA 10 MÚLTIPLA ESCOLHA 31

AULA 11 ESTRUTURA DE REPETIÇÃO 35


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


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


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


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 consiga a solução do problema. Todo esse processo é realizado pelos
programadores, também conhecidos como construtores de algoritmos (FORBELLONE, 2005).

FACULDADE CATÓLICA PAULISTA | 7


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


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 | 9
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 | 10


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


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


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 | 13
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ão 6/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


9 mod 4 resulta em 1
mod Resto da divisão
27 mod 5 resulta em 2
9 div 4 resulta em 2
div Quociente da divisão
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 | 14


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


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


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 AeB
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 | 17


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
Ve5=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 | 18
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 | 19


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


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
solucionar um 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 | 21


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


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


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


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


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


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ógica essencial 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 | 27


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


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


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


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


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


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


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


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


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


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


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


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

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


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.

FACULDADE CATÓLICA PAULISTA | 41

Você também pode gostar