Вы находитесь на странице: 1из 171

Los paradigmas de programacin

Diagramacin y programacin
algortmica
Que es un paradigma?
Paradigma es un modelo o patrn en
cualquier disciplina cientfica.

Etimolgicamente significa modelo o


ejemplo . A su vez tiene las mismas
races que demostrar.
Que son paradigmas de
programacin?
Un paradigma de programacin es una
propuesta tecnolgica que es adoptada
por una comunidad de programadores
cuyo ncleo central es incuestionable en
cuanto a que unvocamente trata de
resolver uno o varios problemas
claramente delimitados.
Tipos de paradigmas de programacin ms
comunes :
Imperativo o por procedimientos: es considerado el ms comn y est representado, por ejemplo, por C,
BASIC o Pascal. Los programas imperativos son un conjunto de instrucciones que le indican al computador cmo
realizar una tarea.

Declarativo: por ejemplo la programacin funcional, la programacin lgica, o la combinacin lgico-funcional.


est basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones,
proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan
su solucin.

- Funcional: est representado por Scheme o Haskell. Esta basado en la utilizacin de funciones aritmticas que
no maneja datos mutables o de estado.

- Lgico: est representado por Prolog. La programacin lgica encuentra su hbitat natural en aplicaciones de
inteligencia artificial o relacionadas: sistema experto|Sistemas expertos, donde un sistema de informacin imita
las recomendaciones de un experto sobre algn dominio de conocimiento.

Orientado a objetos: est representado por Smalltalk, un lenguaje completamente orientado a objetos. La
programacin orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en la
construccin de la solucin. Un objeto es una abstraccin de algn hecho o ente del mundo real que tiene
atributos que representan sus caractersticas o propiedades y mtodos que representan su comportamiento o
acciones que realizan. Ej: C++ , Visual Basic, Fortran, Java
Que es un programa de computador?

Un programa informtico es un conjunto de


instrucciones que una vez ejecutadas realizarn
una o varias tareas en una computadora
Que pasos debo seguir para realizar
un programa de computador?
Pasos Etapa Descripcin

1 Anlisis del problema Conducen al diseo detallado por medio un pseudocdigo escrito en forma de un algoritmo y
creacin de un diagrama de flujo
2 Diseo de algoritmo y
diagramacin

3 Codificacin Se implementa el algoritmo en un cdigo escrito en un lenguaje de programacin. Refleja las


ideas desarrolladas en las etapas de anlisis y diseo

4 Compilacin y ejecucin Traduce el programa fuente a programa en cdigo de mquina y lo ejecuta.

5 Verificacin Busca errores en las etapas anteriores y los elimina.


6 Depuracin
7 Documentacin Son comentarios, etiquetas de texto, que facilitan la comprensin del programa
Algoritmos de programacin
Concepto de algoritmo
Los seres humanos realizamos una serie de pasos, procedimientos o
acciones que nos permiten alcanzar un resultado o resolver un
problema, esto se repite innumerables veces durante el da. En
realidad estamos aplicando un algoritmo para resolver un problema.

Definicin de Algoritmo.- secuencia ordenada y cronolgica de


pasos que llevan a la solucin de un problema o a la ejecucin de
una tarea (o actividad).
El algoritmo debe tener las siguientes caractersticas:
Tener un principio
Ser simples, claros, precisos, exactos.
Tener un orden lgico.
Debe ser finito.
Tener un fin.

La definicin de un algoritmo debe describir tres partes:


Entrada.
Proceso.
Salida
Pseudocdigo
La serie de pasos, procedimientos o acciones que nos permiten alcanzar
un resultado o resolver un problema a travs de algoritmos, los
desarrollamos por medio de pseudocdigo.

El pseudocdigo describe un algoritmo utilizando una mezcla de frases en


lenguaje comn, instrucciones de programacin y palabras clave que
definen las estructuras bsicas.

El objetivo del pseudocdigo es permitir que el programador se centre en


los aspectos lgicos de la solucin, evitando las reglas de sintaxis de los
lenguajes de programacin.

No siendo el pseudocdigo un lenguaje formal, los pseudocdigo varan de


un programador a otro, es decir, no hay un pseudocdigo estndar.
Estructura y diseo de un algoritmo

Existe una gran cantidad de problemas que requieren de un anlisis profundo y de un


pensamiento flexible y estructurado para la solucin.

