Home Tutoriais Linux Redes
Vestibular Frases Currículo Escreva-me!



Algoritmo

 
    Conceitos e Estruturas básicas de controle
        Quando escrevemos um algoritimo estamos escrevendo a execução do nosso programa em uma linguagem que possamos entender. Entretanto, o computador só é capaz de seguir programas que estejam escritos em linguagem de máquina. Neste caso temos um programa que faz com que a nossa linguagem possa ser "entendida" pelo computador, a este programa chamamos de compilador. O compiador irá criar um módulo objeto não executável em linguagem de máquina.
         A base da ciência é a capacidade de, ao visualizar dois ou mais objetos, esquecermos suas possíveis diferenças e nos concentrar em algumas de suas semelhanças. A isto denominamos abstração e o próximo passo é a representação dessa abstração.
        A Linguagem de programação serve para expressar o raciocínio algorítmico e faz
a execução automática de um algoritmo por um computador.
        Em algoritmo devemos inicialmente distinguir dois aspectos: Estático e Dinâmico.
        No contexto estático compreende-se o texto em si, contendo comandos ou instruções, a linguagem de progamação escrita em si, ou ainda, o código fonte dos programas;
        A execuçãodos comandos do texto estático (algoritmo) é denominado um evento dinâmico. O evento dinâmico trata da execução do programa, sendo este um evento abstrato.
        Ação é um evento que ocorre num período de tempo finito estabelecendo como resultado um efeito intencionado e bem definido. A ação leva um período de tempo finito para ser executada; Devemos utilizar apenas ações com efeitos previsíveis.
        O Estado dos objetos corresponde ao conjunto de propriedades desses objetos (lápis com ponta ou sem ponta, parede suja ou limpa).
        Processo é corresponde ao evento como uma sequência temporal cujo efeito acumulado é equivalente ao efeito do evento total.
        Um evento pode ser considerado uma ação ou processo, dependendo se estamos interessados em um ou vários estados intermediários.
        Como descrição de um evento usarei inicialmente o relato de um observador.
        No evento:   "Resolver exercícios" descrevo:
 
        Traz o caderno de exercícios;
        Traz o papel para responder;
        Resolve as questões;
        Devolve o caderno de exercícios.


        O sinal de ";" indica sequenciamento, separa um comando do outro e representa a mais simples das estruturas de controle, a sequência simples.
 
        DEFINIÇÃO - É a descrição de um padrão de comportamento, expressado em termos de um contexto bem definido e finito de ações, das quais podem ser executadas.

        A ocorrência do nome de uma ação é chamada de comando. É considerado uma norma executável para estabelecer um efeito esperado. Cada linha do algoritmo acima corresponde a uma ação.
        Uma outra estrutura de controle é a ALTERNATIVA que é introduzida com o conectivo condicional se...então neste conectivo toda vez que o algoritmo for seguido este irá depender do resultado da inspeção (Verdadeiro ou falso). Outro conectivo é o repetitivo: enquanto...faça corresponde à execução repetida do comando se "inspeção"então "ação" até a primeira vez em que a inspeção der valor falso, então a ação não seria mais executada e seguiria para a próxima instrução.
 
        UM ALGORITMO DEVE SER DETERMINÍSTICO E DEVE PRODUZIR OS MESMOS RESULTADOS DEPOIS DE EXECUTADO, ADOTANDO AS MESMAS CONDIÇÕES INICIAIS.

   

    Programação Estruturada

  Consiste numa metodologia de projeto de programas visando:
   Facilitar a escrita dos programas;
   Facilitar o entendimento dos programas;
   Permitir a verificação a priori dos programas;
   Facilitar manutenção e modificação dos programas;
   Na PE(PROGRAMAÇÃO ESTRUTURADA) a tarefa do programador é reduzir a complexidade em três níveis:
    Desenvolvimento do programa em diferente módulos ou fases por refinamento sucessivo (desenvolvimento top-down);
    Decomposição do programa total em módulos funcionais, organizados num sistema hierárquico;
    Usando-se, dentro de cada módulo, um número limitado de estruturas básicas de fluxo de controle.

    Desenvolvimento Top-Down

    À medida que se desenvolve o algoritmo, este é descrito passo a passo de modo que, a cada linha adicionada é uma linha de "refinamento" até se chegar à conclusão do algoritmo.

   Modularização
   No Decorrer do projeto, a solução do problema vai sendo subdividida em fases ou módulos.

     Estruturas de Controle

   Devemos usar somente algumas estruturas básicas de controle como a sequência simples, o comando condicional e o comando repetitivo, evitando-se o uso irrestrito de comandos de desvio (GO TO), pois estes desvios contribuem para incompreensão do algoritmo.

     Manutenibilidade

   Aspectos de consideração na produção de software:

   Confiabilidade na manutenibilidade;
    Flexibilidade (transportabilidade, portabilidade de máquina a máquina);
    Documentação do projeto que irá contribuir na compreensão para todos.
   Fluxo de controle- determina em cada passo da execução qual o próximo comando a ser executado. Na compreensão do algoritmo estamos lidando fisicamente com o texto, mas tem mente temos a execução
dos processos.
   Sendo assim, a dificuldade do programador é distinguir a separação entre o aspecto estático e o dinâmico.

   Os tipos de dados:

Primitivos ou escalares - inteiro, real, caracter e lógico.

    Exemplos:

    Inteiro: B6; real: D,M; caracter: letra, acento; lógico: sim ou nao.

Hosted by www.Geocities.ws

1