ProblemaValorFuturoEnC#2013 - Copia

25
Programando con C# Ing. Javier Alberto Manrique Quiñonez 1

description

Visual C# Básico

Transcript of ProblemaValorFuturoEnC#2013 - Copia

Page 1: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Ing. Javier Alberto Manrique Quiñonez 1

Page 2: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Programación Orientada a ObjetosA continuación se presenta el desarrollo de una aplicación que calcula la potencia de dos números denominados numeroBase y exponente.

Cargue el Visual Studio 2013.

Haga clic en la opción de menú Nuevo y seleccione Proyecto.

Ing. Javier Alberto Manrique Quiñonez 2

Page 3: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Seleccione en Plantilla Instaladas Visual C#->Windows como tipo de proyecto. En la sección Plantillas seleccione

Aplicación de Windows Form (Aplicación de Formulario Windows). Luego proporcione un nombre al proyecto

creado, que para nuevo caso será ProyectoValorFuturo. Finalmente haga clic en el botón de comando Aceptar.

Verifique que el IDE del Visual C# se presente como en el siguiente gráfico.

Ing. Javier Alberto Manrique Quiñonez 3

Page 4: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Agregue al formulario los siguientes controles: 05 Label (etiquetas), 04 TextBox (cuadro de texto) y 03 Button

(Botones de Comando).

Haga clic derecho en la Label 1 (Etiqueta 1) y seleccione Propiedades.

Ing. Javier Alberto Manrique Quiñonez 4

Page 5: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Verifique que se presente la ventana de propiedades.

Haga clic en el aréa de trabajo del formulario Form1 y modifique la propiedad Name (nombre). Asígnele el

nombre de FormValorFuturo.

Ing. Javier Alberto Manrique Quiñonez 5

Page 6: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Modifique la propiedad Name del control label1

Modifique la propiedad Text y asígnele el valor ValorFuturo. Luego verifique que el formulario se presente como

en el siguiente gráfico.

Ing. Javier Alberto Manrique Quiñonez 6

Page 7: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Repita el proceso para los otros controles. Verifique que los nombres se presenten como en el siguiente cuadro.

Control Nombre del Control Propiedad Text del Control

form1 formValorFuturo Formulario Valor Futuro

Label1 labelTitulo Valor Presente

Label2 labelValorPresente Valor Presente :

Label3 labelTasaDeInteres Tasa de Interés :

Label4 labelPeriodoDeTiempo Periodo de Tiempo :

Label5 labelValorFuturo Valor Futuro :

textBox1 textBoxValorPresente

textBox2 textBoxTasaDeInteres

textBox3 textBoxPeriodoDeTiempo

textBox3 textBoxValorFuturo

button1 buttonAceptar Aceptar

Button2 ButtonReiniciar Reiniciar

Button3 ButtonSalir Salir

Verifique que el formulario se presente como en el siguiente gráfico.

Ing. Javier Alberto Manrique Quiñonez 7

Page 8: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

En el Explorador de soluciones, haga clic derecho en el objeto Form 1.cs y seleccione cambiar nombre.

Cambiar el nombre de Form1 por el de FormularioValorFuturo. Verifique que el nombre ha cambiado.

Ing. Javier Alberto Manrique Quiñonez 8

Page 9: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

En el Explorador de soluciones, haga clic derecho en el texto proyecto ProyectoValorFuturo y seleccione agregar.

Luego seleccione Clase.

En nombre digite Potencia.cs como nombre de la clase. Luego haga clic en el Botón de Comando Aceptar.

Ing. Javier Alberto Manrique Quiñonez 9

Page 10: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Verifique que el IDE del Visual Studio 2013 se presente como en el siguiente gráfico.

Cambie el alcance de la clase (anteponer al nombre de la clase el modificador de acceso public). Luego, agregue

los atributos en el órden como se presentan. Los atributos (cirscunscrito de color guinda) se agregan utilizando la

