0% 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.

Cargado por

Yanys Peña
Derechos de autor
© © All Rights Reserved
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% 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.

Cargado por

Yanys Peña
Derechos de autor
© © All Rights Reserved
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

Arithmetic Multiplication c*d Yes
Division c/d Yes

Remainder c%d Yes

Addition c+d Yes

Subtraction c-d Yes

Shift bits right c3 Yes

Shift bits left c3 Yes

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;

// rea de declaracin de variables

Double y, x;

// rea de captura de datos

Capturar el valor de x;

// area de operaciones

y = 3 * Pow(x, (double)3) - Pow(x, (1/3.0)) + 4 * Pow(x, (double)2 );

// rea de despliegue de resultados

Desplegar x, y

PROBLEMAS SUGERIDOS POW():
1.
2.
3.



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.

También podría gustarte