Commit d33b7c2b authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

algoritmo

parent a2273dbc
......@@ -297,6 +297,7 @@ image::images/organizacao-computador/codigo_comando.png[scaledwidth="70%"]
Podemos observar no exemplo a seguir, a codificação da operação `STORE` e
seus operandos:
[[fig_exemplo_instrucao]]
image::images/organizacao-computador/exemplo_instrucao.png[scaledwidth="70%"]
......
......@@ -121,13 +121,11 @@ amigos a chegarem no banco?
==== Programa de Computador
Um programa de computador é essencialmente um algoritmo que diz ao computador
os passos específicos e em que ordem eles devem ser executados, como por
exemplo, os passos a serem tomados para calcular as notas que serão impressas
nos boletins dos alunos de uma escola.
os passos específicos e em que ordem eles devem ser executados.
Quando os procedimentos de um algoritmo envolvem o processamento de dados, a
informação é lida de uma fonte de entrada, processada e retornada sob novo
valor após processamento, o que geralmente é realizado com o auxílio de um
valor após processamento -- o que geralmente é realizado com o auxílio de um
conjunto de instruções e estrutura de dados.
// Foto: Jessica Kourkounis / The New York Times
......@@ -154,17 +152,20 @@ desenhar a cena emblemática do seu filme "Viagem à Lua".
Entretanto, a maioria dos algoritmos são desenvolvidos para programas de
computador, para isto, existe uma grande variedade de linguagens de
programação, cada uma com características específicas que podem facilitar a
implementação de determinados algoritmos ou atender a propósitos mais
gerais, definiremos melhor uma linguagem de programação na <<sec_linguagem_programacao>>.
implementação de determinados algoritmos, definiremos melhor uma linguagem de programação na <<sec_linguagem_programacao>>.
// Não ficou claro 'ou atender a propósitos mais gerais'
// removi por enquanto.
==== Construindo um algoritmo em sala de aula
Imagine que o leitor queira ensinar o conceito de algoritmo para um grupo de
Imagine que você queira ensinar o conceito de algoritmo para um grupo de
alunos. Uma forma muito interessante de abordar a construção de um primeiro
algoritmo em sala é apresentar um jogo que utilize uma sequência de passos
lógicos para sua resolução. Peça para os alunos pensarem em uma solução e
definir comandos em português a serem seguidos pelo seu colega ao lado para
resolver o problema através de sua solução proposta. Se o colega obtiver
lógicos para sua resolução.
Peça para os alunos pensarem em uma solução e
definir comandos em português a serem seguidos pelo seu colega ao lado. Se o colega obtiver
êxito na resolução do jogo, seu algoritmo terá sido validado.
Propomos a abordagem do conhecido jogo “imprensadinho”, onde o jogador tem
......@@ -175,12 +176,13 @@ responder se o número escolhido foi descoberto ou não. O jogador ainda pode
perguntar se o número a ser encontrado é maior ou menor que o número
corrente testado. O jogo acaba quando o jogador descobre o número escolhido.
// TODO Adicionar ou linkar as regras do jogo de forma mais explícita.
.Proposta de algoritmo para o “imprenssadinho”
image::images/tradutor/imprenssadinho.png[]
[NOTE]
[TIP]
Antes de propor esta atividade a seus alunos, que tal tentar elaborar um
algoritmo que formalize sua solução. Descreva testes a serem efetuados e
instruções para descrever as decisões a serem tomadas.
......@@ -190,9 +192,9 @@ instruções para descrever as decisões a serem tomadas.
(((Linguagem de Programação)))
Imagine aplicações para redes sociais como o Facebook, jogos eletrônicos e
Imagine aplicações para redes sociais, jogos eletrônicos e
decodificadores de vídeo digital sendo implementados em linguagem de máquina
(linguagem binária), seria uma tarefa impossível. Para isso, linguagens de
(utilizando hexadecimal como na <<fig_exemplo_instrucao>>), seria uma tarefa impossível. Para isso, linguagens de
programação foram desenvolvidas para permitir que algoritmos sejam
aceitáveis para os humanos e facilmente convertidos em instruções de
linguagem de máquina. Podemos definir uma linguagem de programação como um
......@@ -208,16 +210,13 @@ ser localizados e corrigidos para finalizar o trabalho.
Na década de 40, pesquisadores desenvolveram um sistema de notação onde
instruções numéricas podem ser representadas por mnemônicos. Por exemplo, a
instrução
Mova o conteúdo do registrador 3 para o registrador 1
expressa numericamente como:
instrução `Mova o conteúdo do registrador 3 para o registrador 1`
poderia ser expressa numericamente usando uma linguagem de máquina como:
4056
usando uma linguagem de máquina. Já em um sistema mnemônico podemos
representar esta instrução como:
Já em um sistema mnemônico podemos
representar esta instrução da seguinte forma:
MOV R5, R6
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment