Tema: Matrices en C#.

Documentos relacionados
Tema: Estructuras de Repetición en C# [For].

Guia#9: Punteros en C#.

Tema: Estructuras de Repetición en C# [While y Dowhile].

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Estructuras de Repetición en C#.

Tema: Estructuras de Selección en C#.

Tema: Entorno a C# Objetivos. Introducción. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación Estructurada

Guia#12: Tema: Archivos en C#.

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

Tema: Entorno a C# y Estructuras Secuenciales.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Columnas

Matriz A Matriz B Matriz C C [1,1]=A [1,1]+B [1,1]=1+15= 16; C [1,2]=A [1,2]+B [1,2]=3+12= 15;

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Tema: Arreglos de objetos en C#.

GUIA DE EJERCICIOS N 1 LENGUAJE C# Página 1 de 5. Instructor: Ing. Néstor Raúl Suarez Perpiñan

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7

Java Avanzado Facultad de Ingeniería. Escuela de computación.

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información 1º año

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Tema: Algoritmos para la ruta más corta en un Grafo.

ESTRUCTURAS DE CONTROL Y DE SELECCIÓN

Trabajo Práctico 5 Estructura Repetitiva

ARREGLOS UNIDIMENSIONALES

Tema: Sobrecarga. Objetivos. Materiales y Equipo. Introducción Teórica. Programación II. Guía No. 7

Guía - Taller # 2 (JAVA)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

GUÍA DE TRABAJO N 2 ARREGLOS EN C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8. Tema: ARREGLOS (ARRAYS) LENGUAJE C#

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P de Ingeniería de Sistemas e Informática NETBEANS 7.0

Programación Java - Ingeniería de Sistemas - UATF 12 Ing. Limber Ruíz Molina

Qué son los arreglos

Tema: Clases y Objetos en C#. Parte II.

Práctica: Creación de un programa C# sencillo

Vectores y matrices. Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Programación Estructurada

Tipos de Arreglos. Notación Algoritmica de los Arreglos multidimensionales tipo_dato nombre[dim 1. , dim 2. ,..., dim n

Cadenas de caracteres

Elabore un diagrama de flujo y la codificación de un programa para:

Tema: Métodos de Ordenamiento. Parte 1.

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

PRACTICA 9 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (PARTE II) Objetivos

P L A N I F I C A C I O N

GUIA 1: Entorno de Visual Studio. Lenguajes de Programación.

Tema: Tipos de datos y conversiones

Tema: Introducción al IDE de Microsoft Visual C#.

Retículos y Álgebras de Boole

Porque usar Arreglos?

GUIA DE LABORATORIO # 13 Arreglos unidimensionales y bidimensionales

Tema 14: Arreglos estáticos en C

Resumen Lenguaje Java

ARREGLOS EN. Nota: El autor.

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

Este método se basa en buscar el elemento menor el vector y colocarlo en la primera

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Introducción FACULTAD DE INGENIERÍA. Ordenación

PROGRAMACIÓN EN C#.NET Módulo 4.- Arreglos y cadenas. Ing. Bruno López Takeyas

1. Manejo de memoria estática 2. Manejo de memoria dinámica

UNIDAD V: ARR R EGL G OS O BIDI D MENS N IONALE L S

ARREGLOS (ARRAYS)- MATRICES.

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Arrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A)

BOLETÍN 5: Algoritmos II

Programación I. Arreglos. Prof. Lisbeth Pérez Rivas

IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B)

Arrays. Los arreglos son una colección de objetos del mismo tipo los cuales tienen un nombre en común y su acceso es mediante un índice.

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Modulo 1 El lenguaje Java

Tema: INSERCIÓN DE DIAGRAMAS SMARTART EN DOCUMENTOS DE WORD 2013.

Crear una Nueva Solución Vacía:

REPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C)

Prof. Dr. Paul Bustamante

Comenzando a usar MatLab:

Tema1:Controles de Programas estructurados. Entrada y salida de datos ENTRADA Y SALIDA DE DATOS ENTRADA Y SALIDA

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Agenda..NET C# Laboratorio #1

INSTRUMENTACIÓN N AVANZADA. ARRAYS EN LABVIEW Relacionando Datos Arrays y Clusters

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Estructura de datos tipo vector.

Algoritmos y Programación I

ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Lenguaje de Programación: C++ Arreglos

Tema: Plantillas en C++.

Braulio Ricardo Alvarez Gonzaga. Aplicaciones en consola

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

11. Algunas clases estándar de Java (II)

Formato para prácticas de laboratorio

Tema: Repaso sobre uso de Funciones, Arreglos y Punteros en C++.

Prof. Dr. Paul Bustamante

