Buscar

ALGORITMOS COMPUTACIONAIS - UNI 01

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

Autoria:
Maxwell Félix
ALGORITMOSALGORITMOS
COMPUTACIONAISCOMPUTACIONAIS
SSEJAEJA BEMBEM--VINDOVINDO!!
ReitoR:
Prof. Cláudio ferreira Bastos
Pró-reitor administrativo financeiro: 
Prof. rafael raBelo Bastos
Pró-reitor de relações institucionais:
Prof. Cláudio raBelo Bastos
Pró-reitor acadêmico:
Prof. HerBert Gomes martins
direção ead:
Prof. riCardo deiBler ZamBrano Júnior
coordenação ead:
Profa. luCiana rodriGues ramos
Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, total ou parcialmente, por 
quaisquer métodos ou processos, sejam eles eletrônicos, mecânicos, de cópia fotostática ou outros, sem a autoriza-
ção escrita do possuidor da propriedade literária. Os pedidos para tal autorização, especificando a extensão do que 
se deseja reproduzir e o seu objetivo, deverão ser dirigidos à Reitoria.
expediente
Ficha técnica
autoria: 
maxwell félix
suPervisão de Produção ead:
franCisCo Cleuson do nasCimento alves
design instrucional:
emanoela de araúJo 
Projeto gráfico e caPa:
franCisCo erBínio alves rodriGues
diagramação e tratamento de imagens:
ismael ramos martins
revisão textual:
emanoela de araúJo
Ficha catalogRáFica
catalogação na publicação
biblioteca centRo univeRsitáRio ateneu
FÉLIX, Maxwell. Algoritmos Computacionais. Maxwell Félix. – Fortaleza: Centro Uni-
versitário Ateneu, 2022.
124 p. 
ISBN: 
1. Lógica. 2. Tópicos preliminares. 3. Estruturas de controle. 4. Estruturas de dados. 
Centro Universitário Ateneu. II. Título.
SSEJAEJA BEMBEM--VINDOVINDO!!
Caro estudante, 
É com grande satisfação que apresentamos o material didático da 
disciplina Algoritmos Computacionais. Os algoritmos são a essência da 
lógica de programação de computadores. Portanto, em um primeiro contato 
com a área computacional, claro, para aqueles que estão começando agora, 
os algoritmos são um dos assuntos fundamentais. Ao ler este material, você 
terá noções sobre lógica de programação, tópicos preliminares, estruturas de 
controle e estruturas de dados. Este livro está dividido em quatro unidades de 
acordo com a ementa da disciplina. 
Iniciaremos nossos estudos lendo sobre raciocínio lógico, ou seja, 
como ideias e pensamentos são organizados a fim de que possam fluir para 
o desenvolvimento de programas de computador, uma atividade que, sem 
dúvidas, faz uso de ideias estruturadas.
Posteriormente, veremos os tópicos preliminares, conhecimento 
necessário para que possamos entender um assunto importantíssimo: 
variáveis e constantes. A programação depende desse entendimento para 
aprender como funcionam as estruturas de decisão, seleção e controle, as 
quais são fundamentais para a atividade de programação de computadores.
Para finalizar, estudaremos sobre as estruturas de dados, uma técnica 
de programação que nos permite estender o conhecimento sobre variáveis. 
Vamos aprender que as variáveis vão muito além de um espaço de memória 
que guarda um valor único, com um nome comum.
Durante este curso, você conhecerá ferramentas de trabalho que são 
fundamentais para aprender a programar. Nesse sentido, incentivamos que 
você também pesquise e conheça o perfil das linguagens de programação 
mais usadas no mercado de trabalho. Vale muito a pena aprofundar os 
estudos em desenvolvimento de sistemas. 
Bons estudos!
SUMÁRIO
CCONECTEONECTE--SESE
AANOTAÇÕESNOTAÇÕES
RREFERÊNCIASEFERÊNCIAS
Estes ícones aparecerão em sua trilha de aprendizagem e significam:
SUMÁRIO
1. Noções de lógica ..............................................................8
2. Notação de lógica ...........................................................12
3. Proposição......................................................................13
4. Conectivos lógicos e tabela verdade ..............................15
5. Propriedades (associativa, comutativa e distributiva) .... 18
6. Fluxo e lógica nos algoritmos .........................................19
Referências ........................................................................32
01
1. Tipos primitivos...........................................................36
2. Constantes, variáveis e comandos de atribuição .......39
3. Expressões aritméticas ..............................................45
4. Expressões lógicas.....................................................49
5. Comandos de entrada e saída ...................................54
Referências ....................................................................63
02
TÓPICOS PRELIMINARES 
LÓGICA DE PROGRAMAÇÃO
1. Variáveis compostas homogêneas 
unidimensionais .......................................................96
2. Variáveis compostas homogêneas
multidimensionais ...................................................102
3. Variáveis compostas heterogêneas .......................107
4. Estrutura de registro ...............................................109
5. Atribuição de registro..............................................111
6. Leitura e escrita de registro ....................................112
Referências ................................................................123
04
ESTRUTURAS DE DADOS
1. Estrutura sequencial ................................................... 68
2. Estrutura de seleção................................................... 71
3. Estrutura de seleção composta .................................. 75
4. Estrutura de seleção encadeada ................................ 79
5. Estrutura de repetição ................................................ 82
Referências .................................................................... 92
03
 ESTRUTURAS DE CONTROLE
