Você está na página 1de 31

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Reviso e Discusso da Norma ISO 5807 - 1985 (E) Proposta para Padronizao Formal da Representao Grfica da Linha de Raciocnio Lgico Utilizada no Desenvolvimento da Programao de Computadores a ser Definida no Brasil.

JOS AUGUSTO NAVARRO GARCIA MANZANO


Professor na rea de Tecnologia da Informao (TI) leciona as disciplinas de Algoritmos, Lgica de Programao, Estrutura de Dados, Linguagens de Programao (PASCAL, C, C++, JavaScript, entre outras), Tpicos Avanados de Processamento de Dados, Engenharia de Software, Arquitetura de Computadores, Engenharia da Informao. Atua profissionalmente nas instituies de ensino superior: Faculdade Cantareira (So Paulo SP), Faculdades Interao Americana (So Bernardo do Campo SP) e Universidade Mogi das Cruzes (So Paulo SP). Possui mestrado em Administrao de Empresas e autor de vrios ttulos na rea de TI publicados pela Editora rica Ltda. Email : augusto_manzano@hotmail.com

RESUMO
Este texto apresenta uma proposta de modelo grfico para a representao da linha de raciocnio lgico do conceito de programao de computadores. Tem por objetivo discutir, revisar e ampliar alguns detalhes existentes na norma ISO 5807-1985 (E), que no so apresentados de forma aprofundada.

ABSTRACT
This paper presents a graphic model representing the computer logical reasoning of programming concept. Its objective is to discuss, revise and enlarge some existent details in the norm ISO 5807-1985 (E) that are not presented in a deep way.

PALAVRAS-CHAVE : fluxograma, diagrama de bloco, diagrama de blocos, , diagramas de blocos, diagrama de fluxo de programa, lgica de programao de computadores, programao de computadores.

INTRODUO Este artigo tem por objetivo discutir e propor um formato padronizado para a elaborao e documentao da representao grfica do processo de

desenvolvimento lgico de programao de computadores para linguagens de programao de computadores de primeira, segunda e terceira geraes, tomando-se

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

por base os parmetros apresentados na norma ISO1 5807-1985 (E): Information processing - Documentation symbols and conventios for data, program and system flowcharts, programa network charts and system resources charts (Processamento de Informao Documentao de smbolos e conveno de dados, diagramas de fluxo de programa e sistemas, diagramas de programas de redes e diagramas de recursos de sistemas). Deseja-se com este trabalho sugerir algumas regras (no definidas na referida norma) que venham a formalizar e facilitar o processo de documentao grfica da representao da linha de raciocnio lgico utilizada na elaborao da programao de computadores, segundo luz da norma ISO 5807-1985 (E). Neste trabalho, no se questiona o fato de a norma estar correta ou incorreta (ou mesmo desatualizada), mas, sim, o fato de apresentar alguns pontos a serem considerados pelos profissionais da rea de desenvolvimento de software, principalmente pelos programadores de computador. O fator que incentivou a elaborao desta proposta de trabalho decorre de dois pontos bsicos: o primeiro pela ocorrncia do fato de a ltima reviso da norma ISO 5807 ter ocorrido em 1985 e no ter sido mais reavaliada; o segundo pelo fato de apesar de, existir uma norma internacional, esta se apresenta de forma bastante genrica e no foca de maneira clara os critrios para a elaborao de diagramas que representem a linha de raciocnio lgico a ser utilizada por um programador de computadores. Assim sendo, o escopo de discusso deste artigo est focado nos pontos relacionados elaborao dos diagramas program flowcharts (diagramas de fluxo de programa) e data flowcharts (diagrama de fluxo de dados), que sero utilizados em conjunto para a representao grfica da linha de raciocnio a ser utilizada na elaborao da programao de computadores. Os demais pontos existentes e comentados na norma ISO 5807-1985 (E), tais como: system flowcharts (diagrama de fluxo de sistema) program network charts
1

International Organization for Standardization.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

(diagrama de programas de rede) e system resources charts (diagrama de recursos de sistema) no sero aqui discutidos, por fugirem do escopo pretendido, deixando-os como uma proposta para um estudo mais aprofundado a ser realizado. Sendo assim, neste artigo so apresentados pontos relacionados s tcnicas de diagramao do processo de representao grfica da lgica de programao de computadores no que tange o uso dos conceitos de: seqncia; tomada de deciso simples, composta e seleo; utilizao de laos de repetio; uso dos conceitos de procedimentos/funes com ou sem passagens de parmetro, tanto por valor quanto por referncia; uso de operaes com arquivos. Espera-se com esta proposta fornecer aos profissionais da rea de

desenvolvimento de programas de computadores subsdios para a elaborao padronizada e formal da representao grfica da lgica de programao de computadores.

HISTRICO A norma ISO 5807-1985 (E) para a definio e elaborao de diagramas de fluxos para a rea de desenvolvimento e projeto de software a consolidao de duas normas anteriores: ISO 10282 e ISO 26363 (ISO 5807, 1985, p. 1), ambas publicadas em 1973. Em particular, a norma ISO 1028 foi editada a partir da norma ANSI4 X3.55 de 1970. Segundo informao da prpria norma ISO 5807-1985 (E), a definio e elaborao de diagramas para a representao grfica da linha de raciocino lgico a ser adotada no deve restringir o uso de aplicaes ou solues particulares, uma vez que pode ocorrer a existncia de vrios tipos de solues para os vrios problemas de processamento de informao (ISO 5807, 1985, p. 1). Nota-se, com base no exposto,
Information processing - Flowchart symbols. Information processing - Conventions for incorporating flowchart symbols in flowcharts. 4 American National Standards.
2 3

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

