Você está na página 1de 6

Materia: Programacin.

Prof: Aurora Femat Daz


Ejercicio en Builder C++ para crear una interfaz de un programa para capturar un par de matrices y realizar
algunas operaciones con ellas.
Prerrequisito: saber manejar matrices en lenguaje C.
Compilar el programa y ejecutarlo frecuentemente para notar los cambios y corregir los posibles errores.
1. Elegir del men File la opcin New seguida de VCL Forms Application C++ Builder como se muestra en la
figura 1. Esto crear un nuevo proyecto.

Figura 1. New VCL Application


2. En el men principal elegir Save Project As.
2.1. En la primera pantalla, donde se solicita el nombre de la unidad, pulsar el botn para crear un
subdirectorio y nombrar dicho subdirectorio como ProgMatrices.
2.2. Dar doble clic a la carpeta creada para ubicarse dentro del subdirectorio creado.
2.3. Grabar la Unidad con el nombre UnitPrincipal.
2.4. Grabar los siguientes dos archivos del proyecto con los nombres especificados por omisin.
3. Con la forma seleccionada dar botn derecho del mouse para que se muestren las propiedades de la forma,
en la ventana del Object Inspector.
3.1. Modificar la propiedad Name de la Forma a formPrincipal (con mayscula solo la letra P), y
3.2. A la propiedad Caption asignarle Operaciones de Matrices.
4. De la paleta de herramientas, en la ficha Standard seleccionar un componente TMainMenu, como se indica
en la figura 2 y colocarlo en la forma formPrincipal.

Figura 2. Paleta de herramientas


4.1. Nombrar el men como mainMenuPrincipal como en la figura 3.

Figura 3. Modificando propiedad Name de objeto TMainMenu


4.2. Dar doble clic al componente TMainMenu.
4.2.1. Donde aparece el recuadro azul como en la figura 4, dar clic al botn derecho del mouse.
4.2.2. Elegir la opcin Insert from Template y depus File Menu como en las figuras 5 y 6
respectivamente.
4.3. Renombrar la propiedad name de la opcin New del men como mainMenuMatrix y su propiedad
Caption como &Matrix (el smbolo & marcar en subrayado la letra M)

Figura 4. Insertando opciones a un men

Figura 5. Insertando men desde una plantilla

Figura 6. Resultado de insertar men desde plantilla File


4.4. Borrar las dems opciones del men con excepcin del ltimo separador y la opcin Exit
El resultado hasta este momento se indica en la figura 7

Figura 7. Modificando opcin de men


5. Agregar una forma para capturar datos siguiendo los pasos que se indican a continuacin:
5.1. En el men File del Buider C++, en el submen New elegir la opcin VCL Form
5.2. Una vez creada la nueva forma, utilizar el Object Inspector para cambiar las propiedades de los
componentes como se indica
5.3. Cambiar el nombre de la forma a formMatrix
5.4. Guardar la unidad como UnitMatrix
5.5. Cambiar el Font de la forma a Tahoma Regular de 12 puntos
5.6. Agregar un componente TPanel (de la ficha Standard)
5.6.1.Modificar sus propiedades de la siguiente manera:
5.6.2. Align a alLeft,
5.6.3. Caption a cadena vacia, y
5.6.4. BevelOuter a bvLowered
5.7. En el component TPanel agregar los siguientes componentes como se muestra en la figura 8 del lado
izquierdo
5.7.1. Cuatro controles TEdit (edtRen01, edtCol01, edtRen02 y edtCol02) con sus respectivas etiquetas
como de muestra en la imagen de la Figura
5.7.2. Un control TButton con el nombre de btnCaptMat
6. Seleccionar el archivo con extensin .cpp de la unidad UnitPrincipal y colocarse en la parte superior del
cdigo
6.1. En el men File del men Principal del Builder C++ elegir la opcin Use Unit, dar clic a UnitMatrix y
despus aceptar
6.2. Notar como cambia el encabezado del archivo .cpp que se encuentra abierto
7. Dar doble clic en la opcin Matriz del men principal
7.1.1.Entre las dos lneas de la funcin que aparece en la pantalla escribir la lnea de cdigo que se indica
formMatrix->Show();

Figura 8. Forma de captura para operacin de matrices


8. En la forma formMatrix agregar 3 componentes TStringGrid de la carpeta Additional (strGrid01, strGrid02 y
strGrid03)
8.1. En el evento clic del botn btnCaptMat agregar las siguientes lneas de cdigo
strGrid01->RowCount = edtRen01->Text.ToInt()+1;
strGrid01->ColCount = edtCol01->Text.ToInt()+1;
strGrid02->RowCount = edtRen02->Text.ToInt()+1;
strGrid02->ColCount = edtCol02->Text.ToInt()+1;
8.2. Para strGrid01 y strGrid02 modificar la propiedad doEditing a True, esta propiedad est dentro las
propiedades agrupadas como Options.
8.3. En la forma formMatrix agregar un componente TButton (btnOperMat) y tres TRadioButton
(radioButtonAdd, radioButtonSub y radioButtonMul) modificando las propiedades Caption como se
muestra en el lado derecho de la imagen de la Figura 8.
8.4. Modificar la propiedad Visible de los componentes de la forma TSringGrid, TRadioButton y TButton a
False.
8.5. Colocar la propiedad Visible de los componentes de la forma TSringGrid, de los TRadioButton y de
TButton a True en el evento clic del componente btnCaptMat. El cdigo quedar como:
strGrid01->RowCount = edtRen01->Text.ToInt()+1;
strGrid01->ColCount = edtCol01->Text.ToInt()+1;
strGrid02->RowCount = edtRen02->Text.ToInt()+1;
strGrid02->ColCount = edtCol02->Text.ToInt()+1;
strGrid01->Visible = true;

strGrid02->Visible = true;
strGrid03->Visible = true;
radioButtonAdd->Visible = true;
radioButtonSub->Visible = true;
radioButtonMul->Visible = true;
btnOperMat->Visible = true;
8.6. En el evento clic del botn btnOperMat agregar el siguiente cdigo y analizar el funcionamiento:
int i,j;
int row01,col01,row02,col02,row03,col03;
float mat01[10][10],mat02[10][10],mat03[10][10];
row01 = strGrid01->RowCount-1;
col01 = strGrid01->ColCount-1;
row02 = strGrid02->RowCount-1;
col02 = strGrid02->ColCount-1;
row03 = strGrid03->RowCount-1;
col03 = strGrid03->ColCount-1;
for (i = 0; i < row01; i++) {
for (j = 0; j < col01; j++) {
mat01[i][j] = strGrid01->Cells[j+1][i+1].ToDouble();
strGrid02->Cells[j+1][i+1]=mat01[i][j];
}
}
if (radioButtonAdd->Checked) {
}
8.7. Modificar el cdigo anterior y agregar las instrucciones necesarias para realizar las tres operaciones de
matrices indicadas en los componentes TRadioButton y mostrar el resultado la operacin elegida en el
componente strGrid03.
9. En el evento clic de la opcin Exit del men principal agregar la siguiente lnea de cdigo.
formPrincipal->Close();