Unidade
01 Lógica de programaçãoLógica de programação
Maxwell Félix
ApresentaçãoApresentação
Nesta unidade, estudaremos sobre lógica de programação. É capital 
compreender que, na área da computação, a lógica de programação está 
relacionada com o raciocínio (lógica do pensamento e suas operações 
intelectuais). Inclusive, se formos pesquisar a origem da palavra, vamos 
encontrar o seguinte: do grego logiké, tem relação com logos, razão, palavra 
ou discurso. (SIGNIFICADOS, 2022).
Podemos entender lógica como a maneira de pensar/raciocinar. 
Vejamos, em uma ocorrência policial, por exemplo, sempre existe um 
suspeito que, na grande maioria dos casos, é inocente. Logo, segundo a 
lógica, sou um suspeito.
Em computação, a área em que mais usamos o raciocínio lógico é 
na programação, pois, para escrevermos um programa de computador, 
precisamos raciocinar com coerência e praticidade. Grosso modo, a lógica 
entra em cena quando os pensamentos e as ideias, de certa forma, estão 
organizados. Dessa forma, podemos dizer que a aplicação da lógica ocorre 
quando pensamentos e ideias se encontram coerentes e sequencialmente 
encadeados.
8 ALGORITMOS COMPUTACIONAIS|
Geralmente, todo profissional de computação que sabe usar bem a 
lógica, sem dúvida, é ou será bem-sucedido, quer seja um desenvolvedor 
de software quer seja um administrador de banco de dados, um analista 
de redes etc. Portanto, vale a pena estudar sobre o assunto, porque, sem 
nenhuma dúvida, você vai precisar.
OOBJETIVOSBJETIVOS DEDE
APRENDIZAGEMAPRENDIZAGEM
• Compreender como funciona a lógica de programação;
• Conhecer a base de funcionamento dos algoritmos;
• Adquirir conhecimentos sobre estruturas de controle;
• Entender como funcionam as estruturas de dados.
1. Noções de Lógica1. Noções de Lógica
O raciocínio lógico tem relação com ideias e pensamentos 
organizados e sequencialmente encadeados. De acordo com Moraes (2000, 
p. 4), “Lógica de programação é a técnica de encadear pensamentos para 
atingir determinado objetivo”. Nesse contexto, atribuindo essa noção a 
programação de computadores, os pensamentos podem ser definidos 
como um conjunto de instruções sequenciais que devem ser executadas 
como uma tarefa, a fim de resolver determinado problema. 
Contudo, o que entendemos por instruções? No uso coloquial, ainda 
conforme Moraes (2000, p. 4), instruções são: “um conjuntode regras ou 
normas definidas para a realização ou emprego de algo”. Em computação, a 
instrução pode ser uma ou mais informações que indicam uma ordem para o 
computador executar uma tarefa.
 O raciocínio lógico tem relação com ideias 
e pensamentos organizados e sequencialmente 
encadeados. 
ALGORITMOS COMPUTACIONAIS 9|
Podemos deduzir até aqui que a lógica está diretamente ligada ao 
pensamento. Quando resolvemos qualquer problema, usamos a lógica. 
Segundo Oliveira et al. (2012, p. 23), a “Lógica trata da correção do 
pensamento. Como filosofia, ela procura saber por que pensamos assim e 
não de outro jeito. Com arte ou técnica, ela nos ensina a usar corretamente 
as leis do pensamento”. Podemos também afirmar que a lógica nos ensina 
a pensar corretamente, com base na complexidade do raciocínio. Vejamos:
Poderíamos dizer também que a Lógica é a arte de pensar 
corretamente e, visto que a forma mais complexa do pen-
samento é o raciocínio, a Lógica estuda ou tem em vista a 
correção do raciocínio. 
Podemos ainda dizer que a lógica tem em vista a ordem da 
razão. Isto dá a entender que a nossa razão pode funcionar 
desordenadamente, pode pôr as coisas de pernas para o ar. 
Por isso a Lógica ensina a colocar Ordem no Pensamento. 
Desordem: “E se eu escolher aquilo?” ou “É, mas eu não tinha 
pensado nisso”.
Enfim, lógica é ciência que coloca a cabeça para funcionar 
corretamente. Para chegarmos à conclusão de algo utilizamos 
as premissas que são conhecimentos prévios, desta forma 
organizamos o pensamento, com a organização do mesmo é 
que concluímos se algo é verdadeiro ou falso. (OLIVEIRA et 
al., 2012, p. 23).
Para Forbellone e Eberspacher (2005), quer seja pela arte quer seja 
pelo trabalho técnico, a lógica nos ensina a pensar e a usar esse pensamento 
de maneira correta:
Poderíamos dizer também que a lógica é a “arte de bem pen-
sar”, que é a “ciência das formas do pensamento”. Visto que a 
forma mais complexa do pensamento é o raciocínio, a lógica 
estuda a “correção do raciocínio”. Podemos ainda dizer que a 
lógica tem em vista a “ordem da razão”. Isso dá a entender que 
a nossa razão pode funcionar desordenadamente. Por isso, 
a lógica estuda e ensina a colocar “ordem no pensamento”. 
(FORBELLONE; EBERSPACHER, 2005, p.12).
10 ALGORITMOS COMPUTACIONAIS|
Então, segundo as afirmações de Forbellone e Eberspacher (2005), 
podemos deduzir que lógica é a técnica de organizar as ideias, sendo 
possível aplicá-las para o bem da pesquisa, com a finalidade de solucionar 
os problemas que possam surgir. Em conformidade com Raulino (2013), 
para que possamos entender melhor a eficiência técnica da lógica, devemos 
observar suas ações características:
• Organizar os conhecimentos de qualquer área de atuação;
• Raciocinar de forma correta, sem esforço consciente; 
• Observar e interpretar informações de maneira rápida;
• Ampliar a competência linguística (tanto oral como escrita);
• Adquirir aptidão para o raciocínio quantitativo; e
• Reconhecer padrões em estruturas (premissas, pressuposições, 
cenários, entre outros).
 ...podemos deduzir que lógica é a técnica 
