Programación I - 2011 Arreglos II- Matrices.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

IBD Curso 2007 Clase 2.
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
Diseño y análisis de algoritmos
Estructuras de Datos (ARRAYS)
Programación I Teoría III
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
Curso de Programación 1 Plan 97
MANEJO DE ARRAYS EN C.
FORTRAN 90 arreglos.
Algoritmos de Búsqueda
Estructuras de control
Arreglos Ing. Nahiby Castillo.
Estructuras de datos M.I.A Daniel Alejandro García López.
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Vectores en java.
Lenguaje Pascal: Ana Laureano_UAM-A Lenguajes de Programación Pascal Profesora Ana Lilia Laureano - Cruces Universidad Autónoma Metropolitana - Azcpotzalco.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Clase 12 COMPUTACION 2009 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Estáticos Integer Real Char Boolean String Archivos Registros.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
ARREGLOS BIDIMENSIONALES
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
ESTRUCTURA DE DATOS EN JAVA
COMPUTACION 2009 Clase 6 Clase 7.
Clase 10: Estructuras de datos y arreglos.
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
Others, soporte para síntesis. Los agregados tienen la habilidad de usar la sentencia others, la cual asignará un valor a todos los otros elementos de.
Microsoft© Visual Basic . Net.
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Programación en Pascal
Sesión 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Aplicación de estructuras de datos
75.40 Algoritmos y Programación I
Teoría – Alejandro Gonzalez
NVA-LNG1 3. SENTENCIAS. NVA-LNG2 Asignación Es una sentencia que almacena: el valor del argumento ubicado a la derecha del símbolo que la representa En.
Fundamentos de Programación
Vectores y Matrices.
Departamento de Informática Universidad Técnica Federico Santa María Programación de Computadores (IWI-131) Luis Pizarro Q.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Programación en C para electrónicos
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
Tema 8: Tipos de Datos Estructurados I
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Vectores y Matrices.
CAPITULO V ARREGLOS Y CADENAS.
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Introducción a la Programación “Conceptos Básicos” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Clase 6 COMPUTACION 2009 C lase 8 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Integer Real Char Boolean String Archivos Registros.
Inicialización de arreglos de 2 variables INTEGER, DIMENSIÓN (4, 3) : : ini DO i=1, 4 DO j= 1,3 ini(i, j) = j END DO i=1123 i=2123 i=3123 i=4123 j=1j=2j=3.
Arreglos y comunicación Usuario
Matrices Prof. Flor Narciso Departamento de Computación
Vectores y Matrices.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Estructura de datos I CIS - UABJB.
PHP el Lenguaje Ejercicios Básicos.
Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular.
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
Computación I. CI-2125 Tema VII
ARREGLOS BIDIMENSIONALES MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos. Desde el punto.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Algorítmica y Programación
MODULA Lenguaje de Programación Anabel Martín González
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
FUNDAMENTOS DE PROGRAMACIÓN Unidad II. Un array bidimensional o matriz es un conjunto de datos homogéneos (todos del mismo tipo), cada uno de los cuales.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
String, arreglos y arreglos bidimensionales
String, arreglos y arreglos bidimensionales
Transcripción de la presentación:

Programación I - 2011 Arreglos II- Matrices

Matriz Un arreglo (matriz) es una estructura de datos compuesta que permite acceder a cada componente por dos variables índice, que da la posición en la estructura (fila,columna) para acceder al componente. Un tipo de dato Matriz es una colección ordenada e indexada de elementos.

Matriz Estructura homogénea: los datos que almacena son del mismo tipo. Estructura estática: su tamaño no varía al agregar o sacar elementos de la misma. Estructura indizada: permite recuperar cualquier elemento del arreglo indicando su posición (fila,columna).

Declaración Program uno; type ventas= array[rango,rango] of tipo; integer char boolean enumerativo real registros integer char boolean enumerativo Ejemplo: type ventas= array [1..12,1..31] of integer;

Operaciones m1:= m2; Asignar una matriz a otra Comparar dos matrices de manera directa If (m1 = m2) then … NO! Lectura de una matriz read(m1); NO! Escritura de una matriz write(m1); NO!

Ejercicio Dada una Matriz A de N x M de números enteros (N y M deben ser constantes definidas en el programa), se pide realizar: Realizar un módulo que reciba la matriz A, un valor V y que retorne dicha matriz en la que se ha eliminado la V-ésima fila. Realizar un módulo que reciba la matriz A, un vector B, un valor V y que inserte el vector B como columna V-ésima de la matriz A.

Entendiendo el enunciado Inciso a) Realizar un módulo que reciba la matriz A, un valor V y que retorne dicha matriz en la que se ha eliminado la V-ésima fila. El módulo recibe una matriz, con lo cual deberá recibir la dimensión lógica de filas ó columnas. Asumimos que la matriz que hemos de tratar está cargada con “filas completas”, con lo cual sólo recibiremos la matriz y la dimensión lógica de filas (pues las columnas por filas estarán completas). X x x x x x x X x x x x x x

Entendiendo el enunciado También recibirá un valor V como dato, para eliminar la fila V de la matriz. Sólo deberíamos controlar la dimensión lógica por filas. Para tal fin utilizaremos una variable: VAR dimLogFila: Integer; A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z @ A B C D E F G H I J K L M N U V W X Y Z @ V dimLogFila = 3 dimLogFila = 4

Entendiendo el enunciado Inciso b) Realizar un módulo que reciba la matriz A, un vector B, un valor V y que inserte el vector B como columna V-ésima de la matriz A. Se debe implementar un módulo que reciba una matriz, la dimensión lógica de columnas, un vector B, y un valor N que representa el número de fila en donde debemos insertar dicho vector. Debemos comprender que la matriz que hemos de tratar está cargada con “columnas completas”. X X X

Entendiendo el enunciado También recibirá un valor V y un vector B, para insertar B en la posición V. Sólo deberíamos controlar la dimensión lógica por columnas. Para tal fin utilizaremos una variable: VAR dimLogColumna: Integer; B V V O P Q R S A F K B G L C H M D I N E J Ñ A F O K B G P L C H Q M D I R N E J S Ñ dimLogColumna = 4 dimLogColumna = 3

Resolviendo el ejercicio Program ejercicio; const N = 100; M = 100; type matriz = array [1..N, 1..M] of integer; vector = array [1..N] of Integer; var A: matriz; B: vector; dimLogFila, dimLogColumna: integer;

Módulo para eliminar fila Solución inciso a) procedure eliminar (var A: matriz; var dimLogFila: integer; V: integer); var i,j: integer; begin if ( V > 0 ) and ( V <= dimLogFila) then begin if ( V < dimLogFila ) then for i:= V to (dimLogFila - 1) do for j:= 1 to M do A[i,j]:= A[i+1,j]; dimLogFila:= dimLogFila - 1; end;

Módulo para insertar columna Solución inciso b) procedure insertar (var A: matriz; var dimLogColumna: integer; B: vector; dimLogVector: integer; V: integer); var i, j, m : integer; begin if ( dimLogColumna < M ) and ( V > 0 ) and ( V <= DimLogColumna ) and (dimLogVector = N) then begin dimLogColumna := dimLogColumna + 1; for i:= (dimLogColumna - 1) downto V do for j:= 1 to dimLogVector do A[j,i + 1]:= A[j, i]; for m:= 1 to DimLogVector do A[m, V] := B[m]; end;