SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Introdução ao pensamento
computacional e aos algoritmos
Sérgio Souza Costa
Os slides a seguir foram adaptados partir do material do professor Alex Barradas.
Roteiro
- O que são computadores?
- Pensamento Computacional
- Algoritmos
Computador:
Exemplos:
Cálculos, relatórios,
Entretenimento,
Comunicação,
Qualificação ,
Compras ....
O que são computadores?
- Definição: Um computador é uma máquina capaz de sistematicamente coletar,
manipular e fornecer os resultados da manipulação de informações para um ou
mais objetivos. (MONTEIRO, 2001)
Atualmente presente em diversos dispositivos e formas.
O que são computadores?
Atualmente presente em diversos dispositivos e formas.
Conceitos - computador
REFLEXÃO: Como serão
os computadores daqui
30 anos ? em 2051 ?
Pense bem pois
esperamos estar aqui,
vivendo e trabalhando :)
Pensamento computacional
Definição:
O conjunto de habilidades intelectuais e de raciocínio que
indicam como as pessoas interagem e aprendem a pensar
por meio da linguagem computacional. (WING, 2006)
JEANNETTE M. WING
Professor at Carnegie Mellon University / Vice president at Microsoft Research
About:
Link: http://www.cs.cmu.edu/~wing/
Journals:
Computational thinking
Link: https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
Computational Thinking and Thinking About Computing
Link: http://www.cs.cmu.edu/~wing/publications/Wing08a.pdf
Pensamento computacional
Definição:
O conjunto de habilidades intelectuais e de raciocínio que
indicam como as pessoas interagem e aprendem a pensar
por meio da linguagem computacional. (WING, 2006)
JEANNETTE M. WING
Professor at Carnegie Mellon University / Vice president at Microsoft Research
About:
Link: http://www.cs.cmu.edu/~wing/
Journals:
Computational thinking
Link: https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
Computational Thinking and Thinking About Computing
Link: http://www.cs.cmu.edu/~wing/publications/Wing08a.pdf
Não confundam
pensamento
computacional com
ciências da computação.
Enquanto o primento é
uma maneira de abordar
um problema, o outro é o
estudo da computação em
todos os seus elementos.
Pensamento Computacional e o code.org
Pensamento Computacional e o code.org
Para conhecer melhor essa
iniciativa, pause o video e
acesse o video de
lançamento em 2013:
https://www.youtube.com/w
atch?v=nKIu9yen5nc
Pensamento Computacional e o code.org
Não deixem de visitar
https://code.org/ e
“brincar” um pouco.
Importante para o
aprendizado e para
conhecer uma possível
ferramenta que
poderão utilizar
Para conhecer melhor essa
iniciativa, pause o video e
acesse o video de
lançamento em 2013:
https://www.youtube.com/w
atch?v=nKIu9yen5nc
Pensamento Computacional no Brasil
Em muitas escolas particulares, os
alunos tem disciplina de pensamento
computacional desde a alfabetização.
Alguns professores tem levado esse
conhecimento para escolas públicas
através de projetos de extensão.
http://www.computacional.com.br/
Pensamento computacional
Elementos do pensamento
computacional:
- Decomposição
- Reconhecimento de padrões
- Abstração
- Algoritmos
Pensamento computacional
Elementos do pensamento
computacional:
- Decomposição
- Reconhecimento de padrões
- Abstração
- Algoritmos
Pensamento computacional
Decomposição:
Trata-se de quebrar um problema complexo;
Sistemas são dividos em partes menores;
Facilitar a compreensão.
- Nota: As peças pequenas podem ser, em seguida, examinadas e resolvidas, ou
concebidas individualmente, uma vez que são mais fáceis de trabalhar.
Pensamento computacional
Decomposição em prática (resolver um crime):
O crime foi cometido?
Quando o crime foi cometido?
Onde o crime foi cometido?
Existem provas?
Testemunhas?
Crimes semelhantes?
Pensamento computacional
Elementos do pensamento
computacional:
- Decomposição
- Reconhecimento de padrões
- Abstração
- Algoritmos
Pensamento computacional
Reconhecimento de padrões:
Observar tendências;
Regularidades nos dados.
Pelos padrões que conseguimos automatizar as operações.
Pensamento computacional
Elementos do pensamento
computacional:
- Decomposição
- Reconhecimento de padrões
- Abstração
- Algoritmos
Pensamento computacional
Abstração:
Trata-se de filtrar;
Identificar os princípios gerais.
Abstração: permite criar uma ideia geral do que é o problema e como resolvê-lo
(modelo). O processe remove todos os detalhes e padrões que não irão nos ajudar
a resolver o problema.
Um algoritmo é uma abstração de um procedimento passo a passo para obter
entrada e produzir alguma saída desejada (Wing, 2008)
Pensamento computacional
O funcionamento de um carro é abstraído
através de poucos controle.
A comunicação entre os computadores
funciona considerando diferentes níveis de
abstração, conhecidos como camadas
Pensamento computacional
Algoritmo:
Desenvolvimento de uma solução passo-a-passo;
As regras a seguir para resolver o problema.
- Nota: Em um algoritmo, cada instrução é identificada e possui uma ordem de
execução definida.
Algoritmos
Algoritmo
“Nas palavras de um lógico:
Um algoritmo é
um método finito,
escrito em um vocabulário simbólico fixo,
regido por instruções precisas,
que se movem em passos discretos, 1,2,3 ….,
cuja execução não requer insight, esperteza, intuição,
inteligênca ou clareza e lucidez,
e que mais cedo ou mais tarde chega a um fim.”
Berlinski D. O advento do algoritmo.
Algoritmo
“Uma vez descoberto o algoritmo que executa uma dada
tarefa, sua execução já não dependera do conhecimento
dos princípios nos quais se baseia, restringindo se
apenas seguir as instruções estabelecidas.
Capacidade de captar e transferir a inteligência
mediante os algoritmos”
Berlinski D. O advento do algoritmo.
Algoritmos
Definições:
“Ação ou acontecimento que, a partir de um estado inicial, após um
período de tempo finito, produz um estado final previsível e bem-
definido. Portanto, um algoritmo é a descrição de um conjunto de
comandos que, obedecidos, resultam numa sucessão finita de ações”.
(FARRER, 1999)
“É um conjunto ordenado de passos executáveis, não ambíguos, que
define um processo finalizável”. (BROOKSHEAR, 2013)
Algoritmos
Principais características dos algoritmos:
Finitude:
Um algoritmo deve sempre terminar após um número finito de passos.
Definição:
Cada passo de um algoritmo deve ser precisamente definido.
Entradas:
Ter a capacidade de receber dado(s) de entrada.
Saídas:
Poder gerar informações de saída.
Efetividade:
Um algoritmo deve ser eficiente.
Algoritmos: Curiosidade
O termo algoritmo com a computação, na verdade ele teve sua
origem no nome do matemático do século IX Muḥammad ibn Mūsā
al-Khwārizmī, cujo sobrenome foi latinizado para Algoritmi.
Um dos mais antigos algoritmos foram
criados ainda Grécia e Roma antiga.
Pesquise o algoritimo Crivo de
Eratóstenes, utilizado para encontrar
números primos .
Algoritmos: Como fazer ?
Fonte: Raoni Florentino da Silva Teixeira:
Introdução a Algoritmos
Algoritmos: como fazer?
ENTENDIMENTO DO PROBLEMA
• Leia atentamente o enunciado, esclarecendo possíveis dúvidas de
vocabulário e identificando os dados do problema e o resultado
esperado.
• Identifique quais ações podem ser executadas pelo algoritmo.
• Tente responder as perguntas: Você já viu este problema antes?
Você conhece um problema relacionado?
Algoritmos: como fazer?
CONSTRUÇÃO DO ALGORITMO
• Responda a questão: Você consegue transformar este problema em
algum outro que já foi resolvido?
• Avalie se o problema ainda parece complicado e, caso necessário, o
transforme-o em um problema auxiliar, eliminando alguma das
variáveis envolvidas. Considere os casos mais simples primeiro.
• Brinque com a solução e tente entender o que acontece quando
grupos de ações são combinadas.
• Procure encontrar padrões e descreva o algoritmo.
Algoritmos: como fazer?
EXECUÇÃO DO ALGORITMO
• Antecipe o resultado da solução do problema.
• Simule a execução do algoritmo e guarde a solução encontrada
AVALIAÇÃO DA RESPOSTA
• Avalie a solução. A cada iteração você aprende mais sobre o problema.
• Se estiver resolvendo um problema auxiliar, aumente a complexidade do problema
e refaça o processo.
• Inicie o processo novamente, se o resultado esperado não for alcançado
Algoritmos: três fases fundamentais
Dados (entrada):
A matéria-prima obtida por uma ou mais
fontes.
Processamento:
Manipulação das informações coletadas no
início da atividade.
Resultado (saída):
Subentende a dados organizados (processados
– segundo a uma orientação específica).
Algoritmos: três fases fundamentais
Dados (entrada):
A matéria-prima obtida por uma ou mais
fontes.
Processamento:
Manipulação das informações coletadas no
início da atividade.
Resultado (saída):
Subentende a dados organizados (processados
– segundo a uma orientação específica).
Base e Altura
Algoritmos: três fases fundamentais
Dados (entrada):
A matéria-prima obtida por uma ou mais
fontes.
Processamento:
Manipulação das informações coletadas no
início da atividade.
Resultado (saída):
Subentende a dados organizados (processados
– segundo a uma orientação específica).
Base e Altura
Base X Altura
Algoritmos: três fases fundamentais
Dados (entrada):
A matéria-prima obtida por uma ou mais
fontes.
Processamento:
Manipulação das informações coletadas no
início da atividade.
Resultado (saída):
Subentende a dados organizados (processados
– segundo a uma orientação específica).
Base e Altura
Base X Altura
Área
Algoritmos: três fases fundamentais
Dados (entrada):
A matéria-prima obtida por uma ou mais
fontes.
Processamento:
Manipulação das informações coletadas no
início da atividade.
Resultado (saída):
Subentende a dados organizados (processados
– segundo a uma orientação específica).
Algoritmos
Formas de representação de algoritmos:
Algoritmos
Formas de representação de algoritmos:
Linguagem natural
Linguagem natural
Os algoritmos são expressos diretamente em linguagem natural.
• Vantagem: Não é necessário aprender conceitos novos
• Desvantagem: A linguagem natural abre espaço para várias
interpretações e ambiguidades, o que pode dificultar sua tradução para
um programa
Linguagem natural - Exemplo 1
Crie um algoritmo para mostrar o resultado da multiplicação de dois
números:
Passo 1: Receber os dois números que serão multiplicados
Passo 2: Multiplicar os números
Passo 3: Mostrar o resultado obtido na multiplicação
Linguagem natural - Exemplo 2
Faça um algoritmo para mostrar a divisão de dois números
Passo 1: receber os dois números
Passo 2: Se o numerador (segundo número) for igual a zero a divisão
não poderá ser feita; caso contrário dividir os dois números e mostrar o
resultado
Linguagem natural - Exemplo 3
Problema: Atravessar a rua
Algoritmos
Formas de representação de algoritmos:
Linguagem natural
Fluxograma convencional
Fluxograma
É uma representação gráfica que emprega formas geométricas
padronizadas para indicar as diversas ações e decisões que
devem ser executadas.
• Vantagem: o entendimento de elementos gráficos é mais simples e um
pouco mais formal.
• Desvantagens
• É necessário aprender uma nova simbologia
• O algoritmo resultante pode não apresentar muitos detalhes,
dificultando sua tradução para uma linguagem de programação
• Um algoritmo detalhado pode ser complexo de entender
Fluxograma - Símbolos
Direção do fluxo
Indica Cálculos e
Atribuições
Indica Entrada de
Dados
Indica Tomada
de decisão
Saída de
Dados
Início/Fim
Fluxograma - Exemplo 1
inicio
N1, N2
M = N1 * N2
Imprime M Fim
Crie um algoritmo para mostrar o
resultado da multiplicação de dois
números.
Fluxograma - Exemplo 2
Faça um algoritmo para mostrar a divisão de
dois números
inicio
N1, N2 N2=0
Impossível
dividir
D = N1/N2
Imprime D fim
Sim
Não
Algoritmos
Formas de representação de algoritmos:
Linguagem natural
Fluxograma convencional
Pseudocódigo
Pseudocódigo
Emprega uma linguagem intermediária entre a linguagem natural
e uma linguagem de programação.
Vantagem
A transformação do algoritmo para uma linguagem de programação é
simples
Desvantagem
É necessário aprender as regras de especificação do pseudo-código
Como não é uma linguagem de programação, cada pessoa pode definir
suas próprias regras e símbolos
Pseudocódigo - Exemplo 1
Crie um algoritmo para mostrar o resultado da multiplicação de
dois números
Algoritmo Multiplicação
Var N1, N2, M Real
Inicio
Escreva (“Digite dois números”)
Leia (N1, N2)
M <- N1 * N2
Escreva “Multiplicação = “, M
Fim
Pseudocódigo: Exemplo 2
Crie um algoritmo que dado duas notas, retorne se o aluno foi
aprovado.
Portugol
Baseada no Pascal, é utilizada como a primeira “linguagem de programação”.
Em muitos casos ela não é usada como uma linguagem para qual existem
interpretadores, como o Visualg:
Portugol
Baseada no Pascal, é utilizada como a primeira “linguagem de programação”.
Em muitos casos ela não é usada como uma linguagem para qual existem
interpretadores, como o Visualg:
Ao invés de trabalharmos
como Portugol, nesse
curso já iremos usar de
modo ainda superficial a
linguagem de
programação Python.
Algoritmos
Formas de representação de algoritmos:
Linguagem natural
Fluxograma convencional
Pseudocódigo
Linguagem de programação
Linguagem de programação
“Um programa é uma sequência de símbolos que especifica uma computação. Uma
linguagem de programação é um conjunto de regras que especificam quais
sequências de símbolos constituem um programa e que computação o programa
descreve."
Um algoritmo precisa ser expresso
por uma linguagem de programação
para que um computador consiga
executar.
Linguagem de programação
“Um programa é uma sequência de símbolos que especifica
uma computação. Uma linguagem de programação é um
conjunto de regras que especificam quais sequências de
símbolos constituem um programa e que computação o
programa descreve." (Monti Ben-Ari - Understanding
Programming Languages)
"Uma linguagem de programação é um formalismo artificial em
que algoritmos podem ser expressos” (Gabbrielli, Maurizio,
Martini, Simone - Programming Languages: Principles and
Paradigms)
Linguagem de programação
Python:
Alto nível x baixo nível;
Linguagem geral x linguagem específica;
Interpretada x compilada.
https://www.python.org/
Linguagem de programação
Python:
Alto nível x baixo nível;
Linguagem geral x linguagem específica;
Interpretada x compilada.
https://www.python.org/
No próximo encontro
iremos falar um pouco
mais sobre essa
linguagem e o ambiente
que iremos utilizá-la.
Para saber mais
- Acessem, crie uma conta no site
https://code.org/
- Acessem o site brasileiro sobre pensamento
computacional:
http://www.computacional.com.br/
Obrigado!