de organizar as ideias, sendo possível aplicá-las 
para o bem da pesquisa... 
Já falamos aqui que lógica se refere a pensamentos e ideias organizados 
e sequencialmente encadeados. Encadeamentos esses denominados 
argumentos. Segundo Raulino (2013), os argumentos estabelecem o 
seguinte:
• As proposições são as afirmativas de um argumento; 
• Um argumento é um conjunto de proposições, de tal forma que é 
possível dizer que uma deriva das outras; 
• A proposição derivada comumente é chamada de conclusão, e as 
demais, de premissas; e 
• Em um argumento válido, as premissas são consideradas provas 
evidentes da veracidade da conclusão.
ALGORITMOS COMPUTACIONAIS 11|
Agora vamos a um exemplo de argumento com a figura a seguir:
Figura 01: Argumento (premissas e conclusão).
Argumento
Premissas
Se estudar, será aprovado no vestibular.
Eu fui aprovado
Conclusão 
Logo, eu estudei 
Fonte: RAULINO (2013) (Adaptada).
Argumento é um conjunto de proposições iniciais, redundando em 
uma proposição final, ou ainda, em um conjunto de proposições p1, p2... pn, 
sendo elas as premissas do argumento, e a proposição c, a qual chamamos 
de conclusão do argumento. Vale a pena saber que também podem ser 
usados os termos hipótese e tese, respectivamente:
Exemplo:
p1: Todo cearense é humorista.
p2: Todo humorista gosta de forró.
c: Todo cearense gosta de forró.
O argumento apresentado no exemplo anterior é chamado de silogismo, 
ou seja, um argumento formado por duas premissas e uma conclusão. 
Conforme Lima (2012), “Na Lógica, o estudo dos argumentos não leva em 
conta a verdade ou a falsidade das premissas que compõem o argumento, 
mas tão somente a validade deste”.
Pelo visto até aqui, é importante entender que, em computação, ideias 
e pensamentos precisam ter lógica apurada, mais adiante saberemos o 
porquê.
12 ALGORITMOS COMPUTACIONAIS|
2. Notação de Lógica2. Notação de Lógica
Antes de iniciar a fala sobre notação, vamos entender seu significado e 
valor. Segundo o Dicionário Informal, notação é o “ato de notar, de representar 
algo por meio de símbolos ou caracteres; sistema de representação gráfica 
de elementos de determinado campo de conhecimento (p.ex., música, lógica, 
matemática, química etc.) [...]”. A partir desse conhecimento, podemos 
prosseguir, representando a notação utilizada na lógica de programação. De 
acordo com Bianchi (2012), como segue:
Observe a notação utilizada para representar o valor lógico de uma 
proposição:
Proposição simples: V(p) – letra minúscula.
Proposição composta: V(P) – letra maiúscula.
Exemplo de proposições simples:
 p1: Um triângulo tem três lados.
 q1: São Paulo é um país.
Lemos as notações adiante da seguinte forma:
V(p) = V < o valor lógico de p é igual a V (verdadeiro) >;
V(q) = F < o valor lógico de q é igual a F (falso) >.
Exemplo de proposições compostas:
 p1: O sol é uma estrela ou
 q1: A terra é uma estrela.