La idea es ofrecer un conjunto de tcnicas y herramientas metodolgicas que permitan


flexibilizar y estructurar el razonamiento utilizado en la solucin de problemas, esto provocar
finalmente la construccin de algoritmos eficientes.

A continuacin en la figura podemos observar las etapas que debemos seguir para la
solucin de un problema

Problema

Anlisis Construccin Verificacin


profundo del del el
problema algoritmo algoritmo
Construccin de algoritmos

La secuenciacin es una estructura de control que permite a la


computadora ejecutar una accin, despus otra, luego la que sigue
y as sucesivamente hasta la ltima.
Dichas acciones pueden consistir en operaciones primitivas
elementales como declaraciones de variables, leer datos, imprimir
datos o calcular alguna expresin.
Es conveniente etiquetar cada accin con nmeros desde el uno en
forma ascendente de uno en uno, para denotar el orden secuencial.
Por lo tanto los elementos bsicos que integran la estructura de un
algoritmo son:
Construccin de algoritmos

1. Encabezado.- todo algoritmo debe tener un encabezado como identificacin, el


cual debe empezar con la palabra Algoritmo seguida por una descripcin del
problema a resolver.
2. Inicio.- todo algoritmo debe empezar con la etiqueta 1, que marca el inicio del
mismo.
3. Declaraciones.- despus de marcar el inicio se debe hacer las declaraciones que
se necesiten como: variables, constantes, tipos de datos, etc.
4. Leer, calcular e imprimir.- los siguientes pasos pueden consistir en acciones
tales como: leer datos, calcular algunas expresiones aritmticas e imprimir datos
tantas veces como se requiera y en el orden apropiado para resolver el problema
en cuestin.
5. Fin del algoritmo.- el ltimo paso del algoritmo consiste en incluir la indicacin fin.
Ejemplo No 1
Calcular e imprimir el sueldo de un empleado, se pedir la clave del empleado, las horas
trabajadas y el pago por hora trabajada.

Algoritmo 1: Calcular el sueldo de un empleado

1. Inicio
2. Declaracin de variables:
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo = ht * pht
5. Imprimir cve, sueldo
6. Fin
Ejemplo No 2

Desarrollar un algoritmo que permita leer un nmero en radianes e imprima su


equivalencia en grados; as mismo, leer un nmero en grados e imprima su
equivalencia en radianes.

Algoritmo 2: Convierte radianes a grados y grados a radianes

1. Inicio
2. Declaracin de variables:
PI = 3.145926536: real (flotante)
rad, grad, numrad, numgrad: real (flotante)
3. Leer rad, grad
4. numgrad = rad * (180 / PI)
5. numrad = grad * (PI / 180)
6. Imprimir numgrad, numrad
7. Fin
Ejemplo No 3

Desarrollar un algoritmo para calcular el promedio de un estudiante, se pedir


la matricula del estudiante y cuatro calificaciones de los exmenes. Se
imprimir la matricula del estudiante y el promedio.

Algoritmo 3: Calcular promedio de un estudiante

1. Inicio
2. Declaracin de variables
matest: entero
cal1, cal2, cal3, cal4, calfin: real (flotante)
3. Leer matest, cal1, cal2, cal3, cal4
4. calfin = (cal1 + cal2 + cal3 + cal4) / 4
5. Imprimir matest, calfin
6. Fin
Diagramas de flujo
Debemos recordar que un diagrama de flujo debe
ilustrar grficamente los pasos o procesos a seguir
para alcanzar la solucin de un problema.

Los smbolos colocados adecuadamente, permiten


crear una estructura grfica flexible que ilustra los
pasos a seguir para alcanzar un resultado especfico.
El diagrama de flujo facilitar ms tarde la escritura del
programa en algn lenguaje de programacin
Reglas para la construccin de diagramas de flujo
1. Todo diagrama de flujo debe tener un inicio y un fin.
2. Todas las lneas utilizadas para indicar la direccin del flujo del diagrama deben estar
conectadas. La conexin puede ser a un smbolo que exprese lectura, proceso,
decisin, impresin, conexin o fin de diagrama.
3. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a
derecha.
4. Las lneas utilizadas para indicar la direccin del flujo del diagrama deben ser rectas,
verticales y horizontales.
5. La notacin utilizada en el diagrama de flujo debe ser independiente del lenguaje de
programacin.
6. Es conveniente cuando realizamos una tarea compleja poner comentarios que
expresen o ayuden a entender lo que hicimos.
7. Si el diagrama de flujo requiere ms de una hoja para su construccin, debemos
utilizar los conectores adecuados y enumerar las pginas convenientemente.
8. No puede llegar ms de una lnea a un smbolo.
Smbolos para la creacin de diagramas de flujo