Mais conteúdo relacionado

Mais procurados

Matemática Financeira Básica
Matemática Financeira BásicaMatemática Financeira Básica
Matemática Financeira BásicaMarcus Santos
 
2 disciplina - matemática finaceira
2   disciplina - matemática finaceira2   disciplina - matemática finaceira
2 disciplina - matemática finaceirafpv_transilvania
 
Aula 1 Administração da Produção - definições básicas
Aula 1   Administração da Produção - definições básicasAula 1   Administração da Produção - definições básicas
Aula 1 Administração da Produção - definições básicasCorreios
 
Aula 1 Introdução à Gestão Financeira 06.04.2011
Aula 1   Introdução à Gestão Financeira 06.04.2011Aula 1   Introdução à Gestão Financeira 06.04.2011
Aula 1 Introdução à Gestão Financeira 06.04.2011Rafael Gonçalves
 
Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...
Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...
Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...LuizFelipe925640
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao WordArtur Coelho
 
Pensamento Computacional
Pensamento ComputacionalPensamento Computacional
Pensamento ComputacionalLuiz Rocha
 
Capital de giro exercicios
Capital de giro exerciciosCapital de giro exercicios
Capital de giro exerciciosadmcontabil
 
Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02thomasdacosta
 
Contagem que envolvem o princípio multiplicativo.ppt
Contagem que envolvem o princípio multiplicativo.pptContagem que envolvem o princípio multiplicativo.ppt
Contagem que envolvem o princípio multiplicativo.pptFlavioMarquesBacelar
 
