You are on page 1of 41

Tutorial 3: Crear una prueba matemtica

http://msdn.microsoft.com/es-es/library/dd492172.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Tutorial 3: rear una prueba matemtica


Visual Studio 2012
+ersonas "ue lo ,an encontrado &til: - de . En este tutorial! se compila un juego de prueba matemtica en "ue el jugador debe responder a cuatro problemas aritm#ticos aleatorios en un tiempo especificado. $prender a:

%enerar n&meros aleatorios mediante la clase Random. %enerate random numbers using t,e Random class. 'esencadenar eventos mediante un control +roponga una traduccin mejor ontrolar el flujo del programa mediante instrucciones if else. (eali)ar operaciones aritm#ticas bsicas.

uando termine! el programa se parecer al de la ilustracin siguiente. *uego "ue crear en este tutorial

1 de 3

27/02/2013 05:02 p.m.

Tutorial 3: Crear una prueba matemtica

http://msdn.microsoft.com/es-es/library/dd492172.aspx

Nota En este tutorial! se trata tanto /isual 0 como /isual 1asic! por lo "ue deber centrarse en la informacin especfica del lenguaje de programacin "ue use.

Temas relacionados

Ttulo +aso -: rear un pro2ecto 2 agregar eti"uetas al formulario +aso .: rear un problema de suma aleatoria

Descripcin omience por crear el pro2ecto! cambiar las propiedades 2 agregar controles Label. ree un problema de suma "ue genera n&meros aleatorios mediante la clase Random. $gregue un tempori)ador de cuenta atrs para poder limitar el tiempo de la prueba. $gregue un m#todo para comprobar si las respuestas son correctas.

+aso 3: $gregar un tempori)ador de cuenta atrs +aso 3: $gregar el m#todo ,ec4T,e$ns5er67

2 de 3

27/02/2013 05:02 p.m.

Tutorial 3: Crear una prueba matemtica

http://msdn.microsoft.com/es-es/library/dd492172.aspx

+aso 8: $gregar controladores de eventos Enter para los controles 9umeric:p'o5n +aso ;: $gregar un problema de resta

$gregue controladores de eventos para facilitar el uso del programa.

$gregue un problema de resta "ue genere n&meros aleatorios. ompruebe "ue las respuestas son correctas 2 utilice el tempori)ador.

+aso <: $gregar problemas de multiplicacin 2 divisin

$gregue problemas de multiplicacin 2 divisin "ue generan n&meros aleatorios. ompruebe "ue las respuestas son correctas 2 utilice el tempori)ador.

+aso =: +robar otras caractersticas

+ruebe con otras caractersticas! como cambiar colores 2 agregar sugerencias.

Adiciones de comunidad
> .?-3 Microsoft. (eservados todos los derec,os.

3 de 3

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 1 !rear un pro"ecto " agregar eti#uetas al formulario


Visual "tudio *+,*
Este tema a$n no &a recibido ninguna valoracin El primer paso para crear una prueba matemtica es crear el pro"ecto " agregar eti#uetas al formulario.

Para crear un proyecto y agregar etiquetas al formulario


1. En el men$ Archivo% &aga clic en Nuevo proyecto. ). 'i no usa (isual 'tudio Express% primero debe seleccionar un lenguaje. En la lista Plantillas instaladas% seleccione C# o Visual Basic. +. *aga clic en el icono Aplicacin de Windows Forms "% a continuacin% escriba el nombre Prueba matemtica. 0. Estable,ca las propiedades del formulario. 1. !ambie la propiedad Text del formulario a Prue a matem!tica. ). !ambie el tama-o a .// pxeles de anc&o por 0// pxeles de alto mediante la propiedad "i#e o arrastre el mouse &asta #ue vea el tama-o correcto en la es#uina inferior i,#uierda del entorno de desarrollo integrado 123E4. +. Para evitar #ue los usuarios cambien el tama-o del formulario% cambie la propiedad FormBorder"tyle a Fixed$% " estable,ca la propiedad &aximi#eBox en False. .. 5rrastre un control 'a el desde el cuadro de &erramientas "% a continuacin% estable,ca sus propiedades 1. !ambie la propiedad (Name) propiedad a time'a el. Esta eti#ueta aparece como un cuadro en la es#uina superior derec&a del formulario% #ue muestra la cuenta atrs en segundos de la prueba.

1 de 7

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

). !ambie la propiedad Auto"i#e a False para poder modificar personalmente las dimensiones del cuadro. +. !ambie la propiedad Border"tyle a Fixed"in-le para dibujar una lnea alrededor del cuadro. 0. Estable,ca la propiedad "i#e en *++. $+. .. 5rrastre la eti#ueta &acia la es#uina superior derec&a del formulario &asta #ue apare,can las lneas a,ules de separacin. 8. 6orre la propiedad Text &aciendo clic en Text en la ventana Propiedades " presionando la tecla 7ET7O!E'O. 9. !ambie el tama-o de fuente a ,/.0/. *aga clic en el signo ms #ue aparece junto a la propiedad Font en la ventana Propiedades% #ue muestra varias propiedades% incluida la propiedad "i#e% como se muestra en la siguiente imagen. (entana Propiedades con el tama-o de fuente

8. 5 continuacin% arrastre otro control 'a el desde el !uadro de &erramientas " estable,ca sus propiedades 1. !ambie el tama-o de fuente a ,/.0/. ). Estable,ca la propiedad Text en Tiempo restante. +. 5rrstrelo para alinearlo a la i,#uierda de la eti#ueta time'a el.

2 de 7

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

9. 5&ora% agregue los controles para el problema de suma. 5rrastre un control 'a el desde el cuadro de &erramientas "% a continuacin% estable,ca sus propiedades 1. Estable,ca la propiedad Text en 1 1signo de interrogacin4. ). Estable,ca la propiedad Auto"i#e en False. +. Estable,ca la propiedad "i#e en 2+. /+. 0. !ambie el tama-o de fuente a ,3. .. !ambie la propiedad TextAli-n a &iddleCenter. 8. !ambie la propiedad 'ocation a 0/. 0/ para colocarlo en el formulario. 9. !ambie la propiedad (Name) propiedad a plus'e4t'a el. <. 'eleccione la eti#ueta plus'e4t'a el " cpiela. 1Presione !trl:! o bien seleccione Copiar en el men$ 5dicin.4 5 continuacin% realice las acciones siguientes 1. P;guelo tres veces. 1Presione !trl:(% o bien seleccione Pe-ar en el men$ 5dicin.4 ). Organice las tres nuevas eti#uetas para #ue los cuadros est;n en fila a la derec&a de la eti#ueta plus'e4t'a el% utili,ando las lneas de separacin para separarlas " alinearlas. +. !ambie la propiedad Text de la segunda eti#ueta a 6 1signo ms4. 0. !ambie la propiedad (Name) de la tercera eti#ueta a plus7i-ht'a el. .. !ambie la propiedad Text de la cuarta eti#ueta a 8 1signo igual4. =. 5rrastre un control Numeric9p%own desde el !uadro de &erramientas "% a continuacin% &aga lo siguiente 1. !ambie el tama-o de fuente a ,3 "% a continuacin% estr;c&elo para #ue el anc&o sea ,++. ). 5rrstrelo &asta #ue se alinee con los controles 'a el del problema de suma. +. !ambie la propiedad (Name) a suma. 15prenderemos ms cosas acerca del control Numeric9p%own ms adelante.4 5&ora% la prueba tiene una primera fila% como se muestra en la siguiente imagen. Primera fila de la prueba matemtica

