Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com



Documentos relacionados
Introdução à Programação. Vetores. Prof. José Honorato F. Nunes

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Introdução à Programação

LP II Estrutura de Dados

Introdução à Programação. 3ª aula. Prof. José Honorato F. Nunes

LP II Estrutura de Dados

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

Estruturas de Repetição

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

LP II Estrutura de Dados Estruturas Heterogêneas e Listas Lineares Estáticas. Prof. José Honorato Ferreira Nunes

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

Programação de Computadores I. Linguagem C Função

Resumo VISUALG. A seção de declaração de variáveis começa com a palavra-chave var, e continua com as seguintes sintaxes:

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Aula 1 Oficina de Programação e Laboratório Apresentação. Profa. Elaine Faria UFU

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J.

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Orientação a Objetos

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

OBSERVAÇÕES: EXERCÍCIOS

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

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

Exercícios de Fixação Aulas 05 e 06

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

TUTORIAL MATLAB Victor Breder 2016

Controle de Fluxo Comandos de repetição: while e do-while

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

Herança. Prof. Leonardo Barreto Campos 1

O que é polinômio? Série O que é? Objetivos 1. Discutir o significado da palavra polinômio no contexto da Matemática.

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Politécnica - Departamento de Engenharia Mecânica

Conteúdo. 1 Introdução. Histograma do 1o Sorteio da Nota Fiscal Paraná 152/15. 1º Sorteio Eletrônico da Nota Fiscal Paraná

Avaliação e Desempenho Aula 1 - Simulação

ALGORITMOS I. Procedimentos e Funções

Exame de Equivalência à Frequência do Ensino Secundário

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

Lista de Exercícios - Programação I (Pascal/ Python)

Relatório Técnico: Descrição do algoritmo para pesquisa automática dos egressos do curso de Ciência da Computação

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc.

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Conteúdo. 1 Introdução. Histograma do Quinto Sorteio da Nota Fiscal Paraná 065/16. Quinto Sorteio Eletrônico da Nota Fiscal Paraná

Programação WEB I Funções

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

PROGRAMAÇÃO ORIENTADA A OBJETO INTRODUÇÃO

Produção de Vídeos Didáticos: Tábua de Galton

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS

13/09/2011. Atividades. Aula 5: REDE PERT/CPM PRINCÍPIOS DO PERT-CPM

Comandos de Desvio 1

INTEGRAÇÃO JAVA COM ARDUINO

IND 1115 Inferência Estatística Aula 8

Lógica para computação Professor Marlon Marcon

Pagamento de complemento de salário-maternidade, considerando que este valor deve ser deduzido da guia de INSS, pois é pago pelo INSS.

LÓGICA E ROBÓTICA PRIMEIRAS IMPRESSÕES

Montadores e Compiladores

Medidas de Tendência Central. Introdução Média Aritmética Moda Mediana

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Tópicos Principais. 1. Introdução 2. Procedimentos 3. Funções 4. Criando Funções 5. Funções Recursivas 6. Lista de Exercícios.

Microsoft Excel Ficha prática n. 8

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN

Programação de Computadores - I. Profª Beatriz Profº Israel

PHP Estruturas de repetição

Introdução a Algoritmos e Estruturas de Dados

Programação. Folha Prática 4. Lab. 4. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

José Wammes, Toledo, Paraná,

UM JOGO DE DOMINÓ PARA A LÓGICA PROPOSICIONAL

Formação WEB com PHP. Subtítulo

Cálculo I -A- Humberto José Bortolossi. Aula 1 18 de agosto de Departamento de Matemática Aplicada Universidade Federal Fluminense

Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12

CÁLCULO DO MODELO NUMÉRICO (MDT)

Agenda. O que é Testar? Por que testar? Quando testar? Processo de teste Níveis de teste Tipos de teste Classificação dos testes.

Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292

ESPECIFICAÇÕES TÉCNICAS SISTEMA DE DETECÇÃO VEICULAR OVERHEAD

Exercícios: comandos de repetição

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

Calculando seno(x)/x com o interpretador Hall.

3º Ano do Ensino Médio. Aula nº09 Prof. Paulo Henrique

Algoritmos APRENDENDO A PROGRAMAR COM C#

Aula 01 TEOREMAS DA ANÁLISE DE CIRCUITOS. Aula 1_Teoremas da Análise de Circuitos.doc. Página 1 de 8

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória

LINGUAGEM JAVA - RESUMO

CARTILHA DOS PROCEDIMENTOS DA BIOMETRIA

PLANEJAMENTO SIMPLIFICADO DE PROJETOS

TRANSFORMAÇÃO DE COORDENADAS TOPOGRÁFICAS EM GEODÉSICAS E VICE- VERSA GUIA PRÁTICO

Arte e Matemática. Série Matemática na Escola

Algoritmo e Pseudo-código

Módulos Combinatórios

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Algoritmos e Programação II

Transcrição:

Introdução à Programação Funções e Procedimentos Prof. José Honorato F. Nunes honoratonunes@gmail.com

RESUMO DA AULA SUB-ROTINAS: Procedimentos Funções Escopo de variáveis Parâmetros Prof. José Honorato F. Nunes honoratonunes@gmail.com

Sub-rotina Subprograma é um programa que auxilia o programa principal através da realização de uma determinada subtarefa. Também costuma receber os nomes de sub-rotina, procedimento, método ou módulo. Os subprogramas são chamados dentro do corpo do programa principal como se fossem comandos. Após seu término, a execução continua a partir do ponto onde foi chamado. É importante compreender que a chamada de um subprograma simplesmente gera um desvio provisório no fluxo de execução.

