ARREGLOS (ARRAYS)- MATRICES.

Documentos relacionados
UNIVERSIDAD TECNOLÓGICA DE LOS ANDES INGENIERÍA DE SISTEMAS E INFORMÁTICA FUNDAMENTOS DE PROGRAMACIÓN ARREGLOS (ARRAYS)

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES INGENIERÍA DE SISTEMAS E INFORMÁTICA FUNDAMENTOS DE PROGRAMACIÓN

Objetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan problemas de tipo numérico.

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES INGENIERÍA DE SISTEMAS E INFORMÁTICA FUNDAMENTOS DE PROGRAMACIÓN

PROGRAMACIÓN ESTRUCTURADA

ESTRUCTURAS REPETITIVAS

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

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

int A[][]=new int[3][4]

Tema: Arreglos en C#.

o Los arreglos son colecciones ordenadas de datos del mismo tipo. o Ejemplos: 2

Laboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos

Matrices. Matrices Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas

Introducción al tipo de dato ARRAY

Práctica Guiada: Vectores y Matrices

Introducción ARREGLOS ARREGLOS ARREGLOS. Introducción Definición de arreglos. Tipos de arreglos. Arreglos unidimensionales Y bidimensionales.

GUIA DE LABORATORIO # 13 Arreglos unidimensionales y bidimensionales

Qué son los arreglos

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

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

Informática II Vectores y Matrices

Lenguaje de Programación: C++ Arreglos

PROGRAMACIÓN 1 EJERCICIOS RESUELTOS (Matrices y Fuciones)

Tema 10: Arreglos estáticos en C

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

Tema 14: Arreglos estáticos en C

Columnas

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

Programación en C++ L.I Gerardo Benavides Pérez

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

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

Cuales son los tipos de instrucciones que se utilizan en la programación?

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

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

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

Algebra de Matrices 1

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

Programación Estructurada

UNIVERSIDAD SAN CARLOS DE GUATEMALA CUNIZAB

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo.

ARREGLOS EN. Nota: El autor.

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

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

PUNTEROS (Apuntadores)

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

Autoestudio 2: Variables y Operadores

UNIDAD V: ARREGLOS. Ingeniería en Sistemas de Información / Ingeniería Telemática

Programación Orientada a Objetos

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS

Punteros. Programación en C 1

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Vectores y Matrices

Tema: Matrices en C#.

Fundamentos de Informática. Primer Curso de Ingenieros Industriales

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.

PROGRAMACIÓN ESTRUCTURADA

Estructuras de Repetición (Repita para)

Taller Introducción a la Ingeniería Eléctrica Robot y comunicaciones basados en Microcontrolador Arduino

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I

Tema: Vectores en C#.

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

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

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Tema 6: Memoria dinámica

Operadores aritméticos

Prof. Dr. Paul Bustamante

Principal material bibliográfico utilizado

Nelson David Muñoz Politécnico CJIC TUTORIAL DISPLAYS

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Para cada problema realizar: Análisis Diseño Diagramas de Flujo

LENGUAJE DE PROGRAMACION I. Ing. JAVIER ECHEGARAY ROJO Ing. WILDER ROMAN MUNIVE. Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive Pag 1

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES INGENIERÍA DE SISTEMAS E INFORMÁTICA ALGORITMOS Y ESTRUCTURAS DE DATOS

Asignatura: Computación II Semestre: 2015-I Profesora: Lorena Estévez GUÍA DE EJERCICIOS RESUELTOS UNIDAD 02: PROGRAMACIÓN PROCEDIMENTAL

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

REPASO DE ÁLGEBRA MATRICIAL

Prof. Dr. Paul Bustamante

Cátedra I Informática Autor I Carlos Bartó

Instituto Tecnológico de Celaya

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Sentencias DO-WHILE EN C++

M a tl a b. Oriol Roca ARREGLOS EN MATLAB.

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

TEMA 8: Gestión dinámica de memoria

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

Porque usar Arreglos?

EXAMEN PROGRAMACION I FEBRERO 2007

Tipos de Datos Estructurados

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Tipos de variables. Lenguaje C. Departamento de Electrónica. Tipos de datos, variables y constantes. Fundación San Valero

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

