Академический Документы
Профессиональный Документы
Культура Документы
UNIVERSITRIO
UNA
INSTITUTO POLITCNICO
Sumrio
LINK
PARA
DOWNLOAD
DO
SOFTWARE
SCILAB
INTRODUO
O AMBIENTE SCILAB
JANELA DE COMANDO
SCINOTES
NAVEGADOR DE VARIVEIS
NAVEGADOR AJUDA
COMANDO DE SADA
COMANDOS DE ENTRADA
11
OPERADORES
11
1. ESTRUTURA SEQUENCIAL
17
18
21
2. ESTRUTURA CONDICIONAL
24
O COMANDO IF ELSE.
24
25
27
30
3. ESTRUTURAS DE REPETIO
33
O COMANDO FOR
33
O COMANDO WHILE
38
41
4. VETORES E GRFICOS
44
46
INSERO DIRETA
46
46
46
SADA DIRETA
46
46
CONSTRUINDO GRFICOS
47
CONSTRUINDO GRFICOS 2D
47
49
EXERCCIOS - VETOR
57
58
5. MATRIZES
60
61
INSERO DIRETA
62
62
62
SADA DIRETA
62
62
67
Introduo
Existem vrias abordagens para se ensinar os fundamentos do SCILAB. Este
material tem como objetivo fazer uma introduo ao SCILAB do ponto de
vista de um usurio da linguagem C.
Como C/C++ e outras linguagens de programao, o SCILAB, possui
operadores: aritmticos, lgicos, condicionais, repetio e outros mais.
Este captulo vai introduzir a ferramenta SCILAB e explorar os seguintes
conceitos:
O
ambiente
SCILAB
Com o passar dos anos o SCILAB vm se popularizando no apenas pela
versatilidade, mas tambm pela sua interface, que permite um ambiente
amigvel e interativo em que algoritmos bsicos e avanados, envolvendo
clculos e simulaes podem ser facilmente executados.
O SCILAB apresenta vrias janelas que ajudam e permitem que todas as
atividades sejam realizadas pelo usurio. As janelas possuem funes
distintas e sero exemplificadas e explicadas nas sees a seguir.
Janela
de
comando
A janela de comando uma sub-janela em que o usurio pode digitar
comandos ou instrues a serem processadas no SCILAB. A janela de
comando vai mostrar o prompt --> , sinal que simboliza que o SCILAB est
pronto para receber instrues. Uma vez digitada a instruo e a tecla enter
for digitada, a instruo imediatamente executada.
SciNotes
A janela SciNotes (editor) disponibiliza um espao onde os arquivos .sci
podero ser criados e editados para a execuo. Arquivos .sci tambm
podem ser abertos ou re-editados e executados. Para ter acesso ao SciNotes
basta clicar na opo aplicativos da janela (principal) console SCILAB.
Navegador
de
variveis
a sub-janela onde so carregadas, consultadas e salvas as variveis.
Perceba na figura acima que todas as variveis que foram criadas, foram
listadas e classificadas quanto ao seu tipo, dimenso e visibilidade. Um duplo
clique em cada uma destas variveis, na janela navegador de variveis,
permitir que voc acesse o contedo da varivel selecionada.
Navegador
Ajuda
A janela ajuda permite acesso a todo o contedo de ajuda do SCILAB. Voc
pode fazer a busca por informao de ajuda por diretrios organizados por
pacotes de aplicao, ou fazer uma busca por nome de comando, funo ou
at mesmo aplicao desejada. Para acessar o contedo ajuda, basta clicar
no cone
reconhecido pelo SCILAB ser .sci . Todo o nosso contedo ser trabalhado
utilizando os arquivos .sci.
Especificador
Sada
%d
Inteiro
%f
Real
%e
Exponencial
%g
%c
Caractere
%s
String
10
Caracteres
Significado
\b
backspace
\n
Nova linha
\t
Tab
\\
Mostrar o caractere \
%%
Mostrar o caractere %
Comandos
de
entrada
O comando de entrada de dados utilizado no SCILAB o comando
input(). Este comando permite que mensagens de texto sejam utilizadas
para indicar a entrada de valores para uma varivel indicada. Veja um
exemplo:
temperatura=input(Digite a temperatura de ajuste do forno: )
Aps digitado um valor pelo usurio, este valor ser atribudo varivel
temperatura.
Operadores
Aps atribuir valores por meio do comando input() , o prximo passo
ento processar os valores por meio das seguintes opes de operadores.
11
Smbolo
Significado
Adio
Subtrao
Multiplicao
Diviso
Potncia
Atribuio
()
Parnteses ( utilize-o
para impor regras)
Smbolo
Significado
>
maior
>=
Maior ou igual
<
Menor
<=
Menor ou igual
==
Igualdade
~=
Diferena
12
Smbolo
Significado
&
Operador e
Operador ou
Negao
13
14
15
16
1. ESTRUTURA
SEQUENCIAL
Chegou a hora de tentarmos apresentar alguns exemplos e desenvolver
pequenos programas aplicando o que vimos anteriormente.
Veja o exemplo 1.1:
Desenvolva um programa que realize a soma entre dois nmeros
clear;
clc;
Comentrios:
17
converso
Exerccio 3: Suponha que a altura h(t) de uma bola seja dada pela seguinte
funo;
gt 2
h(t) = v0 t
2
18
em que:
V0 a velocidade inicial da bola em metros por segundo (m/s);
t
para o
Suponha que uma bola de massa qualquer seja arremessada para cima
numa velocidade
v0
v(t) = v0 gt
gt 2
h(t) = v0 t
2
Onde
e t e ento informa as
I total =
!1 1 1$
V V V
+ + =V# + + &
R1 R2 R3
" R1 R2 R3 %
20
1
Rparalela
1 1 1
+ +
R1 R2 R3
Qmotor =
Pc.v
632
motor
kcal / dia
em que:
o nmero de horas de funcionamento por dia de equipamento;
motor o rendimento do motor eltrico de acionamento.
kcal / dia
em que ;
W a potencia da lmpada (W/m2)
o nmero de horas de funcionamento por dia de equipamento;
A a rea da cmara.
As pessoas por sua vez liberam pelo seu metabolismo, uma quantidade de
calor que nos dada por:
Qpessoas = n q
kcal / dia
em que:
"n" o nmero de pessoas;
"q" o calor liberado por pessoa e por hora, o qual cresce com o
abaixamento de temperatura.
Prtica !
Voc deve ter percebido que as informaes necessrias para o clculo de
carga trmica devido a fatores diversos leva em considerao a quantidade
de pessoas, mquinas e lmpadas no interior da cmara. Que tal
construirmos um programa em SCILAB para realizar estes clculos? Para
isto leia com ateno o enunciado a seguir.
Elabore um programa para calcular a carga trmica de uma cmara frigorifica
com as seguintes caractersticas:
Uma empilhadeira ser utilizada 2 horas por dia. Ela possui um motor
com potncia de 10 c.v. e eficincia 0,85.
2. ESTRUTURA
CONDICIONAL
A estrutura condicional permite que o programa usufrua de um mecanismo de
seleo e um conjunto de instrues em um processo qualquer.
O
comando
if
else.
Na indstria de um modo geral, ambientes com temperatura e umidade
relativa controlados so necessrios para a manuteno da qualidade de
processos de fabricao e armazenamento.
Na indstria de refratrios especificamente, a manuteno da umidade
relativa em baixos teores faz-se necessria no processo de composio de
moldes, tendo em vista que altas umidades relativas no ambiente podem
ocasionar danos significativos no processo de produo (lembre-se do saleiro
na sua casa em semanas chuvosas). Portanto, a direo da fbrica solicitou
ao engenheiro responsvel que desenvolvesse uma lgica de controle de
umidade relativa no ambiente de composio de moldes da fbrica. Para que
os moldes atendessem aos padres de qualidade da fbrica era necessrio
que a umidade relativa ambiente fosse mantida abaixo de 40%. Caso
contrrio uma mensagem de alerta deveria ser exibida.
O engenheiro responsvel desenvolveu um programa em SCILAB que
recebia como entrada o valor da umidade relativa no ambiente e exibia uma
mensagem de alerta caso ela estivesse fora dos padres de qualidade da
fbrica.
24
clear;
clc;
if (umidade<=0.4) then
6
7
10
end
11
25
Temperatura (oF)
Viscosidade (lb/ft/hr)
0 Temperatura 49
242
50 Temperatura 99
82,1
30,5
12,6
Temperatura 200
5,7
clear;
clc;
if (temperatura<=49) then
6
7
8
9
10
11
12
13
14
15
27
x < 2
2 x + 2,
f (x ) = 3,
2 x < 3
x,
3 x
v0 .
Qual a velocidade
v(t) = v0 gt
gt 2
h(t) = v0 t
2
Onde
28
Planeta
Gravidade (m/s2)
Mercrio
3,7
Vnus
8,8
Terra
9,8
Marte
3,8
Jpter
26,4
Saturno
11,5
Urano
9,3
Netuno
12,2
Pluto
0,6
Presso:
Energia:
Potncia:
HP
30
Prtica!
hora de desenvolver o seu prprio conversor de unidades. Voc dever
utilizar as informaes fornecidas no texto sobre converso de unidades. O
seu conversor dever ter um menu inicial com as seguintes opes
Temperatura
Fora
Presso
Energia
Potncia
O usurio dever escolher qual o tipo de unidade ele quer realizar a
converso. Aps o usurio realizar a escolha, ele dever escolher em
qual unidade o valor a ser convertido vai ser digitado.
Exemplo:
31
32
3. ESTRUTURAS
DE
REPETIO
O
comando
for
O comando for repete um conjunto de instrues a partir de um nmero
conhecido de repeties. Este comando segue o seguinte formato:
Exemplo
Em um exerccio do roteiro anterior analisamos a importncia do termo
gravidade (g), no modelo proposto;
v(t) = v0 gt
h(t) = v0 t gt 2 / 2
Analisaremos agora, qual o comportamento da velocidade e da altura diante
da variao do tempo. Perceba que tanto a velocidade v(t) , quanto a altura
33
T (s)
v(t) - (m/s)
h(t) (m)
15
0.5
10,095
6,274
5,190
10,095
1.5
0,285
11,464
-4.620
10,380
clear;
clc;
g=9.81;
for t=0:0.1:2
velocidade = v0 - g*t;
10
mprintf("\n %2.2f
11
mprintf("\n");
12
v(t) (m/s)")
%2.2f
%2.2f ",t,altura,velocidade);
end
34
Exemplo 2 : Somatrios
O uso de somatrios abrange diversas reas do conhecimento. Possui
aplicaes variadas em estatstica, cincia da computao, engenharias,
matemtica, fsica, qumica, etc.
Observe a tabela a seguir.
Tabela 9 Representao matemtica e em SCILAB para um somatrio
S = i
for i:1:n
i=0
s = s+i;
end
36
T = Temperatura ambiente ( oC );
t = tempo em horas.
Utilizando o modelo proposto para estimar a temperatura a partir da hora
fornecida desenvolva um programa em SCILAB que calcule a temperatura
mdia do ms de agosto. (Exemplo 3.2)
1
2
3
4
5
6
7
8
9
10
clear;
clc;
mprintf("Clculo da temperatura mdia no ms de agosto - 2013 \n\n");
soma = 0;
for t=0:720
temperatura = 19.06 + (0.211*cos(0.08721*t)) + (-5.51*sin(0.08721*t))
soma = soma + temperatura;
end
media = soma/720;
mprintf("\n A temperatura mdia do ms de agosto-2013 em BH foi de
%2.2f (C) ",media);
37
O
Comando
While
O comando while ou (enquanto em pseudocdigo) um comando de
repetio indicado para situaes em que no se conhece o nmero de
repeties a serem realizadas. Sua sintaxe em SCILAB a seguinte:
while (condio)
Bloco de comandos
end
Veja um exemplo de aplicao.
Nas indstrias qumica, agrcola e de alimentos muito comum o uso de
equaes empricas para estimar a secagem de diversos produtos. Estas
equaes so vlidas para determinadas faixas de temperaturas e umidades
relativas. O objetivo destas equaes estimar aps um determinado tempo
de secagem qual o teor de umidade do produto. Estas equaes possuem
formas diversificadas, uma das formas mais utilizadas conhecida pelo
seguinte formato:
U(t) = ekt
em que :
U(t) o teor de gua do produto,
t o tempo de secagem em horas,
k e n so parmetros que dependem do produto;
38
clear;
clc;
k=0.365;
n=0.663;
t=0;
teor_umidade=1;
mprintf("-------Simulao de secagem--------- \n\n");
mprintf("\n\t\t t(h)\t\t U(%%) ");
9
10
11
12
while(teor_umidade>=0.13)
teor_umidade= exp(-k*(t^n));
mprintf("\n\t\t %2.3f\t\t %2.2f ",t,teor_umidade*100);
t=t+1;
13
end
39
40
Exerccio 3
Devido ao uso frequente, a descarga da bateria de equipamentos eletrnicos
pode se comportar de acordo com a funo proposta a seguir;
y(t) = y0 2(
0,1)t
em que;
y0 a carga inicial da bateria;
y(t) a quantidade de carga aps t horas de uso.
41
Aviso
Bateria fraca !
1% carga 10%
Conecte ao carregador
Dica: Procure identificar qual lao de repetio utilizar. Existe algum critrio
de parada ?
Veja um exemplo de sada para o exemplo 1
42
43
4. Vetores
e
grficos
Um vetor um tipo de varivel que pode armazenar um ou mais valores do
mesmo tipo de dado.
Vejamos como isto funciona na prtica. Imagine que voc precisa armazenar
os valores 15, 23, 40, 12, 37. At ento voc faria o seguinte raciocnio para
armazenar estes valores:
clear;
clc;
num1=15;
num2=23;
num3=40;
num4=12;
num5=37;
mprintf("\n Valor armazenado na varivel num1 = %i",num1);
mprintf("\n Valor armazenado na varivel num2 = %i",num2);
mprintf("\n Valor armazenado na varivel num3 = %i",num3);
mprintf("\n Valor armazenado na varivel num4 = %i",num4);
mprintf("\n Valor armazenado na varivel num5 = %i",num5);
Perceba que at ento no havia outra alternativa para voc armazenar estes
5 valores a no ser criando 5 variveis distintas para guardar o mesmo tipo
de valor. Perceba tambm que para mostrar os 5 valores na sada voc
precisaria de novas 5 linhas de comando para mostrar os 5 valores distintos
na sada do programa. Veja a sada aps a execuo do cdigo acima.
1 clear;
2 clc;
3 num=[15 23 40 12 37];
4 for i=1:5
5
6 end
Vamos comear pela linha 3 do cdigo acima. Na linha 3 os nossos 5 valores
foram guardados em uma nica varivel chamada num. Isto um vetor ! Veja
a ilustrao abaixo:
num
15
23
40
12
37
45
Insero
direta
num = [ 5 10 12 32 45 48 23 64 ... ];
46
Construindo
Grficos
Construindo
grficos
2D
A construo de um grfico 2D em SCILAB pode ser feita por meio da funo
plot( ) . O forma bsica para o comando ;
plot(x,y)
em que x um vetor que contm os valores para a coordenada-x do grfico e
y o vetor que contm os valores para a coordenada-y do grfico.
Exemplo: Plote o grfico da funo
Basta atribuir a y a
clear;
clc;
x = [-5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4];
y = 3*x^2 + 4*x + 1;
plot(x,y);
Opo 2: A opo 2 apenas se difere da opo 1 quanto a criao do vetor x.
O vetor x foi criado a partir da funo linspace(valor 1, valor2 ,
clear;
clc;
x = linspace(-5,4,19);
y = 3*x^2 + 4*x + 1;
plot(x,y);
47
clear;
clc;
i=1;
x(1)=-5;
y(1)=3*x(1)^2 + 4*x(1) + 1;
while x(i)<4
i=i+1;
x(i)=x(i-1)+0.5;
y(i)= 3*x(i)^2 + 4*x(i) + 1;
end
plot(x,y);
O grfico a seguir
48
clear;
clc;
i=1;
x(1)=-5;
y(1)=3*x(1)^2 + 4*x(1) + 1;
while x(i)<=4
i=i+1;
x(i)=x(i-1)+0.5;
y(i)= 3*x(i)^2 + 4*x(i) + 1;
end
plot(x,y);
title("Grfico de f(x)= 3*x^2 + 4*x + 1");
xlabel("Eixo x");
ylabel("Eixo y");
49
50
51
52
1 clear;
2 clc;
3 tempo(1)=0;
4 temperatura(1)=grand(1,"nor",70,5);
5 velocidade(1)=grand(1,"nor",1.5,0.1);
6 i=1;
7 while tempo(i)<10
8
i=i+1;
9
tempo(i)=tempo(i-1)+0.5;
10 temperatura(i)=grand(1,"nor",70,2.5);
11 velocidade(i)=grand(1,"nor",1.5,0.05);
12 end
13 scf(1);
14 title("Variao da velocidade durante 10 horas");
15 xlabel("Tempo (h)");
16 ylabel("Velocidade (m/s)");
17 plot(tempo,velocidade,'bo-');
18 scf(2);
19 title("Variao da Temperatura durante 10 horas");
20 xlabel("Tempo (h)");
21 ylabel("Temperatura (Celsius)");
22 plot(tempo,temperatura,'r-');
23 temperatura_media=mean(temperatura);
24 velocidade_media=mean(velocidade);
25 maior_temperatura=max(temperatura);
26 menor_temperatura=min(temperatura);
27 maior_velocidade=max(velocidade);
28 menor_velocidade=min(velocidade);
29 mprintf("\n ------Relatorio de experimento------------");
30 mprintf("\n A temperatura media durante as dez horas foi de %2.2f
31Celsius",temperatura_media);
32 mprintf("\n A velocidade media durante as dez horas foi de %2.2f
m/s",velocidade_media);
33 mprintf("\n A maior temperatura atingida durante as dez horas foi de %2.2f
Celsius", maior_temperatura);
34 mprintf("\n A menor temperatura atingida durante as dez horas foi de %2.2f
Celsius",menor_temperatura);
35 mprintf("\n A maior velocidade atingida durante as dez horas foi de %2.2f m/s",
maior_velocidade);
36 mprintf("\n A menor velocidade atingida durante as dez horas foi de %2.2f
m/s",menor_velocidade);
54
55
56
Exerccios
-
Vetor
Exerccio 1 Faa um programa em SCILAB que solicite ao usurio a
digitao de 10 nmeros distintos. Armazene estes valores em um vetor. A
sada do seu programa dever mostrar ao usurio o valor digitado e as
posies em que estes valores foram armazenados no vetor.
Exerccio 2
f)
$ t +1 0 t < 1
&
& 0 1 t < 2
f (t) = %
& 2t 2 t <3
&
0 t 3
'
(
&
&
)
&
&
*
57
58
59
5. Matrizes
Uma matriz um tipo de varivel que pode armazenar um ou mais valores do
mesmo tipo de dado, porm este armazenamento pode estar associado a
duas propriedades distintas. Esta associao para muitos chamada de
dimenso. Em vetores, associvamos o armazenamento de informao a
apenas uma propriedade, uma dimenso. Por exemplo, associa-se que o
vetor idade armazena diferentes idades; o vetor temperatura armazena
diferentes temperaturas, o vetor velocidade diferentes valores de velocidade,
etc. Quando tratamos de matrizes associamos os valores da matriz a duas ou
mais propriedades ou duas ou mais dimenses.
Veja um exemplo: (Exemplo 5.1)
Um engenheiro resolveu montar um sistema de aquisio de dados para
coletar os dados de presso do gs refrigerante e temperatura do gs
refrigerante em um sistema de refrigerao. Para isto o engenheiro instalou
em diferentes pontos do sistema trs sensores de presso e temperatura. O
engenheiro desenvolveu um programa em SCILAB que durante cinco horas
coletava as informaes dos sensores e armazenava as informaes a cada
hora. Veja o cdigo desenvolvido pelo engenheiro;
clear;
clc;
for tempo=1:5
for sensor=1:3
temperatura(tempo,sensor)=grand(1,"nor",70,2.5); //simula os sensores de
temperatura
pressao(tempo,sensor)=grand(1,"nor",250000,10000); //simula os sensores de
velocidade
end
end
disp("Matriz Temperatura (C)");
disp(temperatura);
disp("Matriz Pressao (Pa)");
disp(pressao);
A lgica utilizada pelo engenheiro foi de armazenar em uma matriz chamada
temperatura os dados dos trs sensores a cada hora durante 5 horas.
Veja a disposio dos valores como ficaria em formato de matriz.
60
Tempo (h)
Sensor de
Sensor de
Sensor de
Temperatura (1)
Temperatura (2)
Temperatura (3)
1hora
2horas
3horas
4horas
5horas
61
Insero
direta
Inicializando de maneira direta uma matriz 3 x 3.
62
65
C com
! 5 0 $
! 4 2 $
! 1 1 $
A =#
& B =#
& C =#
&
" 2 6 %
" 0 2 %
" 3 2 %
a) A + B C ( O apstrofe simboliza a matriz transposta)
b) 2A-3B-(-C);
c) (A-4) + C;
d) (A-C);
66
7
x+ y
3
u(x, y) = 5e
. Para plotarmos o
grfico desta funo a primeira coisa a fazer conhecer para quais valores
de x e y desejamos calcular u(x, y) . Vamos supor que desejamos saber o
valor de u(x, y) para 0 x 3 e 0 y 3 . timo, agora temos a funo que
queremos plotar o grfico e o intervalo definido para x e y. O passo seguinte
decidir em quais coordenadas (x,y) eu quero calcular o valor de u(x, y) .
Vamos supor que eu queira calcular o valor de u(x, y) em 5 pontos
igualmente espaados entre 0 x 3 e 0 y 3 , portanto os pontos que
queremos calcular o valor da funo so:
x
0,75
0,75
1,5
1,5
2,25
2,25
67
u(0, 3)
u(0.75, 3)
u(1.5, 3)
u(2.25, 3)
u(3, 3)
u(0, 2.25)
u(0.75, 2.25)
u(1.5, 2.25)
u(2.25, 2.25)
u(3, 2.25)
u(0,1.5)
u(0.75,1.5)
u(1.5,1.5)
u(2.25,1.5)
u(3,1.5)
u(0, 0.75)
u(0.75, 0.75)
u(1.5, 0.75)
u(2.25, 0.75)
u(3, 0.75)
u(0, 0)
u(0.75, 0)
u(1.5, 0)
u(2.25, 0)
u(3, 0)
5.0
2.36
1.11
0.52
0.2489
28.77
13.59
6.42
3.03
1.43
165.57
78.21
36.94
17.45
8.24
952.83
450.08
212.60
100.42
47.43
5483.16
2590.06
1223.45
577.92
272.99
7
x+ y
u(x, y) = 5e 3
69
7
x+ y
3
u(x, y) = 5e
for i=1:5
for j=1:5
u(i,j)= 5*exp(-x(i)+((7/3)*y(i)));
end
end
4. Finalmente por meio das matrizes x, y e u podemos gerar o grfico
para a funo proposta. Veja um exemplo utilizando o comando
mesh().
intervalox=linspace(0,3,5);
intervaloy=linspace(0,3,5);
[x,y]=meshgrid(intervalox,intervaloy);
for i=1:5
for j=1:5
u(i,j)= 5*exp(-x(i,j)+((7/3)*y(i,j)));
end
end
mesh(x,y,u);
70
PRTICA !!!
Exerccio 1. Utilize a metodologia descrita acima para plotar o grfico das
seguintes funes.
a) u(x, t) = 5e
4 2t
sen(2 x) para 0 x 1 e t 0
u(x, t) = 1+ x et para 0 x 1 e t 0
2t
32 t
sen(4 x) 3e128 sen(8 x) + 2e200 t sen(10 x)
d) u(x, y) = 5e
T (x, t) =
800
10
(1)m
2
m=0 (2m +1)
(2m+1)2 2 t
em que ;
71
72
REFERNCIAS BIBLIOGRFICAS
ASCENCIO, A. F. G; CAMPOS, E. A. V. Fundamentos da Programao de
Computadores Algoritmos, Pascal, C/C++ e Java. 3 edio, Pearson,
2012.
BOYCE,W. E.; DIPRIMA, R. C. Elementary Differential Equations and
Boundary Value Problems. Wiley, 10th Edition, 2012.
BROOKER, D.B.; BAKKER-ARKEMA, F.W.; HALL, C.W. Drying and storage
of oilseeds, The AVI Publishing Company, New York, 1992. 450p
COSTA, E. Da Cruz . Refrigerao. Editora Edgard Blucher, 3 edio, 2011.
DUCHON, C.; HALE, R. Time series analysis in meteorology and
climatology. An introduction. Wiley, 2012.
HOFFMAN, J. D; FRANKEL, S. Numerical Methods for Engineers and
Scientists. CRC Press; 2 edition, 2001.
HOLLOWAY, J. P.; HOLLOWAY, J. P. Introduo Programao para
Engenharia - Resolvendo Problemas com Algoritmos. Editora Ltc, 2006.
KUO, B.C; GOLNARAGHI, F. Automatic Control Systems. Wiley; 8 edition
2002.
RAYMOND, KAPUNO JR. R. Programming for Chemical Engineers Using
C, C++, and MATLAB. Jones & Bartlett Learning, 2008.
73