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."
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.
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.