Your SlideShare is downloading. ×
0
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
T02_LM3: Introdução à algoritmia (2013-2014)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

519

Published on

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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introdução à algoritmia Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 02, 13-09-2013
  • 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. 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. 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. • Construir um algoritmo para trocar os objetos entre as duas mãos. Problema 1
  • 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. Problema 1 - solução
  • 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. 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. INÍCIO var a = “Azul”; var b = “Laranja”; var c = a; a = b; b = c; FIM Problema 1 - solução - programa
  • 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. 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. Curiosidade • um simulador online de execução de código em Python • http://www.pythontutor.com/visualize.html
  • 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. 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. 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. Problema 2 • Escrever um algoritmo que leia três números inteiros e apresente o maior dos valores introduzidos.
  • 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. INÍCIO ler dados de entrada; determinar o maior valor; escrever resultado final; FIM Problema 2 - algoritmo
  • 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. 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. 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. 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. Próxima aula • Javascript! • para que serve? • como ler? • como armazenar informação? • como escrever? • ...

×