sintaxis de propiedades autoimplementadas (implementan lo métodos get y set). Agregue el constructor

(cirscunscrito de color azul) y el método set que calcula el valor futuro (cirscunscrito de color verde).

En el formulario haga doble clic en el Botón de Comando Aceptar.

Ing. Javier Alberto Manrique Quiñonez 10

Page 11: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Repita el doble clic en los botones Reiniciar y salir y complete el código siguiente.

Ing. Javier Alberto Manrique Quiñonez 11

Page 12: ProblemaValorFuturoEnC#2013 - Copia

Programando con C#

Seleccione del menú Principal del IDE Depurar/Iniciar depuración (F5).

Verifique la ejecución del programa. Ingrese los datos en el cuadro de texto Valor Futuro, Tasa de Interés, Periodo de Tiempo. Luego haga clic en el Botón de Comando Aceptar. Verifique que los resultados sean como en el siguiente gráfico.

Haga clic en el Botón de Comando Reiniciar y verifique que los cuadros de texto se limpian. Luego salga de la aplicación haciendo clic en el botón de comando Salir

Ing. Javier Alberto Manrique Quiñonez 12

Page 13: ProblemaValorFuturoEnC#2013 - Copia

RESUMEN CLASE ----> OBJETO ----> OBJETO

Clase : Generalización de objetos del mismo tipo, con similar características y funcionalidades.

Objeto : Ejemplar específico de una clase.

INSTANCIACION DE

CLASES

Instanciar es crear objetos a partir de una clase.

TIPO DE CLASES

Page 14: ProblemaValorFuturoEnC#2013 - Copia

Persona : alumno, profesor, cliente, empleado, trabajador, vendedor, postulante, amigo, administrativo, comprador, …

Cosa : producto, inventario, materiales, hardware, repuesto, parte de computadora, … Evento : compra, venta, matrícula, pago, cuenta por cobrar, cuenta por pagar, asistencia, …Lugar : ciudad, pueblo, universidad, escuela, colegio, pabellón, aula, piso, ip, …

EVENTOS

Page 15: ProblemaValorFuturoEnC#2013 - Copia
Page 16: ProblemaValorFuturoEnC#2013 - Copia

EventosUn evento es un mensaje que envía un objeto cuando ocurre una acción. La acción podría ser causada por la interacción del usuario, como un clic del botón, o podría ser iniciado por otra lógica de programa, como cambiar un valor de propiedad. La clase que envía (o produce) el evento recibe el nombre de editor y las clases que reciben (o controlan) el evento se denominan suscriptores.Para definir un evento, se utiliza la palabra clave event en la signatura de la clase de eventos y se especifica el tipo de delegado para el evento.

private void textBoxValorPresente_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Enter)) { double numero = 0; if (double.TryParse(textBoxValorPresente.Text, out numero) != true) { MessageBox.Show("Error de entrada de datos"); textBoxValorPresente.Text = ""; textBoxValorPresente.Focus(); } else { textBoxTasaDeInteres.Focus(); } } }

private void textBoxTasaDeInteres_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Enter)) { double numero = 0; if (double.TryParse(textBoxTasaDeInteres.Text, out numero) != true) { MessageBox.Show("Error de entrada de datos"); textBoxTasaDeInteres.Text = ""; textBoxTasaDeInteres.Focus(); } else { if (numero <= 0 || numero>1) { MessageBox.Show("Error de entrada de datos"); textBoxTasaDeInteres.Text = ""; textBoxTasaDeInteres.Focus(); } else { textBoxPeriodoDeTiempo.Focus(); } } } }

private void textBoxPeriodoDeTiempo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Enter)) { double numero = 0; if (double.TryParse(textBoxPeriodoDeTiempo.Text, out numero) != true) { MessageBox.Show("Error de entrada de datos"); textBoxPeriodoDeTiempo.Text = ""; textBoxPeriodoDeTiempo.Focus(); } else { buttonAceptar.Focus(); } } }

CUADROS DE MENSAJE

