Você está na página 1de 15

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Universidade Federal da
Fronteira Sul

Scilab
Ferramenta para computao numrica
Disciplinas

Programao de computadores
Clculo Numrico
Mtodos Computacionais
Anlise Numrica

Computao Bsica

Universidade Federal da Fronteira Sul


Computao Bsica

Scilab

Universidade Federal da Fronteira Sul


Computao Bsica

Scilab

Suporte a sofisticadas estruturas de dados


Possibilidade de integrao com programas em
diversas linguagens (C, Fortran,..)
Processamento de Sinais
2-D / 3-D Graphics
Manipulao de Matriz

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Universidade Federal da Fronteira Sul


Computao Bsica

Scilab
1990
Software livre
Alternativa ao Matlab

http://www.scilab.org

Universidade Federal da Fronteira Sul


Computao Bsica

Universidade Federal da Fronteira Sul


Computao Bsica

Scilab
Modo interativo
Modo programado

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Modo interativo
Digitar comando (prompt) seguido de ENTER
Funes primitivas

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplo
---> who

Funes pr-definidas na ferramenta


Operaes aritmticas bsicas
Funes de ordenao
Funes para manipulao de matrizes
Outras

Universidade Federal da Fronteira Sul


Computao Bsica

Universidade Federal da Fronteira Sul


Computao Bsica

Uso como calculadora


Expresses avaliadas imediatamente
Exemplos

Ans

answer

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Operadores aritmticos

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplos
20 + 2 ^ 5

Soma
Subtrao
Multiplicao
Diviso
Potenciao
Parnteses

+
*
/
^
()

Universidade Federal da Fronteira Sul


Computao Bsica

Atribuio ( Definio de variveis )


<varivel> = <expresso>

Exemplos
a=2+5
b=a*3
c=b/a

52

30 4 / 7 * 7 / 4
29

30 4 / ( 7 * 7 / 4 )
29.673469

Universidade Federal da Fronteira Sul


Computao Bsica

Nomes de variveis
Comeam com letras seguida de outras letras,
algarismos ou o caractere sublinhado "_".
Exemplo: area, Psi, area_do_retangulo.

No so permitidos outros caracteres especiais, com


exceo do sublinhado, e nem acentuao.
O SciLab sensvel a maisculas e minsculas, logo
uma varivel chamada x diferente de outra chamada
X.

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Ponto e virgula (;)

Universidade Federal da Fronteira Sul


Computao Bsica

Valor de uma varivel

O resultado no exibido

Exemplos
a=2+4
b = a * 3;

<varivel>
Exemplo
->c
c =
3.

Universidade Federal da Fronteira Sul


Computao Bsica

Variveis especiais
Valores pr-definidos
No podem ser alterados
Iniciam com o caractere %

Universidade Federal da Fronteira Sul


Computao Bsica

Variveis pr-definidas
%i representa sqrt(-1) : raiz quadrada de (-1)
%pi - representa 3, 1415926
%e - representa a constante de Euler e =
2.7182818
%T, %t significando verdadeiro (true)
%F, %f significando falso (false)

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Universidade Federal da Fronteira Sul


Computao Bsica

Variveis definidas
who
Exibe relao de todas as variveis

Universidade Federal da Fronteira Sul


Computao Bsica

Funes
Funes pr-definidas
Muitas categorias
Exemplo:

sqrt(25)
abs(x)
sin(x)
cos(x)
tan(x)
cotg(x)
exp(x)
log(x)
log2(x)
log10(x).

Universidade Federal da Fronteira Sul


Computao Bsica

Salvar ambiente de trabalho


save (arquivo.xyz)
Salva todas as variveis no arquivo

save (work.dat,a,b,c)
Salva as variveis a, b, c

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Recuperar ambiente de trabalho


load(work.dat)
Recupera todas as variveis armazenadas no
arquivo

Universidade Federal da Fronteira Sul


Computao Bsica

Inicializar ambiente de trabalho


clear
Elimina todas as variveis armazenadas

clear a, b
load(work.dat,a,b,c)

Elimina as variveis a, b

Recupera as variveis a, b, c do arquivo

Universidade Federal da Fronteira Sul


Computao Bsica

Limpar a tela
clc

Universidade Federal da Fronteira Sul


Computao Bsica

Auxilio
help

Apaga todo o contedo da tela

tohome
Posiciona no inicio da tela

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Sair do scilab

Universidade Federal da Fronteira Sul


Computao Bsica

Scilab Modo programado


Pode ser escrito em qualquer editor de texto no
padro TXT (ASCII)
Editor prprio

exit

editor
Scinotes

quit

Salvar com extenso .sce

Universidade Federal da Fronteira Sul


Computao Bsica

Scilab Modo programado


Executar programa
No editor

Universidade Federal da Fronteira Sul


Computao Bsica

Entrada de dados
<varivel> = input (mensagem)

Menu executar

No ambiente Scilab

Exemplo
a = input (Digite o valor )

exec (arquivo.sce)

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Exibio de valores
disp(<varivel>)
disp(mensagem)
disp(mensagem+mensagem+..+mensagem)

Universidade Federal da Fronteira Sul


Computao Bsica

Exibio de valores
Exemplos
disp(Idade )
disp (abc)
disp(A soma = +string(x))

Universidade Federal da Fronteira Sul


Computao Bsica

Atribuio
<varivel> = <expresso>

Universidade Federal da Fronteira Sul


Computao Bsica

