Computação e Programação

Tamanho: px
Começar a partir da página:

Download "Computação e Programação"

Transcrição

1 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

2 Problema 1 3. The velocity of sound in air is 49.02xT^(1/2) feet per second where T is the air temperature in degrees Rankine. Write an anonymous function that will calculate this. One argument, the air temperature in degrees R, will be passed to the function and it will return the velocity of sound.

3 Problema 1 Codificação soundvel (Rtemp) * sqrt(rtemp);

4 Problema The velocity of sound in air is 49.02xT ^(1/2) feet per second where T is the air temperature in degrees Rankine. Write a function to implement this. If just one argument is passed to the function, it is assumed to be the air temperature in degrees Rankine. If, however, two arguments are passed, the two arguments would be first an air temperature and then a character f for Fahrenheit or c for Celsius (so this would then have to be converted to Rankine). Note: degrees R = degrees F degrees F = 9/5 degrees C + 32

5 Problema 2 Codificação function outvel = velsound(varargin) n = nargin; if n == 1 % the argument is temp in degrees R temp = varargin{1}; elseif n == 2 % a temp is passed and 'f' or 'c' temp = varargin{1}; unit = varargin{2}; if unit == 'f' % convert from F to R temp = temp ; elseif unit == 'c' % convert from C to R temp = 9/5*temp ; outvel = 49.02*sqrt(temp);

6 Problema 3 8. Write an anonymous function to implement the following quadratic: 3x 2-2x+5. Then, use fplot to plot the function in the range from -6 to 6.

7 Problema 3 Codificação quadfn (x) 3*x^2-2*x + 5; fplot(quadfn,[-6 6]) NOTA: Como seria chamada a função fplot para apresentar o valor da função sin no mesmo intervalo?

8 Problema The built-in function date returns a string containing the day, month, and year. Write a function (using the date function) that will always return the current day. If the function call expects two output arguments, it will also return the month. If the function call expects three output arguments, it will also return the year.

9 Problema 4 Codificação function [day, varargout] = whatdate % Returns the current day and possibly also the % current month and year d = date; % always returns the day [day, rest] = strtok(d, '-'); if nargout > 1 % return the month also [month, rest] = strtok(rest, '-'); varargout{1} = month; if nargout == 3 % return the year also varargout{2} = rest(2:);

10 Problema A recursive definition of a n where a is an integer and n is a non-negative integer is: a n = 1 if n == 0 a x a n-1 if n > 0 Write a recursive function called mypower which receives a and n and returns the value of a n by implementing the above definition. NOTE: The program should NOT use ^ operator anywhere; this is to be done recursively instead! Test the function.

11 Problema 5 Codificação function res = mypower(a,n) % recursively finds a^n if n == 0 res = 1; else res = a * mypower(a, n-1);

12 Problema 6 Escreva uma função com as seguintes especificações: Parâmetros de entrada: x vector de pontos (mínimo de 3) func (opcional) handle de função Parâmetros de saída: y vector de pontos dy_dx (opcional) 1ª derivada aproximada de y d2y_dx2 (opcional) 2ª derivada aproximada de y A derivada aproximada pode ser calculada através da expressão y( k 1) y( k) x que deve ser implementada através de uma função anónima. Δx representa o passo do vector x cujos elementos se assumem uniformemente espaçados.

13 Problema 6 Se a função receber apenas um argumento de entrada deverá devolver e apresentar num gráfico y = x. Se receber os dois argumentos de entrada deve calcular e apresentar y = func(x). Por outro lado, indepentemente do número de argumentos de entrada, se a função for chamada com mais do que um argumento de saída deve estimar, devolver e apresentar no mesmo gráfico as derivadas correspondentes. A função deve também apresentar mensagens de erro caso o número de parâmetros de entrada ou de saída exceda o previsto.

14 Problema 6 Codificação function [y varargout] = funcao_e_derivadas(x, varargin) derivada_aprox step_x) (yy(2:)-yy(1:-1))/step_x; ni = nargin; no = nargout; if ni == 1 y = x; elseif ni == 2 func = varargin{1}; y = func(x); elseif ni > 2 error('demasiados argumentos de entrada.'); plot(x,y,'b'), hold on

