Download - LabMM3 - Aula teórica 03
Introdução à algoritmia
Carlos SantosLabMM 3 - NTC - DeCA - UAAula 03, 19-09-2011
• Construir um algoritmo para trocar os objetos entre as duas mãos.
Problema 1
• Construir um algoritmo para trocar os objetos entre as duas mãos.
• Regra 1: Em qualquer momento, uma mão só pode ter um objeto;
• Regra 2: Qualquer objeto tem que estar sempre em contacto com uma mão.
Problema 1
Problema 1 - solução
INÍCIO
colocar bolaAzul na mãoA;
colocar bolaLaranja na mãoB;
trocar bola na mãoA para a mãoC;
trocar bola na mãoB para a mãoA;
trocar bola na mãoC para a mãoB;
libertar mãoC;
FIM
Problema 1 - solução - algoritmo
Um programa...
• ... serve para processar informação!
• para a informação ser processada ela tem que ser armazenada no computador.
• numa linguagem de programação, são as variáveis que permitem armazenar informação.
• uma variável simples apenas pode conter um elemento de informação;
• o tipo de informação armazenada numa variável influencia as operações com a qual esta pode ser utilizada;
• o limite do número de variáveis é essencialmente determinado pela espaço de armazenamento disponível no computador.
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
Problema 1 - solução - programa
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
Problema 1 - programa - como funciona?
RAM
vamos ver no quadro o funcionamento passo-a-passo!
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
Problema 1 - programa - como funciona?
resultado final em RAM de acordo com a simulação realizada na aula
Variáveis: espaço em memória
• Qual o espaço mínimo ocupado por uma variável para armazenar o texto “Azul”?
• Qual o espaço ocupado para armazenar um carácter?
• a resposta está na tabela ASCII (http://www.asciitable.com/)
Tabelas ASCII
0..255 = 256 valores256 = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28
2 corresponde à base binária: 0 ou 1 (1 bit)8 é o número de símbolos
8 bits = 1 Byte por elemento ASCII
Variáveis: espaço em memória
• Qual o espaço mínimo ocupado por uma variável para armazenar o texto “Azul”?
• A z u l
• 65 122 119 108 (4 Bytes)
• 01000001 01111010 01110101 01101100 (32 bits)
Problema 2
• Ler 3 números inteiros e apresentar o maior dos valores introduzidos.
Problema 2 - questões?
• Ler 3 números inteiros e apresentar o maior dos valores introduzidos.
• quantas variáveis são necessárias?
• como determinar o maior de 3 números inteiros?
INÍCIO
ler dados de entrada;
determinar o maior valor;
escrever resultado final;
FIM
Problema 2 - algoritmo
INÍCIO
ler dados de entrada (num1, num2, num3);
determinar o maior valor (num1, num2, num3, maior);
escrever resultado final (maior);
FIM
Problema 2 - algoritmo
INÍCIOler (num1);ler (num2);ler (num3);maior = num1;SE num2 > maior ENTÃO
maior = num2;FIM SESE num3 > maior ENTÃO
maior = num3;FIM SEescrever (maior);
FIM
Problema 2 - algoritmo
INÍCIOvar num1 = lerValor();var num2 = lerValor();var num3 = lerValor();var maior = num1;SE num2 > maior ENTÃO
maior = num2;FIM SESE num3 > maior ENTÃO
maior = num3;FIM SEescrever (maior);
FIM
Problema 2 - programa
RAM
vamos ver no quadro o funcionamento passo-a-passo!
Problema 2 - outras soluções?
• Será possível encontrar uma solução que só utilize duas variáveis simples?
• Se sim, apresentar solução no grupo do FB;
• Identificar vantagens e desvantagens dessa possível solução.
Próxima aula
• Javascript!
• como escrever?
• como ler?
• como armazenar informação?
• ...