Sie sind auf Seite 1von 33

Universidad Nacional San Cristobal de Huamanga Facultad de Ingenier de Minas Geolog y a a civil Escuela Profesional de Ingenier Civil a

Gu de Practica as n Digital - IC246 Programacio Semestre Academico 2011-II Ing. Edmundo Canchari Gutierrez
Ayacucho 14 de abril de 2012 Docente

Introduccion

GuAa de prActica para ic246

Indice general

Indice general Indice de guras Indice de cuadros 1. Cambio Monetario 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . 1.2. Aplicacin propuesta . . . . . . . . . . . . . . . o 1.2.1. Argumentos requeridos . . . . . . . . . . 1.2.2. Resultados . . . . . . . . . . . . . . . . . 1.3. Procedimiento . . . . . . . . . . . . . . . . . . . 1.4. Controles utilizados . . . . . . . . . . . . . . . . 1.5. Asignar cdigo al evento click de los controles . o 1.6. Cdigo fuente . . . . . . . . . . . . . . . . . . . o 1.6.1. Explicacin de las ordenes necesarias . . o 1.6.1.1. Declaracin de variables . . . . o 1.6.1.2. Cdigo asociado a cmdObtener o 2. Calculadora Elemental 2.1. Objetivos . . . . . . . . . . . . . . . . . . . . . 2.2. Aplicacin propuesta . . . . . . . . . . . . . . . o 2.3. Procedimiento . . . . . . . . . . . . . . . . . . . 2.4. Controles utilizados . . . . . . . . . . . . . . . . 2.5. Asignar cdigo al evento click de los controles . o 2.6. Cdigo fuente . . . . . . . . . . . . . . . . . . . o 2.6.1. Explicacin de las ordenes necesarias . . o 2.6.1.1. Declaracin de variables . . . . o 2.6.1.2. Cdigo asociado a OptAddition o 2.6.1.3. Cdigo asociado a CmdClear . o

II IV V

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

1 1 1 1 1 2 2 3 4 5 5 5 6 6 6 6 7 8 9 11 11 12 13

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

3. Relaciones Geomtricas e 14 3.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2. Aplicacin propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 o ii

3.3. 3.4. 3.5. 3.6. 3.7.

3.2.1. Datos Requeridos . . . . . . . 3.2.2. Resultados . . . . . . . . . . . Procedimiento . . . . . . . . . . . . . Controles utilizados . . . . . . . . . . Ventana principal de la aplicacin . . o Cdigo fuente . . . . . . . . . . . . . o Explicacin de las rdenes necesarias o o 3.7.1. Cmo asignar cdigo al evento o o 3.7.2. Declarar variables . . . . . . . 3.7.3. Conversin de tipos de datos . o 3.7.4. Llamada a mtodos . . . . . . e 3.7.5. Creacin de mtodos . . . . . o e

. . . . . . . . . . . . . . . . . . . . . click . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de los controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

16 16 16 16 18 18 21 21 23 23 23 23 25

Bibliograf a

iii

Indice de guras

1.1. Aplicacin cambio monetario . . . . . . . . . . . . . . . . . . . . . . . o 1.2. Seleccionar Control Button - Aplicacin cambio de moneda . . . . . . o 2.1. Calculadora Elemental . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Seleccionar Control Button . . . . . . . . . . . . . . . . . . . . . . . .

2 3 7 8

3.1. Seccin de canal trapezoidal . . . . . . . . . . . . . . . . . . . . . . . 15 o 3.2. Relaciones geomtricas - Interfaz principal . . . . . . . . . . . . . . . 18 e 3.3. Seleccionar Control Button - practica tres . . . . . . . . . . . . . . . 21

iv

Indice de cuadros

1.1. Cambio monetario - controles . . . . . . . . . . . . . . . . . . . . . . 2.1. Calculadora elemental - controles . . . . . . . . . . . . . . . . . . . .

2 7

3.1. Relaciones geomtricas - controles . . . . . . . . . . . . . . . . . . . . 16 e

PRACTICA 1

Cambio Monetario

1.1.

Objetivos

En la presente prctica utilizar el Lenguaje de Programacin Visual C# desde a a o ShapDevelop 4.0, Usted aprender a: a Crear una solucin para una Aplicacin Windows desde SharpDevelop 4.0 o o Trabajar con los controles: Label, Button, TextBox Modicar sus propiedades de los controles utilizados Denir variables y distinguir su ambito de uso. Asociar cdigo al evento click de los controles Button o Utilizar los operadores aritmticos e Mostrar los resultados en controles TextBox

1.2.

Aplicacin propuesta o

Con la nalidad de mostrar el uso de los elementos bsicos del entorno de desarroa llo integrado SharpDevelop 4.0, se elaborar una aplicacin para realizar operaciones a o de cambio monetario, cuya interfaz principal est dado por la Figura 1.1. a

1.2.1.

Argumentos requeridos

El unico dato requerido es un nmero real que represente la cantidad de dinero u nacional y el tipo de cambio, otro nmero real. u

1.2.2.

Resultados

El cambio equivalente en otras monedas (dlares, euros, etc) o

Figura 1.1: Aplicacin cambio monetario o

1.3.

Procedimiento

El procedimiento que se recomienda seguir es: 1. Crear la solucin para un ambiente grco o a 2. Aadir los controles al formulario, congurar de acuerdo a la Figura 1.1 n 3. Modicar las propiedades de los controles, segn la Tabla 1.1 u 4. Declarar las variables a nivel de clase 5. Asociar el cdigo al evento click de los controles Button y mostrar los resultados o en controles TextBox

