Você está na página 1de 10

• Unidade de Ensino: Lógica de Programação

• Competência da Unidade:Construção de algoritmos e


programação e a sua importância para o universo do
Algoritmos e Lógica desenvolvimento de sistemas.

de Programação • Resumo:Conhecer o princípio da lógica, como se


relaciona como se aplicam raciocínio lógico e formas
Lógica de Programação de representação algorítmica.
• Palavras-chave: lógica, algoritmo, variáveis,
Profa Ms. Adriane Ap. Loper
pseudocódigo, fluxograma
• Título da Teleaula: Lógica de programação
• Teleaula nº: 01

Contextualização Contextualização

 Você sabia que seu dia é cheio de algoritmos? Nosso contexto de aprendizagem é com a
 Como assim? “Kro_Engenharias”, uma empresa de renome na área
 Desde que você acorda de manhã, desenvolve um de engenharia civil, famosa por sua ampla área de
algoritmo, pois usamos um conjunto de instruções atuação, que desenvolve desde um simples projeto até
os empreendimentos mais arrojados.
para realizar uma ação.
Os engenheiros da empresa realizam diversos cálculos
 Ex: acordo, sento na cama, coloco o chinelo, vou ao matemáticos e, na maioria das vezes, fazem uso de
banheiro..... calculadoras e planilhas eletrônicas.
 A partir de agora, você irá aplicar essas definições na Você, portador de um pensamento computacional, foi
preparação e programação de computadores! contratado para fazer parte deste time de engenheiros,
 Vamos aprender? porém, uma missão foi dada pelo seu gestor direto: criar
um pensamento lógico para que os engenheiros
futuramente possam programar os seus diversos cálculos
matemáticos.

Contextualização
Conceitos
No primeiro momento, você deverá trabalhar com seus
colegas engenheiros o uso da lógica para solução de
problemas, a aplicação da lógica no dia a dia e o Definições de Lógica
raciocínio lógico.
Em seguida, você irá apresentar as definições e a
importância dos algoritmos, assim como a utilização de
variáveis, constantes e seus operadores.
Para finalizar a missão, você deixará de forma clara como
funciona a linguagem natural, as características dos
fluxogramas, pseudocódigos e aplicar atividades práticas
para soluções de problemas de lógica.
Pois bem, atente-se aos conceitos que serão
apresentados e seja sempre explorador de
conhecimentos.
Sua Missão Otimização
A Kro_Engenharias, acabou de contratá-lo, e sua Desafio: um robô tem a função de empilhar materiais
missão será ajudar os seus colegas engenheiros a com as seguintes características:
encontrar uma forma que possa ajudá-los na execução Os materiais mais pesados não podem ficar sobre os
dos cálculos matemáticos desenvolvidos nas mais materiais mais leves.
diversas áreas da engenharia. As pilhas (P1, P2 e P3) devem ter no máximo 3 fileiras
Para isso, você deverá desenvolver com os engenheiros de materiais.
o pensamento lógico para o desenvolvimento de O galpão dispõe apenas de 3 locais (A, B e C) de
softwares para soluções dos cálculos. movimentações dos materiais, onde devem transitar e
A proposta então, é criar uma maneira de otimizar o ficar dispostos no último local (C) para o próximo
trabalho do robô para que ele realize a tarefa utilizando processo de logística da empresa.
a menor quantidade possível de passos e,
consequentemente, um menor tempo na execução do
processo.

Lógica Lógica

 O que é lógica?  Pensar com lógica é ter uma ordem de raciocínio, criar
A lógica é a arte de pensar corretamente ou a lógica é um critérios para chegar ao seu objetivo no menor tempo
possível e com o menor esforço.
estudo dos modos corretos do pensamento” (SOARES,
2014). “Lógica é a ciência que estuda as leis e os critérios  É fundamental considerar também a lógica permite a
construção de algoritmos para a resolução de
de validade que regem o pensamento e a demonstração, Fonte: Shutterstock Fonte: Shutterstock
problemas do cotidiano e, posteriormente, o
ou seja, ciência dos princípios formais do raciocínio”. desenvolvimento de programas de computador
(ABE; SCALZITTI; SOUZA FILHO, 2001, p. 11) (softwares) de forma a minimizar a existência de
Sempre que você pensa de forma ordenada e dentro da bugs, falhas e demais comportamentos não
razão, está pensando de forma lógica, nem sempre você esperados.
terá o mesmo pensamento que os outros, porém, o
objetivo deste pensamento na sua maioria é alcançar um
objetivo.

