Escolar Documentos
Profissional Documentos
Cultura Documentos
O aspecto dinâmico seria as ações que um algoritmo provoca nos projetos nele
relacionados com o passar do tempo. Ou seja, como se comporta a execução de cada ação de um
algoritmo com o passar do tempo.
Agora vamos supor que você leve o seu carro para um aprendiz de mecânico de
automóvel, você terá que supervisionar o trabalho do pupilo, informando-o das ações que ele
deverá executar:
Estamos supondo que o aprendiz, sabe como executar essas tarefas ele só não sabe diagnosticar o
defeito.
Agora imagine se tivéssemos que ensinar um leigo que nem sequer viu um motor
de carro, e não tem habilidade com ferramentas para consertar o carro. O nosso grau de
detalhamento teria que ser tão grande que correríamos o risco de nos perder em nossos próprios
detalhes. E onde deveríamos parar o detalhamento? Note que se o nosso detalhamento for
minucioso poderíamos cair num processo infinito tentando explicar os detalhes do detalhe.
A finitude dinâmica é mais fácil de entender. Execute o algoritmo a seguir:
Note que se o número que você escolheu for par você não cantará nenhuma vez o
refrão. Agora, se o número for ímpar você nunca mais irá parar de cantá-lo, pois a instrução diz
enquanto o número for impar cante, e após a escolha do número não existe mais possibilidade de
alterá-lo, logo estaríamos com um algorítmo estaticamente finito, mas dinamicamente infinito
em uma de suas possibilidades.
Já no exemplo a seguir, mesmo que sua primeira escolha seja um número impar,
ainda existe a possibilidade de você sair da execução da estrutura enquanto, pois para cada vez
que você cantar o refrão é aberta a possibilidade de escolha de um novo número o qual poderá
ser impar, você continuará contando, ou par o que provocará o abandono da estrutura enquanto.
podemos construir frases sintaticamente incorretas, mas com uma semântica definida
b
Dada a figura ao lado, faça um algoritmo
que calcule o valor área da mesma, sabendo
a que os valores dos lados a e b valem respec-
tivamente 3 e 5.
Solução 1
Podemos simplesmente escolher um objeto chamado área que representará o resultado da área da
figura, dessa forma, poderíamos ter a seguinte descrição:
Algoritmo Area;
objetos área
início das ações:
Calcule 3 x 5 e armazene o resultado no objeto área;
informe o valor armazenado no objeto área;
fim das ações
Solução 2
Uma solução um pouco mais sofisticada seria utilizando todos os objetos fornecidos pelo próprio
problema
Algoritmo Area;
objetos a, b, área
início das ações:
atribua o valor 3 ao objeto a;
atribua o valor 5 ao objeto b;
calcule o produto a.b e armazene o resultado objeto área;
informe o valor armazenado no objeto área
fim das ações
Solução 3
Os algoritmos descritos acima funcionam bem desde que sempre o utilizemos para calcular a
área de um retângulo com valores de altura e base iguais a 3 e 5, respectivamente.
Assim sendo, poderíamos pensar em descrever um algoritmo que funcione de uma
forma mais genérica, isto é, podemos criar um algoritmo que não seja dependente dos valores
iniciais de a e b
Algoritmo Area;
objetos a, b, área
início das ações:
conheça o valor da altura do retângulo e atribua-o ao objeto a;
conheça o valor da base do retângulo e atribua-o ao objeto b;
calcule o produto a.b e armazene o resultado no objeto área;
informe o valor armazenado no objeto área;
fim das ações
solução:
Note que para resolver este problema não são dados os valores que necessitamos para efetuar tal
cálculo logo, devemos tratar os valores da base e da altura do triângulo retângulo como valores
hipotéticos, ou seja eles serão argumentos de entrada do nosso algoritmo.
Algoritmo Area_tri;
ae (base, altura);
as (área);
objetos base, altura, área;
início das ações:
Conheça o valor da altura do triângulo
e o atribua ao objeto altura;
Conheça o valor da base do triângulo
e o atribua ao objeto base;
Calcule a expressão altura.base/2
e armazene o resultado no objeto área;
Informe o valor armazenado no objeto área;
fim das ações
Para executar este algoritmo, basta relacionar todos os objetos que ele utiliza,
executar as ações descritas, uma a uma e na ordem cronológica em que elas foram descritas.
Exemplo:
Vamos supor que tenhamos um triângulo retângulo, cuja altura e base valem 5 e 8
respectivamente.
Diâmetro = 2.Raio
área = PI.Raio2
Circunferência = 2.PI.Raio