Introdução à Lógica de Programação
http://ead.al.senai.br:81/portal/images/logicadeprogramacao.jpg
O que é lógica?
Lógica
● Ciência que estuda as leis do raciocínio.
● Correção/validação do pensamento.
● Arte do bem pensar.
Lógica é considerada uma ciência formal, é o
estudo formal sistemático dos princípios da
inferência válida e do pensamento correto.
https://pt.wikipedia.org/wiki/Logica
Conceito de Lógica
A Programação Lógica tem como objetivo
realizar funções ou esquemas lógicos por
meio de parâmetros e metas. É a técnica de
desenvolver algoritmos (sequências
lógicas) para atingir determinados objetivos
dentro de certas regras baseadas na Lógica
matemática e em outras teorias básicas
da Ciência da Computação
Programação Lógica
Base na lógica matemática
O sentido da programação lógica é trazer o
estilo da lógica matemática à programação de
computadores.
A lógica é a base de todas as linguagens
de programação que são usadas para a
comunicação com o computador. Estas
linguagens são constituídas de
comandos, que quando utilizados
corretamente, executam determinadas
ações.
Lógica de programação pode ser definida
simplesmente como a definição de um
código a ser escrito em qualquer
Linguagem de Programação, ou seja, é a
definição dos recursos da linguagem que
serão utilizados e como serão utilizados.
Algoritmos
Algoritmos
Algoritmo é uma sequência finita de
instruções bem definidas e não
ambíguas, cada uma das quais
devendo ser executadas mecânica ou
eletronicamente em um intervalo de
tempo finito e com uma quantidade de
esforço finita
https://www.pt.wikipedia.org/wiki/Algoritmo
Um algoritmo não representa,
necessariamente, um programa
de computador, e sim os passos
necessários para realizar
determinada tarefa.
Sua implementação pode ser feita
por um computador, por outro tipo
de autômato ou mesmo por um ser
humano. Diferentes algoritmos
podem realizar a mesma tarefa
usando um conjunto diferenciado
de instruções em mais ou menos
tempo, espaço ou esforço do que
outros.
Todas as tarefas executadas pelo
computador, são baseadas em Algoritmos.
Logo, um algoritmo deve ser bem definido,
pois é uma máquina que o executará. Uma
calculadora por exemplo, para executar a
operação de multiplicação, executa um
algoritmo que calcula somas até um
determinado número de vezes.
Algoritmos na computação
http://www.dicasdeprogramacao.com.br/o-que-e-algoritmo
Um programa de computador é essencialmente
um algoritmo que diz ao computador os passos
específicos e em que ordem eles devem ser
executados.
Pseudocódigo e Fluxograma
Pseudocódigos e Fluxogramas são formas
simples e diagramadas de um código
pronto. O objetivo de um fluxograma ou
pseudocódigo é mostrar de antemão a
lógica usada na solução de um problema
(algoritmo).
http://www.tiexpert.net/programacao/algoritmo
Pseudocódigo
O pseudocódigo é um código simplório, ou
seja, não é um código real, mas um código
imaginário que lembra o código de
programação.
O pseudocódigo é muito utilizado em cursos
de programação para apresentar a lógica
algorítmica de forma mais simples, sem ter
que se preocupar muito com o aspecto
técnico das linguagens reais.
O pseudocódigo não segue um
padrão definido, portanto,
qualquer um pode escrever seu
pseudocódigo da forma que bem
entender desde que ele transmita
a ideia central da lógica da
programação.
Exemplo de um pseudocódigo
https://dougllass.files.wordpress.com/2011/08/soma_portugol.jpg
Fluxograma
Fluxogramas têm o mesmo objetivo dos
pseudocódigos, a única diferença é que os
fluxogramas são representações gráficas.
A vantagem principal dos fluxogramas é que,
diferentemente dos pseudocódigos, eles são
padronizados. Ou seja, cada símbolo representa
uma ação específica e sempre representará.
Um fluxograma usa linhas para ligar seus
elementos, criando assim, um caminho que deve
ser seguido.
http://www.tiexpert.net/programacao/algoritmo
Tabela com alguns fluxogramas
http://www.tiexpert.net/programacao/algoritmo
Apesar do número de representações assustar à
princípio, a maior parte das representações não
são utilizadas.
Raramente utilizaremos o símbolo fita perfurada,
porque não são mais utilizadas aplicações que
realmente necessitem de entrada de dados por
fita perfurada como ocorria há 20 ou 30 anos
atrás. Porém, outros são utilizados com muito
mais frequência como o exibir, entrada manual,
processo e assim por diante.
Linguagem de Programação
Uma linguagem de programação é um
método padronizado para comunicar
instruções para um computador. É um
conjunto de regras sintáticas e semânticas
usadas para definir um programa de
computador.
https://www.wikipedia.org/wiki/Linguagem_de_programacao
Conceitos
Programação estruturada é uma forma
de programação que preconiza que
todos os programas possíveis podem
ser reduzidos a apenas três
estruturas:
• Sequência
• Decisão
• Repetição
Classificação
As linguagens de programação
podem ser classificadas e sub-
classificadas de várias formas.
• Linguagens de aplicação.
• Linguagens concorrentes, distribuídas e paralelas.
• Linguagens de fluxo de dados.
• Linguagens de projeto.
• Linguagens extensíveis.
• Linguagens de montagem e de macro.
• Linguagens de microprogramação.
• Linguagens não determinísticas.
• Linguagens não procedurais.
• Linguagens orientadas a objeto.
• Linguagens de aplicação especializada.
• Linguagens de altíssimo nível.
https://www.wikipedia.org/wiki/Linguagem_de_programacao
Classificação da ACM
(Association for Computing Machinery)
Programação orientada a objetos
Orientação à objetos, também conhecida
como Programação Orientada à Objetos
(POO), é um paradigma de análise, projeto
e programação de sistemas de software
baseado na composição e interação entre
diversas unidades do software chamadas
de objetos.
Linguagens de programação mais usadas atualmente
http://www.tiobe.com/tiobe-index
http://www.google.com/images
ESTRUTURA DE DADOS
CONCEITO
• É o ramo da computação que estuda os diversos mecanismos
de organização de dados para atender aos diferentes requisitos
de processamento.
ORGANIZA ALGORITMOS DE FORMA
RACIONAL VISANDO EFICIÊNCIA
TIPOS DE DADOS
•TIPOS PRIMITIVOS
DE DADOS
•ESTRUTURAS DE
DADOS
TIPOS PRIMITIVOS DE DADOS
• Inteiro
• Real
• Lógico
• Caracter
• Ponteiro
TIPOS DE ESTRUTURA
• Vetores
• Multidimensionais
• Pilhas
• Filas
• Listas
• Árvores
TIPO ABSTRATO DE DADOS
(ADT)
- LEVA EM CONTA O QUE OS USUÁRIOS DESEJAM FAZER
- BASEADO EM MODELO MATEMÁTICO
ALGUNS TIPOS DE ADT
• fila,
• string,
• Fila priorizada,
• tabela de símbolos,
• grafo
MÉTODOS DE IMPLEMENTAÇÃO DE ADT
• de classe, ou estático, se vale para todas as instâncias da
classe;
• de instância, ou não-estático, se cada instância da classe tem
sua própria cópia do método.
TABELA DE SÍMBOLOS (TSS)
• Um tabela de símbolos é uma tabela com duas colunas: uma
coluna de chaves (= keys) e uma de valores(= values). Dizemos
que cada linha da tabela é um item. Cada item associa um
valor a uma chave.
BIBLIOGRAFIA
• http://www.ime.usp.br/~pf/estruturas-de-dados/
• http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node10.html
• http://www.ft.unicamp.br/liag/siteEd/
• http://www.inf.puc-rio.br/~inf1620/material.html
• https://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/O_que_s
%C3%A3o_estruturas_de_dados%3F
• http://www.cos.ufrj.br/~rfarias/cos121/filas.html
• http://pt.slideshare.net/fabriciolopessanchez/estrutura-de-dados-
conceitos-fundamentais
• http://pt.slideshare.net/MarceloAndrade32/estruturas-de-dados
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data

