UNIVERSIDAD TÉCNICA ESTATAL DE QUEVEDO Facultad Ciencias De La Ingeniería Escuela de Infr!"tica IN#ENIER$A EN SISTE%AS &RO'ECTO &RO 'ECTO INTE#RADOR IN TE#RADOR Te!a( )*UE#O +O%+ER%AN, Integrantes( Sria +rit *e-ersn Edil.ert Rdrígue/ %reira Carls Fernand Vera Día/ Fredd0 Ed1in Crdinadra de %2dul Ing3 Andrea 456iga Tutr de &r0ect Integradr Ing3 7as8ingtn C8iri.ga Que9ed : Ls Rís ; Ecuadr <=><
1
INDICE I.
INTRODUCCION......................................................................................................................................3 1.1. 1.1.
PLA PLANTEA NTEAMI MIEN ENTO TO DEL DEL PROB PROBLE LEMA MA................................................................................................5
1.1.1. 1.2.
OBJETIVOS...................................................................................................................................7
1.2.1.
Objetivo gee!"#....................................................................................................................7
1.2.2.
Objetivo$ E$%e&'(i&o$............................................................................................................7
1.). II.
FORMULACIÓN DE DEL PR PROBLEMA...........................................................................................6
JUSTIFICACION.............................................................................................................................8
DESARROLLO........................................................................................................................................9 2.1.
FUNDAMENTACIÓ CIÓN TE TEÓRICA........................................................................................................9
2.1.1.
LA AU AUTOPREPARACIÓN........................................................................................................9
2.1. 2.1.2. 2.
A%!e A%!e* *i+ i+"j "jee $ig $igi( i(i& i&"ti "tivo vo , "%!e "%!e* *i+ i+"j "jee -e& -e&i i&o &o..................................................................9
2.1. 2.1.). ).
Re/0 Re/0i$ i$it ito$ o$ %"!" %"!" e# "%!e "%!e* *i+ i+"j "jee $$ig igi i(i (i&" &"ti tivvo.........................................................................11
2.2.
TEORA DEL CÓDIO...................................................................................................................12
2.2.1.
C#"$e$.................................................................................................................................12
2.2.2.
Ti%o$ *e *"to$....................................................................................................................13
2.2.).
F0&ioe$...........................................................................................................................14
2.2.3.
V"!i"b#e$.............................................................................................................................16
2.2.4.
C5-o &o-%i#"! C6...............................................................................................................17
2.2. 2.2.7. 7.
A$ig $ig"& "&ii5 *e 0 ti%o ti%o " 0" 0" v"! v"!i" i"b# b#ee...................................................................................17
2.2. 2.2.8. 8.
C5-o 5-o "%# "%#i& i&"! "! t"t"-"9o "9o " $0$ $0$ v"! v"!ii"b#e "b#e$$...................................................................................18
2.2.:.
C5-o *e *e"!"! $0$ v"!i"b#e$...............................................................................................19
2.2. 2.2.;. ;.
A$ig $ig"& "&ii5 *e v"#o! "#o!e$ e$ " v"! v"!ii"b# "b#e$........................................................................................20
2.2. 2.2.1< 1<..
U$o *e -"t! "t!i&e$ i&e$ *e v"!i "!i"b#e "b#e$$...............................................................................................20
2.2. 2.2.11 11..
De De"! "!"& "&i5 i5 *e *e -"t! -"t!i& i&e$ e$ 0i* 0i*ii-e e$i $io o"# "#e$ e$..........................................................................21
2.2.12 2.2.12..
C5-o C5-o t!"b" t!"b"j"! j"! &o #o$ v"#o!e v"#o!e$$ *e #"$ #"$ -"t!i -"t!i&e$ &e$ 0i*i0i*i-e$ e$io io"#e "#e$$.........................................23
2.2. 2.2.1) 1)..
Ii& Ii&i" i"#i #i+" +"&i &i5 5 *e v"#o v"#o!e !e$$ *e *e e#e e#e-e -et to$ o$ *e -"t! -"t!i+ i+.................................................................24
2.2.13 2.2.13..
C!e"! C!e"! A%#i& A%#i&"&i "&ioe oe$$ *e Fo!-0# Fo!-0#"!i "!io$ o$ =i*o =i*o>$ >$ Fo!-$ Fo!-$ ?Vi$0" ?Vi$0"##
[email protected]
2.2. 2.2.17 17..
It! It!o* o*0& 0&&i &i5 5 "# Eto! Eto!o o IDE IDE ?Vi$ ?Vi$0" 0"## C6@ C6@...............................................................................26
2.2. 2.2.18 18..
e!! e!!"-ie "-ie t"$ t"$ *e *e Vi Vi$0"# $0"# C6...................................................................................................26
2.2. 2.2.1: 1:..
A&&e A&&e$o $o " b"$ b"$e$ e$ *e *"to *"to$$ ?C6 ?C6 , JJ"v "v"@ "@...................................................................................27
2.).
METODOLOA............................................................................................................................31
2.). 2.).1. 1.
Meto* eto*o# o#og og'" '" *e #" iv ive$ti e$tig g"&i5 "&i5 ...........................................................................................31
2.).2.
Mto*o$ *e #" ive ve$tig"&i5 &i5................................................................................................31
2.).).
Ti%o *e ive$tig"&i5..........................................................................................................31
2.).3.
T&i&"$ *e *e #" #" iv ivee$tig"&i5................................................................................................31
2.3. 2.3.
PROC PROCED EDIM IMIE IENT NTO O METO ETODOLO DOLOI IC CO.............................................................................................32
2.4.
RECURSOS PRESUPUESTOS....................................................................................................33
2.4.1.
C!oog!"-" *e "&tivi ivi*"*e$.................................................................................................34
III.
RESULTADOS AN AL ALISIS................................................................................................................35
IV.
CONCLUSIONES..............................................................................................................................39
V.
RECOMENDACIONES...........................................................................................................................40
VI.
BIBLIORAFIA.................................................................................................................................41
VII.
ANEOS...........................................................................................................................................42
2
INDICE I.
INTRODUCCION......................................................................................................................................3 1.1. 1.1.
PLA PLANTEA NTEAMI MIEN ENTO TO DEL DEL PROB PROBLE LEMA MA................................................................................................5
1.1.1. 1.2.
OBJETIVOS...................................................................................................................................7
1.2.1.
Objetivo gee!"#....................................................................................................................7
1.2.2.
Objetivo$ E$%e&'(i&o$............................................................................................................7
1.). II.
FORMULACIÓN DE DEL PR PROBLEMA...........................................................................................6
JUSTIFICACION.............................................................................................................................8
DESARROLLO........................................................................................................................................9 2.1.
FUNDAMENTACIÓ CIÓN TE TEÓRICA........................................................................................................9
2.1.1.
LA AU AUTOPREPARACIÓN........................................................................................................9
2.1. 2.1.2. 2.
A%!e A%!e* *i+ i+"j "jee $ig $igi( i(i& i&"ti "tivo vo , "%!e "%!e* *i+ i+"j "jee -e& -e&i i&o &o..................................................................9
2.1. 2.1.). ).
Re/0 Re/0i$ i$it ito$ o$ %"!" %"!" e# "%!e "%!e* *i+ i+"j "jee $$ig igi i(i (i&" &"ti tivvo.........................................................................11
2.2.
TEORA DEL CÓDIO...................................................................................................................12
2.2.1.
C#"$e$.................................................................................................................................12
2.2.2.
Ti%o$ *e *"to$....................................................................................................................13
2.2.).
F0&ioe$...........................................................................................................................14
2.2.3.
V"!i"b#e$.............................................................................................................................16
2.2.4.
C5-o &o-%i#"! C6...............................................................................................................17
2.2. 2.2.7. 7.
A$ig $ig"& "&ii5 *e 0 ti%o ti%o " 0" 0" v"! v"!i" i"b# b#ee...................................................................................17
2.2. 2.2.8. 8.
C5-o 5-o "%# "%#i& i&"! "! t"t"-"9o "9o " $0$ $0$ v"! v"!ii"b#e "b#e$$...................................................................................18
2.2.:.
C5-o *e *e"!"! $0$ v"!i"b#e$...............................................................................................19
2.2. 2.2.;. ;.
A$ig $ig"& "&ii5 *e v"#o! "#o!e$ e$ " v"! v"!ii"b# "b#e$........................................................................................20
2.2. 2.2.1< 1<..
U$o *e -"t! "t!i&e$ i&e$ *e v"!i "!i"b#e "b#e$$...............................................................................................20
2.2. 2.2.11 11..
De De"! "!"& "&i5 i5 *e *e -"t! -"t!i& i&e$ e$ 0i* 0i*ii-e e$i $io o"# "#e$ e$..........................................................................21
2.2.12 2.2.12..
C5-o C5-o t!"b" t!"b"j"! j"! &o #o$ v"#o!e v"#o!e$$ *e #"$ #"$ -"t!i -"t!i&e$ &e$ 0i*i0i*i-e$ e$io io"#e "#e$$.........................................23
2.2. 2.2.1) 1)..
Ii& Ii&i" i"#i #i+" +"&i &i5 5 *e v"#o v"#o!e !e$$ *e *e e#e e#e-e -et to$ o$ *e -"t! -"t!i+ i+.................................................................24
2.2.13 2.2.13..
C!e"! C!e"! A%#i& A%#i&"&i "&ioe oe$$ *e Fo!-0# Fo!-0#"!i "!io$ o$ =i*o =i*o>$ >$ Fo!-$ Fo!-$ ?Vi$0" ?Vi$0"##
[email protected]
2.2. 2.2.17 17..
It! It!o* o*0& 0&&i &i5 5 "# Eto! Eto!o o IDE IDE ?Vi$ ?Vi$0" 0"## C6@ C6@...............................................................................26
2.2. 2.2.18 18..
e!! e!!"-ie "-ie t"$ t"$ *e *e Vi Vi$0"# $0"# C6...................................................................................................26
2.2. 2.2.1: 1:..
A&&e A&&e$o $o " b"$ b"$e$ e$ *e *"to *"to$$ ?C6 ?C6 , JJ"v "v"@ "@...................................................................................27
2.).
METODOLOA............................................................................................................................31
2.). 2.).1. 1.
Meto* eto*o# o#og og'" '" *e #" iv ive$ti e$tig g"&i5 "&i5 ...........................................................................................31
2.).2.
Mto*o$ *e #" ive ve$tig"&i5 &i5................................................................................................31
2.).).
Ti%o *e ive$tig"&i5..........................................................................................................31
2.).3.
T&i&"$ *e *e #" #" iv ivee$tig"&i5................................................................................................31
2.3. 2.3.
PROC PROCED EDIM IMIE IENT NTO O METO ETODOLO DOLOI IC CO.............................................................................................32
2.4.
RECURSOS PRESUPUESTOS....................................................................................................33
2.4.1.
C!oog!"-" *e "&tivi ivi*"*e$.................................................................................................34
III.
RESULTADOS AN AL ALISIS................................................................................................................35
IV.
CONCLUSIONES..............................................................................................................................39
V.
RECOMENDACIONES...........................................................................................................................40
VI.
BIBLIORAFIA.................................................................................................................................41
VII.
ANEOS...........................................................................................................................................42
2
I.
INTRODUCCION
Bomb Bomber erma man n es una franquicia de videojuegos estratégico estratégico de laberíntico laberínticoss originalmente desarrollada por Hudson Soft, Soft, juego lanzado en 198 con cierto é!ito " se encuentra encuentra pr#cticamente en todas las consolas del mundo$ mundo$ %iene un gran é!ito en &ap'n &ap'n,, aunque éste no es tan grande en (mérica en (mérica$$ )l soft*are educativo cuenta con comodines que sirven de apo"o para lograr el objetivo el cual es encontrar todas " cada una de las letras que forman la frase oculta$ +omodí +omodín n idaida- a"udar a"udara a a incremen incrementar tar el n.mero n.mero de vidas vidas cada vez que aparezca aleatoriamente dic/a imagen$ +omodín velocidad- aumenta la rapidez de los movimientos del personaje bomberman$ +omodín bomba- a"udara a incrementar el n.mero de bombas disponibles en el juego$ +omodín flama- este incrementara el rango de alcanza de la e!plosi'n de la bomba$ )n los .ltimos a0os la inform#tica se /a tomado los primeros lugares a nivel mundial referente a su uso dentro del #mbito laboral " educativo, la idea de aplicar el juego en la niversidad no es nueva se /a utilizado en diferentes países " sabemos adem#s que en 2enacimiento se le daba gran importancia al juego$ 3a utilizaci'n de este juego did#ctico se basa en la preparaci'n de los futuros profesionales$ )ste juego como forma de actividad estudiantil posee un gran potencial emotivo " motivacional, "a que jugando se aprende la solidaridad, se forma " consolida el car#cter " estimula el poder de creador en los estudiantes 3
Se /a dise0ado este soft*are en base a la metodología para el desarrollo de /abilidades cognitivas en los estudiantes, pero no es menos cierto que gracias a la cola colabo bora raci ci'n 'n multi multidi disc scip iplin linar ar cada cada vez vez es m#s m#s plau plausi sibl ble e dise dise0a 0arr " programar inform#ticamente juegos did#cticos did#cticos educativos4 con con /umor, ingenio " buenas estrategias did#cticas donde se podr# ampliar " e!plorar, en papel o en la pantalla del ordenador un actividad educativa atractiva " eficaz para los estudiantes$
4
1. 1.1. 1. PLANT PLANTEA EAMI MIEN ENTO TO DEL DEL PROB PROBLE LEMA MA 3a educaci'n es una de de las primordiales preocupaciones preocupaciones en todos los países países del mundo, que apuntan a un verdadero desarrollo$ 5o obstante e!iste un notable deterioro en su proceso en los países de menor desarrollo como es el caso de )cuador$ 3a falta de auto preparaci'n en los estudiantes en los .ltimos a0os /a podido originarse por la desmotivaci'n lo cual cual puede ser unos unos de los factores por los cuales muc/os muc/os estudiantes /an dejado sus sus estudios, sin sin embargo la escases de /erra errami mie enta ntas que permi ermita ta al estu studia diante nte prep prepar arar arsse para ara futu futura rass evalu evaluaci acione oness a contr contribu ibuido ido a ésta ésta proble problem#t m#tica ica,, obteni obteniend endo o result resultado adoss no esperados por parte de los evaluadores ni de los evaluados$ 6artiendo del concepto de educaci'n, en nuestras ciudades de la costa un ejemplo es la niversidad %écnica )statal de 7uevedo en la que se puede palpar el nivel bajo de conocimiento conocimiento en las pruebas de admisi'n realizadas a los estudiantes en la universidad, esto se debe a la indigente preparaci'n en las instituciones educativas, el mal uso de la pedagogía de los profesores los cuales no se /acen llegar al alumnado, la falta de /erramientas necesarias para el trabajo pr#ctico que es desfavorable para los estudiantes " la poca orientaci'n para la b.squeda de informaci'n adecuada$
5
1.1.1.FORMULACIÓN DEL PROBLEMA •
7ué estrategia aplicar para aumentar el interés /acia la auto
•
preparaci'n :e qué manera desarrollar una /erramienta para contrarrestar la falta
•
de auto preparaci'n +'mo influir# la aplicaci'n de un soft*are en el aprendizaje de los estudiantes de la carrera de ;ngeniería en Sistemas
6
1.2. OBJETIVOS 1.2.1. Objetivo gee!"# :esarrollar un soft*are de aplicaci'n educativo did#ctico para lograr un mejor resultado de aprendizaje en los estudiantes de la niversidad %écnica estatal de 7uevedo de la +arrera de Sistemas$
1.2.2. Objetivo$ E$%e&'(i&o$ •
(nalizar el contenido did#ctico al cual va direccionado este soft*are$
•
)stablecer estrategias para desarrollar el soft*are did#ctico$
•
:ise0ar los mecanismos divertidos " did#cticos del soft*are$
.
1.). JUSTIFICACION 7
3a elaboraci'n de este pro"ecto busca que el Soft*are desarrollado sea un sistema que a"udé a los educandos a emplear el tiempo disponible de forma 'ptima, siendo así que el mismo contribuir# a interactuar did#cticamente " complementar# los conocimientos impartidos en el aula clase, estimulando el tipo de destreza para integrar
en el desarrollo del ni0o o joven
con la
informaci'n necesaria para el desenvolvimiento /umano " para el futuro profesional$ 2esaltamos que este programa es un modelo de formulaci'n " evaluaci'n sobre conocimientos de 6rogramaci'n, constitu"éndose en una /erramienta de autocrítica " mejoramiento del mismo, fomentando el proceso de ense0anza = aprendizaje lo cual permite incrementar el rendimiento académico de los estudiantes$ :e igual manera servir# como una instrumento portable para que toda persona encuentre un medio interactivo de autoestudio, usando la metodología de aprender jugando, esto le permitir# al usuario recibir el conocimiento de una manera m#s relajada " sin el conflicto alguno, una de las m#s grandes ventajas este Soft*are es la que el usuario tendr# la facultad de modificar la base de datos del programa, esto quiere decir que el usuario podr# ingresar, editar " borrar preguntas del mismo4 un ejemplo, el usuario es un estudiante, al cual le dan cuestionarios para e!#menes4 )l podr# ingresar todas las preguntas de sus e!#menes en el programa, " le dar# un entorno de estudio mas sociable , amigable e interactivo$
II.
DESARROLLO 8
II.1. FUNDAMENTACIÓN TEÓRICA
II.1.1. LA AUTOPREPARACIÓN
MOTOLA Ro((e. ?1;;7@ )s el auto preparaci'n la forma organizativa de superaci'n llamada a dar respuestas a las continuas necesidades cognoscitivas del profesor universitario, m#!ime cuando en ocasiones tiene que impartir contenidos totalmente nuevos para él, en correspondencia del mundo complejo " cambiante en que estamos insertados " que constitu"e la fuente de los dise0os curriculares del sistema de escuela del partido$
II.1.2. A%!e*i+"je $igi(i&"tivo , "%!e*i+"je -e&i&o ?AUSUBEL 1;:).@ n aprendizaje es significativo cuando los contenidos- Son relacionados de modo no arbitrario " sustancial >no al pie de la letra? con lo que el alumno "a sabe$ 6or relaci'n sustancial " no arbitraria se debe entender que las ideas se relacionan con alg.n aspecto e!istente específicamente relevante de la estructura cognoscitiva del alumno, como una imagen, un símbolo "a significativo, un concepto o una proposici'n$ )sto quiere decir que en el proceso educativo, es importante considerar lo que el individuo "a sabe de tal manera que establezca una relaci'n con aquello que debe aprender$ )ste proceso tiene lugar si el educando tiene en su estructura cognitiva conceptos, estos son- ideas, proposiciones, estables " definidos, con los cuales la nueva informaci'n puede interactuar$
?AUSUBEL 1;:).@ )l aprendizaje significativo ocurre cuando una nueva informaci'n @se conecta@ con un concepto relevante >@subsunsor@? pre e!istente en la estructura cognitiva, esto implica que, las nuevas ideas, conceptos " proposiciones pueden ser aprendidos significativamente en la medida en que otras ideas, conceptos o proposiciones relevantes estén adecuadamente claras " disponibles en la estructura cognitiva del individuo " que funcionen como un punto de @anclaje@ a las primeras$
9
3a característica m#s importante del aprendizaje significativo es que, produce una interacci'n entre los conocimientos m#s relevantes de la estructura cognitiva " las nuevas informaciones >no es una simple asociaci'n?, de tal modo que éstas adquieren un significado " son integradas a la estructura cognitiva de manera no arbitraria " sustancial, favoreciendo la diferenciaci'n, evoluci'n " estabilidad de los subsunsores pre e!istentes " consecuentemente de toda la estructura cognitiva$
?A0$0be# 1;:).@ )l aprendizaje mec#nico, contrariamente al aprendizaje significativo, se produce cuando no e!isten subsunsores adecuados, de tal forma que la nueva informaci'n es almacenada arbitrariamente, sin interactuar con conocimientos pre= e!istentes, un ejemplo de ello sería el simple aprendizaje de f'rmulas en física, esta nueva informaci'n es incorporada a la estructura cognitiva de manera literal " arbitraria puesto que consta de puras asociaciones arbitrarias, Acuando, @el alumno carece de conocimientos previos relevantes " necesarios para /acer que la tarea de aprendizaje sea potencialmente significativo@ >independientemente de la cantidad de significado potencial que la tarea tenga?$
?A0$0be# 1;:).@ Cbviamente, el aprendizaje mec#nico no se da en un @vacío cognitivo@ puesto que debe e!istir alg.n tipo de asociaci'n, pero no en el sentido de una interacci'n como en el aprendizaje significativo$ )l aprendizaje mec#nico puede ser necesario en algunos casos, por ejemplo en la fase inicial de un nuevo cuerpo de conocimientos, cuando no e!isten conceptos relevantes con los cuales pueda interactuar, en todo caso el aprendizaje significativo debe ser preferido, pues, este facilita la adquisici'n de significados, la retenci'n " la transferencia de lo aprendido$
10
II.1.). Re/0i$ito$ %"!" e# "%!e*i+"je $igi(i&"tivo ?AUSUBEL 1;:).@ (l respecto dice que el alumno debe manifestar AD una disposici'n para relacionar sustancial " no arbitrariamente el nuevo material con su estructura cognoscitiva, como que el material que aprende es potencialmente significativo para él, es decir, relacionable con su estructura de conocimiento sobre una base no arbitraria$
+uando el significado potencial se convierte en contenido cognoscitivo nuevo, diferenciado e idiosincr#tico dentro de un individuo en particular como resultado del aprendizaje significativo, se puede decir que /a adquirido un @significado psicol'gico@ de esta forma el emerger del significado psicol'gico no solo depende de la representaci'n que el alumno /aga del material l'gicamente significativo, @ sino también que tal alumno posea realmente los antecedentes ideativos necesarios@ en su estructura cognitiva$
?AUSUBEL 1;:).@ :isposici'n para el aprendizaje significativo, es decir que el alumno muestre una disposici'n para relacionar de manera sustantiva " no literal
el
nuevo
conocimiento
con
su
estructura
cognitiva$
(sí
independientemente de cuanto significado potencial posea el material a ser aprendido, si la intenci'n del alumno es memorizar arbitraria " literalmente, tanto el proceso de aprendizaje como sus resultados ser#n mec#nicos4 de manera inversa, sin importar lo significativo de la disposici'n del alumno, ni el proceso, ni el resultado ser#n significativos, si el material no es potencialmente significativo, " si no es relacionable con su estructura cognitiva$
11
II.2.
TEORA DEL CÓDIO
C"!"&te!'$ti&"$ *e# #eg0"je C6 ?FERUSON PATTERSON BERES 2<<).@3as siguientes secciones /acen un r#pido
repaso
a algunas de las características de +E$ Si no est#
familiarizado con alguno de estos conceptos$ 5o se preocupe %odos ser#n tratados con detalle en capítulos posteriores$
II.2.1. C#"$e$ %odo el c'digo " los datos en +E deben ser incluidos en una clase$
5o
puede definir una variable fuera de una clase " no puede escribir ning.n c'digo que no esté en una clase$ 3as clases pueden tener constructores que se ejecutan cuan do se crea un objeto de la clase " un destructor que se ejecuta cuando un objeto de la clase es destruido$ 3as clases admiten /erencias simples " todas las clases derivan al final de una clase base llamada objeto$ +E admite técnicas de versiones para a"udar a que sus clases evolucionen con el tiempo mientras mantienen la compatibilidad con c'digo que use versiones anteriores de sus clases$
?FERUSON PATTERSON BERES 2<<).@6or ejemplo$ Cbserve la clase llamada Famil"$ )sta clase contiene los dos campos est#ticos que inclu"en el nombre " el apellido de un miembro de la familia junto con un método que devuelve el nombre completo del miembro de la familia$ +lass+lases 6ublic string First 5ame4 public string3ast5ame4 public stringFull5ame >? G 2eturnFirst5ame 3ast5ame 5C%(- 3a /erencia simple significa que una clase de +E s'lo se puede derivar de una clase base$
12
?FERUSON PATTERSON BERES 2<<).@+E le permite agrupar sus clases en una colecci'n de clases llamada espacio de nombre$ 3os espacios de nombre tienen nombres " pueden servir de a"uda para organizar colecciones de clases en agrupaciones l'gicas$
( medida que empieza a aprender +E$ :escubrir# que todos los espacios de nombre relevantes para $5)% Frame*orI empiezan con el término S"stem$Jicrosoft también /a decidido incluir algunas clases que a"udan a la compatibilidad con versiones anteriores " al acceso a los (6;$ )stas clases se inclu"en en el espacio de nombre Jicrosoft$
II.2.2. Ti%o$ *e *"to$ ?FERUSON PATTERSON BERES 2<<).@+E permite trabajar con dos ti pos de datos- de valor " de referencia$ 3os de valor contienen valores reales$ 3os de referencia contienen referencias a Ka lores almacenados en alg.n lugar de la memoria$ 3os tipos primitivos como c/ar, int " float$ &unto con los valores " estructuras comentados$ Son tipos de valor$ 3os tipos de referencia tienen variables que tratan con objetos " matrices +E viene con tipos de referencia predefinidos >object " string?$ junto con tipos de valor predeterminados >sb"te, s/ort, int, long, b"te, us/ort, uint, ulong, float, doublé, bool, c/ar " decimal?$ %ambién puede definir en el c'digo sus propios tipos de valor " referencia$ %odos los tipos de valor " de referencia derivan en .ltima instancia de un tipo base llamado object$
C6 le permite convertir un valor de un tipo en un valor
de otro tipo$
6uede trabajar con conversiones implícitas " e!plicitas$ 3as conversiones implícitas siempre funcionan " nunca pierden informaci'n >por ejemplo$ puede convertir un int en un long sin perder ning.n dato porque un long es ma"or que un int? 3as conversiones e!plicitas pueden producir pérdidas de datos >por ejemplo$ convertir un long en un in t puede producir pérdida de datos
13
porque un long puede contener valores ma"ores que un int? :ebe escribir un operador cast en el c'digo para que se produzca una conversi'n e!plicita$
?FERUSON PATTERSON BERES 2<<).@)n
+E
puede trabajar
con
matrices unidimensionales " multidimensionales$ 3as matrices multidimensionales pueden ser rectangulares en las que cada una de las matrices tiene las mismas dimensiones o escalonadas en las que cada una de las matrices puede tener diferentes dimensiones$
3as clases " las estructuras pueden tener miembros de datos llamados propiedades " campos$ 3os campos son variables que
est#n asociadas a la
clase o estructura a la que pertenecen$ 6or ejemplo- 6uede definir una estructura llamada )mpleado que tenga un campo llamado 5ombre$ Si define una variable de tipo )mpleado llamada )mpleado (ctual puede recuperar el nombre del empleado escribiendo )mpleado (ctual . 5ombre$ 3as propiedades son como los campos pero permiten escribir c'digo que especifique lo que debería ocurrir cuando el c'digo acceda al valor$ Si el nombre del empleado debe leerse de una base de datos por ejemplo- puede escribir c'digo que diga @cuando alguien pregunte el valor de la propiedad
Nombre lee
el nombre de
la base de datos devuelve el nombre como una cadena@$
II.2.). F0&ioe$ ?FERUSON PATTERSON BERES 2<<).@na funci'n es un fragmento de c'digo que puede ser invocado que puede o no devolver un valor al c'digo que lo invoc' en un principio$ n ejemplo de una funci'n podría ser la funci'n Full5ame mostrada anteriormente en este capítulo, en la clase Famill"$ na
funci'n suele asociarse a fragmentes de c'digo que devuelven
informaci'n, mientras que
un método no suele devolver informaci'n$ Sin
14
embargo, para nuestros prop'sitos, generalizamos " nos referimos a las dos como funciones$ 3as funciones pueden tener cuatro tipos de par#metros•
6ar#metros de entrada- tienen va lores que son enviados a la funci'n, pero la funci'n no puede cambiar esos valores$
•
6ar#metros de salida- no tienen valor cuando son enviados a la funci'n, per la funci'n puede darles un valor " enviar el valor de vuelta al invocador$
•
6ar#metros de referencia- introducen una referencia en otro valor$ %ienen un valor de entrada para la funci'n " ese valor puede ser cambiado dentro de la funci'n$
•
6ar#metros 6arams- definen un n.mero variable de argumentos en una lista$
+E " el +32 trabajan juntos para brindar gesti'n de memoria autom#tica$ 5o necesita escribir c'digo que diga
@asigna suficiente memoria para un
n.mero entero@ o @libera la memoria que est# usando este objeto@$ )l + 32 monitoriza el uso de memoria " recupera autom#ticamente m#s cuando la necesita$ %ambién libera memoria autom#ticamente cuando detecta que "a no est# siendo usada >esto también se conoce como recolecci'n de objetos no utilizados?$
?FERUSON PATTERSON BERES 2<<).@+E proporciona varios operadores que le permiten escribir e!presiones matem#ticas " de bits$ Juc/os >pero no todos? de estos operadores pueden ser redefinidos, permitiéndole cambiar la forma en que trabajan estos operadores$
15
+E admite una larga lista de e!presiones que le permiten definir varias rutas de ejecuci'n dentro del c'digo$ 3as instrucciones de flujo de control que usan palabras clave como if, s*itc/, */ile, for, breaI " continue permiten al c'digo bifurcarse por
caminos diferentes, dependiendo de los
valores de sus
variables$ 3as clases pueden contener c'digo " datos$ +ada miembro de una clase tiene algo llamado #mbito de accesibilidad, que define la visibilidad del miembro con respecto a otros objetos$ +E admite los #mbitos de accesibilidad public protected, internal protected, interna1 " private$
II.2.3. V"!i"b#e$ ?FERUSON PATTERSON BERES 2<<).@3as variables pueden ser definidas como constantes$ 3as constantes tienen valores que no pueden cambiar durante la ejecuci'n del c'digo$ 6or ejemplo- el valor de pi es una buena muestra de una constante porque el valor no cambia a medida que el c'digo se ejecuta$ 3as declaraciones de tipo de enumeraci'n especifican un nombre de tipo para un grupo de constantes relacionadas$ 6or ejemplo- 6uede definir una enumeraci'n de planetas con valores de Jercurio, enus, %ierra, Jarte, &.piter, Saturno, rano, 5eptuno " 6lut'n, " usar estos nombres en el c'digo$ sando los nombres de enumeraciones en el c'digo /ace que sea m#s f#cil leerlo que si usara un n.mero para representar a cada planeta .
?FERUSON PATTERSON BERES 2<<).@+E incorpora un mecanismo para definir " procesar eventos$ Si escribe una clase que realiza una operaci'n mu" larga, quiz#s quiera invocar un evento cuando la operaci'n se complete$ 3os clientes pueden suscribirse a ese evento e incluirlo en el c'digo, lo que permite que se les pueda avisar cuando /a"a acabado su operaci'n$ )l mecanismo de control de eventos en +E usa delegados, que son variables que se refieren a una funci'n$
16
5C%(- n controlador de eventos es un procedimiento en el c'digo que determina las acciones que deben llevarse a cabo cuando ocurra un evento, como que el usuario pulse un bot'n$
Si la clase contiene un conjunto de valores, los clientes quiz#s
quieran
acceder a los valores como si la clase fuera una matriz$ 6uede conseguirlo escribiendo un fragmento de c'digo conocido como inde!ador$ Suponga que escribe una clase llamada (rcoíris, por ejemplo que contenga el conjunto de los colores del arco iris$ 3os visitantes querr#n escribir Ji (rcoíris AC para recuperar el primer color del arcoíris$ 6uede escribir un inde!ador en la clase (rcoíris para definir lo que se debe devolver cuando el visitante acceda a esa clase, como si fuera una matriz de valores$
II.2.4. C5-o &o-%i#"! C6 )jecutar el c'digo +E con el compilador de +E produce dos importantes conjuntos de informaci'n- el c'digo " los metadatos$ 3as siguientes secciones describen estos dos elementos " luego terminan e!aminando el componente esencial del c'digo $5)%4 el ensamblado$
II.2.7. A$ig"&i5 *e 0 ti%o " 0" v"!i"b#e ?FERUSON PATTERSON BERES 2<<).@ ( las variables de +E se les asigna un tipo$ 7ue es una descripci'n del tipo de datos que va a contener la variable$ 7uiz#s quiera trabajar con n.meros enteros$ 5.meros de coma flotante$ +aracteres, cadenas o incluso un tipo que puede definir en su c'digo$ +uando define una variable en su c'digo +E debe asignar un tipo a la variable$ 3a tabla $$ 1 %;6C Sb"te
describe algunos de los tipos b#sicos de variables de +E$
:)S+2;6+;L5 3as variables con tipo sb"te pueden contener n.meros enteros de 8 bits con signo$ 3a MsM de sb"te significa Mcon signoM, lo que quiere decir que el valor de la variable puede ser positivo o 17
negativo$ )l menor valor posible para una variable sb"te es =1N8 " el ma"or es 1NO$ B"te ariables con tipo b"te pueden contener n.meros enteros de 8 bits sin signo$ ( diferencia de las variables sb"te, las variables b"te no tienen signo " s'lo pueden contener n.meros positivos$ )l valor m#s peque0o posible para una variable b"te es C4 el valor m#s alto es NPP$ S/ort 3as variables con tipo s/ort pueden contener n.meros enteros de 1Q bits con signo$ )l menor valor posible para una variable s/ort es =N$ OQ84 el valor m#s alto es N$OQO$ s/ort 3as variables con tipo us/ort pueden contener n.meros enteros de 1Q bits sin signo$ 3a MuM de us/ort significa sin signo$ )l menor valor posible para una variable s/ort es C4 el valor m#s alto es QP$PP$ ?FERUSON PATTERSON BERES 2<<).@
%;6C int
:)S+2;6+;L5 3as variables con tipo us/ort pueden contener n.meros enteros de 1Q bits sin signo$ 3a MuM de us/ort significa sin signo$ )l menor valor posible para una variable s/ort es C4 el valor m#s alto es QP$PP$
uint 3as variables con tipo u in t pueden contener n.meros enteros de N bits sin signo$ 3a MuM en u in t significa sin signo$ )l menor valor posible para una variable uint variable es C4 el valor m#s alto posible es R$N9R$ 9QO$N9P$ 3ong 3as variables con tipo 1ong pueden contener n.meros enteros de QR bits con signo$ )l menor valor posible para una variable long es 9$NN$ON$Q$8PR$OOP$884 el valor m#s alto es 9$NN$ON$Q$8PR$OOP$8O$ c/ar
3as variables con tipo c/ar pueden contener caracteres nicode de 1Q bits$ )l menor valor posible para una variable c/ar es el car#cter nicode cu"o valor es C4 el valor m#s alto posible es el car#cter nicode cu"o valor es QP$PP$ 18
II.2.8. C5-o "%#i&"! t"-"9o " $0$ v"!i"b#e$ ?FERUSON PATTERSON BERES 2<<).@Se estar# preguntando por qué +E admite todos estos tipos de variables diferentes$ 3os valores m#s peque0os pueden colocarse en variables de ma"ores tipos4 por lo tanto por qué usar los tipos m#s peque0os Si una variable s/ort puede contener valores desde =N$OQ8 /asta N$OQO, " una grande
puede contener valores
desde
=9$NN$ON$Q$8PR$OOP$88 /asta 9$NN$ON$Q$8PR$OOP$8O, entonces es evidente que todos los posibles valores s/ort pueden ser almacenados en una variable 3ong$ )ntonces, 6ara qué sirven los tipos s/ort 6or qué no usar un variable long para todo na respuesta es el consumo de memoria$ na variable long puede contener valores m#s grandes, pero también necesita m#s memoria$ na variable s/ort usa 1Q bits >dos b"tes?, mientras que una grande usa N bits >cuatro b"tes de memoria?$ Si va a trabajar con valores que no van m#s all# del límite de una variable s/ort, use la variable s/ort$ )s una buena costumbre usar toda la memoria que necesite, pero no usar m#s de la necesaria$
II.2.:. C5-o *e"!"! $0$ v"!i"b#e$ (ntes de poder usar su variable$ :ebe declararla en su c'digo$ (l declarar una variable informa al compilador de +E del tipo variable$
" nombre de su
na variable se declara escribiendo su tipo$ Seguido de alg.n
espacio en blanco "$ a continuaci'n$ :el nombre de la variable$ %ermine la declaraci'n con un punto coma$ (lgunos ejemplos de declaraci'n de variables son19
B"te J"B"teariable4 ;nt alue 1N4 ulong (ver"3arge5umber4 5C%(- 3os espacios en blanco se definen como cualquier n.mero de espacios necesario para mejorar legibilidad del c'digo$
?FERUSON PATTERSON BERES 2<<).@:ebe declarar sus variables dentro de una clase o de una funci'n$ )l siguiente c'digo es v#lido-
+lass J"+1ass G ;ntJ"integerariable4 Staticvoid Jain > ? G Floatot/er ariables4 S"stem$+onsole$Trite3ine >UHelloV @? 4
W
W
5C%(- 6uede declarar una variable donde desee, pero tenga en cuenta que si la declara en una funci'n, como se muestra en la variable (not/er ariable del ejemplo anterior, s'lo el c'digo incluido en esa funci'n podr# trabajar con la variable$ Si la declara dentro de la clase, como en la variable J"integerariable >también en el ejemplo anterior?, todo el c'digo de esa clase podr# trabajar con esa variable$ Si toma el c'digo del ejemplo " le a0ade otra funci'n a la clase, el c'digo de esa nueva funci'n podr# trabajar con la variable J"integerariable pero no podr# trabajar con la variable (not/erariable$ Si esta nueva funci'n intenta acceder a la variable (not/erariable declarada en la funci'n Jain >?, obtendr# el siguiente mensaje de error del +ompilador de +E)rror +S1- )l nombre M(not/erariableM no e!iste en la clase o espacio de nombre MJ" +lassM
20
II.2.;. A$ig"&i5 *e v"#o!e$ " v"!i"b#e$ ?FERUSON PATTERSON BERES 2<<).@)n alg.n punto de su c'digo$ 7uerr# darle a sus variables un valor$ (signar un valor a una variable es sencillo- se escribe el nombre de la variable$ )l símbolo igual el valor " se termina la instrucci'n con un punto " comaJ"ariable X 1N4 6uede asignar un valor a la variable cuando declara la variable;nt J"ariable X 1N4 (prender# otros medios de asignar valores a las variables en las secciones posteriores$ II.2.1<. U$o *e -"t!i&e$ *e v"!i"b#e$
3as matrices simplemente son b"tes de memoria contiguos que almacenan datos a los que se accede usando un índice que est# en la matriz$ )n esta secci'n se analizan las matrices unidimensionales$ Jultidimensionales " escalonadas$
II.2.11. De"!"&i5 *e -"t!i&e$ 0i*i-e$io"#e$ ?FERUSON PATTERSON BERES 2<<).@Suponga que est# escribiendo una aplicaci'n de +E para que los profesores introduzcan las calificaciones de los e!#menes para cada uno de los estudiantes de su clase " quiere declarar variables que almacenen la
puntuaci'n del e!amen de cada
alumno$ +omo la calificaci'n del e!amen est# entre C " 1 puede usar tipos b"te$ Si Su programa admite NP estudiantes en una clase$ Su primer pensamiento puede ser declarar NP variables por separado-
21
B"te %estScoreForStudent14 B"te %estScoreForStudentN4 B"te %estScoreForStudent4 11 $$$ J#s $$$ B"te %estScoreForStudentNP ;
)sto requerir# muc/o tiempo " su c'digo ser# difícil de leer " mantener con todas esas variables$ 3o que necesita es un modo de decir$ MM7uiero tener una colecci'n de NP variables@$ )s decir$ 3o que queremos es una matriz$ na matriz es una colecci'n de variables$ +ada una de las cuales tiene el mismo tipo de variable$ 3as matrices tienen un tama0o$ 7ue especifica cu#ntos elementos pueden contener$ 3a declaraci'n de una matriz es algo así- B"te A %c$stSccresForStudents ;
?FERUSON PATTERSON BERES 2<<).@3a declaraci'n b"te específica que todos los elementos de la matriz sonvalores de tipo b"te$ Jediante los corc/etes se indica al compilador de +E que quiere crear una variable de matriz$ )n vez de una sola variable$ )l identificador %est$scoresForStudents es el nombre de la matriz$ )l elemento que falta en esta declaraci'n es el tama0o de la matriz$ Y,+u#ntos elementos puede contener esta matriz? )l tama0o de la matriz se especifica mediante el operador de +E ne*$ )ste operador indica al compilador de +E que quiere reservar suficiente memoria para una nueva variable- en este caso$ na matriz de NP variables b"teB"te A %est$Score$sForStudents4 %estScoresForStudents X ne* b"te ANP4
22
3a palabra clave b"te indica al compilador que quiere crear una nueva matriz de variables b"te$ Z GN PW indica que quiere reservar suficiente espacio para NP variables b"te$ +ada variable de la matriz se denomina elemento de la matriz$ Z la matriz que acaba de crear contiene NP elementos$ :ebe acordarse de especificar el tipo de matriz cuando use la palabra clave ne*$ (unque "a /a"a especificado el tipo de la matriz cuando la declar'$ Si o/ ida /acerlo$ Cbtendr# un mensaje de error del compilador$ )l c'digoB"te A %estScoresForStudents4 %estScoresForStudents X ne* A-NP4
Hace que el compilador de +E emita el error)rror +S11- Se esperaba un tipo
?FERUSON PATTERSON BERES 2<<).@)ste
error aparece porque el
c'digo no tiene un tipo de variable entre la nueva palabra clave " el tama0o de la matriz$ %ambién debe recordar usar el mismo tipo que us' cuando declar' la matriz$ Si usa un tipo diferente$ Cbtendr# otro mensaje de error$ +omo demuestra el siguiente c'digoB"te A %estScoresForStudents4 %estScoresForStudents X ne* 3ong ANP4 )ste c'digo /ace que el compilador de +E emita el error)rror +S-N9- 5o se puede convertir impl1citamente el t1po [3ong A\ a [b"te AM
23
)l error se produce porque el tipo de la instrucci'n >b"te? no concuerda con el tipo usado en la nueva instrucci'n >3ong?$ 3as matrices como ésta se llaman matrices unidimensionales$ 3as matrices nidimensionales tienen un factor que determina su tama0o$ )n este caso$ el .nico factor que determina el tama0o de la matriz es el n.mero de estudiantes de la clase$
?FERUSON PATTERSON BERES 2<<).@)l valor inicial de los elementos de la matriz queda determinado por los Ka lo res por defecto del tipo de matriz$ +ada elemento de la matriz se inicializa con un valor por defecto de acuerdo con la tabla $N$ +omo esta matriz contiene elementos de tipo b"te$ +ada elemento de la matriz tiene un valor por defecto de C$
II.2.12. C5-o t!"b"j"! &o #o$ v"#o!e$ *e #"$ -"t!i&e$ 0i*i-e$io"#e$
(caba de crear una matriz con NP elementos de tipo b"te$ +ada elemento de la matriz tiene un n.mero$ )l primer elemento de la matriz ocupa el índice cero$ el .ltimo elemento de la matriz es uno menos que el n.mero de elementos de la matriz >en este caso$ el .ltimo elemento es el elemento NR ?$ 3as matrices de +E se llaman matices de /ace cero porque los n.meros de sus elementos empiezan en el cero$
?FERUSON PATTERSON BERES 2<<).@%rabajar con
un elemento
individual de la matriz es sencillo$ 6ara obtener un valor de la matriz$ (cceda a él con el nombre de la variable v el n.mero de la variable entre corc/etes$ +omo se muestra en el siguiente c'digo24
B"te First%estScore4 First%estScore X %estScoresForStudents AC4
)ste c'digo accede al
primer elemento de
la
matriz %estsco=
resForstudents " asigna su valor a la primera variable First%estScore variable$ 6ara poner un valor en la matriz$ Simplemente acceda al elemento usando la misma sinta!is$ 6ero coloque el nombre de la matriz " el n.mero del elemento a la izquierda del signo igual%e$stScore$sFor$Stucl6nt$s A9 Xl4 )ste c'digo almacena el valor 1 en el décimo elemento de la
matriz
%estScoresForStudents$ +E no permite acceder a un elemento que no se encuentre en la matriz$ +omo la matriz que /a definido contiene N? elementos, los n.meros de los elementos posibles van de a NR inclusive$ Si usa un n.mero de elemento inferior a u ma"or que NR$ Cbtendr# un mensaje de tiempo de ejecuci'n como se muestra en el siguiente c'digo%est$Scorc$sFor$Stuclent$s A1X1N4
?FERUSON PATTERSON BERES 2<<).@)ste
c'digo se compila sin
errores$ 6ero al ejecutar la aplicaci'n se produce un error porque no /a" un elemento 1 en su matriz de NP elementos$ +uando se llega a esta instrucci'n, el )ntorno de ejecuci'n com.n >+32? detiene el programa e inicia un mensaje de e!cepci'n)!ception occurred- $S"stem$;nde!CutCf2ange)!ception- (n e!ception t"pe of t"pe S"stem$;nde!CutCf2ange)!ception *as t/ro*n$ ;ncle!CutCf6ange)!ception indica que la aplicaci'n intent' acceder a un elemento con un n.mero de elemento que no tiene sentido para la matriz$ II.2.1). Ii&i"#i+"&i5 *e
v"#o!e$ *e e#e-eto$ *e -"t!i+ 25
?FERUSON PATTERSON BERES 2<<).@Supongamos que quiere crear una matriz de cinco n.meros enteros que el valor de cada elemento sea distinto del que
nos ofrecen por defecto$ 6uede escribir instrucciones
individuales para inicializar los valores de la matriz;nt A J"(rra"4 J"(rra"Xne* intAP4 J"(rra" A X4 J"(rra" A1 X 14 J"(rra" AN X N4 J"(rra" A X 4 J"(rra" AR XR4 Si al escribir el c'digo "a conoce los valores con los que quiere inicializar la matriz, puede especificar los Mal ores en una lista separada por comas " encerrada entre llaves$ 3a lista se coloca en la misma línea que la declaraci'n de matriz$ 6uede poner todo el c'digo anterior en una sola línea escribiendo lo siguiente;ntA J"(rra" X G, 1, N, , RW4
sando esta sinta!is, no especifica el nuevo
operador o el tama0o de la matriz$ )l compilador de +E e!amina su lista de valores " calcula el tama0o de la matriz$ II.2.13.C!e"! A%#i&"&ioe$ *e Fo!-0#"!io$ =i*o>$ Fo!-$ ?Vi$0"# C6@1
3os formularios Tindo*s Forms son la tecnología que se utiliza en isual +E para crear aplicaciones para clientes inteligentes basadas en Tindo*s que se ejecutan en $5)% Frame*orI$ +uando crea un pro"ecto de aplicaci'n para Tindo*s, est# creando una aplicaci'n basada en formularios Tindo*s Forms$ )l prop'sito de este tema es familiarizarse con los elementos del entorno de desarrollo integrado >;:)? de isual +E )!press seg.n se va creando un programa de +E relativamente sencillo utilizando los formularios Tindo*s Forms$ 3os formularios Tindo*s Forms proporcionan los componentes que conforman una interfaz de usuario de aplicaci'n para Tindo*s est#ndar, tales como cuadros de di#logo, men.s, botones " otros muc/os controles$ 1 http://msdn.microsoft.com/es-es/librar/h!4ts42s"#$#s.80%.asp& 26
Fundamentalmente, estos controles son s'lo clases de la biblioteca de clases de $5)% Frame*orI$ 3a vista :ise0ador de isual +E )!press permite arrastrar los controles /asta el formulario principal de la aplicaci'n, así como ajustar su tama0o " posici'n$ +uando se realiza esta acci'n, el ;:) agrega autom#ticamente el c'digo fuente para crear una instancia de la clase apropiada e inicializarla$
II.2.14.
P"!" &!e"! 0" "%#i&"&i5 %"!" =i*o>$ e C6
1$ )n el men. (rc/ivo, /aga clic en 5uevo pro"ecto$ (parecer# el cuadro de di#logo 5uevo pro"ecto$ )n este cuadro de di#logo se muestra la lista de los diferentes tipos de aplicaci'n predeterminados que puede crear isual +E )!press$ N$ Seleccione (plicaci'n de Tindo*s Forms como tipo de pro"ecto$ $ +ambie el nombre de la aplicaci'n$ R$ Haga clic en (ceptar$
II.2.17.It!o*0&&i5 "# Eto!o IDE ?Vi$0"# C6@2
)l entorno de desarrollo integrado >;:)? de isual +E es un conjunto de /erramientas de desarrollo e!puestas a través de una interfaz de usuario com.n$ (lgunas de las /erramientas se comparten con otros lenguajes de isual Studio, " otras, como el compilador de +E, son .nicas de isual +E$ 3a documentaci'n de esta secci'n describe de forma general c'mo utilizar las /erramientas m#s importantes de isual +E mientras se trabaja en el ;:) en distintas fases del proceso de desarrollo$ II.2.18.e!!"-iet"$ *e Vi$0"# C6 2 http://msdn.microsoft.com/es-es/librar/ms173064"#$#s.80%.asp& 27
( continuaci'n se detallan las /erramientas " ventanas m#s importantes de isual +E$ 3as ventanas de la ma"oría de estas /erramientas se pueden abrir desde el men. Ve! $ •
)l )ditor de c'digo, para escribir c'digo fuente$
•
)l compilador de +E, para convertir el c'digo fuente de +E en un programa ejecutable$
•
)l depurador de isual Studio, para probar el programa$
•
)l C0"*!o *e Ge!!"-iet"$ " el Di$e9"*o! , para desarrollar r#pidamente interfaces de usuario con el mouse$
•
)l EH%#o!"*o! *e $o#0&ioe$ , para ver " administrar arc/ivos de pro"ecto " configuraciones$
•
)l Di$e9"*o! *e %!o,e&to$ , para configurar opciones del compilador, rutas de implementaci'n, recursos, etc$
•
3a Vi$t" *e "$e$, para desplazarse por el c'digo fuente seg.n los tipos, no los arc/ivos$
•
3a Vet"" P!o%ie*"*e$, para configurar propiedades " eventos en los controles de la interfaz de usuario$
•
)l )!aminador de objetos, para ver los métodos " clases disponibles en las bibliotecas de vínculos din#micos, incluidos los ensamblados de $5)% Frame*orI " los objetos +CJ$
•
:ocument )!plorer, para e!plorar " buscar la documentaci'n del producto en su equipo local " en ;nternet$
28
II.2.1:.A&&e$o " b"$e$ *e *"to$ ?C6 , J"v"@)
+E " &ava utilizan medios similares para obtener acceso a los datos de las bases de datos$ %anto +E como &ava requieren que un controlador de bases de datos realice operaciones reales con bases de datos$ (dem#s, ambos requieren una cone!i'n con la base de datos, una consulta S73 que se ejecutar# en la cone!i'n con la base de datos " un conjunto de resultados procedentes de la ejecuci'n de la consulta$ )n +E, si se utiliza $5)% Frame*orI, no es necesario cargar controladores C:B+ ni &:B+ para tener acceso a la base de datos$ S'lo /a" que establecer la cadena de cone!i'n para el objeto de cone!i'n a bases de datos, de la siguiente forma+E Static string connectionString X @;nitial +atalogX nort/*ind4 :ata SourceX >local?4 ;ntegrated Securit"XSS6;4@4 Static Sql+onnection cn X ne* Sql+onnection >connectionString?4 )n +E, mediante $5)% Frame*orI, el acceso a los datos se simplifica a.n m#s a través del conjunto de clases proporcionado por (:C$5)%, que admite el 3 http://msdn.microsoft.com/es-es/librar/ms228366"#$#s.80%.asp& 29
acceso a bases de datos con los controladores C:B+, así como también, a través de proveedores C3) :B$ 3as aplicaciones de +E pueden interactuar con bases de datos S73 para la lectura, escritura " b.squeda de datos mediante clases (:C$5)% de $5)% Frame*orI " a través de Jicrosoft :ata (ccess +omponent
>J:(+?$
)l
espacio
de
nombres
"
las
clasesS"stem$:ata$Sql+lient de $5)% Frame*orI facilitan a.n m#s el acceso a las bases de datos de S73 Server$ )n +E, para realizar una operaci'n de lectura de la base de datos, puede utilizar una cone!i'n, un comando " una tabla de datos$ 6or ejemplo, para conectarse a una base de datos de S73 Server con el espacio de nombres S"stem$:ata$Sql+lient, puede utilizar lo siguiente•
na clase Sql+onnection$
•
na consulta, como una clase Sql+ommand$
•
n conjunto de resultados, como una clase :ata%able$
$5)% Frame*orI proporciona :ata(dapter , que re.ne estos tres objetos, de la siguiente forma•
)l objeto Sql+onnection se establece mediante la propiedad de cone!i'n del objeto :ata(dapter$
•
3a
consulta
que
se
ejecutar#
se
especifica
con
la
propiedad Select+ommand de :ata(dapter$ •
)l
objeto :ata%able se
crea
utilizando
el
método Fill del
objeto :ata(dapter$ )l objeto :ata%able contiene los datos del conjunto de resultados devueltos por la consulta$ 6uede recorrer en iteraci'n el objeto :ata%able para tener acceso a las filas de datos usando la colecci'n de filas$
30
6ara compilar " ejecutar el c'digo, necesita lo que se indica a continuaci'n4 de lo contrario, se produce un error en la línea database+onnection$Cpen >?4 " se produce una e!cepci'n$ •
Jicrosoft :ata (ccess +omponents >J:(+? versi'n N$O o posterior$ Si utiliza Jicrosoft Tindo*s ]6 o Tindo*s Server N, "a dispone de J:(+ N$O$ Sin embargo, si utiliza Jicrosoft Tindo*s N, es posible que tenga que actualizar la versi'n de J:(+ instalada en el equipo$ 6ara obtener m#s informaci'n, vea J:(+ ;nstallation$
•
%ener acceso a la base de datos 5ort/*ind de S73 Server " privilegios de seguridad integrados para el nombre de usuario actual que ejecuta el c'digo en un servidor S73 Server local con la base de datos de ejemplo 5ort/*ind instalada$
5amespace :ata(ccess G using S"stem$:ata4 using S"stem$:ata$Sql+lient4 +lass :ata(ccess G ^^%/is is "our database connectionstatic string connectionString X @;nitial +atalogXnort/*ind4:ata SourceX>local?4;ntegrated Securit"XSS6;4@4 static Sql+onnection cn X ne* Sql+onnection >connectionString?4 ^^ %/is is "our command to e!ecutestatic string s+ommand X @S)3)+% %C6 1 3ast5ame F2CJ )mplo"ees C2:)2 BZ )mplo"ee;:@4 ^^ %/is is "our data adapter t/at understands S73 databasesstatic Sql:ata(dapter da X ne* Sql:ata(dapter >s+ommand, cn?4 ^^ %/is is "our table to /old t/e result setstatic :ata%able data%able X ne* :ata%able >?4
31
static void Jain >? G %r" G cn$Cpen >?4 ^^ Fill t/e data table *it/ select statementMs quer" resultsint records(ffected X da$Fill >data%able?4 if >records(ffected _ ? G Foreac/ >:ata2o* dr in data%able$2o*s? G S"stem$+onsole$Trite3ine >dr A?4 W W W +atc/ >Sql)!ception e? G String msg X @@4 For >int iX4 i ` e$)rrors$+ount4 i? G msg X @)rror E@ i @ Jessage- @ e$)rrorsAi$Jessage @Kn@4 W S"stem$+onsole$Trite3ine >msg?4 W Finall" G ;f >cn$StateVX +onnectionState$+losed?
G cn$+lose >?4 W W W W W
II.). METODOLOA II.).1. Meto*o#og'" *e #" ive$tig"&i5
32
6ara la realizaci'n del 6ro"ecto ;ntegrador se considera el aporte de las unidades de aprendizaje de ma"or incidencia$ 6rogramaci'n Crientada a Cbjetos (pp$ )scritorio >Base fundamental para el desarrollo del soft*are?, Base de :atos >nidad de apo"o para la realizaci'n de la Bases de :atos del soft*are?, )structura de :atos >Sirve como aporte para realizar la estructura del (lgoritmo del 6rograma?$
II.).2. Mto*o$ *e #" ive$tig"&i5 )n el pro"ecto /emos utilizado para la investigaci'n el-
Mto*o De$&!i%tivo Jediante este método /emos podido conocer las situaciones " actitudes predominantes de los estudiantes, recopilando datos " organiz#ndolos mediante el uso un soft*are inform#tico educativo de una forma resumida evaluando
" analizando cada una de las encuestas realizadas a los
estudiantes$
II.).). Ti%o *e ive$tig"&i5 Ive$tig"&i5 De C"-%o 3a investigaci'n de campo permiti' apo"arnos en informaciones provenientes de las encuestas a los estudiantes para obtener los resultados de la investigaci'n$
II.).3. T&i&"$ *e #" ive$tig"&i5 E&0e$t" )ste método que abarca preguntas nos permiti' tener informaci'n directa sobre las dificultades que tienen los estudiantes en la unidad de aprendizaje ;ntroducci'n a la 6rogramaci'n, mediante esta técnica podemos saber cu#les son las necesidades del estudiante " como llegar a la soluci'n del problema$
II.3.
PROCEDIMIENTO METODOLOICO
;nicialmente la coordinadora de m'dulo nos proporcion' los temas de investigaci'n los cuales fueron asignados para el pro"ecto integrador, luego 33
nos reunimos con los integrantes del grupo para comenzar a trabajar en dic/o pro"ecto$ 6rocedimos a trabajar en la b.squeda de informaci'n, para luego realizar los datos generales " la introducci'n$ 3uego se procedi' a buscar informaci'n pertinente para la fundamentaci'n del marco te'rico de nuestro tema$ Se procedi' seguidamente a trabajar en el #rbol de problemas, para determinar las causas " efectos de la problem#tica, a resaltar en nuestro pro"ecto integrador, el cual nos indicaba la guía a seguir para determinar los objetivos " la justificaci'n que tendría nuestro pro"ecto integrador$ )l trabajo en equipo que luego se emple' fue para elaboraci'n de las preguntas, para la formulaci'n de nuestra encuesta que se aplicarían a nuestros compa0eros de la carrera de sistemas, pues ellos son los objetos de investigaci'n, se espero la probaci'n de nuestro tutor de pro"ectos para que los eval.e " apruebe$ na vez aplicados las encuestas, se realiz' la tabulaci'n de informaci'n " se obtuvieron resultados4 los cuales se agregaron al 6ro"ecto ;ntegrador, para finalizar el mismo se procede inmediatamente a presentar el borrador ", realizar las diapositivas de presentaci'n bajo la direcci'n del tutor de 6ro"ecto ;ntegrador$ 3a parte central de nuestro pro"ecto integrador es la del dise0o del Soft*are educativo con este tipo juego UBomberman, para lo cual se procedi' a realizar los algoritmos, agregar las preguntas " respuestas que contienen el programa, seguido a esto se procedi' al di0o de pantalla del juego después establecidas las pantallas se procedi' a escribir el c'digo, donde trabajamos con Base de :atos, clases, sobrecargas, /erencias, polimorfismo, fusiones variables, estructuras " vectores para el funcionamiento del mismo$
II.4.
RECURSOS PRESUPUESTOS
34
RUBROS
CANT.
P. UNITARIO
TOTAL
T"#eto 0-"o
)<.<< 1<.<<
Movi#i+"&i5 I-%!evi$to$ E/0i%o$ ite!et CD
)< )
<.7< 1.4<
1:.<< 3.4<
S0-ii$t!o$ o(i&i" C"!t0&Go$ *e tit" eg!o$ C"!t0&Go$ *e tit" " &o#o! C0"*e!o$ Re-"$ *e P"%e# bo* A3
1 1 2 1
Co%i"$ C"!%et"$ Bo#'g!"(o$ Ai##"*o
4< Goj"$ 2 8 1
SUBTOTAL
22<< 2:<< 14< 3:<
<<) <74 <)< 1<<
<<) <74 <)< 1<<
12<.8:
IVA ?12@
13.3;
TOTAL
II.4.1.
22<< 2:<< 14< 3:<
1)4.28
C!oog!"-" *e "&tivi*"*e$
35
Noviemb Diciemb ACTIVIDAD Enero re re
Febrero
> < ? @ > < ? @ > < ? @ > < ? @ Designaci2n del te!a Organi/aci2n de euiB +5sueda de infr!aci2n Ela.raci2n del Blantea!ient 0 fr!ulaci2n del Br.le!a Ela.raci2n de ls .eti9s Ela.raci2n de la usticaci2n Ela.raci2n del !arc te2ric Ela.raci2n de encuestas ABlicar encuestas Rec!endaci nes 0 Cnclusines Re9isi2n del Br0ect ter!inad &re: Sustentaci2n del &r0ect Integradr
III.
RESULTADOS ANALISIS
1. KSi t0vie!" /0e j0+g"! e# %!og!"-" /0e &"#i(i&"&i5 #e *"!'"
36
&RE#3> 10' (,
()*(+(,(
(+
10' 80'
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;
e?erson. A#i$i$ )n esta pregunta por gran ma"oría en un >8? de los encuestados manifestaron que este soft*are serviría de gran aporte para la (utopreparaci'n, un >1? e!presaron que sería buena la idea, puesto que otro >1? de encuestados opinaron que sería regular$
2. KC0# &!ee 0$te* /0e e$ #" -",o! &"0$" *e #" ("#t" *e "0to%!e%"!"&i5
&RE#3< + ( ,((
+ ( @(A(, 10'
+ ( ( ( 40'
50'
37
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis( )l >RN? confirm' que la falta de autopreparaci'n se debe a la evidente UF(3%( :) ;5%)2)S, seguido de un >? de aquellos que responden que se debe a la falta de /erramientas, un peque0o porcentaje del >NP? aseguran que es por falta de un guía$
). KCoo&e 0$te* "#g %!og!"-" *i*&ti&o %"!" "0to%!e%"!"$e
&RE#3?
, 50'
50'
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis ( que dado demostrado con un >P? que los estudiantes se /an familiarizado " tienen un total conocimiento del gran aporte que brindan estos programas, seguido de un mismo porcentaje que desconocen la e!istencia de los mismos$
3. KQ0 t"to &!ee 0$te* /0e 0 %!og!"-" *i*&ti&o %0e*e ",0*"! e e# e$t0*io 38
&RE#3@ 10' B*
A*@
40'
,
50'
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis( Se puede asegurar que en un >P? de encuestados dan como respuesta que el programa a"udaría con el estudio, en un >R? discrepan de que no serviría de muc/o aporte para el estudio " un >1? responden que no a"udaría de nada en el estudio$
4. KC!ee 0$te* /0e e# 0$o *e j0ego$ i(o!-"ti+"*o$ #e ",0*"!'" " -ejo!"! $0 &o-%!e$i5
&RE#3
20' ,
+ (C
10' 70'
39
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis( Se manifiesta que el uso de juegos informatizados a"udaría a mejorar la comprensi'n en los estudios en un >O?, puesto que en un >N? creen que tal vez sirva de a"uda para mejor la comprensi'n en los estudios, seguido de los que piensan de que no a"udaría para lograr lo antes mencionado$
7. KTe %"!e&e *ive!ti*o j0g"! , e$t0*i"! "# -i$-o tie-%o
&RE#3
,10' 10'
+ (C
80'
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis( :e manera contundente podemos revelar que en un alto porcentaje >O? los encuestados afirman que les parece divertido estudiar " jugar al mismo tiempo$ )n un >18? responden que tal vez sea divertido " un >9? afirman que no serviría factible
8. KQ0 ti%o$ *e j0ego$ %!e(ie!e$
40
&RE#3G ,(+(*+(
10' * 40'
30'
A+A(
A(
20'
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis Se nota la inclinaci'n en un >R? que los estudiantes encuestados prefieren juegos multimedia, otros >? de los encuestados prefieren juegos intelectuales, en un >N? les parece mejor los artísticos " un >1? prefieren juegos motores$
:. KC!ee$ /0e $e!'" -$ (&i# " t!"v$ *e# j0ego ete*e! 0" 0i*"* *e "%!e*i+"je
41
&RE#3H
20'
,
+(C
10'
70'
Fuente( ,( (*,* (+ ( (( Encargads( era redd-odr;e?erson. An"lisis( Se certifica que la ma"oría de los encuestados creen que sería m#s f#cil entender una unidad de aprendizaje a través de un juego did#ctico para el estudio en un >O?, un >N? afirman que tal vez serviría de refuerzo
42
para entender una unidad de aprendizaje " un >1? no les parece como una buena opci'n de entender las unidades de aprendizaje$
IV.
CONCLUSIONES
)n ejecuci'n el fin al que aspiramos, es despertar el interés de estudio en los estudiantes, creando un soft*are educativo con la finalidad de estimular e incrementar conocimientos en el desarrollo del ni0o o joven para el desenvolvimiento /umano por medio de un juego pr#ctico " did#ctico a corto plazo " de una manera eficaz$
)n el estudio de metodologías did#cticas se encontr' la inquietud la cual consistía en enfocarse en algo especifico, ning.n soft*are did#ctico /a podido asumir toda la gran amplitud del #rea did#ctica por lo cual se tuvo que analizar " realizar un enfoque a las falencias de nuestra carrera actual, utilizando dos #reas la cuales son 6rogramaci'n )structurada a Cbjetos " )structura de :atos dando así " demostrando que este soft*are concentrado específicamente cumple con el objetivo que es el auto aprendizaje$
(l establecer las estrategias para desarrollar este soft*are se tuvo que meditar sobre el #rea did#ctica de que manera establecer una cone!i'n entre un juego " algo did#ctico por lo cual se desarrollo determinadas estrategias para unir los dos campos como resultados de ellas se obtuvo que el soft*are se divide en dos secciones una enfocada netamente a lo did#ctico " otra en lo divertido del soft*are$
6or .ltimo se /a comprobado que los estudiantes piensan que el apo"o de un juego did#ctico mejoraría la comprensi'n de la materia, tomando en cuenta que los juegos did#cticos forman parte fundamental del aprendizaje del tipo pr#ctico " l'gico$ )sto nos daría la pauta para emplear las diferentes metodologías en la formulaci'n de las frases ocultas dentro del soft*are, como el aprendizaje significativo, " cu"as frases vallan creciendo progresivamente en dificultad$
43
V.
RECOMENDACIONES
)l soft*are UBCJB)2J(5 est# dise0ado para un grupo de usuarios con b#sicos conocimientos en el manejo del computador, se recomienda leer cada una de las instrucciones del juego para el entendimiento del programa " la a"uda del administrador >tutor? para ingresar las frases al juego$
3a formulaci'n de frases por parte del tutor debe /acerse con una referencia de distracci'n suficiente$
+lasificarlas e ingresarlas al banco de preguntas en la base de datos$ Formular frases b#sicas " alternativas absurdas en los niveles del 1= para que sirvan de motivaci'n " diversi'n del usuario$
3as frases deberían asociar conceptos en conocimiento general con conceptos de nuevos conocimientos$
;ntegrar variados campos de conocimientos para no caer en el aburrimiento del usuario$
VI.
BIBLIORAFIA 44
=AUSUBELNOVAANESIAN ?1;:)@$6sicología )ducativa- n punto de vista cognoscitivo >N a ed$?$ Jé!ico- )d$ %2;33(S$
MOTOLA, 2offe :$ 3a autosuperaci'n de los profesionales de la )ducaci'n como tecnología de la )ducaci'n (vanzada$ %esis en opci'n al grado de Jaster en )ducaci'n (vanzada$ ;S6$ )nrique &osé arona$==3a Habana, 199Q$ =JEFFFERUSON BRIANPATTERSON JASONBERES PIERRE
BOUTQUIN , MEETA UPTA ?2<<)@ 3a biblia +E >)dici'n )spa0ola?$Jadrid):$(5(Z($ =FCO.JAVIERCEBALLOS ?2<<4@ +E 3enguaje " (plicaciones >N a ed$?$Jé!ico $)d$ (lfa omega 2a=Ja$ /ttp-^^msdn$microsoft$com^es=es^librar"^/IRtsRNs>vXvs$8?$asp! =/ttp-^^msdn$microsoft$com^es=es^librar"^ms1OQR>vXvs$8?$asp! =/ttp-^^msdn$microsoft$com^es=es^librar"^msNN8QQ>vXvs$8?$asp!
VII.
ANEOS
45
LA FALTA DE
CAUSA S(
EFECT OS(
Falta de !ti9aci2n3 Falta de cnci!ients &ca BreBaraci2n en las institucines educati9as3 Falta de i!Ble!ents 8erra!ientas Falta de una rientaci2n adecuada en la .5sueda de infr!aci2n
Desistir de ls studis A.urri!ient 0 desinterJs Li!ita a alc"/ar triunfs Ning5n tiB de suBeraci2n BersnalK !"s all" de las nr!ales
46
1. KSi t0vie!" /0e j0+g"! e# %!og!"-" /0e &"#i(i&"&i5 #e *"!'" "@ )!celente b@ Bueno &@ 2egular 2. KC0# &!ee 0$te* /0e e$ #" -",o! &"0$" *e #" ("#t" *e "0to%!e%"!"&i5 a? Falta de ;nterés b? Falta de Herramientas c? Falta de
). KCoo&e 0$te* "#g %!og!"-" *i*&ti&o %"!" "0to%!e%"!"$e "@ Si > ? b@ 5o > ? 3. KQ0 t"to &!ee 0$te* /0e 0 %!og!"-" *i*&ti&o %0e*e ",0*"! e e# e$t0*io a? Juc/o b? 6oco c? 5ada
4. KC!ee 0$te* /0e e# 0$o *e j0ego$ i(o!-"ti+"*o$ #e ",0*"!'" " -ejo!"! $0 &o-%!e$i5 47
"@ Si > ? b@ 5o > ? &@ %al vez > ? 7. KTe %"!e&e *ive!ti*o j0g"! , e$t0*i"! "# -i$-o tie-%o "@ Si > ? b@ 5o > ? &@ %al vez > ? 8. KQ0 ti%o$ *e j0ego$ %!e(ie!e$ a? b? c? d?
;ntelectuales (rtísticos Jultimedia Jotores
:. KC!ee$ /0e $e!'" -$ (&i# " t!"v$ *e# j0ego ete*e! 0" 0i*"* *e "%!e*i+"je "@ Si > ? b@ 5o > ? &@ %al vez > ?
FOTOS DE TESTIMONIO DEL TRABAJO CUMPLIDO EN EL PROECTO
48
49