Date post: | 29-Oct-2015 |
Category: |
Documents |
Upload: | cristian-alberto-tamami-davila |
View: | 69 times |
Download: | 0 times |
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
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
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;
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
7/14/2019 Vectores y Matrices
http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 5/28
BIDIMENSIONALES, DENOMINADOS
TABLAS O 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
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.
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];
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]
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.
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
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
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
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;
}
}
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;
}
}
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();
}
7/14/2019 Vectores y Matrices
http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 17/28
CORRIDO DEL PROGRAMA
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
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.
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.
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
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("*");}
}
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;
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;}}
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
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();
}
7/14/2019 Vectores y Matrices
http://slidepdf.com/reader/full/vectores-y-matrices-56327c5f2045f 27/28
CORRIDO DEL PROGRAMA
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