Apost Algoritmos Parte3

6
Algoritmos com Qualidade 1) Algoritmos devem ser feitos para serem lidos por seres humanos. Tenha em mente que seus algoritmos deverão ser lidos e entendidos por outras pessoas (e por você mesmo), de tal forma que possam ser corrigidos (receberem manutenção e serem modificados). 2) Escreva os comentários no momento em que estiver escrevendo o algoritmo. 3) Os comentários deverão acrescentar alguma coisa, não apenas para frasear os comandos. O conjunto de comandos nos diz o que está sendo feito, os comentários deverão nos dizer por quê . 4) Use comentários no prólogo. Todo algoritmo ou procedimento deverá ter comentários no seu prólogo para explicar o que ele faz e fornecer instruções para seu uso. Alguns desses comentários seriam: a) Uma descrição do que faz o algoritmo. b) Como utilizá-lo. c) Explicação do significado das variáveis mais importantes. d) Estrutura de dados utilizada. e) Os nomes de quaisquer métodos especiais utilizados. f) Autor g) Data 5) Utilize espaços em branco para melhorar a legibilidade. 6) Escolha nomes representativos para suas variáveis. Uma seleção adequada de nomes de variáveis é o princípio mais importante da legibilidade de algoritmos. 7) Um comando por linha é suficiente. Quando se utilizam vários comandos por linha, o algoritmo fica mais ilegível e mais difícil de ser depurado. 8) Utilize parênteses para aumentar a legibilidade e prevenir-se contra erros. Exemplo: Com poucos parênteses com parênteses extras A*B*C/(D*E*F) (A*B*C) / (D*E*F) A*B/C*D/E*F (((A*B) / (C) *D) / E) *F X > Y ou Q < W (X > Y) ou (Q < W) A + B < C (A + B) < C 9) Utilize indentação para mostrar a estrutura lógica do algoritmo. 15

description

Linguaguem C

Transcript of Apost Algoritmos Parte3

5

Algoritmos com Qualidade

1) Algoritmos devem ser feitos para serem lidos por seres humanos. Tenha em mente que seus algoritmos devero ser lidos e entendidos por outras pessoas (e por voc mesmo), de tal forma que possam ser corrigidos (receberem manuteno e serem modificados).

2) Escreva os comentrios no momento em que estiver escrevendo o algoritmo.

3) Os comentrios devero acrescentar alguma coisa, no apenas para frasear os comandos. O conjunto de comandos nos diz o que est sendo feito, os comentrios devero nos dizer por qu.

4) Use comentrios no prlogo. Todo algoritmo ou procedimento dever ter comentrios no seu prlogo para explicar o que ele faz e fornecer instrues para seu uso. Alguns desses comentrios seriam:

a) Uma descrio do que faz o algoritmo.

b) Como utiliz-lo.

c) Explicao do significado das variveis mais importantes.

d) Estrutura de dados utilizada.

e) Os nomes de quaisquer mtodos especiais utilizados.

f) Autor

g) Data

5) Utilize espaos em branco para melhorar a legibilidade.

6) Escolha nomes representativos para suas variveis. Uma seleo adequada de nomes de variveis o princpio mais importante da legibilidade de algoritmos.

7) Um comando por linha suficiente. Quando se utilizam vrios comandos por linha, o algoritmo fica mais ilegvel e mais difcil de ser depurado.

8) Utilize parnteses para aumentar a legibilidade e prevenir-se contra erros.

Exemplo:

Com poucos parnteses com parnteses extras

A*B*C/(D*E*F)

(A*B*C) / (D*E*F)

A*B/C*D/E*F

(((A*B) / (C) *D) / E) *F

X > Y ou Q < W

(X > Y) ou (Q < W)

A + B < C

(A + B) < C

9) Utilize indentao para mostrar a estrutura lgica do algoritmo.

10) Lembre-se: toda vez que for feita uma modificao no algoritmo, os comentrios associados dever ser alterados, e no apenas os comandos. Antes no comentar do que deixar um comentrio errado.

Exemplos de trechos de algoritmos mal escritos.

Exemplo 1:

inicio

SOMA = 0;

{ atribui o valor 0 varivel SOMA }

I = 1;

{ atribui o valor 1 varivel I }

enquanto I < 18 faa

{ enquanto I no ultrapassar o valor 18, ser atribudo o valor

SOMA = SOMA + I; da expresso SOMA + I varivel SOMA e o valor de I

I = I + 1;

ser incrementado em 1 }

fim enquanto;

imprime (SOMA);

{ imprime o valor de SOMA }

fim.

