Aula Teórica 09 Funções

Documentos relacionados
Funções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Funções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Aula Teórica 09 Funções

Funções. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Funções. Funções constituem ferramenta essencial para a modularização de código.

AULA TEÓRICA 03 COMANDO CONDICIONAL

Fixação de conteúdo teórico

Aula Teórica 06. Material Didático Proposto. Conteúdos da Aula. Estruturas de Repetição Exercícios

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 12

Aula Teórica 03. Comandos Condicionais (Decisão)

Aula Teórica 04. Material Didático Prof. Red

Comandos de desvio de fluxo. Expressões lógicas.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM. Programação de Computadores I - BCC /1.

Material Didático Unificado.

Ler os valores dos coeficientes a, b e c Calcular o valor de delta Obter as raízes da equação Imprimir as raízes da equação

Comandos de desvio de fluxo. Expressões lógicas.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Puca Huachi Vaz Penna / José Américo T. Messias

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Aula 15 - Estruturas de Repetição (p3)

Comandos de Desvio 2

Comandos de desvio de fluxo. Expressões lógicas.

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Introdução ao Scilab. Comandos de entrada e saída de dados.

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Prática 10 - Funções

Aula 05: Condicionais (if / else)

Aula 15: Introdução a Funções

Python 3.x Estrutura de Repetição while

UFOP PC-I Prof. Guilherme / Anderson. Comando For e String

Material Didático Unificado.

Lista de Exercícios Complementares 1 - Prof. Red. Entrada e Saída de Dados

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Aula 07: Introdução a Funções

Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701. Aula Teórica 08.

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

Comandos de repetição while

Programação de Computadores I BCC Primeira Avaliação 19/01/2013 Valor (2,0)

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Exercícios Repetição

Lista de Exercícios 3

Aula 11 - Repetições Encaixadas

Funções: Primeira Parte

Introdução à Engenharia ENG1000

DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).

Semana 10: Vetores. Material Didático Unificado.

É um interpretador,, ou seja, um programa que executa programas; ao contrário de um compilador, não traduz um programa para instruções de máquina.

ACH5531 Introdução à Computação

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

Programação de Computadores I BCC701 Aula Teórica 08 Exercícios

Algoritmos. Estrutura de Repetição. enquanto. while. Grupos de Slides No 5. Prof. SIMÃO

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

ESTRUTURAS DE CONTROLE

CCO 016 / COM 110 Fundamentos de Programação

Recursividade. Estrutura de Dados. Prof. Kleber Rezende

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1

BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário

Programação de Computadores I BCC Segunda Avaliação 02/03/2013 Valor (3,0)

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Working 03 : Conceitos Básicos II

BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário

Vetores. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário

Programação de Computadores I BCC 701 Lista de Exercícios Módulo

Estruturas de Controle

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

, se x = y. , se x > y

Laboratório 3 Comandos de repetição while, do-while e for

Aula Teórica 04. Material Didático

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

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

Aula 03 - Introdução ao Scilab (p2)

1. Escreva um algoritmo em fluxograma que descreva a sequência 1, 5, 13, 17, 21, 25,?,?,?,?. Ou seja, até o seu 10º termo.

Lista de Exercícios Algoritmos Vetores. 10) Escreva um algoritmo em PORTUGOL que armazene em um vetor todos os números

Programação de Computadores I BCC Simulado da Segunda Avaliação 17/12/2015 Valor (10,0) Duração: 110 minutos

Programação de Computadores I BCC Teórica 15

Comandos de Desvio 1

Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701. Aula Teórica 06

Laços de repetição for, while, do-while

Lista de Exercícios Estrutura de Repetição

Fixação de conteúdo teórico

MC102 Algoritmos e Programação de Computadores

Grupo B Estruturas de Repetição

Agenda. Conjunto de variáveis. O tipo de dados Vetor INTRODUÇÃO. Vetores.

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 04 Estruturas de Dados Homogêneas Vetores

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

COMANDOS DE REPETIÇÃO (ENQUANTO)

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Transcrição:

Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/bcc701 2014-1 Aula Teórica 09 Funções Material Didático Proposto. 1 Propósitos do Uso de Funções Modularizar um programa em partes menores; Executar uma tarefa que é frequentemente solicitada; Aumentar a legibilidade e manutenibilidadedo programa; Implementar as chamadas UDF (User Defined Functions), para complementar as necessidades do programador na execução de tarefas não suportadas pelo ambiente de programação. 2 1

Ler dois valores inteiros; Calcular o maior valor desses dois números; Imprimir o maior valor. 3 x1 = input( Primeiro Valor = ); x2 = input( Segundo Valor = ); Maior = maior2val(x1, x2); Printf( O MAIOR VALOR É: %g, Maior); 4 2

