Vectores y Matrices

28
 INTEGRANTES:  CRISTHIAN TAMAMI  MAYRA LUISA  AMALIA BONILLA TERCER SEMESTRE ING.MSC. WILMA GAVILANEZ CARRERA DE DOCENCIA EN INFORMÁTICA

Transcript of Vectores y Matrices

Page 1: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 1/28

 

INTEGRANTES: 

CRISTHIAN TAMAMI 

MAYRA LUISA AMALIA BONILLA

TERCER SEMESTRE 

ING.MSC. WILMA GAVILANEZ 

CARRERA DE DOCENCIA EN INFORMÁTICA

Page 2: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 2/28

Vectores y matrices ...........................................................2

VECTOR.- ................................................................................3

Introducción ..........................................................................6

Definición………………………………………………………….8

Ejercicios Aplicados

MATRICES.- ...........................................................................16

Introducción ..........................................................................17

Definición………………………………………………………….18

Ejercicios Aplicados…………………………………………..23

2

Page 3: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 3/28

 VECTORES

• Introducción. Los vectores y matrices son uno de los mediosprincipales mediante los cuales se almacenan los datos en unprograma. En esta práctica veremos todos los conceptosrelativos a la creación y manejo en C de vectores, matrices ycadenas de caracteres. Un Arreglo es una estructura de datos

que almacena bajo el mismo nombre (variable) a una colecciónde datos del mismo tipo. Los arreglos se caracterizan por:

Almacenan los elementos en posiciones contiguas de memoria

Tienen un mismo nombre de variable que representa a todos loselementos. Para hacer referencia a esos elementos es necesarioutilizar un índice que especifica el lugar que ocupa cada

elemento dentro del archivo. Acceso directo o aleatorio a los elementos individuales del

arreglo. Ej: Notas[5]=15;

Page 4: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 4/28

TIPOS DE ARREGLOS

• Unidimensionales, también llamados

Vectores o listas

Page 5: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 5/28

 BIDIMENSIONALES, DENOMINADOS

TABLAS O MATRICES

Page 6: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 6/28

 MULTIDIMENSIONALES, CON TRES

O MÁS DIMENSIONES

Page 7: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 7/28

 VECTOR • Definición.- Un arreglo de una dimensión (vector o lista) es un tipo de datos

estructurado compuesto de un número de elementos finitos, consecutivos detamaño fijo y elementos homogéneos.

• Finito indica que el arreglo tiene un número determinado de elementos.

Consecutivo que se almacena en posiciones consecutivas de memoria,

Tamaño Fijo significa que el tamaño del arreglo debe ser conocido en tiempo

de compilación, Homogéneo significa que todos los elementos son del mismo

tipo. Como hemos dicho, el vector es un arreglo de “N” elementos organizados

en una dimensión donde “N” recibe el nombre de longitud o tamaño del vector.

• Para hacer referencia a un elemento del vector se usa el nombre del mismo,

seguido del índice (entre corchetes), el cual indica una posición en particular

del vector. Por ejemplo: Vec[x] Donde: Vec………… Nombre del arreglo

x…………… Numero de datos que constituyen el arreglo Cada localidadalmacena un elemento del vector. En C los elementos de un vector están

numerados desde 0 hasta N -1. Algunos otros lenguajes comienzan en 1.

Page 8: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 8/28

Declaración de un Vector Notación algorítmicaTipo_De_Dato

Nombre_Del_Vector [ número Elementos ]

Ejemplo: entero notas[43] carácter código[4]

Notación en lenguaje C Tipo_De_Dato

Nombre_Del_Vector [ número Elementos ] 

Ejemplo: int notas[43]; char código[4];

Page 9: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 9/28

 ACCESO A LOS ELEMENTOS DE UN VECTOR

• Para manejar cualquiera de los elementos de un vectorse utilizan los subíndices. Por ejemplo para asignar unvalor al primer elemento de un vector se utiliza lasiguiente sentencia: números[0] = 20; El valor del

subíndice puede variar entre 0 y N-1, siendo N el tamañodel vector, es decir, el número de elementos que tiene elvector. El subíndice puede ser construido utilizandoexpresiones aritméticas enteras. Por ejemplo: notas[x-y+1] = 18; En general para tener acceso al i-ésimo

elemento de un vector se utiliza: vector[i-1]

Page 10: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 10/28

RECORRIDO DE UN VECTOR 

• El Bucle For.- es apropiado para arrays con un

índice numérico. Si no hemos definido índices a

nuestro array, por defecto será numérico.

