Você está na página 1de 20

algoritmos

Prof. Mariangela Gomes Setti Prof. Richard Duarte Ribeiro CEFET-PR DAINF Curitiba-2002

Revisado

pelo

prof.

Robson

Ribeiro

Linhares

lgica aplicada - Prof. Richard p g . ( 2/20) arq.: 98613445.doc

1. Tipos Bsicos e Comandos Bsicos em Pseudocdigo


1.1. Constantes Uma constante um determinado valor fixo que no se modifica ao longo do tempo, durante a execuo de um programa. Constantes podem ser do tipo numrica, lgica ou literal. 1.1.1. Constantes Numricas Exemplos: a) 25; b) 3,14; c) 7,8 x 103; d) -15; e) 0,342; f) 10-9. 1.1.2. Constantes Lgicas um valor lgico, isto , que s pode ser falso ou verdadeiro. 1.1.3. Constante Literal Exemplos: a) Jos da Silva; b) 1234; (note que isto no uma constante numrica) c) X1Y2W3; d) *A!B?-/. 1.2. Variveis No Pseudocdigo, temos quatro tipos bsicos de dados que podem ser utilizados: Inteiro: qualquer nmero inteiro, negativo, nulo ou positivo. Ex.: -5; 0; 235 Real: qualquer nmero real, negativo, nulo ou positivo. Ex.: -5; 30,5; 0; 40 Caractere: qualquer conjunto de caracteres alfanumricos. Ex.: AB; xyz Lgico: conjunto de valores falso ou verdadeiro em proposies lgicas. 1.2.1. Declarao de variveis Toda varivel deve ser declarada conforme a sintaxe abaixo:

inteiro real caractere

identificador

Identificador o nome da varivel que est sendo declarada.

lgica aplicada - Prof. Richard p g . ( 3/20) arq.: 98613445.doc

lgico

OBS.: Os nomes de variveis devem comear com letra (maiscula ou minscula e podem ser seguidos por nmeros, letras , - ou _. Exemplos de declarao de variveis: inteiro x1; real A, B; caractere frase, NOME; lgico TEM; Exemplos de nomes de variveis invlidos: Varivel 1; 3x; x + y.

REGRA: D nomes significativos para variveis. Para identificar, por exemplo, uma varivel que receber a mdia aritmtica de notas de provas utilize o nome media (sem acento) ao invs de z, x ou k. 1.3. Comentrios Para melhorar a clareza do algoritmo deve-se fazer uso dos comentrios . Eles podem ser inseridos dentro de chaves. Ex.: {Isto um comentrio em pseudocdigo} Os mesmos podem ser colocados em qualquer ponto do algoritmo. 1.4. Comando de Atribuio Para a atribuio de um valor a uma varivel, usaremos o smbolo de atribuio . Sintaxe :
identificador

expresso

Exemplos: k 1; (a varivel k recebe o inteiro 1) COR verde; TESTE falso; A B; MDIA SOMA/N; 1.5. Operadores Aritmticos Alm os smbolos das quatro operaes bsicas (+, (unrio ou binrio), *, /) usaremos smbolos para raiz quadrada e exponenciao, por exemplo: a ou raiz(a) (a + b)n ou (a + b) ** n
lgica aplicada - Prof. Richard p g . ( 4/20) arq.: 98613445.doc

b 2 4ac Alm disso, usaremos os nomes das funes matemticas comuns. Por exemplo: sen(x); cos(x); tg(x); exp(x) ex, etc... abs(x) ou |x|; sinal (x) fornece 1, +1 ou zero conforme x int(x) inteiro de x Usaremos tambm como nomes de operadores: mod, por exemplo: m mod i : resto (mdulo) da diviso de m por i resto (m,i): idem div ou /, por exemplo, n div m: quociente da diviso inteira de n por m quociente (n,m): idem 1.6. Operadores Lgicos Dentro das relaes lgicas, usaremos os conectivos usuais: e ou para a conjuno ou ou para a disjuno (no exclusiva) no ou ~ ou para a negao 1.7. Operadores Relacionais Analogamente, usaremos os conectivos relacionais =, ( ou !=, ou <>), (ou >=), <, (ou <=) de significado bvio. 1.8. Hierarquia das Operaes As prioridades para as operaes mistas so dada pela tabela a seguir: 1 2 Parnteses e funes Expresses aritmticas: 1) +, (unrios) 2) * * 3) *, / 4) +, (binrios) Comparaes: <, , =, , >, no (~) e ( ) ou ( )