1.4.

Controles utilizados

Los controles utilizados para elaborar la aplicacin son: Label, Button, TextBox. o En el Cuadro 1.1 se muestra los controles y sus propiedades modicadas para la presente aplicacin. o Cuadro 1.1: Cambio monetario - controles Control form Propiedad Name Text Valor MainForm PRACTICA01: CAMBIO DE MONEDA Continua en la siguiente pgina a

Cuadro 1.1 Continuacin de la pgina anterior o a Control Propiedad Botton Textbox Textbox Textbox Label Label Label Name Text Name Text Name Text Name Text Name Text Name Text Name Text

Valor

cmdObtener OBTENER txtSoles txtCambio txtDolar Label1 En Nuevos Soles Label2 Cambio Label3 En dlares o

1.5.

Asignar cdigo al evento click de los controles o

El entorno de Desarrollo Integrado SharpDevelop 4.0, crea automticamente el a mtodo para asignar cdigo al evento click de los controles utilizados en la presente e o prctica. Para asignar cdigo al evento click de un control Button o de cualquier a o otro control utilizado en la presente prctica, realice el siguiente procedimiento: a

Figura 1.2: Seleccionar Control Button - Aplicacin cambio de moneda o Seleccione el control Button que se cre previamente sobre el formulario, cuando o est seleccionado, una l e nea alrededor del control indicar que dicho elemento a est seleccionado, como se muestra en la Figura 1.2 a Luego de haber seleccionado, doble click sobre el control para generar el mtodo e asociado al evento click de dicho control, luego se mostrar el cdigo. a o 3

Listing 1.1: Mtodo generado para el evento click del control Button e
1 2 3

4 5 6