Smbolo utilizado para marcar el inicio y el fin del diagrama


flujo.
Smbolo utilizado para introducir los datos de entrada. Expresa lectura.

Smbolo utilizado para representar un proceso. En su interior se


expresan asignaciones, operaciones aritmticas, cambios de valor
de celdas en memoria, etc.

Smbolo utilizado para representar una decisin. En su interior se


almacena una condicin y dependiendo del resultado de la
evaluacin de la misma se sigue por una de las ramas o caminos
alternativos: verdadero o falso.
Smbolo utilizado para representar la impresin de un resultado.
Expresa escritura.

Smbolo utilizado para expresar conexin dentro de una misma


pgina.

Smbolos utilizados para expresar la direccin del flujo del diagrama

Smbolo utilizado para expresar conexin entre pginas diferentes.

Smbolo utilizado para representar una decisin


mltiple. En su interior se almacena un selector y
dependiendo del valor de dicho selector se sigue
por una de las ramas o caminos alternativos.
Diagrama de flujo Ejemplo 1

inicio

cve, ht
pht

sueldo = ht * pht

cve fin
sueldo
Diagrama de flujo Ejemplo 2

inicio

rad
grad

numgrad = rad * (180 / PI)

numgrad
numrad = grad * (PI / 180) fin
numrad
Diagrama de flujo Ejemplo 3

inicio

matest, cal1
cal2, cal3
cal4

calfin = (cal1 + cal2 + cal3 + cal4) / 4

matest fin
calfin
Ejemplo 4
Crear un algoritmo y un Diagrama de flujo
que encuentra la suma de los primeros N
nmeros naturales
Algoritmo 4: Suma de los primeros N nmeros naturales

1. Inicio
2. Declaracin de variables
N, i, suma: entero
3. Leer N
4. suma=0
5. i=1
6. Si i>N al paso 8
7. Si no suma= suma +i
i=i+1 pasar al paso 6
8. Imprima suma
9. fin
Inicio

suma=0
i=1

Si

i>N

No suma

suma=suma + i
i = i +1

Fin
Ejemplo 5
Crear un algoritmo y un Diagrama de flujo
que permita escribir los 100 primeros
pares
Algoritmo 5: Escribe los 100 primeros pares

1. Inicio
2. Declaracin de variables
N, p: entero
3. N=100
p=0
4. Si N>0
imprima p
p=p+2
N=N-1 pasar al paso 4
5. Si no pasar al siguiente
6. fin
INICIO

N=100
p= 0

No
N>=0
Fin

Si

p=p + 2
N=N - 1
Ejemplo 6
Crear un algoritmo y un Diagrama de flujo
que pida 3 nmeros y diga cual es el
mayor
Algoritmo 6: Determina cual es el mayor de 3 nmeros

1. Inicio
2. Declaracin de variables
a,b,c,mayor: entero
3. Leer a,b,c
4. mayor=a
5. Si mayor>b
Si mayor>c
6. imprima a es el mayor pasar 11
7. Si no imprima c es el mayor pasar 11
8. Si no haga mayor=b
9. Si mayor>c
imprima b es el mayor pasar 11
10.Si no imprima c es el mayor pasa11 11. fin
Encuentra el mayor de N nmeros
Ejemplo 7

La sucesin de Fibonacci se define de la siguiente forma: a1=1


a2=1 a3=2 a4=3 an=an-1 + an-2
Para n>2, es decir, los dos primeros son 1 y el resto cada uno es
la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5,
8, 13, 21, . Hacer un algoritmo y un diagrama de flujo para
calcular el N-simo
trmino de la sucesin.
Algoritmo 7: Determina el N-simo termino de la sucesin de Fibonacci

1. Inicio
2. Declaracin de variables
N,a,b,c: entero
3. Leer N
4. Si N<=2
5. imprimir 1 pasar al paso 10
6. Si no
a=1
b=1
7. c=a+b
a=b
b=c
N=N-1
8. Si N=2 imprimir b pasar al paso 10
9. Si no pasar al paso 7
10. fin
Inicio

Si No
N<=2 a=1

b=1

c=a+b