15 Problema 6 Codificação if no >= 2, if length(x) < 2 error('estimar dy/dx requer no mínimo 2 pontos.') dy_dx = derivada_aprox(y, x(2)-x(1)); varargout{1} = dy_dx; plot(x(1:-1), dy_dx, 'r'); if no == 3, if length(x) < 3 error('estimar d2y/dx2 requer no mínimo 3 pontos.') d2y_dx2 = derivada_aprox(dy_dx, x(2)-x(1)); varargout{2} = d2y_dx2; plot(x(1:-2), d2y_dx2, 'm'); elseif no > 3, error('demasiados argumentos de saida.'); hold off

16 Exercícios Propostos [Livro 1] (Ver referências noúltimo slide) 5. Create a set of anonymous functions to do length conversions and store them in a file lenconv.mat. Call them descriptive name, e.g cmtoinch to convert from centimeters to inches. 7. Write a function plot2fnhand that will receive two function handles as input arguments, and will display in two Figure Windows plots of these functions, with the function names in the titles. The function will create an x vector that ranges from 1 to n (where n is a random integer in the range from 4 to 10). For example, if the function is called as follows >> and the random integer is 5, the Figure Window 1 would display the sqrt function of x from 1 to 5, and the second Figure Window would display exp(x) for x = 1:5. 16

17 Exercícios Propostos [Livro 1] (Ver referências noúltimo slide) 10. There is a built-in function function called cellfun that evaluates a function for every element of a cell array. Create a cell array, then call the cellfun function, passing the handle of the length function and the cell array in order to determine the length of every element in the cell array. 18. Write a function to calculate the volume of a cone. The volume V is V = AH where A is the area of the circular base (A = π r 2 where r is the radius) and H is the height. Use a nested function to calculate A. 17

18 Referências [Livro 1] Capítulo 9 de Matlab: A Practical Introduction to Programming and Problem Solving, Stormy Attaway (2009) Elsevier. 18

Computação e Programação 2009 / 2010

Computaçã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 mais

Instituto 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 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 mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO º Semestre 205/206 MEMec, LEAN Ficha da Aula Prática 3: Estruturas de repetição. Sumário das tarefas e objectivos da aula:. Estruturas de repetição controladas por contador 2.

Leia mais

Computação e Programação

Computaçã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 mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃ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 mais

Processo de Desenvolvimento

Processo 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 mais

COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN

COMPUTAÇÃ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 mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 2: Entrada/saída de dados. Scripts. Estruturas de selecção. Sumário das tarefas e objectivos da aula: 1. Utilizar funções

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 1: Introdução ao MATLAB Tópicos da aula: 1. Introdução ao ambiente MATLAB 2. Representação numérica, variáveis, operadores

Leia mais

Estruturas de dados complexas: cell arrays e structures

Estruturas 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 mais

Manipulação de strings e conversão entre tipos de dados

Manipulaçã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 mais

Computação e Programação

Computação e Programação Computação e Programação 8ª Aula de Problemas Cell arrays Estruturas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 Escreva uma função que recebe um cell array de strings e

Leia mais

Computação e Programação

Computaçã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 mais

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?

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? 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 mais

CANape/vSignalyzer. Data Mining and Report Examples Offline Analysis V

CANape/vSignalyzer. Data Mining and Report Examples Offline Analysis V CANape/vSignalyzer Data Mining and Report Examples Offline Analysis V16.0 2018-07-30 Offline Evaluation Tools On-line Tools CANalyzer. Messages CANoe. Messages CANape. Signals Off-line Tools vsignalyzer

Leia mais

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

Correçã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 mais

Funções em Matlab. Subprogramas em Matlab são funções.

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 mais

Manipulação de strings e conversão entre tipos de dados

Manipulaçã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 mais

Pragmática das Linguagens de

Pragmá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 mais

1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de º Semestre

1º 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 mais

Computação e Programação. MEMec - LEAN 1º Semestre

Computaçã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 mais

DIAGNÓSTICO DE MATEMÁTICA

