You are on page 1of 5

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ ESTRUCTURAS DE DATOS: ARREGLOS VECTORES
Apellidos y Nombres:

Pgina:1/5 Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Omar Huamn Bustamante Ing. Henry Zegarra Gago Ing. Marcelo Quispe Ccachuco Cdigo: Semestre: Grupo: Lab. N: 4E03017 III FECHA: 06
18 AL 22 ABR/2011

I.

OBJETIVOS Comprender la necesidad del diseo de algoritmos en el estudio y resolucin de programas. Comprender el concepto de estructura de datos. Comprender y emplear el concepto de arreglo (array) unidimensional en la solucin de problemas de estructuras de datos. Realizar la implementacin de soluciones en Visual C++, de los ejercicios propuestos referidos al tema en discusin.

II.

MARCO TEORICO Introduccin: en muchas situaciones se necesita procesar una coleccin de datos que estn relacionados entre s, por ejemplo, la lista de notas de los alumnos, los participantes de una carrera deportiva, etc. Procesar ese conjunto de datos en forma independiente con variables simples(primitivas), es tremendamente difcil, es por eso que los lenguajes de programacin incorporan un mecanismos que facilita la manipulacin y organizacin para una coleccin de datos llamada estructura de datos. Estructura de datos: es una coleccin de datos que pueden ser caracterizados por su organizacin y las operaciones que se definen en ella. Los tipos de datos simples pueden ser organizados en diferentes estructuras de datos: estticas y dinmicas. Las estructuras de datos estticas son aquellas en las que el tamao ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamao durante la ejecucin del programa. Ejemplos de estas estructuras son los array (vectores/matrices), registros, ficheros, conjuntos, cadenas. Las estructuras de datos dinmicas no tienen las limitaciones o restricciones en le tamao de memoria ocupada que son propias de las estructuras estticas. Mediante un tipo de datos especfico, denominado puntero, es posible construir estructuras de datos dinmicas que son muy efectivas en la solucin de problemas complejos. Ejemplos de este tipo de estructuras son las listas, listas enlazadas, rboles, grafos. Vectores (array unidimensional) Un array (vector o matriz) es un conjunto finito (tamao fijo) y ordenado (usa un ndice) de elementos homogneos. La propiedad ordenado significa que el elemento primero, segundo, tercero,, ensimo de un array puede ser identificado. Los elementos de un array son homogneos, es decir, del mismo tipo de datos. Un array puede estar compuesto de todos sus elementos de tipo cadena, otro puede tener sus elementos de tipo entero, etc. El tipo ms simple de array es el array unidimensional o vector (matriz de una dimensin) (Figura 1). Los vectores, tambin son tablas unidimensionales o estructuras de datos caracterizadas por: Una coleccin de datos del mismo tipo. Referenciados mediante un mismo nombre. Almacenados en posiciones de memoria fsicamente contiguas, de forma que, la direccin de memoria ms baja corresponde a la del primer elemento, y la direccin de memoria ms alta corresponde a la del ltimo elemento

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ ESTRUCTURAS DE DATOS: ARREGLOS VECTORES

Pgina: 2/5

LAB N 6

JP: Ings. JCC-OHB-HZG-MQC

INDICE

Figura 1 Vector de N elementos Arreglo de una dimensin (vector de 5 elementos, por ejemplo, vector de NOTAS) 0 15 1 12 INDICE 2 18 3 14 4 12

LI

0 1 2 3

15 12 18 14 12

LS

El ndice o subndice de un elemento (0, 1, , i, n) designa su posicin en la ordenacin del vector. Ejemplo: NOTAS(0), NOTAS(1), , NOTAS(I), NOTAS(N) Observe que solo el vector global tiene nombre (NOTAS). Los elementos del vector se referencian por su ndice. Operaciones con Arrays Las operaciones son el procesamiento y el tratamiento individual de los elementos del array, las cuales on las siguientes: Asignacin Lectura/Escritura Recorrido Actualizacin (insertar, borrar, modificar) Ordenacin Bsqueda

El formato general para la declaracin de una variable de tipo vector es el siguiente: Tipo_de_datos nombre_tabla [tamao];

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ ESTRUCTURAS DE DATOS: ARREGLOS VECTORES

Pgina: 3/5

LAB N 6