3 4 5 6

1.9. Comandos de entrada e sada Entrada

,
identificador

leia

lgica aplicada - Prof. Richard p g . ( 5/20) arq.: 98613445.doc

Ex.: leia NOTA,NUM;

Sada

escreva

i d e n t i f i c r e a l identificador

; ,

i expresso n t caractere e i r Onde: o

Identificador = varivel; Expresso = expresso matemtica; Caractere = conjunto de caracteres.

Ex.: escreva NOME:, N; escreva A, X, 35; escreva Valor Lido:, N, Resultado =, N**2+5; Fluxograma Fundamentalmente uma ferramenta de codificao. Apresenta de forma grfica a seqncia na qual os comandos ou blocos de processo so executados e a lgica de controle de execuo. Tradicionalmente tm servido para dois propsitos. Primeiro, tm sido usados como uma ferramenta de projeto de programa para planejar a lgica detalhada e complicada do programa. Segundo, tm sido usados como documentao do programa. Como os fluxogramas fornecem uma representao seqencial de programa e no uma representao hierrquica, no podem apresentar a estrutura do programa e as inter-relaes entre componentes procedurais. Smbolos de Fluxograma

Processo

Conector

Terminao

Deciso

Entrada/Sada

Documento

Memria Disco

de

Exibio

lgica aplicada - Prof. Richard p g . ( 6/20) arq.: 98613445.doc

1.10. Blocos Podem ser definidos como um conjunto de comandos com uma funo bem definida. Eles servem tambm para definir os limites onde as variveis declaradas em seu interior so conhecidas. So delimitados pelas palavras incio e fim.
incio

incio <declarao de variveis> <inicializao de variveis>

fim

<comandos> fim Pseudocdigo Fluxograma

1.11. Estrutura Seqencial um conjunto de comandos, separados por ponto e vrgula (;) que sero executados em uma seqncia linear de cima para baixo. C1; C2; C3; . . . . . Cn;

Onde Ci so comandos

C1; . C2; . .

Cn;

Pseudocdigo

Fluxograma

1.12. Estrutura Condicional A estrutura condicional permite a escolha do grupo de aes e estruturas a ser executado quando determinadas condies, representadas por expresses lgicas, so ou no satisfeitas. Estas estrutura delimitada pelo comando se e pela expresso fim se.

lgica aplicada - Prof. Richard p g . ( 7/20) arq.: 98613445.doc

1.12.1. Estrutura Condicional Simples Neste caso, a seqncia s executada se a condio for verdadeira.
F

se <condio> ento C1; C2; C3; . . . Cn; fim se

Onde Ci so comandos

V C1; .C2; . .

Cn;

Pseudocdigo

Fluxograma

1.12.2. Estrutura Condicional Composta Neste caso, a seqncia a ser executada (dentre duas seqncias) depender do resultado da condio. se <condio> ento C1; C2; C3; . . . Cn; seno D1; D2; D3; . . . Dn; fim se Pseudocdigo
V F

Onde Ci e Di so comandos

C1; .C2; . .

D1; .D2; . .

Cn;

Dn;

Fluxograma

lgica aplicada - Prof. Richard p g . ( 8/20) arq.: 98613445.doc

1.13. Estrutura de Repetio 1.13.1. Enquanto-faa Usado quando um conjunto de aes executado repetidamente enquanto uma determinada condio permanece vlida. (Expresso cujo resultado o valor lgico verdadeiro) Enquanto o valor da <condio> for verdadeiro, as aes dos comandos so executadas. Quando for falso, o comando abandonado. Se j da primeira vez o resultado falso, os comandos no so executados nenhuma vez. enquanto <condio> faa C1; C2; C3; . . . Cn; fim enquanto
F

Onde Ci so comandos

condi o

C1; .C2; . .

Cn;

Pseudocdigo

Fluxograma

