Você está na página 1de 6

Fundamentos de Computação

Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Lógica e Algoritmos
Arquivos
Modularização

A seqüência usual para se resolver um


Programação de Computadores
problema utilizando o computador é:
Aprender

1. Estudar e analisar o problema para prática
entender a sua estrutura; ↓
Aprender a fazer
2. Estruturar a resolução do problema ↓
como uma seqüência lógica e ordenada prática
de operações; ↓
Aprender a fazer certo
3. Traduzir essa seqüência de operações ↓
em instruções de uma linguagem de alto prática
nível; ↓
Aprender a fazer diferente
4. Executar o programa. ↓
prática

Aprender a fazer bem-feito

19 MAP © 2006

Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Fluxograma
Arquivos
Modularização

Um fluxograma é uma representação gráfica, estruturada e simplificada que ilustra a


Programação de Computadores

seqüência de operações a serem realizadas para produzir a solução de um problema


(computação, engenharia etc).

Fluxogramas estabelecem uma linguagem única, para utilização por programadores,


desenvolvedores e gerentes, podendo fornecer uma forma de comunicação comum
entre as várias etapas do processo de resolução de um problema. Com a seqüência
lógica dos passos definidos em um fluxograma, a tarefa de escrever o programa,
utilizando uma linguagem de alto nível, fica bastante simplificada.

Todo fluxograma deve possuir uma sintaxe e uma semântica bem-definidas. A sintaxe
de um fluxograma é definida pela forma correta de empregar seus elementos:
• símbolos gráficos específicos;
• expressões admissíveis a serem escritas dentro dos símbolos;
• sub-rotinas pré-definidas que podem ser utilizadas nas expressões.

A semântica de um fluxograma indica como interpretá-lo.


20 MAP © 2006
Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Principais símbolos usados em
Estruturas de Dados
Arquivos computação (Norma ISO 5807/1985)
Programação de Computadores Modularização

Símbolo Nome Função


terminador Representa o início ou o fim do
processamento.

conector Representa a saída para ou a


entrada de outra parte do
mesmo fluxograma.

fluxo Representa o fluxo dos dados


ou do controle de execução.

processo Representa uma instrução,


resultando na alteração de
valor de uma informação.

sub-rotina Processamento de funções ou


chamada a procedimentos.

decisão Representa uma condição a ser


avaliada, com duas ou mais
alternativas de execução.

leitura Entrada manual de dados, em


tempo de execução.

exibição Apresentação dos resultados


do processamento.

21 MAP © 2006

Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Orientações para criação de fluxogramas
Arquivos
Modularização

1) Um fluxograma deve ser claro, simples e de fácil leitura. Não deve haver
Programação de Computadores

ambigüidade na interpretação de um fluxograma.

2) A direção de descrição do fluxo de um processo ou sistema é da esquerda


para a direita ou de cima para baixo.

3) Apenas uma linha de fluxo deve partir de ou chegar a um terminador:

Início Fim

4) O símbolo de processo admite apenas uma linha de saída de fluxo:

22 MAP © 2006
Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Orientações para criação de fluxogramas
Arquivos
Modularização

5) O símbolo de decisão admite apenas uma linha de entrada de fluxo, mas


Programação de Computadores
duas ou três linhas de saída são possíveis:

V F <0 >0

=0

6) O texto dentro de cada símbolo deve se limitar à instrução a ser executada;

7) Use conectores para reduzir o número de linhas do fluxograma. Evite cruzar


linhas, para não comprometer o entendimento do fluxograma;

8) A validação de um algoritmo descrito por um fluxograma pode ser feita


através da execução de um conjunto de dados de teste

23 MAP © 2006

Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Estruturas básicas de programação
Arquivos
Modularização

No paradigma de programação estruturada, os programas são escritos


Programação de Computadores

considerando apenas combinações adequadas das três estruturas básicas:


seqüência, seleção e iteração. Cada estrutura tem um único ponto de entrada
e um único ponto de saída, representado pelo símbolo conector.

Nessas estruturas, o símbolo de processo (retângulo) pode ser utilizado para


representar qualquer ação, incluindo leitura de dados e exibição de resultados.

V F V

F V V

F F

Seqüência Seleção Iteração