3 de 7

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

1/. 'eleccione los cinco controles del problema de suma 1los cuatro controles 'a el " el control Numeric9p%own4 " cpielos. 5 continuacin% realice las acciones siguientes 1. Pegue los controles% con lo #ue se deberan agregar cinco nuevos controles al formulario. ). >os controles deberan seguir estando seleccionados% de modo #ue pueda &acer clic en uno de ellos " arrastrarlos a su lugar para #ue #ueden alineados debajo de los controles de suma. ?tilice las lneas de separacin para proporcionar una distancia suficiente entre las dos filas. +. !ambie la propiedad Text de la segunda eti#ueta a : 1signo menos4. 0. !ambie el nombre de la primera eti#ueta del signo de interrogacin a minus'e4t'a el. .. !ambie el nombre de la segunda eti#ueta de signo de interrogacin a minus7i-ht'a el. 8. !ambie el nombre del control Numeric9p%own a di4erencia. 11. Pegue los cinco controlan dos veces ms "% a continuacin% &aga lo siguiente 1. Para la tercera fila% cambie el nombre de la primera eti#ueta a times'e4t'a el% cambie la propiedad Text de la segunda eti#ueta a ; 1signo de multiplicacin4% cambie el nombre de la tercera eti#ueta a times7i-ht'a el " cambie el nombre del control Numeric9p%own a producto. ). Para la cuarta fila% cambie el nombre de la primera eti#ueta a divided'e4t'a el% cambie la propiedad Text de la segunda eti#ueta a < 1signo de divisin4% cambie el nombre de la tercera eti#ueta a divided7i-ht'a el " cambie el nombre del control Numeric9p%own a cociente.

4 de 7

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

Nota Puede copiar el signo de multiplicacin @ " el signo de divisin A de este tutorial " pegarlos en el 23E. 1). 'e necesita un control ms en el formulario un botn para iniciar la prueba. 5rrastre un control Button desde el !uadro de &erramientas "% a continuacin% estable,ca sus propiedades 1. Estable,ca la propiedad (Name) en startButton. ). Estable,ca la propiedad Text en =niciar la prue a. +. Estable,ca el tama-o de fuente en ,>. 0. Estable,ca la propiedad Auto"i#e en True% para #ue el tama-o del botn se ajuste automticamente al texto. .. 5rrastre el botn &asta la parte inferior del formulario " mu;valo para #ue #uede centrado. 1+. Por $ltimo% &aga clic en el control startButton "% a continuacin% &aga lo siguiente 1. Estable,ca la propiedad Ta =ndex en ,. ). *aga clic en el control Numeric9p%own de suma. +. Estable,ca la propiedad Ta =ndex en *. 0. Estable,ca los dems controles Numeric9p%own estable,ca la propiedad Ta =ndex del control de diferencia en $% la propiedad Ta =ndex del control de producto en >% " la propiedad Ta =ndex del control de cociente en /. 5&ora% el formulario debera tener un aspecto similar a la siguiente imagen. Bormulario de prueba matemtica inicial

5 de 7

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

Nota >a finalidad de la propiedad Ta =ndex es establecer el orden de los controles cuando el usuario presiona la tecla T56. 5bra cual#uier cuadro de dilogo 1por ejemplo% en el men$ Archivo% seleccione A rir4 " presione la tecla T56 varias veces. Observe cmo se mueve el cursor de un control a otro cada ve, #ue se presiona la tecla T56. 5l dise-ar este formulario originalmente% un programador decidi el orden. 10. Para ver cmo funciona la propiedad Ta =ndex% guarde el programa% ejec$telo "% a continuacin% presione la tecla T56 varias veces.

Para continuar o revisar


Para ir al siguiente paso del tutorial% vea Paso ) !rear un problema de suma aleatoria. Para volver al tema de la informacin general% vea Tutorial + !rear una prueba matemtica.

Adiciones de comunidad

6 de 7

27/02/2013 05:02 p.m.

Paso 1: Crear un proyecto y agregar etiquetas al formulario

http://msdn.microsoft.com/es-es/library/dd492178.aspx

C )/1+ Microsoft. 7eservados todos los derec&os.

7 de 7

27/02/2013 05:02 p.m.

Paso 2: Crear un problema de suma aleatoria

http://msdn.microsoft.com/es-es/library/dd492147.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 2 !rear un problema de suma aleatoria


Visual Studio 2012
Este tema a%n no +a recibido ninguna valoracin "a prueba necesita problemas de matemticas. #i la prueba repite los mismos problemas$ no supone ning%n reto. Por ello$ es interesante incluir n%meros aleatorios. &gregue un m'todo denominado StartTheQuiz() (ue rellena los problemas e inicia el tempori)ador de cuenta atrs. Para este paso$ agregaremos un problema de suma aleatoria. "os dems problemas de matemticas * el tempori)ador de cuenta atrs se agregan en pasos posteriores de este tutorial. En el tutorial 2$ +emos creado varios elementos #oundPla*er para un juego de laberinto. Para la prueba matemtica +acemos lo mismo$ salvo (ue en lugar de la clase SoundPlayer$ utili)aremos la clase Random.

Para crear un problema de suma aleatoria


,. !ree un objeto Random utili)ando una instruccin new como la siguiente. C#