1.13.2. Interrupo Caso seja necessria uma interrupo durante a execuo da repetio, pode-se faz-la atravs do comando interrompa. O mesmo far a execuo da repetio ser interrompida, sendo executada a seqncia de comandos que vier logo aps a expresso fim enquanto. Tal caso mostrado no segmento abaixo: enquanto <condio> faa seqncia A de comandos; se <condio> ento interrompa; fim se seqncia B de comandos; fim enquanto seqncia C de comandos; Neste trecho, durante a repetio, as seqncias A, e B de comandos sero executadas at que a condio para interrupo seja alcanada. Quando isso ocorrer (depois da execuo da seqncia A), o controle passar para a seqncia C. Note que depois da interrupo a seqncia B de comandos no ser executada.
lgica aplicada - Prof. Richard p g . ( 9/20) arq.: 98613445.doc

1.13.3. Repita-enquanto A semntica do comando a seguinte: os comandos C1, C2, ..., Cn so executados pelo menos uma vez. Quando a condio encontrada, ela testada. Se for verdadeira os comandos C1, C2, ..., Cn voltam a ser executados, se for falsa o comando seguinte ser executado. Em outras palavras, os comandos C1, C2, ..., Cn so reexecutados enquanto a condio for verdadeira. repita C1; C2; C3; . . . Cn; enquanto <condio> ; Onde Ci so comandos
C1; V .C2; . .

OBS: atente para o uso do ; ao final do comando de repetio.

F V F

condi o

1.13.4. Para-faa A semntica do comando a seguinte: v, i, l e p so variveis quaisquer e que, de acordo com as regras da programao estruturada, no devem ser modificadas nos comandos C1, C2, ..., Cn. para v de i at passo p faa C1; C2; C3; . . . Cn; fim para vv+p

v i F
condi o

C1; .C2; . .

Cn;

Pseudocdigo

Fluxograma
lgica aplicada - Prof. Richard p g . ( 10/20) arq.: 98613445.doc

Os dois ltimos comandos (repita-enquanto e faa-para) possuem equivalncia com o comando enquanto-faa, como pode ser verificado pelos exemplos abaixo: Exs.: a) Comando repita-enquanto: I 1; Repita A B + C; Escreva A; I I + 1; enquanto I<=18; b) Comando faa-para: para I de 1 at 18 passo 2 faa A B + A; escreva A; fim para I 1; enquanto I <= 18 faa A B + A; escreva A; I I + 2; fim enquanto I 1; enquanto I <= 18 faa A B + C; escreva A; I I + 1; fim enquanto

1.14. Alternativa de Mltipla Escolha A sintaxe de comando ser: escolha (<expresso>) caso v11: [caso v12:] ... [caso v1n:] C11; ...; C1n; interrompa; caso v22: ... [caso v2n:] C21; ...; C2n; interrompa; ... caso vn1: ... [caso vnn:] C1; ...; Cn; interrompa; seno: C1; ...; Cn; interrompa; fim escolha Pseudocdigo
lgica aplicada - Prof. Richard p g . ( 11/20) arq.: 98613445.doc

Onde Ci e Di so comandos

express o

seno
C1; C2; Cn; Cm+1

Fluxograma

Ex.:

leia tipo, peso; escolha (peso*2+3) caso 15: VALOR 15,00; interrompa; caso 17: caso 18: caso 19: VALOR 19,00; interrompa; caso 20: caso 21: se TIPO=5 ento VALOR 25,00; seno VALOR 30,00; fim se interrompa; seno: escreva Peso acima do limite; VALOR 0; interrompa; fim escolha

Obs.: O comando interrompa vale para todos os trs tipos de estruturas de repetio, a para a alternativa de mltipla escolha, fazendo com que caso ocorra uma chamada ao interrompa o controle de execuo passe para a linha seguinte estrutura. 1. 2. 3. Regras para confeco de Algoritmos Em primeiro lugar declare as variveis; Em seguida essas variveis devem ser inicializadas; Escolha nomes significativos para as variveis; 4. Procure alinhar os comandos de acordo com o nvel a que pertenam, isto , destaque a estrutura na qual esto contidos.

lgica aplicada - Prof. Richard p g . ( 12/20) arq.: 98613445.doc

2. Estrutura de Dados
2.1. Variveis Compostas Homogneas Variveis compostas homogneas correspondem a posies de memria, identificadas por um mesmo nome, individualizadas por ndices e cujo contedo de mesmo tipo. O conjunto de 10 notas dos alunos de uma disciplina pode constituir uma varivel composta. A este conjunto associa-se o identificador NOTA que passar a identificar no uma nica posio de memria, mas 10. A referncia ao contedo do n-simo elemento do conjunto ser indicada por NOTA[n], onde n um nmero inteiro ou uma varivel numrica contendo um valor inteiro. Ex.: NOTA 60 1 70 2 54 3 85 4 63 5 76 6 98 7 46 8 67 9 96 10

