Algoritmos e Estruturas de Dados I

Aula 6: Desenvolvimento de Programas:

Programar envolve:

Definição do Problema

Especificação do problema

Especificação da entrada

Especificação da saída

Exemplo

Problema: determinar o número de aprovados em uma disciplina com nota mínima 60.

Entrada: arquivo contendo notas dos alunos

Saída: número de alunos aprovados

Consistência dos Dados de Entrada

Verificação da validade dos dados

Exemplo de arquivo de notas:

9837184 95

9700000 83

98371 84 94

9937184 67

9837184 102

9837I84 z

Projeto do Algoritmo

Algoritmo:

Exemplos:

Características de algoritmos:

Descritos em ``pseudo-linguagens'' de altíssimo nível.

Exemplo


algoritmo aprovados-aeds1;

	inteiro: número, nota, aprovados;

	início

		aprovados := 0;

		enquanto existem dados faça

			leia (número, nota);

			se nota >= 60 então 

			fim se;

		fim enquanto;

		imprima (aprovados);

	fim.

Codificação em Pascal

{ Determina numero de aprovados }

program aprovados_aeds1;

var numero, nota, aprovados: integer;

begin

  aprovados := 0;

  while not eof begin

    readln(numero, nota);

    if nota >= 60 then

      aprovados := aprovados + 1;

  end;

  writeln(`AEDS1 - 2o. semestre 1998');

  write(`numero de alunos `);

  writeln(`aprovados = `, aprovados);

end.

Depuração

Descoberta, localização e correção de erros.

Erros:

Localizar erros de sintaxe: compilador.

Localizar erros de execução e lógica:

Testes

Verificar se o programa funciona com dados diferentes

Teste somente demonstra a presença de erros, nunca sua ausência!!!

Número de possibilidades para dados de entrada é muito grande:

Documentação

Extremamente importante!!! Sem documentação o programa não pode ser entendido ou usado.

Dentro do programa:

Técnica:

Do usuário