SlideShare uma empresa Scribd logo
1 de 49
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

Mais conteúdo relacionado

Mais procurados

Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Adriano Teixeira de Souza
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Aula 05 - Lógica de Programação
Aula 05 - Lógica de ProgramaçãoAula 05 - Lógica de Programação
Aula 05 - Lógica de ProgramaçãoJorge Ávila Miranda
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcionalPéricles Miranda
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadoresalexandre freire
 
Programação avançada
Programação avançada Programação avançada
Programação avançada Ilídio Costa
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesAdriano Teixeira de Souza
 
Apresentação final
Apresentação finalApresentação final
Apresentação finalvalmon
 
Aula 1 módulo i - psi
Aula 1   módulo i - psiAula 1   módulo i - psi
Aula 1 módulo i - psi111111119
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaAlgoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaRodrigo Kiyoshi Saito
 

Mais procurados (20)

Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Aula 05 - Lógica de Programação
Aula 05 - Lógica de ProgramaçãoAula 05 - Lógica de Programação
Aula 05 - Lógica de Programação
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
 
Aula 03
Aula 03Aula 03
Aula 03
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
 
Programação avançada
Programação avançada Programação avançada
Programação avançada
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
A Arte do Código Limpo
A Arte do Código LimpoA Arte do Código Limpo
A Arte do Código Limpo
 
Apostila
ApostilaApostila
Apostila
 
Aula 1 módulo i - psi
Aula 1   módulo i - psiAula 1   módulo i - psi
Aula 1 módulo i - psi
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da LogicaAlgoritmos - Aula 03 - Necessidade Do Uso da Logica
Algoritmos - Aula 03 - Necessidade Do Uso da Logica
 

Destaque

Introduccion a la logica matematica ccesa007
Introduccion a la logica matematica ccesa007Introduccion a la logica matematica ccesa007
Introduccion a la logica matematica ccesa007Demetrio Ccesa Rayme
 
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...Ricardo Akerman
 
Análise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaAnálise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaClaudecir Garcia Martins
 
Programação assíncrona com c sharp
Programação assíncrona com c sharpProgramação assíncrona com c sharp
Programação assíncrona com c sharpAndré Bires
 
Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosVando Junqueira
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudJefferson Cuaspud
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosMairaM
 
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...Estevão Moura Costa
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2César Augusto Pessôa
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4César Augusto Pessôa
 
Ingeniería electrónica
Ingeniería  electrónicaIngeniería  electrónica
Ingeniería electrónicaDandresCR
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPSedu
 

Destaque (20)

Aula1
Aula1Aula1
Aula1
 
Lógica Matemática
Lógica MatemáticaLógica Matemática
Lógica Matemática
 
Introduccion a la logica matematica ccesa007
Introduccion a la logica matematica ccesa007Introduccion a la logica matematica ccesa007
Introduccion a la logica matematica ccesa007
 
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...Circuitos elétricos corrente contínua e corrente Alternada   otávio markus - ...
Circuitos elétricos corrente contínua e corrente Alternada otávio markus - ...
 
Análise de circuitos em corrente contínua
Análise de circuitos em corrente contínuaAnálise de circuitos em corrente contínua
Análise de circuitos em corrente contínua
 
Programação assíncrona com c sharp
Programação assíncrona com c sharpProgramação assíncrona com c sharp
Programação assíncrona com c sharp
 
Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmos
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
PyFuncemeClimateTools
PyFuncemeClimateToolsPyFuncemeClimateTools
PyFuncemeClimateTools
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson Cuaspud
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de Projetos
 
Algoritmos conceitos
Algoritmos conceitosAlgoritmos conceitos
Algoritmos conceitos
 
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...Solucionário   introdução à análise de circuitos - robert l. boylestad - 10ª ...
Solucionário introdução à análise de circuitos - robert l. boylestad - 10ª ...
 
Aula 15 minutos
Aula 15 minutosAula 15 minutos
Aula 15 minutos
 
Operadores booleanos
Operadores booleanosOperadores booleanos
Operadores booleanos
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4
 
Ingeniería electrónica
Ingeniería  electrónicaIngeniería  electrónica
Ingeniería electrónica
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 

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

COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...
COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...
COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...Faga1939
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Logica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptxLogica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptxJoseVitorSantanadeMe
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptBrennoPimenta
 
Apresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxApresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxscoffee633
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmosslashmelhor
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Luiz Arthur
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Filipe Chagas Ferraz
 
Modulo 1 - PSI.pdf
Modulo 1 - PSI.pdfModulo 1 - PSI.pdf
Modulo 1 - PSI.pdfAna Almeida
 
Programação Oritentada a Aspecto
Programação Oritentada a AspectoProgramação Oritentada a Aspecto
Programação Oritentada a AspectoBenicio Ávila
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetosLP Maquinas
 
Apostila algoritmos mar2007
Apostila algoritmos mar2007Apostila algoritmos mar2007
Apostila algoritmos mar2007orvel
 
Algoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardoAlgoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardozedaesquina98
 

Semelhante a Lógica de programação, algoritmos e big data (20)

COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...
COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...
COMO FUNCIONAM A INTELIGÊNCIA ARTIFICIAL E SEUS SOFTWARES E ALGORITMOS INTELI...
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
PDF.pdf
PDF.pdfPDF.pdf
PDF.pdf
 
Logica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptxLogica de Programação Vitor Jose de Souza.pptx
Logica de Programação Vitor Jose de Souza.pptx
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.ppt
 
Apresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxApresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptx
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
Aula - Introdução (Curso de Python Básico -- FATEC SENAI MT)
 
Modulo 1 - PSI.pdf
Modulo 1 - PSI.pdfModulo 1 - PSI.pdf
Modulo 1 - PSI.pdf
 
Programação Oritentada a Aspecto
Programação Oritentada a AspectoProgramação Oritentada a Aspecto
Programação Oritentada a Aspecto
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetos
 
Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)
 
Apostila algoritmos mar2007
Apostila algoritmos mar2007Apostila algoritmos mar2007
Apostila algoritmos mar2007
 
Algoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardoAlgoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardo
 

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

  • 1. Introdução à Lógica de Programação http://ead.al.senai.br:81/portal/images/logicadeprogramacao.jpg
  • 2. O que é lógica?
  • 3. Lógica ● Ciência que estuda as leis do raciocínio. ● Correção/validação do pensamento. ● Arte do bem pensar.
  • 4. 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
  • 5. 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
  • 6. 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.
  • 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çã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.
  • 10. 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
  • 11. Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar determinada tarefa.
  • 12. 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.
  • 13. 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
  • 14. Um programa de computador é 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ó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
  • 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ã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.
  • 18. Exemplo de um pseudocódigo https://dougllass.files.wordpress.com/2011/08/soma_portugol.jpg
  • 19. 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
  • 20. Tabela com alguns fluxogramas http://www.tiexpert.net/programacao/algoritmo
  • 21. 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.
  • 22. 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
  • 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 de programação podem ser classificadas e sub- classificadas de várias formas.
  • 25. • 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)
  • 26. 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.
  • 27. Linguagens de programação mais usadas atualmente http://www.tiobe.com/tiobe-index http://www.google.com/images
  • 29. CONCEITO • É o ramo da computação que estuda os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento.
  • 30. ORGANIZA ALGORITMOS DE FORMA RACIONAL VISANDO EFICIÊNCIA
  • 31. TIPOS DE DADOS •TIPOS PRIMITIVOS DE DADOS •ESTRUTURAS DE DADOS
  • 32. TIPOS PRIMITIVOS DE DADOS • Inteiro • Real • Lógico • Caracter • Ponteiro
  • 33. TIPOS DE ESTRUTURA • Vetores • Multidimensionais • Pilhas • Filas • Listas • Árvores
  • 34. TIPO ABSTRATO DE DADOS (ADT) - LEVA EM CONTA O QUE OS USUÁRIOS DESEJAM FAZER - BASEADO EM MODELO MATEMÁTICO
  • 35. ALGUNS TIPOS DE ADT • fila, • string, • Fila priorizada, • tabela de símbolos, • grafo
  • 36. 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.
  • 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