Requiere tres parámetros, el primero es dóndeempieza a contar, el segundo hasta cuándo, o sea

el límite y el tercero las variaciones que va

sufriendo la variable en cada iteración.

Page 11: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 11/28

POR EJEMPLO:

for (i=0; i<N; i++)

Donde inicia

el lazo

Secuencia de

repetición de 1

en 1

El límite o hastadonde llega el

bucle

Page 12: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 12/28

OPERACIONES CON VECTORES

1. Lectura de un vector

 for (int i=0; i<N; i++) {  Scanf(“ %d”,&Notas[i]) ; }

2. Escritura de un vector

 for (int i=0; i<N; i++) {  printf(“Notas[ %d]= %d”, I, Notas[i]); }

3. BúsquedaLineal (Secuencial) {no ordenados}

Secuencia de repetición de 1 en 1

Donde inicia el lazo

El límite o hasta donde llega el bucle

Binaria para arreglos ordenados

4. Ordenamiento

Inserción, Selección, Burbuja o Intercambio, Shell, Quicksoft (Ordenación rápida),Ordenación por Fusión o Mezcla.

5. Inserción y Eliminación

Page 13: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 13/28

 

EJERCICIOS DE APLICACIÓN UTILIZANDO ARRAYSUNIDIMENSIONALES Y BIDIMENSIONALES 

DATOS PARES EN UN VECTOR 

ENUNCIADO 1.- Diseñe un programa que me permita ingresar n elementos en un vector y buscar los datospares y pasar a otro vector.

ANÁLISIS

• 1.- Creamos nuestra primera función que seria BORDE en el cual contenga dos for yun gotoxy para ubicar columna y fila.

• 2.-Después creamos la segunda función que seria INGRESAR en el cual contenga

dos for para ingresar datos en el vector.

• 3.-Creamos la función PAR que me calcula los datos pares.

• 4.- Por ultimo creamos nuestro programa principal colocando mensajes de impresión

gotoxy columnas.• 5.-Existe un lazo DO-WHILE que permite preguntar si desea continuar Si o NO.

DESARROLLO 

Page 14: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 14/28

#include<stdio.h>

#include<conio.h>

int vector1[10],vector2[10],i,fila=15,op,lim,datos=0,h,limite1;

void borde ()

{

for (i=1;i<=80;i++){

gotoxy(i,1);printf("!");

gotoxy(i,24);printf("!");

}

for (i=1;i<=24;i++)

{

gotoxy(1,i);printf("!");gotoxy(80,i);printf("!");

}

}

void ingresar (int limite)

{

fila=10;

for (i=1;i<=limite;i++){

gotoxy(15,fila);scanf("%d",&vector1[i]);

fila=fila+1;

}

}

Page 15: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 15/28

void par (int limite1)

{

fila=10;h=1;

for (i=1;i<=limite1;i++)

{

datos=vector1[i]%2;

if (datos==0)

{

vector2[h]=vector1[i];

h=h+1;

}

}

}

void resultado ()

{

for (i=1;i<h;i++)

{

gotoxy(40,fila);printf("%d",vector2[i]);

fila=fila+1;

}

}

Page 16: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 16/28

void main ()

{

textcolor(WHITE);

textbackground(RED);do

{

clrscr();

borde();

gotoxy(15,3);printf(" **DATOS PARES EN UN VECTOR** ");

gotoxy(15,5);printf("INGRESE EL LIMITE");scanf("%d",&lim);ingresar(lim);

par(lim);

resultado();

gotoxy(13,22);printf("PRESIONE 1 PARA CONTINUAR 0 PARA SALIR");scanf("%d",&op);

}while(op==1);getch();

}

Page 17: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 17/28

CORRIDO DEL PROGRAMA 

Page 18: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 18/28

Es una estructura de datos, o más técnicamente, un espacio de memoria que permite

almacenar una colección de elementos, todos del mismo tipo. La diferencia con losarreglos está en que, en las matrices, los elementos no están organizados

linealmente sino que su organización es bidimensional, es decir, en filas y columnas.

una matriz como una organización de celdas de memoria, o casillas, en cada una de

las cuales se puede guardar un elemento de la colección. Además, es usual dibujarla

como lo ilustra la figura siguiente: 

MATRICES

Page 19: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 19/28

 Sintaxis:

tipo nombre [tamaño 1][tamaño 2]...;

Una matriz bidimensional se podría representar

gráficamente como una tabla con filas y columnas. Lamatriz tridimensional se utiliza, por ejemplo, para

trabajos gráficos con objetos 3D.

