0 calificaciones0% encontró este documento útil (0 votos)
33 vistas16 páginas
Unidad I Visual C
El documento presenta una introducción a la programación visual C++. Explica conceptos básicos como variables, tipos de datos, declaración de variables, modelos de solución para problemas y ejemplos de problemas resueltos con este modelo.
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
33 vistas16 páginas
Unidad I Visual C
El documento presenta una introducción a la programación visual C++. Explica conceptos básicos como variables, tipos de datos, declaración de variables, modelos de solución para problemas y ejemplos de problemas resueltos con este modelo.
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 16
UNIDAD I VISUAL C++ ELEMENTOS BASICOS
TEMA 1: INTRODUCCION PROGRAMACION VISUAL C++
"Sistemas de Informacin es el campo de investigacin que trata de proporcionar al cliente de negocios con la informacin de una forma, formato y horario que maximiza su eficacia."
Informacin y Conocimiento son los dos elementos claves del nuevo milenio ninguna sociedad podr alcanzar ni puede ignorar este nuevo esquema ya las naciones no se miden por su riqueza industrial, ni sus activos fsicos, ni por su poder militar, sino por la cantidad de informacin que produce y consume, as como por la recombinacin de informacin nueva en un conocimiento de grado superior.
Nuevos sistemas de informacin, tienden a ser cada vez de mayor alcance y complejidad sobre todo cuando se toman en cuenta las nuevas necesidades de informacin y conocimiento que demandan las nuevas organizaciones. Nuevos sistemas de informacin son costosos en tiempos y recursos, la solucin moderna de sistemas de informacin exigen herramientas y metodologas que resuelvan rpida, econmica, eficiente y de manera global, problemas de informacin y conocimiento planteados por las organizaciones. Adems el pleno potencial del hardware tampoco es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones generando lo que se conoce como crisis del software. Actualmente el paradigma de programacin se ha enfocado a nuevas necesidades de modernos y globales sistemas de informacin basados en redes y ms an en la red global de internet, actualmente es ms importante poder concebir y construir sistemas de informacin con estas nuevas tecnologas de programacin. VISUAL CPP es un lenguaje de programacin desarrollado por Microsoft muy apropiado para construir sistemas de informacin basados en red o mejor an en internet. NET es la nueva tecnologa desarrollada y ofrecida por Microsoft que permitir hacer ms fcil aun la construccin y desarrollo de programas y aplicaciones para Internet. El propsito del presente curso, es enfocarse al ltimo modelo y les deseo mucha suerte a mis alumnos
TEMA 2: MODELO DE SOLUCION VISUAL C++ CGI
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, esta 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: 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. LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas necesarias para solucionar el problema, generalmente esta parte del modelo es una ecuacin algebraica o formula (o igualdad matemtica, ej. X= y + 5).
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: Qu datos ocupa conocer el computador para resolver el problema y en cuales variables de entrada se van a almacenar? Qu procesos u operaciones debe realizar el computador para resolver el problema planteado? Que informacin o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente? Como nota importante no confundir los trminos datos, variables e informacin: Datos se refiere a informacin en bruto no procesada ni catalogada, por ejemplo Tijuana, calle primera # 213,15 aos, $2,520.00, etc.
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. Variable(s) de Entrada Proceso u Operacin Variable(s) de Salida BASE ALTURA AREA= BASE * ALTURA / 2 AREA
PROBLEMA 2.- CONVERTIR LA EDAD EN ANOS 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 Y = 52-3X +2 PARA CUALQUIER VALOR DE X. Observar para el caso de constantes fijas o conocidas (PI) no se debe dar como dato de entrada su valor en cambio colocar directamente su valor dentro de la formula en la parte de operaciones del problema. 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. Un problema puede tener ms de una solucin correcta. El problema no est 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 rboles 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 ms importantes de un automvil (no ocupa operaciones) PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 Kim, 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).
TEMA 3: VARIABLES VISUAL C++ 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. 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: 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.
TEMA 4: DECLARACION Y TIPO DE VARIABLES VISUAL C++ A toda variable que se use en un programa, se deber declarar de preferencia al principio del programa. En VCPP (tambin se le conoce como C#) existen los siguientes tipos de variables: CPP Tipo .Net Framework (System) type Signed? Bytes en Ram Rango sbyte System.Sbyte Yes 1 -128 a 127 short System.Int16 Yes 2 -32768 a 32767 int System.Int32 Yes 4 -2147483648 a 2147483647 long System.Int64 Yes 8 -9223372036854775808 a 9223372036854775807 byte System.Byte No 1 0 a 255 ushort System.Uint16 No 2 0 a 65535 uint System.UInt32 No 4 0 a 4294967295 ulong System.Uint64 No 8 0 a 18446744073709551615 float System.Single Yes 4 Aprox. }1.5 x 10 -45 a }3.4 x 10 38 con 7 decimales double System. Double Yes 8 Aprox. }5.0 x 10 -324 a }1.7 x 10 308 con 15 o 16 decimales decimal System. Decimal Yes 12 Aprox. }1.0 x 10 -28 a }7.9 x 10 28 con 28 o 29 decimales char System. Char N/A 2 Cualquier carcter Unicode bool System.Boolean N/A 1 / 2 true o false
En particular cada tipo de dato que se menciona aqu es en realidad un OBJETO que se deriva a su vez de una clase que provee el framework de microsoft.net, es por eso que se incluye la clase de la cual proviene el tipo de dato. Es decir en un programa se podr declarar una variable por ejemplo float pi; o tambin se podr declarar y crear un objeto derivado de esa clase, por ejemplo System. Float alfa = new System. Float (); para este caso observar y tener en cuenta dos cosas: a) Observar cmo se declara y crea un objeto (este formato de creacin de objetos aprenderlo bien). b) Como objeto, alfa podr usar todas las propiedades y mtodos asociadas al objeto ms adelante se ve un tema donde se analiza ms a fondo el concepto de clases y objetos. Signed significa que se puede usar el signo + o - al usar la variable. Por ultimo variables strings o variables cadena, se podrn crear usando la clase STRING que creara un objeto de dicho tipo. Para declarar un variable en un script o programa solo usar el siguiente formato: Tipo de dato lista de variables; ejemplo: String *nombre, *ciudad; Int alfa, beta; String *ciudad=Tijuana; Float pi=3.1416; Observar que variables strings, se declaran precedidas de un asterisco(*).
Para el caso de objetos numricos derivados de la clase respectiva, solo usar el formato que se indic en los prrafos de arriba. Recordar que vcpp es case-sensitive, es decir reconoce la diferencia que hay entre maysculas y minsculas, en otras palabras no declarar alfa e intentar capturar o desplegar ALFA. Para convertir nmeros a strings no hay problema, solo cargar o asignar el numero o variable numrica a la variable String, pero para convertir strings a nmeros existen y debern usarse los mtodos Parse de las clases respectivas ejemplo; String *beta1=100; Int beta2 = System.Int32.Parse (beta1); Las secuencias de escape que reconoce vcpp y que se pueden usar dentro de una String son: Character Escape Sequence ' \' \ \
Alert \a Backspace \b Form feed \f New Line \n Carriage Return \r Horizontal Tab \t Vertical Tab \v A unicode character specified by its number e.g. \u200 \u A unicode character specified by its hexadecimal code e.g. \xc8 \x Null \0 (Zero)
TEMA 5: OPERADORES ARITMETICOS VISUAL C++ Un operador es un smbolo especial que indica al compilador que debe efectuar una operacin matemtica o lgica. VC reconoce los siguientes operadores: Category Name Syntax Example Overloadable? Primary Grouping (a+b) No Member A.B No
Struct pointer member access AB No
Method call f(x) No
Post increment c++ Yes
Post decrement c Yes
Constructor call c = new Coord(); No
Array stack allocation int* c = stackalloc int[10] No
Struct size retrieval sizeof (int) No
Arithmetic check on checked {byte c = (byte) d;} No
Arithmetic check off unchecked {byte c = (byte) d;} No
Unary Positive value +10 Yes Negative value -10 Yes
Not !(c==d) Yes
Bitwise complement ~(int x) Yes
Pre increment ++c Yes
Pre decrement c Yes
Type cast (myType)c No
Value at address int* c = d; No
Address value of int* c = &d; No
Type operators Type equality / compatibility a is String No Type retrieval typeof (int) No
Relational and Logical Less than c<d Yes Greater than c>d Yes
Less than or equal to cd Yes
Greater than or equal to c>=d Yes
Equality c==d Yes
Inequality c!=d Yes
Bitwise and c&d Yes
Bitwise or c d Yes Logical and c&&d No
Logical or c d No Conditional int c=(d<10) ? 5:15 No
De momento nos concentramos en los operadores aritmticos, pero dejamos esta tabla de operadores para usarla a lo largo del curso. Recordar que en vc cuando se dividen dos enteros, vcpp trunca la parte residual, es decir si se realiza la siguiente operacin: Float alfa= 10 / 3; Desplegar alfa>sale 3 en pantalla Es decir vcpp trunco el residuo de la divisin entre enteros, no importa el tipo de variable (primero se realiza la operacin a la derecha y luego carga la variable a la izquierda, es decir para cuando quiere cargar la variable el residuo ya no existe) para arreglar este problema usar el siguiente mtodo: Float alfa= 10/3.0; observar que ya no est dividiendo enteros, sino un entero entre un decimal. El operador modulo o remanente (%) devuelve el residuo entero de una Division entre enteros, ejemplo;
// rea de declaracin
Int float alfa;
// rea de operaciones
Alfa = 23 % 4;
// rea de despliegue
Desplegar alfa; ---> El resultado en pantalla es 3
Otro ejemplo; Alfa = 108 % 10; Desplegar alfa; > El resultado en pantalla es 8 Para resolver los problemas de potencias y races se usan ciertas instrucciones especiales que proporciona el lenguaje llamadas funciones matemticas, en vcpp existe toda una librera o ms correctamente dicho, una clase especializada en instrucciones o funciones matemticas (System.Math). Recordar que todas las funciones reciben uno o ms datos o valores y regresan siempre un resultado, una de estas funciones matemticas es: a) Potencias por ejemplo 52 se resuelve usando el objeto MATH y su mtodo Pow (base, exp). System. Field o metodo Public Fields E Represents the natural logarithmic base, specified by the constant, e. PI Represents the ratio of the circumference of a circle to its diameter, specified by the constant, . Public Methods Abs Overloaded. Returns the absolute value of a specified number. Acos Returns the angle whose cosine is the specified number. Asin Returns the angle whose sine is the specified number. Atan Returns the angle whose tangent is the specified number. Atan2 Returns the angle whose tangent is the quotient of two specified numbers. Ceiling Returns the smallest whole number greater than or equal to the specified number. Cos Returns the cosine of the specified angle. Cosh Returns the hyperbolic cosine of the specified angle. Exp Returns e raised to the specified power. Floor Returns the largest whole number less than or equal to the specified number. IEEERemainder Returns the remainder resulting from the division of a specified number by another specified number. Log Overloaded. Returns the logarithm of a specified number. Log10 Returns the base 10 logarithm of a specified number. Max Overloaded. Returns the larger of two specified numbers. Min Overloaded. Returns the smaller of two numbers. Pow Returns a specified number raised to the specified power. Round Overloaded. Returns the number nearest the specified value. Sign Overloaded. Returns a value indicating the sign of a number. Sin Returns the sine of the specified angle. Sinh Returns the hyperbolic sine of the specified angle. Sqrt Returns the square root of a specified number. Tan Returns the tangent of the specified angle. Tanh Returns the hyperbolic tangent of the specified angle. Fuente: documentacion de .NET FRAMEWORK Para el ejemplo a seguir el de potencias, esta funcin ocupa dos valores o datos (base y Exp) ambos de tipo double y regresa un resultado tambin de tipo double, ejemplo; Double pot; Pot = System.Math. POW (5, 2); Desplegar pot; b) Races solo recordar la ley de exponentes que dice:
= USAR System.Math. POW (5, 8/3.0); = USAR System.Math. POW (9, 1/2.0); TAREAS PROGRAMACION VISUAL C++ 1.- expresar las siguientes funciones en notacin algebraica de vcpp 1.- 2.- 3.-
TEMA 6: OPERADOR CAST VISUAL C++ Se puede forzar un dato, variable o una expresin a convertirse o cambiarse a un nuevo tipo de dato. El operador cast realiza este proceso es decir convierte datos, variables o expresiones a un nuevo tipo de dato, su formato es: (nvotipo) dato, var, exp;
Ejemplo:
// Declaracin
Int alfa;
// Asignacin
Alfa=20;
// Cambio de tipo
(Double) alfa;
Ejemplo: (Int) 3.1416; En este ejemplo se est convirtiendo un float a int recordar que en este caso ya no se tendrn los decimales. Como nota importante este operador resuelve los dos problemas pendientes: 1. El de la Division entre enteros. 2. El tipo de dato especifico que requieren las funciones. Ejemplos:
a) // Declaracin
Float alfa;
// Operacin
Alfa = float (23)/5;
// Pero en estos casos es preferible usar un punto decimal
Alfa=23/5.0;
En toda Division recordar agregar a uno de los dos valores el (.0), solo que los dos elementos sean variables entonces usar el operador cast con una de ellas.
b)// Declaracin
Double potencia;
// Operacin
Potencia = Pow ((double)5, (double)3);
Como se observa en el ejemplo se puede usar Pow() directamente con los datos, argumentos o parmetros requeridos si estos son numricos pero transformndolos con el operador cast. Recordar que es Pow - P GRANDOTA. Esto tambin va a permitir evaluar expresiones matemticas de manera ms directa y sencilla, solo recordando usar un Pow() por cada potencia y cada raz de la ecuacin, ejemplo: Sea dentro de un programa esto se resuelve con;
TEMA 7: JERARQUIA DE OPERACIONES VISUAL C++ El problema de no tomar en cuenta la jerarqua de los operadores al plantear y resolver una operacin casi siempre conduce a resultados muchas veces equivocados como estos: Ejemplos: a) 2 + 3 * 4 = 20 (incorrecto) ..= 14 (correcto) b) si calif1=60 y calif2=80 Entonces si en programa se usa Promedio=calif1 + calif2/2 Da como resultado promedio = 100 Recordar siempre que antes de plantear una formula en un programa se deber evaluar contra el siguiente: Orden de operaciones: 1.- Parntesis 2.- Potencias y races 3.- Multiplicaciones y divisiones 4.- Sumas y restas 5.- Dos o ms de la misma jerarqua u orden entonces resolver de izquierda a derecha Nota: Si se quiere alterar el orden normal de operaciones entonces usar parntesis. Nota: Tampoco es bueno usar parntesis de ms en una operacin esto solo indica que no se evalu bien la formula como en el siguiente ejemplo; <m> rea = ( base * altura ) / 2 </m> Aqu los parntesis estn de ms porque por orden de operaciones, multiplicacin y Division tienen la misma jerarqua y entonces se resuelven de izquierda a derecha, en otras palabras ni que falten parntesis ni que sobren parntesis.
TEMA 8: CONCEPTOS BASICOS DE PROGRAMACION OBJETOS VISUAL C++ Para nuestro propsito en general un objeto puede definirse como cualquier cosa, ente o entidad fsica o lgica de informacin. En este sentido todos los elementos materiales o inmateriales pueden clasificarse como objetos. En particular cualquier objeto considerado presenta los siguientes tres elementos: a) Propiedades: Son las caractersticas propias de un objeto estas propiedades o atributos son los que permiten diferenciar o individualizar un objeto de otro objeto ya sea de la misma o diferente clase o categora.
Las propiedades ms generales son forma, color, tamao, peso, etc., pero ya en particular: Chamarra Marca, material, precio, color, tamao, etc. Alumno Matricula, nombre, edad, domicilio, etc. Gato Raza, nombre, color, edad, etc. Ventana Windows>Tamao, Color, Font, etc. b) Mtodos: Son las conductas propias de la naturaleza del objeto.
As como las propiedades son el ser (que es) del objeto, los mtodos son el hacer (que hacer) del objeto. Ejemplo de mtodos: Gato > Maullar(), comer(), correr(), saltar(), etc. Alumno> Estudiar(), comer(), asistir clase(), pintear() Cuaderno>Esescrito(), esrayado(), esborrado(), etc. Ventana Windows> Abrir(), cerrar(), maximizar(), etc. c) Eventos: Es la relacin (de varias maneras) que se puede dar entre dos objetos ya sean de la misma o diferente clase.
Un evento se manifiesta como un interaccin entre dos objetos, en general al momento de la relacin al mismo tiempo se dar una reaccin o respuesta por parte de los dos objetos que se manifiestan como una serie, cadena o conjuntos de mtodos propios que se activan o disparan, ejemplo: Evento Relacin Mtodos que se activan gato detecta gata detectar maullar(), correr(), oler() gato detecta perro detectar bufar(), saltar(), correr() maestro ensena alumno Ensenar pasar lista(), preguntar(), etc Raton click Windows click maximizar(), cerrar() Raton dblclk Windows dblclk minimizar(), etc
Un Programa en vcpp se puede considerar como un conjunto de una o ms pginas o formas, donde cada una de ellas contiene un conjunto de objetos, componentes o controles. Un componente o propiamente dicho un control es un objeto que se especializa en una tarea especfica por ejemplo hay controles especializados en desplegar textos o mensajes, otros controles se especializan en desplegar imgenes o videos, otros en manipular directorios o archivos en disco, etc. Pero en general tanto las formas como los controles no dejan de ser objetos en programacin y por tanto tienen sus propiedades, mtodos y estn sujetos a eventos.