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

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

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

Transcrição

1 MATLAB Funções

2 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 aparecem no help % Estes comentários já não aparecem no help Código executável... (return) (end) 2

3 Exemplo: função cálculo distancia function distancia = dist2(x1,y1,x2,y2) % DIST2 calcula a distancia entre dois pontos % A funcao DIST2 calcula a distancia entre os % pontos (x1,y1) e (x2,y2) no sistema cartesiano. % % Chamada: distancia = dist2(x1,y1,x2,y2) % Variaveis: % x1 - posicao x do ponto 1 % y1 - posicao y do ponto 1 % x2 - posicao x do ponto 2 % y2 - posicao y do ponto 2 % distancia distancia entre os dois pontos % Revisoes (...) % Calcula distancia distancia = sqrt((x2-x1).^2 + (y2-y1).^2) end 3

4 Teste à função dist2 % Script file: testa_dist2.m % Este programa testa a função dist2 % % Registo das revisões: % (...) % % Variaveis: % a_x - posicao x do ponto a % a_y - posicao y do ponto a % b_x - posicao x do ponto b % b_y - posicao y do ponto b % result distancia entre os dois pontos % Entrada de dados disp('calculo da distancia entre dois pontos') a_x = input('introduza a coordenada x do ponto a: '); a_y = input('introduza a coordenada y do ponto a: '); b_x = input('introduza a coordenada x do ponto b: '); b_y = input('introduza a coordenada y do ponto b: '); % Testa a função result = dist2(a_x, a_y, b_x, b_y); % Escreve o resultado fprintf('a distancia entre os pontos A e B e'' %f\n', result); 4

5 Passagem de parâmetros O Matlab passa os parâmetros das funções por valor. Quando uma função muda os valores dos argumentos, estes não são alterados no programa que a chamou. Exemplo: function saida = exemplo(a, b) fprintf('no exemplo: a = %f, b = %f %f\n', a, b) a = b(1) + 2*a; b = a.* b; saida = a + b(1); fprintf('no exemplo: a = %f, b = %f %f\n', a, b) 5

6 Exemplo de passagem de parâmetros Teste da função exemplo.m: % Script file: testa_exemplo.m a = 2; b = [6 4]; fprintf('antes do exemplo: a = %f, b = %f %f\n', a, b) saida = exemplo(a, b); fprintf('depois do exemplo: a = %f, b = %f %f\n', a, b) fprintf('depois do exemplo: saida = %f\n', saida) Execução no Matlab: >> testa_exemplo Antes do exemplo: a = , b = No exemplo: a = , b = No exemplo: a = , b = Depois do exemplo: a = , b = Depois do exemplo: saida =

7 Exemplo: conversão de coordenadas function [r, theta] = cart2polar(x, y) %CART2POLAR converte coordenadas cartesianas em polares % Funcao CART2POLAR aceita cordendas cartesianas (x,y), e converte-as % em coordenadas polares (r,theta), onde theta e' dada em graus % % Chamada da função: % [r, theta] = cart2polar(x, y) % Variaveis: % r -- comprimento do vector polar % theta -- angulo do vector em graus % x -- posicao x do ponto % y -- posicao y do ponto % Registo das revisões: % Data Programador Descricao das alteracoes % ======== ================ ======================== % 02/05/06 Joao M. C. Sousa Codigo original r = sqrt( x.^2 + y.^2 ); theta = 180/pi * atan2(y,x); end % funcao cart2polar 7

8 Exemplos de execução Existe também a função polar2cart. Exemplos a testar no Matlab: [r, theta] = cart2polar(4,3) [r, theta] = cart2polar(-4,3) [r, theta] = cart2polar(-4,-3) [r, theta] = cart2polar(4,-3) [x, y] = polar2cart(5, ) [x, y] = polar2cart(5, ) [x, y] = polar2cart(5, ) [x, y] = polar2cart(5, ) 8

9 Recursão 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 9

10 Recursão 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 10

11 Recursão Para calcular 5! seguem-se os seguintes passos: 11

12 Função recursiva Código da função factorial, programada de forma recursiva (em MATLAB): function resultado = factorial(n) if (n < 0 round(n)~=n) error('o argumento deve ser um inteiro >=0.'); elseif (n == 0) resultado = 1; else end resultado = n * factorial(n-1); Caso Casomais maissimples Passo Passoinductivo 12

13 Função recursiva Código da função factorial, programada de forma recursiva (em C++): int factorial (int n) { } assert (n >= 0); if (n == 0) return 1; else return n * factorial (n 1); Passo Passoinductivo Caso Casomais maissimples 13

