UNIDAD I C++BUILDER PROGRAMACION VISUAL ELEMENTOS BASICOS
1.- INTRODUCCION PROGRAMACION C++BUILDER
Los nuevos sistemas de informacin son costosos en tiempos y recursos, la solucin moderna de sistemas de informacin exigen nuevas herramientas y metodologas para resolver rpida, econmica y eficiente los problemas de informacin planteados por las organizaciones. Aun mas el pleno potencial del hardware no es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones, generando lo que se conoce como crisis del software. En programacin tradicional, modular o estructurada un programa describe una serie de pasos a ser realizados para la solucin de un problema, es decir es un algoritmo. En programacin orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre s, ambientes de desarrollo visuales facilitan aun ms la construccin de programas y solucin de problemas, porque permiten abstraer al ingeniero de software de todo el GUI (interfase grfica) del problema, que constituye ms del 60% del cdigo normal de un programa. Es decir, en programacin modular o estructurada un problema sencillo de informacin es descompuesto en una serie de mdulos(llamados procedimientos o funciones) donde cada uno de ellos realiza una tarea especfica, por ejemplo uno de ellos captura los datos, otro resuelve operaciones, etc. En OOP todo problema aun aquellos sencillos de informacin, se consideran y resuelven como mdulos de cdigo gigante (clase) que contiene todo el cdigo necesario(variables, procedimientos, funciones, interfaces, etc.) para solucionar el problema. En programacin visual( que tambin es heredera de OOP ),la interfase con el usuario( pantallas) son generadas por el propio compilador y el ingeniero de software solo se concentra en resolver el problema planteado. C++Builder, es un compilador que permite usar cualquiera de los tres enfoques en la solucin de problemas de informacin que puedan y deban ser resueltos empleando el computador y el lenguaje. Para propsitos de aprendizaje usaremos el tercer enfoque, es decir programacin en ambientes visuales y usando el lenguaje de programacin C++Builder. 2.- MODELO DE SOLUCION C++BUILDER En general un problema de informacin es posible entenderlo, analizarlo y descomponerlo en todos sus componentes o partes que de una u otra manera intervienen tanto en su planteamiento como en su solucin. Una herramienta rpida que nos permite descomponer en partes un problema para su solucin, es el llamado modelo de solucin, este consiste de una pequea caja que contiene los tres elementos ms bsicos en que se puede descomponer cualquier problema sencillo de informacin, estas tres partes son: UNIDAD I C++BUILDER PROGRAMACION VISUAL ELEMENTOS BASICOS
1. LA PRIMERA PARTE son todos los datos que el computador ocupa para resolver el problema, estos datos son almacenados internamente en la memoria del computador en las llamadas variables de entrada. 2. LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas necesarias para solucionar el problema, generalmente esta parte del modelo es una formula (o igualdad matemtica, ej. X= y + 5). 3. LA TERCERA PARTE es el resultado o solucin del problema que generalmente se obtiene de la parte de operaciones del modelo y dichos datos estn almacenados en las llamadas variables de salida. En resumen para todo problema sencillo de informacin es necesario plantearse las siguientes preguntas: Que informacin o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente? Variables es el nombre de una localidad o direccin interna en la memoria del computador donde se almacenan los datos, ejemplo de variables para los casos del inciso anterior, CIUDAD, DIRECCION, EDAD, SUELDO, ETC. Informacin son datos ya procesados que resuelven un problema planteado. EJEMPLO DE MODELO DE SOLUCION Construir un modelo de solucin que resuelva el problema de calcular el rea de un tringulo con la formula rea igual a base por altura sobre dos. UNIDAD 5.- C++BUILDER COMPONENTES Variable(s) Entrada Proceso u operacin Variable(s) salida BASE ALTURA AREA = BASE * ALTURA / 2 AREA TAREAS PROGRAMACION C++BUILDER PROBLEMA 2.- CONVERTIR LA EDAD EN AOS DE UNA PERSONA A MESES. PROBLEMA 3.- CONVERTIR PESOS A DOLARES. PROBLEMA 4.- CALCULAR EL AREA DE UN CIRCULO CON LA FORMULA
PROBLEMA 5.- EVALUAR LA FUNCION PARA CUALQUIER VALOR DE X. Pero recordar tambin que existirn problemas sencillos donde: *No se ocupan entradas o no se ocupan operaciones, pero todos ocupan salida. * Una formula grande o muy compleja puede ser ms segura y fcil de resolver, si es descompuesta y resuelta en partes, juntando al final los parciales para obtener el resultado final. UNIDAD I C++BUILDER PROGRAMACION VISUAL ELEMENTOS BASICOS
* Un problema puede tener ms de una solucin correcta. * El problema no esta suficientemente explicado o enunciado, entonces, estudiarlo, analizarlo y construirlo de manera genrica. PROBLEMAS SUGERIDOS: Construir los modelos de solucin de los siguientes problemas: PROBLEMA 6.- Convertir millas a kilmetros(caso normal) PROBLEMA 7.- Convertir 125 metros a centmetros(no ocupa entradas) PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada rbol en la UABC, tambin se calcula que en cada nido existen un promedio de 5.8 pjaros, se pide calcular la cantidad total de nidos y de pjaros en los 227 arboles que existen en la UABC. (no ocupa entradas) PROBLEMA 9.- La gorda Sra. Lpez y sus 8 hijos solo compran una vez al mes su mandado en conocido supermercado, en dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de tortillas cuesta $3.55 y el frasco de caf vale $14.25, si solo compran de estos tres productos para su mandado, calcular su gasto total. ( problema no claro) PROBLEMA 10.- Capturar y desplegar los cinco datos mas importantes de un automvil(no ocupa operaciones) PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 kilmetros. Si un automvil la recorre a una velocidad constante de 30 millas por hora, cuanto tiempo tarda en llegar. ( 1 milla = 1.609 Km.) (dos maneras correctas de resolverlo). PROBLEMA 12.-Evaluar la funcin para cualquier valor de x.(caso normal). PROBLEMA 13.-Evaluar la funcin para cuando x vale 4 . (no ocupa entradas).
3.- C++BUILDER VARIABLES Identificadores son conjuntos de letras y/o nmeros que se utilizan para simbolizar todos los elementos que en un programa, son definibles por el usuario (programador o ingeniero de software) del mismo, como son las variables donde se almacenan datos, funciones( pequeos mdulos con cdigo), etiquetas, clases, objetos, etc. En C++Builder un identificador es una palabra compuesta de letras y/o nmeros de hasta 32 caracteres significativos, empezando siempre con una letra. Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucin de un programa. Existen ciertas reglas en cuanto a variables: UNIDAD I C++BUILDER PROGRAMACION VISUAL ELEMENTOS BASICOS
* * Claras y con referencia directa al problema. * * No espacios en blanco, ni smbolos extraos en ellas. * * Se pueden usar abreviaturas, pero solo de carcter general. No deben ser palabras reservadas del lenguaje. Ejemplos de buenas variables: Nombre, Edad, SdoDiario, IngMensual, Permetro, Calif1, etc. 4.- TIPOS DE DATOS C++BUILDER A toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato especfico. Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecucin del programa y a lo largo de toda la vida til del propio programa. Los tipos de datos ms comunes en C++Builder son: Tipo Tamao Rango
unsigned char 8 bits 0 a 255 char 8 bits -128 a 127 short int 16 bits -32,768 a 32,767 unsigned int 32 bits 0 a 4,294,967,295 int 32 bits -2,147,483,648 a 2,147,483,647 unsigned long 32 bits 0 a 4,294,967,295 enum 16 bits -2,147,483,648 a 2,147,483,647 long 32 bits -2,147,483,648 a 2,147,483,647 float 32 bits 3.4 x 10-38 a 3.4 x 10+38(6 dec) double 64 bits 1.7 x 10-308 a 1.7*10+308(15 dec) long double 80 bits 3.4 x 10-4932 a 1.1 x 10+4932 AnsiString cadena de caracteres
UNIDAD I C++BUILDER PROGRAMACION VISUAL ELEMENTOS BASICOS
AnsiString no es propiamente un tipo de dato, sino una clase que se especializa en al almacenamiento y manipulacin de datos de tipo string, es decir, como clase ya contiene toda una serie de mtodos (procedimientos y funciones) que pueden usar directamente las variables(objetos) que se declaren de tipo AnsiString, como en el siguiente ejemplo; rea de declaracin carga normal de variables strings (que antes no se poda hacer directamente en C o C++) procesos con las variables ya considerndolas como objetos de la clase AnsiString estos procesos antes ocupaban una librera especial llamada < string.h > * Interesante este nuevo tipo (Clase) AnsiString y tambin interesante estos dos mtodos ( LowerCase() y ToInt() ), el resto de mtodos, se deben buscar en la ayuda del C++Builder (solo abrir folder o libro llamado referencia del programador, pedir ndex y luego escribir AnsiString ).