4. Lógica
• Originária do grego logos (linguagem racional)
• Michaelis: “Parte da filosofia que se ocupa das
formas do pensamento e das operações
intelectuais.”
• Forma – maneira como organizado e apresentado:
• Ordem no pensamento
• Encadeamento ordenado de ideias
5. Lógica
• Exemplos:
• Todo mamífero é um animal
• Todo cavalo é um mamífero
• Portanto, todo cavalo é um animal
• Preciso de uma caneta
• Existe uma caneta dentro da gaveta
• A gaveta está fechada
• Preciso primeiro abrir a gaveta para depois pegar a
caneta
6. Lógica de programação
• Uso do encadeamento do raciocínio na
programação de computadores, objetivando o
desenvolvimento de soluções para resolução de
problemas.
• A expressão do raciocínio através de algoritmos
• Objetivo principal do estudo da Lógica de
Programação é a construção de algoritmos
coerentes e válidos.
7. Algoritmo
• Uma sequência de instruções que visam atingir um
objetivo bem definido
• Exemplo:
• Receita de bolo
• Instruções de como chegar em um local
• Fórmula para cálculo de média aritmética
• Método de ordenação de uma listagem de números
8. Algoritmo
• Como fazer um algoritmo?
• Concepção
• Entrada
• Processamento
• Saída
• Representação
• Descrição narrativa
• Fluxograma
• Pseudocódigo
9. Algoritmo
• Caso de exemplo:
• Na UNIBRA, para ser aprovado sem ter que passar por
uma avalição final é necessário obter um valor de média
superior ou igual a 7. Lembrando que, no geral, são
realizados dois exercícios e um interdisciplinar.
• Como representar um algoritmo que informe se o aluno
foi aprovado sem a necessidade de ir para a avaliação
final (passar direto)?
12. Etapas básicas
• Entrada
• Exemplo: Os valores das notas dos dois exercícios e do
interdisciplinar
• Pode não possuir explicitamente uma entrada, mas terá um
estado inicial
• Processamento
• Exemplo: Cálculo da média aritmética das notas
• Manipulação dos dados de entrada ou ação sobre o estado
inicial
• Saída
• Exemplo: A afirmação ou negação de que o aluno passou
direto
• Pode não possuir explicitamente uma saída, mas terá um
estado final
14. Descrição narrativa
• Uso da linguagem (português, inglês ...) para
descrever os passos a serem seguidos para
obtenção da solução:
1. Obter as notas das avaliações 1, 2 e 3
2. Calcular a média aritmética das três notas
3. Verificar o valor da média.
1. Se o valor for maior ou igual a 7: o aluno passou direto.
2. Senão: o aluno não passou direto.
15. Fluxograma
• Uso de símbolos com significados definidos:
Início ou fim do fluxograma
Operação de cálculo, de atribuição e
chamada ou retorno de funções
Operação de entrada e dados
Operação de saída de dados
Decisão
16. Fluxograma
media = (n1 + n2 + n3) / 3
n1, n2, n3
media ≥ 7
FIM
“Não passou direto”
“Passou direto”
INÍCIO
Falso
Verdadeiro
17. Pseudocódigo
algoritmo "Nota Media"
var
n1, n2, n3, media: real
inicio
escreval("Informe as notas das avaliações 1, 2 e 3: ")
leia(n1, n2, n3)
media <- (n1 + n2 + n3) / 3
se (media >= 7) entao
escreva("Passou direto")
senao
escreva("Não passou direto")
fimse
fimalgoritmo
18. Vantagens e desvantagens
Vantagens Desvantagens
Descrição Narrativa
Sabendo falar, ao menos na
forma falada conseguimos
descrever.
Cada pessoa descreve da
sua forma, podendo ser
impreciso.
Fluxograma
Uma figura “fala muito
mais”. Obedece a um certo
padrão.
De análise complicada se o
algoritmo for grande. Não
possui suporte a definição
de tipo de dado.
Pseudocódigo
Possui maior poder de
representação. Linguagem
natural. Parecido com uma
linguagem de programação.
Tem várias versões e,
mesmo parecido, ainda não
é uma linguagem de
programação.
20. Programação
• A implementação de um algoritmo em uma
linguagem de programação
• Linguagem de programação é um método com um
conjunto bem definido de regras sintáticas e
semânticas utilizados na implementação de um
programa
C C++ C# Java Matlab
Python JavaScript PHP Fortran R
Pascal Assembly Ruby Erlang Lua
Scala Go Kotlin Swift Haskell
21. Linguagem de programação
• As linguagem de programação podem ser
classificadas em relação:
• Grau de abstração
• Compilada X Interpretada
• Entre outros
22. Grau de abstração
• Linguagem de máquina
• Instruções nativas do processador
• Linguagem de baixo nível
• Não é linguagem nativa do processador, mas abstrai
diretamente as instruções
• Linguagem de nível médio
• Classificação contraditória entre autores
• Linguagem de alto nível
• Símbolos de abstração elevada
• Mais próximo da linguagem humana
23. Grau de abstração
• Linguagem de máquina
• 0001 0000 1010 1111
• Linguagem de baixo nível
• Assembly
• Linguagem de nível médio
• C/C++
• Linguagem de alto nível
• PHP
24. Compilada X Interpretada
• Tradução linguagem de programação:
• Opções:
• Compilação
• O texto é traduzido por completo para ser lido
• Interpretação
• O texto é traduzido e lido linha a linha
Linguagem de alto nível
media = (n1 + n2 + n3) / 3;
Linguagem de máquina
0001 0000 1010 1111
Tradução