Raciocínio Álgebra de Boole

 Segundo Forbellone (2005), o ser humano tem a  Esse tipo de álgebra é embasado na lógica binária.
capacidade de se expressar pela escrita ou pela fala, e  A lógica binária possui duas representatividades,
lógico, se baseia em um determinado idioma e “falso” e “verdadeiro” ou “0” e “1”.
gramática.
 Em relação aos seus operadores, são definidos AND,
 Pensando assim, seja qual for o idioma o raciocínio, Fonte:<https://pixabay.com/pt/pensador-em- OR e NOT, ou seja, E, OU e NÃO, onde (“E”) é a
Fonte:<https://upload.wikimedia.org/wikiped
ia/commons/c/ce/George_Boole_color.jpg>.
uma-perda-considere-1294491/>.
seguirá a mesma linha de pensamento. conjunção, (“OU”), a disjunção e (NÃO), a negação.
 Podemos dizer que isso acontece com a lógica de  Segundo Forbellone (2005), a lógica por meio da
programação quando usamos o mesmo raciocínio para conjunção é representada pela letra “E” e somente
programar inúmeras linguagens de programação pode assumir um valor verdadeiro se todos os casos
relacionados forem verdadeiros.
Lógica Proposicional Álgebra de Boole
Ao apresentarmos uma linguagem formal, precisamos  Tabela Verdade : Verdadeiro ou Falso
inicialmente fornecer os componentes básicos da
linguagem, chamados de alfabeto, para em seguida
fornecer as regras de formação da linguagem, também
chamadas de gramática. (SILVA, 2006, p. 8).
Fonte:<https://upload.wikimedia.org/wikiped
(1) ~ ia/commons/c/ce/George_Boole_color.jpg>.

Negação (não)
(2) Λ  Tabela Verdade : Os ou 1s
Conjunção (e) (1) ~
Negação (não)
(2) Λ
Conjunção (e)
(3) V Fonte: Artero, M.(2018, p.13)

Disjunção (ou)

Lógica Proposicional Proposições - Conectivos

 Denomina-se proposição a toda frase declarativa,


expressa em palavras ou símbolos, que exprima um
juízo ao qual se possa atribuir, dentro de certo
contexto, somente um de dois valores lógicos
possíveis: verdadeiro ou falso.
(1) ~

Exemplos:
 Marte é um planeta do Sistema Solar. É proposição
 Que guri lindo! Não é proposição
 Ele é engenheiro? Não é proposição

(2) Λ

 Primeiro, mover a primeira pilha (P1) do seu espaço


Resolução da SP original (A) para o terceiro espaço (C).
 Segundo, mover a segunda pilha (P2) do seu espaço
Otimização original (A) para o segundo espaço (B).
 Terceiro, mover a primeira pilha (P1) do terceiro
espaço (C) para o segundo espaço (B).
 Quarto, mover a terceira pilha (P3) do seu espaço
original (A) para o terceiro espaço (C).
 Quinto, mover a primeira pilha (P1) do segundo
espaço (B) para o espaço original (A).
 Sexto, mover a segunda pilha (P2) do segundo espaço
(B) para o terceiro espaço (C).
 Sétimo, mover a primeira pilha (P1) do espaço original
(A) para o terceiro espaço (C).
Algoritmos
Conceitos
 Segundo Szwarcfiter e Markenzon (1994), algoritmos
são definidos como o processo sistemático para a
Elementos resolução de um problema.
fundamentais de  Forbellone e Eberspacher (2000) defendem que
algoritmo é a sequência de passos que visam atingir
programação um objetivo bem definido.
Fonte: Shutterstock

 Por fim, Saliba (1993), Berg e Figueiró (1998)