Lemos as notações adiante da seguinte forma:
P (p, q) = p v q V(P) = V (o símbolo “v” representa o conectivo “ou”)
Conforme Alencar Filho (2002), alguns autores denominam 
proposições compostas como fórmulas proposicionais ou apenas 
fórmulas. Ainda podemos destacar que uma proposição P forma-se a partir 
da combinação de proposições simples (p, q, r…), assim escritas: P (p, q, r).
ALGORITMOS COMPUTACIONAIS 13|
3. proposição3. proposição
Podemos dizer, a partir da premissa, que a lógica proposicional 
estuda as relações entre sentenças. Vejamos o que diz Bianchi (2012) 
sobre proposição: “É um conjunto de palavras ou símbolos que exprime um 
pensamento de sentido completo, de modo que se possa atribuir, dentro de 
certo contexto, um de dois valores lógicos possíveis: verdadeiro ou falso”.
De acordo com Andrade e Carmelo (1999), olhando para as 
proposições que já estudamos, podemos dizer que uma proposição é uma 
sentença declarativa, expressa por meio de palavras e/ou números, na qual 
possamos atribuir um valor verdadeiro ou falso. Ainda, proposição é uma 
sentença declarativa que pode ser verdadeira ou falsa, mas nunca ambas. 
Este é o princípio da não contradição, ou seja, uma proposição não pode 
ser verdadeira e falsa ao mesmo tempo. Temos ainda o princípio do terceiro 
excluído, pois uma proposição é verdadeira ou falsa, não há outra (terceira) 
possibilidade.
Exemplos:
• Fortaleza é a capital do estado do Ceará. (verdade)
• (5 + 5) * 2 = 20. (verdade)
• 5 – 7 = 2. (falso)
• O número 4 é primo, e o número 3 é par. (falso)
Nesse contexto, podemos nos perguntar: Por que não usamos nossa 
linguagem natural e nosso alfabeto para compor as relações lógicas? 
Segundo Neto (2017, p. 2), nossa linguagem não seria apropriada para o 
estudo lógico das sentenças. Vejamos:
A linguagem natural não é apropriada para o estudo das re-
lações lógicas entre sentenças e para resolver isso os mate-
máticos criaram uma linguagem formal própriapara o estudo 
da lógica. O que diferencia uma linguagem formal de uma 
linguagem natural é que na linguagem formal a gramática é 
especificada precisamente, enquanto na linguagem natural 
quase sempre isso não é possível. (NETO, 2017, p. 2).
14 ALGORITMOS COMPUTACIONAIS|
Quadro 01: Composição da linguagem da lógica proposicional.
Alfabeto
Um conjunto contável de símbolos usados na linguagem.
O alfabeto de uma linguagem refere-se aos símbolos que, quando agrupados, 
formam expressões admissíveis da linguagem. Sendo o alfabeto da linguagem 
da lógica proposicional formado por:
Variáveis proposicionais 
Conectivos lógicos
Português + conectivos lógicos
Delimitadores ()
Gramática
Conjunto de regras que, quando aplicadas sucessivamente, formam as expres-
sões admissíveis da linguagem.
A gramática são as regras de formação das expressões de determinada lin-
guagem. Sendo as regras de formação da linguagem da lógica proposicional:
1. As variáveis proposicionais são fórmulas também denominadas fórmulas 
atômicas. 
2. Se P é uma fórmula, (¬P) é uma fórmula.
3. Se P e Q são fórmulas, (P ˄ Q), (P ˅ Q), (P → Q) e P ↔ Q) também são fórmulas.
4. Não há outras fórmulas além das obtidas pelo uso das regras 1 a 3.
Semântica A semântica dá significado a linguagem. No nosso caso, esse significado gera 
valor para cada uma das expressões de uma fórmula da lógica proposicional.
Fonte: NETO (2017, p. 2) (Adaptado).
Exemplos de proposições:
Simples: 
• Maria é muito bonita.
• Antônio é estudioso.
Compostas:
• Carlos é enfermeiro, e Cecília é médica.
• Comprei um carro novo; então, vamos viajar.
FFIQUEIQUE ATENTOATENTO
As sentenças declarativas são proposições, mesmo que não tenhamos 
certeza sobre qual seja seu valor lógico (verdadeiro ou falso). Exemplo: Existe 
vida pós-morte.
ALGORITMOS COMPUTACIONAIS 15|
4. coNectivos Lógicos e tabeLa verdade4. coNectivos Lógicos e tabeLa verdade
Conforme Andrade e Carmelo (1999), os conectivos lógicos (“e”, 
“ou”, “não”, “se… então”, “se e somente se”) são utilizados para, a partir de 
proposições existentes, formar novas proposições. Ainda segundo os autores: 
Operadores lógicos ou conectivos lógicos efetuam operações 
sobre as proposições do mesmo modo que adição em uma 
operação sobre os números, ou que a interseção é operação 
sobre os conjuntos. Quando um operador lógico é usado para 
construir uma nova proposição, seu valor-verdade depende da 
natureza dos operadores lógicos usados e do valor-verdade das 
proposições originalmente dadas. Discutiremos agora como os 
operadores lógicos afetam o valor-verdade das proposições. 
(ANDRADE; CARMELO, 1999, p. 8-9).
Antes de prosseguirmos, vamos conhecer a tabela verdade, um 
instrumento utilizado para determinar os valores lógicos das proposições. 
Dadas várias proposições simples (p, q, r), podemos combiná-las pelos 
conectivos lógicos. As tabelas serão preenchidas com base nesses 
valores lógicos:
Tabela 01: Conectivos lógicos.
Negação ~
Conjunção ^
Disjunção v
Condicional – >
Bicondicional < – >
Fonte: BRAVO (2016) (Adaptada).
Para encontrar o número de linhas das tabelas, efetue o cálculo: 2 (V, 
F) elevado ao número de proposições simples.
Tabela 02: Duas proposições simples: 22 = 4 linhas.
p q
V V
V F
F V
F F
Fonte: BRAVO (2016) (Adaptada).
16 ALGORITMOS COMPUTACIONAIS|
Tabela 03: Três proposições simples: 23 = 8.
p q r
V V V
V V F
V F V
V F F
F V V
F V F
F F V
F F F
Fonte: BRAVO (2016) (Adaptada).
Tabela 04: Resumo dos conectivos.
p q p ^ q p v q ~p p – > q p < – > q
V V V V F V V
V F F V F F F
F V F V V V F
F F F F F V V
Fonte: BRAVO (2016) (Adaptada).
Conjunção ( ^ ) “p ^ q”, em que se lê “p e q”.
p: O sol é quente. (V)
q: 10 < 52. (V)
p ^ q: O sol é quente e 10 < 52. (V)
Tabela 05: Possibilidades da proposição “p ^ q”.
p q p ^ q
V V V
V F V
F V V
F F F
Fonte: BRAVO (2016) (Adaptada).
ALGORITMOS COMPUTACIONAIS 17|
Negação ( ~ ) “~p”, em que se lê “não p”.
p: O canário é amarelo.
~p: O canário não é amarelo.
ou ~p: Não é verdade que o canário é amarelo.
ou ~p: É falso que o canário é amarelo.
Tabela 07: Possibilidades da proposição “~p”.
p ~p
V F
F V
Fonte: BRAVO (2016) (Adaptada).
Condicional ( – > ) “p – > q”, em que se lê “se p então q” ( – > símbolo 
de implicação).
p: O alfabeto tem vinte símbolos. (F)
q: O Brasil tem trinta estados. (F)
p – > q: Se o alfabeto tem 20 símbolos, então o Brasil tem 30 estados.
Tabela 08: Possibilidades da proposição “p – > q”.
p q p – > q
V V V
V F F
F V V
F F V
Fonte: BRAVO (2016) (Adaptada).
Bicondicional (< – >) “p < – > q”, em que se lê “p se e somente se q”.
Para uma bicondicional ser verdadeira, é preciso que ambas as 
proposições sejam verdadeiras ou ambas falsas.
p: O cachorro mia. (F)
q: 7 é um número par. (F)
p < – > q: O cachorro mia se e somente se 7 for um número par. (V)
18 ALGORITMOS COMPUTACIONAIS|
Tabela 09: Possibilidades da proposição “p < – > q”.
p q p < – > q
V V V
V F F
F V F
F F V
Fonte: BRAVO (2016) (Adaptada).
5. propriedades5. propriedades
(associativa, comutativa e distributiva)(associativa, comutativa e distributiva)
Essas propriedades utilizam um mesmo conectivo, sendo que a ordem 
de montagem da tabela verdade não altera seus resultados.
Conjunção: (p ^ q) ^ r < – > p ^ (q ^ r)
Tabela 10: Propriedade associativa.
p q r p ^ q (p ^ q) ^ r q ^ r P ^ (q ^ r)
V V V V V V V
V V F V F F F
V F V F F F F
V F F F F F F
F V V F F V F
F V F F F F F
F F V F F F F
F F F F F F F
Fonte: FRANCK (2017) (Adaptada).
Tabela 11: Propriedade comutativa.
p q p v q q v p p v q < – > q v p
V V V V V
V F V V V
F V V V V
Fonte: FRANCK (2017) (Adaptada).
ALGORITMOS COMPUTACIONAIS 19|
Tabela 12: Propriedade distributiva – conjunção e disjunção.
p q r q v r p ^ (q v r) p ^ q p ^ r (p ^ q) v (p ^ r)
V V V V V V V V
V V F V V V F V
V F V V V F V V
V F F F F F F F
F V V V F F F F
F V F V F F F F
F F V V F F F F
F F F F F F F F
Fonte: FRANCK (2017) (Adaptada).
Para finalizar esse assunto, a seguir há um resumo das propriedades 
estudadas:
Associativa: 
(p ˄ q) ˄ r < – > p ˄ (q ˄ r)
(p ˅ q) ˅ r < – > p ˅ (q ˅ r)
Comutativa:
p ˄ q < – > q ˄ p
p ˅ q < – > q ˅ p
Distributiva:
p ˄ (q ˅ r) < – > (p ˄ q) ˅ (p ˄ r)
p ˅ (q ˄ r) < – > (p ˅ q) ˄ (p ˅ r)
6. FLuxo e Lógica Nos aLgoritmos6. FLuxo e Lógica Nos aLgoritmos
O assunto agora é algoritmo. Vamos falar de fluxo e da lógica que já 
aprendemos até aqui, pois usar o raciocínio lógico em algoritmo é fundamental 
para escrever um programa de computador.
20 ALGORITMOS COMPUTACIONAIS|
O desenvolvimento de um algoritmo passa primeiramente por uma 
ideia. É preciso lembrar do conceito de lógica, quando falamos que ela 
organiza nossos pensamentos, nossas ideias, com o objetivo de criar algo 
ou resolver um problema existente. Então, agora veremos isso na prática. 
Primeiramente, vejamos um conceito claro de algoritmo. Segundo Forbellone 
e Eberspacher (2005, p. 3), “Um algoritmo pode ser definido como uma 
sequência de passos que visam atingir um objetivo bem definido”. 
Quer dizer, de acordo com os autores, a finalidade principal do estudo 
da lógica é construir algoritmos coerentes e válidos. Ainda dizem eles, 
“Na medida em que precisamos especificar uma sequência de passos, é 
necessário utilizar ordem, ou seja, ‘pensar com ordem’, portanto precisamos 
utilizar lógica.” (FORBELLONE; EBERSPACHER, 2005, p. 3). 
 É preciso lembrar do conceito de lógica, 