a=b

b=c

N=N-1

1 Si No
b N=2

Fin
Ejemplo 8
Hacer un algoritmo y un diagrama de flujo
que lea N nmeros y escriba la suma de
los pares y el producto de los impares
Algoritmo 8:Determina la suma de pares y producto de impares de N
nmeros
1. Inicio
2. Declaracin de variables
N,sp,pi, A: entero
3. Leer N
4. sp=0
5. pi=1
6 leer A

7 Si el resto de A entre 2=0


sp=sp+A pasar 9
8.Si no pi=pi*A
9. N=N-1
10. Si N=0
imprimir sp, pi pasar 12
11. Si no pasar al paso 6
12. fin
Inicio

sp=0

pi=1

A
Si No
RESTODE A/2=0

sp=sp+A pi=pi*A

N=N-1
No
N=0
Si
sp,pi

Fin
Ejemplo 9
Hacer un algoritmo y un diagrama de flujo
para calcular AB , siendo B un entero,
ntese que B puede ser cero o negativo.
No se puede emplear logaritmos. No se
debe usar el smbolo de potenciacin.
Algoritmo 9: Calcular AB
1. Inicio
2. Declaracin de variables
A,B,p: entero
3. Leer A,B
4. p=1
5. Si B=0 pasar 12
6. Si no
Si B>0 pasar a 8
7. Si no
A=1/A
B=-B
8. p=p*A
9. B=B-1
10. Si B=0 pasar 12
11 Si no pasar 8
12.imprimir p
13. fin
Inicio

A,B

p=1

B=0
No Si
B>0
No Si

A=1/A

B=-B
p=p*A
B=B-1

No B=0
Si
p

Fin
Ejemplo 10
Hacer un algoritmo y un diagrama de flujo
para calcular el factorial de N
(N!=1*2*3*.*N)
Algoritmo 10: Calcular Factorial de N

1. Inicio
2. Declaracin de variables
N,p: entero
3. Leer N
4. p=1
5. Si N>1
p=p*N
N=N-1 pasar al paso 5
6. Si no imprimir p
13. fin
DIA y DFD
Explicar software para crear diagramas de
flujo y correr algoritmos
Arreglos: Vectores y Matrices

Vector: es un arreglo que me permite almacenar varios datos

V(i)=[ V(1) , V(2) , V(3), .,V(n) ]

Se debe definir siempre el tamao de vector en este caso n

Los vectores se pueden definir por una instruccin


para en DFD como sigue:
Este programa lee el
tamao N del vector,
Almacena los datos
En el V(i) y luego los
muestra
Ejercicio
Hacer un programa que auto genere el
siguiente vector
V=[ 20 18 16 14 12 10 8 6 4 2]
Luego lo presente por pantalla,
mencionando el campo y el valor del
elemento.
Matriz es un arreglo que me permite almacenar
los elementos de ella.

Se debe definir el tamao de la misma nxm nmero


de filas por nmero de columnas
a11 a12 a13 .........a1m
a21 a22 a23
Matriz(i,j) = ..........a2m
a31 a32 a33 a3m
. . . .
an1 an2 an3 anm

Las matrices se pueden definir por


instrucciones para anidadas en DFD
como sigue:
Ejercicio
Introducir por filas una matriz de nxm,
Luego sumar los elementos de cada fila y
almacenar en un vector vf y por ltimo
presentar este vector por pantalla
Esta matriz lee los
Se define el tamao de la matriz
elementos por filas.

Por medio de
instrucciones
para anidadas
se introducen los
elementos de la
matriz
Para genera las n
filas
Acumulador a cero

Para genera las m


columnas

Suma cada elemento


de cada fila

Guarda en el
vector vf(i) la
suma de cada fila
Para que genera los
valores del vector vf(i)
y los presenta por
pantalla
Ejercicio
Introducir una matriz nxm por columnas,
luego sumar todos los elementos de cada
fila y guardarlos en un vector vf, luego
sumar las columnas y guardar los en un
vector vc. Presentar estos dos vectores
por pantalla con mensajes que digan el
campo del vector y el valor alojado en
dicho campo
Esta matriz lee los
elementos por columnas
Suma cada elemento de la
fila y lo guarda en un vecto
Vf
Suma cada elemento de la
columna y lo guarda en un
vector VC
Salida de los vectores
Vf(i) y Vc(j)
Ejercicio
Generar una matriz m nxn donde los
elementos de la diagonal principal sean 5
y el resto de elementos sean 2, presentar
la matriz m por pantalla.
Ejercicio
Autogenera una matriz nxn que los
elementos de la diagonal principal sean
ceros, los elementos de la diagonal
secundaria sean unos y el resto de
elementos sean 2, presentar por pantalla
la matriz por columnas
INTRODUCCIN AL SCILAB

