Linguagem de Programação

Documentos relacionados
Linguagem de Programação

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

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

Linguagem de Programação

Estrutura de Dados (DPADF 0056)

Modularidade - Funções e Procedimentos

Algoritmos e Programação

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

Modularidade - Fun ções e Procedimentos

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

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

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

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

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

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

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

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

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

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

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Programação Introdução

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

Desenvolvimento Web. JavaScript aula IV Funções. Professor: Bruno E. G. Gomes

ALGORITMOS I. Procedimentos e Funções

Estrutura de Dados (DPADF 0056)

Compiladores. Análise Semântica

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

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

Aula 11: Modularização

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

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

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

Linguagem e Técnicas de Programação

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

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

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

Algoritmos II Aula 11 Funções e Procedimentos

Estrutura de Dados (DPADF 0056)

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Estrutura de Dados (DPADF 0056)

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.

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

CFAC: Visual Basic: III - Procedimentos

Capítulo VI : Subprogramas

O que é uma variável?

Programação I Funções. Prof. Carlos Alberto

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

Linguagem de programação: Pascal

Sub-rotinas David Déharbe

ECT1203 Linguagem de Programação

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

Computação eletrônica: Funções

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

Algoritmos e Programação

Explicação do programa:

Linguagem Computacional

Rotinas Funções. APROG (Civil) Aula 14

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

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

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

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

Lógica de Programação I. Gilson de Souza Carvalho

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet

Instituto de Informática Estrutura de Dados II

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

3. Linguagem de Programação C

PRIMEIRA AVALIAÇÃO IDENTIFICAÇÃO. Nome: ID: 25/04/2005. PARTE I Questões Objetivas

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

Pseudocódigo e Visualg

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Aula 4: Introdução à Linguagem C++

3. Linguagem de Programação C

Subprogramação. Leonardo Gresta Paulino Murta.

Algoritmos e Programação

Aula 10 Modularização Cleverton Hentz

Linguagens de Programação Aula 11

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

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

Capítulo 3: Programando com Funções

Linguagem de Programação I. Aula 10 Funções

6) ESTRUTURA DE UM PROGRAMA

Introdução ao FORTRAN 90. Aula 4

Procedimentos e Funções Profa Jacqueline 1

Laboratório de Programação de Computadores para Engenharia - Notas de aula - Teoria - 12/12/2013. Funções

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Comandos de controle de fluxo: if / for / while / do while.

Fundamentos de Programação em Python

Introdução à Engenharia ENG1000

O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

Sobre Variáveis, Ponteiros, Arrays, Parâmetros e Alocação de Memória

Algoritmos e Técnicas de Programação

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

Nomes, vinculações e escopos

Algoritmos. Prof. Jonatas Bastos Site:

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

16. Compilação no Linux

: 16/11/2004. Custódio Dirceu Marcus Vinícius ! " # $

Lógica de Programação, Algoritmos e Estruturas de Dados

Transcrição:

Linguagem de Programação Aula 7 Modularização Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Dividir para conquistar

Módulos Modularizar significa dividir um grande problema em pequenos problemas que cooperam entre si. Na medida em que os problemas se tornam mais complexos e extensos percebemos algumas situações que nos remetem à modularização, em especial: Códigos repetidos (inclusive entre aplicações); Códigos muito extensos que dificultam compreensão do todo;

Vantagens de um código modularizado: Facilita a detecção de erros; Facilita a tarefa de testes, afinal é mais fácil testar os módulos individualmente do que o programa completo; Facilita a manutenção (correção de erros, melhoramentos, etc.) uma correção em um determinado módulo se reflete em todo o programa; Permite o desenvolvimento independente dos módulos, simplificando e reduzindo o problema; Reutilização do código desenvolvido.

Subprogramas Modularizar um programa pode significar dividi-lo em subprogramas; Um subprograma É um bloco de código definido, preocupado em resolver uma determinada tarefa; Podem ser chamados pelo programa ou até mesmo por outros subprogramas; Se comunicam com o código que os chamou através de parâmetros ou argumentos. Podem apenas desviar o fluxo de execução (procedimentos) ou então retornar valores (funções);

Subprogramas sem valor de retorno

Procedimentos São as subrotinas mais comuns; Desviam o fluxo de execução para a primeira instrução do procedimento, que passa então a ser executada; Ao final o fluxo de execução retorna para o código que o chamou (programa principal ou outra subrotina);