descrevem algoritmo como uma sequência ordenada
de passos que deve ser seguida para a realização de
uma tarefa.

Algoritmos Algoritmos + Computadores


Podemos criar os mais diversos algoritmos. Ex:fritar um ovo
1. Verificar se há ovos. ENTRADA PROCESSAMENTO SAÍDA
2. Pegar um ovo .
3. Colocar na mesa. No algoritmo:
4. Se há fogão na cozinha, abra-o. ENTRADA – São os dados iniciais;
5. Pegar uma frigideira.
6. Colocar ela em cima da boca do fogão. Fonte: Shutterstock PROCESSAMENTO – É A execução das ações sobre os Fonte: Shutterstock

7. Verificar se tem óleo. dados de entrada e sobre dados intermediários gerados


9. Despejar um pouco de óleo na frigideira. Quebrar o ovo. durante esta execução;
10. Colocar o ovo na frigideira.
11. Fritar o ovo. SAÍDA -É a solução do problema ou o objetivo atingido.
12. Tirar o ovo da frigideira.
13. Colocar no prato.
14. Comer o ovo.
15. Fim

Desenvolvimento de um algoritmo - Variáveis Desenvolvimento de um algoritmo - Variáveis


 Numéricas: Específicas para armazenamento de
 Pensar em variáveis é pensar em algo que pode sofrer números, que posteriormente poderão ser utilizados
variações, certo? SIM!!!!! para cálculos.
 Os valores podem variar no local de armazenamento,  Podem ser ainda classificadas como Inteiras ou Reais.
 Inteiro: são caracterizados pelos números inteiros,
por isso esses locais receberem o nome de “variáveis”.
positivos ou negativos. Exemplo: (110), (90), (–80).
 Variáveis - Segundo Lopes e Garcia (2002), uma  Real: são caracterizados por números inteiros e
variável é considerada um local que armazena um
Fonte: Shutterstock Fonte: Shutterstock
decimais (fracionais),sendo positivos ou negativos.
conteúdo específico na memória principal do Exemplo: (-10,3).
computador. Ex.: Armário e com várias gavetas.  Literal : São variáveis que armazenam letras, números
e símbolos especiais. São chamados de caracteres ou,
em inglês, string. Ex: (Marcio, Karina38, 2017).
 Lógicas: Armazenam somente dados lógicos que
podem ser (V ou F ) Ex: O Carlos tem filho? Sim ou
Não. A Carol é engenheira? Verdadeiro ou Falso.
Desenvolvimento de um algoritmo - Constantes
Resolução da SP
 Constante - pode ser definida por tudo aquilo que é
fixo ou estável, ou seja, você atribui um valor para
aquela variável e ela não sofre alteração durante Algoritmos
certo procedimento.
 Ex: o valor de Pi = 3,14;
 O percentual de desconto do INSS = 11%, entre Fonte: Shutterstock

outros.

Ano: 2018 Banca: AOCP Órgão: FUNPAPA Prova: AOCP - Ano: 2018 Banca: AOCP Órgão: FUNPAPA Prova: AOCP -
2018 - FUNPAPA - Analista de Sistemas 2018 - FUNPAPA - Analista de Sistemas
Referente à análise da complexidade de algoritmos, Referente à análise da complexidade de algoritmos,
preencha as lacunas e assinale a alternativa correta. preencha as lacunas e assinale a alternativa correta.
Um ___________ é, em outras palavras, uma norma Um ___________ é, em outras palavras, uma norma
executável para estabelecer um determinado efeito executável para estabelecer um determinado efeito
desejado, que na prática será geralmente a obtenção de desejado, que na prática será geralmente a obtenção de
uma solução a certo tipo de problema. O conceito central uma solução a certo tipo de problema. O conceito central
da ______________ e da ciência da computação é o de da ______________ e da ciência da computação é o de
algoritmo. algoritmo.
a) algoritmo / internet a) algoritmo / internet
b) programa / internet b) programa / internet
c) código / programação c) código / programação
d) deque / internet d) deque / internet
e) algoritmo / programação e) algoritmo / programação

