You are on page 1of 4

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA

ANTONIO JOS DE SUCRE


VICERECTORADO PUERTO ORDAZ
DEPARTAMENTO DE INGENIERA ELECTRNICA
SECCIN DE COMPUTACIN
ASIGNATURA: COMPUTACIN II
Prof. Olga Urdaneta
LABORATORIO 01.
REPASO DE ARREGLOS.
OBJETIVOS.
Repasar el uso del IDE Borland C++ Builder 6 para la edicin, depuracin y compilacin de
programas.
Implementar programas utilizando arreglos unidimensionales y bidimensionales.
Estudiar las operaciones bsicas de estructuras de datos tipo arreglo.
PRE-REQUISITOS.
Sintaxis bsica de las instrucciones del lenguaje C++: declaracin, entrada, salida,
asignacin e instrucciones de control (estructuras de decisin y cclicas).
BASE TERICA.
1. Estructuras de Datos.
Las estructuras de datos, datos estructurados o tipo compuesto, son agrupaciones de otros
tipos de datos. En la siguiente tabla, se presenta una clasificacin bsica de las estructuras de
datos.
Segn el almacenamiento de los datos en memoria:
Estructuras Contiguas: se almacenan en la
Estructuras Enlazadas: se almacenan de forma
memoria de forma consecutiva.
salteada.
Dependiendo de s su tamao permanece fijo o no durante la ejecucin del programa:
Estructuras Dinmicas: su tamao puede
Estructuras Estticas: su tamao permanece fijo alterarse durante la ejecucin del programa.
a lo largo de la ejecucin del programa.
Normalmente las estructuras enlazadas son
siempre dinmicas.
1.1. Estructuras contiguas en C/C++: Arreglos y Cadenas de Caracteres.
Los arreglos (arrays) y las cadenas de caracteres (strings) son estructuras formadas por una
coleccin de datos, englobados bajo un mismo identificador (nombre) y se almacenan en memoria
en posiciones adyacentes, a los cuales se puede acceder de forma independiente.
2. Arreglos.
Un arreglo (llamados en ingls arrays) es una zona de almacenamiento contiguo, que
contiene una serie de elementos (datos) del mismo tipo relacionados bajo un mismo nombre.
Segn las dimensiones de los arreglos, existen tres tipos:

Laboratorio 01. Repaso de Arreglos. Computacin II. Semestre 2014-1I.

Unidimensionales o
Vectores

Bidimensionales o
Matrices

Multidimensionales

2.1. Arreglos Unidimensionales o Vectores.


Los arreglos unidimensionales tambin conocidos como vectores, son un conjunto de datos
almacenados contiguamente en memoria y que estn asociados a un mismo identificador. Para
declarar un arreglo unidimensional o vector se debe utilizar la siguiente sintaxis:
Pseudocdigo
Tipo_Dato Nombre_Arr[N]

C++
Tipo_Dato Nombre_Arr[N];

Donde N representa la cantidad de elementos que poseer el vector.


2.2. Arreglos Bidimensionales o Matrices.
Se llaman matrices a los arreglos de dos dimensiones, es decir, a los arreglos cuyos elementos
vienen definidos por dos ndices. Se puede visualizar su organizacin como una tabla o matriz,
donde cada elemento tiene asignado 2 ndices: el primero representa la fila y el segundo la
columna. Para declarar una matriz se debe utilizar la siguiente sintaxis:
Pseudocdigo
Tipo_Dato Nombre_Arr[N, M]

C++
Tipo_Dato Nombre_Arr[N][M];

Donde N representa la cantidad de filas y M la cantidad de columnas que poseer la estructura.


Ejemplo 01.

En este ejemplo se carga un arreglo con los nmeros del 1 al 12 y luego se


muestran por pantalla.

#include <iostream.h>
#include <conio.h>
void main(void)
{
int t, i, N[3][4];
for(t=0;t<3;t++)
for(i=0;i<4;i++)
N[t][i]=(t*4)+i+1;
for(t=0;t<3;t++)
{
for(i=0;i<4;i++)
cout<<N[t][i]<<'\t'<<endl;
}
getch();
}

Laboratorio 01. Repaso de Arreglos. Computacin II. Semestre 2014-1I.