quando falamos que ela organiza nossos 
pensamentos... 
A lógica que estamos falando agora é a lógica da construção de 
algoritmos, pois, para alcançar um objetivo na programação de computadores, 
precisamos abstrair os detalhes que são verdadeiramente importantes no 
contexto do problema, isto é, pensar com lógica.
Outra importância da construção de algoritmos é que uma vez 
concebida uma solução algorítmica para um problema, esta 
pode ser traduzida para qualquer linguagem de programação e 
ser agregada das funcionalidades disponíveis nosdiversos am-
bientes, costumamos denominar esse processo de codificação. 
(FORBELLONE; EBERSPACHER, 2005, p. 3).
O Instituto Federal Fluminense (2019, p. 6) publicou uma apostila para 
os cursos de tecnologia que nos traz a seguinte definição de algoritmo: “É 
a especificação de uma sequência ordenada de instruções, finitas e não 
ambíguas, que deve ser seguida para a solução de um determinado problema, 
garantindo a sua repetibilidade”. Surge, então, a seguinte pergunta: Para que 
serve um algoritmo?
• O algoritmo é uma sequência de passos lógicos e finitos 
que permite solucionar problemas;
ALGORITMOS COMPUTACIONAIS 21|
• O objetivo de aprender a criar algoritmos é que este é a base 
de conhecimentos para as linguagens de programação;
• Em geral, existem muitas maneiras de resolver o mesmo 
problema. Ou seja, podem ser criados vários algoritmos 
diferentes para resolver o mesmo problema;
• Assim, ao criarmos um algoritmo, indicamos uma dentre 
várias possíveis sequências de passos para solucionar o 
problema. (Instituto Federal Fluminense, 2019, p. 7).
O algoritmo possui algumas características que são consideradas 
essenciais, como:
• Completo: todas as instruções devem ser claras e obviamente 
únicas.
• Não redundante: o conjunto de instruções descritas no algoritmo 
deve ter uma única forma de interpretação.
• Determinístico: após todas as instruções serem executadas, o 
resultado esperado deve ser atingido.
• Finito: a execução dever ser iniciada e precisa terminar após os 
passos determinados.
Seguem alguns exemplos de algoritmos adiante:
• Trocar uma lâmpada:
 ¾ Identificar a lâmpada queimada;
 ¾ pegar uma escada;
 ¾ posicionar a escada embaixo da lâmpada;
 ¾ buscar a lâmpada nova;
 ¾ subir na escada;
 ¾ retirar a lâmpada velha;
 ¾ colocar a lâmpada nova;
 ¾ acender a lâmpada nova.
22 ALGORITMOS COMPUTACIONAIS|
• Trocar o pneu furado de um carro:
 ¾ pegar o macaco e o estepe no porta-malas;
 ¾ colocar o macaco embaixo do carro, próximo ao pneu, sem o 
