TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Algoritimos

Artigo: Algoritimos. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  11/3/2015  •  499 Palavras (2 Páginas)  •  215 Visualizações

Página 1 de 2

Fundamentos de Programação Estruturada em C

Luiz Fernando Martha

Referências Básicas

• Gries, D., The Science of Programming, Springer-Verlag, New York, 1985.

• Hehl, M.E., Linguagem de Programação Estruturada FORTRAN 77, McGraw-Hill, 1986.

• Arakaki, R. et. alli., Fundamentos de Programação em C, Livros Técnicos e Científicos.

• Kernighan, B.W.; Ritchie, D.M., The C Programming Language, Prentice-Hall, Second Edition,

1988.

• Savitch, W.J., Pascal: An Introduction of the Art and Science of Programming, The Benjamin /

Cummings Publishing Company, 1984.

Introdução

Principal desafio:

“Como escrever eficientemente programas

grandes?”

Um enfoque:

1. Pegue uma tarefa longa, quebre em pedaços

(blocos) menores.

2. Repita 1. até que os pedaços sejam unidades

inteligíveis e fáceis de serem manipuladas.

Programa bem projetado:

Unidades pequenas, independentes e bem documentadas.

Programação estruturada:

Formaliza a idéia de dividir em blocos. Isto

força o programador a saber exatamente o estado

do programa antes e depois de cada bloco

e evita o chamado “código espaguete”, onde

não se tem noção em que estágio da execução

o programa se encontra em uma determinada

instrução.

Diagrama de blocos:

• Utilizado para mostrar graficamente o fluxo

de controle de um programa.

• Adotado a notação de diagrama de blocos

N-S (Nassi-Schneiderman) [Arakaki, Apêndice

B].

Comentários em C:

/* Este é um comentário no meio de um

código em C */

Programação seqüencial

O fluxo de controle de um programa estruturado

é feito de bloco em bloco, seqüencialmente,

onde cada bloco pode ser:

• uma instrução;

• um conjunto de instruções;

• um aninhamento de outros blocos;

• uma rotina (função);

• um programa.

Diagrama N-S:

Bloco 1

Bloco 2

Bloco n

• • •

Para se poder garantir que o fluxo de controle

é feito de forma seqüencial, associado a cada

bloco existe uma asserção de pré-condição e

uma asserção de pós-condição:

/* pre: asserção de pré-condição */

/* pos: asserção de pós-condição */

Uma asserção é um comentário que afirma

alguma coisa que o programador espera ser

verdadeira quando a execução do programa

atinge a asserção.

Exemplo:

/* pre: x + 1 > 0 */

x = x + 1;

/* pos: x > 0 */

2

Uma “tripla” pre-bloco-pos diz que se a asserção

pre é verdadeira antes da execução do

bloco, então a asserção pos é verdadeira após a

execução. A “tripla” não diz absolutamente

coisa alguma a respeito da execução do bloco

quando pre é falsa.

Estruturas de controle

Na programação estruturada, a estruturação

está baseada em um pequeno número de estruturas

de controle:

• controle seqüencial;

• controle de decisão;

• controle de seleção múltipla;

...

Baixar como (para membros premium)  txt (4.1 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com