SE DEFINEN IGUAL QUE LOS VECTORES EXCEPTOQUE SE REQUIERE UN ÍNDICE POR CADA DIMENSIÓN.

Page 20: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 20/28

DIAGONAL PRINCIPAL

• Es donde las posiciones de filas y columnas son

iguales.

DIAGONAL SECUNDARIA 

• Es donde las filas se van aumentando hasta el límite y las

columnas se van disminuyendo desde el límite hasta 1.

• Orden ascendente las filas.

•Orden descendente las columnas.

Page 21: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 21/28

MATRIZ CUADRATICA CON FACTOR INGRESADOEnunciado• 1.- Diseñe un programa que me permita ingresar n elementos a

una matriz y me visualice sus diagonales. Análisis

• 1.- Creamos nuestra primera función que seria borde en el cualcontenga un for y un gotoxy para ubicar columna y fila.

• 2.-Después creamos la segunda función que seria INGRESO un limitepara el limite de la matriz e ingresar otro limite para el factor.

• 3.-Creamos la función DIAGONALES que en las diagonales se va acargar valores ceros y lo demás se llenara con el factor ingresado

desde teclado.• 4.- Después en nuestro programa principal colocamos el borde de pantalla principal, llamamos las funciones correspondientes.

• 5.-Existe un lazo DO-WHILE que permite preguntar si desea continuar Sio NO.

EJERCICIOS CON MATRICES

Page 22: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 22/28

Desarrollo:

#include<conio.h> BIBLIOTECAS PRINCIPALES 

#include<stdio.h>

int matriz[20][20],i,j,col,fil,fil2,fac,lim,op,con;void borde()

{

for(i=1; i<=80; i++)

{

gotoxy(i,1);printf("*");gotoxy(i,24);printf("*");

} FUNCIÓN BORDE 

for(i=1; i<=24; i++)

{

gotoxy(1,i);printf("*");

gotoxy(80,i);printf("*");}

}

Page 23: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 23/28

void ingreso(int limite,int factor)

{

col=20;

fil=3;

for(i=1; i<=limite; i++) FUNCIÓN INGRESO 

{

for(j=1; j<=limite; j++)

{

if(i==j)

{

matriz[i][j]=0;

}

else

{

matriz[i][j]=1;

}

}

}

j=limite;

for(i=1; i<=limite; i++)

{

matriz[i][j]=0;

j=j-1;

Page 24: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 24/28

}

con=1;

for(i=1; i<=limite; i++)

{

for(j=1; j<=limite; j++)

{

if(matriz[i][j]!=0)

{

matriz[i][j]=factor*con;

con=con+1;

} } }}

void visualizar_matriz(int limite){ col=10;

fil=5;

for(i=1; i<=limite; i++)

{ FUNCIÓN VISUALIZAR MATRIZ 

for(j=1; j<=limite; j++)

{gotoxy(col,fil);printf("%d",matriz[i][j]);

col=col+5;

}

fil=fil+1;

col=10;}}

Page 25: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 25/28

void visualizar_diagonales(int limite)

{

col=20;

fil=fil+2;

gotoxy(col,fil-1);printf("Diagonales");

fil2=fil;

for(i=1; i<=limite; i++)

{ for(j=1; j<=limite; j++)

{

if(i==j)

{ gotoxy(col,fil); printf("%d",matriz[i][j]);

col=col+5;}}

fil=fil+1;

}

col=col-5;

j=limite;

for(i=1; i<=limite; i++){

gotoxy(col,fil2);printf("%d",matriz[i][j]);

j=j-1;

col=col-5;

fil2=fil2+1;}}

FUNCIONDIAGONALES

Page 26: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 26/28

void main()

{

do

{

clrscr();borde();

gotoxy(2,2);printf("Ingrese el limite de la matriz cuadrática => ");

scanf("%d",&lim);

gotoxy(2,3);printf("Ingrese el factor => "); PROGRAMA 

scanf("%d",&fac); PRINCIPAL 

ingreso(lim,fac);visualizar_matriz(lim);

visualizar_diagonales(lim);

gotoxy(2,23);printf("PRESIONE: (1)Continuar / (0)Salir => ");

scanf("%d",&op);

}while(op==1);

//getch();

}

Page 27: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 27/28

CORRIDO DEL PROGRAMA 

Page 28: Vectores y Matrices

7/14/2019 Vectores y Matrices

http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 28/28

 • http://www.sc.ehu.es/sbweb/fisica/cursoJava/numerico/

matrices/matriz/matriz.htm 

• http://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica) 

28