Documente Academic
Documente Profesional
Documente Cultură
2.1 - INTRODUÇÃO
O aspecto estático não depende do tempo, mas sim do espaço físico (por exemplo,
folha de papel) e onde está sendo desenvolvido o algoritmo.
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.
CAPÍTULO 2 - ALGORITMOS 32
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 ímpar cante, e após a escolha do número não existe mais
possibilidade de alterá-lo, logo estaríamos com um algoritmo estaticamente finito, mas
dinamicamente infinito em uma de suas possibilidades.
Já no exemplo a seguir, mesmo que sua primeira escolha seja um número ímpar, 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
ímpar, você continuará contando, ou par o que provocará o abandono da estrutura enquanto.
A sintaxe dita as regras de como as frases e cada um dos seus termos devem ser
construídas corretamente (verbo, objeto, sujeito, predicado, artigo). Já a semântica se
preocupa com o significado da frase construída. Podemos construir frases sintaticamente
corretas, mas sem uma semântica definida e da mesma forma, podemos construir frases
sintaticamente incorretas, mas com uma semântica definida.
Exemplos:
Frase com sintaxe correta: "Descoloridas idéias verdes sonham furiosamente." (Chomsky)
São frases sintaticamente corretas na nossa linguagem. Mas, essas frases têm sentido?
Isto não pode ser definido pela sintaxe, mas sim pela semântica da linguagem. A semântica
de uma linguagem pode ser definida como sendo um conjunto de regras que permite dizer se
uma frase sintaticamente correta tem ou não sentido.
Não é possível descrever a semântica de uma linguagem de forma tão simples como a
sintaxe. Na frase
a definição do aspecto semântico é complicado, onde podemos assumir que esta frase não
tem validade semântica, devido ao fato de que a mesma tem um sentido pouco convencional
em relação ao comportamento observado entre os gatos e os ratos.
Solução 1
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:
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 no 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.
objetos a, b, área;
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.
O objetivo desse algoritmo é o de calcular a área de um triângulo retângulo. Logo,
escolhemos o objeto área para ser o argumento de saída do nosso algoritmo.
ae (base, altura);
as (área);
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 - método
do teste de mesa.
Exemplo:
Vamos supor que tenhamos um triângulo retângulo, cuja altura e base valem 5 e 8
respectivamente.
1) Dada uma equação do 2º. grau na forma ax2 + bx + c = 0, responda as seguintes questões:
a) Quais são os argumentos de entrada para se calcular as raízes reais dessa equação?
CAPÍTULO 2 - ALGORITMOS 37
b) Quais são os argumentos de saída, sabendo que o objetivo é calcular as raízes reais da
equação?
c) Faça um algoritmo que calcule as raízes reais da equação dada. Utilize objetos auxiliares,
caso julgue necessário, mas não esqueça de discriminar todos os objetos que serão utilizados
em seu algoritmo (utilize o padrão do nosso último exemplo resolvido).
d) Execute o algoritmo que você fez para resolver a equação: 2x2 + 3x - 2 = 0