Desarrollado por INRIA, Institut Nacional de Recherche en Informatique


et Automatica, Instituto francs.

Software para clculo cientfico, interactivo, programable y de libre uso

Sitio oficial de descarga: http://www.scilab.org


Consola de trabajo
Directorio por defecto
Limpiar historial y consola
Ayuda para alguna funcin y/o operando
Scilab distingue entre minsculas y
maysculas
Borrar la consola, note que los valores de a y b
permanecen almacenados
Este comando me muestra todas las variables activas
Formato de salida en SCILAB
Los nmeros se pueden escribir con notacin
usual o la notacin cientfica
Los nombres de las variables pueden
tener hasta 24 caracteres, el primero
debe ser una letra o $. Los otros pueden
ser letras, nmeros, #, _, $, !

En una misma lnea puede haber varias


ordenes. Estas deben estar separadas
por coma o por punto y coma. Ejemplo

t1=2, t2=3; dt =t2-t1


OPERADORES

Los smbolos + - * / nos sirven para las


operaciones aritmticas

Los parntesis tienen prioridad sobre todos


los operadores.

Entre los operadores la prioridad es:


^ ** , * / , + -
FUNCIONES MATEMTICAS
Sintaxis de toda funcin: nombre_funcin(argumento)

abs: valor absoluto


modulo: residuo de la
acos: arcoseno divisin
acosh: arcocoseno hiperblico rand: nmero aleatorio
asin: arcoseno sqrt: raz cuadrada
ceil: parte entera superior round: redondeo tradicional
floor : parte entera inferior
int, fix : redondean a cero
log: logaritmo natural
log10: logaritmo decimal
max: devuelve el mximo
min: devuelve el mnimo
Sintaxis de nmeros
complejos
Polinomios

Los polinomios se pueden definir por sus


coeficientes o por sus races
El polinomio: 2 + 3X + 5X^2 + 7X^ 3
p = poly([2 3 5 7] , X , coeff)
Ordenar el polinomio de menor a mayor grado,
colocando cero si tiene coeficientes cero

El polinomio: -30 + 31X 10X^2 + X^3


q = poly([2 3 5 ] , 'X' , 'roots')
La funcin roots(q) calcula las races del
polinomio
Con polinomios se pueden hacer sumas, restas ,
multiplicaciones, elevar a una potencia, deben
ser polinomios en la misma variable
La funcin: coeff(q , 2) devuelve el valor del
coeficiente
X^2
coeff(q) se obtienen todos los coeficientes
Para evaluar un polinomio p en un valor t se usa:
horner(p,t)
EJERCICIOS

Fx = 3X^5 +2X^4 +X^2 +3X+5


R=y +3y^2 +y^3
S=6+7X^3+3X

Sacarle las races a las funciones


anteriores
Evaluar cada funcin X= 7 y=12
VECTORES Y MATRICES

En SCILAB no hay vectores como tal, los vectores se deben asimilar a


matrices de una sola fila o vectores fila (1xn) o matrices de una sola
columna o vectores columna (nx1)

11 12 13 14 15
21 22 23 24 25
31 32 33 34 35

Se puede definir por medio de:


a = [ 11 12 13 14 15 ;21 22 23 24 25;31 32 33 34 35 ]
Los elementos se pueden separar por comas o cada fila en diferente
lnea como se muestra:
La definicin de la matriz se hace por filas
y las filas se separan por punto y coma o
por cambio de lnea
Tipos especiales de matriz mediante comandos

ones(4,5) matriz de unos de tamao 4x5


zeros(4,5) matriz de ceros de tamao 4x5
rand(20,30) matriz aleatoria de tamao 20x30
eye(4,4) matriz identidad de 4x4

Vectores igualmente espaciados

X=1 : 0.2 : 2.6 til para hacer grficas de funciones

Y=2:9 es equivalente a Y=2 : 1 : 9


Para sacar un vector columna usamos el
operador de trasposicin
Notacin y operaciones con matrices

a(2,5) Define el elemento de la matriz a en la fila 2 columna 5