24 MAP © 2006
Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Estruturas básicas de programação
Arquivos
Modularização

Portanto, na programação estruturada existe um conjunto limitado de


Programação de Computadores
estruturas, que podem ser combinadas de maneira adequada para produzir
fluxogramas estruturados, devendo para isso observar duas regras:

• Regra do empilhamento: o ponto de saída de uma estrutura pode ser


conectado ao ponto de entrada de outra estrutura.
• Regra do aninhamento: Um retângulo de uma estrutura pode ser substituído
por uma outra estrutura qualquer.

Essas regras podem ser aplicadas quantas vezes forem necessárias, e em


qualquer ordem. Os fluxogramas resultantes da aplicação dessas regras
constituem o conjunto de todos os fluxogramas estruturados possíveis.

As regras da programação estruturada produzem algoritmos e programas que


são mais compreensíveis, além de facilitar as tarefas de teste, correção e
modificação de programas.
25 MAP © 2006

Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Fluxogramas na resolução de problemas
Arquivos
Modularização

Problema: Determinar o saldo de uma aplicação financeira, com


Programação de Computadores

investimento inicial de R$ 300,00 e juros de 1% ao mês, ao final do 3º mês.

Solução: Seja I o valor do investimento Início início do algoritmo

inicial, J a taxa de juros, P o saldo ao


final do primeiro mês, S o saldo ao final I Å 300 o valor 300 é atribuído à
variável I
do segundo mês e T o saldo ao final do
terceiro mês. J Å 0.01 o valor 0.01 é atribuído
à variável J

P Å I + J*I cálculo do saldo ao final


do primeiro mês (P)
O símbolo “Å” significa cálculo do saldo ao final
S Å P + J*P
atribuição, ou seja, o do segundo mês (S)
valor ou o resultado da
expressão definidos no cálculo do saldo ao final
T Å S + J*S
lado direito será do terceiro mês (T)
armazenado na variável
do lado esquerdo, informa o saldo final T
T
sobrescrevendo o valor
contido anteriormente
(comando destrutivo). fim do algoritmo
Fim

26 MAP © 2006
Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Fluxogramas na resolução de problemas
Arquivos
Modularização

Problema: Ler dois valores numéricos e exibi-los. Depois, trocar os valores


Programação de Computadores
entre si e exibir novamente.

Solução: Sejam I, J e K as Início início do algoritmo

variáveis que armazenarão


os valores numéricos. I, J ler os dois valores, que
serão atribuídos à I e J

I, J exibir os valores
originais
Devido ao caráter
KÅI atribuir o valor de I à
destrutivo do comando
variável K (cópia)
de atribuição, é
necessário definir uma
IÅJ atribuir valor de J à
variável K que
variável I
desempenha um papel
de variável de
JÅK atribuir o valor de K à
armazenamento
variável J
temporário, guardando o
valor inicial da variável
I, J exibir os valores após a
I, que será atualizada
troca
com o valor inicial da
variável J.
Fim fim do algoritmo

27 MAP © 2006

Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Fluxogramas na resolução de problemas
Arquivos
Modularização

Problema: Ler dois números e imprimir o maior.


Programação de Computadores

Solução: Sejam A e B as
variáveis que armazenarão os
Início início do algoritmo
dois números a serem
comparados.
A, B ler A e B

V F
A>B comparar A e B

A B exibir o maior valor

Fim fim do algoritmo

28 MAP © 2006
Fundamentos de Computação
Lógica e Algoritmos
Conceitos Básicos da Linguagem C
Estruturas de Controle
Estruturas de Dados
Fluxogramas na resolução de problemas
Arquivos
Modularização

Problema: Encontrar o resto da divisão inteira de A por B (inteiros).


Programação de Computadores

Solução: Sejam Q e R
início do algoritmo
o quociente e o resto, Início

respectivamente, da
ler A e B A, B
divisão inteira de A por
B
inicializar o valor QÅ0
do quociente Q

F
Comparar A e B A >= B RÅA atualizar o valor
do resto R
V
R exibir o valor do
atualizar o valor AÅA–B resto R
do quociente Q
Fim fim do algoritmo
atualizar o valor QÅQ+1
do dividendo A e
retornar

29 MAP © 2006

Você também pode gostar