Buscar

03 - Processo de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

O PROCESSO DE PROGRAMAÇÃO
Preliminares
Problema
Algoritmo
Processo de Desenvolvimento
Desenvolvimento de algoritmos
Desenvolvimento de programas
Desenvolvimento de sistemas de programação
“Bons” programas
Características de “bons” programas
Corretude de programas
Papel da especificação
O PROCESSO DE PROGRAMAÇÃO - PROBLEMA
Pergunta de caráter geral a ser respondida
Instância de um problema:
Fixação de determinados valores para os dados de entrada
Descrição de um problema:
Quais são os possíveis dados (entrada)?
Quais são os possíveis resultados (saída)?
Que condições devem ser satisfeitas para que um particular resultado seja uma saída aceitável para uma certa entrada
Exemplos:
1. Encontre o menor número de uma lista de inteiros
–Entrada: lista de inteiros
–Saída: Número inteiro que representa o maior número da lista
2. Ordenar uma lista de 5 inteiros em ordem crescente
–Entrada: lista de 5 inteiros
–Saída: lista de 5 inteiros
3. Encontre o minimo múltiplo comum entre 2 inteiros
- Entrada: 2 números inteiros
Saída: Um único inteiro que representa o mínimo mútiplo comum entre 2 números.
O PROCESSO DE PROGRAMAÇÃO - ALGORITMO X PROGRAMA
Método abstrato para computar uma determinada função
 X
Tradução de um método computacional em uma linguagem de programação
Algoritmo:
Procedimento, sem ambigüidades, para resolver um problema.
Procedimento:
Seqüência finita de passos ou operações bem definidas, cada um requerendo apenas uma quantidade finita de memória ou área de trabalho e levando tempo finito para ser completado.
Características:
As entradas são objetos gerados externamente, vindo de um conjunto bem especificado.
Fornece como resulados determinados objetos de um conjunto conhecido mantendo uma relação específica com a entrada.
Cada regra ou instrução deve ser clara e precisamente definida sem nenhuma ambigüidade
Cada regra ou instrução envolve a execução de uma ação efetiva e viável.
O PROCESSO DE PROGRAMAÇÃO - DESENVOLVIMENTO DE ALGORITMOS
“O processo de resolução de um problema por computador começa por explicitar claramente os requisitos do problema para o qual é projetado um algoritmo, que finalmente é codificado em uma linguagem de programação apropriada.”
Etapas do desevolvimento:
Análise dos requisitos do problema
Escolha e desenvolvimento de um modelo
Projeto do algoritmo
Verificação da corretude do algoritmo
Análise de desempenho do algoritmo
Exemplos
1. Achar um número de telefone de uma determinada pessoa na cidade de BH
2. Idem ao anterior mas o catálogo é dividido em páginas que possuem informações sobre o primeiro e último nomes contido na página
3. Idem ao 1, mas o catálogo é indexado por endereço
O PROCESSO DE PROGRAMAÇÃO - DESENVOLVIMENTO DE PROGRAMAS E SISTEMAS
Etapas do desenvolvimento de programas
Implementação (refinamento e codificação)
Certificação (depuração e verificação)
Análise de eficiência
Documentação
Etapas de desenvovimento de sistemas de programação
Análise de requisitos
Especificação e projeto de sistemas
Implementação (codificação)
Certificação 
Manutenção (evolução)
O PROCESSO DE PROGRAMAÇÃO - “BONS” PROGRAMAS
Características de “bons” programas
Confiabilidade, manutenibilidade e eficiência
Recomendações de programas legíveis e modificáveis
Especifique a entrada e saída dos módulos
Defina claramente a função das variáveis auxiliares
Tente fazer com o fluxo de controle seja normalmente paar a frente
Use identação para sub-rotinas
Documente bem o programa com comentários concisos e informativos
Use módulos quando apropriado 
Corretude de programas
O papel da especificação
Produto da fase de análise de requisitos do processo de programação
Finalidade de decompor a tarefa de transpor o “abismo”

Outros materiais