FUNDAMENTOS DE PROGRAMACIN
Contenido
Introduccin
Variables y Constantes
Entrada y salida de datos
Operadores de comparacin y Lgicos
Estructuras de control: Condicionales e Iterativas
Arreglos: Vectores y matrices
Funciones
Cadena de Caracteres
Estructuras
Archivos
Introduccin
Scilab es un programa desarrollado por INRIA y ENPC de Francia
para el clculo numrico, programacin y grficos. Es similar a
MATLAB y Octave, es utilizado en Windows, Linux, Unix, etc.
Caractersticas principales
rogramacin con lenguaje simple y fcilmente asimilable.
ermite operaciones diversas operaciones matriciales.
osee capacidades de generacin de grficos en dos y tres
dimensiones.
Links de descarga:
http://www.scilab.org/
http://scilabsoft.inria.fr.
Entorno de Scilab
Variables
En Scilab las variables no son nunca declaradas: su tipo y su
tamao cambian de forma dinmica de acuerdo con los
valores que le son asignados.
As, una misma variable puede ser utilizada, por ejemplo, para
almacenar un nmero complejo, luego una matriz de nmeros
enteros y luego para almacenar un texto.
Las variables se crean automticamente al asignarles un
contenido. Asimismo, es posible eliminar una variable de la
memoria si ya no se utiliza.
Var=5
Var=9.2
Var=[1 3 6 7]
var=Mensaje de texto
Tipo entero
Tipo real (float)
Tipo vector
Tipo cadena(string)
Ejemplo:
La variable a va
cambiando su tipo y
no necesita ser
declarada
previamente.
Constantes
Las constantes que existen en scilab son:
%i representa la parte imaginaria.
%pi representa el valor 3,1416.
%e representa el valor de euler 2,7182.
Para valores lgicos:
%t representa verdadero.
%f representa falso.
Comentarios
Descripciones colocadas por el programador, son
omitidas por el interprete de scilab.
//Esto es un comentario
Entrada y salida de datos
Funcin input()
Se utiliza para que el programa pida valores de entrada a
las variables mientras se ejecuta.
Sintaxis :
Para ingresar valores tipo numricas
variable_numrica = input('texto');
Para ingresar cadenas de texto
variable_cadena = input('texto','s');
Ejemplo:
numero=input('Ingrese un numero: ');
cadena=input('Ingrese un texto: ','s');
Funciones disp() y printf()
Muestran datos de salida por pantalla.
disp: Muestra el valor de los datos sin formato
Sintaxis:
disp(nombre_variable o 'texto');
printf: Muestra los datos de salida formateados.
Sintaxis:
printf('Texto:%s numero:%d\n',varCad,varNum);
Formato para Variables
%s Muestra contenido de variables tipo cadena de caracteres.
%d Muestra contenido de variables tipo numricas.
%c Muestra el contenido de variables tipo carcter
\n Caracter de salto de lnea(un enter).
Ejemplos:
Las variables no van
con comillas
simples.
Un texto cualquiera
va con comillas
simples.
Uso de printf
Operadores de
comparacin
Operadores Lgicos
Rangos
Ejemplos:
on argumentos tipo numricos
dedicados a contar.
e usan en estructuras for.
Contadores y Acumuladores
Contador
Acumulador
Se
suele
denominar Variable cuyo valor se
contador
cuando
el incrementa o decrementa en
incremento de la variable un valor fijo (en cada
es de uno en uno.
iteracin de un bucle).
Sintaxis:
variable = variable + 1;
Sintaxis:
variable=variable + valor
variable=variable - valor
variable=variable * valor
variable=variable / valor
Nota: Los contadores y acumuladores son variables que se necesitan inicializar
con algn valor y son muy utilizados en los lazos de repeticin.
Nmeros Aleatorios
Son nmeros obtenidos al azar.
La funcin rand() genera nmeros aleatorios
entre 0 y menor a 1.
Sintaxis:
min+fix(rand()*(max-min+1));
min: nmero mnimo a generar.
max: nmero mximo a generar.
fix(): funcin que redondea a nmero ms cercano a 0.
rand(): funcin que genera un nmero aleatorio con decimales entre 0 y menor a 1 .
Ejemplo:
Generar 10 nmeros aleatorios entre 5 y 23
for i=1:10
Genera un nmero aleatorio
entre 5 y 23.
aleatorio=5+fix(rand()*(23-5+1));
disp(aleatorio);
Muestra cada nmero aleatorio generado.
end
Estructura for que se repite 10 veces y va generando en cada repeticin
un nmero aleatorio entre 5 y 23 y lo va mostrando con la funcin disp.
Funciones Elementales
Estructuras de Control Condicionales
Permiten la ejecucin de un conjunto de instrucciones
si se cumple una condicin
Sentencia if
if condicin [then]
if condicin [then]
Instrucciones;
Instrucciones;
Instrucciones;
end
if condicin1 [then]
elseif condicin2
else
Instrucciones;
Instrucciones;
end
else
Instrucciones;
end
Nota: then es opcional, puede ser reemplazada por un salto de lnea .
Sentencia select o CASE
select variable
case valor1 [then]
Instruciones1;
case valor2 [then]
Instruciones2;
case valor3 [then]
Instruciones3;
..
..
else
Instruciones;
end
Esta sentencia
compara el valor de
variable con cada valor
de los cases y si
coincide con uno,
ejecuta las
instrucciones de dicho
case, caso contrario
ejecuta las
instrucciones de else.
Los valores de case
pueden ser enteros o
strings.
Ejemplos:
disp('Control de Estudiantes');
disp('1. Registrar estudiante');
disp('2. Consultar estudiante');
disp('3. Salir');
disp('Control de Estudiantes');
disp('1. Registrar estudiante');
disp('2. Consultar estudiante');
disp('3. Salir');
opc=input('Ingrese una opcion: ');
opc=input('Ingrese una opcion: ');
if opc==1
disp('Ha ingresado en Opcion 1');
elseif opc==2
disp('Ha ingresado en Opcion 2');
elseif opc==3
disp('Fin del Programa');
else
disp('Otra opcion');
end
select opc
case 1
disp('Ha ingresado en Opcion 1');
case 2
disp('Ha ingresado en Opcion 2');
case 3
disp('Fin del Programa');
else
disp('Otra opcion');
end
Estructuras de Control Repetitivas
Son estructuras que repiten instrucciones de cdigo segn
una condicin lgica o un rango de valores.
Estructura for
Estructura que repite
instrucciones hasta llegar al fin
del rango.
Estructura while
Estructura que repite
instrucciones mientras la
condicin sea verdadera.
for ndice=rango
while condicin
Instrucciones;
Instrucciones;
end
end
Ejemplos:
Realice un programa que muestre los cinco primeros nmeros
naturales y la suma. usando while.
Solucin :
veces=0;
numero=1;
suma=0;
Contadores
Acumulador de la suma
while veces<5
printf('%d\n',numero);
suma=suma+numero;
numero=numero+1;
veces=veces+1;
end
printf('La suma es: %d\n',suma);
Realice un programa que invierta un numero dado.
Ejemplo: 467
---> 764
Solucin :
disp('Numero Invertido');
numero=input('Ingrese un numero:');
invertido=0;
while numero~=0
digito=modulo(numero,10);
invertido=(invertido*10)+digito;
numero=fix(numero/10);
end
printf('El numero invertido es:%d\n',invertido);
modulo(m,n), funcin que
extrae el ltimo dgito del
nmero.
invertido almacena el
nuevo nmero invertido
y fix(n) es una funcin
que redondea al entero
ms cercano a cero
Realice un programa que dado un nmero de n trminos genere la
suma de la siguiente serie: 12+22+32+... +n2
Solucin :
suma=0;
Acumulador de la suma
for termino=1:n
suma=suma+termino^2;
end
for que se repite n veces
desde 1a n.
printf('La suma de la serie es: %d\n',suma);
Referencias
http://aozora-inv.livejournal.com/1315.html
http://personal.us.es/echevarria/documentos/Ap
untesScilab.pdf
http://docencia-eupt.unizar.es/ctmedra/manual_scilab.pdf