public partial class Form1 : Form { // Create a Random object to generate random numbers. Random randomizer = new Random()

&+ora$ +emos agregado un objeto Random al formulario * lo +emos denominado randomizer.

1 de 6

27/02/2013 05:02 p.m.

Paso 2: Crear un problema de suma aleatoria

http://msdn.microsoft.com/es-es/library/dd492147.aspx

Nota En el tutorial del laberinto$ creamos dos componentes #oundPla*er mediante la instruccin new. Esto +ace algo similar. "a %nica diferencia es (ue$ al contrario (ue #oundPla*er$ Random no es un componente ni un control$ de modo (ue no podemos llamarlo as. #e denomina objeto. Probablemente +abr odo la palabra objeto antes. Obtendr ms informacin sobre lo (ue significa en los prximos tutoriales. -e momento$ todo lo (ue necesita saber es (ue cuando el programa utili)a una instruccin new para crear botones$ eti(uetas$ paneles$ elementos Open.ile-ialog$ !olor-ialog$ #oundPla*er o /andom$ e incluso formularios$ el elemento (ue se crea se denomina objeto. "os tutoriales posteriores muestran muc+a ms informacin sobre cmo funcionan estos objetos. 2. &+ora$ al iniciar el formulario$ crea un nuevo objeto Random * le da el nombre randomizer. !omo con los elementos #oundPla*er$ si entramos en un m'todo * comen)amos a escribir randomi)er con un punto 0.1 a continuacin$ se abre una ventana ntelliSense (ue muestra todos los m'todos del objeto Random a los (ue se puede llamar. El m'todo Ne!t() se utili)a como se indica a continuacin. M'todo 2ext

!uando se llama a random"Ne!t(#0)$ se obtiene un n%mero aleatorio (ue es menor (ue 34 0del 4 al 561. ;. Pronto compilaremos un m'todo para comprobar las respuestas$ de modo (ue el programa tiene (ue recordar (u' n%meros +a elegido para los problemas. &gregue un valor de tipo integer 0denominado valor de tipo int en !7 o 8nteger en 9isual :asic1 denominado addend1 * otro denominado addend2 al formulario 0igual (ue agreg el objeto Random denominado randomizer1$ como sigue. C#

2 de 6

27/02/2013 05:02 p.m.

Paso 2: Crear un problema de suma aleatoria

http://msdn.microsoft.com/es-es/library/dd492147.aspx

// Create a Random object to generate random numbers. Random randomizer = new Random() // !"ese ints will store t"e numbers // #or t"e addition problem. int addend1 int addend$

Nota <n valor de tipo int 08nteger1 se utili)a para almacenar un valor num'rico positivo o negativo. Puede contener cual(uier n%mero comprendido entre el =2,5>5?;@5? * el 2,5>5?;@5>. #lo puede almacenar los n%meros enteros * no los decimales. 5. "uego$ agregue un m'todo denominado StartTheQuiz() (ue utili)a el m'todo Ne!t() del objeto Random para elegir dos n%meros * colocarlos en las eti(uetas. Aradualmente ir rellenando todos los problemas e iniciar el tempori)ador$ as (ue debe agregar un comentario. -ebe tener este aspecto C#

/// %summar&' /// (tart t"e )uiz b& #illing in all o# t"e problems /// and starting t"e timer. /// %/summar&' public *oid (tart!"e+uiz() { // Fill in t"e addition problem. addend1 = randomizer.,e-t(.1) addend$ = randomizer.,e-t(.1) plus/e#t/abel.!e-t = addend1.!o(tring() plusRig"t/abel.!e-t = addend$.!o(tring() sum.0alue = 1 2

3 de 6

27/02/2013 05:02 p.m.

Paso 2: Crear un problema de suma aleatoria

http://msdn.microsoft.com/es-es/library/dd492147.aspx

