labmm3 - aula teórica 03
DESCRIPTION
Aula teórica sobre algoritmia onde foram apresentados alguns exemplos utilizados para demonstrar o funcionamento de um programa.TRANSCRIPT
![Page 1: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/1.jpg)
Introdução à algoritmia
Carlos SantosLabMM 3 - NTC - DeCA - UAAula 03, 19-09-2011
![Page 2: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/2.jpg)
• Construir um algoritmo para trocar os objetos entre as duas mãos.
Problema 1
![Page 3: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/3.jpg)
• 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
![Page 4: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/4.jpg)
Problema 1 - solução
![Page 5: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/5.jpg)
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
![Page 6: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/6.jpg)
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.
![Page 7: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/7.jpg)
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
Problema 1 - solução - programa
![Page 8: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/8.jpg)
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!
![Page 9: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/9.jpg)
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
![Page 10: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/10.jpg)
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/)
![Page 11: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/11.jpg)
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
![Page 12: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/12.jpg)
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)
![Page 13: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/13.jpg)
Problema 2
• Ler 3 números inteiros e apresentar o maior dos valores introduzidos.
![Page 14: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/14.jpg)
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?
![Page 15: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/15.jpg)
INÍCIO
ler dados de entrada;
determinar o maior valor;
escrever resultado final;
FIM
Problema 2 - algoritmo
![Page 16: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/16.jpg)
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
![Page 17: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/17.jpg)
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
![Page 18: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/18.jpg)
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!
![Page 19: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/19.jpg)
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.
![Page 20: LabMM3 - Aula teórica 03](https://reader033.vdocuments.mx/reader033/viewer/2022051212/559d26c21a28abe8518b45f8/html5/thumbnails/20.jpg)
Próxima aula
• Javascript!
• como escrever?
• como ler?
• como armazenar informação?
• ...