14 Execução da função recursiva Sequência de passos recursivos quando é chamada int numero = factorial(4); Chamadas recursivas sucessivas 14

15 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... 15

16 Execução da função recursiva Os valores calculados vão sendo retornados:

17 Argumentos opcionais O Matlab pode ter argumentos opcionais. As funções nargin e nargout permitem determinar o número de argumentos de entrada e de saída. Podem ser utilizadas condições para realizar acções dependendo do número de argumentos. nargchk retorna uma mensagem de erro se função for chamada com um número de argumentos errado. As funções error e warning podem ser utilizadas para escrever mensagens de erro ou de aviso. 17

18 Exemplo: cart2polar_2 function [magn, angulo] = cart2polar_2(x,y) %CART2POLAR converte coordenadas cartesianas em polares % Funcao CART2POLAR aceita cordendas cartesianas (x,y), e converte-as % em coordenadas polares (r,theta), onde theta e' dada em graus % Ilustra a utilizacao de argumentos opcionais % Variaveis: % msg -- mensagem % magn -- magnitude % angulo -- angulo em graus % x -- posicao x do ponto % y -- posicao y do ponto (opcional) % Registo das revisões: % Data Programador Descricao das alteracoes % ======== ================ ======================== % 06/05/06 Joao M. C. Sousa Codigo original % Testa se o numero de argumentos e' correcto. msg = nargchk(1,2,nargin); error(msg); 18

19 Exemplo: cart2polar_2 % Se nao for dado o argumento y, atribui-lhe o valor 0. if nargin < 2 y = 0; end % Verifica se os argumentos de entrada sao (0,0), % e nesse caso escreve uma mensagem de aviso (warning). if x == 0 & y == 0 msg = 'Ambos x e y sao zero: o angulo nao tem significado!'; warning(msg); end % Calcula a magnitude. magn = sqrt(x.^2 + y.^2); % Se existe segundo argumento de saida, calcula % o angulo em graus. if nargout == 2 angulo = atan2(y,x) * 180/pi; end end % funcao cart2polar_2 19

20 Exemplos de execução >> [r ang]=cart2polar_2??? Error using ==> cart2polar_2 Not enough input arguments. >> [r ang]=cart2polar_2(1,-1,1)??? Error using ==> cart2polar_2 Too many input arguments. >> [r ang]=cart2polar_2(1) r = 1 ang = 0 >> [r ang]=cart2polar_2(1,-1) r = ang =

21 Exemplos de execução (2) >> r = cart2polar_2(1,-1) r = >> [r ang]=cart2polar_2(1,-1) r = ang = -45 >> [r ang]=cart2polar_2(0,0) Warning: Ambos x e y sao zero: o angulo nao tem significado! > In cart2polar_2 at 32 r = 0 ang = 0 21

22 Variáveis globais Podem ser definidas da seguinte forma: global VAR1 VAR2 VAR3... As variáveis globais são em geral definidas em maiúsculas para serem facilmente reconhecidas. As variáveis globais devem ser definidas imediatamente após os comentários iniciais. Devem ser evitadas. Podem ser utilizadas para passar grandes quantidades de dados entre funções. 22

23 Funções de funções fzero encontra o zero de funções de uma variável: >> fzero('cos(x)', [0 pi]) ans = >> fzero('exp(x)-2', [0 1]) ans =

24 Funções eval e feval >> x = eval('sin(pi/4)') x = Exemplo: x = 1; cadeia = ['exp(' num2str(x) ') -1']; res = eval(cadeia); retorna: 'exp(1) -1', logo res = eval('exp(1) -1') e tem o valor de >> x = feval('sin', pi/4) x =

25 Exemplo: função plot_rapido function plot_rapido(fun,lim_x) %PLOT_RAPIDO faz os graficos de uma função de forma rapida % Funcao PLOT_RAPIDO faz os graficos de uma % função numa m-file entre os limites xlim especificados. % Variaveis: % fun -- Funcao para fazer o grafico % msg -- Mensagem de erro % n_passos -- Numero de passos no grafico % tam_passo -- Tamanho do passo % x -- Valores em x para o grafico % y -- Valores em y para o grafico % lim_x -- Limites em x para o grafico (dados pelo utilizador) % % Registo das revisões: % Data Programador Descricao das alteracoes % ======== ================ ======================== % 06/05/06 Joao M. C. Sousa Codigo original % Testa se o numero de argumentos e' correcto. msg = nargchk(2,2,nargin); error(msg); 25

