21
ANHANGUERA – 2016.1 ALGORITMOS E ESTRUTURA DE DADOS AULA 02 – REVISÃO Prof. Thomás da Costa [email protected]

Algoritmos e Estrutura de Dados - Aula 02

Embed Size (px)

Citation preview

Page 1: Algoritmos e Estrutura de Dados - Aula 02

ANHANGUERA – 2016.1

ALGORITMOS E ESTRUTURA DE DADOSAULA 02 – REVISÃO

Prof. Thomás da [email protected]

Page 2: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

Fundamentos

REVISÃO

Antes de iniciar:• 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 !!!

Page 3: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

Torre de Hanói

REVISÃO

"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 é:

Page 4: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

Torre de Hanói

REVISÃO

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.

Page 5: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

Torre de Hanói

REVISÃO

Vamos resolver a Torre de Hanói:

Page 6: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

Torre de Hanói

REVISÃO

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.

Page 7: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

Torre de HanóiO 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.

REVISÃO

Page 8: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

AlgoritmoO que é?:É 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.

REVISÃO

Page 9: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

AlgoritmoExemplos:• 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.

REVISÃO

Page 10: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

AlgoritmoExercícios:• 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.

REVISÃO

Page 11: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

AlgoritmoComo são feitos os programas de computador:

REVISÃO

• Todo programa é feito com algoritmos.• Para escrever os algoritmos precisamos de uma linguagem.• Existem várias linguagens no mercado.• Para escrever um programa em uma linguagem utilizamos um outro

programa.• Este programa é conhecido como IDE (Integrated Development

Environment)

Page 12: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

IDEOrwell Dev-C++:

REVISÃO

Page 13: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

IDEOrwell Dev-C++:

REVISÃO

• Vamos programar em uma linguagem conhecida como C++. • Para baixar o programa utilize o endereço abaixo:

• https://sf.net/projects/orwelldevcpp/

Page 14: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>

using namespace std;

int main(){

cout << "Olá Mundo !!!";}

Bibliotecas de funções

Função principal do programa

Identificador da função

REVISÃO

Estrutura de um programa C++

Page 15: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>

using namespace std;

int main(){

const float numero_pi = 3.14;char genero = 'M';int idade = 31;float nota_final = 8.5;double salario = 1200.12;

cout << "Variáveis:" << genero << "," << idade << "," << nota_final << "," << salario << "," << numero_pi << endl;

double nota1, nota2;cout << "Digite as notas:" << endl;cin >> nota1 >> nota2;cout << "Notas: " << nota1 << "-" << nota2;

}

REVISÃO

Variáveis

Page 16: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>

using namespace std;

int main(){

int x = 10 + 5;// somaint y = 4 - 20;// subtraçãoint j = 34 * 160;// multiplicaçãoint i = 6 / 2;// divisãoint p = 150 % 2;// resto da divisão

int acelerar = 100;// incremento pós-fixado

acelerar++;

int desacelerar = 100;// decremento pós-fixado

desacelerar--;}

REVISÃO

Operadores

Page 17: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>using namespace std;int main(){

int correr = 20;// incremento pré-fixado++correr;int andar = 30;// decremento pré-fixado--andar;int a = 1; int b = 2; int c = 3; int d = 4; int e = 5;a += 1;// atribuição somab -= 1;// atribuição subtraçãoc *= 1;// atribuição multiplicaçãod /= 1;// atribuição divisãoe %= 1;// atribuição resto da divisão

}

REVISÃO

Operadores

Page 18: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>

using namespace std;

int main(){

int idade;cout << "Digite sua idade:";cin >> idade;

if (idade >= 21)cout << "Maior de

idade";else

cout << "Menor de idade";

}

REVISÃO

Desvios Condicionais

Page 19: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>

using namespace std;

int main(){

int opcao;cout << "Informe uma opção (1,2,3):";cin >> opcao;

switch (opcao){

case 1:cout << "Opção 1

Selecionada";break;

case 2:cout << "Opção 2

Selecionada";break;

case 3:cout << "Opção 3

Selecionada";break;

default:cout << "Nenhuma Opção

Selecionada";break;

}}

Desvios Condicionais

REVISÃO

Page 20: Algoritmos e Estrutura de Dados - Aula 02

ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa

#include <iostream>

using namespace std;

int main(){

for (int i=0;i<=10;i++)cout << i << "\n";

int j = 0;while (j <=10){cout << j << "\n";j++;

}

int k = 0;do{cout << k << "\n";k++;

}while (k <= 10);

}

Laço (Loops)

REVISÃO

Page 21: Algoritmos e Estrutura de Dados - Aula 02

Obrigado !!!

ANHANGUERA – 2016.1