Livro - Introdução À Lógica de Programação
Livro - Introdução À Lógica de Programação
br
ALGORITMOS E
PROGRAMAÇÃO
Me. Ricardo Zanni Mendes da Silveira
INICIAR
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 1/45
01/09/2022 14:31 Ead.br
introdução
Introdução
Nesta unidade serão abordados os princípios básicos das formas de
compreensão e de construção de algoritmos para o aprendizado dos tipos de
algoritmos, desde a linguagem natural, passando pelo fluxograma até chegar
no pseudocódigo, em que serão descritos detalhes dos comandos de entrada
e saída, os tipos de processamentos, os tipos de dados, variáveis e
constantes, bem como suas formas de serem apresentadas ao pseudocódigo
e à linguagem de programação. Serão estudados, também, as expressões
lógicas e aritméticas, os operadores matemáticos e lógicos, a construção da
tabela verdade e a estrutura de um algoritmo, que irão proporcionar ao aluno
o aprendizado de conceitos da lógica de programação na resolução de
problemas.
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 2/45
01/09/2022 14:31 Ead.br
Introdução à Lógica de
Programação
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 3/45
01/09/2022 14:31 Ead.br
Conceitos Iniciais
Os seres humanos sempre estiveram determinados em desenvolver
máquinas que os ajudassem com 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; CAMPOS, 2012).
É muito comum em nosso dia a dia nos depararmos com diversos exemplos
de algoritmos. Um exemplo é a receita de bolo, em que 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).
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 4/45
01/09/2022 14:31 Ead.br
De acordo com Guedes (2014), cada tarefa que realizamos no nosso dia a dia
é um algoritmo, que atua como uma receita, obedecendo às etapas
necessárias para chegar ao resultado final.
reflita
Reflita
É fundamental entender que todo algoritmo é finito!
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 5/45
01/09/2022 14:31 Ead.br
saiba mais
Saiba mais
Para entender um pouco mais sobre a
construção de algoritmos, assista ao vídeo
“Como ensinar linguagem de programação
para uma criança”, em que um pai pede para
seus filhos instruções de como fazer um
sanduíche. Acesse o vídeo disponível.
ASSISTIR
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 6/45
01/09/2022 14:31 Ead.br
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 sua resolução (ASCENCIO; CAMPOS, 2012).
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 7/45
01/09/2022 14:31 Ead.br
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; CAMPOS, 2012).
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 8/45
01/09/2022 14:31 Ead.br
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 sua
resolução por meio de regras predefinidas (ASCENCIO; CAMPOS, 2012).
Algoritmo
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 9/45
01/09/2022 14:31 Ead.br
Leia N1, N2
M ← N1 * N2
Fim_Algoritmo.
#include<stdio.h>
int main()
scanf("%d\n",&n1);
scanf("%d\n",&n2);
M=n2*n1 ;
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 10/45
01/09/2022 14:31 Ead.br
Exemplo:
LEIA X
Nesse caso, um valor digitado pelo usuário será armazenado na variável X.Em
C será como o exemplo a seguir:
scanf("%d",&X);
Exemplo:
ESCREVA X
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 11/45
01/09/2022 14:31 Ead.br
atividade
Atividade
Esse tipo de algoritmo consiste em interpretar o enunciado do problema e escrever
os passos a serem seguidos para sua resolução por meio de regras predefinidas.
Assinale a alternativa que mais se adequa com as características desse tipo de
algoritmo.
a)
Linguagem de programação.
b)
Linguagem natural.
c)
Fluxograma.
d)
Pseudocódigo.
e)
Lógica de programação.
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 12/45
01/09/2022 14:31 Ead.br
Variáveis, Operadores e
Constantes
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 13/45
01/09/2022 14:31 Ead.br
Constantes
Quando um dado não sofre nenhuma alteração no decorrer da execução do
programa, ou seja, quando seu valor se mantém constante do início até o fim
da execução do programa, esse dado é considerado uma constante
(FORBELLONE, 2005).
Vamos fazer uma analogia igual, igual a utilizada em uma variável, como
exemplo de uma constante no estacionamento da faculdade. A diretoria,
ao chegar no estacionamento para guardar seu veículo, possui uma vaga
fixa, ou seja, seu veículo sempre será estacionado na mesma vaga. Esse é
um exemplo de uma constante, pois, nesse caso, todos os dias eles irá
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 14/45
01/09/2022 14:31 Ead.br
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 15/45
01/09/2022 14:31 Ead.br
+ Adição 1 + 2, A + B
– Subtração 6 – 3, A – B
* Multiplicação 2 * 4, A * B
Raiz quadrada
rad(x) Radiciação rad(25)
de x
Tabela 1.2 – Potenciação e radiciação.
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 16/45
01/09/2022 14:31 Ead.br
9 mod 4 resulta em 1
mod Resto da divisão 27 mod 5 resulta em
2
9 div 4 resulta em 2
Prioridade Operadores
2ª pot rad
3ª * / div mod
4ª +-
Tabela 1.4 – Precedência entre os operadores aritméticos
a. 4 + 2 + 6/2
4 + 2 + 3
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 17/45
01/09/2022 14:31 Ead.br
b. 4 – 2 * 6/3 – pot(2,3)
4 – 2 * 6/3 – 8
4 – 12/3 – 8
4 – 4 – 8
- 8
16 – 6/3 + 1
16 – 2 + 1
15
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 18/45
01/09/2022 14:31 Ead.br
== Igual a 2 == 2, A == B
Exemplos:
a. 3 * 4 = 24/2
12 = 12
3 > 1
10 div 3 <= 8 /2
3 <= 4
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 19/45
01/09/2022 14:31 Ead.br
Operador Função
não negação
e conjunção
ou disjunção
Tabela 1.6 – Operadores lógicos
A não A
F V
V F
Tabela 1.7 – Operação de negação
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 20/45
01/09/2022 14:31 Ead.br
A B AeB
F F F
F V F
V F F
V V V
Tabela 1.8 – Operação de conjunção
A B A ou B
F F F
F V V
V F V
V V V
Tabela 1.9 – Operação de disjunção
a. Se chover
e
relampejar, eu fico em casa.
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 21/45
01/09/2022 14:31 Ead.br
b. Se chover
ou
relampejar 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.
V e 5 = 5
V = V
d. 2 < 5 ou 15/3 = 5
V ou V
Prioridade Operadores
1ª não
2ª e
3ª ou
Tabela 1.10 – Operação de conjunção
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 22/45
01/09/2022 14:31 Ead.br
Prioridade Operadores
2ª operadores aritméticos
3ª operadores relacionais
4ª operadores lógicos
Tabela 1.11 – Precedência entre todos os operadores
Exemplo:
não (F ou V e F ou V)
não (F ou F ou V)
não (F ou V)
não (V)
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 foi escrita.
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).
https://catalogcdns3.ulife.com.br/content-cli/CTI_ALGPRO_19/unidade_1/ebook/index.html 23/45