Palestra Gestão de custos e formação de preços
Palestra Gestão de custos e formação de preçosPalestra Gestão de custos e formação de preços
Palestra Gestão de custos e formação de preçosSamuel Gonsales
 
Aula 1- Analise de Investimento
Aula 1- Analise de InvestimentoAula 1- Analise de Investimento
Aula 1- Analise de InvestimentoLuciano Rodrigues
 

Mais procurados (20)

Pensamento Computacional aula 01
Pensamento Computacional aula 01Pensamento Computacional aula 01
Pensamento Computacional aula 01
 
Matemática Financeira Básica
Matemática Financeira BásicaMatemática Financeira Básica
Matemática Financeira Básica
 
Mrp
MrpMrp
Mrp
 
Matematica Financeira
Matematica FinanceiraMatematica Financeira
Matematica Financeira
 
2 disciplina - matemática finaceira
2   disciplina - matemática finaceira2   disciplina - matemática finaceira
2 disciplina - matemática finaceira
 
Aula 1 Administração da Produção - definições básicas
Aula 1   Administração da Produção - definições básicasAula 1   Administração da Produção - definições básicas
Aula 1 Administração da Produção - definições básicas
 
Aula 1 Introdução à Gestão Financeira 06.04.2011
Aula 1   Introdução à Gestão Financeira 06.04.2011Aula 1   Introdução à Gestão Financeira 06.04.2011
Aula 1 Introdução à Gestão Financeira 06.04.2011
 
Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...
Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...
Livro - Gerenciamento da Cadeia de Suprimentos 1ed 2002 Sunil Chopra e Peter ...
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao Word
 
