Logo Studenta

Reporte Practica 5

¡Estudia con miles de materiales!

Vista previa del material en texto

PROGRAMACION VISUAL
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE LA LAGUNA
Programación visual
	
Edgar Daniel Alba González (19130736)
6º Semestre de Ing. Electrónica
Practica #5
Profesor: Alejandro Enrique Dzul López
Índice
Introducción	2
Planteamiento del programa	3
Desarrollo	4
Resultados	4
Ejecución	7
Introducción 
Una estructura de datos es una forma particular de organizar datos en una computadora para que pueda ser utilizado de manera eficiente. Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y algunos son altamente especializados para tareas específicas. Las estructuras de datos son un medio para manejar grandes cantidades de datos de manera eficiente para usos tales como grandes bases de datos y servicios de indización de Internet. Por lo general, las estructuras de datos eficientes son la clave para diseñar algoritmos eficientes. Algunos métodos formales de diseño y lenguajes de programación destacan las estructuras de datos, en lugar de los algoritmos, como el factor clave de organización en el diseño de software.
El factorial de un número es la multiplicación de los números que están comprendidos entre 1 hasta dicho número. Para expresar el factorial se suele utilizar la notación n!. Así la definición es la siguiente:
n! = 1 x 2 x 3 x 4 x 5 x ... x (n-1) x n.
Las potencias son una manera abreviada de escribir una multiplicación formada por varios números iguales. Son muy útiles para simplificar multiplicaciones donde se repite el mismo número.
Planteamiento del programa
Desarrollar un programa en lenguaje C++ y en modo visual. La aplicación puede tener la siguiente apariencia: 
La aplicación contiene los siguientes objetos visuales: tres Button, cuatro Label, y tres LabeledEdit. El botón “Salir”, servirá para cerrar la aplicación. Los cuadros de edición etiquetados servirán para recibir los datos de las operaciones a realizar. En el caso de “a”, es un número real, para “b” y “n”,son números enteros no negativos. Los botones “Calcular potencia” y “Calcular factorial” realizarán la operación solicitada, dando el resultado en la respectiva etiqueta (por ejemplo, utilizando la función sprintf() para generar la cadena de caracteres). Las operaciones deberán realizarse sin utilizar el archivo de cabecera <math.h>. Hay que recordar que es necesario cambiar el separador de números decimales.
Desarrollo
Para solucionar el problema usé como base el programa que usamos para el cálculo de las bases de un rectángulo, solo que en esta ocasión se limitó el programa para no usar la librería <math.h>, así que para que no estuviera tan limitado, usé una función de memoria que se llama long, que sirve para guardar los datos enteros para después usarlos en la función matemática. Después de eso, procedí a desarrollar las funciones para guardar los datos que se usarían a lo largo del programa. 
Después de eso, generé las etiquetas requeridas para asignarles la tarea de mostrar el resultado, así como también las etiquetas de edición donde se introducen los números que el usuario vaya a ingresar. Para el final solo agregué los botones que necesitaba cada función, así como también el botón de salida para finalizar el programa.
Resultados
Código
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <stdio.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
long potencia(long a, long b)
{
if(b<=0)
{
return 1;
}
else
{
return a*potencia(a, b-1);
}
}
long factorial (long x, long i)
{
long alm = 1;
i = 1;
while (i<=x)
{
alm = i * alm;
i++;
}
return alm;
}
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
 : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
double Res;
char c[25];
long a = Edit1->Text.ToDouble();
long b = Edit2->Text.ToDouble();
long elevado = potencia(a,b);
Res = elevado;
sprintf(c, "El resultado de la potencia es = %lf", Res);
Label3->Caption=c;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
double resultado;
char n[25];
long x = Edit3->Text.ToDouble();
long i;
long Fact = factorial(x,i);
resultado = Fact;
sprintf(n, "El resultado es = %lf", resultado);
Label4->Caption=n;
}
//---------------------------------------------------------------------------
Ejecución
Menú de opciones
Introducción de datos y resultado final de la potencia
Introducción de datos y resultado final del factorial
Página 1 | 1

Otros materiales