Programacion fantasticos
-
Upload
brenda-jazmin -
Category
Education
-
view
53 -
download
0
Transcript of Programacion fantasticos
UNIVERSIDAD CENTRAL DEL ECUADOR
Ingeniería Ciencias Físicas y Matemáticas
Ingeniería Matemática
MATERIA: PROGRAMACIÓN I
TEMA: MATRICES TRIDIMENSIONALES
INTEGRANTES:
Guevara Santiago
Jácome Sebastián
Lema Brenda
Paucar Christian
Torres Jonnathan
INGENIERO: WAGNER LUCERO
2015
INDICE
Tabla de contenido
INTRODUCCIÓN............................................................................................................................3
OBJETIVO GENERAL......................................................................................................................3
OBJETIVOS ESPECIFICOS...............................................................................................................3
MARCO TEORICO:.........................................................................................................................4
VECTORES.....................................................................................................................................9
MATRICES...................................................................................................................................10
DIMENSIONES DE MATRICES......................................................................................................10
DOS DIMENSIONES.....................................................................................................................10
TRES DIMENSIONES....................................................................................................................10
MÁS DE TRES DIMENSIONES......................................................................................................10
EXPLICACION DEL PROGRAMA REALIZADO................................................................................11
CAPTURAS DEL PROGRAMA.......................................................................................................13
BIBLIOGRAFÍA:............................................................................................................................14
INTRODUCCIÓN
Comenzaremos por dar una visión general de los conocimientos aprendidos, así como también explicaremos de manera detallada el cómo se realizó nuestro proyecto llamado Matrices Tridimensionales de manera concreta y directa.Trataremos de que el tema sea fundamentalmente práctico, por lo que estos apuntes se deben considerar como una pequeña introducción al lenguaje, no como una referencia completa. Los alumnos interesados en conocer los detalles del lenguaje pueden consultar la bibliografía.
OBJETIVO GENERAL.
Crear un programa que nos permita ampliar más los conocimientos en los diferentes tipos de lenguaje.
OBJETIVOS ESPECIFICOS.
Promover el interés y la importancia que tiene la programación.
Demostrar q se puede realizar un programa en diferentes tipos de lenguaje.
Utilizar los conocimientos para dar una explicación concreta y clara.
MARCO TEORICO:
CONCEPTOS BÁSICOS
ALGORITMO:
La solución a cualquier problema de cómputo involucra la ejecución de una serie de acciones en orden específico. Un procedimiento para resolver un problema en términos de:
a) Las acciones a ejecutarse.b) el orden en el cual estas acciones deben ejecutarse se llama algoritmo.
PROGRAMA:
o Secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones de acuerdo con los datos que se estén procesando.
o Es un algoritmo desarrollado para ser utilizado por la computadora
o Expresión de un algoritmo en un lenguaje preciso que puede llegar a entender una máquina de cómputo.
TIPOS DE DATOS PRIMITIVOS:
OPERACIONES PARA REALIZAR
+ (Más, como signo o como operación suma)- (menos, como signo o como operación resta)* (Multiplicación)/ (División)% (resto)
Y LOS SIGUIENTES OPERADORES RELACIONALES:
== (igual)!= (distinto)< (menor que)> (mayor que)<= (menor o igual que)>= (mayor o igual que)
PRINCIPALES OPERADORES DE PROGRAMACION
ESTRUCTURA IF- ELSE
La instrucción if … else permite controlar qué procesos tienen lugar, típicamente en
función del valor de una o varias variables, de un valor de cálculo o booleano, o de las
decisiones del usuario. La sintaxis a emplear es:
/* Ejemplo Estructura IF - aprenderaprogramar.com */if (condición) { instrucciones} else { instrucciones}
LA SENTENCIA SWITCH
Esta sentencia nos permite seleccionar en función de condiciones múltiples. Su sintaxis es:
switch (expresión) {case valor_1:...break;
case valor_2: ...break;...default: ...}
El paréntesis en la expresión es obligatorio. El funcionamiento es el siguiente, si al evaluar la expresión se obtiene uno de los valores indicados por
case valor_i
ESTRUCTURAS DE REPETICIÓN
Dentro de las estructuras de repetición diferenciábamos 3 tipos: con condición inicial, con condición final y con contador
La sentencia do-while
Es una estructura de repetición con condición final. Su sintaxis es:
Do variacion sentencia
El funcionamiento es simple, entramos en el do y ejecutamos la sentencia, evaluamos la expresión y si es cierta volvemos al do, si es falsa salimos.
La sentencia while
Es una estructura de repetición con condición inicial. Su sintaxis es:
while (expresión)
variación
sentencia
El funcionamiento es simple evaluamos la expresión y si es cierta ejecutamos la sentencia y volvemos a evaluar, si es falsa salimos.
FUNCIONES
Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.
Ejemplo de una función
// regresar el cuadrado de un númerodouble Cuadrado(double n){ return n*n;}
VECTORES
Un vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno después de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentran. La primera posición del array es la posición 0.
Podríamos agrupar en un array una serie de elementos de tipo enteros, flotantes, caracteres, objetos, etc.
Crear un vector en C++ es sencillo, seguimos la siguiente sintaxix: Tipo nombre[tamanyo];
Ejemplo:
int a[5]; // Vector de 5 enterosfloat b[5]; // vector de 5 flotantesProducto product[5]; // vector de 5 objetos de tipo Producto
Podríamos también inicializar el vector en la declaración:
int a[] = {5, 15, 20, 25, 30};float b[] = {10.5, 20.5, 30.5, 12.5, 50.5}Producto product[] = {celular, calculadora, camara, ipod, usb}
Como hay 5 elementos en cada array, automáticamente se le asignará 5 espacios de memoria a cada vector, pero si trato de crear el vector de la forma int a[] , el compilador mostrará un error, porque no indiqué el tamaño del vector ni tampoco inicialicé sus elementos.
Asigno valores a los elementos de un vector indicando su posición:
int a[4] = 30; // le asigno el valor 30 a la posición 4 del vector.product[2].setPrecio(300) // le asigno un precio de 300 al producto en la posición 2.
La salida del programa mostrará: 0 10 20 30 40 50 60 70 80 90
Si ingreso una dimensión de 10, este programa me daría:
Vector A
0 10 20 30 40 50 60 70 80 90
VECTOR B
0 5 10 15 20 25 30 35 40 45
VECTOR C
0 15 30 45 60 75 90 105 120 135
Entonces para tomar en cuenta:
Todo vector debe tener definido un tipo de dato.
Todo vector necesita de una dimensión o tamaño.
El código de arriba se puede mejorar muchísimo con objetos y clases, este es solo un pequeño ejemplo.
MATRICES
Una matriz es un vector de vectores o un también llamado array bidimensional. La manera de declarar una matriz es C++ es similar a un vector:
INFORMACIÓN GENERAL SOBRE LAS MATRICES
Una matriz tiene las propiedades siguientes: Una matriz puede ser unidimensional, multidimensional o escalonada. El número de dimensiones y la longitud de cada dimensión se establecen cuando
se crea la instancia de la matriz. Estos valores no se pueden cambiar durante la duración de la instancia.
El valor predeterminado de los elementos numéricos de matriz se establece en cero y el de los elementos de referencia se establece en null.
Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos son tipos de referencia y se inicializan en null.
Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde 0 hasta n-1.
Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz.
DIMENSIONES DE MATRICES
Dos dimensiones
Algunas matrices tienen dos dimensiones, como el número de oficinas de cada planta de todos los edificios de un campus. La especificación de un elemento requiere el número del edificio y de la planta, y cada elemento contiene el recuento para esa combinación de edificio y planta. Por consiguiente, este tipo de matriz utiliza dos índices.
Tres dimensiones
Algunas matrices tienen tres dimensiones, como los valores de un espacio tridimensional. Este tipo de matriz utiliza tres índices que, en este caso, representan las coordenadas x, y ,z del espacio físico. Más de tres dimensiones
Aunque una matriz puede tener hasta un máximo de 32 dimensiones, es raro que tenga más de tres.
EXPLICACION DEL PROGRAMA REALIZADO:
EXPLICACION EN C:
1) DEFINIMOS VARIABLES A UTILIZAR
int i,j,k;
int nummatrices, numfilas, numcolumnas,
int mayor filas [10][10];
int mayor columnas[10][10];
int matriz[5][10][10];
2) DAMOS VALORES A LAS VARIABLES UTILZADAS
printf("Numero de Matrices:\t");scanf_s("%d", &nummatrices);printf("Numero de filas:\t");scanf_s("%d", &numfilas);printf("Numero de columnas:\t");scanf_s("%d", &numcolumnas);
for (i = 0; i < nummatrices; i++){
for (j = 0; j < numfilas; j++){
for (k = 0; k < numcolumnas; k++){
matriz[i][j][k] = 0 + rand() % (500);}
}}
3) REALIZAR UN RAZONAMIENTO LOGICO PARA PODER ENCONTRAR LOS MAYORES DE CADA FILA Y COLUMNA
for (i = 0; i < nummatrices; i++){
for (j = 0; j < numfilas; j++){mayorfilas[i][j] = matriz[i][j][0];
for (k = 0; k < numcolumnas; k++){
if (mayorfilas[i][j] < matriz[i][j][k]){
mayorfilas[i][j] = matriz[i][j][k];
}}
}}
for (i = 0; i < nummatrices; i++){
for (k = 0; k < numcolumnas; k++){
mayorcolumnas[i][k] = matriz[i][0][k];for (j = 0; j < numfilas; j++){
if (mayorcolumnas[i][k] < matriz[i][j][k])
{mayorcolumnas[i][k] =matriz[i][j]
[k];}
}}
}
4)IMPRIMIR RESULTADOS
for (i = 0; i < nummatrices; i++){
printf("\nMATRIZ Nº: %d\n",i);for (j = 0; j < numfilas; j++){
for (k = 0; k < numcolumnas; k++){
printf("\t%d\t", matriz[i][j][k]);}printf("\tMayor: %d", mayorfilas[i][j]);printf("\n");
}for (j = 0; j < numcolumnas; j++)
{printf("\tMayor: %d", mayorcolumnas[i][j]);}
CAPTURA DE PANTALLA EN C
EXPLICACION EN VISUAL BASIC:
1) DEFINIMOS VARIABLES A UTILIZAR
Dim i As IntegerDim j As IntegerDim k As IntegerDim nummatrices As IntegerDim numfilas As IntegerDim numcolumnas As IntegerDim mayorfilas(10, 10) As IntegerDim mayorcolumnas(10, 10) As IntegerDim matriz(5, 10, 10) As IntegerDim imprimir As Integer
2) DAMOS VALORES A LAS VARIABLES UTILZADAS
MsgBox ("PROGRAMA PARA ENCONTRAR EL MAYOR DE CADA MATRIZ")''Worksheets("hoja1").Cells(1, 1).Value = ("PROGRAMA PARA ENCONTRAR EL MAYOR DE CADA MATRIZ")
nummatrices = InputBox("Numero de Matrices: ")numfilas = InputBox("Numero de filas: ")numcolumnas = InputBox("Numero de columnas: ")
For i = 0 To nummatrices - 1 For j = 0 To numfilas - 1 For k = 0 To numcolumnas - 1 matriz(i, j, k) = CInt(Int((1000 * Rnd()) + 2)) Next k Next jNext i
3) REALIZAR UN RAZONAMIENTO LOGICO PARA PODER ENCONTRAR LOS MAYORES DE CADA FILA Y COLUMNA
For i = 0 To nummatrices - 1 For j = 0 To numfilas - 1 mayorfilas(i, j) = matriz(i, j, 0) For k = 0 To numcolumnas - 1 If (mayorfilas(i, j) < matriz(i, j, k)) Then mayorfilas(i, j) = matriz(i, j, k) End If Next k Next jNext i
For i = 0 To nummatrices - 1 For k = 0 To numfilas - 1 mayorcolumnas(i, k) = matriz(i, 0, k) For j = 0 To numcolumnas - 1 If (mayorcolumnas(i, k) < matriz(i, j, k)) Then mayorcolumnas(i, k) = matriz(i, j, k) End If Next j Next kNext i
4)IMPRIMIR RESULTADOS
imprimir = numfilasFor i = 0 To nummatrices - 1Worksheets("hoja1").Cells(imprimir * i + 1, 1).Value = "MATRIZ N:" & i For j = 0 To numfilas - 1 For k = 0 To numcolumnas - 1 Worksheets("hoja1").Cells(i * imprimir + j + 2, k + 1).Value = matriz(i, j, k) Next k
Worksheets("hoja1").Cells(i * imprimir + j + 2, numcolumnas + 1).Value = "M:" & mayorfilas(i, j)Worksheets("hoja1").Cells(i * imprimir + numfilas + 2, j + 1).Value = "M:" & mayorcolumnas(i, j) imprimir = numfilas + 3 Next jNext i
CAPTURA DE PANTALLA EN VISUAL BASIC
EXPLICACION EN VISUAL JAVA:
1) DEFINIMOS VARIABLES A UTILIZAR
Public static void main(String[] args) { int i,j, k, nummatrices, numfilas, numcolumnas; int mayorfilas[][]= new int[10][10]; int mayorcolumnas[][]= new int[10][10];
int matriz[][][]= new int[5][10][10];
2) DAMOS VALORES A LAS VARIABLES UTILZADAS Scanner dato = new Scanner(System.in);
System.out.print("\t\tPROGRAMA PARA ENCONTRAR EL MAYOR DE CADA MATRIZ\n \n");
System.out.print("Numero de Matrices:\t");nummatrices = dato.nextInt();System.out.print("Numero de filas:\t");numfilas= dato.nextInt();System.out.print("Numero de columnas:\t");numcolumnas= dato.nextInt();
Random rnd = new Random();
for (i = 0; i < nummatrices; i++){
for (j = 0; j < numfilas; j++){
for (k = 0; k < numcolumnas; k++){matriz[i][j][k] = 1+ rnd.nextInt(1000);}
}}
3) REALIZAR UN RAZONAMIENTO LOGICO PARA PODER ENCONTRAR LOS MAYORES DE CADA FILA Y COLUMNA for (i = 0; i < nummatrices; i++)
{for (j = 0; j < numfilas; j++){mayorfilas[i][j] = matriz[i][j][0];
for (k = 0; k < numcolumnas; k++){
if (mayorfilas[i][j] < matriz[i][j][k])
{mayorfilas[i][j] =
matriz[i][j][k];}
}}
}for (i = 0; i < nummatrices; i++){
for (k = 0; k < numcolumnas; k++){
mayorcolumnas[i][k] = matriz[i][0][k];
for (j = 0; j < numfilas; j++)
{if (mayorcolumnas[i][k] < matriz[i][j]
[k]){mayorcolumnas[i][k] = matriz[i][j][k];}
}}
}4)IMPRIMIR RESULTADOSfor (i = 0; i < nummatrices; i++)
{System.out.print("\nMATRIZ N�:"+i+"\n");for (j = 0; j < numfilas; j++){
for (k = 0; k < numcolumnas; k++){
System.out.print("\t\t"+ matriz[i][j][k]);
}System.out.print("\tMayor: "+
mayorfilas[i][j]);System.out.print("\n");
}for (j = 0; j < numcolumnas; j++){System.out.print(" \tMayor: "+
mayorcolumnas[i][j]);}
System.out.print("\n");}
} }CAPTURA DE PANTALLA EN JAVA
BIBLIOGRAFÍA:
*Iniciando programadores Volumen 1 -2012 Christian Morí
*Introducción a la programación con C#- 2013- Nacho Cavanes
* c/c ++: curso de programación 2015 Miguel Ángel Acera
*FUNDAMENTALS OF COMPUTER
PROGRAMMING Svetlin Nakov & Co.
NETGRAFIA:
https://www.djangosites.org/s/progopedia-com/
https://msdn.microsoft.com/es-es/library/9b9dty7d(v=vs.120).aspx
http://puntocomnoesunlenguaje.blogspot.com/2012/12/matriz-en-java.html
http://www.zator.com/Cpp/E4_3.htm