levantar;
 ¾ com a chave adequada, retirar os parafusos da roda;
 ¾ levantar o carro e retirar o pneu;
 ¾ colocar o estepe;
 ¾ colocar os parafusos e apertar;
 ¾ baixar o carro e retirar o macaco;
 ¾ apertar bem os parafusos;
 ¾ guardar o pneu furado e as ferramentas;
 ¾ fechar o porta-malas.
Podemos observar que existe uma sequência de passos que são 
seguidos naturalmente nos dois exemplos, como um padrão, pois, qualquer 
pessoa que fosse executar qualquer um dos algoritmos apresentados faria da 
mesma forma, ou seja, seguiria o mesmo fluxo de execução.
De acordo com Forbellone e Eberspacher (2005), a sequência 
executada nos dois algoritmos é uma sequência linear, isto é, da mesma 
forma como se lê um texto, de cima para baixo e da esquerda para a direita. 
Também é possível observar que o objetivo foi atingido, porque estava 
bastante claro. Porém, mesmo com os objetivos bem determinados nos dois 
casos, podem acontecer alguns problemas. Vejamos: 
Se a lâmpada nova também estivesse queimada?
Se o estepe do carro estivesse seco?
Logo mais veremos algumas soluções que poderemos utilizar para 
resolver também esses problemas.
ALGORITMOS COMPUTACIONAIS 23|
Vamos agora conhecer as formas de representação de um algoritmo. 
As mais conhecidas são:
• Linguagem natural: o algoritmo é escrito (expresso) em linguagem 
nativa (português). Toda a sequência de passos é descrita de 
forma natural, um texto comum. 
Exemplo:
 ¾ Calculando a média de alunos:
 9 Obter as quatro notas bimestrais.
 9 Calcular a média aritmética.
 9 Caso a média seja maior ou igual a 7, aluno aprovado.
 9 Se for menor, aluno reprovado.