NOTA[3] se referencia ao terceiro elemento do conjunto, cujo contedo 54. 2.1.1. Variveis Compostas Unidimensionais So os conjuntos de dados referenciados por um mesmo nome e que necessitam de somente um ndice para que seus elementos sejam endereados. So conhecidos como vetores. Exs.: NOTA 60 1 2 PESO 78,5 1 91,1 2 3 68,6 4 71,4 5 62,7 70 3 54 4 85 5 63 6 76 98 46 67 96 7 8 9 10

Sintaxe: <tipo> <identificador 1> [n 1], <identificador 2> [n 2], ... , <identificador x> [n x]; onde, <tipo> um dos tipos bsicos j definidos (inteiro, real, caractere, lgico); <identificador x> o nome associado a varivel que se deseja declarar; n x um nmero inteiro; Exemplos de declaraes: inteiro VETOR[20]; {representa um vetor de 20 posies} real NOTAS[30]; lgico TEM[3], NAOTEM[6]; inteiro TESTE[4], FLAG[14], ok[4];
lgica aplicada - Prof. Richard p g . ( 13/20) arq.: 98613445.doc

2.1.2. Variveis Compostas Multidimensionais Conjunto de dados referenciados por um mesmo nome e que necessita de mais de um ndice para ter seus elementos individualizados. Exs.: ESCANINHO 1 1 2 3 60 56 86 2 65 68 32 3 25 36 34

LIVRO 1 98 9 75 65 24 68 32 1 2 2 2 3 65 64 25 65 36 4 34 3 3 31 2 87 32

1 2 3

1 2 3

60 56 86 1

Sintaxe: <tipo> <identificador 1> [m 1][n 1]...[z 1], <identificador 2> [m 2][n 2]...[z 2], <identificador x> [m x][n x]...[z x]; onde, <tipo> um dos tipos bsicos j definidos (inteiro, real, caractere, lgico); <identificador x> o nome associado a varivel que se deseja declarar; m x, n x e z x so nmeros inteiros; Exemplos de declaraes: inteiro CELULAS[20][30], TIPOS[2][4]; real MATRIX[10][23][5]; lgico RESULTADOS[3][6][23]; inteiro TESTE[6][8][2];

lgica aplicada - Prof. Richard p g . ( 14/20) arq.: 98613445.doc

Inicializao de Variveis Compostas Para inicializar um vetor com o mesmo valor Ex.: Em um vetor NOTA[5], NOTA 0 equivale a: NOTA[1] 0; NOTA[2] 0; NOTA[3] 0; NOTA[4] 0; NOTA[5] 0;

Para inicializar um vetor com valores diferentes Ex.: Em um vetor NOTA[5], NOTA (5.7, 9.5, 10.0, 3.7, 9.8) equivale a: NOTA[1] 5.7; NOTA[2] 9.5; NOTA[3] 10.0; NOTA[4] 3.7; NOTA[5] 9.8; 2.2. Variveis Compostas Heterogneas 2.2.1. Registros So conjunto de dados logicamente relacionados, mas de tipos diferentes (numrico, literal,

lgico) Ex.: FUNC NOME caractere SALARIO real IDADE inteiro CASADO lgico

Sintaxe: registro [nome] (<componentes>) <lista-de-identificadores> ; onde, registro uma palavra chave; [nome] o nome da estrutura (opcional). <componentes> so declaraes e/ou identificadores de variveis compostas, separados por ponto-e-vrgula; <lista-de-identificadores> so os nomes que esto sendo associados aos registros que se deseja declarar; Exemplo de declaraes: registro REGCAD ( caractere NOME; real SALARIO; inteiro IDADE; lgico CASADO; ) FUNC;
lgica aplicada - Prof. Richard p g . ( 15/20) arq.: 98613445.doc

