Você está na página 1de 11

MATLAB 5.

3
Luciano Andr Farina
Maurcio Posser

Aula 2
Programao

Aula 2
Programao

Algoritmos
Noes Bsicas de Programao

Programa - seqncia de comandos (rotina) estabelecida


de acordo com um objetivo prestabelecido
Construo de um algoritmo:
montagem lgica da seqncia
de operaes a ser seguida

Blocos de
fluxograma:
Entrada
de dados

Exibir
valor

Deciso

Processo

Algoritmos
Exemplo de fluxograma

Aula 2
Programao
Tc , Pc e , T, P0

Resolver A e B

0 ,46 R 2Tc2
a
1 m 1 Tr
Pc
0 ,078 RTc
b
Pc

m 0 ,37 1,54 0 ,27 2

Resolver equao
de estado,
obtendo zL e zV

Calcular f V e fL

PP

fL

No

1 tol ?

aP
R 2T 2

bP
RT

Z 3 Z 2 ( B 1 ) Z A 3B 2 2 B
B 3 B 2 AB 0

ln ( z 1 ) ln z

z 1
a
ln
2bRT 2 z 1

Sim

Escrever
P=Psat

bP

RT
bP
2
RT

bP
2
RT

Aula 2
Programao

Comando edit

edit
edit

M-File
Editor/Debugger

Aula 2
Programao

Controle de fluxo de programao

Controle Lgico:
IF / ELSEIF / ELSE
SWITCH / CASE / OTHERWISE
Iterao e Loop:
FOR
WHILE

Aula 2
Programao

So utilizadas em
comandos
condicionais.
A seqncia termina
assim que uma
condio verdadeira
for detectada.

Introdues:
if , elseif e else

%% se
se II igual
igual aa JJ
if
if II ==
== JJ
%% entao
entao
A(I,J)
A(I,J) == 2;
2;
%% senao
senao se
se abs(I-J)for
abs(I-J)for 11
elseif
elseif abs(I-J)
abs(I-J) ==
== 11
%% entao
entao
A(I,J)
A(I,J) == -1;
-1;
%% senao
senao
else
else
A(I,J)
A(I,J) == 0;
0;
%% fim
fim
end
end

Aula 2
Programao

So mais eficientes que


as instrues if, elseif,
else.
Somente o primeiro caso
verdadeiro executado.

Switch, Case e Otherwise

switch
switch input_num
input_num
case
case -1
-1
disp('negative
disp('negative one');
one');
case
0
case 0
disp('zero');
disp('zero');
case
case 11
disp('positive
disp('positive one');
one');
case
case {-10,10}
{-10,10}
input_num
input_num == 0;
0;
otherwise
otherwise
disp('other
disp('other value');
value');
end
end

Aula 2
Programao

Comportamento similar ao
de outras linguagens de
programao.
Repete o loop N-vezes
(baseado no ndice).
Pode ser aninhado.

Instruo loop: for

N=10;
N=10;
for
for II == 1:N,
1:N,
for
for JJ == 1:N,
1:N,
A(I,J)
A(I,J) == 1/(I+J-1);
1/(I+J-1);
end
end
end
end

Aula 2
Programao

Comportamento
similar ao de outras
linguagens de
programao.
Repete o loop at
que a condio
retorne FALSE.
Pode ser aninhado.

Instruo loop: while

I=1;
I=1; N=10;
N=10;
while
while I<=N
I<=N
J=1;
J=1;
while
while J<=N
J<=N
A(I,J)=1/(I+J-1);
A(I,J)=1/(I+J-1);
J=J+1;
J=J+1;
end
end
I=I+1;
I=I+1;
end
end

Aula 2
Programao

% Programa:
% Frmula centesimal --> Frmula molecular
% Inicializao
clc, clear all , clear global
% Pesos moleculares dos elementos
pm=[ 12.01 1.01 16 14.01 ];
% Entrada de dados
comp=input('Entre com o vetor de composies
percentuais (C,H,O,N) ');
pmc=input('Entre com o peso molecular do composto ');
% Execuo
prorp=pmc*comp/100;
formula=round(prorp./pm)

Script files

Aula 2
Programao

function [formula] = analise_f(comp,pmc)


% [formula] = analise_f(comp,pmc)
% Frmula centesimal --> Frmula molecular
% Esta function determina a formula centesimal
% de um composto orgnico a partir do vetor de
% composies percentuais comp=[C,H,O,N] e do
% peso molecular do composto (pmc)
% Pesos moleculares dos elementos
pm=[ 12.01 1.01 16 14.01 ];
% Execuo
prorp=pmc*comp/100;
formula=round(prorp./pm);

Functions

Você também pode gostar