Page 17: ProblemaValorFuturoEnC#2013 - Copia

Muestra un cuadro de mensaje que puede contener texto, botones, y símbolos que informan y pide al usuario.

Show(String) Muestra un cuadro de mensaje con el texto especificado.

Show(String, String) Muestra un cuadro de mensaje con el texto y la leyenda especificados.

Show(String, String, MessageBoxButtons) Muestra un cuadro de mensaje con el texto, la leyenda, y los botones especificados.

Show(String, String, MessageBoxButtons, MessageBoxIcon)

Muestra un cuadro de mensaje con el texto, la leyenda, los botones, y el icono especificados.

Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton)

Muestra un cuadro de mensaje con el texto especificado, la leyenda, los botones, el icono, y el botón predeterminado.

Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions)

Muestra un cuadro de mensaje con el texto especificado, la leyenda, los botones, el icono, el botón predeterminado, y opciones.

Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, Boolean)

Muestra un cuadro de mensaje con el texto especificado, la leyenda, los botones, el icono, el botón predeterminado, las opciones, y el botón Ayuda.

Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String)

Muestra un cuadro de mensaje con el texto especificado, la leyenda, los botones, el icono, el botón predeterminado, las opciones, y el botón Ayuda, utilizando el archivo de Ayuda especificado.

Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, String)

Muestra un cuadro de mensaje con el texto especificado, la leyenda, los botones, el icono, el botón predeterminado, las opciones, y el botón Ayuda, mediante la palabra clave especificada del archivo de Ayuda y la Ayuda.

Page 18: ProblemaValorFuturoEnC#2013 - Copia

CLASE-OBJETOUna clase es la estructura de un objeto, es decir, la definición de todos los elementos de que está hecho

un objeto. Un objeto es, por lo tanto, el “resultado” de una clase. En realidad, un objeto es una instancia

de una clase, por lo que se pueden intercambiar los términos objeto o instancia (o incluso evento).

 

Una clase se compone de dos partes: Atributos (denominados, por lo general, datos miembros): esto es,         los datos que se refieren al

estado del objeto. 

 

Métodos (denominados, por lo general, funciones miembros): son         funciones que pueden aplicarse

a objetos.

  Si tenemos una clase llamada auto, los objetos Peugeot y Renault serán instancias de esa clase.

También puede haber otros objetos Peugeot 406, diferenciados por su número de modelo. Asimismo,

dos instancias de una clase pueden tener los mismos atributos, pero considerarse objetos distintos

independientes. En un contexto real: dos camisas pueden ser idénticas, pero no obstante, también ser

diferentes de alguna manera. Sin embargo, si las mezclamos es imposible distinguir una de la otra.

 

Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:

 

El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán

asignado unos          valores concretos (datos).

 

El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es

decir, qué          operaciones se pueden realizar con él.

 

La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su

identificador.

 

Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos

pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien

diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados

métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de

estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las

que no se separa el estado y el comportamiento.

 

Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la propiedad

de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos

con los que cuenta.

 

Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e

interfaz común.

 

Podemos definir una clase como “un conjunto de cosas (físicas o abstractas) que tienen el mismo

comportamiento y características…”

Page 19: ProblemaValorFuturoEnC#2013 - Copia

 

Una clase no es más que una plantilla para la creación de objetos. Cuando se crea un objeto

(instanciación) se ha de especificar de qué clase es el objeto instanciado, para que el compilador

comprenda las características del objeto.

 

Las clases presentan el estado de los objetos a los que representan mediante variables denominadas

atributos. Cuando se instancia un objeto el compilador crea en la memoria dinámica un espacio para

tantas variables como atributos tenga la clase a la que pertenece el objeto.

 

Los métodos son las funciones mediante las que las clases representan el comportamiento de los

objetos. En dichos métodos se modifican los valores de los atributos del objeto, y representan las

capacidades del objeto (en muchos textos se les denomina servicios).

Page 20: ProblemaValorFuturoEnC#2013 - Copia