que a norma ISO 5807-1985 (E) sugere o uso de alguns critrios que devem ser adaptados segundo as necessidades existentes. Se de um lado, esta postura fornece a liberdade de trabalho desejada, por outro, acaba dando margem existncia de problemas de interpretao da prpria norma. Dentro deste aspecto e da liberdade de poder definir ou considerar situaes particulares, que este artigo prope alguns padres bsicos na elaborao da representao grfica, no sentido de que haja uma maior conformidade na sua elaborao e maior rigor na definio padronizada de sua apresentao visual. Dessa forma, ficar mais fcil a comunicao na elaborao de projetos, nos quais vrias pessoas estaro envolvidas, mesmo que sejam de regies geogrficas diferentes. importante ressaltar que a norma ISO 5807-1985 (E) faz meno definio de cinco tipos de representao grfica: program flowcharts (diagrama de fluxo de programas), data flowcharts (diagrama de fluxo de dados), system flowcharts (diagrama de fluxo de sistemas) program network charts (diagrama de programas de rede) e system resources charts (diagrama de recursos de sistema) no sero discutidos. Para a proposta deste artigo utilizo-se como base de estudo o uso de apenas dois dos cinco modelos propostos, a saber: program flowcharts (diagramas de fluxo de programa) e data flowcharts (diagrama de fluxo de dados). Os demais modelos no sero discutidos por estarem fora do contexto pretendido. Os smbolos grficos utilizados com os program flowcharts e data flowcharts possuem como caracterstica demonstrar de forma clara a linha de raciocnio lgico utilizada por um programador de computadores, de forma que seja fcil a quem no efetuou a tarefa de programao entender o que se pretende que aquele programa faa. Segundo (PRESSMAN, 1995, p. 453), um quadro6 vale mil palavras, mas importante diferenciar qual quadro e quais mil palavras se pretende realmente
5 6

Flowchart Symbols and their Usage in Information Processing. O termo quadro est sendo utilizado no sentido figurado para representar o termo smbolo.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

