SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
UC: 9 Desenvolver Algoritmos
Carga horária: 108 horas
O que vamos ver…
❏ Lógica de programação
❏ Regras de Negócio
❏ Metodologias de desenvolvimento de software
❏ Tecnologias emergentes no mercado de desenvolvimento
Em Lógica da programação:
❏ Conceito de Algoritmos
❏ Programação Funcional
❏ Estrutura de dados Fundamental
❏ Algoritmos de ordenação e busca
❏ Tipos de algoritmos
❏ Processamento de dados
❏ Variáveis e constantes
❏ Expressões e operadores
❏ Estruturas condicionais simples e compostas
❏ Estruturas de repetição
❏ Vetores
❏ Matrizes
E tem mais…
❏ Paralelismo e concorrência
❏ Segurança em algoritmos
Em Regras de Negócio:
❏ Conceito de Regras de Negócio
❏ Características
❏ Tipos
❏ Requisitos não funcionais e funcionais
❏ Análise de Requisitos
❏ Modelagem de Processos de Negócio
❏ Validação de Regras de Negócio
❏ Implementação de Regras de Negócio
❏ Ferramentas de Gestão de Regras de Negócio
Em Metodologias de Desenvolvimento de Software:
❏ Conceitos e tipos
❏ Metodologias tradicionais
❏ Metodologias interativas
❏ Metodologias ágeis
❏ Desenvolvimento Orientado a Testes (TDD)
❏ Design Thinking no Desenvolvimento de Software:
❏ Gestão de Projetos com Métodos Ágeis:
Em Tecnologias emergentes no mercado de
desenvolvimento:
❏ Internet das Coisas (IoT)
❏ Blockchain
❏ Inteligência Artificial e Machine Learning
❏ Desenvolvimento Low-Code/No-Code
Algoritmos
Conceito e história
Conceito de Algoritmo
❏ Um algoritmo é uma sequência de raciocínios, instruções ou operações para
alcançar um objetivo
❏ Tá difícil? Vou facilitar!
❏ Pense que um algoritmo é igual a uma receita de bolo, onde tem todas
instruções de como fazê-lo, descrevendo o passo a passo.
❏ Segundo Dasgupta, Papadimitriou e Vazirani; "Algoritmos são procedimentos
precisos, não ambíguos, padronizados, eficientes e corretos."
Principais características dos Algoritmos
❏ Finito
❏ Bem definido
❏ Efetivos
E a sua história!
O conceito de algoritmo existe há séculos e o uso do conceito pode ser atribuído
à matemáticos russos, por exemplo a Peneira de Eratóstenes e o algoritmo de
Euclides.
Peneira de Eratóstenes
A peneira de Eratóstenes é uma das maneiras mais eficientes de encontrar todos
os primos menores que n quando n é menor que 10 milhões ou mais.
A seguir está o algoritmo para encontrar todos os números primos menores ou
iguais a um dado inteiro n pelo método de Eratosthene:
Quando o algoritmo termina, todos os números na lista que não estão marcados
são primos.
Resultado:
Portanto, os números primos são os não marcados: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
31, 37, 41, 43, 47.
E como ficaria isso em código?
Algoritmo não necessariamente é um programa de
computador!
Tipos de Algoritmos
❏ Recursivo ou iterativo - um algoritmo recursivo possui a característica de invocar a
si mesmo repetidamente até que certa condição seja satisfeita e ele é terminado,
que é um método comum em programação funcional.
❏ Serial ou paralelo - esse algoritmo leva em conta a arquitetura de computadores,
são algoritmos que rodam simultaneamente, dividindo os problemas em
subproblemas
❏ Determinístico ou não-determinístico - algoritmos determinísticos resolvem o
problema com uma decisão exata a cada passo enquanto algoritmos
não-determinísticos resolvem o problema ao deduzir os melhores passos através
de estimativas sob forma de heurísticas;
❏ Exato ou aproximado - enquanto alguns algoritmos encontram uma resposta exata,
algoritmos de aproximação procuram uma resposta próxima a verdadeira solução,
seja através de estratégia determinística ou aleatória. Possuem aplicações práticas
sobretudo para problemas muito complexos, do qual uma resposta correta é
inviável devido à sua complexidade computacional.
O primeiro Algoritmo oficial do mundo
❏ Ada Lovelace escreveu o primeiro algoritmo para
ser processado por uma máquina, a máquina
analítica de Charles Babbage.
❏ Em 1842, Charles Babbage foi convidado a
ministrar um seminário na Universidade de Turim
sobre sua máquina analítica.
❏ O algoritmo criado era para fazer com que a
máquina analítica pudesse computar a Sequência
de Bernoulli.
Pseudocódigo
Pseudocódigo é uma representação textual de um algoritmo que combina
elementos da linguagem natural com algumas construções de controle de fluxo
encontradas em linguagens de programação convencionais. Ele fornece uma
maneira informal de descrever a lógica de um algoritmo sem se preocupar com a
sintaxe específica de uma linguagem de programação.
Desafio!
Desenvolva um pseudocódigo para uma calculadora que realiza operações
básicas de adição, subtração, multiplicação e divisão. Permita que o usuário insira
dois números e escolha a operação desejada.
Crie um pseudocódigo que calcula o troco a ser dado a alguém após uma compra,
considerando o valor total da compra e a quantia fornecida.
Escreva um algoritmo que imprime a tabuada de multiplicação de um número
fornecido pelo usuário, indo de 1 a 10.
Fim 26/02!

Mais conteúdo relacionado

Semelhante a UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
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
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programaçãomaceca21
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataRodrigofn
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasAula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasMessias Batista
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
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
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 

Semelhante a UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf (20)

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
01 logica
01 logica01 logica
01 logica
 
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...
 