DIAGNÓSTICO DE MATEMÁTICA Não esqueça de se cadastrar no site. Não utilize nenhum rascunho, deixe todas as suas anotações registradas e informe o tempo utilizado na resolução. NOME: TEL: TEMPO UTILIZADO NA RESOLUÇÃO: 1. Macey is

Leia mais

Divisão de Engenharia Mecânica. Programa de Pós-Graduação em Engenharia Aeronáutica e Mecânica. Prova de Seleção para Bolsas 1 o semestre de 2014

Divisão de Engenharia Mecânica. Programa de Pós-Graduação em Engenharia Aeronáutica e Mecânica. Prova de Seleção para Bolsas 1 o semestre de 2014 Divisão de Engenharia Mecânica Programa de Pós-Graduação em Engenharia Aeronáutica e Mecânica Prova de Seleção para Bolsas 1 o semestre de 2014 07 de março de 2014 Nome do Candidato Observações 1. Duração

Leia mais

Programação em MATLAB

Programaçã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 mais

Aula 12 - Correção de erros

Aula 12 - Correção de erros Aula 12 - Correção de erros Prof. Renan Sebem Disciplina de Eletrônica Digital Graduação em Engenharia Elétrica Universidade do Estado de Santa Catarina Joinville-SC Brasil 5 de abril de 2016 ELD0001 Prof.

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

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

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 LAYOUT DO MATLAB Espaço destinado às variáveis veis que

Leia mais

Programação estruturada no Fortran 90-2

Programação estruturada no Fortran 90-2 Programação estruturada no Fortran 90-2 Departamento de Física UFPel Faça um programa em Fortran 90 que calcule o valor do cos-seno de x através da série abaixo, co-seno(x) = 1 x2 2! + x4 4! x6 6! + x8

Leia mais

Mathematical Foundation I: Fourier Transform, Bandwidth, and Band-pass Signal Representation PROF. MICHAEL TSAI 2011/10/13

Mathematical Foundation I: Fourier Transform, Bandwidth, and Band-pass Signal Representation PROF. MICHAEL TSAI 2011/10/13 Mathematical Foundation I: Fourier Transform, Bandwidth, and Band-pass Signal Representation PROF. MICHAEL TSAI 2011/10/13 Fourier Transform (): a non-periodic deterministic signal. Definition: the Fourier

Leia mais

Matlab Noções introdutórias. Roteiro para aula

Matlab Noções introdutórias. Roteiro para aula Matlab Noções introdutórias Roteiro para aula Matlab- Variáveis Pode-se criar variáveis na área de trabalho Comandos encerrados com ; não geram eco na área de trabalho >> a = 65 a = 65 >> a = 65; >> Matlab-

Leia mais

Laboratório de Algoritmos Avançados Capítulo 7

Laboratório de Algoritmos Avançados Capítulo 7 SCC-211 Lab. Algoritmos Avançados Capítulo 7 Teoria dos Números Adaptado por João Luís G. Rosa Introdução A Teoria dos Números é uma das mais bonitas e interessantes áreas da matemática. É o ramo da matemática

Leia mais

2. Seja a lista de números N = [ 5, 23, 99, -8, 11, 39, 63 ]. Faça um programa MATLAB, para obter o menor elemento da lista. Escrever o valor menor.

2. Seja a lista de números N = [ 5, 23, 99, -8, 11, 39, 63 ]. Faça um programa MATLAB, para obter o menor elemento da lista. Escrever o valor menor. INE 5201 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO - LISTA 2-28/10/2016 Aluno 1. Faça um script MATLAB que calcule uma divisão usando somente a operação de subtração entre números inteiros e que forneça o resto

Leia mais

Units 3 and 4. 3rd Bimester Content. Future Predictions. Life events. Personality adjectives. English - Leonardo Bérenger and Aline Martins

Units 3 and 4. 3rd Bimester Content. Future Predictions. Life events. Personality adjectives. English - Leonardo Bérenger and Aline Martins 3rd Bimester Content Life events Be going to Future Predictions Be going to x Will Units 3 and 4 First Conditional Personality adjectives EVALUATION CRITERIA CONTENT TOPICS EVALUATION CRITERIA 3rd Bimester

Leia mais

Computação e Programação Exame Resolvido 1ª Época

Computaçã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 mais

