(Parte 1 de 11)

Algoritmos

Lógica para Desenvolvimento de Programação

Introdução

Este trabalho é fruto de minha experiência em desenvolvimento de softwares e cursos lecionados na área de programação.

O material aqui apresentado foi recolhido de algumas literaturas de Estrutura de Dados e Tutoriais da encontrados no sites da Internet.

A programação é para mim uma diversão, apesar de complexo, mas vejo como a capacidade de um ser humano dominar e solucionar com recursos computacionais problemas do dia-a-dia de uma Empresa, Corporação, etc...

O raciocínio da lógica para a programação traz ao indivíduo um novo mundo cheio de outros mundos. Dominando a lógica você será capaz de aprender sem grandes dificuldades qualquer outra linguagem de programação seja ela estruturada, orientada a objeto, orientada a eventos.

Alessandro Coelho Porto

Sobre o Autor

Atualmente trabalha como Webdesign / Webmaster na Embrapa Cerrados, sua principal tarefa está no planejamaneto e desenvolvimento de Sites. Utiliza as linguagens HTML, JavaScript e VbScript e Sistemas de Banco de Dados (ASP) para a Internet.

Em sua experiência profissional também encontramos serviços autônomos na área de desenvolvimento na área comercial, as ferramentas por ele utilizadas foram Clipper, Visual Basic e Delphi.

Abordagem Contextual

Muitas pessoas gostam de falar ou julgar que possuem e sabem usar o raciocínio lógico, porém, quando questionadas direta ou indiretamente, perdem esta linha de raciocínio, pois este depende de inúmeros fatores para completá-lo, tais como: calma, conhecimento, vivência, versatibilidade, experiência, criatividade, ponderação, responsabilidade, entre outros.

Bem sem mais delongas podemos dizer que lógica é a ciência que estudas as leis e critéios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio.

Usar a lógica é um fator a ser considerado por todos, principalmente pelos profissionais de informática (programadores, analistas de sistemas e suporte), pois seu dia-a-dia dentro das organizações é solucionar problemas e atingir os objetivos apresentados por seus usuários com eficiência e eficácia, utilizando recursos computacionais e/ou automatizados macatronicamente. Saber lidar com problemas de ordem administrativa, de controle, de planejamento e de estratégica requer atenção e boa performance de conhecimento de nosso interesse é mostrar como desenvolver e aperfeiçoar melhor esta técnica, lembrando que para isto, você deverá ser persistente e praticá-la constantemente, chegando à exaustão sempre que julgar necessário.

Princípios de Resoluções de Problemas

Primeiramente, devemos entender e compreender a palavra “problema”. Podemos dizer que problema é um proposta duvidosa, que pode Ter inúmeras soluções, ou questão não solvida e que é o objeto de discussão, segundo a definição encontrada no Dicionário Aurélio.

Preferimos dizer que problema é uma questão que foge a uma determinada regra, ou melhor, é o desvio de um percurso, o qual impede de atingir com sucesso um determinado objetivo com eficiência e eficácia.

Uma das soluções utilizadas para a resolução de problemas tem sido a utilização dos diagramas, no decorrer do curso será bastante enfatizado em sala de aula o uso de tais ferramentas com o intuito de auxiliar os aprendizados tanto na resolução de problemas como no conhecimento das técnicas de programação.

ALGORITMO

Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema.

PROGRAMAÇÃO ESTRUTURADA

Basicamente, a Programação Estruturada consiste numa metodologia de projeto de programas visando:

  • facilitar a escrita dos programas;

  • facilitar a leitura (o entendimento) dos programas;

  • permitir a verificação a priori dos programas;

  • facilitar a manutenção e modificação dos programas.

O maior problema em grandes sistemas de software reside na enorme complexidade desses sistemas, cuja a apreensão vai geralmente muito além da capacidade intelectual de um ser humano. Entenda-se aqui por complexidade de um sistema uma medida do número de seus componentes e do grau de interação entre eles. Para Dijkstra, o indiscutível iniciador da programação estruturada, “a arte de programar consiste na arte de organizar e dominar a complexidade”.

A idéia da Programação Estruturada, que vai ao encontro da mencionada tarefa do programador, é reduzir a complexidade, em três níveis:

  1. desenvolvimento do programa em diferentes fases por refinamento sucessivo (desenvolvimento Top-Down);

  2. decomposição do programa total em módulos funcionais, organizados de preferência num sistema hierárquico;

  3. usando dentro de cada módulo só um número muito limitado de estruturas básicas de fluxo de controle.

O curso tem por objetivo apresentar aos alunos os conceitos e desenvolvimento da programação estruturada, utilizando duas ferramentas muito utilizadas em cursos acadêmicos, o Portugol e o Pascal.

PROGRAMA

Um programa é um Algoritmo escrito em uma linguagem computacional.

Mais o que é um Algoritmo?

Algoritmo é um processo de cálculo matemático ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições. Podemos dizer também, que são regras formais para obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas.

LINGUAGENS DE PROGRAMAÇÃO

São Softwares que permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais.

Existem várias linguagens de programação, cada uma com suas características próprias.

Exemplos:

  • Pascal

  • Clipper

  • C

  • Visual Basic

  • Delphi e etc.

TÉCNICAS ATUAIS DE PROGRAMAÇÃO

  • Programação Seqüencial

  • Programação Estruturada

  • Programação Orientada a Eventos e Objetos

  • Programação Orientada a Objetos

ALGORITMOS EM “PORTUGOL”

Durante nosso curso iremos aprender a desenvolver nossos Algoritmos em uma pseudo-linguagem conhecida como “Portugol” ou Português Estruturado.

“Portugol” é derivado da aglutinação de Português + Algol. Algol é o nome de uma linguagem de programação estruturada usada no final da década de 50.

OPERADORES ARITMÉTICOS

+  Adição

-  Subtração

*  Multiplicação

/  Divisão

OPERADORES RELACIONAIS

>  Maior que

<  Menor que

>=  Maior ou Igual

<=  Menor ou Igual

=  Igual

<>  Diferente

LINEARIZAÇÃO DE EXPRESSÕES

Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas.

MODULARIZAÇÃO DE EXPRESSÕES

A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para resolução da mesma.

Como pode ser observado no exemplo anterior, em expressões computacionais usamos somente parênteses “( )” para modularização.

Na informática podemos ter parênteses dentro de parênteses.

Exemplos de prioridades:

(2+2)/2=2

2+2/2=3

OPERADORES ESPECIAIS (MOD e DIV)

MOD  Retorna o resto da divisão entre 2 números inteiros.

DIV  Retorna o valor inteiro que resulta da divisão entre 2 números inteiros.

FUNÇÕES

Uma função é um instrumento (Sub–algoritmo) que tem como objetivo retornar um valor ou uma informação.

(Parte 1 de 11)

Comentários