Sua Missão
Conceitos
O seu desafio é colocar de forma simples uma das
grandes fórmulas utilizadas pelos engenheiros, a
Elementos Fórmula de Bhaskara. Ela faz cálculo das raízes de uma
fundamentais de equação de segundo grau. Fonte: a autora

Nesse contexto você deverá usar variáveis, constantes


programação e os tipos de operadores.
Tente ser o mais didático possível em sua explicação,
para que seja de fácil entendimento para os seus
colegas engenheiros.
Vamos desenvolver?
Desenvolvimento de um algoritmo: Operadores Aritméticos Desenvolvimento de um algoritmo: Operadores Aritméticos

 Operadores aritméticos - Segundo Forbellone e Operadores aritméticos – PRECEDÊNCIA -Seguindo


Eberspacher (2000), pode-se chamar de operadores a mesma regra de precedências da matemática
aritméticos o conjunto de símbolos que representam convencional, os operadores irão se comportar dentro de
as operações básicas da matemática. um algoritmo da mesma forma de prioridades.

Fonte: Shutterstock Fonte: Shutterstock

Desenvolvimento de um algoritmo: Operadores Aritméticos Desenvolvimento de um algoritmo: Operadores Lógicos

Operadores aritméticos – PRECEDÊNCIA -Seguindo  Operadores lógicos - Os operadores lógicos servem


a mesma regra de precedências da matemática para combinar resultados de expressões, retornando
convencional, os operadores irão se comportar dentro de se o resultado final é verdadeiro ou falso.
um algoritmo da mesma forma de prioridades.

Fonte: Shutterstock Fonte: Shutterstock

Fonte: Artero, M.(2018, p.29)

Desenvolvimento de um algoritmo: Operadores Relacionais Desenvolvimento de um algoritmo: Atribuição


 Operadores relacionais - São utilizados na Atribuição pode ser utilizada em algoritmos para
realização de comparação entre valores do mesmo determinar um valor a uma variável ou até mesmo para
tipo primitivo, ou seja, podem ser representados por uma expressão, e é representada por uma seta ( ← ).
variáveis, constantes e até mesmo em expressões Ex. A ← 7
aritméticas. Significa que A tem o valor 7 (ou A recebe o valor 7).
Fonte: Shutterstock Importante!

As variáveis devem ser do mesmo tipo do valor a ser


atribuído, ou seja, uma variável do tipo inteiro só recebe
um valor do tipo inteiro.

Fonte: Artero, M.(2018, p.29)


Desenvolvimento de um algoritmo: Comentários, Entrada e
saída
Resolução da SP
 Comentários – São explicações nas linhas de