JP: Ings. JCC-OHB-HZG-MQC

Asignacin de valores a un vector: La asignacin de valores a los elementos de un vector se realiza mediante el nombre de la tabla, tamao y los valores que se asignaran entre { } y separados por coma: nombre_tabla [tamao]={valor1, valor2, valorN};

La asignacin de valores a un elemento del vector se realizara con la instruccin de asignacin: A[29] 5 ; asigna el valor 5 al elemento 29 del vector A Si se desea asignar valores a todos los elementos de un vector, se debe recurrir a estructuras repetitivas (para, mientras o repetir) e incluso selectivas (si-entonces, segn). Ejemplo: int contador[3] ={ 24, 12, 6}; Otra forma de asignar valores al vector es: int contador[3];

contador[0] = 24; contador[1] = 12; contador[2] = 6;

La manera ms habitual de inicializar un vector en tiempo de ejecucin consiste en recorrer secuencialmente todos sus elementos y darles valores inicial correspondiente, as por ejemplo:
#define TAM 100 // Define la constante TAM con un valor de 100 void main() { int vector[TAM], i; for (i= 0; i< TAM; i++) vector[i] = 0; }

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ ESTRUCTURAS DE DATOS: ARREGLOS VECTORES

Pgina: 4/5

LAB N 6

JP: Ings. JCC-OHB-HZG-MQC

Lectura/escritura de datos: la lectura/escritura de datos en Arrays u operaciones de entrada/salida normalmente se realizan con estructuras repetitivas, aunque puede tambin hacerse con estructuras selectivas. Las instrucciones simples de lectura/escritura se representarn como: Leer (V[5]); leer el elemento V[5] del vector V Ejemplo:
#define LONGITUD 5 // Define la constante LONGITUD con un valor de 5 int main () { int vector[LONGITUD], valor,i; //INGRESANDO VALORES AL VECTOR cout<<"EL vector tiene una longitud de: "<<LONGITUD<<"\n\n"; for(i=0;i<LONGITUD;i++) { cout<<"Ingrese valor de posicion["<<i<<"] del vector = "; cin>>valor; vector[i]=valor; } }

Acceso secuencial al vector (recorrido): se puede acceder a los elementos de un vector para introducir datos (escribir) en l o bien para visualizar su contenido (leer. A la operacin de efectuar una accin general sobre todos los elementos de un vector se le denomina recorrido del vector. Estos procesos se realizan utilizando estructuras repetitivas, cuyas variables de control (por ejemplo, I) se utilizan como ndices del vector (por ejemplo, S[I]). El incremento del contador del bucle producir el tratamiento sucesivo de los elementos del vector. Ejemplo: Lectura de veinte valores enteros de un vector denominado F i1 mientras i<= 20 hacer leer (F[i]); i i+1; fin-mientras

III.

PROCEDIMIENTO Ejercicio 01: Elaborar el diagrama de flujo y programa que permita ingresar valores a un vector de N elementos. Emplear la estructura para y la estructura mientras.

Laboratorio de Mecnica Computacional I


Tema: PROGRAMACIN VISUAL C++ ESTRUCTURAS DE DATOS: ARREGLOS VECTORES

Pgina: 5/5

LAB N 6

JP: Ings. JCC-OHB-HZG-MQC

Ejercicio 02: Elabore el diagrama de flujo y programa para que dado un array de N nmeros obtenga el nmero mayor.

Ejercicio 03: Elabore el diagrama de flujo y programa que lea cuatro nmeros y los almacene en un vector A; lea otros cuatro nmeros y los almacene en el vector B, luego determine cuantos nmeros del vector A se encuentren en el vector B.

Ejercicio 04: Realice un programa que me permita sumar dos vectores de la misma longitud. IV. CUESTIONARIO FINAL 1. Realice un programa con men que me permita: 1. Ingresar Vector 2. Sumar posiciones pares 3. Sumar posiciones impares 4. Salir del programa 2. Disee un diagrama de flujo y programa para buscar un nmero en 7 nmeros ingresados y determine la posicin y si existe o no el nmero buscado. V. OBSERVACIONES Y CONCLUSIONES Emita al menos tres conclusiones en torno al trabajo realizado
1. ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ 2. ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ 3. ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________

Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).
___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________

You might also like