Você está na página 1de 35

EECA

Funções e
comunicação via tela
Núcleo Livre para cursos de graduação da UFG
Profa. Sylvia Regina Mesquita de Almeida

SRMA

SRMA
EECA
Tópicos anteriores

 O curso Ferramentas
Computacionais para
Engenharia

 O curso em ambiente remoto

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 2


EECA
Tópicos anteriores

 O ambiente Octave

Navegador
de arquivos Editor

Ambiente de
trabalho

Janela de
Histórico de
comandos
comandos

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 3


EECA
Tópico atual

 Solução da atividade prática

 Introdução ao conceito de função

 Algumas funções nativas úteis

 Funções para troca de informações via tela

 Atividades práticas

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 4


EECA

Solução da atividade
prática
FCE 02
Funções e comunicação via tela

SRMA

SRMA julho/2021 FCE 02: Funções e comunicação via tela 5


EECA
Primeira aplicação

Antes de começar a
programar, é necessário
entender bem o problema e
b1 traçar uma estratégia de
α1 c1 ação.

Dados:
b1, c1, α1
b2 α2 b2, α2
c2 = ?

Respostas procuradas:
c2, área, perímetro
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 6


EECA
Estratégia de ação

b1
α1 c1
b1
α1 c1

 a
a

a 2 =b 2 + c 2 − 2 b c cosα
b2 α2
a
c2 = ?

b2 α2
SRMA c2
julho/2021 FCE 02: Funções e comunicação via tela 7
EECA
Formulando o problema

b1  Calculo de a
α1 c1
a = b12 + c12 − 2 b1 c1 cosα1

a
 Calculo de c2
a 2 =b 2 + c 2 − 2 b c cosα
a 2 =b2 2 + c2 2 − 2 b2 c 2 cosα 2

a
c2 2 − ( 2 b2 cosα 2 ) c 2 + ( b2 2 − a 2 ) =
0

α2
b2 2 b2 cosα 2 ± ( 2
2 b cos α 2)
2
− 4 (2
b 2
− a 2
)
c2 c2 =
SRMA 2

julho/2021 FCE 02: Funções e comunicação via tela 8


EECA
Formulando o problema: altura de um triângulo

α b2 = e2 + h2
b c b2 =
a 2 − 2 a f + f 2 + h2
h a=e +f
c2 = f 2 + h2

e f

a 2 − b2 + c2
2
b =e +h 2 2 b2 − c2 = a 2 − 2 a f f =
2a
c2 = f 2 + h2
a=e +f 2
c = f +h 2 2
=h c2 − f 2

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 9


EECA
Formulando o problema: altura de um triângulo

c2 = f 2 + h2
α c2 =a 2 − 2 a e + e2 + h2
b c
h a=e +f
b2 = e2 + h2
a 2 + b2 − c2
e f c2 − b2 = a 2 − 2 a e e=
2a
b2 = e2 + h2
a 2 + b2 − c2 a 2 − b2 + c2 2 a 2
e + f= + = = a
c2 = f 2 + h2 2a 2a 2a
a=e +f
b2 = e2 + h2 =h b2 − e2

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 10


EECA
Formulando o problema

b1  Calculo do perímetro
α1 c1
=p b1 + c1 + b2 + c2
e1
f1
 Calculo das alturas dos triângulos
a
a 2 − b12 + c12 a 2 − b2 2 + c2 2
a f1 = f2 =
2a 2a
e2
f2
h1
= c12 − f12 h2
= c2 2 − f 2 2

b2 α2
a1 h1 a h2
c2 =A +
SRMA
2 2

julho/2021 FCE 02: Funções e comunicação via tela 11


EECA
Ordem das operações
a = b12 + c12 − 2 b1 c1 cosα1

( b2 cosα 2 ) − ( b2 2 − a 2 )
2
b1 c2 b2 cosα 2 ±
=
α1 c1
=p b1 + c1 + b2 + c2
a
a 2 − b12 + c12 a 2 − b2 2 + c2 2
f1 = f2 =
b2 α2 2a 2a