Nota /ecuerde (ue +a llamado a randomizer"Ne!t(#1). El motivo de utili)ar 3, * no 34 es (ue los dos n%meros sumen una respuesta (ue est' comprendida entre el 4 * el ,44. #i pasa 34 al m'todo Ne!t()$ elegir un n%mero del 4 al 56$ de modo (ue ma*or respuesta posible sera 6?$ * no ,44. -espu's de ejecutarse las dos primeras instrucciones del m'todo$ cada uno de los dos valores de tipo int 08nteger1$ addend, * addend2$ contiene un n%mero aleatorio del 4 al 34. .ij'monos con ms atencin en estas instrucciones. C#

plus/e#t/abel.!e-t = addend1.!o(tring() plusRig"t/abel.!e-t = addend$.!o(tring()

"as instrucciones establecen las propiedades Te!t de las dos eti(uetas plus$ $lus%e&t%a'el * $lusRi(ht%a'el$ para (ue muestren los dos n%meros aleatorios. Ba* (ue utili)ar el m'todo ToStrin(() del valor int 08nteger1 para convertirlo en texto 0en programacin$ string$ o cadena$ significa texto1$ por(ue los controles %a'el %nicamente muestran texto$ * no n%meros. 3. El botn de inicio debe iniciar la prueba. Para ello$ va*a al -iseCador de DindoEs .orms * +aga doble clic en el botn$ a fin de agregar un controlador de eventos Cli)*. & continuacin$ agregue las dos instrucciones siguientes. C#

pri*ate *oid start3utton4Clic5(object sender6 7*ent8rgs e) { (tart!"e+uiz() start3utton.7nabled = #alse 2

4 de 6

27/02/2013 05:02 p.m.

Paso 2: Crear un problema de suma aleatoria

http://msdn.microsoft.com/es-es/library/dd492147.aspx

!onoce lo (ue +ace la primera instruccin "lama al nuevo m'todo de StartTheQuiz() . "a segunda instruccin establece la propiedad de +a'ilitada de control de )la,e ini)ial a -also. !on ello se des+abilita el botn$ de modo (ue el usuario no pueda +acer clic en 'l. -e esta forma$ el usuario puede +acer clic en el botn de inicio una sola ve). & continuacin$ el botn aparece atenuado * no est disponible$ * el usuario debe finali)ar la prueba antes de (ue se agote el tiempo 0o cerrar el programa1. @. &+ora$ guarde * ejecute el programa. Baga clic en el botn de inicio. -ebe aparecer un problema de suma aleatoria$ como se muestra en la siguiente imagen. Problema de suma aleatoria

Para continuar o revisar


Para ir al siguiente paso del tutorial$ vea Paso ; &gregar un tempori)ador de cuenta atrs. Para volver al paso anterior del tutorial$ vea Paso , !rear un pro*ecto * agregar eti(uetas al formulario.

Adiciones de comunidad

5 de 6

27/02/2013 05:02 p.m.

Paso 2: Crear un problema de suma aleatoria

http://msdn.microsoft.com/es-es/library/dd492147.aspx

F 24,; Microsoft. /eservados todos los derec+os.

6 de 6

27/02/2013 05:02 p.m.

Paso 3: Agregar un temporizador de cuenta atrs

http://msdn.microsoft.com/es-es/library/dd492144.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 3 !gregar un tempori"ador de cuenta atrs


Visual Studio 2012
Personas %ue lo *an encontrado &til + de , #omo esta prueba tiene lmite de tiempo$ vamos a agregar un tempori"ador de la cuenta atrs. Es preciso %ue el programa realice el seguimiento del n&mero de segundos %ue %uedan a medida %ue el juego progresa.

Para agregar un temporizador de cuenta atrs


+. !gregue un valor de tipo int '(nteger) denominado timeLeft$ como *emos *ec*o previamente. El cdigo debe tener un aspecto parecido al siguiente. C#

public partial class Form1 : Form { // Create a Random object to generate random numbers. Random randomizer = new Random() // !"ese ints will store t"e numbers // #or t"e addition problem. int addend1 int addend$ // !"is int will %eep trac% o# t"e time le#t. int time&e#t

1 de 5

27/02/2013 05:02 p.m.

Paso 3: Agregar un temporizador de cuenta atrs

http://msdn.microsoft.com/es-es/library/dd492144.aspx

,. !*ora$ *a- %ue agregar algo %ue cuente el tiempo de verdad$ como un tempori"ador. .a-a al /ise0ador de 1indo2s 3orms - arrastre un control Timer del #uadro de *erramientas 'en la categora Componentes) *asta el formulario. !parecer en el rea gris de la parte inferior del /ise0ador de 1indo2s 3orms. 3. 4aga clic en el icono timer1 %ue acaba de agregar - estable"ca la propiedad Interval en 1000. Esto *ace %ue el evento Tic5 se desencadene cada segundo. ! continuacin$ *aga doble clic en el icono para agregar el controlador de eventos Tic5. El (/E cambiar al editor de cdigo - saltar al nuevo m6todo de control de eventos. !gregue las instrucciones siguientes. C#

pri'ate 'oid timer1(!ic%(object sender) *'ent+rgs e) { i# (time&e#t , -) { // .ispla/ t"e new time le#t // b/ updating t"e !ime &e#t label. time&e#t = time&e#t 0 1 time&abel.!e1t = time&e#t 2 3 seconds3 4 else { // 5# t"e user ran out o# time) stop t"e timer) s"ow // a 6essage7o1) and #ill in t"e answers. timer1.8top() time&abel.!e1t = 3!ime9s up:3 6essage7o1.8"ow(3;ou didn9t #inis" in time.3) 38orr/3) sum.<alue = addend1 2 addend$ start7utton.*nabled = true 4 4

7eg&n lo %ue *emos agregado$ cada segundo el tempori"ador comprobar si se *a agotado el tiempo. Para ello$ comprueba si el valor de tipo int '(nteger) de timeLeft es ma-or %ue 8. 7i lo es$ %ueda tiempo. En primer lugar$ el tempori"ador resta + a time9eft -$ a continuacin$ actuali"a la propiedad Text del control timeLabel para mostrar al usuario cuntos segundos %uedan. 7i no %ueda tiempo$ el tempori"ador se detiene - cambia el texto del control timeLabel de modo %ue muestre %ue se agot

2 de 5

27/02/2013 05:02 p.m.

Paso 3: Agregar un temporizador de cuenta atrs

http://msdn.microsoft.com/es-es/library/dd492144.aspx

el tiempo. !parecer un cuadro de mensaje %ue indicar al usuario %ue la prueba *a finali"ado. 7e revela la respuesta. En este caso$ se suman addend+ - addend,. 9a propiedad Enabled del control startButton se establece en true$ para %ue botn vuelva a estar disponible. /e ese modo$ el usuario puede volver a empe"ar la prueba. 4emos agregado una instruccin if else$ %ue es la manera de indicar a los programas %ue tomen decisiones. :na instruccin if else tiene el siguiente aspecto. VB 5# (somet"ing /our program will c"ec%) !"en 9 statements t"at will get e1ecuted 9 i# t"e t"ing t"at t"e program c"ec%ed is true *lse 9 statements t"at will get e1ecuted 9 i# t"e t"ing t"at t"e program c"ec%ed is =>! true *nd 5#

C# i# (somet"ing /our program will c"ec%) { // statements t"at will get e1ecuted // i# t"e t"ing t"at t"e program c"ec%ed is true 4 else { // statements t"at will get e1ecuted // i# t"e t"ing t"at t"e program c"ec%ed is =>! true 4

.amos a fijarnos con ms atencin en la instruccin %ue *emos agregado en el blo%ue else$ para mostrar la respuesta al problema de suma. C#

sum.<alue = addend1 2 addend$

3 de 5

27/02/2013 05:02 p.m.

Paso 3: Agregar un temporizador de cuenta atrs

http://msdn.microsoft.com/es-es/library/dd492144.aspx

#omo probablemente sabr$ addend1 2 addend$ suma los dos valores. 9a primera parte 'sum.<alue) utili"a la propiedad Value del control Numeri !p"o#n para mostrar la respuesta correcta. 9a propiedad Value se utili"a de nuevo ms tarde$ para comprobar las respuestas de la prueba. :n control Numeri !p"o#n facilita al usuario la escritura de n&meros. Este es el motivo por el %ue se utili"a este control para las respuestas a los problemas de matemticas. /ado %ue todas las respuestas son n&meros del 8 al +88$ se dejan las propiedades predeterminadas $inimum - $aximum establecidas en 8 - +88. Esto *ace %ue el control &nicamente permita al usuario escribir un n&mero del 8 al +88. #omo las respuestas solo pueden ser n&meros enteros$ la propiedad "e imal%la es se deja establecida en 8$ lo %ue significa %ue el usuario no puede escribir decimales. '7i desea permitir %ue el usuario escriba 3$+;+ pero no 3$+;+<$ podra establecer la propiedad "e imal%la es en 3.) ;. !gregue tres lneas al final de m6todo StartT&e'ui()*$ de modo %ue el cdigo tenga este aspecto. C#

/// ?summar/, /// 8tart t"e @uiz b/ #illing in all o# t"e problems /// and starting t"e timer. /// ?/summar/, public 'oid 8tart!"eAuiz() { // Fill in t"e addition problem. addend1 = randomizer.=e1t(B1) addend$ = randomizer.=e1t(B1) plus&e#t&abel.!e1t = addend1.!o8tring() plusRig"t&abel.!e1t = addend$.!o8tring() sum.<alue = // 8tart t"e timer. time&e#t = Ctime&abel.!e1t = 3C- seconds3 timer1.8tart() 4

!*ora$ al empe"ar la prueba$ establece el valor de tipo int '(nteger) de timeLeft en 38 - cambia la propiedad Text del control

4 de 5

27/02/2013 05:02 p.m.

Paso 3: Agregar un temporizador de cuenta atrs

http://msdn.microsoft.com/es-es/library/dd492144.aspx

timeLabel a 38 segundos. ! continuacin$ llama al m6todo Start)* del control Timer para iniciar la cuenta atrs. 'Todava no comprueba la respuesta$ esto viene despu6s.) <. =uarde - ejecute el programa. !l *acer clic en el botn de inicio$ el tempori"ador debera iniciar la cuenta atrs. #uando se agota el tiempo$ la prueba finali"a - se muestra la respuesta. En la siguiente imagen se muestra la prueba en marc*a. Prueba matemtica en marc*a

Para continuar o revisar


Para ir al siguiente paso del tutorial$ vea Paso ; !gregar el m6todo #*ec5T*e!ns2er'). Para volver al paso anterior del tutorial$ vea Paso , #rear un problema de suma aleatoria.

Adiciones de comunidad
> ,8+3 Microsoft. ?eservados todos los derec*os.

5 de 5

27/02/2013 05:02 p.m.

Paso 4: Agregar el mtodo CheckTheAnswer()

http://msdn.microsoft.com/es-es/library/dd492165.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 4 !gregar el m"todo #$ec%T$e!ns&er'(


Visual Studio 2 !2
Este tema a4n no $a recibido ninguna valoracin Es preciso )ue la prueba compruebe si el usuario responde correctamente. !fortunadamente* escribir m"todos )ue reali+an un clculo simple* como el m"todo CheckTheAnswer() * no es difcil.

Nota Para )uienes estn reali+ando este tutorial en ,isual -asic* cabe destacar )ue* como este m"todo devuelve un valor* en lugar de la palabra clave Sub usual debern utili+ar la palabra clave Function. .ealmente es as de sencillo las subrutinas no devuelven valores* las funciones* s.

Para agregar el mtodo CheckTheAnswer()


/. !gregue el m"todo CheckTheAnswer()* )ue suma addend/ 0 addend1* 0 comprueba si la adicin es igual al valor del control NumericUpDown de suma. 2i la suma es igual* el m"todo devuelve true3 si no* devuelve false. El cdigo debe tener un aspecto parecido al siguiente. C"

/// <summary> /// Check the answer to see if the user got everything right. /// </summary> /// <returns>True if the answer's correct, false otherwise.</returns> private bool CheckTheAnswer ! " if a##en#$ % a##en#& '' sum.(alue!

1 de 4

27/02/2013 05:02 p.m.

Paso 4: Agregar el mtodo CheckTheAnswer()

http://msdn.microsoft.com/es-es/library/dd492165.aspx

return true) else return false) *

