algoritmos e estrutura de dados - aula 02
TRANSCRIPT
ANHANGUERA – 2016.1
ALGORITMOS E ESTRUTURA DE DADOSAULA 02 – REVISÃO
Prof. Thomás da [email protected]
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 !!!
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 é:
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.
ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa
Torre de Hanói
REVISÃO
Vamos resolver a Torre de Hanói:
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.
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
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
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
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
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)
ALGORITMOS E ESTRUTURA DE DADOS – Prof. Thomás da Costa
IDEOrwell Dev-C++:
REVISÃO
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/
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++
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
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
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
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
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
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
Obrigado !!!
ANHANGUERA – 2016.1