(Parte 1 de 8)

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 outralinguagem 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 para a Internet.

Em sua experiŒncia profissional tambØm encontramos serviços autônomos na Ærea de desenvolvimento na Ærea comercial, as ferramentaspor 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

, 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, quepode 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.

Um Algoritmo Ø uma seqüŒncia de instruçıes ordenadas de forma lógica para a resoluçªo de uma determinada tarefa ou problema.

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 dominara 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.

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.

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

Visual Basic

Delphi e etc.

Programaçªo Seqüencial Programaçªo Estruturada

Programaçªo Orientada a Eventos eObjetos

Programaçªo Orientada a Objetos

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.

+ Adiçªo - Subtraçªo * Multiplicaçªo / Divisªo

> Maior que < Menor que >= Maior ou Igual <= Menor ou Igual = Igual <> Diferente

Para a construçªo de Algoritmos todas as expressıes aritmØticas devem ser linearizadas, ou seja, colocadas em linhas.

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:

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.

Uma funçªo Ø um instrumento ( Sub ?algoritmo) que tem como objetivo retornar um valor ou uma informaçªo.

(Parte 1 de 8)

Comentários