O trecho acima fere principalmente a regra nmero 3. Ele deveria ser escrito, para ser considerado de qualidade, da seguinte maneira:

Inicio

{ algoritmo para fazer a soma dos nmeros inteiros de 1 a 18

Autor: Fulano de Tal - data: / / }

SOMA = 0;

{ varivel que ir acumular os valores para o somatrio}

I = 1;

{ ser utilizada como um contador de nmero inteiros }

enquanto I < 18 faa

{ lao utilizado para gerar os nmeros inteiros e calcular o

SOMA = SOMA + I; somatrio }

I = I + 1;

fim enquanto;

imprime (SOMA);

fim.

Exemplo 2:

inicio

inteiro: XPT, I, II, III, IIII;

leia(XPT, IIII)

I = 1;

enquanto I < XPT faa se I < IIII ento se IIII = 20 ento II = XPT + 2;

seno III = IIII ** XPT; seno III = XPT;

IIII = III + I; fim se; fim se;

I = I + 1;

fim enquanto; imprima (I, II, IIII, III, XPT); fim.

O trecho acima fere todas as regras, sendo que as mais graves so: a falta de indentao, nomes no significativos e ausncia de comentrios.

6 - TCNICAS ATUAIS DE PROGRAMAO

Programao Estruturada

Programao Orientada a Eventos e Objetos

Programao Orientada a Objetos

6.1 - Programao Estruturada

Programao Estruturada consiste numa metodologia de projeto de programa visando:

facilitar a escrita dos programas

facilitar a leitura (o entendimento) dos programas

permitir a verificao a priori dos programas

facilitar a manuteno e modificao dos programas

A idia bsica simplificar a escrita utilizando conceitos de:

a) refinamentos sucessivos

b) decomposio do programa em mdulos funcionais

c) utilizao de um nmero limitado de estruturas de controle.

As tcnicas estruturadas so geralmente aplicveis em todas as linguagens. A maioria, porm, no foram projetadas para mtodos estruturados, deixando algo a desejar sob este ponto de vista.

A Programao Estruturada baseia-se no fato de que todo algoritmo pode ser alaborado com o uso de trs estruturas fundamentais:

Seqencial

Deciso (Condicional)

Repetio ou Iterao

6.1.2 - Estrutura Seqencial

a estrutura onde as instrues so executadas uma aps a outra.

Algoritmo

Fluxograma

6.1.3 - Estrutura de Deciso

Na maioria das vezes necessitamos tomar decises no andamento do algoritmo. Essas decises interferem diretamente no andamento do programa.

Comandos de Deciso

Os comandos de deciso ou desvio fazem parte das tcnicas de programao que conduzem a estruturas de programas que no so totalmente seqenciais. Com as instrues de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decises lgicas tomadas em funo dos dados ou resultados anteriores. As principais estruturas de deciso so: Se Ento, Se ento Seno e Caso Selecione

A estrutura de deciso permite a execuo de dois procedimentos distintos, dependendo de uma certa condio.

Algoritmo:

Fluxograma:

Estrutura de Deciso Simples (SE ... ENTO)A estrutura de deciso SE normalmente vem acompanhada de um comando, ou seja, se determinada condio for satisfeita pelo comando SE ento execute determinado comando. Imagine um algoritmo que determinado aluno somente estar aprovado se sua mdia for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria.

SE MEDIA >= 5.0

ENTO EXIBA (ALUNO APROVADO);

Em Fluxograma ficaria assim:

Estrutura de Deciso Composta (SE ... ENTO ... SENO)

A estrutura de deciso SE/ENTO/SENO funciona exatamente como a estrutura SE, com apenas uma diferena, em SE somente podemos executar comandos caso a condio seja verdadeira, diferente de SE/ENTO/SENO pois sempre um comando ser executado independente da condio, ou seja, caso a condio seja verdadeira o comando da condio ser executado, caso contrrio o comando da condio falsa ser executado

Em algoritmo ficaria assim:

SE MDIA >= 5.0

ENTO EXIBA (ALUNO APROVADO)

SENO EXIBA (ALUNO REPROVADO)

FIMSE

Em Fluxograma:

No exemplo acima est sendo executada uma condio que, se for verdadeira, executa o comando APROVADO, caso contrrio executa o segundo comando REPROVADO. Podemos tambm dentro de uma mesma condio testar outras condies. Como no exemplo abaixo:

Cn

C2

C1

Comando 1

Comando 2

Comando 3

..

..

..

Comando n

(

(

Condio

V

F

se condio

ento comandos

seno comandos

fim se

PAGE 15