Programação de Computadores III

Documentos relacionados
Programação de Computadores III

Programação estruturada no Fortran 90-3

Introdução ao FORTRAN 90. Aula 4

Programação de Computadores III

Programação de Computadores:

Programação de Computadores III

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

Programação de Computadores:

Programação estruturada no Fortran 90-1

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

Introdução à Computação

Programação estruturada no Fortran 90-2

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

ALGORITMOS I. Procedimentos e Funções

Universidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas

Subprogramação. Leonardo Gresta Paulino Murta.

3. Linguagem de Programação C

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Programação de Computadores III

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Programação de Computadores III

Informática II Cap. 4-4

Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação.

Subprogramação. Subprogramação. Subprogramação. A subprogramação é uma ferramenta que contribui com a tarefa de programar:

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

Aula 11: Modularização

UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO

Subprogramação. Vanessa Braganholo

Programação de Computadores. Primeiro contato

Roteiro para Aula 1 de laboratório. 1) Mostrar estrutura básica de um código em Fortran. algoritmo. program nome_da_codificacao.

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1

Funções. Disciplina: Tópicos Especiais em TI PHP

Introdução ao FORTRAN (Parte I)

p A modularização consiste num método utilizado para facilitar a construção de grandes programas;

O que é uma variável?

Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Introdução ao Fortran 90. Aula 3

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

Programação de Computadores:

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos

Câmpus de Bauru Plano de Ensino Curso Ênfase Identificação Disciplina Docente(s) Unidade Departamento Créditos Carga Horária Seriação ideal

Métodos Computacionais em Física

Exercícios de Fixação Aula 09

Linguagem e Técnicas de Programação

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

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick

1.1 o que é um algoritmo... 6

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

Algoritmos e Programação

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

Introdução ao Fortran 90-1

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

ESTRUTURA HOMOGÊNEA: VETORES/ARRAYS

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

FACCAT Sistemas de Informação. Estruturas de Dados

Programação de Computadores II

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Visual Basic. III Procedimentos. CFAC Concepção e Fabrico Assistidos por Computador. João Manuel R. S. Tavares

CFAC: Visual Basic: III - Procedimentos

Prática 10 - Funções

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre

Modularização de Programas

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

Linguagem Computacional

Programação de Computadores III

Introdução ao Fortran 90-1

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon

Programação em FORTRAN III. João Manuel R. S. Tavares

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

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

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA

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

Variáveis em OpenMP. Esbel Tomás Valero Orellana

MODULARIZAÇÃO - PARTE 1

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

Análise Semântica e Tratamento de Erros Dependentes de Contexto

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

PROGRAMAÇÃO MODULAR. É uma metodologia para projetar programas como um conjunto de unidades individuais inter-relacionadas (sub-programas ou módulos).

Linguagem de Programação

Linguagem C Princípios Básicos (parte 1)

Exercícios de Fixação Introdução ao FORTRAN

Aula teórica 13. Tema 12. Subprogramas. Subprogramas em Java Chamada de métodos. Área de domínio das variáveis. Preparado por eng.

Linguagem C Funções. André Tavares da Silva.

Linguagens de Programação

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:

Fundamentos de Programação de Computadores Linguagem C Função Unidade 08 Linguagem C - Função 1/18

Capítulo 5. Nomes, Vinculações e Escopos

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

3. Linguagem de Programação C

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

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

02. [Sebesta, 2000] Qual é o perigo potencial dos nomes que fazem distinção entre maiúsculas e minúsculas?

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

Linguagens de Programação Funcional

Compiladores I Prof. Ricardo Santos (cap 1)

ECT1203 Linguagem de Programação

Transcrição:

Programação de Computadores III Subprogramação: Sub-rotinas e Funções Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157 TCC-00.157 Programação de Computadores III (2013.1) Considere o Programa a Seguir program p17codre real a, b, c read *, a, b c = a * b / 2.0 print *, 'a vale: ', a print *, 'b vale: ', b print *, 'a * b / 2.0 vale: ', c a = a / 2.0 b = b / 2.0 c = a * b / 2.0 print *, 'a vale: ', a print *, 'b vale: ', b print *, 'a * b / 2.0 vale: ', c É muito comum que vários trechos de código se repitam ao longo de um programa. Como fazer para economizar código, evitando a repetição? TCC-00.157 Programação de Computadores III (2013.1) 2 1

Subprogramas Pedaços de código que são chamadas pelo programa principal ou por outros subprogramas Vantagens Defeitos podem ser facilmente corrigidos, pois as modificações são feitas em um único local Defeitos podem ser evitados, pois a replicação de código pode levar a modificações incompletas O código fica mais legível Facilita o design de algoritmos, pois um problema é dividido em subproblemas TCC-00.157 Programação de Computadores III (2013.1) 3 Exemplo de Subprogramação em FORTRAN program p18subpr real a, b read *, a, b call mostra(a, b) a = a / 2.0 b = b / 2.0 call mostra(a, b) subroutine mostra(a, b) real a, b, c c = a * b / 2.0 print *, 'a vale: ', a print *, 'b vale: ', b print *, 'a * b / 2.0 vale: ', c TCC-00.157 Programação de Computadores III (2013.1) 4 2