Pensamento Computacional
Pensamento ComputacionalPensamento Computacional
Pensamento Computacional
 
Aula 8 - Fluxo de caixa
Aula 8 - Fluxo de caixaAula 8 - Fluxo de caixa
Aula 8 - Fluxo de caixa
 
Função de 1º Grau
Função de 1º GrauFunção de 1º Grau
Função de 1º Grau
 
Capital de giro exercicios
Capital de giro exerciciosCapital de giro exercicios
Capital de giro exercicios
 
Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02Lógica e Matemática Computacional - Exercícios 02
Lógica e Matemática Computacional - Exercícios 02
 
Logistica Internacional
Logistica InternacionalLogistica Internacional
Logistica Internacional
 
Aula 8 - Fluxo de caixa.pptx
Aula 8 - Fluxo de caixa.pptxAula 8 - Fluxo de caixa.pptx
Aula 8 - Fluxo de caixa.pptx
 
Contagem que envolvem o princípio multiplicativo.ppt
Contagem que envolvem o princípio multiplicativo.pptContagem que envolvem o princípio multiplicativo.ppt
Contagem que envolvem o princípio multiplicativo.ppt
 
Palestra Gestão de custos e formação de preços
Palestra Gestão de custos e formação de preçosPalestra Gestão de custos e formação de preços
Palestra Gestão de custos e formação de preços
 
