Introdução à algoritmiaCarlos SantosLabMM 3 - NTC - DeCA - UAAula 03, 19-09-2012
Problema 1• Construir um algoritmo para trocar os objetos entre as duas mãos.
Problema 1 - regras• Construir um algoritmo para trocar os objetos entre as duas mãos.  • Regra 1: Em qualquer momento, um...
Problema 1 - solução
Problema 1 - solução - algoritmo INÍCIO   colocar bolaAzul na mãoA;   colocar bolaLaranja na mãoB;   trocar bola na mãoA p...
Um programa...• ... serve para processar informação!   • para a informação ser processada ela tem que ser armazenada no   ...
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? INÍCIO   var a = “Azul”;   var b = “Laranja”;   var c = a;                         ...
Problema 1 - programa - como funciona? INÍCIO                                             a “Laranja”   var a = “Azul”;   ...
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 ocupa...
Tabelas ASCII0..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)  ...
Variáveis: espaço em memória• Qual o espaço mínimo ocupado por uma variável para armazenar o texto  “Azul”?              “...
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...
Problema 2 - algoritmo 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, mai...
Problema 2 - algoritmo INÍCIO   ler (num1);   ler (num2);   ler (num3);   maior = num1;   SE num2 > maior ENTÃO     maior ...
Problema 2 - programa INÍCIO   var num1 = lerValor();   var num2 = lerValor();   var num3 = lerValor();   var maior = num1...
Problema 2 - outras soluções?• Será possível encontrar uma solução que só utilize duas variáveis simples?  • Se sim, apres...
Próxima aula• Javascript!   • para que serve?   • como ler?   • como armazenar informação?   • como escrever?   • ...
Próximos SlideShares
Carregando em…5
×

(A03) LabMM3 - Introdução à programação

851 visualizações

Publicada em

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
851
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
102
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

(A03) LabMM3 - Introdução à programação

  1. 1. Introdução à algoritmiaCarlos SantosLabMM 3 - NTC - DeCA - UAAula 03, 19-09-2012
  2. 2. Problema 1• Construir um algoritmo para trocar os objetos entre as duas mãos.
  3. 3. Problema 1 - regras• 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.
  4. 4. Problema 1 - solução
  5. 5. Problema 1 - solução - algoritmo 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
  6. 6. 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.
  7. 7. Problema 1 - solução - programa INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM
  8. 8. Problema 1 - programa - como funciona? INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; RAM a = b; b = c; FIM vamos ver no quadro o funcionamento passo-a-passo!
  9. 9. Problema 1 - programa - como funciona? INÍCIO a “Laranja” var a = “Azul”; b “Azul” c “Azul” var b = “Laranja”; var c = a; a = b; b = c; FIM resultado final em RAM de acordo com a simulação realizada na aula
  10. 10. Curiosidade• um simulador online de execução de código em Python • http://www.pythontutor.com/visualize.html
  11. 11. 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/)
  12. 12. Tabelas ASCII0..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ímbolos8 bits = 1 Byte por elemento ASCII
  13. 13. 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)
  14. 14. Problema 2• Escrever um algoritmo que leia três números inteiros e apresente o maior dos valores introduzidos.
  15. 15. 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?
  16. 16. Problema 2 - algoritmo INÍCIO ler dados de entrada; determinar o maior valor; escrever resultado final; FIM
  17. 17. 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
  18. 18. Problema 2 - algoritmo INÍCIO ler (num1); ler (num2); ler (num3); maior = num1; SE num2 > maior ENTÃO maior = num2; FIM SE SE num3 > maior ENTÃO maior = num3; FIM SE escrever (maior); FIM
  19. 19. Problema 2 - programa INÍCIO var num1 = lerValor(); var num2 = lerValor(); var num3 = lerValor(); var maior = num1; SE num2 > maior ENTÃO maior = num2; RAM FIM SE SE num3 > maior ENTÃO maior = num3; FIM SE escrever (maior); FIM vamos ver no quadro o funcionamento passo-a-passo!
  20. 20. 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.
  21. 21. Próxima aula• Javascript! • para que serve? • como ler? • como armazenar informação? • como escrever? • ...

×