Está en la página 1de 5

http://www.ing.una.py/pdf/calculo/scilab/archivos/(C3)Programacion.

sce

//
//Programacion con Scilab
//
//Operadores logicos y de comparacion
3 > 2 //mayor que
pause
3 < 2 //menor que
pause
3 <> 2 //diferente (no igual)
pause
3 == 3 //igual
pause
(2>1)&(3>1) //Operador AND
pause
(2>1)&(3>5) //
pause
(2>1) | (3>1) //Operador OR
pause
(2>1) | (3>5) //
pause
(2<1) | (3>5) //
pause
~(2<1) //Operador NOT (no)
pause

//Lazos (loops) en SCILAB


//"for" en una sola linea

r = 1; for k = 1:0.5:4, r = r+k, end //Ejemplo 1


pause

for m = 1:10, a(m) = m^2, end //Ejemplo 2


a
pause

//
//"for" en multiples lineas
//
//Ejemplo 1

r = 1;
for k = 1:0.5:4
r = r+k
end
pause

//Ejemplo 2
m=[];
for m = 1:10
a(m) = m^2
end
a
pause

//"while" en una sola linea


s = 100; while s>50, disp(s^2),s =s -5,end
pause

//Usando multiples lineas


s = 100;
while s>50
disp(s^2)
s = s - 5
end

1 de 5 01/07/2018 13:27
http://www.ing.una.py/pdf/calculo/scilab/archivos/(C3)Programacion.sce

pause

//Terminacion anticipada del lazo "for" con el comando "break"


for j = 1:10
disp(j)
if j>5 then
break
end
end
pause

//Condicional
//"if...then...else"
//Instrucciones en lineas multiples (tambien puede efectuarse en una sola linea)
//Ejemplo 1
x = 10; y = 5;
if x> 5 then
disp(y)
end
pause

//Ejemplo 2
x = 3 ; y = 5;
if x>5 then
disp(y)
else
disp(x)
end
pause

//Ejemplo 3 (elseif)
// Dependiendo del valor de x imprimir x, y o z
// Si x< 5 -> imprimir x
// Si 5<= x < 10 -> imprimir y
// Si x>= 10 -> imprimir z
// Para interrumpir introducir x = 0

x= 1; y = 100; z = 400;

while x<>0
x=input('Introduzca el valor x = ');
if x<5 then
disp(x)
elseif x>=10 then
disp(z)
else
disp(y)
end
end
pause

//
//Ejemplo 4 "select-case"
//

//'Introduzca dos valores en un vector[x1 x2]'


//'Si x1 = -1 -> y = x2 - 2'
//'Si x1 = 1 -> y = x2^2'
//'Si x1 = 2 -> y = ln(x2)'
//'Para interrumpir apriete Enter'
[z]=input('Introduzca un vector [x y]= ')
x1 = z(1);
x2 = z(2);

while ~isempty(z)

2 de 5 01/07/2018 13:27
http://www.ing.una.py/pdf/calculo/scilab/archivos/(C3)Programacion.sce

select x1
case -1
y = x2 - 2
case 1
y = x2^2
case 2
y = log(x2);
end
[z]=input('Introduzca un vector [x1 x2]= ');
x1 = z(1);
x2 = z(2);
end
pause

//
//Ejercicio: preparar un programa que calcule el valor promedio de los elementos de un
vector
//(Ayuda: para determinar el tamano (No. de elementos de un vector) se puede usar el
comando "size"
//

pause

//
//Funciones en Scilab
//Ejemplo: Funcion llamada "gauss"

//Funcion para un escalar


deff('y=gauss(x)','y=exp(-x^2)')
x = 0;
y = gauss(0)

pause

x = [-2:0.1:2];
y = gauss(x)

pause

//Otro ejemplo
deff('[r,theta]=cartpol(x,y)',['r=sqrt(x^2+y^2)'; 'theta=180/%pi*atan(y,x)'])
[radius,angle] = cartpol(3., 4.)
pause

//Input-output en Scilab
//Grabando variables
A = [1. 2. 3.; -3. 4. 5.; 2. 4. 5.; 1. 3. 2.]
b = 1:10
save('Ab.dat', A,b)

//Intente ver el contenido de 'Ab.dat'


//Recuerde que .dat es un archivo en formato binario
pause

clear //Limpiando memoria


who

pause

3 de 5 01/07/2018 13:27
http://www.ing.una.py/pdf/calculo/scilab/archivos/(C3)Programacion.sce

load('Ab.dat') //Cargando datos del archivo 'Ab.dat'


A
b
pause

//Archivo de salida (sin formato)


print('datos1.txt',A,b) //Imprimir en un archivo de salida
//Intentar abrir dicho archivo usandoo un editor de texto
pause

//Creando archivos de salida


//Ejemplo 1
u = file('open','datos2.txt','new')
write(u,A,'(3f10.6)') //%3 veces: elemento con formato de coma flotante (10
caracteres, 6 decimales)
file('close',u)
//Verifique el contenito del archivo recien creado
pause

//Ejemplo 2
x1 = 0:0.5:10;
x2 = x1^2;
B = [x1',x2']
m = file('open','datos3.txt','new')
write(m,B,'(2(f10.6,2x))') //%2 veces: elemento con formato floating: 10 caracteres, 6
decimales; seguido de 2 espacios
file('close',m)
//Verifique el contenito del archivo recien creado
pause

//Incluyendo leyenda
A = 5*rand(2,3), B = rand(2,3), C =A +B
u = file('open','datos4.txt','new')
write(u,'Matriz A','(a)')
write(u,A,'(3(f10.6,2x))')
write(u,'Matriz','(a)')
write(u,B,'(3(f10.6,2x))')
write(u,'Matriz suma C =A +B','(a)')
write(u,C,'(3(f10.6,2x))')
file('close',u)
//Verifique el contenido del archivo recien creado
pause

//Incluyendo leyenda en la pantalla

t = [0.25:0.25:3];
d = 1/2*t.^2;

[n m] = size(d);

for j = 1:m
'Distancia para t = ' + string(t(j))+' es ' +string(d(j))
end
pause

//Usando la funcion 'disp'


for j=1:m
disp('Distancia para t = '+ string(t(j)) + ' es ' + string(d(j)) )
end
pause

4 de 5 01/07/2018 13:27
http://www.ing.una.py/pdf/calculo/scilab/archivos/(C3)Programacion.sce

//Fin de clase

5 de 5 01/07/2018 13:27