Aula 1- Analise de Investimento
Aula 1- Analise de InvestimentoAula 1- Analise de Investimento
Aula 1- Analise de Investimento
 
2 aula produtividade
2 aula produtividade2 aula produtividade
2 aula produtividade
 

Semelhante a De algoritmos à programas de computador

Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
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
 
Fundamentos De Ia E Sistemas Baseados em Conhecimento
Fundamentos De Ia E Sistemas Baseados em ConhecimentoFundamentos De Ia E Sistemas Baseados em Conhecimento
Fundamentos De Ia E Sistemas Baseados em Conhecimentozehzinho
 
Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceLuca Bastos
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1Nauber Gois
 
Analise de Projeto de Sistemas EEEP.pptx
Analise de Projeto de Sistemas EEEP.pptxAnalise de Projeto de Sistemas EEEP.pptx
Analise de Projeto de Sistemas EEEP.pptxALLYSONALVESCARVALHO
 
Algoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasAlgoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasNathalia Sautchuk Patricio
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência ArtificialLincolm Aguiar
 
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
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programaçãomaceca21
 
Fundamentos De Ia E SbCs
Fundamentos De Ia E SbCsFundamentos De Ia E SbCs
Fundamentos De Ia E SbCszehzinho
 
Computação Científica.pdf
Computação Científica.pdfComputação Científica.pdf
Computação Científica.pdfTomasEdson2
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipHeber Gutenberg
 
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptxanalise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptxMoysesOliveira3
 

Semelhante a De algoritmos à programas de computador (20)

Algoritmos com java script
Algoritmos com java scriptAlgoritmos com java script
Algoritmos com java script
 
Aula01
Aula01Aula01
Aula01
 
Aula01
Aula01Aula01
Aula01
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
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...
 
Fundamentos De Ia E Sistemas Baseados em Conhecimento
Fundamentos De Ia E Sistemas Baseados em ConhecimentoFundamentos De Ia E Sistemas Baseados em Conhecimento
Fundamentos De Ia E Sistemas Baseados em Conhecimento
 
Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ce
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1
 
Analise de Projeto de Sistemas EEEP.pptx
Analise de Projeto de Sistemas EEEP.pptxAnalise de Projeto de Sistemas EEEP.pptx
Analise de Projeto de Sistemas EEEP.pptx
 
Algoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasAlgoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas Públicas
 
Ia01 introducao (1)
Ia01   introducao (1)Ia01   introducao (1)
Ia01 introducao (1)
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
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
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programação
 
Fundamentos De Ia E SbCs
Fundamentos De Ia E SbCsFundamentos De Ia E SbCs
Fundamentos De Ia E SbCs
 
Computação Científica.pdf
Computação Científica.pdfComputação Científica.pdf
Computação Científica.pdf
 
Fórum respostas
Fórum  respostasFórum  respostas
Fórum respostas
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV Unip
 
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptxanalise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
 

Mais de Sérgio Souza Costa

Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasSérgio Souza Costa
 
Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosSérgio Souza Costa
 
Minicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosMinicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosSérgio Souza Costa
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoSérgio Souza Costa
 
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemBanco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemSérgio Souza Costa
 
Banco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaBanco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaSérgio Souza Costa
 
Linguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoLinguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoSérgio Souza Costa
 
Gödel’s incompleteness theorems
Gödel’s incompleteness theoremsGödel’s incompleteness theorems
Gödel’s incompleteness theoremsSérgio Souza Costa
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsSérgio Souza Costa
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosSérgio Souza Costa
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Sérgio Souza Costa
 
Relações (composição e agregação)
Relações (composição e agregação)Relações (composição e agregação)
Relações (composição e agregação)Sérgio Souza Costa
 

Mais de Sérgio Souza Costa (20)

Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicas
 
Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmos
 
Minicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosMinicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficos
 
Modelagem de dados geográficos
Modelagem de dados geográficosModelagem de dados geográficos
Modelagem de dados geográficos
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
 
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemBanco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
 
Banco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaBanco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de abertura
 
Linguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoLinguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - Introdução
 
Gödel’s incompleteness theorems
Gödel’s incompleteness theoremsGödel’s incompleteness theorems
Gödel’s incompleteness theorems
 
Turing e o problema da decisão
Turing e o problema da decisãoTuring e o problema da decisão
Turing e o problema da decisão
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cells
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetos
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)
 
Herança e Encapsulamento
Herança e EncapsulamentoHerança e Encapsulamento
Herança e Encapsulamento
 
Relações (composição e agregação)
Relações (composição e agregação)Relações (composição e agregação)
Relações (composição e agregação)
 
Abstract classes and interfaces
Abstract classes and interfacesAbstract classes and interfaces
Abstract classes and interfaces
 
Introdução ao Prolog
Introdução ao PrologIntrodução ao Prolog
Introdução ao Prolog
 
Heap - Python
Heap - PythonHeap - Python
Heap - Python
 
