TERMO DE QUALIFICAÇÃO TÉCNICA OBJETIVANDO A CONTRATAÇÃO DE ...
Introdução à Lógica de Programação - UFPELógica de programação •Uso do encadeamento do...
Transcript of Introdução à Lógica de Programação - UFPELógica de programação •Uso do encadeamento do...
Agenda
• Conceitos
• Algoritmo• Concepção
• Representação
• Algoritmo & Programação
Conceitos
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
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
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 algoritmoscoerentes e válidos.
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
Algoritmo
• Como fazer um algoritmo?• Concepção
• Entrada
• Processamento
• Saída
• Representação• Descrição narrativa
• Fluxograma
• Pseudocódigo
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)?
AlgoritmoConcepção
Etapas básicas
ProcessamentoEntradaSaída
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
AlgoritmoRepresentação
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.
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
Fluxograma
media = (n1 + n2 + n3) / 3
n1, n2, n3
media ≥ 7
FIM
“Não passou direto”
“Passou direto”
INÍCIO
Falso
Verdadeiro
Pseudocódigo
algoritmo "Nota Media"var
n1, n2, n3, media: realinicio
escreval("Informe as notas das avaliações 1, 2 e 3: ")leia(n1, n2, n3)
media <- (n1 + n2 + n3) / 3
se (media >= 7) entaoescreva("Passou direto")
senaoescreva("Não passou direto")
fimse
fimalgoritmo
Vantagens e desvantagens
Vantagens Desvantagens
Descrição NarrativaSabendo falar, ao menos na forma falada conseguimos descrever.
Cada pessoa descreve da sua forma, podendo ser impreciso.
FluxogramaUma 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.
Algoritmo & Programação
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
Linguagem de programação
• As linguagem de programação podem ser classificadas em relação:• Grau de abstração
• Compilada X Interpretada
• Entre outros
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
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
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ívelmedia = (n1 + n2 + n3) / 3;
Linguagem de máquina0001 0000 1010 1111
Tradução
Resumindo ...
• Conceitos• Lógica• Lógica de programação• Algoritmo
• Algoritmo• Concepção
• Entrada• Processamento• Saída
• Representação• Descrição narrativa• Fluxograma• Pseudocódigo
• Algoritmo & Programação• Programação• Linguagem de programação
• Grau de abstração• Compilação X Interpretação