26 Exemplo: função plot_rapido % Verifica se o 2º argumento tem dois elementos. % Poderá assim ser um vector linha ou coluna. if (size(lim_x,1) == 1 & size(lim_x,2) == 2)... (size(lim_x,1) == 2 & size(lim_x,2) == 1) n_passos = 100; tam_passo = (lim_x(2) - lim_x (1)) / n_passos; x = lim_x (1):tam_passo:lim_x (2); y = feval(fun,x); plot(x,y); title(['\bfgrafico da funcao ' fun '(x)']); xlabel('\bfx'); ylabel(['\bf' fun '(x)']); else % O numero de elementos em lim_x esta' incorrecto. error('numero de elementos em lim_x incorrecto'); end end % funcao plot_rapido 26

27 Exemplos de execução >> plot_rapido??? Error using ==> plot_rapido Not enough input arguments. >> plot_rapido('sin')??? Error using ==> plot_rapido Not enough input arguments Grafico da funcao sin(x) >> plot_rapido('sin',[-2*pi 2*pi],3)??? Error using ==> plot_rapido Too many input arguments. >> plot_rapido('sin',-2*pi)??? Error using ==> plot_rapido Numero de elementos em lim_x incorrecto >> plot_rapido('sin',[-2*pi 2*pi]) sin(x) x 27

28 Grafico do sin(x) 28

29 Subfunções Os M-files de funções podem conter mais de uma função. A função primária é a principal, ou seja, a que é invocada pelo nome do ficheiro M-file. As funções adicionais no ficheiro são sub-funções, e só são visíveis pela função primária, ou por outras subfunções no mesmo ficheiro. Cada sub-função começa pela sua linha de definição, estão umas a seguir às outras. A ordem das subfunções é opcional, mas a função primária deve aparecer em primeiro lugar. 29

30 Subfunções Ficheiro estatisticas2.m File mystats.m estatisticas2 mystats Função estatisticas2 é acessível do exterior. Function mystats is accessible from outside the file. mean media median mediana Funções media e mediana só são acessíveis dentro do ficheiro. Functions mean and median are only accessible from inside the file. 30

31 Exemplo: estatisticas2 function [media,mediana] = estatisticas2(u) % ESTATISTICAS2 calcula a media e a mediana com funcoes internas % Função ESTATISTICAS2 calcula a media e a mediana de um conjunto % de dados utilizando sub-funcoes. n = length(u); media = mean(u,n); mediana = median(u,n); end % funcao estatisticas2 function med = mean(v,n) % Subfuncao que calcula a media. med = sum(v)/n; end % funcao mean function m = median(v,n) % Subfuncao que calcula a mediana. w = sort(v); if rem(n,2) == 1 m = w((n+1)/2); else m = (w(n/2) + w(n/2 + 1))/2; end end % funcao median 31

32 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! 32

33 Funções internas (nested) 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 % func_interna_2 end % nested_function_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 the principal. host function. func_interna_1 pode ser chamada por funcao_principal e por func_interna_2 nested_function_1 can be called from within host_function or nested_function_2. func_interna_2 pode ser chamada por funcao_principal e por func_interna_1 nested_function_2 can be called from within host_function or nested_function_1. 33

34 Exemplo com uma função interna 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); 34

35 Exemplo com uma função interna (2) 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 =

36 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 na MATLAB path. Se existir uma função na path, será executada. 36

MATLAB. Programação básica

MATLAB. 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 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

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

RESOLUÇÃ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:

RESOLUÇÃ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 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

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

MATLAB. Tópicos Elementares. 1. Tipos de dados: vectores e matrizes 2. Operadores 3. Controlo de Fluxo

MATLAB. Tópicos Elementares. 1. Tipos de dados: vectores e matrizes 2. Operadores 3. Controlo de Fluxo MATLAB Tópicos Elementares Sumário 1. Tipos de dados: vectores e matrizes 2. Operadores 3. Controlo de Fluxo a. Operadores de selecção b. Operadores de repetição 4. Funções em Matlab 5. Leitura e escrita

Leia mais

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

Introdução ao SciLab. SciLab O que é? Onde obter o programa: Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010

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

Computação e Programação

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

Computação e Programação Exame 2ª Época

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

Introdução ao MATLAB. Parte 2

Introduçã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 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 Current Folder Window Local onde as operações podem ser

Leia mais

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Argumentos da linha de comando Funções recursivas Programação 2010/2011 DEEC-IST Arg. da linha de comando;

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

CFAC: Visual Basic: III - Procedimentos