Paradigma lógico
Paradigma lógicoParadigma lógico
Paradigma lógico
 
Contextualizando o moodle
Contextualizando o moodleContextualizando o moodle
Contextualizando o moodle
 

Último

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Último (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

De algoritmos à programas de computador

  • 1. Introdução ao pensamento computacional e aos algoritmos Sérgio Souza Costa Os slides a seguir foram adaptados partir do material do professor Alex Barradas.
  • 2. Roteiro - O que são computadores? - Pensamento Computacional - Algoritmos
  • 3. Computador: Exemplos: Cálculos, relatórios, Entretenimento, Comunicação, Qualificação , Compras .... O que são computadores? - Definição: Um computador é uma máquina capaz de sistematicamente coletar, manipular e fornecer os resultados da manipulação de informações para um ou mais objetivos. (MONTEIRO, 2001)
  • 4. Atualmente presente em diversos dispositivos e formas. O que são computadores?
  • 5. Atualmente presente em diversos dispositivos e formas. Conceitos - computador REFLEXÃO: Como serão os computadores daqui 30 anos ? em 2051 ? Pense bem pois esperamos estar aqui, vivendo e trabalhando :)
  • 6. Pensamento computacional Definição: O conjunto de habilidades intelectuais e de raciocínio que indicam como as pessoas interagem e aprendem a pensar por meio da linguagem computacional. (WING, 2006) JEANNETTE M. WING Professor at Carnegie Mellon University / Vice president at Microsoft Research About: Link: http://www.cs.cmu.edu/~wing/ Journals: Computational thinking Link: https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf Computational Thinking and Thinking About Computing Link: http://www.cs.cmu.edu/~wing/publications/Wing08a.pdf
  • 7. Pensamento computacional Definição: O conjunto de habilidades intelectuais e de raciocínio que indicam como as pessoas interagem e aprendem a pensar por meio da linguagem computacional. (WING, 2006) JEANNETTE M. WING Professor at Carnegie Mellon University / Vice president at Microsoft Research About: Link: http://www.cs.cmu.edu/~wing/ Journals: Computational thinking Link: https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf Computational Thinking and Thinking About Computing Link: http://www.cs.cmu.edu/~wing/publications/Wing08a.pdf Não confundam pensamento computacional com ciências da computação. Enquanto o primento é uma maneira de abordar um problema, o outro é o estudo da computação em todos os seus elementos.
  • 9. Pensamento Computacional e o code.org Para conhecer melhor essa iniciativa, pause o video e acesse o video de lançamento em 2013: https://www.youtube.com/w atch?v=nKIu9yen5nc
  • 10. Pensamento Computacional e o code.org Não deixem de visitar https://code.org/ e “brincar” um pouco. Importante para o aprendizado e para conhecer uma possível ferramenta que poderão utilizar Para conhecer melhor essa iniciativa, pause o video e acesse o video de lançamento em 2013: https://www.youtube.com/w atch?v=nKIu9yen5nc
  • 11. Pensamento Computacional no Brasil Em muitas escolas particulares, os alunos tem disciplina de pensamento computacional desde a alfabetização. Alguns professores tem levado esse conhecimento para escolas públicas através de projetos de extensão. http://www.computacional.com.br/
  • 12. Pensamento computacional Elementos do pensamento computacional: - Decomposição - Reconhecimento de padrões - Abstração - Algoritmos
  • 13. Pensamento computacional Elementos do pensamento computacional: - Decomposição - Reconhecimento de padrões - Abstração - Algoritmos
  • 14. Pensamento computacional Decomposição: Trata-se de quebrar um problema complexo; Sistemas são dividos em partes menores; Facilitar a compreensão. - Nota: As peças pequenas podem ser, em seguida, examinadas e resolvidas, ou concebidas individualmente, uma vez que são mais fáceis de trabalhar.
  • 15. Pensamento computacional Decomposição em prática (resolver um crime): O crime foi cometido? Quando o crime foi cometido? Onde o crime foi cometido? Existem provas? Testemunhas? Crimes semelhantes?
  • 16. Pensamento computacional Elementos do pensamento computacional: - Decomposição - Reconhecimento de padrões - Abstração - Algoritmos
  • 17. Pensamento computacional Reconhecimento de padrões: Observar tendências; Regularidades nos dados. Pelos padrões que conseguimos automatizar as operações.
  • 18. Pensamento computacional Elementos do pensamento computacional: - Decomposição - Reconhecimento de padrões - Abstração - Algoritmos
  • 19. Pensamento computacional Abstração: Trata-se de filtrar; Identificar os princípios gerais. Abstração: permite criar uma ideia geral do que é o problema e como resolvê-lo (modelo). O processe remove todos os detalhes e padrões que não irão nos ajudar a resolver o problema. Um algoritmo é uma abstração de um procedimento passo a passo para obter entrada e produzir alguma saída desejada (Wing, 2008)
  • 20. Pensamento computacional O funcionamento de um carro é abstraído através de poucos controle. A comunicação entre os computadores funciona considerando diferentes níveis de abstração, conhecidos como camadas
  • 21. Pensamento computacional Algoritmo: Desenvolvimento de uma solução passo-a-passo; As regras a seguir para resolver o problema. - Nota: Em um algoritmo, cada instrução é identificada e possui uma ordem de execução definida.
  • 23. Algoritmo “Nas palavras de um lógico: Um algoritmo é um método finito, escrito em um vocabulário simbólico fixo, regido por instruções precisas, que se movem em passos discretos, 1,2,3 …., cuja execução não requer insight, esperteza, intuição, inteligênca ou clareza e lucidez, e que mais cedo ou mais tarde chega a um fim.” Berlinski D. O advento do algoritmo.
  • 24. Algoritmo “Uma vez descoberto o algoritmo que executa uma dada tarefa, sua execução já não dependera do conhecimento dos princípios nos quais se baseia, restringindo se apenas seguir as instruções estabelecidas. Capacidade de captar e transferir a inteligência mediante os algoritmos” Berlinski D. O advento do algoritmo.
  • 25. Algoritmos Definições: “Ação ou acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem- definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações”. (FARRER, 1999) “É um conjunto ordenado de passos executáveis, não ambíguos, que define um processo finalizável”. (BROOKSHEAR, 2013)
  • 26. Algoritmos Principais características dos algoritmos: Finitude: Um algoritmo deve sempre terminar após um número finito de passos. Definição: Cada passo de um algoritmo deve ser precisamente definido. Entradas: Ter a capacidade de receber dado(s) de entrada. Saídas: Poder gerar informações de saída. Efetividade: Um algoritmo deve ser eficiente.
  • 27. Algoritmos: Curiosidade O termo algoritmo com a computação, na verdade ele teve sua origem no nome do matemático do século IX Muḥammad ibn Mūsā al-Khwārizmī, cujo sobrenome foi latinizado para Algoritmi. Um dos mais antigos algoritmos foram criados ainda Grécia e Roma antiga. Pesquise o algoritimo Crivo de Eratóstenes, utilizado para encontrar números primos .
  • 28. Algoritmos: Como fazer ? Fonte: Raoni Florentino da Silva Teixeira: Introdução a Algoritmos
  • 29. Algoritmos: como fazer? ENTENDIMENTO DO PROBLEMA • Leia atentamente o enunciado, esclarecendo possíveis dúvidas de vocabulário e identificando os dados do problema e o resultado esperado. • Identifique quais ações podem ser executadas pelo algoritmo. • Tente responder as perguntas: Você já viu este problema antes? Você conhece um problema relacionado?
  • 30. Algoritmos: como fazer? CONSTRUÇÃO DO ALGORITMO • Responda a questão: Você consegue transformar este problema em algum outro que já foi resolvido? • Avalie se o problema ainda parece complicado e, caso necessário, o transforme-o em um problema auxiliar, eliminando alguma das variáveis envolvidas. Considere os casos mais simples primeiro. • Brinque com a solução e tente entender o que acontece quando grupos de ações são combinadas. • Procure encontrar padrões e descreva o algoritmo.
  • 31. Algoritmos: como fazer? EXECUÇÃO DO ALGORITMO • Antecipe o resultado da solução do problema. • Simule a execução do algoritmo e guarde a solução encontrada AVALIAÇÃO DA RESPOSTA • Avalie a solução. A cada iteração você aprende mais sobre o problema. • Se estiver resolvendo um problema auxiliar, aumente a complexidade do problema e refaça o processo. • Inicie o processo novamente, se o resultado esperado não for alcançado
  • 32. Algoritmos: três fases fundamentais Dados (entrada): A matéria-prima obtida por uma ou mais fontes. Processamento: Manipulação das informações coletadas no início da atividade. Resultado (saída): Subentende a dados organizados (processados – segundo a uma orientação específica).
  • 33. Algoritmos: três fases fundamentais Dados (entrada): A matéria-prima obtida por uma ou mais fontes. Processamento: Manipulação das informações coletadas no início da atividade. Resultado (saída): Subentende a dados organizados (processados – segundo a uma orientação específica). Base e Altura
  • 34. Algoritmos: três fases fundamentais Dados (entrada): A matéria-prima obtida por uma ou mais fontes. Processamento: Manipulação das informações coletadas no início da atividade. Resultado (saída): Subentende a dados organizados (processados – segundo a uma orientação específica). Base e Altura Base X Altura
  • 35. Algoritmos: três fases fundamentais Dados (entrada): A matéria-prima obtida por uma ou mais fontes. Processamento: Manipulação das informações coletadas no início da atividade. Resultado (saída): Subentende a dados organizados (processados – segundo a uma orientação específica). Base e Altura Base X Altura Área
  • 36. Algoritmos: três fases fundamentais Dados (entrada): A matéria-prima obtida por uma ou mais fontes. Processamento: Manipulação das informações coletadas no início da atividade. Resultado (saída): Subentende a dados organizados (processados – segundo a uma orientação específica).
  • 38. Algoritmos Formas de representação de algoritmos: Linguagem natural
  • 39. Linguagem natural Os algoritmos são expressos diretamente em linguagem natural. • Vantagem: Não é necessário aprender conceitos novos • Desvantagem: A linguagem natural abre espaço para várias interpretações e ambiguidades, o que pode dificultar sua tradução para um programa
  • 40. Linguagem natural - Exemplo 1 Crie um algoritmo para mostrar o resultado da multiplicação de dois números: Passo 1: Receber os dois números que serão multiplicados Passo 2: Multiplicar os números Passo 3: Mostrar o resultado obtido na multiplicação
  • 41. Linguagem natural - Exemplo 2 Faça um algoritmo para mostrar a divisão de dois números Passo 1: receber os dois números Passo 2: Se o numerador (segundo número) for igual a zero a divisão não poderá ser feita; caso contrário dividir os dois números e mostrar o resultado
  • 42. Linguagem natural - Exemplo 3 Problema: Atravessar a rua
  • 43. Algoritmos Formas de representação de algoritmos: Linguagem natural Fluxograma convencional
  • 44. Fluxograma É uma representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas. • Vantagem: o entendimento de elementos gráficos é mais simples e um pouco mais formal. • Desvantagens • É necessário aprender uma nova simbologia • O algoritmo resultante pode não apresentar muitos detalhes, dificultando sua tradução para uma linguagem de programação • Um algoritmo detalhado pode ser complexo de entender
  • 45. Fluxograma - Símbolos Direção do fluxo Indica Cálculos e Atribuições Indica Entrada de Dados Indica Tomada de decisão Saída de Dados Início/Fim
  • 46. Fluxograma - Exemplo 1 inicio N1, N2 M = N1 * N2 Imprime M Fim Crie um algoritmo para mostrar o resultado da multiplicação de dois números.
  • 47. Fluxograma - Exemplo 2 Faça um algoritmo para mostrar a divisão de dois números inicio N1, N2 N2=0 Impossível dividir D = N1/N2 Imprime D fim Sim Não
  • 48. Algoritmos Formas de representação de algoritmos: Linguagem natural Fluxograma convencional Pseudocódigo
  • 49. Pseudocódigo Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação. Vantagem A transformação do algoritmo para uma linguagem de programação é simples Desvantagem É necessário aprender as regras de especificação do pseudo-código Como não é uma linguagem de programação, cada pessoa pode definir suas próprias regras e símbolos
  • 50. Pseudocódigo - Exemplo 1 Crie um algoritmo para mostrar o resultado da multiplicação de dois números Algoritmo Multiplicação Var N1, N2, M Real Inicio Escreva (“Digite dois números”) Leia (N1, N2) M <- N1 * N2 Escreva “Multiplicação = “, M Fim
  • 51. Pseudocódigo: Exemplo 2 Crie um algoritmo que dado duas notas, retorne se o aluno foi aprovado.
  • 52. Portugol Baseada no Pascal, é utilizada como a primeira “linguagem de programação”. Em muitos casos ela não é usada como uma linguagem para qual existem interpretadores, como o Visualg:
  • 53. Portugol Baseada no Pascal, é utilizada como a primeira “linguagem de programação”. Em muitos casos ela não é usada como uma linguagem para qual existem interpretadores, como o Visualg: Ao invés de trabalharmos como Portugol, nesse curso já iremos usar de modo ainda superficial a linguagem de programação Python.
  • 54. Algoritmos Formas de representação de algoritmos: Linguagem natural Fluxograma convencional Pseudocódigo Linguagem de programação
  • 55. Linguagem de programação “Um programa é uma sequência de símbolos que especifica uma computação. Uma linguagem de programação é um conjunto de regras que especificam quais sequências de símbolos constituem um programa e que computação o programa descreve." Um algoritmo precisa ser expresso por uma linguagem de programação para que um computador consiga executar.
  • 56. Linguagem de programação “Um programa é uma sequência de símbolos que especifica uma computação. Uma linguagem de programação é um conjunto de regras que especificam quais sequências de símbolos constituem um programa e que computação o programa descreve." (Monti Ben-Ari - Understanding Programming Languages) "Uma linguagem de programação é um formalismo artificial em que algoritmos podem ser expressos” (Gabbrielli, Maurizio, Martini, Simone - Programming Languages: Principles and Paradigms)
  • 57. Linguagem de programação Python: Alto nível x baixo nível; Linguagem geral x linguagem específica; Interpretada x compilada. https://www.python.org/
  • 58. Linguagem de programação Python: Alto nível x baixo nível; Linguagem geral x linguagem específica; Interpretada x compilada. https://www.python.org/ No próximo encontro iremos falar um pouco mais sobre essa linguagem e o ambiente que iremos utilizá-la.
  • 59. Para saber mais - Acessem, crie uma conta no site https://code.org/ - Acessem o site brasileiro sobre pensamento computacional: http://www.computacional.com.br/