Onde REGCAD o nome da estrutura de registro e FUNC uma varivel da forma REGCAD. registro ( inteiro CPF, IDENTIDADE; lgico FGTS; ) PAG; Acima declarada uma varivel chamada PAG definida pela estrutura que a procede. A atribuio de valores s variveis que compem o registro pode ser qualificado da seguinte maneira: FUNC.NOME Fulano de Tal; FUNC.SALARIO 3000,00; FUNC.IDADE 32; REGPAG.FGTS V; REGPAG.CPF 123663430; 2.2.2. Conjunto de Registros Podem-se ter conjuntos de registros referenciveis por um mesmo nome e individualizveis por ndices. Ex.: Usando o registro REGCAD definido anteriormente, podemos definir um conjunto de registros da forma: registro REGCAD CADASTRO [100]; NOME 1 2 3 4 SALARIO IDADE REGCAD CASADO CADASTRO A atribuio de dados ao funcionrio nmero 3 seria: CADASTRO[3].NOME Fulano de Tal; CADASTRO[3].SALARIO 12700; {UAH!!} CADASTRO[3].IDADE 32; CADASTRO[3].CASADO V; CADASTRO[3] (Fulano de Tal, 12700, 32, V);
lgica aplicada - Prof. Richard p g . ( 16/20) arq.: 98613445.doc

100

Ou

3. Modularizao
A forma natural de solucionarmos problemas complexos dividi-los em problemas mais simples, aos quais chamamos de mdulos. A modularizao uma ferramenta da programao estruturada, que tem como objetivo aumentar a confiabilidade, legibilidade, manutenibilidade e flexibilidade. Um mdulo , ento, um grupo de comandos, constituindo um trecho de algoritmo, com uma funo bem definida e o mais independente possvel em relao ao resto do algoritmo. Ex.: Ler o valor unitrio de um quilo de feijo e a quantidade de quilos vendida para um determinado fregus. Calcular o valor total a ser cobrado, sabendo que sobre o valor total vendido temos que aplicar 45% de impostos, mais 10% de lucro. Depois de ter calculado o valor total, exibir o cdigo do produto vendido, o valor unitrio do produto, a quantidade vendida e o total que o fregus ter que pagar. Apesar deste problema no ser muito complexo, podemos dividi-lo em 3 partes distintas, ou seja, 3 mdulos: 1. leitura dos dados (vlr_unitrio, qtde_vendida); 2. clculo do valor total a pagar; 3. exibio dos dados. Devemos utilizar mdulos de tamanho limitado, isso no quer dizer que um mdulo deva ter no mximo 100 linhas, mas que, mdulos muito extensos acabam perdendo sua funcionalidade. Cada mdulo pode definir as prprias estruturas de dados necessrias para sua execuo. Todo mdulo constitudo por uma seqncia de comandos que operam sobre um conjunto de variveis que podem ser globais ou locais. A comunicao entre mdulos dever ser feita atravs de variveis globais ou por transferncia de parmetros. Vantagens da modularizao:

a independncia do mdulo permite uma manuteno mais simples e evita efeitos colaterais em outros pontos do algoritmo; pode-se elaborar um mdulo independente do restante do algoritmo; testes e correes dos mdulos podem ser feitos em separado; reutilizao dos mdulos por outros algoritmos.

Podemos utilizar dois tipos de ferramentas para fazer a modularizao: procedimentos e funes. Ambos so mdulos hierarquicamente subordinados a um algoritmo chamado de mdulo principal, da mesma forma um procedimento ou funo pode conter procedimentos e funes aninhadas, como mostra a figura abaixo: MP P1 P3 Onde: P Procedimento F Funo A declarao de um procedimento ou funo composta por um cabealho e um corpo.
lgica aplicada - Prof. Richard p g . ( 17/20) arq.: 98613445.doc

P2 F3 F4

F1 P4

F2

O cabealho identifica o procedimento, contm seu nome e a lista de parmetros formais, o corpo contm declaraes locais e os comandos do procedimento. Para ativarmos um mdulo, fazemos referncia a seu nome e a indicao dos parmetros atuais. 3.1. Procedimentos 3.1.1. Sintaxe procedimento <nome do procedimento> (<lista-de-parmetros>) <especificao dos parmetros> incio <declarao de variveis locais> Comandos; fim. {nome do procedimento} Ex.: procedimento Leia_dados (Valor, Qtde) real Valor; inteiro Qtde; incio leia Valor, Qtde; escreva Valor, Qtde; fim; Para chamar o procedimento no programa principal, basta o nome do procedimento e a lista de parmetros: Leia_dados (vlr_unitrio, qtde_vendida); Os parmetros Valor e Qtde, so chamados de parmetros formais e sero substitudos pelos parmetros efetivos (vlr_unitrio, qtde_vendida), no momento da chamada ao procedimento. Depois que os comandos de um procedimento so executados, o fluxo de controle retorna ao comando seguinte quele que fez a chamada. 3.2. Funo Parecida com os procedimentos, tm a caracterstica especial de retornar um valor ao algoritmo que a chamou. 3.2.1. Sintaxe funo <nome da funo> (< lista-de-parmetros>) <especificao dos parmetros> incio <declarao de variveis locais> Comandos; <nome da funo> <expresso>; {parmetro de retorno} fim. {nome da funo} Ex.: funo ABS(x) real x; incio se X >= 0 ento ABS x;
lgica aplicada - Prof. Richard p g . ( 18/20) arq.: 98613445.doc