CFAC: Visual Basic: III - Procedimentos Visual Basic III Procedimentos CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Subrotinas em Visual Basic; 2) Criar Funções; 3) Mecanismo de passagem de parâmetros;

Leia mais

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

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos Modularidade Objetivos: Introduzir noções básicas de modularidade Funções e procedimentos Motivação É muito difícil manter um código quando ele tende a ser grande (com muitas linhas) É preciso organizar

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

ALGORITMOS I. Procedimentos e Funções

ALGORITMOS I. Procedimentos e Funções Procedimentos e Funções Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 MÓDULOS São blocos de instruções que realizam tarefas específicas. Carregado uma vez e pode ser executado quantas vezes

Leia mais

Notas de Aula MatLab - 2

Notas 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 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 Current Folder Window Local onde as operações podem ser

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 10 04/2014 Matlab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal

Leia mais

Estruturas de Decisão. APROG (Civil) Aula 6

Estruturas de Decisão. APROG (Civil) Aula 6 Estruturas de Decisão APROG () Aula 6 Conteúdo Estrutura If...Then Estrutura If...Then...Else 2 Conceito As Estruturas de Controlo servem para modificar o fluxo das instruções seguidas por um determinado

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Informática para Ciências e Engenharias 2013/14. Teórica 7

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

Linguagens de Programação Aula 11

Linguagens de Programação Aula 11 Linguagens de Programação Aula 11 Celso Olivete Júnior [email protected] Na aula passada Uma definição de subprograma descreve as ações representadas pelo subprograma Subprogramas podem ser funções

Leia mais

Processamento da Informação Teoria Funções

Processamento da Informação Teoria Funções Processamento da Informação Teoria Funções Semana 01 Prof. Jesús P. Mena-Chalco 27/04/2013 Funções No contexto de linguagens de programação, uma função é uma sequência de instruções utilizada para realizar

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

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

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

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Estruturas de Controle - Seleção Prof. César Melo Estruturas de Controle: Condicional Estruturas: Simples Composta Múltipla escolha Estrutura Condicional

Leia mais

INF 1620 P1-17/09/05 Questão 1 Nome:

INF 1620 P1-17/09/05 Questão 1 Nome: INF 1620 P1-17/09/05 Questão 1 Considere as equações de movimento para calcular a posição (s) e velocidade (v) de uma partícula em um determinado instante t, dado sua aceleração a, posição inicial s 0

Leia mais

Cap Escrever uma função que aceite como parâmetro um número inteiro e retorne o número que corresponde a trocar os dígitos do parâmetro (por exe

Cap Escrever uma função que aceite como parâmetro um número inteiro e retorne o número que corresponde a trocar os dígitos do parâmetro (por exe Cap 1 - Escreva um programa que leia um número real e escreva, separadamente, a sua parte inteira e a sua parte fraccionária. - Escreva um programa que leia um número real e positivo e o converta para

Leia mais

LISTA DE EXERCÍCIOS MÊS 04

LISTA DE EXERCÍCIOS MÊS 04 São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto

Leia mais

INTRODUÇÃO AO MATLAB - PARTE 2

INTRODUÇÃO AO MATLAB - PARTE 2 INTRODUÇÃO AO MATLAB - PARTE 2 Murilo F. Tomé - ICMC-USP Operadores Relacionais/Lógicos Estruturas de Seleção e Repetição Introdução polinômios Gráficos Operadores relacionais Símbolo Operador = = igual

Leia mais

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. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2014-2 Aula Prática 09 - Segunda Valor de uma Série O valor aproximado de uma série com n termos é calculado pelo somatório: S = onde i é o número da parcela

Leia mais

Capí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 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 mais

Legibilidade do código fonte

Legibilidade do código fonte Sumário Legibilidade do código fonte Exemplos Normas Instrução switch Sintaxe e Semântica Exemplo Tipos enumerados Exemplo Programação 2007/2008 DEEC-IST 1 Legibilidade do código fonte Exemplo: Considere

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é

Leia mais

Programação com Funções. Subprogramas do tipo Função

Programação com Funções. Subprogramas do tipo Função Programação com Funções Problemas complexos divididos em subproblemas Subprogramas funções (function) subrotinas (subroutine) Fortran contém funções intrínsecas, ou de biblioteca. Exemplos de funções intrínsecas:

Leia mais

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP Programação I Aula 17 Correção de programas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Classes de erros 2 Execução passo-a-passo 3 Testes na documentação 4 Asserções 5 Outros erros comuns DCC/FCUP 2019

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de

Leia mais