Quais são os problemas desse modelo? De forma geral, a 
linguagem natural pode gerar várias interpretações e até mesmo 
ambiguidades, o que certamente vai dificultar a transcrição do algoritmo 
para uma linguagem de programação.
Figura 02: Calculando a média de alunos.
Início
Matríc, 1bim, 2bim, 3bim, 4bim, n Final 
Digitar: Matrícula e notas bimestrais
nFinal = (1bim+2bim+3bim+4bim)/4
Nota do aluno
nota final
Fim
Fonte: Elaborada pelo autor.
24 ALGORITMOS COMPUTACIONAIS|
• Fluxograma: no fluxograma, o problema é representado de 
forma gráfica, geometricamente diferente, sendo que cada forma 
implica instruções ou comando distintos. Podemos afirmar que 
é mais precisa do que a linguagem natural, mas também tem 
seus problemas. O maior deles é que, nesse tipo de algoritmo, 
não conseguimos visualizar os detalhes de implementação na 
linguagem de programação.
Quadro 02: Elementos gráficos usados no fluxograma.
Terminal Início ou fim do fluxo do algoritmo.
Entrada manual Representa a entrada manual de dados, geralmente pelo teclado.
Processo Identifica a execução de processos.
Exibição Exibe informações (ações ou resultados), geralmente no monitor de vídeo.
Decisão Identifica os testes de condições para a tomada de decisão e permite os 
desvios ou os laços de repetição.
Linha Permite conectar cada símbolo, seguindo o fluxo do algoritmo.
Conector Faz a conexão entre blocos do algoritmo ou permite, pelo conector, dividir 
o mesmo algoritmo em partes, para um melhor entendimento.
Fonte: Elaborado pelo autor.
• Pseudocódigo: também conhecido como “Portugol”, aproxima-se 
da linguagem de programação, sem distinguir nenhuma. Podemos 
visualizar detalhes importantes, em especial, quando definimos 
os tipos de variáveis que podemos manipular. Porém, é preciso 
aprender a lidar com a linguagem Pseudocódigo.
Para Carvalho (2007, p. 7), o que chamamos de “Pseudocódigo” possui 
outros nomes, todos válidos, como já sabemos. Vejamos:
O Português Estruturado é uma forma especial de linguagem 
bem mais restrita que a Língua Portuguesa e com significados 
bem definidos para todos os termos utilizados nas instruções 
(comandos). 
Essa linguagem também é conhecida como Portugol, Pseudocó-
digo ou Pseudolinguagem. O Português Estruturado na verdade 
é uma simplificação extrema da língua portuguesa, limitada a 
pouquíssimas palavras e estruturas que têm significado pré-de-
finido, pois deve-se seguir um padrão. Emprega uma linguagem 
intermediária entre a linguagem natural e uma linguagem de pro-
gramação, para descrever os algoritmos.
ALGORITMOS COMPUTACIONAIS 25|
Embora o Português Estruturado seja uma linguagem bastan-
te simplificada, ela possui todos os elementos básicos e uma 
estrutura semelhante à de uma linguagem de programação de 
computadores. Portanto, resolver problemas com português 
estruturado pode ser uma tarefa tão complexa quanto a de 
escrever um programa em uma linguagem de programação 
qualquer, só não tão rígida quanto a sua sintaxe.
Veja a estrutura de um algoritmo adiante:
ALGORITMO <nome do algoritmo>
<definição de variáveis>
INÍCIO
<comandos>
FIM
Quadro 03: Principais comandos do “Portugol”.
SE-ENTÃO-SENÃO
SE <condição> ENTÃO
<comandos n>
SENÃO
<comandos n>
FIMSE
ESCOLHA-CASO
CASO <condição> FAÇA
opção 1: <comandos 1>
opção n: <comandos n>
SENÃO
<comandos n>
FIMCASO
ENQUANTO-FAÇA
ENQUANTO <condição> FAÇA
<comandos n>
FIMENQUANTO
PARA-FAÇA
PARA <variável>:= <valor inicial> ATÉ <valor final> FAÇA
<comandos n>
FIMPARA
26 ALGORITMOS COMPUTACIONAIS|
REPITA-ATÉ
REPITA
<comandos 1>
<comandos 2>
<comandos n>
ATÉ <condição>
leia
leia(variável/constante)
leia(código)
leia(nome)
leia(e-mail)
escreva
escreva(“argumento”)
escreva(“código do cliente:”)
escreva(“nome do cliente:”)
escreva(“digite um e-mail válido:”)
Fonte: Elaborado pelo autor.
Aqui podemos conhecer uma introdução sobre as estruturas de 
repetição, conforme Carvalho (2007, p. 18-21). Essas estruturas são 
poderosas e permitem que uma sequência de comandos seja executada até 
que uma condição seja satisfeita. Vejamos:
Na estrutura Enquanto-Faça as instruções a serem repeti-
das podem não ser executadas nenhuma vez, pois o teste 
fica no início da repetição, então a execução das instruções 
(que estão "dentro" da repetição) depende do teste. Nesta 
estrutura, a repetição é finalizadaquando o teste é Falso (F), 
ou seja, enquanto o teste for Verdadeiro as instruções serão 
executadas e, quando for Falso, o laço é finalizado. 
A estrutura de repetição Para-Até-Faça é um pouco dife-
rente das outras duas (Repita-Até e Enquanto-Faça), pois 
possui uma variável de controle, ou seja, com esta estrutura 
é possível executar um conjunto de instruções um número 
determinado de vezes. Através da variável de controle, de-
fine-se a quantidade de repetições que o laço fará. 
Na estrutura Repita-Até as instruções a serem repetidas são 
executadas, no mínimo uma vez, já que o teste (a condição) 
fica no final da repetição. Nesta estrutura, a repetição é fina-
lizada quando o teste for Verdadeiro (V), ou seja, o algoritmo 
fica executando as instruções que estiverem dentro do laço até 
que o teste seja verdadeiro. 
ALGORITMOS COMPUTACIONAIS 27|
Exemplos de Pseudocódigo ou Português Estruturado (figuras 03 e 
04):
Figura 03: Estrutura SE-ENTÃO-SENÃO.
Fonte: Elaborada pelo autor.
Figura 04: Estrutura ESCOLHA-CASO.
Fonte: Elaborada pelo autor.
Vamos demonstrar agora as estruturas de repetição. Observe-as com 
atenção, pois elas são importantíssimas para o processamento de dados. 
Dessa forma, faz toda a diferença aprender como funcionam. Existem três 
estruturas, a saber (figuras 05, 06 e 07):
28 ALGORITMOS COMPUTACIONAIS|
Figura 05: Estrutura ENQUANTO-FAÇA.
Fonte: Elaborada pelo autor.
Figura 06: Estrutura PARA-FAÇA.
Fonte: Elaborada pelo autor.
Figura 07: Estrutura REPITA-ATÉ.
Fonte: Elaborada pelo autor.
ALGORITMOS COMPUTACIONAIS 29|
A programação de computadores é fortemente apoiada pelas 
estruturas de decisão e controle. Segundo Prus (2001), o desenvolvimento de 
software mantém alinhadas essas estruturas para a criação de sistemas de 
informação, transformando, assim, o algoritmo em programa de computador, 
software empresarial ou de caráter científico.
Apresentamos até aqui apenas alguns exemplos de comandos do 
Portugol, utilizando as estruturas de controle de programação. Na Unidade 
02, estudaremos a construção dos algoritmos, momento em que abordaremos 
as outras estruturas e faremos as demonstrações devidas. É fato que, quando 
combinamos todas as estruturas, temos recursos suficientes para resolver os 
problemas, por mais complexos que estes possam parecer. 
FFIQUEIQUE ATENTOATENTO
O mercado de desenvolvimento de software é um dos mais promissores. 
As estatísticas revelam números muito bons, pois as empresas estão cada vez 
mais dependentes de sistemas de informação. Os empregadores, de modo 
geral, procuram profissionais de sistemas que possuam olhar sistêmico e 
habilidades para resolver os problemas que surjam nos processos do dia a dia 
do negócio, transformando-os em sistemas de informação. Portanto, aprofunde 
seus conhecimentos na abstração de problemas e desenhe algoritmos ideais 
para resolvê-los.
PPRATIQUERATIQUE
1. Com suas palavras, explique a composição do argumento.
30 ALGORITMOS COMPUTACIONAIS|
2. Defina proposição.
3. Em programação de computadores, o que são instruções sequenciais?
4. De acordo com os estudos realizados, o que é lógica?
5. O que é um algoritmo?
6. Como alcançar objetivos claros em programação de computadores?
7. Quais são as características técnicas de um algoritmo?
8. Com suas palavras, explique fluxo de execução.
ALGORITMOS COMPUTACIONAIS 31|
9. Quais são as formas de representação de algoritmos?
10. Dentre as formas de representação de algoritmos, por que o pseudocódigo 
é mais eficaz? Explique.
RRELEMBREELEMBRE
Caro estudante, iniciamos nossos estudos sobre lógica de programação. 
A priori, pensamos que matemática é de difícil compreensão, mas agora, depois 
de ler esta unidade, percebermos que o raciocínio lógico é responsável por 
organizar nossos pensamentos, claro, a partir dos conhecimentos adquiridos.
Por meio das noções de lógica e da compreensão sobre a notação usada 
para representar os argumentos, conseguimos chegar nas proposições, objeto 
de nossa maior atenção, pois precisamos aprender proposições, com base 
em seu conceito, para que possamos igualmente compreender a ideia dos 
conectivos lógicos, bem como da tabela verdade e suas propriedades, somente 
assim poderemos aplicar nosso raciocínio na construção dos algoritmos.
Para fechar esta unidade, lemos sobre o fluxo de execução e a lógica 
nos algoritmos, conteúdos mais interessantes, visto que nos aproximamos da 
compreensão acerca do funcionamento da linguagem de computadores, ou 
seja, como funciona o fluxo de execução em um programa de computador. 
Quanto às linguagens de computadores, sabemos que existem inúmeras delas, 
mas o importante é que tenhamos o domínio daquela que adotarmos como 
padrão e sejamos capazes de desenvolver sistemas complexos, ou ainda, 
que possamos migrar qualquer sistema para a linguagem que dominamos, 
isso sim é um diferencial.
32 ALGORITMOS COMPUTACIONAIS|
Vale salientar que, como os profissionais desenvolvedores de sistemas 
são bastante solicitados por grandes e médias empresas no mercado de 
trabalho, aprofundar os próprios conhecimentos sobre esses temas pode fazer 
você chegar longe profissionalmente.
RREFERÊNCIASEFERÊNCIAS
ALENCAR FILHO, Edgard de. Iniciação à Lógica Matemática. São Paulo: 
Nobel, 2002.
ANDRADE, Doherty; CARMELO, Emerson Luiz do Monte. Elementos de 
Lógica. 1999. Disponível em: http://www.dma.uem.br/kit/topicos-especiais/
logica.pdf. Acesso em: 16 fev. 2022.
BESSA, André. Algoritmos e Lógica de Programação: O que é isso e 
porque é importante. 2021. Disponível em: https://www.alura.com.br/artigos/
algoritmos-e-logica-de-programacao. Acesso em: 20 fev. 2022.
BIANCHI, Luiz. Lógica Matemática. Website Lumadi. 2012. Disponível em: 
http://www.bianchi.pro.br/logicamat/logicamatematica.php. Acesso em: 16 
fev. 2022.
BRAVO, Raquel de Souza Francisco. Lógica Proposicional. 2016. 
Disponível em: http://www.ic.uff.br/~ueverton/files/aulasFMC/Aula%2012.pdf. 
Acesso em: 16 fev. 2022. 
CARVALHO, Flávia Pereira de. Apostila de Lógica de Programação: 
Algoritmos. Rio grande do Sul: Faculdades Integradas de Taquara (FACCAT), 
2007. Disponível em: https://fit.faccat.br/~fpereira/apostilas/apostila_
algoritmos_mar2007.pdf. Acesso em: 26 fev. 2022.
DICIONÁRIO INFORMAL. Notação. 2022. Disponível em: https://www.
dicionarioinformal.com.br/notacao/. Acesso em: 15 fev. 2022.
FRANCK, Natascha Simões. Raciocínio Lógico e Matemático. São Paulo: 
Maxi Educa, 2017. 
ALGORITMOS COMPUTACIONAIS 33|
FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica 
de Programação: a Construção de Algoritmos e Estruturas de Dados. 3. ed. 
São Paulo: Pearson Prentice Hall, 2005.
INSTITUTO FEDERAL FLUMINENSE. Apostila de Lógica de Programação. 
2019. Disponível em: https://educapes.capes.gov.br/bitstream/
capes/560827/2/Apostila%20-%20Curso%20de%20L%C3%B3gica%20
de%20Programa%C3%A7%C3%A3o.pdf. Acesso em: 21 fev. 2022. 
LIMA, Cleone Silva. Apostila de Lógica: Fundamentos de Lógica e 
Algoritmos. 2012. Disponível em: https://docente.ifrn.edu.br/cleonelima/
disciplinas/fundamentos-de-programacao-2.8401.1m/fundamentos-de-
logica-e-algoritmos-1.8401.1v/apostila-equivalencias-logicas. Acesso em: 15 
fev. 2022.
MORAES, Paulo Sérgio de. Lógica de Programação. In: Curso Básico de 
Lógica de Programação. São Paulo: Unicamp, Centro de Computação – 
DSC, 2000. Disponível em: https://ftp.unicamp.br/pub/apoio/treinamentos/
logica/logica.pdf. Acesso em: 10 fev. 2022.
NETO, Francisco Cunha. Caderno de Lógica Proposicional. Cadernos 
CiComp. 2017. Disponível em: https://cadernoscicomp.com.br/tutorial/logica-
proposicional/. Acesso em: 20 abr. 2022.
OLIVEIRA, Cintia Reis de et al. Lógica de Programação: Manual do 
Professor. Ceará: SEDUC, 2012. Disponível em: https://educacaoprofissional.
seduc.ce.gov.br/images/material_didatico/professor/informatica/logica_de_
programacao.pdf. Acesso em: 19 abr. 2022.
PRUS, Élcio Miguel. Um Modelo de Sistema Tutor Inteligente Aplicado 
aoEnsino da Programação Estruturada. 2001. Dissertação (Mestrado em 
Engenharia da Produção) – Programa de Pós-Graduação em Engenharia de 
Produção, Universidade de Santa Catarina, Florianópolis, 2001. Disponível 
em: https://repositorio.ufsc.br/xmlui/handle/123456789/81900. Acesso em: 
22 fev. 2022.
RAULINO, Filipe. Fundamentos de Lógica e Algoritmos: Introdução. Natal, 
2013. Instituto Federal de Educação, Ciência e Tecnologia – Rio Grande 
do Norte. Aula 1. Disponível em: http://docente.ifrn.edu.br/filiperaulino/
disciplinas/logica/aulas/aula1. Acesso em: 15 fev. 2022.
34 ALGORITMOS COMPUTACIONAIS|
SIGNIFICADOS. Significado de lógica. Disponível em: https://www.
significados.com.br/logica/. Acesso em: 10 fev. 2022.
AANOTAÇÕESNOTAÇÕES

Outros materiais