SlideShare una empresa de Scribd logo
1 de 19
ANHANGUERA – 2016.2
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
AULA 02 – FUNDAMENTOS DE ALGORITMOS
Prof. Thomás da Costa
thomascosta@aedu.com
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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 !!!
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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 é:
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Torre de Hanói
FUNDAMENTOS DE ALGORITMOS
Vamos resolver a Torre de Hanói:
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
• Fazer a prova e ser aprovado.
• Multiplicar dois números.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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 ou o 4 !!!).
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 !!!
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
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)
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
IDE
Orwell Dev-C++:
FUNDAMENTOS DE ALGORITMOS
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
IDE
Orwell Dev-C++:
FUNDAMENTOS DE ALGORITMOS
• Vamos programar em uma linguagem conhecida como C. 
• Simplesmente C !!!
• Para baixar o programa utilize o endereço abaixo:
• https://sf.net/projects/orwelldevcpp/
Obrigado !!!
ANHANGUERA – 2016.2

Más contenido relacionado

La actualidad más candente

Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01thomasdacosta
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao WordArtur Coelho
 
Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016Cibele Kanegae
 
Questões de informática em concursos públicos
Questões de informática em concursos públicosQuestões de informática em concursos públicos
Questões de informática em concursos públicosCDIM Daniel
 
Informática conceitos básicos
Informática   conceitos básicosInformática   conceitos básicos
Informática conceitos básicosThierryCC
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01thomasdacosta
 
01 - Microsoft Office Excel Básico
01 - Microsoft Office Excel Básico01 - Microsoft Office Excel Básico
01 - Microsoft Office Excel BásicoRoney Sousa
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
Aula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesAula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesFilipo Mór
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Partes do Computador
Partes do ComputadorPartes do Computador
Partes do Computadorcarbgarcia
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Excel Básico
Excel BásicoExcel Básico
Excel Básicoaprcds
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 

La actualidad más candente (20)

Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao Word
 
Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016Apostila Microsoft Office Power Point 2016
Apostila Microsoft Office Power Point 2016
 
Planificação do Projeto de Software
Planificação do Projeto de SoftwarePlanificação do Projeto de Software
Planificação do Projeto de Software
 
Questões de informática em concursos públicos
Questões de informática em concursos públicosQuestões de informática em concursos públicos
Questões de informática em concursos públicos
 
Informática conceitos básicos
Informática   conceitos básicosInformática   conceitos básicos
Informática conceitos básicos
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01
 
01 - Microsoft Office Excel Básico
01 - Microsoft Office Excel Básico01 - Microsoft Office Excel Básico
01 - Microsoft Office Excel Básico
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
Aula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesAula 5 - A TI nas Organizações
Aula 5 - A TI nas Organizações
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Partes do Computador
Partes do ComputadorPartes do Computador
Partes do Computador
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Excel Básico
Excel BásicoExcel Básico
Excel Básico
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 

Similar a Algoritmos e Técnicas de Programação - Aula 02

AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSprofjotamarcosduarte
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programaçãomaceca21
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascalTácito Graça
 
Aula1 introdução à lógica de programação
Aula1 introdução à lógica de programaçãoAula1 introdução à lógica de programação
Aula1 introdução à lógica de programaçãoHelder Martins
 
Olimpiadas Programação: O que, Por que e Como?
Olimpiadas Programação: O que, Por que e Como?Olimpiadas Programação: O que, Por que e Como?
Olimpiadas Programação: O que, Por que e Como?Alexandre Duarte
 
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
 
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)Carlos Santos
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
 
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 visualg
Algoritmos visualgAlgoritmos visualg
Algoritmos visualgDiego Sales
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programaçãoCarlos Santos
 

Similar a Algoritmos e Técnicas de Programação - Aula 02 (20)

AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
01 fundamentos de programação
01   fundamentos de programação01   fundamentos de programação
01 fundamentos de programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascal
 
122172 1445
122172 1445122172 1445
122172 1445
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Aula01
Aula01Aula01
Aula01
 
Aula1 introdução à lógica de programação
Aula1 introdução à lógica de programaçãoAula1 introdução à lógica de programação
Aula1 introdução à lógica de programação
 
Olimpiadas Programação: O que, Por que e Como?
Olimpiadas Programação: O que, Por que e Como?Olimpiadas Programação: O que, Por que e Como?
Olimpiadas Programação: O que, Por que e Como?
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
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...
 
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
 
Lógica da programação
Lógica da programaçãoLógica da programação
Lógica da programação
 
Lógica da programação
Lógica da programaçãoLógica da programação
Lógica da programação
 
(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação
 
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
 
Algoritmos visualg
Algoritmos visualgAlgoritmos visualg
Algoritmos visualg
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
 
01 conceitos
01 conceitos01 conceitos
01 conceitos
 

Más de thomasdacosta

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05thomasdacosta
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05thomasdacosta
 

Más de thomasdacosta (20)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 

Último

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

Último (6)

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

Algoritmos e Técnicas de Programação - Aula 02

  • 1. ANHANGUERA – 2016.2 ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO AULA 02 – FUNDAMENTOS DE ALGORITMOS Prof. Thomás da Costa thomascosta@aedu.com
  • 2. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa FUNDAMENTOS DE ALGORITMOS FUNDAMENTOS DE ALGORITMOS
  • 3. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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 !!!
  • 4. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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 é:
  • 5. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 6. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Torre de Hanói FUNDAMENTOS DE ALGORITMOS Vamos resolver a Torre de Hanói:
  • 7. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 8. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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
  • 9. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 10. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 11. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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. • Fazer a prova e ser aprovado. • Multiplicar dois números.
  • 12. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 13. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 14. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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 ou o 4 !!!). 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 !!!
  • 15. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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.
  • 16. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa 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)
  • 17. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa IDE Orwell Dev-C++: FUNDAMENTOS DE ALGORITMOS
  • 18. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa IDE Orwell Dev-C++: FUNDAMENTOS DE ALGORITMOS • Vamos programar em uma linguagem conhecida como C.  • Simplesmente C !!! • Para baixar o programa utilize o endereço abaixo: • https://sf.net/projects/orwelldevcpp/