Lógica de programação, algoritmos e big data

  • 1.
    Introdução à Lógicade Programação http://ead.al.senai.br:81/portal/images/logicadeprogramacao.jpg
  • 2.
    O que élógica?
  • 3.
    Lógica ● Ciência queestuda as leis do raciocínio. ● Correção/validação do pensamento. ● Arte do bem pensar.
  • 4.
    Lógica é consideradauma ciência formal, é o estudo formal sistemático dos princípios da inferência válida e do pensamento correto. https://pt.wikipedia.org/wiki/Logica Conceito de Lógica
  • 5.
    A Programação Lógicatem como objetivo realizar funções ou esquemas lógicos por meio de parâmetros e metas. É a técnica de desenvolver algoritmos (sequências lógicas) para atingir determinados objetivos dentro de certas regras baseadas na Lógica matemática e em outras teorias básicas da Ciência da Computação Programação Lógica
  • 6.
    Base na lógicamatemática O sentido da programação lógica é trazer o estilo da lógica matemática à programação de computadores.
  • 7.
    A lógica éa base de todas as linguagens de programação que são usadas para a comunicação com o computador. Estas linguagens são constituídas de comandos, que quando utilizados corretamente, executam determinadas ações.
  • 8.
    Lógica de programaçãopode ser definida simplesmente como a definição de um código a ser escrito em qualquer Linguagem de Programação, ou seja, é a definição dos recursos da linguagem que serão utilizados e como serão utilizados.
  • 9.
  • 10.
    Algoritmos Algoritmo é umasequência finita de instruções bem definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita https://www.pt.wikipedia.org/wiki/Algoritmo
  • 11.
    Um algoritmo nãorepresenta, necessariamente, um programa de computador, e sim os passos necessários para realizar determinada tarefa.
  • 12.
    Sua implementação podeser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros.
  • 13.
    Todas as tarefasexecutadas pelo computador, são baseadas em Algoritmos. Logo, um algoritmo deve ser bem definido, pois é uma máquina que o executará. Uma calculadora por exemplo, para executar a operação de multiplicação, executa um algoritmo que calcula somas até um determinado número de vezes. Algoritmos na computação http://www.dicasdeprogramacao.com.br/o-que-e-algoritmo
  • 14.
    Um programa decomputador é essencialmente um algoritmo que diz ao computador os passos específicos e em que ordem eles devem ser executados.
  • 15.
    Pseudocódigo e Fluxograma Pseudocódigose Fluxogramas são formas simples e diagramadas de um código pronto. O objetivo de um fluxograma ou pseudocódigo é mostrar de antemão a lógica usada na solução de um problema (algoritmo). http://www.tiexpert.net/programacao/algoritmo
  • 16.
    Pseudocódigo O pseudocódigo éum código simplório, ou seja, não é um código real, mas um código imaginário que lembra o código de programação. O pseudocódigo é muito utilizado em cursos de programação para apresentar a lógica algorítmica de forma mais simples, sem ter que se preocupar muito com o aspecto técnico das linguagens reais.
  • 17.
    O pseudocódigo nãosegue um padrão definido, portanto, qualquer um pode escrever seu pseudocódigo da forma que bem entender desde que ele transmita a ideia central da lógica da programação.
  • 18.
    Exemplo de umpseudocódigo https://dougllass.files.wordpress.com/2011/08/soma_portugol.jpg
  • 19.
    Fluxograma Fluxogramas têm omesmo objetivo dos pseudocódigos, a única diferença é que os fluxogramas são representações gráficas. A vantagem principal dos fluxogramas é que, diferentemente dos pseudocódigos, eles são padronizados. Ou seja, cada símbolo representa uma ação específica e sempre representará. Um fluxograma usa linhas para ligar seus elementos, criando assim, um caminho que deve ser seguido. http://www.tiexpert.net/programacao/algoritmo
  • 20.
    Tabela com algunsfluxogramas http://www.tiexpert.net/programacao/algoritmo
  • 21.
    Apesar do númerode representações assustar à princípio, a maior parte das representações não são utilizadas. Raramente utilizaremos o símbolo fita perfurada, porque não são mais utilizadas aplicações que realmente necessitem de entrada de dados por fita perfurada como ocorria há 20 ou 30 anos atrás. Porém, outros são utilizados com muito mais frequência como o exibir, entrada manual, processo e assim por diante.
  • 22.
    Linguagem de Programação Umalinguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. https://www.wikipedia.org/wiki/Linguagem_de_programacao
  • 23.
    Conceitos Programação estruturada éuma forma de programação que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: • Sequência • Decisão • Repetição
  • 24.
    Classificação As linguagens deprogramação podem ser classificadas e sub- classificadas de várias formas.
  • 25.
    • Linguagens deaplicação. • Linguagens concorrentes, distribuídas e paralelas. • Linguagens de fluxo de dados. • Linguagens de projeto. • Linguagens extensíveis. • Linguagens de montagem e de macro. • Linguagens de microprogramação. • Linguagens não determinísticas. • Linguagens não procedurais. • Linguagens orientadas a objeto. • Linguagens de aplicação especializada. • Linguagens de altíssimo nível. https://www.wikipedia.org/wiki/Linguagem_de_programacao Classificação da ACM (Association for Computing Machinery)
  • 26.
    Programação orientada aobjetos Orientação à objetos, também conhecida como Programação Orientada à Objetos (POO), é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades do software chamadas de objetos.
  • 27.
    Linguagens de programaçãomais usadas atualmente http://www.tiobe.com/tiobe-index http://www.google.com/images
  • 28.
  • 29.
    CONCEITO • É oramo da computação que estuda os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento.
  • 30.
    ORGANIZA ALGORITMOS DEFORMA RACIONAL VISANDO EFICIÊNCIA
  • 31.
    TIPOS DE DADOS •TIPOSPRIMITIVOS DE DADOS •ESTRUTURAS DE DADOS
  • 32.
    TIPOS PRIMITIVOS DEDADOS • Inteiro • Real • Lógico • Caracter • Ponteiro
  • 33.
    TIPOS DE ESTRUTURA •Vetores • Multidimensionais • Pilhas • Filas • Listas • Árvores
  • 34.
    TIPO ABSTRATO DEDADOS (ADT) - LEVA EM CONTA O QUE OS USUÁRIOS DESEJAM FAZER - BASEADO EM MODELO MATEMÁTICO
  • 35.
    ALGUNS TIPOS DEADT • fila, • string, • Fila priorizada, • tabela de símbolos, • grafo
  • 36.
    MÉTODOS DE IMPLEMENTAÇÃODE ADT • de classe, ou estático, se vale para todas as instâncias da classe; • de instância, ou não-estático, se cada instância da classe tem sua própria cópia do método.
  • 37.
    TABELA DE SÍMBOLOS(TSS) • Um tabela de símbolos é uma tabela com duas colunas: uma coluna de chaves (= keys) e uma de valores(= values). Dizemos que cada linha da tabela é um item. Cada item associa um valor a uma chave.
  • 38.
    BIBLIOGRAFIA • http://www.ime.usp.br/~pf/estruturas-de-dados/ • http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node10.html •http://www.ft.unicamp.br/liag/siteEd/ • http://www.inf.puc-rio.br/~inf1620/material.html • https://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/O_que_s %C3%A3o_estruturas_de_dados%3F • http://www.cos.ufrj.br/~rfarias/cos121/filas.html • http://pt.slideshare.net/fabriciolopessanchez/estrutura-de-dados- conceitos-fundamentais • http://pt.slideshare.net/MarceloAndrade32/estruturas-de-dados