Instituto Tecnológico de Aeronáutica

Instituto Tecnológico de Aeronáutica Instituto Tecnológico de Aeronáutica Programa de Pós-Graduação em Engenharia de Infraestrutura Aeronáutica Programa de Pós-Graduação em Engenharia Aeronáutica e Mecânica Prova de Seleção o semestre de

Leia mais

Computação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39

Computação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39 Computação 1 - Python Aula 2 - Teórica Função 1/ 39 Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 39 Calcule a área da coroa circular (anel)

Leia mais

Trabalho de AMSR. Especificação e Verificação de uma Câmara Fotográfica Digital. Problema a Resolver FEUP/MRSC/AMSR MPR. » Problema a concurso

Trabalho de AMSR. Especificação e Verificação de uma Câmara Fotográfica Digital. Problema a Resolver FEUP/MRSC/AMSR MPR. » Problema a concurso VF 1 Especificação e Verificação de uma Câmara Fotográfica Digital Trabalho de AMSR FEUP/MRSC/AMSR MPR VF 2 Problema a Resolver» Problema a concurso 12 th SDL Forum, 20-24 Junho 2005, Grimstad, Noruega

Leia mais

Computação I - Python

Computação I - Python Computação I - Python Aula 2 - Teórica: João C. P. da Silva Carla A. D. M. Delgado Ana Luisa Duboc Dept. Ciência da Computação - UFRJ http://www.dcc.ufrj.br/ pythonufrj/ Computação I - Python Aula 2 1

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 3: Entrada/saída de dados. Scripts e funções. Estruturas de selecção. Sumário das tarefas e objectivos da aula: 1. Utilizar

Leia mais

Addition of Fields in Line Item Display Report Output for TCode FBL1N/FBL5N

Addition of Fields in Line Item Display Report Output for TCode FBL1N/FBL5N Addition of Fields in Line Item Display Report Output for TCode FBL1N/FBL5N Applies to: Any business user who uses the transactions FBL1N and FBL5N to display line item reports for vendors and customers.

Leia mais

Para calcular o polinómio de Lagrange noutros pontos Ficheiro polagrangeval.m

Para calcular o polinómio de Lagrange noutros pontos Ficheiro polagrangeval.m Análise Numérica LEC Help 13 Interpolação Método de Lagrange Ficheiro polagrange.m Determina o polinomio interpolador de Lagrange que aproxima a tabela (x,y). c=polagrange(x,y)- determina so as coordenadas

Leia mais

ecos - Gestores de dispositivos

ecos - Gestores de dispositivos ecos - Gestores de dispositivos gestores de dispositivos ( device drivers ) interface aplicacional (API) gestor de linha série raw serial driver tty driver ecos - device driver - user API cyg_io_lookup

Leia mais

Computação e Programação. Exame Época Normal

Computaçã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 mais

AAAASEL 0629 AAAA. Aplicação de Microprocessadores I. Prática 2 Teclado e Buzzer. Prof. Marcelo Andrade da Costa Vieira

AAAASEL 0629 AAAA. Aplicação de Microprocessadores I. Prática 2 Teclado e Buzzer. Prof. Marcelo Andrade da Costa Vieira SEL 0629 Aplicação de Microprocessadores I Prática 2 Teclado e Buzzer Prof. Marcelo Andrade da Costa Vieira Teclado para tocar as 7 notas musicais no buzzer Objetivo: Aprendizado do microcontrolador PIC18F45K22

Leia mais

Computação e Programação

Computaçã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 mais

Computação 1 - Python 1/ 41

Computação 1 - Python 1/ 41 Computação 1 - Python Aula 2 - Teórica: Função 1/ 41 Função Exercício: Calcule a área da coroa circular (anel) formada por dois círculos de raios r1 e r2 (r1 > r2 e Pi = 3.14). 2/ 41 Função Exercício:

Leia mais

Diferenças na Programação com Dataserver Oracle

Diferenças na Programação com Dataserver Oracle Diferenças na Programação com Dataserver Introdução Existem diferenças entre DB e DB : O Desenvolvedor deve ter estas diferenças em mente quando está construindo seus programas. É preciso saber para quais

Leia mais