El programa debe llamar a este m"todo para comprobar si el usuario respondi correctamente. Para ello* se agrega i# else a la instruccin. 5a instruccin tiene un aspecto parecido al siguiente. C"

if "

CheckTheAnswer !! // statements that will get e+ecute# // if the answer is correct

* else if " // // * else " // *

time,eft > -! statements that will get e+ecute# if there's still time left on the timer

statements that will get e+ecute# if the timer ran out

1. 5uego* se modifica el controlador de eventos Tic% del tempori+ador para comprobar la respuesta. El nuevo controlador de eventos con comprobacin de respuesta debera incluir lo siguiente. C"

private voi# timer$.Tick ob/ect sen#er, 0ventArgs e! " if CheckTheAnswer !! "

2 de 4

27/02/2013 05:02 p.m.

Paso 4: Agregar el mtodo CheckTheAnswer()

http://msdn.microsoft.com/es-es/library/dd492165.aspx

// 1f the user got the answer right, stop the timer // an# show a 2essage3o+. timer$.4top !) 2essage3o+.4how 56ou got all the answers right75, 5Congratulations5!) start3utton.0nable# ' true) * else if time,eft > -! " // 8ecrease the time left by one secon# an# #isplay // the new time left by up#ating the Time ,eft label. time,eft99) time,abel.Te+t ' time,eft % 5 secon#s5) * else " // 1f the user ran out of time, stop the timer, show // a 2essage3o+, an# fill in the answers. timer$.4top !) time,abel.Te+t ' 5Time's up75) 2essage3o+.4how 56ou #i#n't finish in time.5, 54orry5!) sum.(alue ' a##en#$ % a##en#&) start3utton.0nable# ' true) * *

!$ora* si el controlador de eventos del tempori+ador detecta )ue el usuario respondi correctamente* detiene el tempori+ador* muestra un mensaje de felicitacin 0 $ace )ue el botn de inicio vuelva a estar disponible. 9. 6uarde 0 ejecute el programa. 7nicie el juego 0 escriba la respuesta correcta al problema de suma.

Nota !l escribir la respuesta* puede )ue observe algo extra8o en el control NumericUpDown. 2i empie+a a escribir sin seleccionar toda la respuesta* el cero no desaparece 0 $a0 )ue eliminarlo manualmente. #orregiremos esto ms adelante en este tutorial. 4. !l escribir la respuesta correcta* debe abrirse el cuadro de mensaje* detenerse el tempori+ador 0 volver a estar disponible el

3 de 4

27/02/2013 05:02 p.m.

Paso 4: Agregar el mtodo CheckTheAnswer()

http://msdn.microsoft.com/es-es/library/dd492165.aspx

botn de inicio. :aga clic de nuevo en el botn de inicio para asegurarse de )ue suceda as.

Para continuar o revisar


Para ir al siguiente paso del tutorial* vea Paso ; !gregar controladores de eventos Enter para los controles <umeric=p>o&n. Para volver al paso anterior del tutorial* vea Paso 9 !gregar un tempori+ador de cuenta atrs.

Adiciones de comunidad

? 1@/9 Microsoft. .eservados todos los derec$os.

4 de 4

27/02/2013 05:02 p.m.

Paso 5: Agregar controladores de eventos Enter para los controles NumericUpDown

http://msdn.microsoft.com/es-es/library/dd492138.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 5 !gregar controladores de eventos Enter para los controles "umeric#p$o%n


