14. Posee capacidades de generación de gráficos en dos y tres dimensiones. Links de descarga : http://www.scilab.org/ http://scilabsoft.inria.fr .
15.
16. Variables En Scilab las variables no son nunca declaradas: su tipo y su tamaño cambian de forma dinámica de acuerdo con los valores que le son asignados. Así, una misma variable puede ser utilizada, por ejemplo, para almacenar un número complejo, luego una matriz de números enteros y luego para almacenar un texto. Las variables se crean automáticamente 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)
33. printf ( 'T exto:%s numero:%d' ,varCad,varNum); Formato para Variables %s Muestra contenido de variables tipo cadena de caracteres. %d Muestra contenido de variables tipo numéricas. %c Muestra el contenido de variables tipo carácter Caracter de salto de línea(un enter) .
37. Operador Descripción x < y x es menor que y. x <= y x es menor o igual que y. x == y x es igual que y. x > y x es mayor que y. x >= y x es mayor o igual que y. x ~= y x <> y x no es igual a y. Operadores de comparación
38. Operadores Lógicos Operador Descripción x & y Retorna T si “x” y “y” son verdaderos caso contrario retorna F. x | y Retorna F si “x” y “y” son falsos caso contrario retorna T. ~ x Retorna el valor F si x vale T o T si x vale F.
51. variable=variable / valor Nota: Los contadores y acumuladores son variables que se necesitan inicializar con algún valor y son muy utilizados en los lazos de repetición.
61. Realice un programa que invierta un numero dado. Ejemplo: 467 ---> 764 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',invertido); Solución : modulo(m,n) , función que extrae el último dígito del número. invertido almacena el nuevo número invertido y fix(n) es una función que redondea al entero más cercano a cero
62. suma=0; for termino=1:n suma=suma+termino^2; end printf('La suma de la serie es: %d',suma); Acumulador de la suma Realice un programa que dado un número de n términos genere la suma de la siguiente serie: 1 2 +2 2 +3 2 +... +n 2 Solución : for que se repite n veces desde 1a n.
63.
64.
65.
66.
67.
68.
69. Ejemplo: Se necesita transmitir una matriz de 7 filas y 7 columnas conteniendo bits (ceros o unos). Antes de transmitirla se debe agregar una columna conteniendo ceros o unos de tal manera que las 7 filas tengan paridad par, es decir que la cantidad de unos en cada fila sea par. Este cero o uno adicional se denomina bit de paridad. Genere aleatoriamente la matriz de 7x7 llena con ceros y unos, agregue el bit de paridad en cada fila y muestre la matriz resultante.
70.
71. for i=1:7 for j=1:7 if matriz (i,j)==1 unos=unos+1; //cuenta el numero de 1's por fila end end if modulo(unos,2)==0 //verifica si unos(contador) es par vparidad(i)=0; else vparidad(i)=1; //Agrega bit de paridad end end matrizBits=[matriz,vparidad]; // Se agrega el vector vparidad a matriz disp( matrizBits ); //Se muestra la matrizBits
79. Dada una cadena de texto muéstrela invertida. str=input('Ingresa una cadena: ','s'); invertida=[]; for i=length(str):-1:1 //recorre del final al inicio de la cadena letra= part (str,i); //extrae una letra de la cadena invertida=invertida + letra; // + operador que une las letras end disp(invertida); // Muestra el texto invertido
80.
81. l convierte a minúscula, ej : convstr ('HOLA','l') length(str) Retorna la longitud de str.
82.
83.
84.
85.
86. Ejemplo2: Función que muestra un menú, no recibe argumentos y no retorna valores.
93. Ejemplo: Escriba la función recursiva NumeroDigitos (n) cual recibe un número n y retorne el número de dígitos que lo conforman. Ejemplos: 3054, la función NumeroDigitos retorna 4. 34790, la función NumeroDigitos retorna 5. function r=NumeroDigitos(n) if n<=9 r=1; else r=1+ NumeroDigitos (n/10); end endfunction Se llama a si misma y extrae otro dígito, r va acumulando el # de dígitos. Caso Base
105. disp('LISTADO DE ESTUDIANTES REGISTRADOS'); printf('NombreApellidoEdadMatricula'); for i=1:n nombre= estudiante ( i ). nombre ; apellido= estudiante ( i ). apellido ; edad= estudiante ( i ). edad ; matricula= estudiante ( i ). matricula ; printf('%s%s%d%s',nombre,apellido,edad,matricula); end