Transcripción:

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES INGENIERÍA DE SISTEMAS E INFORMÁTICA FUNDAMENTOS DE PROGRAMACIÓN DOCENTE: Ing. Ronald Rentería Ayquipa. MARCO TEÓRICO: ARREGLOS (ARRAYS)- MATRICES. ARREGLOS BIDIMENSIONALES O MATRICES Son aquellos que tienen dos dimensiones, se les conoce también como bidimensionales, matrices o tablas. Una matriz es, como el vector, una colección de elementos del mismo tipo. Sin embargo, mientras el vector es unidimensional una sóla fila o columna en la matriz los datos se organizan en dos o más dimensiones. 0 Arreglo bidimensional de 8 filas y 10 columnas Dimensión 8x10 Cantidad de elementos 8x10=80 elementos 1 2 3 4 5 Declaracion de matrices: 0 1 2 3 4 5 6 7 8 9 6 7 Sintaxis: <tipo> nombre_arreglo[filas][columnas]; Donde: tipo= es el tipo de datos del arreglo nombre_arreglo= el nombre que le vas a asignar al arreglo filas= la cantidad de filas de la matriz. columnas= la cantidad de columnas de la matriz. Cabe destacar que las filas y columnas deben ser cualquier expresión entera constante mayor que cero. Ejemplos de declaración de matrices: int unamba[7][9]; //declara una matriz de 7 filas y 9 columnas, 63 elementos enteros de nombre unamba float MiMatriz[50][2]; // declara una matriz de nombre MiMatriz de 100 elementos tipo float, distribuidos en 50 filas y 2 columnas. Universidad Tecnológica de los Andes Fundamentos de Programación 1/5

Manejo de matrices: Cuando declaramos un arreglo, por ejemplo: int mimatriz[5][3]; obtenemos 15 elementos enteros distribuidos en 5 filas y 3 columnas, bajo el mismo nombre (mimatriz), pero ahora Cómo accedemos a cada uno de estos elementos individuales del arreglo? Manipulación de elementos individuales En las matrices necesitamos dos índices. Usamos el nombre del arreglo seguido de los índices que identifican la fila y la columna del elemento que se desea acceder: nombre_arreglo[fila][columna]. En este ejemplo se muestra como asignar valores a los elementos de una matriz de forma individual: int arreglito[2][2]; // declara un arreglo de 4 enteros llamado arreglito (2x2) arreglito[0][0]=4; // asigna 4 al primer elemento (posición 0,0) arreglito[0][1]=6; // asigna 6 al segundo elemento (posición 0,1) arreglito[1][0]=0; // asigna 0 al tercer elemento (posición 1,0) arreglito[1][1]=15; // asigna 15 al cuarto elemento (posición 1,1) El arreglo finalmente quedará lleno de la siguiente manera: arreglito Para imprimir los elementos del arreglo anterior también se acceden a los elementos de la forma anterior: cout<<arreglito[0][0]; // imprime el elemento (posición 0,0) cout<<arreglito[0][1]; // imprime el elemento (posición 0,1) cout<<arreglito[1][0]; // imprime el elemento (posición 1,0) cout<<arreglito[1][1]; // imprime el elemento (posición 1,1) 4 6 0 0 15 1 0 1 Cada elemento de la matriz es, a todos los efectos, una variable que puede usarse independientemente de los demás elementos. Así, por ejemplo, un elemento de la matriz arreglito puede usarse en una instrucción de entrada, salida o de otro tipo igual que cualquier variable simple de tipo int: cout<< Ingrese un valor ; cin>>arreglito[0][0]; // almacena el valor ingresado en 0,0 cout<<arreglito[0][0]; // imprime el valor del elemento 0,0 arreglito[0][0]= arreglito[0][0]*2; // duplica el valor del elemento 0,0 cout<<arreglito[0][0]; // vuelve a imprimir el valor del elemento 0,0 ahora duplicado Cuando se quiere llenar, imprimir o recorrer una matriz por ejemplo de 20x20 (400 elementos) hacerlo de la forma anteriormente vista es un proceso muy tedioso, lo mejor es usar ciclos para llenarlo rápido. Universidad Tecnológica de los Andes Fundamentos de Programación 2/5

