Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LABORATORIO 01.
REPASO DE ARREGLOS.
OBJETIVOS.
Repasar el uso del IDE Borland C++ Builder 6 para la edición, depuración y compilación de
programas.
Implementar programas utilizando arreglos unidimensionales y bidimensionales.
Estudiar las operaciones básicas de estructuras de datos tipo arreglo.
PRE-REQUISITOS.
Sintaxis básica de las instrucciones del lenguaje C++: declaración, entrada, salida,
asignación e instrucciones de control (estructuras de decisión y cíclicas).
BASE TEÓRICA.
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 clasificación básica de las estructuras de
datos.
Los arreglos (arrays) y las cadenas de caracteres (strings) son estructuras formadas por una
colección 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.
Unidimensionales o Bidimensionales o
Multidimensionales
Vectores Matrices
Los arreglos unidimensionales también conocidos como vectores, son un conjunto de datos
almacenados contiguamente en memoria y que están asociados a un mismo identificador. Para
declarar un arreglo unidimensional o vector se debe utilizar la siguiente sintaxis:
Pseudocódigo C++
Tipo_Dato Nombre_Arr[N] Tipo_Dato Nombre_Arr[N];
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 organización 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:
Pseudocódigo C++
Tipo_Dato Nombre_Arr[N, M] Tipo_Dato Nombre_Arr[N][M];
Uno de los usos más comunes de los arreglos unidimensionales es la implementación como
cadenas de caracteres. En C/C++ una cadena se define como un arreglo de caracteres de
cualquier longitud que termina con un carácter nulo. El carácter nulo se especifica como '\0' y es
un cero, por lo tanto, se debe agregar un elemento al tamaño cuando se declaren. Así por ejemplo
si se desea declarar un arreglo que va a contener una cadena de 10 elementos , se debería
declarar char s[11], dejando sitio para el carácter 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 automáticamente.
C++ provee varias funciones que facilitan la manipulación de cadenas, en la siguiente tabla se
muestran algunas de las más importantes:
Función Descripción
strcpy(s1,s2); Copia una cadena s2 a otra cadena s1.
strlen(s1); Devuelve la longitud (bytes) de una cadena.
strcat(s1,s2); Concatena dos cadenas s1 y s2, y la cadena resultante queda en s1.
Compara dos cadenas. Devuelve 0 si son exactamente iguales (distingue
strcmp(s1,s2);
entre mayúsculas y minúsculas), >0 si s1>s2 y <0 si s1<s2.
Compara dos cadenas. Devuelve 0 si son iguales (no discrimina entre
strcmpi(s1,s2);
mayúsculas y minúsculas), >0 si s1>s2 y <0 si s1<s2.
if(!strcmp(c1,c2))
cout<<"Cadenas iguales"<<endl;
strcat(c1,c2);
cout<<"Concatenacion="<<c1;
}
3
Laboratorio 01. Repaso de Arreglos. Computación II. Semestre 2015-I.
3.1. Arreglos de Cadenas.
Para crear un arreglo de cadenas se debe usar un arreglo bidimensional. El índice izquierdo indica
el número de cadenas y el índice de la derecha indica la cantidad máxima de caracteres por
cadena. Un ejemplo de declaración sería:
char arr_cadenas[30][80];
Para acceder u operar a una cadena individual, solo hace falta especificar el índice izquierdo.
Ejemplo 03. El siguiente código 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 máximo 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;
}
4. Función Random.
4
Laboratorio 01. Repaso de Arreglos. Computación II. Semestre 2015-I.
LABORATORIO.
1. Ejercicio 01:
Nota 1: utilice la función strcpy para asignarle los nombres de las especialidades al arreglo Esp.
Nota 2: Los datos mostrados en el esquema de arriba son solamente para ejemplo.