SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Introducción al uso de subrutinas y funciones. Problemas que requieren subrutinas. Definición. Importancia de las subrutinas. Los parámetros utilización y conveniencia. Llamada a subrutinas. Conversión a binario como subrutina. Funciones y diferencia con las subrutinas. Llamada a funciones. Introducción a eventos y uso de funciones y subrutinas para su manejo. Ejercicio.
Interfaces de Usuarios, Interacción Humano-Computador y Lenguajes de Programación
Introducción al uso de subrutinas y funciones. Problemas que requieren subrutinas. Definición. Importancia de las subrutinas. Los parámetros utilización y conveniencia. Llamada a subrutinas. Conversión a binario como subrutina. Funciones y diferencia con las subrutinas. Llamada a funciones. Introducción a eventos y uso de funciones y subrutinas para su manejo. Ejercicio.
2.
Problema <ul><li>Construya un programa que: </li></ul><ul><ul><li>Dibuje una tabla de 10x12 </li></ul></ul><ul><ul><li>Luego una tabla de 8x11 </li></ul></ul><ul><ul><li>Luego otra más de 15x10 </li></ul></ul><ul><li>3 tablas de diferente tamaño </li></ul><ul><li>¿Y si fueran 5? ¿7? ¿10? </li></ul>
3.
Algoritmo Tradicional <ul><li>Dibujar la tabla de 10x12 </li></ul><ul><ul><ul><li>Dibujar 10 filas </li></ul></ul></ul><ul><ul><ul><ul><li>En cada fila dibujar 12 celdas </li></ul></ul></ul></ul><ul><li>Dibujar la tabla de 8x11 </li></ul><ul><ul><ul><li>Dibujar 8 filas </li></ul></ul></ul><ul><ul><ul><ul><li>En cada fila dibujar 11 celdas </li></ul></ul></ul></ul><ul><li>Dibujar la tabla de 15x10 </li></ul><ul><ul><ul><li>Dibujar 15 filas </li></ul></ul></ul><ul><ul><ul><ul><li>En cada fila dibujar 10 celdas </li></ul></ul></ul></ul>
4.
Programa <ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 12 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 8 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 11 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 15 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 10 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table>” </li></ul>
5.
3 Iteraciones <ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 12 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 8 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 11 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 15 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 10 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table>” </li></ul>3 2 1
6.
Parámetros <ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 12 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 8 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 11 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 15 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 10 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table>” </li></ul>3 2 1
7.
Transformarlo a Subrutina <ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul><ul><li>‘ Llamadas a la subrutina </li></ul><ul><li>DibujaTabla 10,12 </li></ul><ul><li>DibujaTabla 8,11 </li></ul><ul><li>DibujaTabla 15,10 </li></ul>
8.
Subrutina <ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul>Encabezado Final Sub DibujaTabla(Filas,Columnas) Nombre de la Subrutina Parámetros Los parámetros son como variables
9.
Subrutinas <ul><li>Procedimientos o agrupaciones de instrucciones </li></ul><ul><ul><li>Que realizan una tarea concreta </li></ul></ul><ul><ul><li>Que varía por los parámetros </li></ul></ul><ul><li>Puede que no lleve parámetros </li></ul><ul><li>Tiene sus propias variables </li></ul>
10.
En el código <ul><li><HTML> </li></ul><ul><li><Head><Title>Dibuja varias tablas con subrutinas</Title></Head> </li></ul><ul><li><Body> </li></ul><ul><li><H1>En esta página se dibujan varias tablas mediante el uso de subrutinas.</H1> </li></ul><ul><li><Script Language=“VBScript”> </li></ul><ul><li>Option Explicit </li></ul><ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1 >” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul><ul><li>‘ Llamadas a la subrutina </li></ul><ul><li>DibujaTabla 10,12 </li></ul><ul><li>DibujaTabla 8,11 </li></ul><ul><li>DibujaTabla 15,10 </li></ul><ul><li></Script> </li></ul><ul><li><P Align=Center>Este texto estará al final de las tres tablas</P> </li></ul><ul><li></Body> </li></ul><ul><li></HTML> </li></ul>ej048.html
11.
Parámetros <ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 12 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 8 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 11 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>Document.Write “<Table>” </li></ul><ul><li>For i = 1 To 15 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 10 </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>“ </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table>” </li></ul>3 2 1
12.
Más Parámetros <ul><li>Sub DibujaTabla(Filas,Columnas, Relleno ) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>” & Relleno & “</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul>
13.
Más Parámetros <ul><li>Sub DibujaTabla(Filas,Columnas,Relleno, Borde ) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=“ & Borde & “>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>” & Relleno & “</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul>
14.
Múltiples Llamadas <ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul><ul><li>‘ Llamadas múltiples </li></ul><ul><li>Dim i,j </li></ul><ul><li>j = 3 </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>DibujaTabla i,j </li></ul><ul><li>j = j + 5 </li></ul><ul><li>Next </li></ul>ej049.html
15.
Múltiples Llamadas <ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul><ul><li>‘ Llamadas múltiples </li></ul><ul><li>Dim i,j </li></ul><ul><li>j = 3 </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>DibujaTabla i,j </li></ul><ul><li>j = j + 5 </li></ul><ul><li>Next </li></ul>ej049.html
16.
Múltiples Llamadas <ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul><ul><li>‘ Llamadas múltiples </li></ul><ul><li>Dim i,j </li></ul><ul><li>j = 3 </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>DibujaTabla i,j </li></ul><ul><li>j = j + 5 </li></ul><ul><li>Next </li></ul>Diferente Ámbito ej049.html
17.
Múltiples Llamadas <ul><li>Sub DibujaTabla(Filas,Columnas) </li></ul><ul><li>‘ Dibuja una tabla </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Table Border=1>” </li></ul><ul><li>For i = 1 To Filas </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To Columnas </li></ul><ul><li>Document.Write “<TD>*</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table><BR>” </li></ul><ul><li>End Sub </li></ul><ul><li>‘ Llamadas múltiples </li></ul><ul><li>Dim i,j </li></ul><ul><li>Document.Write “<Center><Table Border=1 Width=50%>” </li></ul><ul><li>For i = 1 To 10 </li></ul><ul><li>Document.Write “<TR>” </li></ul><ul><li>For j = 1 To 5 </li></ul><ul><li>Document.Write “<TD Align=Center Valign=Middle><BR>” </li></ul><ul><li>DibujaTabla 3,3 </li></ul><ul><li>Document.Write “</TD>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</TR>” </li></ul><ul><li>Next </li></ul><ul><li>Document.Write “</Table></Center>” </li></ul>ej050.html
18.
Convertir a Binario <ul><li>Se divide la entrada entre 2 </li></ul><ul><li>Si es el primer residuo solo se coloca </li></ul><ul><li>De lo contrario </li></ul><ul><ul><li>Se coloca el residuo a la izquierda del residuo anterior </li></ul></ul><ul><li>Si el resultado es mayor o igual que 2 </li></ul><ul><ul><li>Tomarlo como entrada y volver a paso 1 </li></ul></ul><ul><li>De lo contrario </li></ul><ul><ul><li>Colocar el resultado a la izquierda del residuo anterior </li></ul></ul><ul><ul><li>Fin del algoritmo </li></ul></ul>
19.
Subrutina <ul><li>Se divide la entrada entre 2 </li></ul><ul><li>Si es el primer residuo solo se coloca </li></ul><ul><li>De lo contrario </li></ul><ul><ul><li>Se coloca el residuo a la izquierda del residuo anterior </li></ul></ul><ul><li>Si el resultado es mayor o igual que 2 </li></ul><ul><ul><li>Tomarlo como entrada y volver a paso 1 </li></ul></ul><ul><li>De lo contrario </li></ul><ul><ul><li>Colocar el resultado a la izquierda del residuo anterior </li></ul></ul><ul><ul><li>Fin del algoritmo </li></ul></ul><ul><li>¿Nombre? </li></ul><ul><li>¿Parámetros? </li></ul><ul><li>¿Variables locales? </li></ul>
20.
Subrutina <ul><li>Se divide la entrada entre 2 </li></ul><ul><li>Si es el primer residuo solo se coloca </li></ul><ul><li>De lo contrario </li></ul><ul><ul><li>Se coloca el residuo a la izquierda del residuo anterior </li></ul></ul><ul><li>Si el resultado es mayor o igual que 2 </li></ul><ul><ul><li>Tomarlo como entrada y volver a paso 1 </li></ul></ul><ul><li>De lo contrario </li></ul><ul><ul><li>Colocar el resultado a la izquierda del residuo anterior </li></ul></ul><ul><ul><li>Fin del algoritmo </li></ul></ul><ul><li>Sub CambiaBase(UnNumero,LaBase) </li></ul><ul><li>Dim Resu,Resi,Salida </li></ul><ul><li>Resu = UnNumeroaBase </li></ul><ul><li>Resi = UnNumero Mod LaBase </li></ul><ul><li>Salida = “” & Resi </li></ul><ul><li>Do While Resu >= LaBase </li></ul><ul><li>Resi = Resu </li></ul><ul><li>Resu = ResuaBase </li></ul><ul><li>Resi = Resi Mod LaBase </li></ul><ul><li>Salida = Resi & Salida </li></ul><ul><li>Loop </li></ul><ul><li>Salida = Resu & Salida </li></ul><ul><li>Document.Write “<P>Salida: “ & Salida & “</P>” </li></ul><ul><li>End Sub </li></ul>ej051.html
21.
Funciones <ul><li>Tienen </li></ul><ul><ul><li>Nombre </li></ul></ul><ul><ul><li>Parámetros </li></ul></ul><ul><ul><li>Variables locales </li></ul></ul><ul><ul><li>Igual que una subrutine </li></ul></ul><ul><li>Devuelven un valor </li></ul><ul><ul><li>A = F(X,Y) </li></ul></ul>
24.
Utilización en Formularios <ul><li>Al crear un botón: </li></ul><ul><li><Input Type=Button Name=Salir OnClick=“SalirPrograma”> </li></ul><ul><li><Script Language=“VBScript”> </li></ul><ul><li>Sub SalirPrograma </li></ul><ul><li>Window.Close </li></ul><ul><li>End Sub </li></ul><ul><li></Script> </li></ul>
25.
Utilización en Formularios <ul><li>En un hipervínculo: </li></ul><ul><li><a href=“ej040.html” OnClick=“SalirPrograma”>Parece que va a ej040.html pero sale del programa.</a> </li></ul><ul><li><Script Language=“VBScript”> </li></ul><ul><li>Sub SalirPrograma </li></ul><ul><li>Window.Close </li></ul><ul><li>End Sub </li></ul><ul><li></Script> </li></ul>ej053.html
26.
Eventos <ul><li>Cosas que pasan </li></ul><ul><li>Que le pasan a los objetos </li></ul><ul><li>A las ventanas: </li></ul><ul><ul><li>Las abren, las cierran </li></ul></ul><ul><li>A los documentos: </li></ul><ul><ul><li>Los cargan </li></ul></ul><ul><li>A los botones e hipervínculos: </li></ul><ul><ul><li>Les dan click </li></ul></ul>
27.
Ejercicio <ul><li>Hacer un formulario que cargue la página que dibuja tablas de Fils x Cols </li></ul>
0 likes
Be the first to like this
Views
Total views
696
On SlideShare
0
From Embeds
0
Number of Embeds
35
You have now unlocked unlimited access to 20M+ documents!
Unlimited Reading
Learn faster and smarter from top experts
Unlimited Downloading
Download to take your learnings offline and on the go
You also get free access to Scribd!
Instant access to millions of ebooks, audiobooks, magazines, podcasts and more.
Read and listen offline with any device.
Free access to premium services like Tuneln, Mubi and more.