Fluxo de Controle Programa Principal Subprograma A Subprograma B call A call B call C Subprograma C TCC-00.157 Programação de Computadores III (2013.1) 5 Fluxo de Controle O mesmo acontece quando usamos uma das funções pré-definidas do FORTRAN Programa Principal Sin( x ) y = Sin( x ) TCC-00.157 Programação de Computadores III (2013.1) 6 3

Fluxograma Um novo símbolo é utilizado na representação de subprograma chamado em um fluxograma Chamar Mostra(a,b) O subprograma passa a ter um fluxograma próprio O símbolo de início contém o nome do subprograma O símbolo de término contém a palavra Retorno TCC-00.157 Programação de Computadores III (2013.1) 7 Exemplo de Fluxogramas Início a b Mostra Mostra(a,b) c a * b / 2.0 a a / 2.0 a b b / 2.0 b Mostra(a,b) c Fim TCC-00.157 Programação de Computadores III (2013.1) Retorna 8 4

Tipos de Subprogramas Função Sempre retorna um valor A chamada é feita pelo identificador (nome) da função e argumentos entre parênteses, separados por vírgula o Exemplo: sin(x) O valor retornado é do tipo especificado na declaração da função Sub-rotina Não retorna um valor, necessariamente A chamada é feita por CALL seguido pelo identificado da sub-rotina e argumentos entre parênteses, separados por vírgula o Exemplo: call mostra(a,b) TCC-00.157 Programação de Computadores III (2013.1) 9 Exemplo de Função e de Sub-Rotina Veja o arquivo p19fusu.f TCC-00.157 Programação de Computadores III (2013.1) 10 5

Observações Importantes! 1. O nome dos argumentos de funções e sub-rotinas não precisa ser igual ao nome das variáveis O FORTRAN faz o casamento dos nomes call troca(a,b) subroutine troca(x,y) 2. Modificações no valor dos argumentos são visíveis fora do subprograma TCC-00.157 Programação de Computadores III (2013.1) 11 Observações Importantes! 3. Variáveis declaradas no programa principal não podem ser acessadas pelo subprograma, apenas aquelas passadas como argumento 4. Variáveis declaradas no subprograma não podem ser acessadas pelo programa principal 5. Funções devem ser declaradas no programa principal de forma semelhante a uma variável TCC-00.157 Programação de Computadores III (2013.1) 12 6

SUBROUTINE Declaração ocorre logo após o END do programa principal Sintaxe subroutine <nome>(<arg1>, <arg2>,, <argn>) <declaração dos tipos do parâmetros> <declaração de variáveis locais> <corpo do subprograma> TCC-00.157 Programação de Computadores III (2013.1) 13 Exemplos Simples de SUBROUTINE subroutine s1(a) integer a subroutine s3(a,b) real a integer b subroutine s2(a,b) integer a, b subroutine s4 TCC-00.157 Programação de Computadores III (2013.1) 14 7

SUBROUTINE Declaração de variáveis em sub-rotina As variáveis declaradas dentro de uma sub-rotina pertencem somente a ela (variáveis locais) Passagem de argumentos por referência A mesma região de memória do programa principal é utilizada pelos argumentos da sub-rotina Alterações no valor das variáveis passadas como argumento são refletidas no programa principal TCC-00.157 Programação de Computadores III (2013.1) 15 SUBROUTINE Chamada feita do programa principal, ou de outro subprograma, com o comando CALL Sintaxe call <nome>(<v_arg1>, <v_arg2>,, <v_argn>) v_argi é o valor passado como argumento, pode ser um valor constante ou uma variável Se for modificado dentro da sub-rotida, v_argi deverá ser uma variável TCC-00.157 Programação de Computadores III (2013.1) 16 8

Exemplo de SUBROUTINE Veja o arquivo p20tempe.f TCC-00.157 Programação de Computadores III (2013.1) 17 FUNCTION Declaração ocorre logo após o END do programa principal Sintaxe <tipo de retorno> function <nome>(<arg1>, ) <declaração dos tipos do parâmetros> <declaração de variáveis locais> <corpo do subprograma> TCC-00.157 Programação de Computadores III (2013.1) 18 9

Exemplos Simples de FUNCTION integer function f1(a) integer a f1 = real function f2(a,b) real a integer b f2 = O FORTRAN cria automaticamente uma variável com o nome da função, que deve ser utilizada para definir o valor de retorno TCC-00.157 Programação de Computadores III (2013.1) 19 FUNCTION Chamada feita do programa principal, ou de outro subprograma Precisa ser declarada como uma variável Retorna um único valor Sintaxe var = <nome>(<v_arg1>, <v_arg2>,, <v_argn>) TCC-00.157 Programação de Computadores III (2013.1) 20 10

Exemplo de FUNCTION Veja o arquivo p21volum.f TCC-00.157 Programação de Computadores III (2013.1) 21 11