UNIDADE Pr2 - PROJETO TOP-DOWN DE PROGRAMAS
(DO GERAL PARA O DETALHADO)

 

 

Objetivo global da unidade

Os estudantes deverão ser capazes de projetar, programar e avaliar algoritmos estruturados para problemas que requeiram uma abordagem top-down.

Contexto

Após as primeiras experiências com o projeto e a programação de algoritmos simples na unidade P l - Introdução a Programação -, os alunos aprenderão a usar a abordagem top-down, utilizando as mesmas ferramentas de projeto e ambiente de programação. Quando os problemas começarem a ficar mais complexos, a necessidade da abordagem top-down tornar-se-á evidente. A programação top-down é o método normal pelo qual os programas comerciais são projetados e produzidos.

 

Resumo do conteúdo da unidade

A unidade contém três atividades principais: o projeto de algoritmos pelo método top-down, tradução do projeto em um programa e dar vida ao programa (implementação). Da mesma forma que na unidade P1 - Introdução a Programação -, essas três atividades irão aparecer sempre de forma sucessiva e estreitamente ligadas. Apesar das descrições seguintes tratarem de cada atividade separadamente, a ordem de apresentação não necessariamente dita a ordem em que elas serão ensinadas.

1. PROJETO TOP-DOWN DE ALGORITMO

Objetivos

Os estudantes deverão estar aptos a:

1.descrever e especificar o problema a ser resolvido;
2.desenvolver um algoritmo efetivo e eficiente para solução de um problema, usando a abordagem top-down, através de um refinamento sucessivo.

Conteúdo

Primeiramente, o professor coleciona alguns problemas complexos para serem resolvidos, no contexto de procedimentos já implementados e disponíveis no sistema (correspondentes aos subproblemas do problema original). Num segundo momento, esses procedimentos serão analisados e reconstruídos pelos estudantes.

Alguns problemas poderiam ser direcionados ao processamento de cadeias de caracteres (strings), com o uso das ferramentas oferecidas pela linguagem de programação disponível. Algoritmos desse tipo são importantes, pois tornam evidente que apenas o processamento formal é esperado dos computadores. Exemplos de problemas adequados são: concatenação, contagem do numero de palavras em um texto, escrita do texto em seqüência invertida, mudança de todas as vogais no texto, procura de palavras no texto.

É importante chamar a atenção para problemas que fogem ao escopo dessas abordagens formais, como, por exemplo: tradução, correção ou resumo de textos.

 

2.TRADUÇÃO DO PROJETO EM UM PROGRAMA

Objetivos

Os estudantes deverão ser capazes de:

1.entender que o computador processa apenas "objetos formais";

2.transformar os seus algoritmos em programas de computador com uma linguagem procedural, usando funções e procedimentos formais;

3.produzir um programa legível, de fácil entendimento, que use interação com o usuário. 

Conteúdo

É importante que o projeto de algoritmos na forma top-down seja transformado em um programa que tenha procedimentos e funções, para que os estudantes possam apreciar a necessidade dessas construções.

Antes que o programa seja escrito, os alunos devem avaliar, passo a passo, o seu algoritmo em partes, eliminando os erros de cada módulo. Eles deverão criar o seu próprio conjunto de dados para teste, de modo que explorem não apenas as diferentes partes do algoritmo, mas também o algoritmo como um todo.

Os alunos devem usar as seguintes construções de programação: procedimentos, funções, variáveis locais, globais e parâmetros. Devem ser oferecidos procedimentos e funções de manipulação de strings, capazes de agir como ferramentas para a resolução de problemas de processamento de texto.

 

3. DAR VIDA AO PROGRAMA (IMPLEMENTAÇÃO)

Objetivos

Os estudantes deverão estar aptos a:

1.usar um ambiente de programação padrão para editar, compilar, corrigir os erros e executar os programas construídos;

2.fornecer uma descrição útil e significativa sobre o funcionamento interno e externo dos programas. 

Conteúdo

Os estudantes devem armazenar e recuperar os programas em disco, para uso futuro e modificações. Eles devem aprender a diferenciar erros de sintaxe e erros de execução, identificando as possíveis causas de cada tipo de erro.

Os alunos devem testar os seus próprios programas com massa de dados fornecida ou criada para determinar a correção e as limitações dos programas, aprendendo como obter saídas impressas e cópia em disco do código de fonte.

Os professores devem assegurar-se de que a documentação produzida para todos os programas seja clara e adequada, de forma que outros usuários estejam aptos a entender o funcionamento dos programas e a efetuar futuras modificações.

 

Recursos

Recursos mínimos necessários:

Recursos extras opcionais

Conexões

Esta unidade é uma preparação essencial para os Módulos Geral e Profissionalizante no Nível Avançado.

Retornar Apêndice 1

Retornar