c2 = ? h1
= c12 − f12 h2
= c2 2 − f 2 2

a h1 a h2
A
= +
SRMA 2 2
julho/2021 FCE 02: Funções e comunicação via tela 12
EECA

O conceito de função
FCE 02
Funções e comunicação via tela

SRMA

SRMA julho/2021 FCE 02: Funções e comunicação via tela 13


EECA

O que é uma
Uma função é um trecho de
função? código computacional que
pode ser usado várias vezes
em uma aplicação.

Ou pode ser
usado em várias
aplicações.

São nativas
Podem ser nativas ou
da
construídas pelo
linguagem?
programador.
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 14


EECA
A ideia básica

Reconhecimento de firma em
O que levar? O traz de volta?
cartório

• Ir ao endereço do cartório A. Endereço do cartório 1. Documento com


• Apresentar o documento B. Documento assinado firma reconhecida
• Pegar o documento com o carimbo C. Dinheiro 2. Troco
de reconhecimento de firma
• Pagar pelo serviço
• Voltar para o local inicial levando o Dados de entrada Variáveis de saída
documento com firma reconhecida

SRMA Função

julho/2021 FCE 02: Funções e comunicação via tela 15


EECA
Arquitetura básica de uma função
Palavra que function [vsa, vsb, ...,vsz] = Nome (ve1, ve2,..., ven)
indica
que as linhas
seguintes Variáveis de Variáveis de
fazem parte de saída entrada
uma função ... Nome dado pelo
programador da
Linhas de código função e que é usado
para acioná-la
...
Linhas de código que
serão executadas
quando a função for
acionada
Palavra que
indica final
end
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 16


EECA
Uso da função

Linhas de código
.
.
. A função Nome
[v, w] = Nome (b, a, d); é chamada pela
. primeira vez
.
. A função Nome
[z, x] = Nome (2, f, 4); é chamada pela
. segunda vez
.
.
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 17


EECA
Uso da função

Linhas de código
.
.
.
Dados de [v, w] = Nome (b, a, d); Dados de
. entrada
saída são
podem ser
sempre . escalares ou
colocados em . colocados em
variáveis [z, x] = Nome (2, f, 4); variáveis
.
.
.
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 18


EECA
Uso da função

Código que usa a função


Nome function [vsa, vsb] = Nome (ve1, ve2 , ve3)
.
v= vsa
. w = vsb
. ve1= b
[v, w] = Nome (b, a, d); ve2 = a
. ve3 = d

. z= vsa
x = vsb
. ve1= 2
[z, x] = Nome (2, f, 4); ve2 = f
ve3 = 4
.
.
SRMA .
julho/2021 FCE 02: Funções e comunicação via tela 19
EECA
Algumas funções trigonométricas nativas

 s = sin(teta)  Calcula o seno do ângulo teta

 c = cos(teta)  Calcula o cosseno do ângulo teta

 t = tan(teta)  Calcula a tangente do ângulo teta

 ct = cot(teta)  Calcula a cotangente do ângulo teta

Ângulo
SRMA teta em
radianos
julho/2021 FCE 02: Funções e comunicação via tela 20
EECA
Algumas funções algébricas nativas

 r = sqrt(x)  Calcula a raiz quadrada de x

 a = abs(x)  Calcula o módulo (valor absoluto) de x

 s = sign(x)  Fornece 1 se o sinal de x for negativo


e -1 se for negativo

 e = exp(x)  Calcula ex

 f = factorial(n) Calcula n!
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 21


EECA

Atividade prática
FCE 02
Scripts, funções e comunicação via tela

SRMA

SRMA julho/2021 FCE 02: Funções e comunicação via tela 22


EECA
Execute a função para os seguintes problemas

Exemplo 1 Exemplo 2

3 cm
4 cm

4 cm

3 cm 4 cm 3 cm

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 23


