Você está na página 1de 12

Resolução de Problemas

por computador
• Método baseado em etapas
• Inicia intuitivo
• Descrição de algoritmo informal
• Fluxograma
• Teste de mesa
• Codificação
• Testes de execução e melhorias
Como obter a solução de um
problema com um algoritmo?
• Devemos analisar o problema e propor uma solução baseada
em uma sequência de passos.
• Para isso vamos usar um método de 6 etapas, uma
ferramenta de modelagem gráfica de algoritmos (fluxograma)
e uma ferramenta de testes (teste de mesa) para auxiliar.

• PROBLEMA 1: Vamos supor


que temos que resolver um
problema de calcular a área
de um triângulo obtendo os
valores da base e da altura.
Etapa 1
Etapa 1: Interpretar o enunciado e imaginar uma solução sendo
executada (sequência de ações com informações solicitadas e
informações apresentadas).
Objetivo: levantar informações e organizar mentalmente uma
solução candidata.
R: Pode-se imaginar um programa que receba um valor que será
usado como base (b), depois um segundo
valor que será usado como altura (h), então
calcule a área a=b*h, e mostre o valor
calculado.
Etapa 2
A partir da resultado da etapa 1, estabelecer um Algoritmo
informal.
Objetivo: relacionar uma sequência lógica de passos para
resolver o problema, ainda que abstratos.
R: 1o) receber um valor que será usado como base (b);
• 2o) receber um segundo valor que será usado como altura (h);
• 3o) calcular a área a=b*h;
• 4o) mostrar o valor de a.
Etapa 3
Criar um fluxograma baseado no algoritmo informal.
Um fluxograma é uma ferramenta que auxilia graficamente o
desenvolvimento de algoritmos. As ações são representadas por
símbolos e a sequência das ações representadas por setas
Objetivo: obter um modelo gráfico das operações, necessidade
de memória (variáveis), estratégias de repetição e divisão de
fluxo de programa.estabelecer um Algoritmo informal.
Etapa 3
Início

1o) receber um valor que será


b
usado como base (b);
2o) receber um segundo valor
h
que será usado como altura (h);
3o) calcular a área a=(b*h)/2; a ← (b * h)/2

4o) mostrar o valor de a. a

Fim
Etapa 4
• Realizar o teste de mesa.
• Objetivo: avaliar se a lógica algorítmica leva a uma solução
consistente.
• Contruir uma tabela relacionando as variáveis nas colunas,
indicando com um * o que vai para a tela e a sequência de
execução na linha:
b h a
3
6
9*
Etapa 5
Codificar em uma linguagem de programação. Compilar o
programa até não obter mais erros de compilação.
O fluxo de execução já foi visualizado através do fluxograma e a
lógica já foi testada no teste de mesa.

Objetivo: traduzir o modelo para uma linguagem e obter uma


versão do programa sem erros de escrita e semântica.
Etapa 5
Fluxograma Portugol Programa C
Início Algoritmo A01 #include <stdio.h>
Leia b; int main() {
Leia h; int b, h, a;
b a ← (b*h)/2; scanf("%i", &b);
Escreva a; scanf("%i", &h);
Fim; a = (b*h)/2;
printf("%i", &a);
h Programa Pascal }

program A01;
a ← (b * h)/2 var Integer b, h, a;
begin
read(b);
read(h);
a a = (b*h)/2;
writeln(a);
end;
Fim

9
Etapa 6
Realizar testes de execução e em caso de erros ou
aprimoramentos avaliar a qual etapa se deve voltar.
Objetivo: avaliar se o programa conduz a solução correta do
enunciado para corrigí-lo ou melhorá-lo.
#include <stdio.h> Comentários para
int main() { ajudar na
// inicializa variáveis documentação e
float b, h, a; manutenção
printf("*Calculo da área do triângulo");
// fornece dados
printf("Informe a base: ");
scanf("%i", &b);
printf("Informe a altura: ");
scanf("%i", &h);
a = (b*h)/2;
printf("A área é: %i", &a);
}
Descrição dos Símbolos
do Fluxograma
Início
Início ou fim
Declaração e b←0
Entrada de dados inicialização
das variáveis h←0

Processamento a←0
Não importa se
b
vem do teclado,
Tomada de decisão rede, arquivo,
Sensor, etc h

Saída de dados a ← (b*h)/2

Não importa se a
vai para a tela,
Fluxo de programa rede, arquivo,
atuador, etc Fim
11
Referências
• Forbellone, A. L. V. Lógica de Programação. 3
ed.: Prentice Hall Brasil, 2005.
ISBN:8576050242 (Biblioteca Virtual UFSC)

12

Você também pode gostar