2. APRESENTAÇÃO
• Cursando Pós-graduação em Engenharia de Software.
• Pós-graduação em Redes e Segurança de Sistemas.
• Pós-graduação em Metodologia do Ensino Superior.
• Graduado em Tecnologia em Análise Desenvolvimento de Sistemas.
• 19 anos de experiência na área de TI.
• 9 anos de experiência com desenvolvimento em Java.
• Certificação em ITIL 4 Foundation.
• Certificação Scrum Foundation.
• Certificação Kanban Foundation.
• Certificação DevOps Essentials.
• Desenvolvimento e arquitetura de aplicações em várias áreas.
• Experiência profissional com várias linguagens e ferramentas de desenvolvimento Java SE, Java
EE, Spring Core, Spring MVC, Spring Boot, JBoss, Hibernate, PHP, Delphi, NodeJS.
Professor João Marcos
4. APRESENTAÇÃO DA TURMA
• Qual é o seu nome?
• Já trabalha com programação ou TI?
• Qual o seu principal objetivo com o Curso
Superior em Tecnologia em Análise e
Desenvolvimento de Sistemas?
Agora é com vocês!!!
5. Ementa
Apresentação do Docente e formas de contatos
Apresentação da Turma
Ementa
Formas de avaliação
O que é Algoritmos e Técnicas de Programação?
O que vamos aprender
Por que aprender Algoritmos e Técnicas de Programação
Bibliografias Utilizadas
Fundamentos de Algoritmos
Torre de Hanói
Todo mundo deveria aprender a programar
Sanando Dúvidas
6. Forma de avaliação
• Frequência mínima é de 75%
• Avaliação Parcial 1 100 Pontos
• Avaliação Parcial 2 100 Pontos
• Média Parcial (AP1 + AP2)/2
• Avaliação Final 100 Pontos
• Avaliação de Recuperação 100 Pontos
• Média Final sem Recuperação (MP + AF)/2
• Média Final com a Recuperação (MF + AR)
Professor João Marcos
7. • Já pensou, como são feitos os principais programas que utilizamos?
• Windows que utilizamos, como é feito?
• Os aplicativos de celulares como Facebook, Whatsapp e Clash of Clans,
precisaram de quantas pessoas para desenvolver?
• Jogos de Playstation e Xbox como são feitos?
Esses programas são feitos a partir de outros programas !!!
Isso mesmo: programas que fazem programas.
Mas os programas precisam ser feitos a partir de uma linguagem, na qual
escrevemos comandos e ações, conhecidos como algoritmos.
O que é Algoritmos e Técnicas de Programação?
Pense nisso:
Vamos entender melhor a seguir !!!
8. O que é Algoritmos e Técnicas de Programação?
Programador/Desenvolvedor. Que gera um aplicativo para
celular, jogo ou um site da
internet.
Escreve algoritmos em uma linguagem.
Nossa disciplina entra nesta
etapa, na qual vamos
aprender uma linguagem e
estudar algoritmos para
desenvolver um programa.
9. É a disciplina onde vamos aprender a desenvolver aplicações, a partir de uma
linguagem de programação. Em Algoritmos e Técnicas de Programação,
iremos estudar o básico da criação de aplicações, ou seja, é o alicerce para
se tornar um programador ou desenvolvedor.
O que é Algoritmos e Técnicas de Programação?
Definição:
= Programador ou Desenvolvedor cria
aplicações para computadores, celulares,
jogos e sites de internet.
10. • Uma linguagem de programação.
• Vamos estudar algoritmos.
• O básico para criar programas de computador.
• Aplicações simples de calcular média, somar números e criar uma
calculadora.
• Não iremos criar aplicações mais complexas, mas é o básico para
iniciar a carreira de programador.
• Nossas aplicações serão desenvolvidas sem interface gráfica para o
usuário, pois não é o escopo dessa matéria.
O que vamos aprender
Onde tudo começa:
11. • Melhorar a lógica.
• Adquire conhecimento em outras áreas.
• A profissão de Programador é uma das mais requisitadas.
• Tem bons salários no mercado.
• É possível fazer qualquer tipo de programa como jogos, sites e etc.
• O Programador é o Rei !!!
Por que aprender Algoritmos e Técnicas de
Programação
Pesquisa de emprego no site
Linkedin, mais de 1000
vagas para programador
12. Bibliografias Utilizadas
Algoritmos e Lógica de Programação - 2ª Ed
Marco Antonio Furlan de Souza, Marcelo Marques Gomes, Márcio Vieira
Soares, Ricardo Concilio
13. Bibliografias Utilizadas
Estruturas de Dados: algoritmos, análise da complexidade e
implementações em JAVA e C/C++
Ana Fernanda Gomes Ascencio, Graziela Santos Araújo
15. Fundamentos
FUNDAMENTOS DE ALGORITMOS
Antes de iniciar os Fundamentos de Algoritmos:
• Iremos resolver um problema denominado Torre de Hanói.
• Para resolução do problema, vamos utilizar lógica.
• E...um pouco mais de lógica !!!
• Vamos descrever a solução do problema passo-a-passo.
• Iremos conhecer alguns fundamentos básicos da programação.
• Vamos começar !!!
16. Torre de Hanói
FUNDAMENTOS DE ALGORITMOS
"Torre de Hanói ou Torre de Lucas é um "quebra-cabeça" que consiste em
uma base contendo três pinos, em um dos quais são dispostos alguns discos
uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O
problema consiste em passar todos os discos de um pino para outro qualquer,
usando um dos pinos como auxiliar, de maneira que um disco maior nunca
fique em cima de outro menor em nenhuma situação. O número de discos
pode variar sendo que o mais simples contém apenas três."
Fonte: https://pt.wikipedia.org/wiki/Torre_de_Han%C3%B3i
O que é:
17. Torre de Hanói
FUNDAMENTOS DE ALGORITMOS
Vamos resolver a Torre de Hanói:
• Temos 3 pinos e 3 discos. (Podemos ter mais !!!)
• Devemos transferir os 3 discos para o último pino.
• O disco maior não deve fica em cima do disco menor.
19. Torre de Hanói
FUNDAMENTOS DE ALGORITMOS
Algoritmo:
• Início.
• Mover disco 1 para C.
• Mover disco 2 para B.
• Mover disco 1 para B.
• Mover disco 3 para C.
• Mover disco 1 para A.
• Mover disco 2 para C.
• Mover disco 1 para C.
20. Torre de Hanói
O que utilizamos para resolver o problema:
• Utilizamos lógica para resolver o problema.
• Um raciocínio lógico.
• Uma sequência definida e ordenada de passos.
• Tivemos que seguir a sequência, para a correta resolução do problema.
• Tínhamos um objetivo. Como todo programa ou software.
• Foi escrita a sequência de passos, mostrando o movimento dos discos. Isto
é um algoritmo.
• Foi escrita em uma linguagem conhecida e interpretada facilmente.
• Computadores utilizam de linguagem para escrever algoritmos.
• Na computação existem várias linguagens de desenvolvimento.
FUNDAMENTOS DE ALGORITMOS
23. Algoritmo
O que é?:
FUNDAMENTOS DE ALGORITMOS
É uma sequência lógica de passos para atingir um determinado objetivo. Em
computação é uma sequência finita de instruções ou comandos para resolver
um problema computacional.
24. Algoritmo
Detalhes:
FUNDAMENTOS DE ALGORITMOS
• Para resolver um problema temos várias soluções.
• Então....um problema não tem um único algoritmo.
• Cada desenvolvedor tem um pensamento para criar um algoritmo.
• Um algoritmo pode ser melhor que o outro para resolver um problema.
• Estudar algoritmo requer bastante dedicação.
• Algoritmo é algo do nosso dia-a-dia.
25. Algoritmo
Exemplos:
FUNDAMENTOS DE ALGORITMOS
• Somar dois números.
• Trocar um pneu furado.
• Trocar a lâmpada queimada.
• Tomar banho.
• Cozinhar um bolo.
• Jogar videogame.
• Calcular raiz quadrada.
• Viajar no final de semana.
• Jogar o jogo da velha.
• Jogar o jogo Watch Dogs.
• Fazer a prova e ser aprovado.
• Multiplicar dois números.
26. Algoritmo
Exercícios:
FUNDAMENTOS DE ALGORITMOS
• Criar o algoritmo de fritar um ovo em linguagem natural:
• Resposta:
1. Pegar frigideira, ovo, óleo e sal.
2. Colocar óleo na frigideira.
3. Acender o fogo.
4. Colocar a frigideira no fogo.
5. Esperar o óleo esquentar.
6. Colocar o ovo.
7. Retirar quando pronto.
27. Algoritmo
Exercícios:
FUNDAMENTOS DE ALGORITMOS
• Criar o algoritmo de mascar um chiclete em linguagem natural:
• Resposta:
1. Pegar o chiclete.
2. Retirar do papel.
3. Mastigar.
4. Jogar o papel no lixo.
28. Algoritmo
Exercícios:
FUNDAMENTOS DE ALGORITMOS
• Criar o algoritmo para jogar um jogo no Playstation em
linguagem natural:
• Resposta:
1. Ligar a TV.
2. Ligar o Playstation (pode ser 3, 4 ou o 5 !!!).
3. Ligar o controle.
4. Colocar o jogo no drive.
5. Escolher o jogo com o botão X.
6. Jogar o jogo até cansar !!!
29. Algoritmo
Exercícios:
FUNDAMENTOS DE ALGORITMOS
• Criar o algoritmo para calcular a média da matéria em
linguagem natural:
• Resposta:
1. Obter a média da B1.
2. Obter a média da B2.
3. Efetuar o cálculo de 40% da B1
4. Efetuar o cálculo de 60% da B2
5. Somar os cálculos obtidos.
6. Se a média for maior ou igual a 6, aluno aprovado.
7. Se a média for menor que 6, aluno reprovado.
33. Algoritmo
Como são feitos os programas de computador:
FUNDAMENTOS DE ALGORITMOS
• Todo programa é feito com algoritmos.
• Para escrever os algoritmos precisamos de uma linguagem.
• Existem várias linguagens no mercado. (Se lembram?)
• Para escrever um programa em uma linguagem utilizamos um outro programa.
• Este programa é conhecido como IDE (Integrated Development Environment)
35. IDE
VisuAlg:
FUNDAMENTOS DE ALGORITMOS
• Vamos programar em uma linguagem conhecida como Portugol.
• Uma linguagem de programação mais natural perto do que conhecemos no dia-a-dia.
• Para baixar o programa utilize o endereço abaixo:
• http://www.apoioinformatica.inf.br/
36. SOUSA, Marco Antonio Furlan de; GOMES, Marcelo Marques; SOARES, Márcio
Vieira; CONCILIO, Ricardo. Algoritmos e Lógica de Programação. 2. ed. São Paulo:
Érica, 2020.
ASCENCIO, Ana Fernanda Gomes; ARAÚJO, Graziela Santos. Estruturas de Dados:
algoritmos, análise da complexidade e implementações em JAVA e C/C++. São
Paulo: Pearson Prentice Hall, 2007.
TOMÁS, Ana Paula. Algoritmos e Estruturas de Dados. São Paulo: LTC, 2014.
CORMEN, Thomas H. et al. Algoritmos: Teoria e Prática. Tradução de Mário de
Araújo Telecommunications, Marco Antônio Moreira. Rio de Janeiro: Elsevier,
2012.
ZIVIANI, Nivio. Projeto de Algoritmos com Implementações em Pascal e C. São
Paulo: Cengage Learning, 2010.
TRENTIN, Marco Antônio Sandini. Algoritmos e Programação: Teoria e Prática.
São Paulo: Novatec, 2016.
GOODRICH, Michael T.; TAMASSIA, Roberto. Estruturas de Dados e Algoritmos em
Java. Tradução de Marcelo Soares da Silva. Porto Alegre: Bookman, 2014.
Referências