EECA
Execute a função para os seguintes problemas

Exemplo 1 Exemplo 2
b1
b1

b2 c2 4 cm
b2 c1 3 cm

c2 c2
4 cm
3 cm 4 cm 3 cm

 b1=4; c1=3; b2=3;  b1=2; c1=5; b2=5;


 alpa1=90; alfa2=90;  alpa1= pi/2 + atan(3/4);
alfa2= atan(4/3);
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 24


EECA

Troca de informações
via tela
FCE 02
Funções e comunicação via tela

SRMA

SRMA julho/2021 FCE 02: Funções e comunicação via tela 25


EECA
input

 Função para entrada de dados:

 variável = input(‘String com a mensagem a ser exibida na


janela de comandos - Command Window’);

 variável = input(‘String com a mensagem a ser exibida na


janela de comandos - Command Window’ , ‘s’);

Indica que o
dado a ser lido
é uma string.
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 26


EECA
fprintf

 Função para impressão de dados:

 fprintf(‘rótulo de formato’, lista de variáveis);

 Formatos:
 %f - número real;
 %d- número inteiro; Impressão
na janela de
 %s - caractere.
comandos

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 27


EECA
Outros formatos

 %e - número em notação científica com ‘e’


minúsculo;

 %E - número em notação científica com ‘e’


maiúsculo;

 %g - “f” ou “e”, o que for mais curto;

 %G - “f” ou “E”, o que for mais curto.


SRMA

julho/2021 FCE 02: Funções e comunicação via tela 28


EECA
Rótulo de formato

Coordenada y
do 1º ponto
String
guardada
na Coordenada
Distância
variável x do 1º
entre os
nome ponto
pontos

___________, a distância entre [__,__] e [__,__] é _____.

Coordenada x Coordenada y
do 2º ponto do 2º ponto
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 29


EECA

nome= ‘Sylvia’;
x1 = 1.0; y1 = 2.0; dist = 5.0;
x2 = 4.0; y2 = 6.0;
Rótulo de formato

Sylvia a distância entre [___,___]


______, 1.0 2 5.0
4.0 6.0 é _____.
e [___,___]

fprintf(‘%s, a distância entre [%f, %f] e [%f, %f] é %f.\n’,...

nome, x1, y1, x2, y2, dist)


SRMA

julho/2021 FCE 02: Funções e comunicação via tela 30


EECA
Opções com formatos fixos

 %nd a= -3547;
- 3 5 4 7 fprintf('%8d\n',a);

n algarismos, incluindo o sinal

m algarismos depois do ponto


 %n.mf decimal
b= -35.47;
- 3 5 4 7 0 fprintf('%8.3f\n',b);

n algarismos, incluindo o sinal e o ponto


SRMA decimal

julho/2021 FCE 02: Funções e comunicação via tela 31


EECA
Opções com formatos fixos

 %0nd 0 0 0 0 3 5 4 7
a= 3547;
fprintf('%08d\n',a);

Preenche os espaços
à esquerda com
zeros.

 %0n.mf
b= -35.47;
- 0 3 5 4 7 0 fprintf('%08.3f\n',b);

SRMA

julho/2021 FCE 02: Funções e comunicação via tela 32


EECA

Finalização
FCE 02
Funções e comunicação via tela

SRMA

SRMA julho/2021 FCE 02: Funções e comunicação via tela 33


EECA
Atividade prática: parte 2

 Melhore o script para cálculo do lado, do perímetro e


da área do polígono.

 Leia os dados a partir da janela de comandos e


imprima o resultado também na janela de comandos
com formatação controlada.

 Pense sobre as limitações da implementação para


discussão na próxima aula.
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 34


EECA
O próximo tópico

 Criação de figuras
 Funções plot e fplot
 Gráficos múltiplos:
 em várias janelas
 na mesma janela
 Formatação de gráficos
 Atividade prática
SRMA

julho/2021 FCE 02: Funções e comunicação via tela 35

Você também pode gostar