Introdução à algoritmia
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 02, 13-09-2013
O que é um programa?
• Um programa é um conjunto de instruções que:
• tem como objetivo a resolução de um ou vários proble...
O que é programar?
• É o ato de ordenar um conjunto de instruções pré-definidas de forma
lógica, com o objetivo de resolver...
Passos a seguir no ato de programar
1. Definir o problema e identificar todas as suas especificidades;
2. Escolher a estratég...
• 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: Uma mão só pode segurar um objeto;
• Regra ...
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 ...
Um programa...
• ... serve para processar informação!
• para a informação ser processada ela tem que ser armazenada no
com...
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 ve...
INÍCIO
var a = “Azul”;
var b = “Laranja”;
var c = a;
a = b;
b = c;
FIM
Problema 1 - programa - como funciona?
resultado fin...
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 ASCII
0..255 = 256 valores
256 = 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...
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...
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...
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 fin...
INÍCIO
ler (num1);
ler (num2);
ler (num3);
maior = num1;
SE num2 > maior ENTÃO
maior = num2;
FIM SE
SE num3 > maior ENTÃO
...
INÍCIO
var num1 = lerValor();
var num2 = lerValor();
var num3 = lerValor();
var maior = num1;
SE num2 > maior ENTÃO
maior ...
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?
• ...
Upcoming SlideShare
Loading in...5
×

T02_LM3: Introdução à algoritmia (2013-2014)

541

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
541
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
44
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

T02_LM3: Introdução à algoritmia (2013-2014)

  1. 1. Introdução à algoritmia Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 02, 13-09-2013
  2. 2. O que é um programa? • Um programa é um conjunto de instruções que: • tem como objetivo a resolução de um ou vários problemas; • é normalmente escrito com o apoio de uma linguagem de programação; • é interpretado e executado por uma máquina/computador.
  3. 3. O que é programar? • É o ato de ordenar um conjunto de instruções pré-definidas de forma lógica, com o objetivo de resolver um problema. • O que é a lógica ? • “É a ciência que estuda as leis e critérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio.” (Manzano, 2000: 3) • Usar o “raciocínio” lógico implica compreender os processos de geração de conhecimento, implica seguir uma sequência coerente e regular de acontecimentos.
  4. 4. Passos a seguir no ato de programar 1. Definir o problema e identificar todas as suas especificidades; 2. Escolher a estratégia ou método para a resolução do problema; 3. Resolver o problema numa sequência lógica de instruções; 4. Codificar essas instruções numa linguagem de programação (JavaScript, PHP, Actionscript, Pascal, Java, C, C++, Objective C,….); 5. Testar e corrigir erros; 6. Documentar o programa.
  5. 5. • Construir um algoritmo para trocar os objetos entre as duas mãos. Problema 1
  6. 6. • Construir um algoritmo para trocar os objetos entre as duas mãos. • Regra 1: Uma mão só pode segurar um objeto; • Regra 2: Os objetos têm de estar sempre em contacto com uma mão. Problema 1 - regras
  7. 7. Problema 1 - solução
  8. 8. 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
  9. 9. 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, as variáveis 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 influência 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. • para que uma variável possa ser processada é obrigatório que esteja armazenada na memória do computador.
  10. 10. INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM Problema 1 - solução - programa
  11. 11. 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!
  12. 12. 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
  13. 13. Curiosidade • um simulador online de execução de código em Python • http://www.pythontutor.com/visualize.html
  14. 14. 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/)
  15. 15. Tabelas ASCII 0..255 = 256 valores 256 = 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
  16. 16. 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)
  17. 17. Problema 2 • Escrever um algoritmo que leia três números inteiros e apresente o maior dos valores introduzidos.
  18. 18. 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?
  19. 19. INÍCIO ler dados de entrada; determinar o maior valor; escrever resultado final; FIM Problema 2 - algoritmo
  20. 20. 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
  21. 21. 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 Problema 2 - algoritmo
  22. 22. INÍCIO var num1 = lerValor(); var num2 = lerValor(); var num3 = lerValor(); var maior = num1; SE num2 > maior ENTÃO maior = num2; FIM SE SE num3 > maior ENTÃO maior = num3; FIM SE escrever (maior); FIM Problema 2 - programa RAM vamos ver no quadro o funcionamento passo-a-passo!
  23. 23. 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; • Identificar vantagens e desvantagens dessa possível solução.
  24. 24. Próxima aula • Javascript! • para que serve? • como ler? • como armazenar informação? • como escrever? • ...
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×