Transcripción:

Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación Estructurada Tema: Matrices en C#. Objetivos Implementar arreglos de dos dimensiones. Resolver problemas aplicando matrices. Introducción Arreglos Multidimensionales Los arreglos multidimensionales de dos dimensiones se utilizan con frecuencia para representar tablas de valores, que consisten en información ordenada en filas y columnas. Para identificar una tabla en particular debemos especificar dos índices. Por convención, el primero identifica la fila del elemento y el segundo su columna. Los arreglos que requieren dos índices para identificar un elemento específico se llaman arreglos bidimensionales. Sintaxis para declarar y crear los arreglos bidimensionales Aprendamos la declaración de matrices a través de un ejemplo. Como recordamos, cuando trabajamos con arreglos vamos a hacer uso de los signos de agrupación llamados corchetes, ya que con ello le especificamos al compilador que estamos trabajando con variables de tipo arreglo que han sido instanciados mediante la palabra clave new. Los tipos de datos que se pueden utilizar en los arreglos son los que hemos estudiando en las prácticas anteriores, por lo tanto en este ejemplo utilizamos un tipo de dato int: int [,] b; b = new int[ 3, 4 ] En el ejemplo anterior estamos creando una matriz de 3 filas y 4 columnas.

Al igual que en los arreglos de una dimensión se utilizaba un bucle (generalmente for) para cargar u operar los elementos de un vector, así también en las matrices vamos a utilizar bucles, con la diferencia que ahora utilizaremos un for para las filas y otro for para las columnas (for anidados). Material y Equipo Guía de laboratorio No. 9. Computadora con Visual Studio 2013 o superior. Dispositivo de almacenamiento (USB). Procedimiento G9Ejemplo1. Programa que carga una matriz de una dimensión establecida y muestra los valores en pantalla. 1 static void Main(string[] args) 2 { 3 Console.Title = "Ejemplo1 de una matriz 3x4"; 4 int[,] Matrix = new int[3,4]; 5 //Cargar y visualizar una matriz 6 for (int filas=0; filas<3; filas++) 7 {// for externo para filas 8 for (int columnas=0; columnas<4; columnas++) 9 {// for interno para columnas 10 Console.Write("Ingrese el valor de la posición [" + filas + "," + columnas + "]: "); 11 Matrix[filas,columnas]=int.Parse(Console.ReadLine()); 12 } 13 } 14 Console.Write("\n"); 15 Console.Write("Ahora visualizamos la matrix digitada..."); 16 Imprimir(Matrix); 17 Console.ReadKey(); 18 } 19 static void Imprimir(int[,] Matrix) 20 {

21 for (int filas = 0; filas < 3; filas++) 22 { 23 Console.Write("\n"); 24 for (int columnas = 0; columnas < 4; columnas++) 25 { 26 Console.Write("\t" + Matrix[filas, columnas] + "\t"); 27 } 28 } 29 } 30 G9Ejemplo2. Programa que suma dos matrices de 2 x 3. 1 static void Main(string[] args) 2 { 3 Console.Title = "Ejemplo2 Sumando 2 matrices 2x3"; 4 //Declarando las matrices 5 int[,] Matriz1 = new int[2,3]; 6 int[,] Matriz2 = new int[2,3]; 7 int[,] Matriz3= new int[2,3]; 8 //Digitamos la primer matriz 9 Console.Write("Digitamos la primer matriz [1]"); 10 Console.Write("\n"); 11 for (int i = 0; i < 2; i++) 12 {// for externo para filas 13 for (int j = 0; j < 3; j++) 14 {// for interno para columnas 15 Console.Write("Ingrese el elemento [" + i + "," + j + "]: "); 16 Matriz1[i,j] = int.parse(console.readline()); 17 } 18 } 19 Console.Write("\n"); 20 //Digitamos la segunda matriz 21 Console.Write("Digitamos la segunda matriz [2]"); 22 Console.Write("\n"); 23 for (int i = 0; i < 2; i++)

24 {// for externo para filas 25 for (int j = 0; j < 3; j++) 26 {// for interno para columnas 27 Console.Write("Ingrese el elemento [" + i + "," + j + "]: "); 28 Matriz2[i, j] = int.parse(console.readline()); 29 } 30 } 31 Console.Write("\n"); 32 //Realizamos el cálculo de la suma de las 2 matrices 33 Console.Write("Sumando las 2 matrices anteriores"); 34 Console.Write("\n"); 35 for (int i = 0; i < 2; i++) 36 {// for externo para filas 37 for (int j = 0; j < 3; j++) 38 {// for interno para columnas 39 Matriz3[i,j] = Matriz1[i,j] + Matriz2[i,j]; 40 } 41 } 42 //Llamamos a un procedimiento para visualizar el resultado 43 Mostrar(Matriz3); 44 Console.ReadKey(); 45 } 46 static void Mostrar(int[,] Matriz3) 47 { 48 for (int i = 0; i < 2; i++) 49 { 50 Console.Write("\n"); 51 for (int j = 0; j < 3; j++) 52 { 53 Console.Write("\t" + Matriz3[i,j] + "\t"); 54 } 55 } 56 }

G9Ejemplo3. Se tiene la siguiente información: Nombres de 4 operarios. Ingresos en concepto de sueldo, cobrado por cada operario, en los últimos 3 meses. Realizar un programa para: a. Realizar el ingreso de la información mencionada. b. Generar un vector que contenga el ingreso acumulado en sueldos en los últimos 3 meses para cada operario. c. Mostrar por pantalla el total pagado en sueldos a todos los operarios en los últimos 3 meses. d. Obtener el nombre del operario que tuvo el mayor ingreso acumulado 1 Console.ForegroundColor = ConsoleColor.Black; 2 Console.BackgroundColor = ConsoleColor.White; 3 Console.Title = "Ejemplo3 de matrices con vectores"; 4 Console.Clear(); 5 String[] empleados = new String[4]; 6 int[,] sueldos = new int[4,3]; 7 int[] sueldostot = new int[4]; 8 int x = empleados.length; 9 Console.WriteLine("el valor de x es: " + x); 10 //Primera Parte 11 for (int f=0; f<x; f++) 12 { 13 Console.Write("Ingrese el nombre del operario "+(f+1)+": "); 14 empleados[f] = Console.ReadLine(); 15 int y = sueldos.getlength(1); // devuelve el tamaño de la columna 16 for (int c=0; c<y; c++) 17 { 18 Console.Write("Ingrese sueldo " + (c + 1) + ": "); 19 sueldos[f,c] = int.parse(console.readline()); 20 } 21 } 22 //Segunda Parte 23 int z = sueldos.getlength(0); // devuelve el tamaño de la fila 24 for (int f=0;f<z;f++) 25 { 26 int suma=0; 27 int e = sueldos.getlength(1); 28 for (int c=0;c<e;c++) 29 { 30 suma = suma + sueldos[f, c]; 31 } 32 sueldostot[f] = suma; 33 } 34 //Tercera Parte 35 Console.WriteLine("\n"); 36 Console.WriteLine("-----Estadistica de Sueldos-----"); 37 Console.WriteLine("Total de sueldos pagados por Operario."); 38 for (int f = 0; f< sueldostot.length; f++)

39 { 40 Console.WriteLine(empleados[f] + " -> " + "\t $" + sueldostot[f]); 41 } 42 //Cuarta Parte 43 int may = sueldostot[0]; 44 string nom = empleados[0]; 45 for (int f = 0; f < sueldostot.length; f++) 46 { 47 if (sueldostot[f] > may) 48 { 49 may = sueldostot[f]; 50 nom = empleados[f]; 51 } 52 } 53 Console.WriteLine("El operario con mayor sueldo es " + nom + " que tiene un sueldo de $" + may); 54 Console.ReadKey(); } G9Ejemplo4. Hacer un programa o algoritmo que permita eliminar un alumno de un salón de clase, dada una posición indicada. Por ejemplo tenemos una matriz 3 x 3 Y queremos eliminar la posición [0,2], nos daría la siguiente respuesta:

1 1 0 1 Console.Title = "Ejemplo4 de Matrices"; 2 Console.ForegroundColor = ConsoleColor.Black; 3 Console.BackgroundColor = ConsoleColor.White; 4 Console.Clear(); 5 int f,c; 6 int[,] M = new int[3,3]; 7 Console.Write("Digitamos la matriz"); 8 Console.Write("\n"); 9 for(int i=0;i<3;i++) 10 { 11 for(int j=0;j<3;j++) 12 { 13 Console.Write("Ingrese el elemento [" + i + "," + j + "]: "); 14 M[i, j] = int.parse(console.readline()); 15 } 16 } 17 Console.WriteLine("\n"); 18 for (int i = 0; i < 3; i++) 19 { 20 Console.Write("\t\t"); 21 for (int j = 0; j < 3; j++) 22 { 23 Console.Write(M[i,j] + " "); 24 } 25 Console.WriteLine("\n"); 26 } 27 Console.WriteLine("Ingrese la posicion del alumno a eliminar"); 28 Console.Write("Ingresa fila: "); 29 f = int.parse(console.readline()); 30 Console.Write("Ingresa columna: "); 31 c = int.parse(console.readline()); 32 M[f,c]=0; 33 Console.WriteLine("\n"); 34 for (int i = 0; i < 3; i++) 35 { 36 Console.Write("\t\t"); 37 for (int j = 0; j < 3; j++) 38 { 39 Console.Write(M[i, j] + " "); 40 } 41 Console.WriteLine("\n"); 42 } 43 Console.ReadKey(); 44 }

Análisis de Resultados 1. Desarrollar una aplicación que pida al usuario la dimensión de una matriz, la cargue y le diga cuántos de los elementos ingresados fueron positivos, negativos y ceros. 2. Desarrollar una aplicación que busque el mayor y el menor elemento en una matriz. 3. Escriba un programa que realice la captura de datos de una matriz de números enteros con (3x4) elementos y luego saque el promedio de la matriz. Investigación Complementaria 1. Desarrollar una aplicación utilizando funciones o procedimientos para buscar cualquier elemento dentro de una matriz y mencione además la posición en donde se encuentra. 2. Utilizando un vector tipo carácter y una matriz numérica, realice un programa que lea los nombres de un grupo de alumnos y 3 notas, almacena las notas en la matriz. Calcule el promedio para cada alumno y luego muestre el listado de los alumnos con las notas respectivas. Bibliografía Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007.