Procedimentos Procedimento é um subprograma que não retorna nenhum valor (corresponde ao procedure do Pascal). Sua declaração, que deve estar entre o final da declaração de variáveis e a linha inicio do programa principal, segue a sintaxe abaixo: procedimento<nome-de-procedimento> [(<seqüência-de-declarações-de-parâmetros>)] // Seção de Declarações Internas inicio // Seção de Comandos fimprocedimento

Procedimentos O <nome-de-procedimento> obedece as mesmas regras de nomenclatura das variáveis. Por outro lado, a <seqüência-de-declarações-de-parâmetros> é uma seqüência de [var] <seqüência-de-parâmetros>: <tipo-de-dado> separadas por ponto e vírgula. A presença (opcional) da palavra-chave var indica passagem de parâmetros por referência; caso contrário, a passagem será por valor. Por sua vez, <seqüência-de-parâmetros> é uma seqüência de nomes de parâmetros (também obedecem a mesma regra de nomenclatura de variáveis) separados por vírgulas.

Procedimentos Nos próximos exemplos, através de um subprograma soma, será calculada a soma entre os valores 4 e 9 (ou seja, será obtido o resultado -5) que o programa principal imprimirá em seguida. No primeiro caso, um procedimento sem parâmetros utiliza uma variável local aux para armazenar provisoriamente o resultado deste cálculo (evidentemente, esta variável é desnecessária, mas está aí apenas para ilustrar o exemplo), antes de atribuí-lo à variável global res:

Procedimentos procedimento soma var aux: inteiro inicio // n, m e res são variáveis globais aux <- n + m res <- aux fimprocedimento No programa principal deve haver os seguintes comandos: n <- 4 m <- -9 soma escreva(res)

A mesma tarefa poderia ser executada através de um procedimento com parâmetros, como descrito abaixo: procedimento soma (x,y: inteiro) inicio // res é variável global res <- x + y fimprocedimento No programa principal deve haver os seguintes comandos: n <- 4 m <- -9 soma(n,m) escreva(res)

Função Há um caso particular de subprograma que recebe o nome de função. Uma função, além de executar uma determinada tarefa, retorna um valor para quem a chamou, que é o resultado da sua execução. Por este motivo, a chamada de uma função aparece no corpo do programa principal como uma expressão, e não como um comando.

Escopo de variáveis Cada subprograma, além de ter acesso às variáveis do programa que o chamou (são as variáveis globais), pode ter suas próprias variáveis (são as variáveis locais), que existem apenas durante sua chamada. Para se criar subprogramas, é preciso descrevê-los após a declaração das variáveis e antes do corpo do programa principal.

Parâmetros Ao se chamar um subprograma, também é possível passar-lhe determinadas informações que recebem o nome de parâmetros (são valores que, na linha de chamada, ficam entre os parênteses e que estão separados por vírgulas). A quantidade dos parâmetros, sua sequência e respectivos tipos não podem mudar: devem estar de acordo com o que foi especificado na sua correspondente declaração.

Função - exemplos Voltando ao exemplo anterior... funcao soma: inteiro var aux: inteiro inicio // n, m e res são variáveis globais aux <- n + m retorne aux fimfuncao No programa principal deve haver os seguintes comandos: n <- 4 m <- -9 res <- soma escreva(res)

Função - exemplo Se realizássemos essa mesma tarefa com uma função com parâmetros passados por valor, poderia ser do seguinte modo: funcao soma (x,y: inteiro): inteiro inicio retorne x + y fimfuncao No programa principal: n <- 4 m <- -9 res <- soma(n,m) escreva(res)

Vetores - exemplos algoritmo "funcaonotas" var C : Inteiro trabalho, prova : real funcao media (n1,n2: real): real inicio retorne (n1 + n2) / 2 fimfuncao inicio Para C de 1 ate 5 Faca Escreva("Informe a nota do trabalho do ", C, "º aluno : ") Leia(trabalho) Escreva("Informe a nota da prova do ", C, "º aluno : ") Leia(prova) Escreval("A média do aluno é ", media(trabalho,prova)) FimPara fimalgoritmo

Atividades: utilizar pseudocódigo Fazer um algoritmo para receber o valor da cotação do dia em dolar e em euro. Depois o programa deve solicitar ao usuário o valor da compra e mostrar o valor a pagar em reais, dolar e euro; O programa deve continuar perguntando o valor da compra até que seja informado o valor 0 (ZERO); Deve ser criado uma função para converter o valor de reais para dolar e/ou euro.

Bibliografia Básica MANZANO,Wilson Y. Yamaturni-São Paulo-SP. Lógica estruturada para programação de computadores, Ed. Érica 1997 e 2001. MORAES, Celso Roberto. Estruturas de Dados e Algoritmos. Ed. Érica, São Paulo LOPES, Anita. Introdução à programação. Rio de Janeiro: Campus,2002. Prof. José Honorato F. Nunes honoratonunes@gmail.com

Bibliografia Complementar BENEDUZZI, Humberto M. e METZ, João A. Lógica e Linguagem de Programação Introdução ao Desenvolvimento de Software (1ª edição). Editora do Livro Técnico, 2010 FORBELLONE, A. L. V. e Eberspacher, H. F. Lógica de Programação - a Construção de Algoritmos e Estruturas de Dados (3ª edição). Pearson, 2005 CORMEN, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002. ZIVIANI, Nivio. Projeto de Algoritmos. Editora Nova Fronteira, 2004. SEBESTA, Robert W. Conceitos de Linguagens de Programação. Bookman, 2001. Prof. José Honorato F. Nunes honoratonunes@gmail.com