Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções.

Documentos relacionados
UNIDADE 6 - PROGRAMAÇÃO MODULAR

AULA 13 PROCEDIMENTOS. Disciplina: Algoritmos e POO Professora: Alba Lopes.

Subalgoritmos - motivação

Algoritmos Estrutura Condicional

Aula 11: Modularização

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

CONCEITOS DE ALGORITMOS

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet

5. Expressões aritméticas

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Algoritmos e Programação I

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

Modularização. Prof. Antonio Almeida de Barros Junior

Algoritmos e Programação

Algoritmos. Prof. Jonatas Bastos Site:

Português Estruturado

Algoritmos e Técnicas de Programação

ALGORITMOS AULA 2. Profª Amanda Gondim

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Algoritmo e Programação Matemática

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Aula 10: Introdução a Vetores e Matrizes

Programação de Computadores I Procedimentos e Funções PROFESSORA CINTIA CAETANO

Programação estruturada no Fortran 90-2

Programação Estruturada Aula VisualG

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Aula 05. Modularização Função Subrotina Recursividade

Programação de Computadores I Estrutura de um Programa Procedimentos de Entrada e Saída PROFESSORA CINTIA CAETANO

ESTRUTURA HOMOGÊNEA: VETORES/ARRAYS

Desenvolvimento de programas

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage Algoritmos- continuação

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA COMANDOS DE DESVIO

LÓGICA DE PROGRAMAÇÃO

Processamento de Dados aplicado à Geociências. AULA 4:Comando de Entrada Comando de Saída Comando de Atribuição

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Linguagem Computacional

Noções de algoritmos - Aula 1

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Pseudolinguagem. BC0501 Linguagens de Programação t2 Aula 11. Prof. Alysson Ferrari ufabc.edu.br

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Português Estruturado (VISUALG)

O nome da variável é utilizado para identificação (para carga e posterior uso). Porém, são necessárias algumas regras para nomear essa variável:

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

MODULARIZAÇÃO - PARTE 1

Funções e procedimentos. Lógica de programação Professor Leo Larback

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

Módulos ou Subrotinas: PARTE II. Criando seus próprios módulos

Algoritmos e Programação I

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

PROGRAMAÇÃO COMPUTACIONAL I

Blocos, Escopo de variáveis, procedimentos e funções. 1- Blocos

Desenvolvido por: Juarez A. Muylaert Filho - Andréa T. Medeiros - Adriana S. Spallanzani -

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

Introdução aos Algoritmos

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

TIPOS DE DADOS E VARIÁVEIS

Identificadores Nome de variáveis, constantes, métodos, etc...

Pseudocódigo. Regras para nomear um algoritmos: Variáveis. Exemplo: Exemplo: Exemplo: O valor do dolar; O peso de uma pessoa;

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Programação de Computadores III

CURSO BÁSICO DE PROGRAMAÇÃO AULA 2. Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta Visualg

Módulos ou Subrotinas: PARTE II. Criando seus próprios módulos

Algoritmos Parte 2. Introdução à Ciência da Computação

Portugol. Tiago Alves de Oliveira

Introdução aos Algoritmos

Aula 7: Estrutura de Decisão

Métodos de Representação de Algoritmos

IV.2 Aspectos Léxicos Convencionais

Algoritmos e Lógica de Programação Introdução e formas de representação

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Capítulo 7 Matriz. Roteiro

Programação de Computadores III

Fundamentos de Programação 1

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Instruções, dados e expressões

ALGORITMOS I. Procedimentos e Funções

Universidade Veiga de Almeida Algoritmos e Linguagem I

Algoritmos e Programação

Algoritmos e Programação - Engenharia da Computação -

Aula 07 Introdução à Programação Subprogramas

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Aula 8 Comandos de Seleção

Introdução à Programação. Funções e Escopo de Variáveis

Programação de Computadores

Disciplina de Algoritmos e Programação

Introdução à Ciência da Computação

Transcrição:

ESTRUTURAÇÃO DOS MÓDULOS DE UM ALGORITMO Uma subrotina é um algoritmo hierarquicamente subordinado a um outro algoritmo geralmente chamado de módulo principal. Da mesma forma, uma subrotina pode conter outras subrotinas aninhadas. A B C D TIPOS BÁSICOS DE SUBROTINAS Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções. PROCEDIMENTOS Os procedimentos são utilizados quando um conjunto de comandos repete-se ao longo do algoritmo. Então, para não escrevermos várias vezes o mesmo bloco de comandos, usamos os procedimentos. Sintaxe: procedimento IDENTIFICADOR (parâmetros); Comandos; fim procedimento IDENTIFICADOR; Onde: - IDENTIFICADOR é o nome de referência do procedimento; - parâmetros é a lista de variáveis que serão passadas ao procedimento para serem manipuladas no seu interior. Na definição dos parâmetros também devem ser declarados seus tipos. Nem todo procedimento utiliza-se de parâmetros, portanto é um item opcional.

