A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula01 – Técnicas de Programação II

Apresentações semelhantes


Apresentação em tema: "Aula01 – Técnicas de Programação II"— Transcrição da apresentação:

1 Aula01 – Técnicas de Programação II
Objetivo: estudar conceitos de modularização (procedimentos e funções) com a finalidade elaborar programas bem estruturados.

2 Introdução No fim da década de 60, um conjunto de problemas no desenvolvimento de sistemas de programação levou os países desenvolvidos à chamada “crise de software”. A ausência de uma metodologia para a construção de programas conduz a um software geralmente cheio de erros e com alto custo de desenvolvimento que, consequentemente, exige um custo elevado para sua correção e manutenção futuras.

3 Introdução A programação estruturada é hoje o resultado de uma série de estudos e propostas de disciplinas e metodologias para desenvolvimento de software. A modularização visa a decomposição de algoritmos em módulos para dominar a complexidade e organizar o processo de programação.

4 Introdução Um módulo é um grupo de comandos, constituindo um trecho de algoritmo, com uma funcionalidade bem definida e o mais independente possível em relação ao resto do algoritmo. A experiência recomenda que os módulos de um programa devem ter um tamanho limitado. Módulos muito grandes são difíceis de ser compreendidos e, em geral, são multifuncionais.

5 Objetivos objetos globais (que podem ser usados em funções ou procedimentos internos) objetos locais (usados apenas no procedimento ou função em que foram definidos)

6 Decisão pela divisão do algoritmo em módulos traz benefícios tais como:
A independência do módulo permite uma manutenção mais simples e evita efeitos colaterais em outros pontos do algoritmo; A elaboração do módulo pode ser feita independentemente e em épocas diferentes do resto do algoritmo; Testes e correções dos módulos podem ocorrer em separado; e Um módulo independente pode ser utilizado em outros algoritmos que requeiram o mesmo processamento por ele executado.

7 Ferramentas para a Modularização
As ferramentas de modularização são as sub-rotinas ou procedimentos (procedures) e funções (function). As “procedures” e “functions” são módulos de programação que servem basicamente a três objetivos:

8 Ferramentas para a Modularização
evitar que uma certa seqüência de comandos necessária em vários locais de um algoritmo tenha que ser escrita repetidamente nestes locais; dividir estruturar um algoritmo em partes fechadas e logicamente coerentes; aumentar a legibilidade de um algoritmo.

9 Elas permitem a construção de programas, constituídos de módulos bastante independentes que correspondem aos refinamentos sucessivos, recomendados na programação estruturada, como pode ser visto no diagrama abaixo. PP S1 S2 F1 F2 S3 F3 S4 F4 Onde: PP é o programa principal; S1, S2, S3 e S4 são procedimentos; F1, F2, F3 e F4 são funções.

10 Um procedimento ou uma função é um trecho de programa que possui variáveis e comandos próprios e que, para ser executado, deve ser ativado por um programa principal, por outro procedimento ou por outra função.

11 A definição de um procedimento ou de uma função é feita através de sua declaração, a qual é constituída de um cabeçalho, de declarações, se houver, e de um corpo (algoritmo). O cabeçalho identifica a função ou procedimento através de um nome e pode conter uma lista de parâmetros. As declarações podem ser de objetos globais e de objetos locais. O corpo contém uma lista de comandos, cuja ordem de execução é determinada pelas estruturas básicas de controle. As declarações dos procedimentos ou funções são feitas logo após a declaração de objetos globais.

12 Os identificadores declarados em um procedimento ou em uma função representam objetos locais, portanto não entram em conflito com os identificadores declarados no programa principal ou em outros procedimentos e funções. A comunicação entre programa principal, procedimentos e funções ocorre através de chamadas. Os dados são transferidos através de parâmetros e/ou pela utilização de variáveis globais. O uso de variáveis globais não constitui uma boa prática de programação; por conseguinte, será utilizada, preferencialmente, a transferência de dados através de parâmetros.

13 Procedimento A forma geral de declaração é a seguinte.
procedure nome (lista_de_parâmetros); declaração de objetos begin comandos end;

14 Dentre os modos de transferência de parâmetros, pode-se destacar:
Passagem de parâmetros por valor: As alterações feitas nos parâmetros formais, dentro do procedimento (ou função), não se refletem nos parâmetros atuais. O valor do parâmetro atual é copiado para o parâmetro formal, durante a chamada do procedimento (ou função). Passagem de parâmetros por referência: Toda alteração feita num parâmetro formal corresponde à mesma alteração feita no parâmetro atual associado. Isto é conseguido pela passagem do endereço do parâmetro atual no momento da chamada.

15 Exemplos (Passagem de parâmetros por valor)
Elaborar um programa que entre com dois valores reais e determine (calcular e imprimir) a soma deles. O programa deve efetuar a soma dos dois valores através de um procedimento chamado SOMAR, que deve receber os dois parâmetros.

16 Program Aula01_Exemplo01;
Uses Wincrt; {procedimento para calcular e imprimir a soma de dois números reais} procedure somar (x, y: real); {Declaração de variáveis locais ao procedimento} var s:real; {comandos do procedimento} begin s := x + y; writeln(‘Soma= ‘, s:10:3); end;{fim do procedimento somar} {Declaração de variáveis globais} var a, b : real; {Programa principal} begin clrscr; write(‘Digite o primeiro número....: ‘); readln(a); write(‘Digite o segundo número....: ‘); readln(b); somar(a,b); {chamada do procedimento somar passando a e b por valor} end. {fim do programa principal}


Carregar ppt "Aula01 – Técnicas de Programação II"

Apresentações semelhantes


Anúncios Google