comandos dos algoritmos utilizando (//), lembrando
que o que estiver na frente das “//” não será Fórmula de Bháskara
interpretado pelo algoritmo.
 Entrada e saída
 Comando “escreva” – utilizado para mostrar algo na
tela do computador, conhecido como comando de
saída.
 Comando “leia” – utilizado para armazenar os dados
de uma variável, também conhecido como comando
de entrada.

Conceitos

Representações de
algoritmos

Contextualizando Linguagem Natural

Sua missão:  É uma forma de comunicação entre as pessoas de


 Escrever em linguagem natural, fluxogramas e diversas línguas, podendo ser falada, escrita,
pseudocódigos, o cálculo da fórmula que converte a gesticulada, entre outras formas de comunicação.
temperatura em graus centígrados para graus  A linguagem natural tem uma grande contribuição
quando vamos desenvolver uma aplicação
Fahrenheit.
computacional, pois pode direcionar de forma simples Fonte: Shutterstock
e eficiente as descrições dos problemas e suas
 Onde: “F” é a temperatura em Fahrenheit e soluções. Ex: casa, média.
 “C” é a temperatura em centígrados.  O problema é o seguinte: o usuário deverá entrar com
dois valores, e o computador retornará o resultado
com cada uma das operações aritméticas (soma,
subtração, multiplicação e divisão).
Diagrama de blocos (Fluxograma) Terminal: indica o ponto onde começa ou termina o fluxo lógico
de um programa.
 É um conjunto de símbolos gráficos em que cada um Entrada Manual: Determina a entrada manual dos dados,
desses símbolos representa ações específicas a serem geralmente através de um teclado.
executadas pelo computador. Processamento: indica ações, como a operação aritmética ou
 Determina a linha de raciocínio utilizada pelo cálculo de uma fórmula, atribuições de valores, etc.
programador para resolver problemas. Exibição: Mostra o resultado de uma ação, geralmente através da
Fonte: Shutterstock
 Os símbolos utilizados devem estar em harmonia e tela de um computador.
ser de fácil entendimento.
 Para que os diagramas de blocos tenham certa Decisão: Representa os desvios condicionais
coerência, os seus símbolos foram padronizados pelo nas operações de tomada de decisão e laços
ANSI (Inst. Norte Americano de Padronização). condicionais para repetição de alguns
trechos do programa.

Preparação: Representa a execução de um laço incondicional Exemplo de Fluxograma com uso de decisão
quepermite a modificação de instruções do laço.
Processo predefinido: Define um grupo de operações relacionadas
a uma sub-rotina.
Conector: Representa pontos de conexões entre trechos de programas,
que podem ser apontados para outras partes do diagrama de bloco.
Fonte: Shutterstock
Linha: Representa os vínculos existentes entre os símbolos de um
diagrama de blocos.

Fonte: Adaptado de: Manzano (2015).


Fonte: Artero, M.(2018, p.44)

Pseudocódigo
 É uma ferramenta que pode auxiliar a programação. Tipos de Dados e Formas de
Definições
Pode ser escrito em palavras similares ao inglês ou ao variáveis Representação
português para facilitar a interpretação e o
desenvolvimento de um programa.
 Podemos caracterizar os algoritmos como um
pseudocódigo. Fonte: Shutterstock
 Existem várias formas de representar um pseudocódigo,
mas o mais importante é que ele apresente a solução.
Operadores
 O usuário deverá entrar com dois valores, e o lógicos, Linguagem
computador retornará o resultado com cada uma das O que são relacionais e Natural
operações aritméticas (soma, subtração, multiplicação e Algoritmos? aritméticos. Pseudocódigo
Tipos de
divisão). variáveis. Fluxograma
 Vamos estruturar esse pseudocódigo?
 Veja a seguir uma das maneiras para que ele possa ser
realizado:
Linguagem Natural

Resolução da SP
1. Início.
Conversão da 2. Entrar com o valor em Celsius.
3. Realizar a multiplicação do valor entrado em Celsius por 9
temperatura em 4. Realizar a soma do resultado da multiplicação(passo3)
graus Centígrados mais 160

para graus Fahrenheit 5. Realizar a divisão do resultado do passo 4 por cinco


6. Temos o cálculo em graus Fahrenheit.
7. Fim

Pseudocódigo
Fluxograma Início

celsius, fahrenheit
algoritmo "Celsius para Fahrenheit"
Entre com temperatura em var
Celsius celsius, fahrenheit : real
inicio
Fahrenheit <- 9 x celsius +160 escreva ("Digite uma temperatura em graus Celsius e
5 pressione ENTER: ")
leia (celsius)
Fahrenheit
fahrenheit <- ((9*celsius) + 160)/5
escreva ("A temperatura em graus Fahrenheit é: ",
fahrenheit)
Fim
fimalgoritmo

Interação
Consegue traduzir seus pensamentos em representações
de algoritmos?

Fonte: https://gifer.com/en/XlOL9
Conceitos
 Definições de lógica;

Recapitulando  Álgebra de Boole;


 Lógica proposicional;
 Elementos fundamentais de programação
Fonte: Shutterstock
(variáveis,constantes, operadores numéricos,
lógicos,relacionais, atribuições,comentários, entradas
e saidas);
 Representações de algoritmos (linguagem natural,
fluxograma, pseudocódigo).

Você também pode gostar