Baixe o app para aproveitar ainda mais
Prévia do material em texto
# # # # # # # # # # # # # # # # # PROGRAMAÇÃO DE COMPUTADORES Prof. Jean Carvalho Email: jeancarvalho@ufsj.edu.br Site: sites.google.com/site/jeancarvalhoufsj Sala: 4.29EL Aula 18 # # # # # # # # # # # # # # # # # Índice Matlab/Octave Modularização Sub-rotinas Funções 2 # # # # # # # # # # # # # # # # # Modularização Tipos de módulos: Sub-rotina: código modularizado; Função: código modularizado que retorna um valor. 3 S1 S2 MP F1 F2 S3 F3 S4 F4 # # # # # # # # # # # # # # # # # Arquivos .m tipo function Admitem parâmetros de entrada; Retornam valores; Possuem variáveis locais; O arquivo tipo function também tem que ter extensão .m e deve ter o mesmo nome usado na definição da função. Modularização 4 # # # # # # # # # # # # # # # # # ▸Sintaxe 5 Sub-rotina function <nome da sub-rotina>(var. de entrada) function CalculaArea(base,altura) %Sub-rotina para o cálculo da área de um triângulo %variáveis de entrada: base, altura resultado = (base*altura)/2; fprintf('A area do triangulo e = %f',resultado) end # # # # # # # # # # # # # # # # # 6 ▸A chamada de uma sub-rotina é feita pelo nome e pela indicação dos parâmetros atuais no local do algoritmo onde a sub-rotina dever ser ativada; ▸Forma geral para o comando de ativação de uma sub- rotina: Sub-rotina <nome da sub-rotina>(var. de entrada) H=5; B=10; CalculaArea(B,H) # # # # # # # # # # # # # # # # # 7 ▸01: Escreva um programa que receba um valor de temperatura em graus Fahrenheit e imprima na tela o valor da temperatura em graus Celsius. Conversão: C = 5*((F-32)/9). Sub-rotina %Declaração de variáveis %Leitura do valor de temperatura digitado %Cálculo e impressão da temperatura em °C # # # # # # # # # # # # # # # # # 8 ▸02: Escreva um programa que receba um valor de temperatura em graus Fahrenheit e imprima na tela o valor da temperatura em graus Celsius. Conversão: C = 5*((F-32)/9). Sub-rotina %Declaração de variáveis %Leitura do valor de temperatura digitado %Ativação da sub-rotina de conversão e impressão %Declaração da sub-rotina de conversão e impressão # # # # # # # # # # # # # # # # # ▸As funções são bastante semelhante às sub-rotinas, mas retornam ao algoritmo que as chamou um valor associado ao nome da função. Sintaxe: Função 9 function [var.saída]=<nome da função>(var. de entrada) function [resultado]=CalculaArea(base,altura) %Função para o cálculo da área de um triângulo %variáveis de entrada: base, altura resultado = (base*altura)/2; end # # # # # # # # # # # # # # # # # 10 ▸A chamada de uma função é feita pelo nome e pela indicação dos parâmetros atuais no local do algoritmo onde a sub-rotina dever ser ativada; ▸Forma geral para o comando de ativação de uma função: Sub-rotina <nome da sub-rotina>(var. de entrada) H=5; B=10; area=CalculaArea(B,H) fprintf('A area do triangulo e = %f',area) # # # # # # # # # # # # # # # # # 11 ▸03: Escreva um programa que receba um valor de temperatura em graus Fahrenheit e imprima na tela o valor da temperatura em graus Celsius. Conversão: C = 5*((F-32)/9). Função %Declaração de variáveis %Leitura do valor de temperatura digitado %Ativação da função de conversão %Impressão dos dados %Declaração da função de conversão # # # # # # # # # # # # # # # # # ▸04 Escreva um programa que receba dois valores a e b, faça por meio de uma função a troca dos valores e imprima os valores trocados na tela. ▸05 Fazer um programa com uma função para cálculo da área e uma função para cálculo do volume de uma esfera. O programa deve ler o valor do raio e mostrar os resultados com 2 casas decimais no seguinte formato: Área = <valor>; Volume = <valor> 𝐴 = 4𝜋𝑟2 𝑉 = 4 3 𝜋𝑟3 12 Exemplo # # # # # # # # # # # # # # # # # Exemplo 06 Faça um programa que leia duas matrizes, verifica e mostra por meio de sub-rotina se as seguintes multiplicações de matrizes são possíveis (informar o porquê caso alguma não seja possível): Primeira matriz vezes segunda; Segunda matriz vezes primeira; Primeira matriz ao quadrado; Segunda matriz ao quadrado. 13
Compartilhar