a(3,:) Define la fila 3 de la matriz a
a(:,4) Define la columna 4 de la matriz a
a(1:2,2:5) Define una submatriz 2x4
a(:) Define un vector columna del tamao mnX1
Si x es un vector columna, x(:) es el mismo vector
Si x es un vector fila, x(:) es un vector columna
Si x es un vector columna, se puede definir un elemento
del vector como x(2) o x(2,1)
Forma general para sacar un submatriz de la
matriz a en este caso filas 1 2 3 y columnas 2 4
EJERCICIOS

Generar automticamente una matriz 10x8 y sacar


una submatriz formada por las filas 2 4 6 8 y columnas 3 6

Convierta la submatriz anterior en un vector columna


OPERACIONES CON MATRICES

SCILAB multiplica un escalar por una matriz: A=5*a


Se puede hacer sumas y restas entre matrices del
mismo tamao.
El producto de matrices es posible si son
matricialmente multiplicables.
Se puede hallar la transpuesta de la matriz por medio
del operador comilla sencilla.
La mayora de funciones para nmeros reales se
pueden aplicar a matrices. Se obtiene una matriz del
mismo tamao en donde la funcin se aplica a cada
elemento
Para matrices y vectores del mismo tamao se pueden
hacer multiplicacin elemento a elemento utilizando el
operador .*
Los elementos de una matriz se pueden elevar a una
potencia h=p.^3
Si a es una matriz rectangular
a . ^(1/2) es equivalente a sqrt(a)
Para graficar se requieren dos vectores (X Y)
Las siguientes instrucciones crean los vectores

X=(-2 : 0.01 :3) ;


Y= 3 * X . ^ 4 + X . ^ 3 5 * X . * X + 3.14 ;
Dos formas de evaluar un
polinomio
Si los tamaos son
compatibles se pueden
pegar
La orden y=[ ] crea una matriz de tamao 0x0

Elimina el elemento 2 de x

Elimina la columna 2 de a
FUNCIONES ELEMENTALES

rank(a) calcula el rango de a


det(c) determinante de una matriz cuadrada c
inv(c) inversa de una matriz cuadrada e invertible c
diag(c) produce una vector columna con los
elementos diagonales de matriz cuadrada c
diag(x) produce matriz diagonal con los elementos de x
y=gsort(x) ordena el vector x decreciente
[y,k]=gsort(x) k es un vector que contiene los ndices de
ordenamiento
Una matriz con el vector x en su
diagonal

Diagonal de c
como vector
columna
MAS FUNCIONES

b=gsort(a) Devuelve una matriz ordenada decreciente por


columnas
c=gsort(b, 'r') Ordena las columnas de b decreciendo
c=gsort(a, 'c') Ordena las filas de a decreciendo
m=max(x) calcula el mximo del vector
[m,k]=max(x) mximo de x y k posicin en el vector
m=max(a) mximo de la matriz a
m=mean(x) Calcula el promedio del vector
median(x) Calcula la mediana del vector
st_deviation(x) Calcula la desviacin estndar
fc=size(a) Devuelve el tamao de la matriz
en vector fila

tril(a) Devuelve triangula inferior de a

triu(a) Devuelve triangula superior de a


SOLUCIN DE SISTEMAS DE ECUACIONES LINEALES

X1=inv(A)* b o X2=A\b

Donde A es una matriz cuadrada e invertible y el sistema


de ecuaciones de la forma general A*X=b
GRFICAS EN SCILAB

Para graficar una funcin basta con construir un vector con valores de X
en un intervalo [a,b] y otro vector con los valores de la funcin Y evaluada
en los puntos del primer vector
La forma general para graficar es:

a=-2 ; b=3;
X=a:0.01:b;
Y=sin(X);
plot2d(X,Y) o plot(X,Y)
Grfica poligonal no suave
El comando clf() , borra la grfica anterior
para que no queden superpuestas
Etiquetas en las grficas
Si digitamos la siguiente lnea en SCILAB

xtitle('TTULO DE LA GRFICA','TTULO DEL EJE X','TTULO DEL EJE Y')


Dos grficas con diferentes valores de x diferentes valores en y
GRFICAS EN TRES DIMENSIONES
PROGRAMANDO EN SCILAB

En SCILAB hay dos tipos de programas:


Los guiones o libretos (scripts) que son simplemente una
secuencia de ordenes en SCILAB. No tiene parmetros de
entrada y ni salida, las variables definidas en un guin son
globales, es decir despus de llamado el guin siguen
existiendo.

Las funciones tienen parmetros de entrada y salida. Las


variables definidas dentro de la funcin dejan de existir una
vez finalizada la ejecucin de la funcin, son variables
locales.
GUIONES O SCRIPTS

Un guin es simplemente un archivo ASCII en el que


hay una sucesin de ordenes en SCILAB.
Generalmente tiene extensin .sce
SCILAB tiene un editor de programas llamado
SciNotes
Correr el programa
Desde la consola pedir A, x0, b, x
FUNCIONES

Los archivos de funciones tiene extensin .sci


El esquema general de una funcin con una salida es:

function result=nombrefuncion(par1,par2,)


endfunction
result es parmetro de salida
par1 son parmetros de entrada
Cuando la funcin tiene varias salidas, el esquema es:

function [res1, res2, ]=nombrefuncion(par1,par2,)




endfunction
EJERCICIO

Crear la funcin de cartesianas a polares


Comparaciones y operadores lgicos
< menor
<= menor o igual
> mayor
>= mayor o igual
== igual
~= diferente (alt+126)
<> diferente
& y
| o (alt+124)
~ no
ORDENES Y CONTROL DE FLUJO

Las principales estructuras de control de SCILAB


son:
If
select y case
for
while
Estructura general del if

if condicin then
.. Si cumple la condicin hace lo que esta dentro
del if

El then se puede omitir por cambio de lnea
end

if condicin then
.. Si cumple la condicin hace lo que esta
dentro del if y antes de else
else

Si no la cumple hace lo que esta despus

de else y antes de end


end
Estructura general del for

for var = lim1 : incr : lim2


..
.
end
Estructura general del while

while condicin
..
.
end

Permite ejecutar de forma repetitiva un comando o grupo de


comandos un nmero determinado de veces hasta que se
cumpla una condicin lgica determinada
Estructura general del select -case

select variable
case valor1 then

case valor2 then

case valor3 then
..
else

end
Ordenes input y disp

La orden input me permite entrar el valor de una variable y a su vez enviar mensajes
al usuario, el formato general de la instruccin es:

Nombre_variable=input( Entre el valor de nombre_variable)

La orden disp me permite presentar por pantalla el valor de una variable y a su vez
enviar mensajes al usuario, el formato general de la instruccin es:

disp(nombre_variable, Mensaje al usuario)


PROGRAMANDO EN SCILAB
Diagrama de flujo Ejemplo 1

inicio

cve, ht
pht

sueldo = ht * pht

cve fin
sueldo
Diagrama de flujo Ejemplo 2

inicio

rad
grad

numgrad = rad * (180 / PI)

numgrad
numrad = grad * (PI / 180) fin
numrad
Diagrama de flujo Ejemplo 3

inicio

matest, cal1
cal2, cal3
cal4

calfin = (cal1 + cal2 + cal3 + cal4) / 4

matest fin
calfin
Ejemplo 4 la suma de los primeros N nmeros naturales
EJEMPLO 5
Crear un algoritmo y un Diagrama
de flujo que permita escribir los
100 primeros pares
Ejemplo 6
Crear un algoritmo y un Diagrama
de flujo que pida 3 nmeros y diga
cual es el mayor
Encuentra el mayor de N nmeros
EJEMPLO 7 Inicio

N
La sucesin de Fibonacci se
define de la siguiente forma:
a1=1 a2=1 a3=2 a4=3 Si No
an=an-1 + an-2 N<=2 a=1
Para n>2, es decir, los dos
primeros son 1 y el resto b=1
cada uno es la suma de los
dos anteriores, los primeros c=a+b
son: 1, 1, 2, 3, 5, 8, 13, 21,
. Hacer un algoritmo y un a=b
diagrama de flujo para
calcular el N-simo b=c
trmino de la sucesin.
N=N-1

1 Si No
b N=2

Fin
Hacer un algoritmo y un diagrama de flujo
para calcular el factorial de N (N!=1*2*3*.*N)
Inicio
Hacer un algoritmo y un diagrama
N
de flujo que lea N
nmeros y escriba la suma de los sp=0
pares y el producto de los impares
pi=1

A
Si No
A MOD 2=0

sp=sp+A pi=pi*A

N=N-1
No
N=0
Si
sp,pi

Fin

Вам также может понравиться