Aula02
Aula02Aula02
Aula02
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Autômatos
AutômatosAutômatos
Autômatos
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programação
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasAula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
122172 1445
122172 1445122172 1445
122172 1445
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Aula01
Aula01Aula01
Aula01
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
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
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 

UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf

  • 1. UC: 9 Desenvolver Algoritmos Carga horária: 108 horas
  • 2. O que vamos ver… ❏ Lógica de programação ❏ Regras de Negócio ❏ Metodologias de desenvolvimento de software ❏ Tecnologias emergentes no mercado de desenvolvimento
  • 3. Em Lógica da programação: ❏ Conceito de Algoritmos ❏ Programação Funcional ❏ Estrutura de dados Fundamental ❏ Algoritmos de ordenação e busca ❏ Tipos de algoritmos ❏ Processamento de dados ❏ Variáveis e constantes ❏ Expressões e operadores ❏ Estruturas condicionais simples e compostas ❏ Estruturas de repetição ❏ Vetores ❏ Matrizes
  • 4. E tem mais… ❏ Paralelismo e concorrência ❏ Segurança em algoritmos
  • 5. Em Regras de Negócio: ❏ Conceito de Regras de Negócio ❏ Características ❏ Tipos ❏ Requisitos não funcionais e funcionais ❏ Análise de Requisitos ❏ Modelagem de Processos de Negócio ❏ Validação de Regras de Negócio ❏ Implementação de Regras de Negócio ❏ Ferramentas de Gestão de Regras de Negócio
  • 6. Em Metodologias de Desenvolvimento de Software: ❏ Conceitos e tipos ❏ Metodologias tradicionais ❏ Metodologias interativas ❏ Metodologias ágeis ❏ Desenvolvimento Orientado a Testes (TDD) ❏ Design Thinking no Desenvolvimento de Software: ❏ Gestão de Projetos com Métodos Ágeis:
  • 7. Em Tecnologias emergentes no mercado de desenvolvimento: ❏ Internet das Coisas (IoT) ❏ Blockchain ❏ Inteligência Artificial e Machine Learning ❏ Desenvolvimento Low-Code/No-Code
  • 9. Conceito de Algoritmo ❏ Um algoritmo é uma sequência de raciocínios, instruções ou operações para alcançar um objetivo ❏ Tá difícil? Vou facilitar! ❏ Pense que um algoritmo é igual a uma receita de bolo, onde tem todas instruções de como fazê-lo, descrevendo o passo a passo. ❏ Segundo Dasgupta, Papadimitriou e Vazirani; "Algoritmos são procedimentos precisos, não ambíguos, padronizados, eficientes e corretos."
  • 10. Principais características dos Algoritmos ❏ Finito ❏ Bem definido ❏ Efetivos
  • 11. E a sua história! O conceito de algoritmo existe há séculos e o uso do conceito pode ser atribuído à matemáticos russos, por exemplo a Peneira de Eratóstenes e o algoritmo de Euclides.
  • 12. Peneira de Eratóstenes A peneira de Eratóstenes é uma das maneiras mais eficientes de encontrar todos os primos menores que n quando n é menor que 10 milhões ou mais. A seguir está o algoritmo para encontrar todos os números primos menores ou iguais a um dado inteiro n pelo método de Eratosthene: Quando o algoritmo termina, todos os números na lista que não estão marcados são primos.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Resultado: Portanto, os números primos são os não marcados: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47.
  • 19. E como ficaria isso em código?
  • 20. Algoritmo não necessariamente é um programa de computador!
  • 21. Tipos de Algoritmos ❏ Recursivo ou iterativo - um algoritmo recursivo possui a característica de invocar a si mesmo repetidamente até que certa condição seja satisfeita e ele é terminado, que é um método comum em programação funcional. ❏ Serial ou paralelo - esse algoritmo leva em conta a arquitetura de computadores, são algoritmos que rodam simultaneamente, dividindo os problemas em subproblemas ❏ Determinístico ou não-determinístico - algoritmos determinísticos resolvem o problema com uma decisão exata a cada passo enquanto algoritmos não-determinísticos resolvem o problema ao deduzir os melhores passos através de estimativas sob forma de heurísticas; ❏ Exato ou aproximado - enquanto alguns algoritmos encontram uma resposta exata, algoritmos de aproximação procuram uma resposta próxima a verdadeira solução, seja através de estratégia determinística ou aleatória. Possuem aplicações práticas sobretudo para problemas muito complexos, do qual uma resposta correta é inviável devido à sua complexidade computacional.
  • 22. O primeiro Algoritmo oficial do mundo ❏ Ada Lovelace escreveu o primeiro algoritmo para ser processado por uma máquina, a máquina analítica de Charles Babbage. ❏ Em 1842, Charles Babbage foi convidado a ministrar um seminário na Universidade de Turim sobre sua máquina analítica. ❏ O algoritmo criado era para fazer com que a máquina analítica pudesse computar a Sequência de Bernoulli.
  • 23. Pseudocódigo Pseudocódigo é uma representação textual de um algoritmo que combina elementos da linguagem natural com algumas construções de controle de fluxo encontradas em linguagens de programação convencionais. Ele fornece uma maneira informal de descrever a lógica de um algoritmo sem se preocupar com a sintaxe específica de uma linguagem de programação.
  • 24.
  • 25. Desafio! Desenvolva um pseudocódigo para uma calculadora que realiza operações básicas de adição, subtração, multiplicação e divisão. Permita que o usuário insira dois números e escolha a operação desejada. Crie um pseudocódigo que calcula o troco a ser dado a alguém após uma compra, considerando o valor total da compra e a quantia fornecida. Escreva um algoritmo que imprime a tabuada de multiplicação de um número fornecido pelo usuário, indo de 1 a 10.