Introdução à Lógica

2.1 – Princípios de Resolução de Problemas 

Primeiramente, é importante entender a palavra “problema”. Pode-se dizer que problema é uma proposta duvidosa, que pode ter numerosas soluções, ou questão não solvida e que é objeto de discussão, segundo definição encontrada no dicionário Aurélio. 

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

Diferente das diagramações clássicas, que não fornecem grandes subsídios para análise, os diagramas de blocos são realmente o melhor instrumento para avaliação do problema do fluxo de informações de um dado sistema. Por esse motivo deve-se resolver um problema de lógica (principalmente se for da área de processamento eletrônico de dados) usando um procedimento de desenvolvimento. 

Para desenvolver um diagrama correto, deve-se considerar como procedimentos prioritários os itens seguintes:

  • Os diagramas devem ser feitos e quebrados em vários níveis. 
  • Os primeiros devem conter apenas as ideias gerais, deixando para as etapas posteriores os detalhamentos necessários; 
  • Para o desenvolvimento correto de um fluxograma, sempre que possível, deve ser desenvolvido de cima para baixo e da esquerda para direita; 
  • É incorreto e “proibido” ocorrer cruzamento das linhas de fluxo de dados
Tomo como exemplo uma escola qualquer, cujo cálculo da média é realizado com as quatro notas bimestrais que determinam a aprovação ou reprovação dos seus alunos. Considere ainda que o valor da média deve ser maior ou igual a 7 para que haja aprovação. A primeira etapa deste problema via diagrama de blocos está na figura a seguir.



Diagrama de bloco para cálculo de média escolar
Diagrama de bloco para cálculo de média escolar


A segunda etapa apresenta um detalhamento no que se refere à entrada e saída, ou seja, deve-se entrar com as quatro notas bimestrais para se obter, como resultado, o cálculo da média e assim definir a aprovação ou reprovação do aluno. A figura a seguir apresenta o diagrama de blocos com mais detalhes.


Diagrama apresentando a entrada das notas e a saída se houver aprovação.

A terceira etapa consiste em trabalhar o termo “determinar a aprovação”. Para ser possível determinar algo, é necessário estabelecer uma condição. Assim sendo, uma condição envolve uma decisão a ser tomada segundo um determinado resultado. No caso, a média. Desta forma, a condição de aprovação: média maior ou igual a 7, deve ser considera no algoritmo.



Uso de uma condição em um diagrama de blocos

Muitas vezes é preferível construir o diagrama de blocos trabalhando com variáveis. Este assunto será estudado mais adiante. A figura a seguir apresenta um exemplo de um algoritmo utilizando variáveis.

2.2 - Particularidades entre Lógicas

As representações gráficas de um diagrama de blocos podem ser feitas de várias maneiras e possuírem estruturas diferenciadas, porém isto não impede que a maneira de solucionar o problema seja eficiente. Segundo Verzello nos diz em uma de suas obras, assim como um arquiteto desenha e escreve especificações para descrever como uma tarefa (por exemplo, construção de um edifício) deverá ser efetuada e o engenheiro do projeto desenvolve um esquema detalhado das atividades de construção, um especialista em informação desenvolve um plano, que será comunicado a outros, de como o problema de processamento de dados deve ser resolvido.

Para auxiliarmos na sua compreensão, mostraremos como estes conceitos de estruturas, bem como as particularidades de conexões e dos procedimentos entre o método lógico, encaixam-se ou não na resolução dos problemas de processamento de dados.

 2.2.1 Linear

A técnica lógica linear é conhecida como um modelo tradicional de desenvolvimento e resolução de um problema. Não está ligada a regras de hierarquia ou de estruturas de linguagens específicas de programação de computadores. Devemos entender que este tipo de procedimento está voltado à técnica matemática, a qual permite determinar a atribuição de recursos limitados, utilizando uma coleção de elementos organizados ou ordenados por uma só propriedade, de tal forma que cada um deles seja executado passo a passo de cima para baixo, em que tenha um só “predecessor” e um só “sucessor”. A próxima figura apresenta um exemplo deste tipo de lógica.

Exemplo de lógica linear

 2.2.2 - Estruturada

A técnica da lógica estruturada é a mais usada pelos profissionais de processamento eletrônico de dados. Possui características e padrões particulares, os quais diferem dos modelos das linguagens elaboradas por seus fabricantes. Tem como pontos fortes para elaboração futura de um programa, produzi-lo com alta qualidade e baixo custo. 

A sequência, a seleção e a iteração são as três estruturas básicas para a construção do diagrama de blocos. A figura seguinte apresenta um exemplo do tipo de lógica estruturada.

Exemplo de lógica estruturada

2.2.3 - Modular


A técnica da lógica modular deve ser elaborada como uma estrutura de partes independentes, denominada de módulos, cujo procedimento é controlado por um conjunto de regras. Segundo James Martin, suas metas são as seguintes:

  • Decompor um diagrama em partes independentes; 
  • Dividir um problema complexo em problemas menores e mais simples; 
  • Verificar a correção de um módulo de blocos, independentemente de sua utilização como uma unidade em um processo maior. 
A modularização deve ser desenvolvida, se possível, em diferentes níveis. Poderá ser utilizada para separar um problema em sistemas, um sistema em programas e um programa em módulos. A figura seguinte apresenta um exemplo do tipo de lógica modular.

Exemplo de lógica modular

2.2.4 - Diagrama de Chapin

O diagrama foi desenvolvido por Nassi e Shneiderman e ampliado por Ned Chapin, os quais resolveram substituir o diagrama de blocos tradicional por um diagrama de quadros que permite apresentar uma visão hierárquica e estruturada da lógica do problema. A grande vantagem de usar este tipo de diagrama é a representação das estruturas que tem um ponto de entrada e um ponto de saída e são compostos pelas estruturas básicas de controle de sequência, seleção e repetição. Enquanto é difícil mostrar o embutimento e a recursividade com o diagrama de blocos tradicional, torna-se mais simples mostrá-los com o diagrama de Chapin, bem como codifica-los futuramente na conversão de pseudocódigos (português estruturado) ou qualquer linguagem de programação estruturada. A figura seguinte apresenta um exemplo do tipo de diagrama de Chapin para o algoritmo do cálculo da média escolar. Este tipo de diagrama também é denominado diagrama de Shneiderman ou diagrama N-S. 

Exemplo de diagrama de Chapin

2.2.5 - Português Estruturado

Como foi visto até agora, o diagrama de blocos é a primeira forma de notação gráfica, mas existe outra, que é uma técnica narrativa denominada pseudocódigo, também conhecida com português estruturado ou chamada por alguns de portugol. 

Esta técnica de algoritmização é baseada em uma PDL – Program Design Language (Linguagem de Projeto de Programação). Neste trabalho, estamos apresentando-a em português. A forma original de escrita é conhecida como inglês estruturado, muito parecida com a notação da linguagem PASCAL. A PDL (neste caso, o português estruturado) é usado como referência genérica para uma linguagem de projeto de programação, tendo como finalidade mostrar uma notação para elaboração de algoritmos, os quais serão utilizados na definição, criação e desenvolvimento em uma linguagem computacional (Cobol, Fortran, C, Pascal, Delphi, Visual-Basic, etc.). A seguir vemos um exemplo deste tipo de algoritmo.

Comentários

Postagens mais visitadas deste blog

Atividades Phyton com Estrutura de Repetição

Leitura e Escrita de Registros