void CmdObtenerClick ( object s e n d e r , EventArgs e ) { // Mtodo g e n e r a d o para e l e v e n t o c l i c k d e l c o n t r o l Button d e s d e e SharpDevelop // A n adir c d i g o que s e e j e c u t a r a l h a c e r c l i c k s o b r e e l c o n t r o l o a }

Aadir en el cuerpo del mtodo el cdigo necesario para la nalidad requerida. n e o

1.6.

Cdigo fuente o

El cdigo fuente de la aplicacin, se muestra seguidamente o o Listing 1.2: Cdigo fuente - Cambio de moneda o
1 2 3 4 5 6 7

Created by SharpDevelop . User : C a r l a Date : 02/04/2012 Time : 1 2 : 5 5 a .m. To change t h i s t e m p l a t e u s e T o o l s | Options | Coding | Ed it Standard Headers . System ; System . C o l l e c t i o n s . G e n e r i c ; System . Drawing ; System . Windows . Forms ;

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

/ using using using using

namespace PRACTICA01 { // / <summary> // / D e s c r i p t i o n o f MainForm . // / </summary> public p a r t i a l c l a s s MainForm : Form { // d e c l a r a r v a r i a b l e s a n i v e l de c l a s e double s o l e s , cambio , d o l a r e s ; public MainForm ( ) { // // The I n i t i a l i z e C o m p o n e n t ( ) c a l l i s r e q u i r e d f o r Windows Forms d e s i g n e r s u p p o r t . // InitializeComponent () ; // // TODO: Add c o n s t r u c t o r code a f t e r t h e InitializeComponent () c a l l . // }

28 29 30 31 32

33 34 35

36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

void CmdObtenerClick ( object s e n d e r , EventArgs e ) { // A s i g n a r v a l o r e s a l a s v a r i a b l e s s o l e s= double . Parse ( t x t S o l e s . Text ) ; cambio=double . Parse ( txtCambio . Text ) ; // o b t i e n e d i n e r o en d l a r e s o d o l a r e s= s o l e s cambio ; // muestra e l d i n e r o en d l a r e s . o t x t D o l a r . Text= d o l a r e s . T o S t r i n g ( ) ; } } }

1.6.1.
1.6.1.1.

Explicacin de las rdenes necesarias o o


Declaracin de variables o

La declaracin de variables se realiza a a nivel de clase, por esta razn ser visible o o a en todos los mtodo contenidos por este. e Listing 1.3: Declaracin de variables - Aplicacin cambio de moneda o o
1 2

// d e c l a r a r v a r i a b l e s a n i v e l de c l a s e double s o l e s , cambio , d o l a r e s ;

Se declara dos variables de doble precisin (double - nmeros reales). o u 1.6.1.2. Cdigo asociado a cmdObtener o

El siguiente cdigo est asociado al evento click del control cmdObtener cuyas o a propiedades son: Name - cmdObtener, Text - OBTENER. Listing 1.4: Cdigo asociado al evento click del control cmdObtener o
1 2 3 4 5 6 7 8 9 10 11 12

void CmdObtenerClick ( object s e n d e r , EventArgs e ) { // A s i g n a r v a l o r e s a l a s v a r i a b l e s s o l e s= double . Parse ( t x t S o l e s . Text ) ; cambio=double . Parse ( txtCambio . Text ) ; // o b t i e n e d i n e r o en d l a r e s o d o l a r e s= s o l e s cambio ; // muestra e l d i n e r o en d l a r e s . o t x t D o l a r . Text= d o l a r e s . T o S t r i n g ( ) ; }

PRACTICA 2

Calculadora Elemental

2.1.

Objetivos

En la presente prctica utilizar el Lenguaje de Programacin Visual C# desde a a o ShapDevelop 4.0, Usted aprender a: a Crear una solucin para una Aplicacin Windows desde SharpDevelop 4.0 o o Trabajar con los controles: Label, Button, OptionButton, TextBox, GroupBox y RadioButton Modicar sus propiedades de los controles utilizados Denir variables y distinguir su ambito de uso. Asociar cdigo al evento click de los controles Button, RadioButton o Utilizar los operadores aritmticos e Mostrar los resultados en controles TextBox

2.2.

Aplicacin propuesta o

Con la nalidad de mostrar el uso de los Operadores Aritmticos, se elaboe rar una calculadora cuya interfaz principal est dado por la Figura 2.1. a a

2.3.

Procedimiento

El procedimiento que se recomienda seguir es: 1. Crear la solucin para un ambiente grco o a 2. Aadir los controles al formulario, congurar de acuerdo a la Figura 2.1 n 3. Modicar las propiedades de los controles, segn la Tabla 2.1 u 4. Declarar las variables a nivel de clase 5. Asociar el cdigo al evento click de los controles o 6

Figura 2.1: Calculadora Elemental

2.4.

Controles utilizados

Los controles utilizados para elaborar la aplicacin son: Label, Button, Optiono Button, TextBox, GroupBox y RadioButton. En el Cuadro 2.1 se muestra los controles y sus propiedades modicadas para la presente aplicacin. o Cuadro 2.1: Calculadora elemental - controles Control form Label Label Label Label TextBox TextBox TextBox TextBox Propiedad Name Text Text Text Text Text Name Text Name Text Name Text Name txtResult Continua en la siguiente pgina a 7 Valor frmMainForm Maths Operators Left Operand Right Operand Expression Result txtLeftOperand 12.3 txtRightOperand 2.3 txtExpression

Cuadro 2.1 Continuacin de la pgina anterior o a Control Propiedad Valor Text Button Button GroupBox RadioButton RadioButton RadioButton RadioButton RadioButton Name Text Name Text Text Name Text Name Text Name Text Name Text Name Text cmdClear Clear cmdQuit Quit Operators optAdditon + Addition optSubtraction - Subtraction optMultiplication * Multiplication optDivision / Division optRemainder % Remainder

2.5.

Asignar cdigo al evento click de los controles o

Un evento, en informtica, es toda accin que realiza el usuario con la nalidad a o de interactuar con un programa computacional. El entorno de Desarrollo Integrado SharpDevelop 4.0, crea automticamente el a mtodo para asignar cdigo al evento click de los controles utilizados en la presente e o prctica. Para asignar cdigo al evento click de un control Button o de cualquier a o otro control utilizado en la presente prctica, realice el siguiente procedimiento: a

Figura 2.2: Seleccionar Control Button Seleccione el control Button que se cre previamente sobre el formulario, cuando o est seleccionado, una l e nea alrededor del control indicar que dicho elemento a 8

est seleccionado, como se muestra en la Figura 2.2 a Luego de haber seleccionado, doble click sobre el control para generar el mtodo e asociado al evento click de dicho control, luego se mostrar el cdigo. a o Listing 2.1: Mtodo generado para el evento click del control Button e
1 2 3

4 5 6

void CmdClearClick ( object s e n d e r , EventArgs e ) { // Mtodo g e n e r a d o para e l e v e n t o c l i c k d e l c o n t r o l Button d e s d e e SharpDevelop // A n adir c d i g o que s e e j e c u t a r a l h a c e r c l i c k s o b r e e l c o n t r o l o a }

Aadir en el cuerpo del mtodo el cdigo necesario para la nalidad requerida. n e o

2.6.

Cdigo fuente o

El cdigo fuente de la aplicacin, se muestra seguidamente o o Listing 2.2: Cdigo fuente - Calculadora Elemental o
1 2 3 4 5 6 7

Created by SharpDevelop . User : C a r l a Date : 06/04/2012 Time : 1 0 : 0 2 p .m. To change t h i s t e m p l a t e u s e T o o l s | Options | Coding | Ed it Standard Headers . System ; System . C o l l e c t i o n s . G e n e r i c ; System . Drawing ; System . Windows . Forms ;

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

/ using using using using

namespace PRACTICA02 { // / <summary> // / D e s c r i p t i o n o f MainForm . // / </summary> public p a r t i a l c l a s s frmMainForm : Form { // V a r i a b l e s a n i v e l de c l a s e double var1 , var2 , r e s u l t ; string e x p r e s s i o n ; public frmMainForm ( ) { // // The I n i t i a l i z e C o m p o n e n t ( ) c a l l i s r e q u i r e d f o r Windows Forms d e s i g n e r s u p p o r t . // InitializeComponent () ;

29 30

31 32 33

34 35 36 37

// // TODO: Add c o n s t r u c t o r code a f t e r t h e InitializeComponent () c a l l . // } void OptAdditionCheckedChanged ( object s e n d e r , EventArgs e) { // Asigna v a l o r e s a l a s v a r i a b l e s var1=double . Parse ( t x t L e f t O p e r a n d . Text ) ; var2=double . Parse ( txtRightOperand . Text ) ; // o p e r a c i n o r e s u l t= var1+var2 ; // m o s t r a r e x p r e s s i o n= var1 . T o S t r i n g ( ) + + + var2 . ToString ( ) ; t x t E x p r e s s i o n . Text=e x p r e s s i o n ; t x t R e s u l t . Text=r e s u l t . T o S t r i n g ( ) ; } void OptSubtractionCheckedChanged ( object s e n d e r , EventArgs e ) { // Asigna v a l o r e s a l a s v a r i a b l e s var1=double . Parse ( t x t L e f t O p e r a n d . Text ) ; var2=double . Parse ( txtRightOperand . Text ) ; // o p e r a c i n o r e s u l t= var1var2 ; // m o s t r a r e x p r e s s i o n= var1 . T o S t r i n g ( ) + + var2 . ToString ( ) ; t x t E x p r e s s i o n . Text=e x p r e s s i o n ; t x t R e s u l t . Text=r e s u l t . T o S t r i n g ( ) ; } void OptMultiplicationCheckedChanged ( object s e n d e r , EventArgs e ) { // Asigna v a l o r e s a l a s v a r i a b l e s var1=double . Parse ( t x t L e f t O p e r a n d . Text ) ; var2=double . Parse ( txtRightOperand . Text ) ; // o p e r a c i n o r e s u l t= var1 var2 ; // m o s t r a r e x p r e s s i o n= var1 . T o S t r i n g ( ) + + var2 . ToString ( ) ; t x t E x p r e s s i o n . Text=e x p r e s s i o n ; t x t R e s u l t . Text=r e s u l t . T o S t r i n g ( ) ; } void OptDivisionCheckedChanged ( object s e n d e r , EventArgs e) { // Asigna v a l o r e s a l a s v a r i a b l e s var1=double . Parse ( t x t L e f t O p e r a n d . Text ) ;

38 39 40 41 42 43 44 45

46 47 48 49 50

51 52 53 54 55 56 57 58

59 60 61 62 63

64 65 66 67 68 69 70 71

72 73 74 75 76

77 78 79

10

80 81 82 83 84

85 86 87 88 89

var2=double . Parse ( txtRightOperand . Text ) ; // o p e r a c i n o r e s u l t= var1 / var2 ; // m o s t r a r e x p r e s s i o n= var1 . T o S t r i n g ( ) + / + var2 . ToString ( ) ; t x t E x p r e s s i o n . Text=e x p r e s s i o n ; t x t R e s u l t . Text=r e s u l t . T o S t r i n g ( ) ; } void OptRemainderCheckedChanged ( object s e n d e r , EventArgs e ) { // Asigna v a l o r e s a l a s v a r i a b l e s var1=double . Parse ( t x t L e f t O p e r a n d . Text ) ; var2=double . Parse ( txtRightOperand . Text ) ; // o p e r a c i n o r e s u l t= var1 % var2 ; // m o s t r a r e x p r e s s i o n= var1 . T o S t r i n g ( ) + % + var2 . ToString ( ) ; t x t E x p r e s s i o n . Text=e x p r e s s i o n ; t x t R e s u l t . Text=r e s u l t . T o S t r i n g ( ) ; } void CmdQuitClick ( object s e n d e r , EventArgs e ) { // c e r r a r a p l i c a c i n o this . Close ( ) ; } void CmdClearClick ( object s e n d e r , EventArgs e ) { // l i m p i a r c o n t e n i d o txtExpression . Clear () ; txtLeftOperand . Clear ( ) ; txtResult . Clear () ; txtRightOperand . C l e a r ( ) ; } } }

90 91 92 93 94 95 96 97

98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

2.6.1.
2.6.1.1.

Explicacin de las rdenes necesarias o o


Declaracin de variables o

La declaracin de variables se realiza a a nivel de clase, por esta razn ser visible o o a en todos los mtodo contenidos por este. e Listing 2.3: Declaracin de variables o
1 2 3

// V a r i a b l e s a n i v e l de c l a s e double var1 , var2 , r e s u l t ; string e x p r e s s i o n ;

11

Se declara tres variables de doble precisin (double - nmeros reales) y una o u variable de cadena de caracteres (string) 2.6.1.2. Cdigo asociado a OptAddition o

El siguiente cdigo est asociado al evento click del control OptionButton cuyas o a propiedades son: Name - optAddition, Text - + Addition. Listing 2.4: Cdigo asociado al evento click del control optAddition o
1 2 3 4 5 6 7 8 9 10 11 12

void OptAdditionCheckedChanged ( object s e n d e r , EventArgs e ) { // Asigna v a l o r e s a l a s v a r i a b l e s var1=double . Parse ( t x t L e f t O p e r a n d . Text ) ; var2=double . Parse ( txtRightOperand . Text ) ; // o p e r a c i n o r e s u l t= var1+var2 ; // m o s t r a r e x p r e s s i o n= var1 . T o S t r i n g ( ) + + + var2 . T o S t r i n g ( ) ; t x t E x p r e s s i o n . Text=e x p r e s s i o n ; t x t R e s u l t . Text=r e s u l t . T o S t r i n g ( ) ; }

El cdigo de la l o nea uno es generado automticamente por el Entorno de a Desarrollo Integrado SharpDevelop 4.0, al realizar doble click sobre el control optAddition. Es posible editarlo, pero por ahora se le dejar tal como est. El a a cuerpo del mtodo OptAdditionCheckedChanged inicia con la llave de apertura en e la l nea dos y termina con la llave de sierre en la l nea doce. Los cdigos correspondientes a las l o neas dos, seis y ocho son comentarios. El cdigo de la l o nea cuatro var1=double.Parse(txtLeftOperand.Text); realiza lo siguiente: txtLeftOperand es el nombre de un control TextBox y Text es una propiedad de este, que se reere a su propiedad texto; la manera de obtener el contenido de la propiedad Text del control, en este caso es mediante txtLeftOperand.Text(nombre del control, punto, seguido de su propiedad). txtLeftOperand.Text devuelve una cadena de caracteres (texto), double.Parse() convierte esa cadena de caracteres en un nmero real y =(s u mbolo de asignacin) asigna el valor obtenido a o la variable var1 que previamente fue declarado como un nmero real. u El cdigo de la l o nea nueve expression= var1.ToString() + + + var2.ToString();. El mtodo ToString() convierte en cadena de caracteres al e contenido de var1 y el s mbolo + une cadena de caracteres. El cdigo de la l o nea diez txtExpression.Text=expression; asigna la cadena de caracteres contenido por expression a la propiedad Text del control tipo TextBox de nombre txtExpression.

12

2.6.1.3.

Cdigo asociado a CmdClear o

El siguiente cdigo est asociado al evento click del control Button cuyas proo a piedades son: Name - CmdClear, Text - Clear. Listing 2.5: Cdigo asociado al evento click del control CmdClear o
1 2 3 4 5 6 7 8

void CmdClearClick ( object s e n d e r , EventArgs e ) { // l i m p i a r c o n t e n i d o txtExpression . Clear () ; txtLeftOperand . Clear ( ) ; txtResult . Clear () ; txtRightOperand . C l e a r ( ) ; }

El mtodo Clear() limpia el contenido, la propiedad Text de los controles. e

13

PRACTICA 3

Relaciones Geomtricas e

3.1.

Objetivos

En la presente prctica utilizar el Lenguaje de Programacin Visual C# desde a a o ShapDevelop 4.0, Usted aprender a: a Crear una solucin para una Aplicacin Windows desde SharpDevelop 4.0 o o Trabajar con los controles: Label, Button, TextBox, GroupBox y RadioButton Modicar sus propiedades de los controles utilizados Denir variables y distinguir su ambito de uso. Asociar cdigo al evento click de los controles Button o Utilizar los operadores aritmticos e Mostrar los resultados en controles TextBox Denir mtodos e Llamada a mtodos. Mtodos con valor retorno, especicar el tipo de valor de e e retorno de los mtodos e Ambito de declaracin de los mtodos o e

3.2.

Aplicacin propuesta o

Es obtener las relaciones geomtricas de secciones transversales en canales e para conduccin de agua, las relaciones geomtricas se obtendrn para una seccin o e a o trapezoidal, mostrada por la Figura 3.1. Donde: 1. y: Tirante de agua. Es la profundidad mxima de agua en el canal a 2. b: Es el ancho de la base del canal

14

Figura 3.1: Seccin de canal trapezoidal o 3. T: Espejo de agua, es el ancho de la supercie libre de agua 4. C: Ancho de corona 5. H: Profundidad total de agua 6. H-Y: Borde libre 7. : Angulo de inclinacin de las paredes laterales con la horizontal o 8. Z: Talud. Es la relacin de la proyeccin horizontal a la vertical de la pared o o lateral. Es decir, Z es el valor de la proyeccin horizontal cuando la vertical es o uno Las relaciones geomtricas se tienen en las ecuaciones 3.1 - 3.4 e A = (b + zy)y P = b + 2y 1 + z 2 R= (b + zy)y b + 2y 1 + z 2 (3.1) (3.2) (3.3) (3.4)

T = b + 2zy Donde: 1. A: Area hidrulica a 2. P: Per metro mojado 3. R: Radio Hidrulico a 4. T: Espejo de agua

15

3.2.1.

Datos Requeridos

Los argumentos requeridos son: 1. : Angulo de inclinacin de las paredes laterales con la horizontal o 2. B: base del canal 3. y: Tirantes del canal

3.2.2.

Resultados

Los resultados requeridos son: 1. A: Area hidrulica a 2. P: Per metro mojado 3. R: Radio Hidrulico a 4. T: Espejo de agua

3.3.

Procedimiento

El procedimiento que se recomienda seguir es: 1. Crear la solucin para un ambiente grco o a 2. Aadir los controles al formulario, congurar de acuerdo a la Figura 3.2 n 3. Modicar las propiedades de los controles, segn la Tabla 3.1 u 4. Declarar las variables a nivel de clase 5. Asociar el cdigo al evento click de los controles o 6. Crear los mtodos necesarios e

3.4.

Controles utilizados

Los controles utilizados para elaborar la aplicacin son: Label, Button, Optiono Button, TextBox, GroupBox y RadioButton. En el Cuadro 3.1 se muestra los controles y sus propiedades modicadas para la presente aplicacin. o Cuadro 3.1: Relaciones geomtricas - controles e Control form Propiedad Name Text Valor frmMainForm SECCION TRAPEZOIDAL Continua en la siguiente pgina a 16

Cuadro 3.1 Continuacin de la pgina anterior o a Control Propiedad Valor PictureBox GroupBox GroupBox Label Label Label Label Label Label Label TextBox TextBox TextBox TextBox TextBox TextBox TextBox Button Button Button Name Image Name Text Name Text Text Text Text Text Text Text Text Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Text cmdClear NUEVO cmdExit SALIR cmdCalcular CALCULAR txtEsAgua txtRaHi txtPeMoj Resultados BASE TIRANTE ANGULO DE INCLINACION AREA HIDRAULICA PERIMETRO MOJADO RADIO HIDRAULICO ESPEJO DE AGUA txtBase 2.0 txtTirante 1.6 txtAngulo 45 txtArHi Datos ptbCuadro direccionar la gura para cargar

17

Figura 3.2: Relaciones geomtricas - Interfaz principal e

3.5.

Ventana principal de la aplicacin o

Luego de crear la solucin para la presente prctica, congurar el formulario (la o a ventana principal de la aplicacin) como muestra la Figura 3.2 o

3.6.

Cdigo fuente o

El cdigo fuente de la aplicacin, se muestra seguidamente o o Listing 3.1: Cdigo fuente - Relaciones geomtricas o e
1 2 3 4 5 6 7

Created by SharpDevelop . User : C a r l a Date : 14/04/2012 Time : 1 0 : 5 4 a .m. To change t h i s t e m p l a t e u s e T o o l s | Options | Coding | Ed it Standard Headers . System ; System . C o l l e c t i o n s . G e n e r i c ; System . Drawing ; System . Windows . Forms ;

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

/ using using using using

namespace PRACTICA03 { // / <summary> // / D e s c r i p t i o n o f MainForm . // / </summary> public p a r t i a l c l a s s frmMainForm : Form { public frmMainForm ( ) {

18

23 24

25 26 27 28 29

// // The I n i t i a l i z e C o m p o n e n t ( ) c a l l i s r e q u i r e d f o r Windows Forms d e s i g n e r s u p p o r t . // InitializeComponent () ; // // TODO: Add c o n s t r u c t o r code a f t e r t h e InitializeComponent () c a l l . // } void CmdCalcularClick ( object s e n d e r , EventArgs e ) { // Declarando v a r i a b l e s double BASEo , TIRANTE, TALUD, ANGULO sex ; // Asignando v a l o r e s a l a s v a r i a b l e s c r e a d a s BASEo=double . Parse ( t x t B a s e . Text ) ; TIRANTE=double . Parse ( t x t T i r a n t e . Text ) ; ANGULO sex=double . Parse ( txtAngulo . Text ) ; // Obtiene l a t a l u d TALUD=MetodoTalud (ANGULO sex) ; // llamada de mtodo con v a l o r de r e t o r n o e // Obtiene r e a h i d r u l i c a a a double A r e a h i d r a u l i c a ; A r e a h i d r a u l i c a=MetodoAreaHidraulica (BASEo , TALUD, TIRANTE) ; // P e rm e t o r mojado double P er im et r o m oj ad o ; P er im e tr o m oj ad o=MetodoPerimetroMojado (BASEo , TALUD,TIRANTE) ; // Radio H i d r u l i c o a double R a d i o h i d r a u l i c o ; R a d i o h i d r a u l i c o=M e to d o Ra d i oH i dr a u li c o (BASEo , TALUD,TIRANTE) ; // e s p e j o de agua double E s p e j o a g u a ; E s p e j o a g u a=MetodoEspejoAgua (BASEo , TALUD, TIRANTE) ; // Mostrar l o s v a l o r e s txtArHi . Text=A r e a h i d r a u l i c a . T o S t r i n g ( ) ; txtPeMoj . Text=Pe r im et r o m oj ad o . T o S t r i n g ( ) ; txtRaHi . Text=R a d i o h i d r a u l i c o . T o S t r i n g ( ) ; txtEsAgua . Text=E s p e j o a g u a . T o S t r i n g ( ) ; } s t a t i c double MetodoTalud ( double a s e x a g e s i m a l ) { // d e c l a r a n d o v a r i a b l e s double a r a d i a n e s , Talud ; // C o n v e r t i r g r a d o s s e x a g e s i m a e s a r a d i a n e s

30 31 32 33 34 35 36 37 38 39 40 41 42

43 44 45 46

47 48 49 50

51 52 53 54

55 56 57 58

59 60 61 62 63 64 65 66 67 68 69 70 71 72

19

73 74 75 76 77 78 79 80 81 82

a r a d i a n e s= Math . PI a s e x a g e s i m a l / 1 8 0 ; // Talud Talud=1/Math . Tan ( a r a d i a n e s ) ; // v a l o r de r e t o r n o d e l mtodo e return Talud ; }

83 84 85 86 87 88 89 90 91 92 93 94

s t a t i c double MetodoAreaHidraulica ( double B, double Z , double Y) { // mtodo para o b t e n e r e l r e a h i d r u l i c o e a a // d e c l a r a r v a l o r de r e t o r n o double Area ; Area = (B+ZY) Y; // v a l o r de r e t o r n o de d e l mtodo e return Area ; }

95 96 97 98 99 100 101 102 103 104 105 106 107

s t a t i c double MetodoPerimetroMojado ( double B, double Z , double Y) { // mtodo para o b t e n e r e l p e rm e t o r mojado e // d e c l a r a c i n de v a r i a b l e s o double perimetrom ; // o b t i e n e p e rm e t o r mojado perimetrom= B+2YMath . S q r t (1+ Math . Pow( Z , 2 ) ) ; // v a l o r de r e t o r n o return perimetrom ; }

108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

s t a t i c double M et o d oR a d io H i dr a u li c o ( double B, double Z , double Y) { // d e c l a r a v a r i a b l e s double area , p e r i m e t r o , rd ; // a s i g n a v e l o r e s llamada a m todos e a r e a= MetodoAreaHidraulica (B, Z ,Y) ; p e r i m e t r o= MetodoPerimetroMojado (B, Z ,Y) ; // o b t i e n e r a d i o h i d r u l i c o a rd= a r e a / p e r i m e t r o ; // v a l o r de r e t o r n o d e l mtodo e return rd ; }

123 124 125

s t a t i c double MetodoEspejoAgua ( double B, double Z , double Y) { // d e c l a r a r v a l o r de r e t o r n o double t ;

20

126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

// a s i g n a r v a l o r t= B+2ZY; // v a l o r de r e t o r n o return t ; }

void CmdExitClick ( object s e n d e r , EventArgs e ) { this . Close ( ) ; } void CmdClearClick ( object s e n d e r , EventArgs e ) { txtBase . Clear ( ) ; txtAngulo . C l e a r ( ) ; txtTirante . Clear () ; } } }

3.7.
3.7.1.

Explicacin de las rdenes necesarias o o


Cmo asignar cdigo al evento click de los controles o o

Un evento, en informtica, es toda accin que realiza el usuario con la nalidad a o de interactuar con un programa computacional. El entorno de Desarrollo Integrado SharpDevelop 4.0, crea automticamente el a mtodo para asignar cdigo al evento click de los controles utilizados en la presente e o prctica. Para asignar cdigo al evento click de un control Button o de cualquier a o otro control utilizado en la presente prctica, realice el siguiente procedimiento: a

Figura 3.3: Seleccionar Control Button - practica tres 21

Seleccione el control Button que se cre previamente sobre el formulario, cuando o est seleccionado, una l e nea alrededor del control indicar que dicho elemento a est seleccionado, como se muestra en la Figura 3.3 a Luego de haber seleccionado, doble click sobre el control para generar el mtodo e asociado al evento click de dicho control, luego se mostrar el cdigo siguiente. a o Listing 3.2: Mtodo generado para el evento click del control e
1 2 3 4

void CmdCalcularClick ( object s e n d e r , EventArgs e ) { // A n adir c d i g o a q u o }

Aadir en el cuerpo del mtodo el cdigo necesario para la nalidad requerida. n e o Lo que se muestra seguidamente, corresponde a la accin a ejecutar cada vez que el o usuario haga un click sobre el control CALCULAR que contiene el formulario. Listing 3.3: Cdigo para el evento click del control o
1 2 3 4 5 6 7 8 9 10

void CmdCalcularClick ( object s e n d e r , EventArgs e ) { // Declarando v a r i a b l e s double BASEo , TIRANTE, TALUD, ANGULO sex ; // Asignando v a l o r e s a l a s v a r i a b l e s c r e a d a s BASEo=double . Parse ( t x t B a s e . Text ) ; TIRANTE=double . Parse ( t x t T i r a n t e . Text ) ; ANGULO sex=double . Parse ( txtAngulo . Text ) ; // Obtiene l a t a l u d TALUD=MetodoTalud (ANGULO sex) ; // llamada de mtodo con v a l o r e de r e t o r n o // Obtiene r e a h i d r u l i c a a a double A r e a h i d r a u l i c a ; A r e a h i d r a u l i c a=MetodoAreaHidraulica (BASEo , TALUD, TIRANTE) ; // P e rm e t o r mojado double P er im e tr o moj ad o ; P er im e tr o m oj ad o=MetodoPerimetroMojado (BASEo , TALUD,TIRANTE) ; // Radio H i d r u l i c o a double R a d i o h i d r a u l i c o ; R a d i o h i d r a u l i c o=M e to d o Ra d io H i dr a u li c o (BASEo ,TALUD,TIRANTE) ; // e s p e j o de agua double E s p e j o a g u a ; E s p e j o a g u a=MetodoEspejoAgua (BASEo , TALUD, TIRANTE) ; // Mostrar l o s v a l o r e s txtArHi . Text=A r e a h i d r a u l i c a . T o S t r i n g ( ) ; txtPeMoj . Text=P er im e tr o m oj ad o . T o S t r i n g ( ) ; txtRaHi . Text=R a d i o h i d r a u l i c o . T o S t r i n g ( ) ; txtEsAgua . Text=E s p e j o a g u a . T o S t r i n g ( ) ; }

11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

22

3.7.2.

Declarar variables

Con double BASEo, TIRANTE, TALUD, AN GU LOsex ; se declaran las variables BASEo, TIRANTES, TALUD Y AN GU LOsex de tipo double (nmeros reales de u doble precisin). o

3.7.3.

Conversin de tipos de datos o

La l nea de cdigo BASEo=double.Parse(txtBase.Text); realiza lo siguientes: txto Base.Text obtiene el contenido en la propiedad Text del control con nombre txtBase, este control es del tipo TextBox y su propiedad Text contiene una cadena de texto; luego de haber obtenido la cadena de texto contenido por txtBase, la orden double.Parse(txtBase.Text) convierte la cadena de texto en un nmero real de doble u precisin, mientras que = asigna este valor a la variable BASEo. o

3.7.4.

Llamada a mtodos e

El cdigo siguiente TALUD=MetodoTalud(AN GU LOsex ); hace una llamada al o mtodo MetodoTalud cuyo dato de entrada es la variables AN GU LOsex y el valor e de retorno del mtodo es asignado a la variable TALUD; de igual manera se ejecuta e un mtodo previamente creado. e

3.7.5.

Creacin de mtodos o e

Para crear un mtodo es necesario tener en cuenta su sintaxis, el cdigo siguiente e o muestra el mtodo MetodoEspejoAgua(double B, double Z, double Y) e Listing 3.4: Mtodo para obtener espejo de agua e
1 2 3 4 5 6 7 8 9 10

s t a t i c double MetodoEspejoAgua ( double B, double Z , double Y) { // d e c l a r a r v a l o r de r e t o r n o double t ; // a s i g n a r v a l o r t= B+2ZY; // v a l o r de r e t o r n o return t ; }

en la que: static, es un modicador del mtodo, lo que hace posible que sea accesible e desde otros mtodos que pertenecen a la misma clase e double es el tipo de valor devuelto por el mtodo e MetodoEspejoAgua es el identicador del mtodo e double B, double Z, double Y son los parmetros, argumentos o datos de ena trada requeridas por el mtodo e

23

El cuerpo del mtodo est denido por la regin delimitada por { llave de e a o inicio y } llave de cierre return especica el valor de retorno

24

Bibliograf a

[1] Pedro Ponce cruz. Inteligencia Articial con Aplicaciones a la Inge. 2010. [2] http://es.wikipedia.org/wiki/Red_neuronal_artificial. [3] hamdy A Taha. Investigacin de Operaciones. 1991. o [4] James Anderson. Redes Neuronales. 2004. [5] James A. Anderson. An Introduction to Neural Networks. March 16, 1995. [6] Arango. Analisis de Seales con las Transformadas de Fourier, Cabor y Andin tas. Colombia 2009. [7] Araujo. Algoritmos Evolutivos, un Enfoque prctico. Mxico 2009. a e [8] Lourdes Araujo and Carlos Cervign. o Prctico. 2009. a Algoritmos Evolutivos, un Enfoque

[9] Eduardo Y Otro Caicedo Bravo. Una aproximacion practica a las redes neuronales articiciales. Universidad del Valle, 2009. [10] Bonifacio Mart del Briao; Alfredo Sanz. Redes Neuronales y Sistemas Borron sos. 2010. [11] Bonifacio Martin del Brio; Alfredo Sanz Molina. Redes Neuronales y Sistemas Difusos. December 2001. [12] Adenso Diaz. Optimizacion Heuristica y Redes Neuronales. December 2000. [13] Claudia Luc Zuluaga Echeverry. Un Aporte a la Gestin del Ruido Urbano a o en Colombia, Caso de Estudio: Municipio de Envigado. PhD thesis, Escuela de Geociencias y Medio Ambiente, 2009. [14] Juan Manuel Corchado; Fernando D az ; Lourdes Borrajo; Florentino Fernndez. Redes Neuronales Articiales. 2000. a [15] Raquel Flrez Lpez ; Jos Miguel Fernndez Fernndez. Las Redes Neuronales o o e a a Articiales (Spanish Edition). NetBiblo S.L., February 1, 2008.

25

[16] Alfonzo Momtejo Fonseca. Ingeniera de Pavimentos Fundamentos, estudios Bsicos y Diseo, volume Tomo I. Universidad Catlica de Colombia, tercera a n o edicin edition, 2006. o [17] Alfonso Montejo Fonseca. Ingeniera de Pavimentos Evaluacin Estructural, o Obras de Mejoramientos y Nuevas Tecnologas, volume Tomo II. Universidad Catlica de Colombia, tercera edicin edition, 2006. o o [18] Nicholas J Garber and Lester A Hoel. Ingeniera de Trnsito y Carreras. 2005. a [19] Jose Ramon Hilera Gonzalez. Redes neuronales articiales: Fundamentos, modelos y aplicaciones (Serie Paradigma). 1995. [20] Dra. Ing. Alice Elizabeth Gonzlez. Modelos predictivos sencillos que podr a an dar complicaciones. Departamento de Ingeniera Ambiental Facultad de Inge niera UdelaR Uruguay. [21] J. Gonzlez, M. Machimbarrena, and J.I. Snchez. Estudio comparativo de a a modelos predictivos de ruido para trco rodado. Universidad de Valladolid. a [22] Daniel Graupe. Principles of Articial Neural Networks (Advanced Series in Circuits and Systems). 2 edition edition, April 5 2007. [23] Daniel Graupe. Principles of Articial Neural Networks (Advanced Series in Circuits and Systems). May 1997. [24] Puerta J and Quinch R. Evaluacin y Control de Ruido Industrial. Medell a o n 1991. [25] Leonor Hernndez Lpez. Prediccin y optimizacin de emisiones y consumo a o o o mediante redes neuronales. Editorial Revert, March 26, 2009. e [26] Harris C M. Manual de Medidas Acsticas y Control del Ruido, volume Volumen u I. 1995. [27] Garc Ortiz Eduardoand Fuentes Robles Marcos, Cepeda Riao Jess, Brdaa n u u lo Salcedo Gabriel, and de Barrios Carro Mercedes. Estudio de un modelo de prediccin de ruido para un determinado tipo de v urbana en la ciudad o a de len. Laboratorio de Acstica Aplicada. Universidad de Len. Campus de o u o Vegazana, 24071, Len Espaa. o n [28] Rafael Cal y Mayor R and James Cardenas G. Ingeniera de Trnsito funda a mentos y Aplicaciones. 2007. [29] Sanchez. Redes Neuronales:Conceptos Fundamentales y Aplicaciones a Control Automatico. Espaa 2006. n [30] Ministerio de Transportes y Comunicaciones. Manual Tcnico de Mantenie miento Peridico para la Red Vial Departamental no Pavimentada. Direccin o o General de Caminos y Ferrocarriles, 2008.

26

[31] Ministerio de Transportes y Comunicaciones. Manual Tcnico de Mantenie miento Rutinario para la Red Vial Departamental no Pavimentada. Direccin o General de Caminos y Ferrocarriles, 2008. [32] Ministerio de Transportes y Comunicaciones. Manual de Diseo de Carreteras n no Pavimentadas de Bajo Volumen de Trnsito. Direccin General de Caminos a o y Ferrocarriles, 2008. [33] Ministerio de Transportes y Comunicaciones. Manual de Diseo de Carreteras n Pavimentadas de Bajo Volumen de Trnsito. Direccin General de Caminos y a o Ferrocarriles, 2008. [34] Ing Carlos Crespo Villalaz. Vas de Comunicacin. Noriega Editores, 2010. o [35] Pedro Isasi Vinuela. Redes de Neuronas Articiales - Un Enfoque Practico (Spanish Edition). April 2005.

27

Das könnte Ihnen auch gefallen