Recorrido de una matriz Una forma habitual de manipular una matriz es accediendo secuencialmente a todos sus elementos, uno tras otro, fila por fila. Para ello, se utilizan dos bucles: el primer bucle con contador, de modo que la variable contador nos sirve como índice para identificar la fila y el segundo bucle anidado con contador, de modo que la variable contador nos sirve como índice para identificar la columna. Así mediante los dos contadores podemos acceder a cada uno de los elementos de la matriz. La estructura más utilizada para recorrer arreglos es for. Supongamos, por ejemplo, que tenemos una matriz de 15 números enteros declarado como int v[5][3]; y dos variables enteras declaradas como int i,j;. Por medio de dos bucles uno anidado en el otro, con ligeras modificaciones, podemos realizar todas estas operaciones: a. Inicializar todos los elementos a un valor cualquiera (por ejemplo, 0): v[i][j]=0; // asigna el valor 0 a la matriz v en la posición i,j b. Inicializar todos los elementos con valores introducidos por teclado: cout<< Ingrese valor para la posicion [ <<i<< ][ <<j<< ] ; cin>>v[i][j]; // asigna el valor ingresado a la matriz v en la posición i,j c. Mostrar todos los elementos en la pantalla: cout<< El valor de la posicion [ <<i<< ][ <<j<< ]= <<v[i][j]; cout<<endl; // da un salto de linea entre cada fila Universidad Tecnológica de los Andes Fundamentos de Programación 3/5

d. Realizar alguna operación que implique a todos los elementos. Por ejemplo, sumarlos: suma=0; suma=suma+v[i][j]; EJERCICIOS RESUELTOS Ejemplo Nº 01: Hacer un programa para sumar dos matrices. #include<iostream.h> #include<conio.h> void main() int A[100][100],B[100][100],C[100][100],a,b,c,d,i,j; cout<<"ingrese dimensiones de la matriz A"<<endl; cout<<"filas : "; cin>>a; cout<<"columnas : "; cin>>b; cout<<"ingrese dimensiones de la matriz B"<<endl; cout<<"filas : "; cin>>c; cout<<"columnas : "; cin>>d; // COMPROBAR SI LAS DIMENSIONES DE LAS MATRICES SON IGUALES if(a==c && b==d) cout<<"ingresar LOS DATOS A LA MATRIZ A"<<endl; cin>>a[i][j]; // Lee el numero ingresado y lo almacena en la posición i,j de la matriz cout<<"ingresar LOS DATOS A LA MATRIZ B"<<endl; for(i=0;i<c;i++) for(j=0;j<d;j++) cin>>b[i][j]; // Lee el numero ingresado y lo almacena en la posición i,j de la matriz Universidad Tecnológica de los Andes Fundamentos de Programación 4/5

// REALIZAR LA SUMA DE LAS MATRICES C[i][j]=A[i][j]+B[i][j]; // IMPRIMIR LA SUMA DE LAS MATRICES cout<<"la SUMA es: "<<endl; cout<<c[i][j]<<"\t"; cout<<endl; else cout<<"no se pueden sumar las matrices"; getch(); Ejemplo Nº 02: Hacer un programa que imprima la diagonal de una matriz cuadrada. #include<iostream.h> #include<conio.h> void main() int matriz[100][100],i,j,n; //Se declara una matriz de enteros con nombre matriz cout<<"ingrese dimension de la matriz"; cin>>n; //solo se ingresa una dimension porque la matriz es cuadrada cout<<"ingresar LOS DATOS A LA MATRIZ"<<endl; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>matriz[i][j]; // Lee el numero ingresado y lo almacena en la posición i,j de la matriz // IMPRIMIR LA DIAGONAL DE LA MATRIZ INGRESADA cout<<"la diagonal es: "<<endl; for(i=0;i<n;i++) for(j=0;j<n;j++) if(i==j) cout<<matriz[i][j]<<endl; getch(); Ejemplo Nº 03: Encontrar otra forma de resolver el ejercicio 2. Universidad Tecnológica de los Andes Fundamentos de Programación 5/5