Visual Studio 2012
Este tema a(n no &a recibido ninguna valoracin Posiblemente se &abr fijado en 'ue al escribir n(meros en el control NumericUpDown sucede algo extra)o. Para corregirlo* se agrega un controlador de eventos Enter.

Para ver el comportamiento del control NumericUpDown


-. Ejecute el programa e inicie el juego. El control NumericUpDown de la suma debera tener un cursor parpadeante en su interior junto al n(mero 0 +cero,. 7. Escriba 3 aparecer 30. Escriba 5 aparecer 350. .in embargo* despu/s de un segundo cambiar a 100. !ntes de corregir este problema* piense en lo 'ue est sucediendo. Piense por 'u/ el 0 no desapareci cuando escribi 3. Piense por 'u/ 350 se &a cambiado por 100* 0 por 'u/ se &a producido un retraso antes del cambio.

Nota !un'ue puede parecer un comportamiento extra)o* &a0 una explicacin. !l &acer clic en el botn de inicio* la propiedad Enabled del botn est establecida en False1 el botn aparece atenuado 0 no est disponible. El programa busca el control con el siguiente valor de Tab2ndex ms bajo* el control NumericUpDown de la suma* 0 cambia el foco a ese control. 3uando se presiona la tecla T!4 para ir a un control NumericUpDown* el cursor se sit(a automticamente al principio del control1 este es el motivo por el cual los n(meros 'ue se escriben aparecen a la i5'uierda 0 no a la derec&a. 3uando se escribe un n(mero encima de la propiedad MaximumValue* 'ue est establecida en -66* reempla5a el n(mero escrito con el valor mximo.

1 de 3

27/02/2013 05:03 p.m.

Paso 5: Agregar controladores de eventos Enter para los controles NumericUpDown

http://msdn.microsoft.com/es-es/library/dd492138.aspx

Para agregar un controlador de eventos Enter para el control NumericUpDown


-. ! fin de evitar este comportamiento extra)o 0 facilitar el uso del programa* agregue un controlador para cada evento Enter de cada control NumericUpDown. #tilice la pgina E entos del el cuadro de dilogo !ropiedades para agregar un controlador de eventos Enter denominado answer"Enter para el control NumericUpDown de suma. 3uadro de dilogo Propiedades

El cdigo debe tener este aspecto. #$

private void answer_Enter(object sender, EventArgs e) { // Select the whole answer in the Numeric p!own control" Numeric p!own answer#o$ % sender as Numeric p!own& i' (answer#o$ (% null) { int length)'Answer % answer#o$"*alue"+oString()",ength& answer#o$"Select(-, length)'Answer)&

2 de 3

27/02/2013 05:03 p.m.

Paso 5: Agregar controladores de eventos Enter para los controles NumericUpDown

http://msdn.microsoft.com/es-es/library/dd492138.aspx

/ /

!un'ue inicialmente pare5ca complejo* resulta ms fcil de entender si se examina paso a paso. En primer lugar* fjese en la parte superior del m/todo object sender en 38 o sender As S.stem")bject en 9isual 4asic. Esto significa 'ue dentro del m/todo* cada ve5 'ue se utili5a sender* &ace referencia al control NumericUpDown cu0o evento Enter se desencadena. !s 'ue* en la primera lnea del m/todo* se especifica 'ue no se trata de un simple objeto* sino 'ue es concretamente un control NumericUpDown. +3ada control NumericUpDown es un objeto* pero no todos los objetos son un control NumericUpDown., En la lnea siguiente se comprueba si se &a llevado a cabo correctamente la conversin +de tipos, de ans%er4ox de un objeto a un control NumericUpDown. .i la conversin de tipos no &a sido correcta* su valor sera null +38, o "ot&ing +9isual 4asic,. En la tercer lnea se busca la longitud de la respuesta 'ue se muestra actualmente en el control NumericUpDown. En la cuarta lnea se ordena al control NumericUpDown 'ue seleccione la respuesta. !&ora* cuando el usuario navega al control* desencadena este evento* lo 'ue provoca 'ue se seleccione la respuesta. En cuanto el usuario empie5a a escribir* se borra la respuesta anterior 0 se reempla5a con la nueva. 7. #na ve5 'ue se &a0a implementado este controlador de eventos* va0a al $ise)ador de :indo%s ;orms 0 seleccione el control NumericUpDown de diferencia. 9a0a a la pgina E entos del cuadro de dilogo !ropiedades* desplcese &acia abajo &asta el evento Enter 0 seleccione el controlador de eventos 'ue acaba de agregar. <. ! continuacin* &aga lo mismo para los controles NumericUpDown del producto 0 del cociente. >. =uarde 0 ejecute el programa. El comportamiento extra)o 0a no se debera producir.

Para continuar o revisar


Para ir al siguiente paso del tutorial* vea Paso ? !gregar un problema de resta. Para volver al paso anterior del tutorial* vea Paso > !gregar el m/todo 3&ec@T&e!ns%er+,.

Adiciones de comunidad
A 76-< Microsoft. Beservados todos los derec&os.

3 de 3

27/02/2013 05:03 p.m.

Paso 6: Agregar un problema de resta

http://msdn.microsoft.com/es-es/library/dd492142.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 6 !gregar un problema de resta


Visual Studio 2012
Este tema a$n no .a recibido ninguna valoracin Para agregar un problema de resta" necesita

!lmacenar los valores de resta. #enerar n$meros aleatorios para el problema %& asegurarse de 'ue la respuesta est( comprendida entre ) & *))+. !ctuali,ar el m(todo 'ue comprueba las respuestas para 'ue compruebe tambi(n el nuevo problema de resta. !ctuali,ar el controlador eventos Tic- del tempori,ador para 'ue rellene la respuesta correcta cuando se agote el tiempo.

Para agregar un problema de resta


*. En primer lugar" se necesita un lugar donde almacenar los valores" as 'ue agregue dos valores de tipo int %Enteros+ para el problema de resta al formulario. El nuevo cdigo aparece entre los enteros de suma & el entero del tempori,ador. El cdigo debe tener este aspecto. C#

public partial class Form1 : Form { // Create a Random object to generate random numbers. Random randomizer = new Random() // !"ese ints will store t"e numbers // #or t"e addition problem.

1 de 6

27/02/2013 05:03 p.m.

Paso 6: Agregar un problema de resta

http://msdn.microsoft.com/es-es/library/dd492142.aspx

int addend1 int addend$ // !"ese ints will store t"e numbers // #or t"e subtraction problem. int minuend int subtra"end // !"is int will %eep trac% o# t"e time le#t. int time&e#t

Nota /os nombres de los nuevosminuendo & sustraendo0 t(rminos de programacin & sustraendo+. 1e trata de los nombres utili,ados tradicionalmente en aritm(tica para el n$mero 'ue se resta %el substraendo+ & el n$mero del 'ue se resta %el minuendo+. /a diferencia es el minuendo menos el sustraendo. Puede utili,ar otros nombres" por'ue el programa no re'uiere nombres especficos para los valores de tipo int" los controles" los componentes o los m(todos. 2a& algunas reglas %por ejemplo" los nombres no pueden comen,ar con dgitos+" pero en general" podra utili,ar nombres como x*" x3" x4" x5" etc. 1in embargo" sera difcil leer el cdigo & casi imposible reali,ar el seguimiento de los problemas. Ms adelante en este tutorial utili,aremos los t(rminos tradicionales para la multiplicacin %multiplicand 6 multiplier 7 product" multiplicando 6 multiplicador 7 producto+ & la divisin %dividend 8 divisor 7 'uotient" dividendo 8 divisor 7 cociente+. 3. ! continuacin" modifi'ue el m(todo StartTheQuiz() para rellenar un problema de resta aleatorio. El nuevo cdigo aparece tras el comentario 9:ill in t.e subtraction problem9. El cdigo debe tener este aspecto. C#

/// 'summar() /// *tart t"e +uiz b( #illing in all o# t"e problems /// and starting t"e timer. /// '/summar() public ,oid *tart!"e-uiz() { // Fill in t"e addition problem. addend1 = randomizer..e/t(01) addend$ = randomizer..e/t(01) plus&e#t&abel.!e/t = addend1.!o*tring()

2 de 6

27/02/2013 05:03 p.m.

Paso 6: Agregar un problema de resta

http://msdn.microsoft.com/es-es/library/dd492142.aspx

plusRig"t&abel.!e/t = addend$.!o*tring() sum.1alue = 2 // Fill in t"e subtraction problem. minuend = randomizer..e/t(13 121) subtra"end = randomizer..e/t(13 minuend) minus&e#t&abel.!e/t = minuend.!o*tring() minusRig"t&abel.!e/t = subtra"end.!o*tring() di##erence.1alue = 2 // *tart t"e timer. time&e#t = 42 time&abel.!e/t = 542 seconds5 timer1.*tart() 6

Este cdigo utili,a el m(todo Next() de la clase Random de una forma algo distinta. !l darle dos valores" elige al a,ar uno 'ue sea ma&or o igual 'ue el primero & menor 'ue el segundo. /a siguiente lnea elige un n$mero aleatorio del * al *)) & lo almacena en el minuendo. C#

minuend = randomizer..e/t(13 121)

1e puede llamar al m(todo Next() de la clase Random de varias formas. ;uando se puede llamar a un m(todo de ms de una manera" se denomina mtodo sobrecargado. Puede utili,ar <ntelli1ense para explorar esta posibilidad. :ij(monos de nuevo en la informacin sobre .erramientas de la ventana IntelliSense del m(todo Next(). <nformacin sobre .erramientas de la ventana <ntelli1ense

3 de 6

27/02/2013 05:03 p.m.

Paso 6: Agregar un problema de resta

http://msdn.microsoft.com/es-es/library/dd492142.aspx

Observe 'ue la informacin sobre .erramientas muestra (+ 2 so re!ar"as). Esto significa 'ue .a& dos formas ms de llamar al m(todo Next() . !l escribir el nuevo cdigo para el m(todo StartTheQuiz()" puede ver ms informacin. En cuanto escriba randomizer..e/t(3 aparecer la ventana <ntelli1ense. Presione las teclas de direccin !==<>! & !>!?O para recorrer cclicamente las sobrecargas" como se muestra en la siguiente imagen. 1obrecargas en la ventana <ntelli1ense

/a de la imagen anterior es la 'ue deseamos utili,ar" por'ue permite especificar un valor mnimo & mximo. 4. Modifi'ue el m(todo Che!#The$ns%er() para 'ue compruebe si la respuesta de la resta es correcta. El cdigo debe tener este aspecto. C#

/// 'summar() /// C"ec% t"e answer to see i# t"e user got e,er(t"ing rig"t. /// '/summar() /// 'returns)!rue i# t"e answer7s correct3 #alse ot"erwise.'/returns) pri,ate bool C"ec%!"e8nswer()

4 de 6

27/02/2013 05:03 p.m.

Paso 6: Agregar un problema de resta

http://msdn.microsoft.com/es-es/library/dd492142.aspx

{ i# ((addend1 9 addend$ == sum.1alue) :: (minuend ; subtra"end == di##erence.1alue)) return true else return #alse 6

&& es el operador lo"i!al and de @isual ;A. En @isual >asic" el operador e'uivalente es $nd$lso. E'uivale a decir" 91i addend* ms addend3 es igual al valor de la suma BumericCpDoEn" & si el minuendo menos el sustraendo es igual al valor de la diferencia BumericCpDoEn9. El m(todo Che!#The$ns%er() devuelve true $nicamente si el problema de suma es correcto & el problema de resta es correcto. 5. ;ambie la $ltima parte del controlador de evento Tic- del tempori,ador de modo 'ue rellene la respuesta correcta cuando se agote el tiempo. El cdigo debe tener este aspecto. C#

else { // <# t"e user ran out o# time3 stop t"e timer3 s"ow // a =essage>o/3 and #ill in t"e answers. timer1.*top() time&abel.!e/t = 5!ime7s up?5 =essage>o/.*"ow(5@ou didn7t #inis" in time.53 5*orr(5) sum.1alue = addend1 9 addend$ di##erence.1alue = minuend ; subtra"end start>utton.Anabled = true 6

F. #uarde & ejecute el cdigo. !.ora" el programa deber incluir un problema de resta" como se muestra en la siguiente imagen. ;uestionario de matemticas con un problema de resta

5 de 6

27/02/2013 05:03 p.m.

Paso 6: Agregar un problema de resta

http://msdn.microsoft.com/es-es/library/dd492142.aspx

Para continuar o revisar


Para ir al siguiente paso del tutorial" vea Paso G !gregar problemas de multiplicacin & divisin. Para volver al paso anterior del tutorial" vea Paso F !gregar controladores de eventos Enter para los controles BumericCpDoEn.

Adiciones de comunidad
H 3)*4 Microsoft. =eservados todos los derec.os.

6 de 6

27/02/2013 05:03 p.m.

Paso 7: Agregar problemas de multiplicacin y divisin

http://msdn.microsoft.com/es-es/library/dd492175.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 7 !gregar problemas de multiplicacin " divisin


Visual Studio 2012
Este tema a*n no +a recibido ninguna valoracin !ntes de comen#ar este procedimiento$ piense en cmo agregar los problemas de multiplicacin " divisin. Piense en el paso inicial$ %ue re%uiere almacenar valores.

Para agregar problemas de multiplicacin y divisin


). !gregue cuatro valores de tipo int &'nteger( al formulario. El cdigo debe tener este aspecto. C#

public partial class Form1 : Form { // Create a Random object to generate random numbers. Random randomizer = new Random() // !"ese ints will store t"e numbers #or t"e addition problem. int addend1 int addend$ // !"ese ints will store t"e numbers #or t"e subtraction problem. int minuend int subtra"end // !"ese ints will store t"e numbers #or t"e multiplication problem. int multiplicand

1 de 6

27/02/2013 05:03 p.m.

Paso 7: Agregar problemas de multiplicacin y divisin

http://msdn.microsoft.com/es-es/library/dd492175.aspx

int multiplier // !"ese ints will store t"e numbers #or t"e di%ision problem. int di%idend int di%isor // !"is int will &eep trac& o# t"e time le#t. int time'e#t

-. !l igual %ue antes$ modifi%ue el m,todo StartTheQuiz() para rellenar problemas de multiplicaciones " divisiones aleatorias. El cdigo debe tener este aspecto. C#

/// (summar)* /// +tart t"e ,uiz b) #illing in all o# t"e problems /// and starting t"e timer. /// (/summar)* public %oid +tart!"e-uiz() { // Fill in t"e addition problem. addend1 = randomizer..e/t(01) addend$ = randomizer..e/t(01) plus'e#t'abel.!e/t = addend1.!o+tring() plusRig"t'abel.!e/t = addend$.!o+tring() sum.1alue = 2 // Fill in t"e subtraction problem. minuend = randomizer..e/t(13 121) subtra"end = randomizer..e/t(13 minuend) minus'e#t'abel.!e/t = minuend.!o+tring() minusRig"t'abel.!e/t = subtra"end.!o+tring() di##erence.1alue = 2 // Fill in t"e multiplication problem. multiplicand = randomizer..e/t($3 11) multiplier = randomizer..e/t($3 11) times'e#t'abel.!e/t = multiplicand.!o+tring()

2 de 6

27/02/2013 05:03 p.m.

Paso 7: Agregar problemas de multiplicacin y divisin

http://msdn.microsoft.com/es-es/library/dd492175.aspx

timesRig"t'abel.!e/t = multiplier.!o+tring() product.1alue = 2 // Fill in t"e di%ision problem. di%isor = randomizer..e/t($3 11) int temporar)-uotient = randomizer..e/t($3 11) di%idend = di%isor 4 temporar)-uotient di%ided'e#t'abel.!e/t = di%idend.!o+tring() di%idedRig"t'abel.!e/t = di%isor.!o+tring() ,uotient.1alue = 2 // +tart t"e timer. time'e#t = 52 time'abel.!e/t = 652 seconds6 timer1.+tart() 7

.. Modifi%ue el m,todo CheckTheAnswer() para %ue tambi,n compruebe los problemas de divisin " multiplicacin. El cdigo debe tener este aspecto. C#

3 de 6

27/02/2013 05:03 p.m.

Paso 7: Agregar problemas de multiplicacin y divisin

http://msdn.microsoft.com/es-es/library/dd492175.aspx

/// (summar)* /// C"ec& t"e answer to see i# t"e user got e%er)t"ing rig"t. /// (/summar)* /// (returns*!rue i# t"e answer8s correct3 #alse ot"erwise.(/returns* pri%ate bool C"ec&!"e9nswer() { i# ((addend1 : addend$ == sum.1alue) ;; (minuend < subtra"end == di##erence.1alue) ;; (multiplicand 4 multiplier == product.1alue) ;; (di%idend / di%isor == ,uotient.1alue)) return true else return #alse 7

Nota /ado %ue no +a" ninguna manera simple de escribir el signo de multiplicacin &0( " el signo de divisin &1( mediante el teclado$ 2isual 34 " 2isual 5asic utili#an el asterisco &6( para la multiplicacin " la barra diagonal &7( para la divisin. 9. 3ambie la *ltima parte del controlador de evento Tic8 del tempori#ador de modo %ue rellene la respuesta correcta cuando se agote el tiempo. El cdigo debe tener este aspecto. C#

else { // =# t"e user ran out o# time3 stop t"e timer3 s"ow // a >essage?o/3 and #ill in t"e answers. timer1.+top() time'abel.!e/t = 6!ime8s up@6 >essage?o/.+"ow(6Aou didn8t #inis" in time.63 6+orr)6) sum.1alue = addend1 : addend$ di##erence.1alue = minuend < subtra"end product.1alue = multiplicand 4 multiplier

4 de 6

27/02/2013 05:03 p.m.

Paso 7: Agregar problemas de multiplicacin y divisin

http://msdn.microsoft.com/es-es/library/dd492175.aspx

,uotient.1alue = di%idend / di%isor start?utton.Bnabled = true 7

;. :uarde " ejecute el programa. !+ora$ +a" %ue responder a cuatro problemas para completar la prueba$ como se muestra en la siguiente imagen. Prueba matemtica con cuatro problemas

Para continuar o revisar


Para ir al siguiente paso del tutorial$ vea Paso < Probar otras caractersticas. Para volver al paso anterior del tutorial$ vea Paso = !gregar un problema de resta.

Adiciones de comunidad

5 de 6

27/02/2013 05:03 p.m.

Paso 7: Agregar problemas de multiplicacin y divisin

http://msdn.microsoft.com/es-es/library/dd492175.aspx

> -?). Microsoft. @eservados todos los derec+os.

6 de 6

27/02/2013 05:03 p.m.

Paso 8: Probar otras caractersticas

http://msdn.microsoft.com/es-es/library/dd492174.aspx

Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.

Traduccin

Original

Paso 8 Probar otras caractersticas


Visual Studio 2012
Personas !ue lo *an encontrado 4til 2 de 2 Piense en cmo el programa crea un problema de divisin aleatoria. Piense por !u" el programa no crea un problema en !ue la respuesta sea una fraccin. Para aprender ms# intente cambiar el color del control timeLabel $ proporcionar al usuario alguna sugerencia.

Para probar otras caractersticas


%ambie el color del control timeLabel a rojo cuando al usuario no le !ueden ms !ue cinco segundos# estableciendo su control BackColor &timeLabel.BackColor = Color.Red;'. (estable)ca el color cuando la prueba *a$a terminado. Proporcione al usuario una sugerencia reproduciendo un sonido cuando especifi!ue una respuesta correcta en uno de los controles NumericUpDown. &Tendr !ue escribir un controlador de eventos para el evento +alue%*anged de cada control# !ue se desencadena cada ve) !ue el usuario cambia el valor del control.'

Para continuar o revisar


Para ir al siguiente tutorial# vea Tutorial , %rear un juego de formar parejas. Para volver al paso anterior del tutorial# vea Paso - .gregar problemas de multiplicacin $ divisin.

Adiciones de comunidad
/ 0123 Microsoft. (eservados todos los derec*os.

1 de 1

27/02/2013 05:03 p.m.

You might also like