Documente Academic
Documente Profesional
Documente Cultură
NDICE
PROGRAMACIN 1
INGENIERO: WAGNER VLADIMIR LUCERO NAVARRETE
ELABORACIN DE UNA CALCULADORA DE
OPERACIONES BSICAS ENTRE MATRICES EN TRES LENGUAJES DIFERENTES
(VISUAL BASIC, C++, JAVA)
AUTORES:
BENALCAZAR FRANK
BUNCE SANTIAGO
CAIZA PEDRO
CALDERN KEVIN
NARANJO JEFFERSON
SARANGO KELLY
DE JULIO DE 2015
INTRODUCCION....................................................................................................... 3
IMPORTANCIA.......................................................................................................... 3
OBJETIVOS.............................................................................................................. 4
Objetivo general:...................................................................................................... 4
Objetivos especficos:................................................................................................ 4
DESARROLLO DEL CONTENIDO................................................................................ 5
MATRICES EN PROGRAMACIN:...............................................................................5
OPERACIONES BSICAS DE MATRICES:.....................................................................6
Suma y Resta de matrices:.......................................................................................... 6
Ejemplo:................................................................................................................ 6
Multiplicacin de matrices:......................................................................................... 6
Propiedades de la multiplicacin de matrices:...................................................................7
TIPOS DE DATOS:.................................................................................................. 7
VISUAL BASIC:......................................................................................................... 9
Declaracin de las variables:.................................................................................... 9
Dimensin de la matriz A y de la matriz B e ingreso:....................................................10
Men de opciones:............................................................................................... 11
Case 1.............................................................................................................. 12
Case 2.............................................................................................................. 13
Case 3.............................................................................................................. 13
Case 4.............................................................................................................. 14
Impresin de las matrices: A y B..............................................................................14
Impresin de la Matriz Resultante............................................................................15
Accin de la bandera:........................................................................................... 15
C........................................................................................................................... 18
Declaracin de las variables:.................................................................................. 19
Ingreso y lectura en C........................................................................................... 19
Ingreso y lectura de datos...................................................................................... 20
Ciclos de repeticin o bucles.................................................................................. 21
Ingreso de las matrices A y B..................................................................................21
Men para C...................................................................................................... 22
Men de opciones para una opcin...........................................................................23
Estructura de seleccin if/else................................................................................. 23
El case 1 del men............................................................................................... 24
1
INTRODUCCION
IMPORTANCIA
TEMA
ELABORACIN DE UNA CALCULADORA BSICA DE MATRICES EN TRES
LENGUAJES DIFERENTES (C++, VISUAL BASIC, JAVA)
OBJETIVOS
Objetivo general:
Elaborar una calculadora de operaciones bsicas entre dos matrices empleando distintos tipos
de lenguajes de programacin, para poner en prctica los conocimientos previos sobre
arreglos de matrices.
Objetivos especficos:
Explicar al usuario las caractersticas de cada uno de los programas que interviene en
los tres tipos de lenguajes empleados en el proyecto.
Dar a conocer el funcionamiento de nuestra calculadora a base de un tutorial para los
usuarios con conocimiento medio o nulo sobre el tema.
MATRICES EN PROGRAMACIN:
Una matriz es una estructura de datos, o ms tcnicamente, un espacio de memoria que
permite almacenar una coleccin de elementos, todos del mismo tipo. A diferencia con los
arreglos est en que, en las matrices, los elementos no estn organizados linealmente sino que
su organizacin es bidimensional, es decir, en filas y columnas. Conviene imaginar una matriz
como una organizacin de celdas de memoria, o casillas, en cada una de las cuales se puede
guardar un elemento de la coleccin. Adems, es usual dibujarla como lo ilustra la figura
siguiente:
0
0
1
2
3
Dos matrices de las mismas dimensiones se pueden sumar o restar; la suma o resta de
dos matrices de diferente dimensin no.
La suma y resta de dos matrices de las mismas dimensiones es una matriz de las
mismas dimensiones y se obtiene sumando o restando sus elementos correspondientes:
Ejemplo:
Realice la suma de las matrices:
Observamos que la suma s se puede realizar porque las dimensiones de las matrices
coinciden, as:
Multiplicacin de matrices:
Dos matrices A y B son multiplicables si el nmero de columnas de A coincide con el
nmero de filas de B.
Mm x n x Mn x p = M m x p
El elemento cij de la matriz producto se obtiene multiplicando cada elemento de la fila i de la
matriz A por cada elemento de la columna j de la matriz B y sumndolos.
TIPOS DE DATOS:
Cuando usamos un programa es muy importante manejar datos. Ya que en la
programacin podemos almacenar los mismos en variables. El contenido de estas se pueden
ver o cambiar en cualquier momento. Hay que recordar tambin que la memoria del
ordenador es limitada, as que cuando guardemos un dato debemos usar solo la memoria
necesaria.
7
VISUAL BASIC:
Es un lenguaje de programacin que se ha diseado para facilitar el desarrollo de
aplicaciones en un entorno grafico (GUI-GRAPHICAL USER INTERFACE) Como Windows
98, Windows NT o superior.
En este punto se debe declarar todas las variables que intervienen el funcionamiento
de la calculadora de matrices. Para ello se debe incluir la instruccin Dim (Declara y asigna
espacio de almacenamiento para una o varias variables), en nuestro ejemplo declaramos las
variables i, j, k, numfa, numfb, nunca, numcb, flag, opcin y para finalizar daremos el tipo
de variable, en nuestro caso Integer (ya que admite enteros).
Tambin debemos declarar las variables matrizA (300,300), matrizB (300,300) y
matrizC (300,300), tambin con la instruccin Dim y con su tipo de variable Double, con la
diferencia que al ser un arreglo debemos dar su dimensin, es por ello que se aumenta un
parntesis en el cual contendr el nmero de filas en la parte izquierda y el nmero de
columnas en la parte derecha.
Para finalizar en este apartado introducimos flag = 0, dando su condicin de
inicializacin teniendo su valor (el mismo se utilizar como contador, en este caso inicia en
0).
Utilizamos las variables numfa y numca para la matriz A, y numfb y numcb para la
matriz B (que simbolizan el nmero de filas y de columnas de las mismas) y con la ayuda de
la funcin InputBox (Que muestra un mensaje en un cuadro de dilogo, espera a que el
usuario escriba un texto o haga clic en un botn).
Introducimos los mensajes correspondientes a las dos variables, para pedir al usuario
que especifique un valor: "Ingrese el nmero de filas de la matriz A", e "Ingrese el nmero
de columnas de la matriz A".
Donde & se usa para concatenar una expresin a una variable o propiedad y asigna
el resultado a la variable o propiedad.
Men de opciones:
Cdigo:
Opcin = InputBox("Elija la opcion:" + Chr(13) + "1: suma" + Chr(13) + "2: resta" +
Chr(13) + "3: multiplicacion" + Chr(13) + "4: divisn")
El presente cdigo incluye la instruccin InputBox antes ya explicada, y el salto de
lnea que se logra con + Chr(13) +.
En este men podemos ofrecer al usuario cuatro tipos de operaciones diferentes (suma,
resta, multiplicacin y divisin), divididas en cuatro casos.
Case 1:
Con sus respectivas Instrucciones.
Existir el caso del sino
Case Else:
Con su instruccin tambin.
Y el Select Case finalizar con la Instruccin
End Select.
En nuestro programa todos los casos incluyen el
procedimiento para cada operacin:
Case 1
12
Case 4
13
14
Accin de la bandera:
Con el cdigo que presentamos a continuacin podremos observar cmo se acciona la
variable flag (bandera, llamada as ya que nos facilita a una infinidad de opciones e
instrucciones al activarla)
If (flag = 1) Then
MsgBox ("ERROR")
MsgBox ("Para la suma, resta o divisin de matrices" + Chr(13) + "Deben tener el
mismo numero de filas y columnas" + Chr(13) + "Es decir misma dimensin")
Else
If (flag = 2) Then
MsgBox ("ERRROR")
MsgBox ("Para la multiplicacin de matrices" + Chr(13) + "El numero de columnas de la
matriz A dede ser igual" + Chr(13) + "al nmero de columnas de la matriz B")
End If
End If
15
La variable flag (bandera) informa al usuario acerca de las restricciones que tienes las
operaciones con matrices, como es el caso de coincidencia en el nmero de filas y columnas
en la suma, resta y divisin; o en la multiplicacin informa al usuario de que el nmero de
columnas de la matriz A necesariamente debe ser igual al nmero de columnas de la matriz B
para que se pueda realizar la operacin.
16
d. Es un lenguaje portable
Este lenguaje permite utilizar el mismo cdigo en diferentes equipos y sistemas
informticos, sea que es independiente de arquitectura de cualquier mquina.
e. Es un lenguaje relativamente pequeo
Este es un lenguaje econmico en cuanto a expresiones se refiere, se puede describir
en poco espacio, es fcil y rpido de aprender.
f. Tiene abundancia de operadores y tipos de datos
Este lenguaje prcticamente posee un operador para cada una de las posibles
operaciones en cdigo de mquina.
Todo programa en C de un o ms funciones. La funcin que se ejecuta de primer es
una funcin llamada main (), esta funcin es la ms importante de todos programa y es la
que nunca debe faltar. A esta funcin no se la puede cambiar el nombre.
A su vez toda funcin del programa debe devolver un valor al programa este valor se
indica con la palabra reservada return. Cierta veces no queremos que la funcin devuelva
ningn valor para estos casos simplemente le indicamos return 0 o escribimos la palabra
reservada void antes del nombre de la funcin.
En esta parte del proyecto hablaremos en el lenguaje de C detallando paso a paso
cmo funciona el programa que hemos utilizado para poder resolver el problema que nos
hemos planteado.
Declaracin de las variables:
En este primer paso podemos ver las declaraciones de variables que vamos a utilizar
para la resolucin del ejercicio, en los cuales hemos utilizado 3 tipos de datos (float) de
matrices, los dems son tipos de datos enteros (int) y adems acumuladores.
Ingreso y lectura en C
18
Es usual que en un programa el usuario introduzca datos por teclado .para ello
contamos con varias posibilidades: usar las funciones de la biblioteca estndar es lo ms
coherente.
Scanf
Al utilizar la palabra scanf, nosotros podemos hacer que el usuario introduzca datos
por teclado.
El uso de scanf es de la siguiente manera: scanf(%d,&num); esta ltima expresin
indica al programador que debe solicitar un numero entero.
printf
El uso del printf, es similar al de scanf, lo que hace es leer una variables, printf lo hace
para imprimirla. De esta manera podemos imprimir en pantalla, ya sea un mensaje o el valor
contenido en una variable. La sintaxis del printf es as: printf (%d,& num), esta sentencia
lo que hace es imprimir el valor de la variable num en el lugar donde aparece el %d.
El printf nos sirve tambin para mandar a imprimir en pantalla un mensaje como este
printf(Bienvenidos al mundo de C ); esto se imprimir en pantalla.
Ingreso y lectura de datos
Utilizamos las variables numfa y numca para la matriz A, y numfb y numcb para la
matriz B (que simbolizan el nmero de filas y de columnas de las mismas) y con la ayuda de
la funcin printf y el lector scanf_s (Que muestra un mensaje en un cuadro de dilogo, espera
a que el usuario escriba un texto o haga clic en un botn).
19
De este modo el usuario podr introducir en las dos variables, los valores que el desee
y que est de acuerdo con el mensaje que indica el programa: "Ingrese el nmero de filas de
la matriz A Y B", e "Ingrese el nmero de columnas de la matriz A Y B".
While
For
Do while
Su sintaxis es la siguiente:
For (valor inicial ; condicin; incremento)
Dnde:
Valor inicial: es el valor con el cual inicializamos nuestra variable de control.
20
En este momento como ya tenemos ingresadas las filas y columnas que estn como
(numfa) y (numca), lo cual lo recorremos en 2 ciclos repetitivos que es el for, el primer for
recorre en nmero de filas y el segundo for que est adentro recorre el nmero de columnas
tanto de la matriz A como la de B
21
Men para C
La sentencia switch () en lenguaje C es una sentencia de seleccin, esta sentencia
permite seleccionar las acciones a realizar de acuerdo al valor que tome una variable.
22
los mismo para el for de j el cual es numfa recorre el mismo ciclo del for. Al final dentro del
if y de los 2 for realizamos la suma.
En el caso else, si i es igual a uno y numfa es menor o igual entonces tenemos que la
matriz va a decir error y flag va hacer igual a uno, el cual ser explicado ms adelante .
24
25
En el caso else, si i es igual a uno y numfa es menor o igual entonces tenemos que la
matriz C va a decir error y flag va hacer igual a 2.
26
Impresin de la flag
Para la impresin de flag nos va a mostrar que cuando flag es igual a 1 va a mostrar
es siguiente mensaje: Para realizar la suma, la resta o la divisin de matrices \n el nmero de
fila y columnas deben ser igual \n es decir misma dimensin de ambas matrices,
Eso nos mostrara cuando no se puedan establecer la operacin dentro de los case.
27
dentro
de
28
los
case.
29
30
JAVA (NETBEANS):
Historia de Java:
Java es un lenguaje de programacin desarrollado por Sun Microsystems. Java fue
presentado en la segunda mitad del ao 1995 y desde entonces se ha convertido en un
lenguaje de programacin muy popular. Java es un lenguaje muy valorado porque los
programas Java se pueden ejecutar en diversas plataformas con sistemas operativos como
Windows, Mac OS,
Linux o Solaris. James Gosling, el director del equipo de trabajo encargado de
desarrollar Java, hizo realidad la promesa de un lenguaje independiente de la plataforma. Se
buscaba disear un lenguaje que permitiera programar una aplicacin una sola vez que luego
pudiera ejecutarse en distintas mquinas y sistemas operativos. Para conseguir la portabilidad
de los programas Java se utiliza un entorno de ejecucin para los programas compilados. Este
entorno se denomina Java Runtime Environment (JRE). Es gratuito y est disponible para los
principales sistemas operativos. Esto asegura que el mismo programa Java pueda ejecutarse
en Windows, Mac OS, Linux o Solaris
Write Once, Run Anyware, que podra traducirse como programar una sola vez y
despus ejecutar los programas en cualquier sistema operativo, era el objetivo del equipo de
desarrollo de Java. Esta idea resume el concepto de portabilidad. Los programas Java son
portables, es decir, independientes de la plataforma, porque pueden ejecutarse en cualquier
ordenador o dispositivo mvil, independientemente del sistema operativo que tengan
instalado: Un programa Java puede ejecutarse en un ordenador de mesa, un ordenador porttil,
una tableta, un telfono, un reproductor de msica o en cualquier otro dispositivo mvil con
cualquier sistema operativo.
31
El siguiente esquema muestra los elementos de la plataforma Java, desde el cdigo fuente:
32
Luego de haber dado una breve introduccin de Java pasaremos a explicar nuestro
cdigo:
Declaracin de variables
Las variables que usaremos en el presente cdigo sern declaradas: primero poniendo
el tipo que sern las mismas, es decir en nuestro caso: int (correspondiente a variables de
enteros) seguido por el nombre de la variable: numfa (nmero de filas de la matriz A), numca
(nmero de columnas de la matriz A) al igual sern para la matriz B numfb, numcb, tambin
declararemos a bandera (que nos ayudar en varias opciones), y la variable opcin (para
elegir el caso del men), y la variable aux precedida de String ya que un tipo de carcter,
trabajar como auxiliar de lectura para las dems variables.
Para la declaracin de las matrices deber tener el tipo de variable a usar double (para
uso de variables con decimales), el respectivo nombre con dos pares de corchetes ya que son
matrices matrizA[ ][ ], matrizB[ ][ ], matrizC[ ][ ], usaremos el signo = para la creacin
de las mismas al poner la sentencia new, daremos paso para que puedan obtener su dimensin
que irn entre corchetes [nmero de filas], [nmero de columnas], que en nuestro caso ser
50 hasta que pueda tomar el valor real al ingresar numfa, numfb, numca, numcb, es decir
ser un valor mximo que pueden tomar las matrices.
Mensaje de Bienvenida:
Para ello usaremos la variable aux que har el respectivo ingreso de cada variable
numfa, nunca, numfb, numcb, ya que leer el valor de cada una de ellas usando
JOptionPane.showInputDialog(Ingrese el nmero de _ _ _ _ ), para que el mensaje vaya a
nivel de ventana, y el mismo lo asignar al usar numfa = Integer.parseInt(aux).
Por el contrario para el ingreso de los elementos de las matrices usaremos dos Loop o
Ciclos Repetitivos: en nuestro caso dos for respectivamente.
34
35
Men de opciones:
Case 1:
El men ser ingresado con un switch, para la activacin del mismo usaremos la
variable opcion, como ya lo mencionamos la lectura y la asignacin se la realizar con la
ayuda de la variable aux.
En el switch existirn cuatro casos con las operaciones bsicas de suma, resta,
multiplicacin y divisin respectivamente:
En el case 1: suma, controlando si son iguales las dimensiones de las matrices con un
if,
As funciona un if.
36
Al igual que en el case 1:, procederemos de igual maneras; lo nico que cambiar es la
operacin de suma a resta.
37
Case 3:
38
Case 4 y default:
39
40
Bandera:
41
Por el contrario si toma el valor de 2, Imprimir una ventana de error por no tener
el mismo nmero de columnas de A con el nmero de filas de B, esto en el caso de la
multiplicacin.
42
43
CONCLUSIONES:
El programa Visual Basic ofrece una forma cmoda para dar rdenes a la computadora
para realizar un trabajo determinado, en este caso operaciones con matrices. La
caracterstica del orden que debe haber en un pseudocdigo se aclarece en este
programa, ya que para cualquier trabajo primero se debe declarar variables, seguido de
especificar las caractersticas de las variables o de las operaciones que se vaya a
realizar, con el fin de hacer operaciones que pueden resultar muy largas a acciones
sencillas que facilitan la vida de los usuarios. Pero es muy importante ser lo ms claro
y concreto posible para ser amigable con el usuario
Las caractersticas del lenguaje c permiten que la persona que lo use pueda trabajar
con mayor, velocidad, versatilidad y potencia, hasta la creacin de sistemas
mbito matemtico.
Por el contrario en Java podemos establecer el criterio de crear una clase donde
RECOMENDACIONES:
Para poder trabajar de una mejor manera en el Macros de Visual Basic de Excel con
matrices debemos asegurarnos que las celdas en las que se vaya a imprimir sean las
44
BIBLIOGRAFIA
con
Recuperado:
27/06/2015
https://docs.google.com/file/d/0B4FF12HzhOl4OGdLc0FYVEpqNzQ/edit
Recuperado:
01/07/2015
25/06/2015
El lenguaje de Programacin C:
Sistemas Operativos
Universidad de Corua:
http://www.dc.fi.udc.es/~so-grado/curso/CursoC.pdf
Recuperado:
25/06/2015
http://pendientedemigracion.ucm.es/info/tecnomovil/documentos/fjava.pdf
Recuperado:
2/07/2015
Libro en Ingls:
Aunque este libro ya no est en la impresin, su contenido sigue siendo muy relevante hoy en
da. El lenguaje C sigue siendo popular, especialmente para el software de cdigo abierto y la
programacin incrustado. Esperamos que este libro sea til, o al menos interesante, para las
personas que utilizan C.
El archivo pdf del libro que se ha producido de esta manera se puso a disposicin aqu el 6 de
marzo de 2007 y actualmente debe ser el mismo que el contenido de este sitio, despus de
haber sido hechas sin cambios desde que se produjo el nico archivo.
46
Una versin alternativa en formato pdf se present ms tarde en julio de 2010 por Ward van
Wanrooij.
Libro:
The C Book
Autores:
Edicin:
Segunda
Publicado por:
links en la web:
http://publications.gbdirect.co.uk/c_book/
http://publications.gbdirect.co.uk/c_book/thecbook.pdf
47