Um programa completo
Construa um programa que permita calcular a
distncia entre dois pontos (x1, y1) e (x2, y2)
no plano cartesiano. Os valores dos pontos
devero ser lidos. A distncia entre dois pontos
obtida por:
d2 = (x1 x2)2 + (y1 y2)2

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Algoritmo
algoritmo "Distancia"
var
d,x1,x2,y1,y2:real
inicio
escreva("Ponto 1 - X ")
leia(x1)
escreva("Ponto 1 - Y ")
leia(y1)
escreva("Ponto 2 - X ")
leia(x2)
escreva("Ponto 2 - Y ")
leia(y2)
d <- raizq((x1-x2)^2+(y1-y2)^2)
escreval("Distncia = ",d)
fimalgoritmo

Universidade Federal da Fronteira Sul


Computao Bsica

distancia.sce
x1 = input('Ponto 1 - X')
y1 = input('Ponto 1 - Y')
x2 = input('Ponto 2 - X')
y2 = input('Ponto 2 - Y')
d = sqrt((x1-x2)^2+(y1-y2)^2)
disp("Distncia = "+string(d))

Universidade Federal da Fronteira Sul


Computao Bsica

Estruturas de seleo (Condicionais)


if ( <expresso> ) then
<instruo 1>
<instruo 2>

end

Universidade Federal da Fronteira Sul


Computao Bsica

Estruturas de seleo (Condicionais)


if ( <expresso> ) then
<instruo 1>
<instruo 2>

else
<instruo 3>
<instruo 4>

end

10

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Universidade Federal da Fronteira Sul


Computao Bsica

Expresses relacionais

Expresso
Valor booleano

Igual.......................:
Maior que...............:
Maior ou igual que :
Menor que..............:
Menor ou igual que:
Diferente................:

VERDADEIRO TRUE 1
FALSO FALSE - 0

Universidade Federal da Fronteira Sul


Computao Bsica

Expresses lgicas
E (conjuno)
OU (disjuno)
NO (negao)

AND
OR
NOT

==
>
>=
<
<=
< > ou ~=

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplos de expresses
& (em Scilab)
| (em Scilab)
~ (em Scilab)

B >= 4
(X > 2) & (X < 5)
(Z == 2) | ( X < 5)

11

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplo
Construa um programa que identifique se trs
valores lidos correspondem a um tringulo ou
no.

Universidade Federal da Fronteira Sul


Computao Bsica

Programa triangulo.sce
a = input("Lado 1 ")
b = input("Lado 2 ")
c = input("Lado 3 ")
if ((a < b+c) & (b < a+c) & (c < a+b)) then

Universidade Federal da Fronteira Sul


Computao Bsica

Algortmo
algoritmo "Triangulo"
var
a,b,c:real
inicio
escreva("Lado 1 ")
leia(a)
escreva("Lado 2 ")
leia(b)
escreva("Lado 3 ")
leia(c)
se ( a < b + c ) e ( b < a + c ) e ( c < a + b ) entao
escreva("Formam um tringulo")
senao
escreva("No formam um tringulo")
fimse
fimalgoritmo

Universidade Federal da Fronteira Sul


Computao Bsica

Estruturas de repetio
Controlada por varivel ( Contador )
Controlada por condio

disp("Formam um tringulo")

else
disp("No formam um tringulo")

end

12

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Repetio controlada por varivel


for <variavel> = <inicio>:<fim>
<instrues>

end

Universidade Federal da Fronteira Sul


Computao Bsica

Repetio controlada por varivel


for <variavel> = <inicio>:<passo>:<fim>
<instrues>

end

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplos
n=10
for i=1:n
disp(i)

end

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplos
n=10
for i=1:2:n
disp(i)

end

13

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplo
Calcular o valor de S, gerado da seguinte forma:
S = 1/99 + 2/98 + 3/97 + ...
Utilizar 20 termos.

Universidade Federal da Fronteira Sul


Computao Bsica

Algoritmo
algoritmo "Soma"
var
s:real
i:inteiro
inicio
s<- 0
para i de 1 ate 20 faca
s <- s + (i / (100 - i))
fimpara
escreva("Soma = ",s)
fimalgoritmo

Universidade Federal da Fronteira Sul


Computao Bsica

Programa soma.sce
s=0
for i=1:20
s = s + (i / (100 - i))

Universidade Federal da Fronteira Sul


Computao Bsica

Repetio controlada por condio


while (<expresso>)
<instrues>

end

end
disp("Soma ="+string(s))

14

15/12/2013

Universidade Federal da Fronteira Sul


Computao Bsica

Exemplo
Fazer um algoritmo para calcular a raiz quadrada(x) de um
nmero positivo(y), usando o roteiro abaixo, baseado no
mtodo de aproximaes sucessivas de Newton:
A primeira aproximao dada por
as sucessivas aproximaes sero:
O algoritmo dever encerrar quando a diferena entre duas
aproximaes for inferior a 0.0001

Universidade Federal da Fronteira Sul


Computao Bsica

Programa raiz.sce

Universidade Federal da Fronteira Sul


Computao Bsica

Algoritmo
algoritmo "raiz"
var x,y,x1,xn,aux:real
inicio
escreva("Informe o nmero ")
leia(y)
x1 <- y / 2
xn <- y
enquanto abs(xn - x1) >= 0.0001 faca
aux <- xn
xn <- ( x1 ^ 2 + y ) / ( 2 * x1 )
x1 <- aux
fimenquanto
escreval("Raiz ",xn)
fimalgoritmo

Universidade Federal da Fronteira Sul


Computao Bsica

Exerccios

y = input("Informe o nmero")
x1 = y / 2
xn = y
while (abs(xn - x1) >= 0.0001)
aux = xn
xn = ( x1 ^ 2 + y) / (2 * x1)
x1 = aux

end
disp("Raiz "+string(xn))

15