clear; clc; // Definição da função function Retorno = maior2val(a, b) if a > b then Retorno = a; else Retorno = b; function // Programa Principal x1 = input( Primeiro Valor = ); x2 = input( Segundo Valor = ); Maior = maior2val(x1, x2); printf( \no MAIOR VALOR É: %g, Maior); 5 Sintaxe de Função Parâmetro de Saída: calculado pela função function Retorno = maior2val(a,b) if a > b then Retorno = a; else Retorno = b; function Parâmetro de Entrada: fornecido na chamada da função 6 3

Fazer a leitura de seis valores numéricos positivos, não nulos e inteiros; Realizar a validação da entrada; Encontrar o primeiro menor, e o segundo menor, valores lidos; SOLUÇÃO: 1) Sem usar funções; 2) Usando funções. 7 Solução 1 8 4

Solução 1 9 Solução 2 10 5

Solução 2 11 Cálculo do número de combinações de n tomados ka k; Observe que o cálculo do fatorial é repetido três vezes. 12 6

Para calcular o fatorial de um número inteiro n pode-se usar o seguinte trecho de programa: fat = 1; for i = 1:n fat = fat * i; Entretanto é necessário adaptar este código para obter o cálculo do número de combinações: 13 n = input( n= ); k = input( k= ); fat_n = 1; for i = 2:n fat_n = fat_n * i fat_n-k = 1; for i = 2:(n k) fat_n-k = fat_n-k * i fat_k = 1; for i = 2:k fat_k = fat_k * i ncomb = fat_n / (fat_n-k * fat_k); 14 7

Agora o programa anterior será dividido em duas partes: o programa principal e a função; O programa principal será codificado da seguinte forma: n = input( n= ); k = input( k= ); ncomb = fatorial(n) /... fatorial(n k) * fatorial(k); 15 A função será codificada da seguinte forma: function fat = fatorial(n) fat = 1; for i = 1:n fat = fat * i; function 16 8

Observações: Funções Um programa é designado principal quando ele faz chamadas as funções. A execução de um programa com funções se inicia pelo programa principal. A execução de uma chamada transfere o controle de execução para a função. Ao término da execução da função, o controle é devolvido ao ponto de chamada, em uma operação chamada de retorno da função. 17 Sintaxe de Função Parâmetro de Saída: calculado pela função function fat = fatorial(n) fat = 1; for i = 1:n fat = fat * i; function Parâmetro de Entrada: fornecido na chamada da função 18 9

Sintaxe de Função: Vários Parâmetros function [x1, x2] = eq2g(a, b, c) delta = b^2 4 * a * c; x1 = (-b + sqrt(delta)) / (2 * a); x2 = (-b - sqrt(delta)) / (2 * a); function // Programa Principal; x = 2; y = 4; z = 6; [raiz_1, raiz_2] = eq2g(x, y, z); 19 Observações: Funções Uma função cria um espaço novo para as variáveis, que podem ter nomes iguais aos de variáveis já definidas no programa principal. As variáveis definidas por uma função são denominadas variáveis locais. As variáveis definidas no programa principal são denominadas variáveis globais. Mais sobre funções: à Organização e à Programação de Computadores Prof. Oswaldo Carvalho. 20 10

Exemplo 1 Codifique um programa que faça a leitura de n valores através do teclado. Para cada valor lido no teclado deve ser aplicada a função f(x) = x sqrt(x). O resultado da aplicação da função deve ser acumulado em um somatório. O cálculo de f(x) deve ser codificado em uma função definida pelo usuário. Ao final o programa imprime o valor do somatório calculado. 21 Exemplo 1 function f = minhaf(x) f = x - sqrt(x); function n = input("quantidade DE LEITURAS: "); soma = 0; for i = 1:n x = input("digite UM VALOR: "); soma = soma + minhaf(x); printf("\nsomatório CALCULADO: %7.3f", soma); 22 11

Exemplo 2 Codifique um programa que calcule a série a seguir, onde né o número de parcelas. Cada parcela contém um numerador e um denominador. O Cálculo de ambos deve ser feito por funções definidas pelo usuário. Ao final o programa imprime o valor da série. 23 Exemplo 2 function resposta = numerador(x) resposta = x - sin(x); function // ------------------------------------------------------------------------------------------------------- function resposta = denominador(x) resposta = x^3 - cos(2 * x); function // --------------------------------------------------------------------------------------------- n = input("quantidade DE PARCELAS: "); soma = 0; for i = 1:n soma = soma + numerador(i) /... denominador(i); printf("\nsomatório CALCULADO: %7.3f", soma); 24 12