3. Cadenas de Caracteres.
Uno de los usos ms comunes de los arreglos unidimensionales es la implementacin como
cadenas de caracteres. En C/C++ una cadena se define como un arreglo de caracteres de
cualquier longitud que termina con un carcter nulo. El carcter nulo se especifica como '\0' y es
un cero, por lo tanto, se debe agregar un elemento al tamao cuando se declaren. As por ejemplo
si se desea declarar un arreglo que va a contener una cadena de 10 elementos , se debera
declarar char s[11], dejando sitio para el carcter de fin de cadena.
Aunque no existe un tipo de datos cadena, se pueden definir constantes de tipo cadena como una
cadena de caracteres encerrada entre comillas. En este caso no es necesario agregar el fin de
cadena, ya que C/C++ lo hace automticamente.
C++ provee varias funciones que facilitan la manipulacin de cadenas, en la siguiente tabla se
muestran algunas de las ms importantes:
Funcin
strcpy(s1,s2);
strlen(s1);
strcat(s1,s2);
strcmp(s1,s2);
strcmpi(s1,s2);

Descripcin
Copia una cadena s2 a otra cadena s1.
Devuelve la longitud (bytes) de una cadena.
Concatena dos cadenas s1 y s2, y la cadena resultante queda en s1.
Compara dos cadenas. Devuelve 0 si son exactamente iguales (distingue
entre maysculas y minsculas), >0 si s1>s2 y <0 si s1<s2.
Compara dos cadenas. Devuelve 0 si son iguales (no discrimina entre
maysculas y minsculas), >0 si s1>s2 y <0 si s1<s2.

El siguiente cdigo muestra el uso de las funciones que manipulan cadenas de


caracteres. El programa lee dos cadenas de caracteres, determina su longitud, las
compara y por ltimo las concatena.
//Ejemplo 02
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main(void)
{
char c1[80], c2[80];
cout<<"Cadena 1 = ";
cin>>c1;
cout<<"Cadena 2 = ";
cin>>c2;
Ejemplo 02.

cout<<"Longitud Cadena 1 = "<<strlen(c1)<<endl;


cout<<"Longitud Cadena 2 = "<<strlen(c2)<<endl;
if(!strcmp(c1,c2))
cout<<"Cadenas iguales"<<endl;
strcat(c1,c2);
cout<<"Concatenacion="<<c1;
}
3

Laboratorio 01. Repaso de Arreglos. Computacin II. Semestre 2014-1I.

Arreglos de Cadenas:
Para crear un arreglo de cadenas se debe usar un arreglo bidimensional. El ndice izquierdo indica
el nmero de cadenas y el ndice de la derecha indica la cantidad mxima de caracteres por
cadena. Un ejemplo de declaracin sera:
char arr_cadenas[30][80];
Para acceder u operar a una cadena individual, solo hace falta especificar el ndice izquierdo.
Ejemplo 03.

El siguiente cdigo lee una lista de 10 nombres y los muestra en pantalla.

#include <iostream.h>
#include <string.h>
void main(void)
{
int i;
char NOMBRE[10][20]; //Matriz de 10 nombres y mximo 20 caracteres/nombre
for (i=0; i<10; i++)
{
cout<<"Nombre("<<i<<") : ";
cin>>NOMBRE[i];
}
for (i=0 ;i<10 ;i++)
cout<<"Nombre("<<i<<")=" <<NOMBRE[i]<<endl;
}
PRE- LABORATORIO :
Disear el algoritmo que resuelva el siguiente problema, usando un men de opciones :
Una agencia de automviles dispone de 5 modelos de autos y al final del ao desea mostrar los
resultados de las ventas del ao para lo cual dispone de las cantidades de autos vendidos / trimestre.
Para ingresar los modelos se debe usar un arreglo paralelo con los nombres . Se desea saber:
a) Cantidad Total Ventas /Trimestre.
b) Cantidad Total Ventas / Modelo.
c) Modelo mas vendido en el ao.
LABORATORIO :
Usando el entorno de programacin del lenguaje C , crear, compilar y ejecutar el programa diseado
para probar su correcto funcionamiento.
Para efectuar las pruebas del programa, se puede usar la funcin random para generar los valores.
random(n) genera un entero aleatorio, 0 n n-1.
randomize(); inicializa la funcin.
Ejemplo:
El codigo que se muestra genera una matriz
TEMP[10][10] con valores enteros entre 0 y
40.

randomize();
for(i=0;i<10;i++)
for(j=0;j<10;j++)
TEMP[i][j]=random(41);

You might also like