Procedimentos - Sintaxe procedure NomeDoProcedure( <parametro1 : tipo>; <parametro2 : tipo>; <parametro n : tipo>); var //Variáveis locais do procedimento const //Constantes locais do procedimento begin //início do procedimento //Corpo do procedimento end; //fim do procedimento

Procedimentos - Exemplo Procedimento que recebe como parâmetro uma frase, um valor de linha e coluna e escreve o texto posicionado:

Variáveis Globais x Variáveis Locais Com a utilização de subrotinas surge a necessidade de diferenciarmos 2 tipos de variáveis... Globais Variáveis que tem validade (podem ser acessadas) por todas as partes do programas; Locais Variáveis que são declaradas dentro de subrotinas e somente podem ser acessadas pela subrotina que as criou.

Variáveis Globais x Variáveis Locais Variáveis globais Variável local

Subprogramas com valor de retorno

Funções São tipos especiais de subprogramas que além de desviar o fluxo de execução normal, como os procedimentos, retornam um valor... A função sempre possui a indicação de um tipo de retorno... seu valor de retorno dever respeitar este tipo; Funções podem também podem ter parâmetros/argumentos; O retorno de uma função pode ser utilizado em expressões ou armazenado.

Funções - Sintaxe function NomeDaFunction( <parametros : tipo> ) : tipo; var //Variáveis locais da função const //Constantes locais da função begin //início da função //Corpo da função NomeDaFuncao := valor_de_retorno; //Retorno da função end; //fim da função

Funções - Exemplo Função que recebe como parâmetro um número e retorna true se ele for par ou false se ele for impar. Tipo de retorno da função Retorno da função Utilização da função

Por referência ou por valor

Parâmetros Também conhecidos por argumentos; São um mecanismo de comunicação da subrotina (procedimento ou função) com o meio externo; Ao desenvolver uma subrotina devemos nos perguntar: o que vou precisar para codificar essa subrotina? Quais são os valores que poderão variar e que devem ser informados pelo código que está chamando a subrotina? Por exemplo, para desenhar um círculo na tela, o que o procedimento precisaria saber?

Parâmetros (cont.) Parâmetros se comportam como variáveis locais, ou seja, variáveis que só tem validade no corpo da subrotina. O comportamento da subrotina pode ser alterado em função dos parâmetros/argumentos recebidos. O conjunto de parâmetros de um subprograma constituem a interface ou assinatura do mesmo. Parâmetros em um sentido mais amplo, servem para configurar, ou seja, mudar o comportamento padrão de uma aplicação.

Parâmetros (exemplo) Essa subrotina não possui parâmetros Essa subrotina possui um parâmetro inteiro (NumEstrelas) Chamada das subrotinas: Os valores 50 e 25 são passados como parâmetro.

Tipos de passagem de parâmetros Por valor Apenas o valor é passado para a subrotina; Após a execução da subrotina a variável externa a subrotina utilizada para passar como parâmetro não possui seu valor alterado. Por referência Neste caso o endereço de memória da variável é passada ao subprograma, e não apenas seu valor; Ao final da execução da subrotina o valor do parâmetro permanece, uma vez que foi atribuído ao endereço que referencia a variável.

Passagem de parâmetro por valor Neste caso, apenas o valor da variável numero é passado para a subrotina, ao final seu valor permanece 5

Passagem de parâmetro por referência Neste caso, a referência (endereço) da variável numero é passada para a subrotina de forma que ao final seu valor é de 15 A palavra reservada var indica que o parâmetro é passado por referência e não por valor.

Bibliotecas de funções

Units - Unidades Units são bibliotecas (libraries) com um conjunto de funções, procedimentos, tipos, variáveis e constantes pré-definidos e que podem ser utilizados pelo programador. Ao declarar a utilização de uma biblioteca o compilador anexa seu código ao executável gerado.

Definindo uma unidade Interface da biblioteca (indicação de quais funções e procedimentos fazem parte da mesma). Em Pascal a unidade tem END. mas não tem begin Implementação funções e procedimentos com seus códigos.

Utilizando uma unidade Declaração na seção uses O procedimento escrever_centralizado é importado da unit rotinasuteis

Exercícios para fixação http://www.cafw.ufsm.br/~bruno/disciplinas/ling_programacao/exercicios/lista7.html