(a03) labmm3 - introdução à programação
Post on 08-Jul-2015
681 Views
Preview:
TRANSCRIPT
Introdução à algoritmia
Carlos SantosLabMM 3 - NTC - DeCA - UAAula 03, 19-09-2012
• 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 segurar um objeto;
• Regra 2: Um objeto tem de estar sempre em contacto com uma mão.
Problema 1 - regras
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 na qual esta pode ser utilizada;
• o limite do número de variáveis é essencialmente determinado pela espaço de armazenamento disponível no computador.
• num computador é a RAM e os registos do processador que permitem armazenar informação para ser processada.
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
“Laranja”
“Azul”
“Azul”
a
b
c
Curiosidade
• um simulador online de execução de código em Python
• http://www.pythontutor.com/visualize.html
Variáveis: espaço em memória
• Qual o espaço 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
• Escrever um algoritmo que leia três números inteiros e apresente o maior dos valores introduzidos.
Problema 2 - questões?
• Escrever um algoritmo que leia três números inteiros e apresente 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 SAPO Campus;
• Instruções vão ser enviadas muito brevemente pelo moodle!
• Identificar vantagens e desvantagens dessa possível solução.
Próxima aula
• Javascript!
• para que serve?
• como ler?
• como armazenar informação?
• como escrever?
• ...
top related