seno ABS -x; fim se fim {ABS} A chamada da funo, no programa principal feita com uma referncia a seu nome e a indicao dos parmetros efetivos em uma expresso: resultado ABS(num); Neste caso o parmetro formal x e num o parmetro efetivo. Aps esta linha de comando a varivel resultado conter o valor absoluto de num, calculado pela funo ABS. 3.3. Passagem de parmetros Existem vrias formas de passarmos parmetros entre o programa principal e os mdulos, a escolha de uma delas depender do nosso objetivo. por valor: as alteraes feitas nos parmetros formais, dentro do mdulo, no se refletem nos parmetros efetivos. O valor do parmetro efetivo copiado no parmetro formal, no momento da chamada, neste caso ele chamado de parmetro de entrada. Ou seja, os parmetros de entrada tm seus valores estabelecidos fora do mdulo e no podem ser modificados dentro do mdulo;

por resultado: as alteraes feitas nos parmetros formais, dentro do mdulo, se refletem nos parmetros efetivos. O valor do parmetro formal copiado no parmetro efetivo, ao retornar do mdulo, neste caso ele chamado de parmetro de sada. Ou seja, os parmetros de sada tm seus valores estabelecidos dentro do mdulo;

por referncia: toda alterao feita num parmetro formal corresponde a mesma alterao feita no seu parmetro efetivo associado. Neste caso ele chamado de parmetro de entrada e sada. Ou seja, eles tm seus valores estabelecidos fora do mdulo, mas podem ter seus valores alterados dentro dele.

OBS: Vale lembrar que cada linguagem de programao tem suas regras especficas para realizar a passagem de parmetros, sendo as vezes necessrio realizar adaptaes ao algoritmo. 3.4. Independncia Funcional Quando projetamos um algoritmo devemos construir mdulos com apenas um propsito (alta coeso), e diminuir ao mximo a interao entre eles (baixo nvel de acoplamento). Ou seja, o ideal projetar software de forma que cada mdulo encaminhe uma subfuno especfica de requisitos e tenha uma interface simples quando visto de outras partes da estrutura do programa. A independncia funcional fundamental para um bom projeto. 3.4.1. Coeso a medida da fora funcional relativa de um mdulo. Podemos classificar um software em relao a coeso, da seguinte maneira: coincidental: quando o mdulo realiza vrias tarefas, que no tem nenhuma relao uma com a outra; lgica: quando o mdulo executa tarefas logicamente relacionadas, p.ex.: um mdulo que realiza todas as entradas de dados de um software;
lgica aplicada - Prof. Richard p g . ( 19/20) arq.: 98613445.doc

temporal: quando o mdulo contm tarefas que so relacionadas pelo fato de todas terem que ser executadas num mesmo intervalo de tempo. 3.4.2. Acoplamento Depende da complexidade da interface entre os mdulos. Podemos classificar um software, em relao ao acoplamento, da seguinte maneira: baixo acoplamento: quando a interface entre mdulos se faz atravs da passagem de dados; acoplamento moderado: quando a interface entre os mdulos feita por controle, p.ex., quando o mdulo1 passa o controle para o mdulo 2; acoplamento elevado: quando o mdulo est ligado a um ambiente externo ao software, p.ex., a E/S acopla um mdulo a dispositivos, formatos e protocolos de comunicao. Ou ainda, mdulos que utilizam variveis globais. Obs: Qto. maior o nvel de coeso e menor o nvel de acoplamento, melhor o software.

lgica aplicada - Prof. Richard p g . ( 20/20) arq.: 98613445.doc