Tópicos avançados sobre funções (cont.)
|
|
- Francisca Alencar Carmona
- 5 Há anos
- Visualizações:
Transcrição
1 Tópicos avançados sobre funções (cont.) Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de parâmetros variáveis Nº de parâmetros de entrada variável Nº de parâmetros de saída variável Funções encadeadas (nested functions) Funções privadas Funções recursivas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII
2 Funções com número de parâmetros variáveis As funções na sua definição podem ter um número de parâmetros de entrada e saída variáveis: Existe um cell array pré-definido (built-in) que permite armazenar um número de parâmetros de entrada variável: Denominação: varargin Existe um cell array pré-definido (built-in) que permite armazenar um número de parâmetros de saída variável: Denominação: varargout Miguel Pedro Silva José Borges Computação e Programação 2009 /
3 Funções com número de parâmetros variáveis Existe uma função pré-definida (built-in) que retorna o número de argumentos de entrada com que a função foi chamada: Denominação: nargin Existe uma função pré-definida (built-in) que retorna o número de argumentos de saída que a função deve devolver: Denominação: nargout Miguel Pedro Silva José Borges Computação e Programação 2009 /
4 Nº de parâmetros de saída variável As funções na sua definição podem ter um número de parâmetros de entrada e saída variáveis: Existe um cell array pré-definido (built-in) que permite armazenar um número de parâmetros de entrada variável: Denominação: varargin Existe um cell array pré-definido (built-in) que permite armazenar um número de parâmetros de saída variável: Denominação: varargout Miguel Pedro Silva José Borges Computação e Programação 2009 /
5 Nº de parâmetros de saída variável Problema 1: Escreva uma função que receba um array como argumento e que devolva uma string contendo uma das seguintes hipóteses: escalar, vector, matriz. Existe um ou dois argumentos saída opcionais que retornam a dimensão do argumento de entrada, quando este for um vector ou uma matriz. Miguel Pedro Silva José Borges Computação e Programação 2009 /
6 Nº de parâmetros de saída variável Problema 1 (codificação): Miguel Pedro Silva José Borges Computação e Programação 2009 /
7 Nº de parâmetros de saída variável Problema 1 (exemplos de execução: >> typesize(10) ans = escalar >> [tipo, comp] = typesize([1:1:10]) tipo = vector comp = 10 >> [tipo, lin, col] = typesize(ones(3,4)) tipo = matriz lin = 3 col = 4 Miguel Pedro Silva José Borges Computação e Programação 2009 /
8 Nº de parâmetros de saída variável Problema 1: Escreva uma função que receba um array como argumento e que devolva uma string contendo uma das seguintes hipóteses: escalar, vector, matriz. Existe um ou dois argumentos saída opcionais que retornam a dimensão do argumento de entrada, quando este for um vector ou uma matriz. Neste problema 1 assumiu-se que os argumentos de saída opcionais podiam ser um ou dois! Assuma agora, que no Problema 2, o argumento opcional é apenas um! Miguel Pedro Silva José Borges Computação e Programação 2009 /
9 Nº de parâmetros de saída variável Problema 2 (codificação): Miguel Pedro Silva José Borges Computação e Programação 2009 /
10 Nº de parâmetros de saída variável Problema 2 (exemplos de execução: >> [tipo, dim] = typesize_2(ones(5,6)) tipo = matriz dim = 5 6 >> [tipo] = typesize_2(ones(5,6)) tipo = matriz >> [tipo, dim, zzz] = typesize_2(ones(5,6)) Error in ==> typesize_2 at 4 [r c] = size(inputval);??? Output argument "varargout{2}" (and maybe others) not assigned during call to "D:\Users\Miguel\Documents\MATLAB\Aulas\CP_2009_2010\AT19\ typesize_2.m>typesize_2". Miguel Pedro Silva José Borges Computação e Programação 2009 /
11 Nº de parâmetros de saída variável A função nargout pode ser utilizada para determinar quantos argumentos de saída foram utilizados na chamada a uma função. Problema 3: Escreva uma função denominada mysize que receba um array e que devolva o número de linhas, o número de colunas e opcionalmente o número de elementos que o array contem. Miguel Pedro Silva José Borges Computação e Programação 2009 /
12 Nº de parâmetros de saída variável Problema 3 (codificação): Miguel Pedro Silva José Borges Computação e Programação 2009 /
13 Nº de parâmetros de saída variável Problema 3 (exemplos de execução: >> [r c] = mysize(zeros(3,5)) r = 3 c = 5 >> [r c elem] = mysize(zeros(3,5)) r = 3 c = 5 elem = 15 Miguel Pedro Silva José Borges Computação e Programação 2009 /
14 Nº de parâmetros de saída variável Problema 4: Escreva uma função denominada mysize_2 que receba um array e que se comporte exactamente como a função size prédefinida no MATLAB. Miguel Pedro Silva José Borges Computação e Programação 2009 /
15 Nº de parâmetros de saída variável Problema 4 (codificação): Miguel Pedro Silva José Borges Computação e Programação 2009 /
16 Nº de parâmetros de saída variável Problema 4 (exemplos de execução: >> [dim]=mysize_2(zeros(3,5)) dim = 3 5 >> [lin col]=mysize_2(zeros(3,5)) lin = 3 col = 5 Miguel Pedro Silva José Borges Computação e Programação 2009 /
17 Funções encadeadas (nested functions) Funções encadeadas significa que uma função está definida dentro do corpo de outra função: Neste caso todas as funções devem terminar com a palavra chave end. Formato geral de funções encadeadas: Cabeçalho da função exterior Corpo da função exterior Cabeçalho da função interior Corpo da função interior end % da função interior Continuação do corpo da função exterior end % da função exterior Miguel Pedro Silva José Borges Computação e Programação 2009 /
18 Funções encadeadas (nested functions) Regras de âmbito: funcao_principal host_function func_interna_1 nested_function_1 end % func_interna_1 end % nested_function_1 nested_function_2 func_interna_2 end end % % nested_function_2 func_interna_2 end %% host_function funcao_principal As variáveis definidas na função principal são visíveis em todas as funções internas. Variables defined in the host function are visible inside any nested functions. As variáveis definidas nas funções internas não são visíveis na função Variables defined within nested functions are not visible in the host function. principal. nested_function_1 can be called from within host_function or nested_function_2. func_interna_1 pode ser chamada por funcao_principal e por func_interna_2 nested_function_2 can be called from within host_function or nested_function_1. func_interna_2 pode ser chamada por funcao_principal e por func_interna_1 Miguel Pedro Silva José Borges Computação e Programação 2009 /
19 Funções encadeadas (nested functions) Funções encadeadas (exemplo 1): >> outvol=nestedvolume(1,2,2) outvol = 4 Miguel Pedro Silva José Borges Computação e Programação 2009 /
20 Funções encadeadas (nested functions) Funções encadeadas (exemplo 2): function res = testa_internas % Nivel mais alto. Define variaveis a = 1; b = 2; x = 0; y = 9; % Escreve valor das variaveis antes de chamar funcao1 fprintf('antes de chamar funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); % Chama funcao interna funcao1 x = funcao1(x); % Escreve valor das variaveis depois de chamar funcao1 fprintf('\ndepois de chamar funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); %Declara funcao interna funcao1 function res = funcao1(y) % Variaveis no inicio de funcao1 fprintf('\nno inicio de funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); Miguel Pedro Silva José Borges Computação e Programação 2009 /
21 Funções encadeadas (nested functions) Funções encadeadas (exemplo 2) (cont.): y = y + 5; a = a + 1; res = y; % Variaveis no fim de funcao1 fprintf('\nno fim de funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); end % funcao funcao1 end % funcao testa_internas retorna: >> testa_internas Antes de chamar funcao1: a, b, x, y = No inicio de funcao1: a, b, x, y = No fim de funcao1: a, b, x, y = Depois de chamar funcao1: a, b, x, y = Miguel Pedro Silva José Borges Computação e Programação 2009 /
22 Funções privadas As funções privadas estão em sub-directorias com o nome de private. Estas funções só são visíveis nas funções da directoria de raíz (parent directory). Estas directorias com o nome específico de private podem ser criadas pelo programador, utilizando os procedimentos habituais de criação de directorias ou folders no computador. Estas directorias private não devem ser colocadas na path! Miguel Pedro Silva José Borges Computação e Programação 2009 /
23 Avaliação de funções 1. O Matlab verifica se existe uma função interna com um dado nome. Se existir, executa-a. 2. É procurada uma subfunção com o nome dado. Se existir, executa essa subfunção. 3. É procurada uma função com o nome dado na directoria private. Será executada se existir. 4. É procurada uma função com o nome dado na directoria de trabalho. Se existir, é executada. 5. Finalmente, é procurado no MATLAB path. Se existir uma função no path, será executada. Miguel Pedro Silva José Borges Computação e Programação 2009 /
24 Funções recursivas Considere-se a função para calcular o factorial 1 se n is 0 n! n se n > 0 Pode ser definida de forma recursiva: 1 se n is 0 n! n ( n 1)! se n > 0 Miguel Pedro Silva José Borges Computação e Programação 2009 /
25 Funções recursivas Uma definição recursiva tem duas partes 1. Uma âncora ou base (caso mais simples) O valor é especificado para um ou mais valores dos parâmetro(s) 2. Um passo inductivo ou recursivo O valor do parâmetro é especificado em função dos valores ou parâmetros mais simples. 1 se n is 0 n! n ( n 1)! se n > 0 Miguel Pedro Silva José Borges Computação e Programação 2009 /
26 Funções recursivas Para calcular 5! seguem-se os seguintes passos: Miguel Pedro Silva José Borges Computação e Programação 2009 /
27 Funções recursivas Código da função factorial, programada de forma recursiva: function resultado = factorial(n) if (n < 0 round(n)~=n) error('o argumento deve ser um inteiro >=0.'); elseif (n == 0) resultado = 1; else resultado = n * factorial(n-1); end Passo inductivo Caso mais simples Miguel Pedro Silva José Borges Computação e Programação 2009 /
28 Funções recursivas Execução da função recursiva: Sequência de passos recursivos quando é chamada numero = factorial(4); resultado = resultado = Chamadas recursivas sucessivas Miguel Pedro Silva José Borges Computação e Programação 2009 /
29 Funções recursivas Execução da função recursiva: Quando factorial(n 1) envia por fim o valor 0 como parâmetro, é executada a instrução âncora Não há mais chamadas recursivas... resultado = resultado = resultado=1 Miguel Pedro Silva José Borges Computação e Programação 2009 /
30 Funções recursivas Execução da função recursiva: Os valores calculados vão sendo retornados: resultado = resultado = resultado = resultado = resultado= Miguel Pedro Silva José Borges Computação e Programação 2009 /
31 Funções recursivas Exercício A famosa sequência de Fibonacci, foi descrita por Leonardo de Pisa, também conhecido como Fibonacci ( ), para descrever o crescimento de uma população de coelhos. Os números descrevem o número de casais numa população de coelhos depois de n meses, considerando um conjunto pressupostos. (ver: A sequência é dada pela seguinte expressão: Primeiros termos: (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,...), Miguel Pedro Silva José Borges Computação e Programação 2009 /
32 Funções recursivas Exercício Implemente uma função recursiva (denominada fibo.m) que calcule o enésimo termo da sequência de Fibonacci. Teste a função com um script. Miguel Pedro Silva José Borges Computação e Programação 2009 /
33 Funções recursivas Exercício function [termo_n] = fibo(n) % A função FIBO recebe % como parâmetro de entrada: % um valor n inteiro >=1; % A função retorna: % o enésimo termo da sequência de Fibonacci. if (n < 0 round(n) ~= n) error('o valor tem que ser um inteiro maior ou igual a 1.'); end switch (n) case 0, termo_n = 0; case 1, termo_n = 1; otherwise, termo_n = fibo(n-1) + fibo(n-2); end Miguel Pedro Silva José Borges Computação e Programação 2009 /
34 Funções recursivas Exercício %Este script testa a função FIBO clc; clear all; close all; disp('este script testa a função FIBO'); %pede o termo N até ao qual se pretende calcular a sequência valor_incorrecto = true; while (valor_incorrecto) N = input(['introduza o termo N até onde pretende calcular ',... 'a seq. de Fibonacci: ']); valor_incorrecto = (N < 0 round(n) ~= N); end seq=[]; for k=0:n seq=[seq,fibo(k)]; end figure(20); stem(0:n, seq), grid on; title(['sequência de Fibonacci até ao termo ' int2str(n)]); Miguel Pedro Silva José Borges Computação e Programação 2009 /
35 Referências Capítulo 9 de Stormy Attaway (2009), Matlab: A Practical Introduction to Programming and Problem Solving, Elsevier. Getting started with MATLAB: matlab/getstart.pdf Miguel Pedro Silva José Borges Computação e Programação 2009 /
Funções em Matlab. Subprogramas em Matlab são funções.
MATLAB Funções Funções em Matlab Subprogramas em Matlab são funções. function [saida1, saida2,...] = nome_funcao(ent1, ent2,...) % Comentário numa linha que diz o que faz a função % Mais comentários %
Leia maisTópicos avançados sobre funções
Tópicos avançados sobre funções Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de parâmetros
Leia maisProgramação em MATLAB
Programação em MATLAB Estruturas de Repetição Ciclo WHILE As instruções BREAK e RETURN A função ERROR Vectorização Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Estruturas de repetição
Leia maisProgramação em MATLAB
Programação em MATLAB Estruturas de Repetição Ciclo FOR Ciclos FOR encadeados Pré-alocação de variáveis Combinar ciclos FOR com a instrução IF Instituto Superior Técnico, Dep. de Engenharia Mecânica -
Leia maisCell arrays e estruturas: exemplos
Cell arrays e estruturas: exemplos Cell arrays e estruturas: Comparação entre os dois tipos de dados; Exemplos. Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Cell arrays e estruturas
Leia maisComputação e Programação
Computação e Programação 10ª Aula de Problemas Tópicos Avançados sobre Funções Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 3. The velocity of sound in air is 49.02xT^(1/2)
Leia maisComputação e Programação 2009 / 2010
Computação e Programação 4ª Aula de Problemas Estruturas de selecção (if-, if-if, switch) Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 Escrevaum script quepedeaoutilizadorum
Leia maisComputação e Programação
Computação e Programação 11ª Aula de (MATLAB : as instruções if-else, switch, for, while e funções) Miguel Pedro Silva e João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas,
Leia maisComputação e Programação
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 10 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 10 Passagem de argumentos por valor Âmbito
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 20 Números complexos Tópicos Avançados sobre Funções Funções com número variável de argumentos de entrada e saída Funções como
Leia maisEstruturas de dados complexas: cell arrays e structures
Estruturas de dados complexas: cell arrays e structures Structures (estruturas) Criação de estruturas Alterar, acrescentar e remover campos (fields) Visualizar (apresentar) uma estrutura Estruturas como
Leia maisComputação e Programação
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 16 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 16 Estrutura try-catch Processo de leitura/escrita
Leia maisProgramação em MATLAB
Programação em MATLAB Desenvolvimento de software em MATLAB Scripts ou M-files Funções definidas pelo programador Estruturas de Selecção Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - º Semestre 205-206 Expressões Relacionais Estruturas de Selecção Simples Genéricas Aula Teórica 5 D.E.M. Área Científica de Controlo Automação e Informática Industrial
Leia maisAlgoritmos de ordenação. e de procura
Algoritmos de ordenação Ordenação e de procura Ordenação por selecção Ordenação por inserção linear Ordenação rápida A função sort Exemplos: Ordenar vectores de estruturas Ordenar strings Ordenar índices
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 6 Estruturas de Repetição (FOR, WHILE) A instrução break Pré-alocação de variáveis D.E.M. Área Científica de Controlo Automação
Leia maisEstruturas de dados complexas: cell arrays e structures
Estruturas de dados complexas: cell arrays e structures Cell arrays Criação de cell arrays Aceder a elementos Visualizar elementos Modificar elementos Eliminar elementos Guardar strings em cell arrays
Leia maisComputação e Programação
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 13 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação
Leia maisManipulação de strings e conversão entre tipos de dados
e conversão entre tipos de dados Criação de variáveis do tipo string: As strings como arrays uni-dimensionais Operações sobre strings Concatenação Formatação Comparação Procura, Substituição e Separação
Leia mais1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?
P1 Conceitos (2,4 valores) 1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? (0.8v) 1.b) Indique três vantagens de criar um programa
Leia maisExemplo: função cálculo distancia
Funções em Matlab Subprogramas em Matlab são funções. function [saida1, saida2,...] = nome_funcao(ent1, ent2,...) % Comentário numa linha que diz o que faz a função % Mais comentários % Até esta linha
Leia maisSistemas e Sinais. Laboratório 0 (parte c) Miguel Pedro Silva e João Reis
Sistemas e Sinais Laboratório 0 (parte c) (MATLAB : Cell arrays e structures) Miguel Pedro Silva e João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo
Leia maisManipulação de strings e conversão entre tipos de dados
Manipulação de strings e conversão entre tipos de dados Avaliação de strings A função eval() A estrutura try-catch A função IS para strings Conversão entre tipos de dados Instituto Superior Técnico, Dep.
Leia maisComputação e Programação
Computação e Programação 7ª Aula de Problemas Sub-funções; Vectorização; Manipulação de strings; Estrutura try-catch Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 Seja um
Leia maisComputação e Programação (2010/2011-1º Semestre)
Computação e Programação (2010/2011-1º Semestre) 2º Exame: 12.2.2011 DURAÇÃO: 2 horas MEMec - LEAN Leia com atenção os pontos que se seguem: Identifique todas as folhas deste enunciado. Comece por escrever
Leia maisRESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:
Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,
Leia maisMATLAB. Programação básica
MATLAB Programação básica Tipo de dados logical Podem ter valores true ou false. Dados do tipo lógico podem ser utilizados com valores numéricos. São convertidos nos valores 0 e 1. Operadores relacionais
Leia maisCorreção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre
Correção do º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 3 de Junho de 26, 2º Semestre. (2.) Perguntas de resposta rápida de Fortran (.4 valores cada).. Todos os componentes
Leia maisComputação e Programação 201*/201* - 1º Semestre
Computação e Programação 201*/201* - 1º Semestre Exame Tipo MEMec LEAN DURAÇÃO: 2h30min Leia com atenção os pontos que se seguem: Comece por IDENTIFICAR TODAS AS FOLHAS DO EXAME. Não desagrafe as folhas.
Leia maisComputação e Programação
Computação e Programação 3ª Aula de Problemas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Exercícios Resolvidos [Baseado no Livro 1] (Ver referências no último slide) 2.28 Pretende-se
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 21 Introdução à linguagem compilada C Estrutura e compilação do código fonte Tipos de dados básicos Operadores aritméticos e lógicos
Leia maisCOMPUTAÇÃO E PROGRAMAÇÃO
COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2014/2015 MEMec, LEAN Ficha da Aula Prática 1 Exercícios escritos Sumário das tarefas e objectivos da aula: 1. Realizar exercícios escritos, em condições semelhantes
Leia maisManipulação avançada de ficheiros
Manipulação avançada de ficheiros Modularidade na manipulação de ficheiros Caso de estudo Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Revisão de instruções leitura/escrita comando
Leia maisComputação e Programação
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 15 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 15 Manipulação avançada de ficheiros Leitura
Leia maisComputação e Programação 2009 / 2010
Computação e Programação 2ª Aula de Problemas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Exercícios Resolvidos [Livro 1] (Ver referências no slide 20) 3.3 Write a program to convert
Leia maisMATLAB. Programação básica. Abordagem topo-base. Início. Definição das. Divisão em Sub-problemas. Divisão em Sub-problemas. Abordagem topo-base
MATLAB Programação básica Abordagem topo-base Início Definição Definição do do problema problema Definição das entradas Definição entradas e das e saídas saídas Projecto Projecto do do algoritmo algoritmo
Leia maisCOMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN
COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 5: Selecção e repetição. Funções. Sumário das tarefas e objectivos da aula: 1. Implementar estruturas de selecção e repetição.
Leia mais1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de º Semestre
º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica de Junho de 6 º Semestre Exame sem consulta : 6: h Nome: Número: Escreva o seu número e nome em todas as folhas de exame. O exame
Leia maisManipulação avançada de ficheiros
Manipulação avançada de ficheiros Leitura / escrita de ficheiros Formato ascii Formato.mat Ligação a folhas de cálculo (Microsoft Excel) Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII
Leia maisMatrizes como imagens Funções definidas pelo programador: Âmbito das variáveis Apresentação do projecto
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 7 Matrizes como imagens Funções definidas pelo programador: Âmbito das variáveis Apresentação do projecto D.E.M. Área Científica
Leia maisMATLAB Avançado. Melissa Weber Mendonça
MATLAB Avançado Melissa Weber Mendonça melissa.mendonca@ufsc.br Estruturas Outra maneira de armazenar dados heterogêneos é usar estruturas: cada estrutura é composta de campos que podem conter quaisquer
Leia maisMATLAB. Sumário. Tópicos Avançados. 1. Estruturas 2. Células. J. R. Caldas Pinto, J. M. da Costa Sousa 357
MATLAB Tópicos Avançados Sumário 1. Estruturas 2. Células J. R. Caldas Pinto, J. M. da Costa Sousa 357 1 Tipos de dados avançados em Matlab J. R. Caldas Pinto, J. M. da Costa Sousa 358 Estruturas As estruturas
Leia maisSistemas e Sinais. Laboratório 0 (parte a) (Iniciação ao MATLAB ) Miguel Pedro Silva e João Reis
Sistemas e Sinais Laboratório 0 (parte a) (Iniciação ao MATLAB ) Miguel Pedro Silva e João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo Automação e
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teorica 18 Algoritmos de ordenação Função sort D.E.M. Área Científica de Controlo Automação e Informática Industrial Wrap Up da última
Leia maisComputação e Programação. Exame Época Normal
Nome : Número : Computação e Programação 2015-2016 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 6 de janeiro de 2016 Exame sem
Leia maisComputação e Programação
Computação e Programação 10ª Aula de (Iniciação ao MATLAB ) 00-009 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Introdução O MATLAB é um programa para cálculos científicos e de engenharia,
Leia maisComputação e Programação
Computação e Programação 9ª Aula de Problemas Manipulação avançada de ficheiros fopen, fclose, fprintf, fgetl, fgets, fscanf, textscan Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema
Leia maisComputação e Programação
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 3 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 3 MATLAB Comandos básicos Variáveis e Constantes
Leia maisComputação e Programação. MEMec - LEAN 1º Semestre
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos de CP Pretende-se promover o desenvolvimento de, Competências que
Leia maisFunções definidas pelo programador: Passagem de argumentos Formas de Funções comuns Programas modulares
Computação e Programação MEMec, LEAN - 1º Semestre 2014-2015 Aula Teórica 8 Funções definidas pelo programador: Passagem de argumentos Formas de Funções comuns Programas modulares D.E.M. Área Científica
Leia maisComputação e Programação (2009/2010-1º Semestre)
Computação e Programação (2009/2010-1º Semestre) MEMec - LEAN 2º Teste e Exame de 1ª Época (27 JAN 2010) DURAÇÃO: 1h30m (teste) 3h00m (exame) Leia com atenção os pontos que se seguem: Comece por escrever
Leia maisProgramação em MATLAB
Programação em MATLAB Estruturas de Selecção (conclusão) Caso de Estudo: Cálculo de Áreas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Estruturas genéricas de selecção Determina a instrução,
Leia maisComputação e Programação Exame Época de recurso
Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v
Leia maisComputação e Programação Exame Época de recurso
Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v
Leia maisCOMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN
COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 8: Processamento de ficheiros. Sumário das tarefas e objectivos da aula: 1. Conhecer as operações necessárias à leitura,
Leia maisComputação e Programação
Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 4 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 4 Construção de programas Actividades de teste
Leia maisInstituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos e tarefas
Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos e tarefas Aplicar os passos do processo de desenvolvimento para a construção de um algoritmo 1 Exercícios Resolvidos 1 - EXERCÍCIO
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 14 Ficheiros de dados Processo de leitura/escrita em ficheiros de texto Manipulação de uma base de dados Ficheiros de dados do
Leia maisCapítulo 10 Estruturas de controle de fluxo. Introdução ao MATLAB p.1/21
Capítulo 10 Estruturas de controle de fluxo Introdução ao MATLAB p.1/21 Controle de fluxo O MATLAB, como toda linguagem de programação, possui estruturas que permitem o controle do fluxo de execução de
Leia maisComputação e Programação Exame 2ª Época
Computação e Programação 2012-2013 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame 2ª Época 30 de janeiro de 2013 Exame sem consulta (2 horas
Leia maisProjecto e Desenvolvimento de Programas
Projecto e Desenvolvimento de Programas Projecto de programas Metodologia de desenvolvimento Construção de algoritmos Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Programa de Computador
Leia maisComputação e Programação Exame Resolvido 1ª Época
Computação e Programação 2012-2013 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Resolvido 1ª Época 9 de janeiro de 2012 Exame sem consulta
Leia maisComputação e Programação (2009/2010-1º Semestre)
Computação e Programação (2009/2010-1º Semestre) 2º Exame: 2010-02-10 DURAÇÃO: 3 horas MEMec - LEAN Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número,
Leia mais(LEAmb, LEMat, LQ, MEBiol, MEQ) Exame 2 28 de Janeiro de 2008, 9h00
Computação e Programação (LEAmb, LEMat, LQ, MEBiol, MEQ) Departamento de Matemática, IST Exame 2 28 de Janeiro de 2008, 9h00 Duração: 2h30 não preencher I II III T: Curso: Número: Nome: Grupo I [3,0] Defina
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem
Leia maisInformática para Ciências e Engenharias 2013/14. Teórica 7
Informática para Ciências e Engenharias 2013/14 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 1º Semestre 2011/2012 Introdução à Programação em C 31/01/2012 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Explique
Leia maisExercícios Data Modeling
Exercícios Data Modeling I Algoritmos 1. Construir um algoritmo, em pseudo-código, para calcular o mínimo múltiplo comum entre 2 inteiros X e Y 2. Construir um algoritmo, em pseudo-código, para determinar
Leia maisAlgoritmia e Programação
Algoritmia e Programação Conteúdo Pesquisa em Vectores Apresentação e discussão de vários algoritmos de pesquisa. Pesquisa linear ou sequencial Pesquisa binária Ordenação de Vectores Exemplos de aplicação
Leia maisIntrodução ao MatLab Princípios de Programação
Análise de Sinais (5001) Ficha Prática Laboratorial II Curso: Ciências Biomédicas Duração prevista: 4 horas Introdução ao MatLab Princípios de Programação I. Introdução O trabalho realizado na última ficha
Leia maisComputação e Programação (2010/2011-1º Semestre)
Computação e Programação (2010/2011-1º Semestre) 1º Exame: 27.1.2011 DURAÇÃO: 2 horas MEMec - LEAN Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número,
Leia maisEngenharia Biomédica Jorge Henriques, Fevereiro, 2007
MatLab+Simulink Introdução Engenharia Biomédica Jorge Henriques, Fevereiro, 2007 Índice 1. Em que consiste o MATLAB? 2. Como usar o MATLAB? 2.1Linha de comando 2.2Uso de scripts 3. Tipos de Dados Fundamentais
Leia mais2º Laboratório de Sistemas e Sinais (LEIC Alameda 2005/06)
2º Laboratório de Sistemas e Sinais (LEIC Alameda 25/6) Data de realização e de entrega Aula da semana 7-2/Out/25. Formato de entrega Os relatórios são entregues em formato digital ao docente da respectiva
Leia maisPragmática das Linguagens de
Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Primeiro Exame/Segundo Teste 17/12/2004 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das
Leia maisInformática para Ciências e Engenharias 2014/15. Teórica 7
Informática para Ciências e Engenharias 2014/15 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes
Leia maisPrática 10 - Funções
Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada
Leia maisInput/Output em Matlab
Comandos load e save save nome_ficheiro [variáveis] [opções] Grava por defeito no ficheiro matlab.mat na directoria de trabalho. Opções: -mat no formato MAT-file (por defeito). -ascii no formato ASCII
Leia maisNotas de Aula MatLab - 2
Notas de Aula MatLab - 2 Routo Terada www.ime.usp.br/~rt Depto. C. da Computação - USP Bibliografia: E. Y. Matsumoto, MatLab6 Fundamentos de Programação, Edit. Érica, 2000 K. Chen et al., Mathematical
Leia maisINTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB
TURMA 1 AULA 5 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB MINICURSO PET-POTÊNCIA 2016.1 RÔMULLO RANDELL MINICURSO PET-POTÊNCIA 2016.1 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB RÔMULLO RANDELL Turma
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 3 Tipos de dados Funções, Operadores e Expressões Vectores Matrizes Utilização de funções com vectores e matrizes D.E.M. Área Científica
Leia maisValdex Santos. 09 de junho de 2011
Progamação Algébrica em Matlab Valdex Santos Instituto Federal da Bahia 09 de junho de 2011 Sumário 1 Introdução 2 MATLAB como linguagem de programação 3 Funções Matemáticas 4 IF, FOR e WHILE 5 outras
Leia maisFundamentos de programação
Fundamentos de programação Recursividade Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é recursividade? Técnica baseada em divisão e conquista Buscar solucionar o problema dividindo
Leia maisMATLAB Avançado. Melissa Weber Mendonça
MATLAB Avançado Melissa Weber Mendonça melissa.mendonca@ufsc.br O que é o MATLAB? Linguagem computacional de alto nível e um ambiente interativo para computação numérica, visualização e programação. Console:
Leia maisCOMPUTAÇÃO E PROGRAMAÇÃO
COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 6: Cadeias de caracteres (strings). Estruturas de dados (structures). Sumário das tarefas e objectivos da aula: 1. Utilizar
Leia maisEstudando com o MATLAB
Estudando com o MATLAB Curso de Extensão Docentes: > Fabiano Araujo Soares > Marcelino M. de Andrade Programando com o Matlab Programando com o Matlab 1ª Parte: Arquivos.m 1ª Parte: Arquivos.m Direciona
Leia maisIntrodução ao MATLAB. 2 - Apresentação de resultados em gráfico. 3 - Controlo de fluxo 3.1. Tipos de controlo 3.2. Expressões Lógicas
1 - Tipos de dados fundamentais 1.1. Introdução/Definição de Matrizes 1.. Referência a elementos de Matrizes 1.3. Números complexos 1.4. Operações elementares 1.5. Vectores e Escalares 1.6. Operações Elementares
Leia maisNome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas
Nome: Número: Computação e Programação 2016-2017 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 11 de janeiro de 2017 Exame sem
Leia maisProblema 2 (1 valor) M = [50:2:248 ; 249:-2:51] Problema 3 (1 valor)
Nome : Número : Computação e Programação 2015-2016 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 27 de janeiro de 2015 Exame
Leia maisControlo de Execução. K&R: Capitulo 3
Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010
Leia maisIntrodução ao Scilab
Universidade do Estado do Rio de Janeiro Faculdade de Engenharia Laboratório de Engenharia Elétrica Introdução ao Scilab (Aula 3) Elaine de Mattos Silva Orientador: Prof. José Paulo Vilela Soares da Cunha
Leia maisMétodos de Programação I Ana Maria de Almeida
Métodos de Programação I 2. 35 2.10 O TIPO ESTRUTURADO TABELA (ARRAY) A estruturação de informação introduz uma nova dimensão no poder e complexidade dos nossos programas que, ao mesmo tempo que amplia
Leia maisProcesso de Desenvolvimento
Processo de Desenvolvimento Problema Análise Testes OK Codificação Testes OK Produção 1. Contexto do problema 2. Análise / síntese do problema 3. Esquema de processamento 4. e testes 5. Codificação 6.
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia maisIntrodução ao MATLAB. Parte 2
Introdução ao MATLAB Parte 2 5 Controle de fluxo 5.1 Scripts e functions Um script m-file consiste de uma série de comandos Matlab escritos em um arquivo com a extensão.m, sem argumentos de entrada ou
Leia maisComputação e Programação. Exame Época de Recurso
Nome : Número : Computação e Programação 2014-2015 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 28 de janeiro de 2015 Exame
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula teórica 15 Estruturas como argumentos de funções Exemplo Gestão de um Cine-Clube D.E.M. Área Científica de Controlo Automação e Informática
Leia maisConceitos Fundamentais de MatLab/Octave. Prof. Responsáveis Wagner Santos C. de Jesus
Disciplina Processamento de Sinais Curso Análise e Desenvolvimento de Sistemas Conceitos Fundamentais de MatLab/Octave e-mail : wagners@bighost.com.br Prof. Responsáveis Wagner Santos C. de Jesus Introdução
Leia maisUm algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.
Programação Um programa é uma sequência de instruções de uma linguagem de programação (VB no nosso caso). Cada instrução representa uma qualquer acção que nós pretendemos ver executada. Programar consiste
Leia mais