referenciar. A importncia da representao grfica da linha de raciocnio lgico considerada tambm por BERG & FIGUEIR (1998, p. 18), quando afirmam que as representaes grficas implicam aes distintas, deixando claro que tal propriedade facilita o entendimento das idias (...) e justifica a sua popularidade. A importncia da representao grfica da lgica de programao de um computador no algo novo, pois j havia sido apresentada por GOLDSTEIN & VON NEUMANN (1947). Verifica-se, que apesar da concordncia de alguns autores no sentido de reconhecer o valor do instrumento grfico na representao da linha de raciocnio lgico de um programa, no existe uma definio padronizada para seu desenvolvimento, o que acaba por gerar diversas outras formas de definio e leva a incorrer em muitos erros de definio. PRESSMAN (1995, p. 453 adverte que se as ferramentas grficas forem mal utilizadas, a figura errada pode levar ao software errado. Parte da ocorrncia da m interpretao e uso das ferramentas de representao grfica decorrem do fato de a norma ISO 5807-1985 (E) ser um instrumento apenas informativo e no regulador do processo de criao e uso dos smbolos grficos nos projetos de desenvolvimento da lgica de programao a ser utilizada. DEFINIO CONCEITUAL Um dos pontos que pode gerar conflito de definio entre os profissionais de desenvolvimento de software no nvel de programao de computadores e no nvel de anlise de sistemas o fato de utilizar o termo fluxograma para generalizar o uso de toda e qualquer forma de representao grfica de atividades relacionadas ao projeto de software. Esta generalizao decorre, talvez, do fato de o termo flowchart ter sido traduzido para o idioma portugus como fluxograma. Nesse sentido, tem-se como flow o conceito mais puro associado ao termo fluxo e chart o conceito mais puro associado

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

ao termo diagrama. Dessa forma, a traduo mais adequada para o termo flowchart7 seria diagrama de fluxo. Assim sendo, a definio na norma ISO 5807-1985 (E) de flowcharts program e data flowcharts poderia ser respectivamente em idioma portugus traduzida como: diagrama de fluxo de programas e diagrama de fluxo de dados. No sentido de distanciar a definio do termo fluxograma do termo diagrama de fluxo de programas e diagrama de fluxo de dados e assim evitar conceituaes equivocadas, fica estabelecido o termo diagrama de blocos, aceito e apontado por PRESSMAN (1998, p. 453). O conceito do termo bloco do ponto de vista da programao de computadores bem definido segundo GUIMARES & LAGES (1994, p. 22), quando afirmam que um bloco pode ser definido como um conjunto de comandos com uma funo bem definida. Segundo definio da norma ISO 5807-1985 (E), os conceitos de diagrama de fluxo de programas (flowcharts program) e diagrama de fluxo de dados (data flowcharts) podem ser, resumidamente, entendidos como: Data flowcharts representao grfica do formato da estrutura de dados a ser utilizada na soluo de um determinado problema (ISO 5807, 1985, p. 1); Program flowcharts representao grfica da seqncia de operaes executada por um programa de computador (ISO 5807, 1985, p. 2).

No contexto prtico das atividades de documentao grfica da linha de raciocnio lgica de um programa, ocorre o fato de parte dos smbolos existentes para cada categoria de diagramas serem naturalmente utilizados em conjunto. Dessa forma, fica um pouco difcil no projeto lgico de um programa de computador

7Um

sinnimo para o termo flowchart em ingls o termo flow diagram (http://www.its.bldrdoc.gov/fs-1037 Federal Standard 1037C National Communications System).

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

diferenciar as categorias de smbolos em separado, pois, alm de estabelecer uma seqncia de operaes a serem executadas (flowcharts program), um programa necessita efetuar o tratamento dos dados de entrada e sada (data flowcharts). neste enfoque operacional que este artigo visa a apresentar e sugerir uma conduta de documentao mais rgida e definida para a elaborao de diagramas de blocos direcionados para representar a linha de raciocnio lgico na elaborao de programas de computadores.

SIMBOLOGIA GRFICA Na figura 1 so apresentados apenas os smbolos mais importantes que representam a seqncia de operaes de um programa (program flowcharts) e o de acesso ao caminho dos dados (data flowcharts) na definio da estrutura grfica de um diagrama de blocos. com relao utilizao destes smbolos que est sendo feita esta contribuio.

Smbolo

Significado
Terminal Terminator

Descrio
Este smbolo representa a definio de incio e fim do fluxo lgico de um programa (ISO 5807, 1985, p. 9). Tambm utilizado na definio de sub-rotinas de procedimento ou funo.

Entrada manual Manual input

Este smbolo representa a entrada manual de dados, normalmente efetuada em um teclado conectado diretamente ao console do computador (ISO 5807, 1985, p. 3).

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Smbolo

Significado
Processamento Process

Descrio
Este smbolo representa a execuo de uma operao ou grupo de operaes que estabelecem o resultado de uma operao lgica ou matemtica (ISO 5807, 1985, p. 3).

Exibio Display

Este smbolo representa a execuo da operao de sada visual de dados em um monitor de vdeo conectado ao console do computador (ISO 5807, 1985, p. 3).

Documento Document

Este smbolo representa a execuo da operao de sada de dados em um documento emitido por uma impressora na forma de relatrio (ISO 5807, 1985, p. 3).

Dados Data

Este smbolo representa oficialmente dados de uma forma genrica (ISO 5807, 1985, p. 2). Tipicamente associado a operaes genricas de entrada e sada de dados, desde que identificados.

Deciso Decision

Este smbolo representa o uso de desvios condicionais para outros pontos do programa de acordo com situaes variveis (ISO 5807, 1985, p. 4).

Preparao Preparation

Este smbolo representa a modificao de instrues ou grupo de instrues existentes em relao ao de sua atividade subseqencial (ISO 5807, 1985, p. 4).

Processo predefinido Predefined process

Este smbolo representa definio de um grupo de operaes estabelecidas como uma sub-rotina de processamento anexa ao diagrama de blocos (ISO 5807, 1985, p. 4).

Conector Connector

Este smbolo representa a entrada ou sada em outra parte do diagrama de blocos. Pode ser usado na definio de quebras de linha e na continuao da execuo de decises (ISO 5807, 1985, p. 9).

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Smbolo

Significado
Linha tracejada Dashed line

Descrio
Este smbolo representa uma alternativa na definio do relacionamento entre duas operaes do diagrama de blocos. Tambm pode ser usado na definio de rea de comentrios (ISO 5807, 1985, p. 7).

Linha Line

Este smbolo representa a ao de vnculo existente entre os vrios smbolos de um diagrama de blocos. Normalmente possui a ponta de uma seta indicando a direo do fluxo de ao (ISO 5807, 1985, p. 6).

Figura 1 Tabela de smbolos para a definio de diagramas de blocos - Fonte: norma ISO 5807-1985 (E).

Os smbolos: dados, processamento, preparao, linha tracejada, linha, conector so categorizados segundo a norma ISO 5807-1985 (E) como smbolos para a utilizao em diagramas de fluxo de programas e diagrama de fluxo de dados. J os smbolos: armazm de dados, documento, entrada manual, exibio so utilizados apenas para a representao do fluxo de dados do programa. Os smbolos processo predefinido e deciso so utilizados para a representao do fluxo lgico de um programa. da juno dessas duas categorias de smbolos que se define a criao e uso de um diagrama de blocos. importante ressaltar que para a definio do desenho de um diagrama de blocos pode-se utilizar um gabarito (figura 2) que normalmente possui o conjunto de smbolos bsicos necessrios para o devido uso. Os gabaritos possuem tambm, dependendo do modelo, alguns smbolos que no esto definidos na norma ISO 5807-1985 (E) ou, muitas vezes, no apresentam smbolos que esto definidos na norma ISO 5807-1985 (E).

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Figura 2 Gabarito para o desenvolvimento de diagramas de blocos - Fonte: Rapidesign.

Para melhor ilustrar esta abordagem, sero apresentados os demais smbolos existentes no gabarito representado pela figura 2, os quais no foram comentados anteriormente, mas que so previstos de uso, segundo a norma ISO 5807-1985 (E). A figura 3 mostra os referidos smbolos. A figura 2 possui alguns smbolos que no foram apresentados nas figuras 1 e 3, pois os mesmos no se encontram definidos na norma ISO 5807-1985 (E). Vale ressaltar um pequeno detalhe com relao ao smbolo processo predefinido, que para ser desenhado utiliza como base o smbolo processamento.

Smbolo

Significado Operao manual Manual operation

Descrio Este smbolo representa a execuo de qualquer operao que poa ser realizada por seres humanos, e que no estejam previstas em nenhum outro smbolo (ISO 5807, 1985, p. 4).

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

10

Reviso e Discusso da Norma ISO 5807 1985(E) Smbolo Significado Descrio

Jos Augusto Navarro Garcia Manzano

Linha de comunicao Este smbolo representa a transferncia automtica de Communication link informaes ou dados entre locais diferentes, por meio de linhas de comunicao (ISO 5807, 1985, p. 7). Fita perfurada Punched tape Este smbolo representa o uso de fita de papel ou fita plstica utilizada como um meio de armazenamento de programa e dados. Mecanismo de armazenagem de pouco uso (ISO 5807, 1985, p. 3). Carto Card Este smbolo representa o uso de cartes perfurados de cartolina utilizado como meio de armazenamento de programa e dados. Mecanismo de armazenagem de pouco uso (ISO 5807, 1985, p. 3). Armazm de dados Stored data Este smbolo representa a definio de acesso de abertura, fechamento, leitura e escrita em um

determinado arquivo de dados a ser realizada por um programa (ISO 5807, 1985, p. 2).
Figura 3 Tabela de smbolos para a definio de diagramas de blocos - Fonte: norma ISO 5807-1985 (E).

SUGESTO DE REGRAS PARA COMPLEMENTAO DA NORMA ISO 5807-1985 (E)

A norma ISO 5807-1985 (E) apresenta alguns parcos exemplos de representaes grficas da forma de uso das cinco categorias de diagrama que aborda. Nenhum dos exemplos indicados aprofunda-se em um uso mais formal dos smbolos. Com base nessa ocorrncia, abre-se o espao para a contribuio deste artigo. Antes de exemplificar o uso especfico de algumas situaes relacionadas ao processo de representao grfica da linha de raciocnio lgico de um programa de computador, necessrio considerar algumas convenes, baseada na prpria norma ISO 5807-1985 (E), bem como por ela daptada:

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

11

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

os smbolos de identificao grfica representam sempre uma operao ou conjunto de operaes similares, podendo ser identificados por um rtulo relacionado prpria ao do smbolo em uso, quando necessrio;

os smbolos devem ser conectados uns aos outros por linhas de setas que mostrem explicitamente a direo do fluxo de programa a ser utilizado;

a estrutura visual do diagrama de blocos deve a princpio estar orientada no sentido de cima para baixo, da direita para a esquerda. No entanto, dependendo da situao este critrio pode ser alterado, o que leva a necessidade de manter-se as linhas de seta indicando a direo do fluxo;

a definio de inicializao e finalizao de um diagrama de bloco ocorrer com o uso do smbolo terminal, devidamente identificado;

as operaes de entrada de dados executadas por um ser humano sero genericamente representadas com o smbolo entrada manual;

as operaes de sada de dados sero genericamente definidas com o smbolo exibio, considerando o fato de estar em uso um monitor de vdeo. Exceo a esta regra ocorrer quando da definio de sada de dados em formato de relatrio, definidas pelo smbolo documento;

as operaes de entrada e sada no definidas com os smbolos entrada manual, exibio e documento sero definidas com o smbolo dados;

a definio das variveis nas operaes de entrada e sada sero definidas nos smbolos apropriados. Quando houver mais de uma varivel a ser utilizada, estas estaro definidas por vrgulas;

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

12

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

as operaes de processamento matemtico e lgico estaro definidas com o uso do smbolo processamento. Quando houver mais de uma operao a ser definida em um mesmo smbolo, estas devero estar separadas por linhas de ao;

as operaes de tomada de deciso para decises simples, decises compostas e laos condicionais sero representadas pelo smbolo deciso, que conter internamente a definio da condio a ser avaliada logicamente. Cada smbolo de deciso poder possuir a definio de apenas uma condio lgica. considerada uma condio lgica a definio de uma condio ou de um conjunto de condies vinculadas por um operador lgico de conjuno (conceito e) ou disjuno (conceito ou);

as operaes de laos incondicionais (laos iterativos) sero representadas com o smbolo preparao, uma vez que este smbolo permite a realizao de um grupo de tarefas relacionadas;

em relao definio de sub-rotinas ser utilizado o smbolo processo predefinido. Este smbolo dever estar identificado com um rtulo que estar associado a outro diagrama de bloco interdependente ao programa e relacionado por um smbolo terminal;

as operaes que necessitarem do uso de conexo utilizaro o smbolo conexo. Este smbolo poder ser usado na finalizao de operaes de decises ou na identificao de vnculos entre partes de um programa e, nesse caso, devero estar identificados com rtulos alfanumricos;

fica eleito o smbolo processamento como um curinga, podendo representar qualquer ao lgica definida ou no, desde que a operao seja devidamente identificada por um rtulo descritivo. Excees aos smbolos deciso e preparao que representam operaes bem definidas e no sero substitudos por qualquer outro smbolo.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

13

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Alm das sugestes anteriormente propostas, podero surgir ainda alguns pontos a serem definidos. Demais critrios que se fizerem necessrios e que no foram aqui sugeridos devero ser analisados e definidos em particular pela gerncia de cada equipe de desenvolvimento.

REPRESENTAES GRFICAS Sero, a seguir, apresentadas algumas situaes ilustrativas em relao ao uso do instrumento grfico, de forma que possa vir a facilitar a montagem visual do processo da linha de raciocnio da lgica de programao a ser utilizada. No foco deste artigo discutir a funcionalidade do princpio de execuo lgica de um computador e de seus detalhes de operao. Objetiva-se apenas demonstrar como representar graficamente as aes lgicas de um computador na forma mais abrangente possvel, de maneira que se possa utilizar a tcnica de diagramao com qualquer tipo de linguagem de programao de computadores.

Incio

Operao 1

Operao 2

Operao n

Fim
Figura 4 Representao de uma seqncia simples de operaes.

A figura 4 apresenta um modelo de execuo seqencial de passos a serem processados por um computador. Nota-se que para esta representao grfica utiliza-

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

14

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

se o smbolo terminal com a identificao da ao de incio e fim da ao de um programa de computador. O smbolo processamento usado na figura 4 ocorre de forma genrica representando qualquer tipo de operao. A identificao da operao de incio e fim de um diagrama de bloco obrigatria, pois o smbolo terminal tambm utilizado para representar o incio e o fim da execuo de uma sub-rotina. Assim sendo, torna-se necessrio identificar corretamente a sua ao. A identificao utilizada no smbolo terminal ou demais smbolos poder ocorrer em qualquer idioma. Outro ponto a ser considerado a definio das linhas de ligao representadas por setas, as quais possuem a finalidade de indicar a direo que o fluxo do programa dever seguir, alm de estabelecer o vnculo de ao entre as vrias operaes que um programa de computador deve executar.

no Condio

sim

Operao a ser executada quando condio verdadeira

Figura 5 Representao de uma tomada de deciso simples.

A figura 5 caracteriza a ao de uma tomada de deciso simples. Nesse caso, quando a condio for verdadeira, ocorrer o desvio do fluxo do programa para a ao identificada como verdadeira e posterior ao de encontro com o smbolo conector. No caso de a condio ser falsa, o desvio do fluxo do programa ocorrer pelo lado identificado como no, o qual automaticamente ir ao encontro do smbolo
THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

15

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

conector para que o fluxo do programa tenha continuidade. Observe o uso do smbolo conector para estabelecer o ponto de continuidade do fluxo do programa. Torna-se fundamental em operaes de tomada de deciso simples ou composta identificar qual o lado do diagrama representa a ao verdadeira e a ao falsa. Isto se faz necessrio, uma vez que no existe um lado predefinido para a ao verdadeira ou falsa. A figura 6 caracteriza a ao de uma tomada de deciso composta. Nesse caso, quando a condio for verdadeira ocorrer o desvio do fluxo do programa para a ao identificada como verdadeira. Caso a condio seja falsa, ser executada a ao identificada como falsa. Torna-se fundamental em operaes de tomada de deciso simples ou composta identificar qual o lado do diagrama representa a ao verdadeira e a ao falsa. Isso se faz necessrio, uma vez que no existe um lado predefinido para a ao verdadeira ou falsa.

no Condio

sim

Operao a ser executada quando condio falsa

Operao a ser executada quando condio verdadeira

Figura 6 Representao de uma tomada de deciso composta.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

16

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

no Condio

sim Operao a ser executada enquanto a condio verdadeira

Figura 7 Representao de lao condicional do tipo enquanto...faa.

A figura 7 apresenta o formato do lao de repetio condicional do tipo enquanto...faa. Este tipo de lao executa as operaes a ele subordinadas enquanto a condio for verdadeira. Aps a condio se tornar falsa, o lao encerrado e fluxo de ao do programa continua sua execuo fora do lao de repetio. A figura 8 apresenta o formato do lao de repetio condicional do tipo repita...at que. Esse tipo de lao executa as operaes a ele subordinadas at que a condio seja verdadeira. Aps a condio se tornar verdadeira, o lao encerrado e o fluxo de ao do programa continua sua execuo fora do lao de repetio.

Operao a ser executada at que a condio seja verdadeira

no Condio

sim

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

17

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Figura 8 Representao de lao condicional do tipo repita...at que.

Contador

Operao a ser executada

Figura 9 Representao de lao incondicional do tipo para.

A figura 9 apresenta o formato do lao de repetio incondicional do tipo para. Este tipo de lao executa as operaes a ele subordinadas por uma varivel de controle iniciada por um valor, finalizado por outro valor diferente do valor inicial, podendo ser maior ou menor. A operao de incremento ou decremento efetuada por um contador de passo. Supondo um contador crescente de 1 a 10 com passo 1 positivo, sugere-se escrever na parte interna do smbolo preparao a descrio I 1, 10, 1; no qual I a varivel contador e as demais informaes so respectivamente a inicializao da contagem, a finalizao da contagem e o incremento entre o incio e o fim da contagem. Se for utilizado um contador decrescente de 10 a 1 com passo 1 negativo sugere-se utilizar a descrio I 10, 1, -1. As figuras 7, 8 e 9 sugerem uma forma de representao de laos de repetio mais intimamente focada no contexto lgico da execuo do cdigo de programa em um computador. No entanto, na norma ISO 5807-1985 (E), sugerido o uso da estrutura grfica representada pela figura 10.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

18

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Nome do lao Condio de finalizao

Nome do lao

Aes

Aes

Nome do lao

Condio de finalizao Nome do lao

Figura 10 Estrutura de lao, segundo a norma ISO 5807-1985 (E), pg 6.

A forma representada na figura 10 determina o uso da forma grfica de representao dos laos do tipo enquanto ou tipo para8 (desenho da esquerda) e do tipo repita (desenho da direita). Nota-se apenas uma forma de representao grfica sem o real vnculo com a representao do funcionamento mecnico dos tipos de laos. Representar os laos na forma mecnica, possibilita uma definio focada na funcionalidade do lao e no em uma mera representao do lao em si. A figura 11 demonstra o critrio de definio da chamada de uma sub-rotina com o uso do smbolo processo predefinido, na qual indicado o nome da sub-rotina no programa principal. Ao lado direito encontra-se a definio da rotina secundria. Note as identificaes utilizadas nos smbolos de terminal. A figura 12 demonstra o critrio de definio da chamada de uma sub-rotina com o uso do conceito de passagem de parmetro por valor, representado pelos dados indicados entre parnteses. Note no diagrama da direita a identificao no

Para representar um lao do tipo para necessrio considerar no lugar da condio a definio de um contador.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

19

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

smbolo de terminal do nome da sub-rotina e dos parmetros definidos entre parnteses.


Incio Alfa

Alfa

Operao da sub-rotina

Fim

Retorna

Figura 11 Chamada e definio de uma sub-rotina simples.

Incio

Alfa(A,B)

Alfa(A,B)

Operao da sub-rotina

Fim

Retorna

Figura 12 Chamada e definio de uma sub-rotina com passagem de parmetro por valor.

Incio

Alfa(A,B)

Alfa(A,B)

Operao da sub-rotina

Fim

Retorna(A,B)

Figura 13 Chamada e definio de uma sub-rotina com passagem de parmetro por referncia.

A figura 13 demonstra o critrio de definio da chamada de uma sub-rotina com o uso do conceito de passagem de parmetro por referncia. Note no diagrama da direita, alm da identificao no smbolo de terminal do nome da sub-rotina e dos

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

20

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

parmetros definidos entre parnteses, a indicao da definio do rtulo Retorna(A,B), demonstrando a passagem de parmetro por referncia.

Incio

Beta

Beta

Operao da funo

Fim

Retorna Beta

Figura 14 Chamada e definio de uma funo simples.

A figura 14 demonstra o critrio de definio da chamada de uma sub-rotina de funo, na qual indicado o nome da funo numa operao de processamento (por exemplo) e ao lado direito se encontra a definio da rotina secundria. Note as identificaes utilizadas nos smbolos de terminal. Perceba que, ao indicar a finalizao de uma funo, utiliza-se junto do rtulo de identificao Retorna o nome da prpria funo.
Incio Beta(A)

Beta(A)

Operao da funo

Fim

Retorna Beta

Figura 15 Chamada e definio de uma funo com passagem de parmetro por valor.

A figura 15 demonstra o critrio de definio da chamada de uma funo com o uso do conceito de passagem de parmetro por valor, representado pelo dado

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

21

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

indicado entre parnteses. Note no diagrama da direita a identificao no smbolo de terminal do nome da funo e do parmetro definidos entre parnteses. A figura 16 demonstra o critrio de definio da chamada de uma funo com o uso do conceito de passagem de parmetro por referncia, representado pelo dado indicado entre parnteses. Note no diagrama da direita a identificao no smbolo de terminal do nome da funo e do parmetro definido entre parntese, indicando a passagem de parmetro por referncia.

Incio

Beta(A)

Beta(A)

Operao da funo

Fim

Retorna Beta(A)

Figura 16 Chamada e definio de uma funo com passagem de parmetro por referncia.

Condio 1

sim

Ao executada, caso a condio 1 seja verdadeira

no

Condio 2

sim

Ao executada, caso a condio 2 seja verdadeira

no

Condio N

sim

Ao executada, caso a condio N seja verdadeira

no

Ao a ser executada, caso nenhuma condio seja verdadeira

Figura 17 Representao da estrutura de seleo case.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

22

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

A figura 17 representa visualmente o funcionamento lgico da estrutura de controle lgico case existente em vrias linguagens de programao de computadores. Esse tipo de estrutura lgica tem por finalidade desviar o fluxo de funcionamento do programa para uma ao e em seguida desviar o fluxo do programa para um ponto de conexo comum, representado pelo smbolo conector. Se a condio vlida (condio verdadeira), a ao definida aps a condio realizada e o fluxo de ao do programa posicionado aps a execuo da ao estabelecida no ponto de conexo comum (representado pelo smbolo conector), que visa encerrar a ao da estrutura case. No caso de uma determinada condio ser falsa, o controle do fluxo de programa desviado para a condio seguinte, que repetir o mesmo processo de funcionamento at chegar no ponto de conexo comum.

Figura 18 Representao das operaes de abertura e fechamento de arquivos.

A figura 18 demonstra as operaes de abertura e fechamento de arquivos de dados, utilizando-se o smbolo armazm de dados. Em casos que envolvam a manipulao de mais de um arquivo de dados, utiliza-se sempre um smbolo de abertura e fechamento para cada arquivo em particular.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

23

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Para a pgina 1.2

Da pgina 1.1

Figura 19 Representao de indicaes de conexo de pginas.

A figura 19 apresenta um exemplo de conexo da linha de raciocnio lgico entre pginas, sugerido na norma ISO 5807-1985 (E), que dispensa qualquer comentrio, pois apresenta-se de forma clara e objetiva. Vale ressaltar que a indicao A dentro dos conectores apenas uma referncia ao ponto de conexo, podendo ser utilizada para esta representao outras letras e mesmo nmeros. Outro detalhe com o uso de conectores a possibilidade de representarem conexes na mesma pgina. Nesse caso, utiliza-se apenas os conectores, suprimindo a linha tracejada e o colchete de discrio do ponto de conexo. ELEMENTOS AUXILIARES DE REPRESENTAO GRFICA

muito comum o uso de alguns elementos auxiliares de representao grfica ao contexto lgico do desenvolvimento da programao de computador, principalmente no que tange ao uso de operaes lgicas e matemticas. Nesse sentido, existem alguns operadores auxiliares, tais como: operadores aritmticos; operadores relacionais; operadores lgicos.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

24

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Alm dos operadores aritmticos, relacionais e lgicos existentes, h tambm a definio do uso de valores lgicos, quando do uso de avaliao condicional ou processamento no matemtico, tais como: verdadeiro; falso. A norma ISO 5807-1985 (E) no faz meno em relao ao uso desses elementos auxiliares de representao grfica. Assim sendo, cada profissional define critrios particulares, o que, muitas vezes, dificulta a comunicao entre elementos do mesmo grupo, ou em grupos distintos. Nesse sentido, necessrio definir um procedimento padro para o uso desses elementos de forma mais organizada e padronizada, conforme apresenta-se a seguir.

OPERADORES ARITMTICOS Os operadores aritmticos so responsveis pela representao das operaes matemticas a serem realizadas numa ao de processamento de clculo. A tabela seguinte sugere uma forma padro para a representao de cada operador aritmtico a ser utilizado.

Operador / div +

Operao Diviso Diviso Multiplicao Adio Subtrao Exponenciao Atribuio

Opera./Result. 5/2 5 div 2 34 5+7 8-3 23 X2 2,5 2 12 12 5 8 2

Resultado Obtm resultado do tipo real Obtm resultado do tipo inteiro Obtm resultado do tipo real ou inteiro Obtm resultado do tipo real ou inteiro Obtm resultado do tipo real ou inteiro Obtm resultado do tipo real ou inteiro Representa atribuio matemtica

Tomando-se por base a frmula de Bskara utilizada para efetuar o clculo da equao de segundo grau, tem-se como sua definio a estrutura seguinte.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

25

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

A frmula de Bskara (bem como qualquer outra frmula matemtica) dever ser representada formalmente para efeito de documentao em um diagrama de bloco num formato de expresses aritmtica a ser mencionada no smbolo de processamento, utilizando-se para a definio de cada parte da frmula uma linha de texto.
DELTA B 2 4 A C X1 (B + DELTA (1 / 2)) / (2 A) X2 (B DELTA (1 / 2)) / (2 A)

Note que, na forma de expresso aritmtica, o conceito de x (x linha) est representado pela definio da varivel X1 e o conceito de x (x duas linhas) est representado pela definio da varivel X2. A indicao da extrao da raiz quadrada definida na forma exponencial, considerando-se como expoente o inverso do ndice da raiz. E no sentido de representar a operao de exponenciao est sendo aplicado o smbolo . O sinal de atribuio representa a ao de transferncia do valor de uma operao a varivel definida sua esquerda. Este smbolo usado em substituio ao smbolo =, uma vez que o smbolo = usado para definir uma relao lgica, como descrito no item operadores relacionais. Quanto representao grfica no smbolo de processamento de um diagrama de bloco, as expresses podero ser desenhadas separadamente (Figura 20a) ou no mesmo smbolo (Figura 20b), respeitando-se a definio de uma linha de texto para cada expresso aritmtica.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

26

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

DELTA B 2 - 4 A C DELTA B 2 - 4 A C X1 (-B + DELTA (1 / 2)) / (2 A) X1 (-B + DELTA (1 / 2)) / (2 A) X2 (-B - DELTA (1 / 2)) / (2 A) X2 (-B - DELTA (1 / 2)) / (2 A)

Figura A

Figura B

Figura 20 Forma de representao de uma operao matemtica.

OPERADORES RELACIONAIS Os operadores relacionais so utilizados no estabelecimento das relaes lgicas existentes entre dois elementos de uma determinada condio para a efetivao de tomadas de deciso ou da execuo de laos de repetio lgicos. A tabela a seguir descreve os operadores existentes:

Smbolo = <> > < >= <=

Significado Igual a diferente de maior que menor que maior ou igual que menor ou igual que

O uso de um operador relacional ser sempre definido no smbolo de deciso em um diagrama de blocos, obedecendo estrutura sugerida na figura 21.

A= B

Figura 21 Representao do uso de operadores relacionais em uma condio.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

27

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

Os smbolos de representao dos operadores relacionais (=, <>, >, <, >=, <=) devem ser utilizados como descritos anteriormente, independentemente da forma que uma determinada linguagem de programao de computadores faa uso. importante considerar que a definio de diagramas de blocos deve ocorrer de forma genrica e peculiar. Assim sendo, a codificao de um programa em uma determinada linguagem de programao ocorre em funo do modelo da diagramao definida, e no o contrrio.

OPERADORES LGICOS Os operadores lgicos de conjuno (operador .e.) e de disjuno (operadores .ou. e .oue. ou exclusivo) possuem a capacidade de associar para uma avaliao lgica mais de uma condio para uma mesma tomada de deciso. O operador de negao (operador .no.) tem por finalidade representar a negao de uma determinada condio. Alguns exemplos de uso so apresentados na figura 22.

A = B .e. A = 7

A <> 3 .ou. B >= 8

.no. X <= 3

A > 3 .oue. B <> 4

Figura 22 Exemplos de uso de operadores lgicos.

VALORES LGICOS Operaes lgicas resultam em respostas verdadeiras ou falsas dependendo da condio lgica estabelecida. Nesse sentido, os valores lgicos falso e verdadeiro devero ser expressos, segundo um critrio particular:

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

28

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

valor verdadeiro representado pelos rtulos .VERDADEIRO. ou .V.; valor falso representado pelos rtulos .FALSO. ou .F.

O tipo de valor lgico explcito (.VERDADEIRO., .V., .FALSO. ou .F.) normalmente utilizado em operaes de processamento para representar a definio de um determinado valor lgico a uma determinada varivel. A figura 23 representa uma ao de definio de valor lgico a uma varivel.

X .VERDADEIRO.

X .V.

Figura 23 Definio de valor lgico.

O uso de valores lgicos tambm poder ocorrer em situaes de verificao de uma condio lgica na execuo de uma tomada de deciso ou ao de execuo de um lao de repetio. A figura 24 mostra um exemplo de uso de valor lgico em uma condio.

A <> .F.

Figura 24 Definio de valor lgico em uma condio

NOMENCLATURA Em relao ao uso de diagramas no processo de representao grfica da linha de raciocnio utilizada por um desenvolvedor, torna-se ideal formalizar uma nomenclatura (j utilizada em parte por alguns poucos profissionais) de identificao dessas estruturas.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

29

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

A figura 4 representa esquematicamente a estrutura de diagrama de bloco, o qual representa o processo seqencial de aes contnuas existentes entre as definies de incio e fim da execuo de um programa de computador. As figuras 5, 6, 7, 8 e 9 representam esquematicamente a estrutura de diagrama de blocos, os quais representam a ao da implicao de um desvio condicional (figuras 4, 5, 6 e 7) ou um desvio no condicional (figura 9). Tanto um desvio condicional como um desvio incondicional, efetuam um desvio momentneo do fluxo central do programa, para que um outro bloco adjacente de aes seja executado. Ao final da execuo das aes desse bloco adjacente o programa retorna automaticamente para o fluxo central de funcionamento. As figuras 11, 12, 13, 14, 15 e 16 representam esquematicamente a estrutura de diagramas de blocos (uso mais comum e provvel) ou diagramas de bloco (uso mais raro, quase impossvel). Ser considerado uma estrutura de diagramas de blocos, quando existir um conjunto de diagramas definidos e relacionados para um mesmo problema computacional, onde esse conjunto envolva a definio de vrios diagrama de blocos. O conceito diagramas de bloco mais improvvel de ser utilizado, pois dificilmente existira um conjunto de diagramas com definies de operaes meramente seqncias no estilo apresentado na figura 4. As formas mais comuns e utilizadas so os diagrama de bloco e os diagramas de blocos.

BIBLIOGRAFIA BERG, A. C. , FIGUEIR, J. P. Lgica de Programao. Canoas: ULBRA, 1998. 168 p. PRESSMAN, R. S. Engenharia de Software. So Paulo: Makron Books, 1995. 1056 p. GUIMARES, A. de M. , LAGES, N. A. C., Algoritmos e Estruturas de Dados 18. ed. Rio de Janeiro: Livros Tcnicos e Cientficos, 1994, 216 p.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

30

Reviso e Discusso da Norma ISO 5807 1985(E)

Jos Augusto Navarro Garcia Manzano

GOLDSTEIN, H. H. & VON NEUMANN, J. Planning and Coding Problems of an Electronic Computing Instrument. New York, In A. H. Taub (Eds.), von Neumann, J., 1947, Collected Works, McMillan. pp. 80-151.

THESIS, So Paulo, ano I, v. 1, p. 1-31, 1 Semestre. 2004

31

Você também pode gostar