Exemplo: procedimento LINHA (inteiro: COMPRIMENTO); inteiro : I; para I = 1 até COMPRIMENTO faça escreva - ; fim para; fim procedimento LINHA; FUNÇÕES As funções constituem um tipo especial de subrotina, bastante semelhante ao procedimento, que tem a característica especial de retornar ao algoritmo chamador um valor associado ao nome da função. Esta característica permite uma analogia com o conceito de função na matemática. A utilização de outras funções no algoritmo como por exemplo, seno, tangente ou qualquer outra função especial, pode ser feita declarando-se um procedimento função. A declaração de uma função é semelhante a de um procedimento. Difere somente na especificação do tipo da mesma, ou seja, do tipo de valor que será retornado. Apesar de terem sido citadas apenas funções numéricas, elas podem ser lógicas ou literais. Sintaxe: função tipo de retorno: IDENTIFICADOR (parâmetros); comandos; fim função IDENTIFICADOR; Onde: - tipo de retorno é o tipo de dado que a função retornará (inteiro, real, lógico, caracter); - IDENTIFICADOR é o nome de referência da função; - parâmetros é a lista de variáveis que serão passadas à função para serem manipuladas no seu interior. Na definição dos parâmetros também devem ser declarados seus tipos. Nem toda função utiliza-se de parâmetros, portanto é um item opcional.

Exemplo: função lógico: PAR (inteiro : N); se (N mod 2 = 0) então PAR = verdadeiro senão PAR = falso; fim se; fim função PAR; PASSAGEM DE PARÂMETROS A transferência de informações de e para subrotinas utilizando-se variáveis globais não constitui uma boa disciplina de programação. Estas transferências precisam ser melhor formalizadas e documentadas a bem da legitimidade, documentação e organização do programa elaborado. Em algoritmos, a transferência de informações de e para subrotinas pode ser feita com a utilização de parâmetros. Esta utilização formaliza a comunicação entre módulos. Além disso, permite que um módulo seja utilizado com operandos diferentes, dependendo do que se deseja do mesmo. Parâmetros de definição são objetos utilizados dentro das subrotinas que em cada ativação representam objetos de nível mais externo. A forma de se utilizar parâmetros em subrotinas foi apresentada anteriormente. A chamada de uma subrotina aparece numa expressão e tem a seguinte forma: NOME DO PROCEDIMENTO/FUNÇÃO (Lista de parâmetros de chamada);

Exemplo: início real : A, B, C; procedimento EXEMPLO (real: VALOR1, VALOR2, VALOR3); real : MAIORVALOR; MAIORVALOR = VALOR1; se (VALOR2 > MAIORVALOR) então MAIORVALOR = VALOR2; fim se; se (VALOR3 > MAIORVALOR) então MAIORVALOR = VALOR3; fim se; escreva O maior valor é:, MAIORVALOR; fim procedimento EXEMPLO; {corpo do programa principal} leia Digite 3 números: ; A, B, C; EXEMPLO (A, B, C); escreva Fim de execução ; fim.

PASSAGEM DE PARÂMETROS POR VALOR Na passagem de parâmetros por valor (ou por cópia) o parâmetro real é calculado e uma cópia de seu valor é fornecida ao parâmetro formal, no ato da invocação da subrotina. A execução da subrotina prossegue normalmente e todas as modificações feitas no parâmetro formal não afetam o parâmetro real, pois trabalha-se apenas com uma cópia do mesmo. Exemplo: início fim. inteiro : X; procedimento PROC (inteiro: Y); Y = Y + 1; escreva Durante =, Y; fim procedimento PROC; X = 1; escreva Antes =, X; PROC (X); escreva Depois =, X; O algoritmo anterior fornece o seguinte resultado: Antes = 1; Durante = 2; Depois = 1; Este tipo de ação é possível porque, neste mecanismo de passagem de parâmetros, é feita uma reserva de espaço em memória para os parâmetros formais, para que neles seja armazenada uma cópia dos parâmetros reais.

PASSAGEM DE PARÂMETROS POR REFERÊNCIA Neste mecanismo de passagem de parâmetros não é feita uma reserva de espaço em memória para os parâmetros formais. Quando uma subrotina com parâmetros passados por referência é chamada, o espaço de memória ocupado pelos parâmetros reais é compartilhado pelos parâmetros formais correspondentes. Assim, as eventuais modificações feitas nos parâmetros formais também afetam os parâmetros reais correspondentes. Uma mesma subrotina pode utilizar diferentes mecanismos de passagem de parâmetros, para parâmetros distintos. Para diferenciar uns dos outros, convencionou-se colocar o prefixo var antes da definição dos parâmetros formais passados por referência. Se por exemplo um procedimento tem o seguinte cabeçalho: procedimento PROC (inteiro: X, Y; real: var Z; real: J) Então: - X e Y são parâmetros formais do tipo inteiro e são passados por valor; - Z é um parâmetro formal real passado por referência; - J é um parâmetro formal real passado por valor. O exemplo do item anterior, alterado para que o parâmetro Y do procedimento seja passado por referência, torna-se: início fim. inteiro : X; procedimento PROC (inteiro: var Y); Y = Y + 1; escreva Durante =, Y; fim procedimento PROC; X 1; escreva Antes =, X; PROC (X); escreva Depois =, X; O resultado do algoritmo modificado é: Antes = 1; Durante = 2; Depois = 2;