Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJuana Pichon Modificado hace 10 años
1
Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple leonel@ingenieriasimple.com Disponible en: http://www.ingenieriasimple.com/introprogra Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados
2
Problema Construya un programa que: Dibuje una tabla de 10x12 Luego una tabla de 8x11 Luego otra más de 15x10 3 tablas de diferente tamaño ¿Y si fueran 5? ¿7? ¿10?
3
Algoritmo Tradicional Dibujar la tabla de 10x12 Dibujar 10 filas En cada fila dibujar 12 celdas Dibujar la tabla de 8x11 Dibujar 8 filas En cada fila dibujar 11 celdas Dibujar la tabla de 15x10 Dibujar 15 filas En cada fila dibujar 10 celdas
4
Programa Dim i,j Document.Write For i = 1 To 10 Document.Write For j = 1 To 12 Document.Write * Next Document.Write Next Document.Write For i = 1 To 8 Document.Write For j = 1 To 11 Document.Write * Next Document.Write Next Document.Write For i = 1 To 15 Document.Write For j = 1 To 10 Document.Write * Next Document.Write Next Document.Write
5
3 2 3 Iteraciones Dim i,j Document.Write For i = 1 To 10 Document.Write For j = 1 To 12 Document.Write * Next Document.Write Next Document.Write For i = 1 To 8 Document.Write For j = 1 To 11 Document.Write * Next Document.Write Next Document.Write For i = 1 To 15 Document.Write For j = 1 To 10 Document.Write * Next Document.Write Next Document.Write 1
6
3 2 Parámetros 1 Dim i,j Document.Write For i = 1 To 10 Document.Write For j = 1 To 12 Document.Write * Next Document.Write Next Document.Write For i = 1 To 8 Document.Write For j = 1 To 11 Document.Write * Next Document.Write Next Document.Write For i = 1 To 15 Document.Write For j = 1 To 10 Document.Write * Next Document.Write Next Document.Write
7
Transformarlo a Subrutina Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Llamadas a la subrutina DibujaTabla 10,12 DibujaTabla 8,11 DibujaTabla 15,10
8
Subrutina Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Encabezado Final Sub DibujaTabla(Filas,Columnas) Nombre de la Subrutina Parámetros Los parámetros son como variables
9
Subrutinas Procedimientos o agrupaciones de instrucciones Que realizan una tarea concreta Que varía por los parámetros Puede que no lleve parámetros Tiene sus propias variables
10
En el código Dibuja varias tablas con subrutinas En esta página se dibujan varias tablas mediante el uso de subrutinas. Option Explicit Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Llamadas a la subrutina DibujaTabla 10,12 DibujaTabla 8,11 DibujaTabla 15,10 Este texto estará al final de las tres tablas ej048.html
11
3 2 Parámetros 1 Dim i,j Document.Write For i = 1 To 10 Document.Write For j = 1 To 12 Document.Write * Next Document.Write Next Document.Write For i = 1 To 8 Document.Write For j = 1 To 11 Document.Write * Next Document.Write Next Document.Write For i = 1 To 15 Document.Write For j = 1 To 10 Document.Write * Next Document.Write Next Document.Write
12
Más Parámetros Relleno Sub DibujaTabla(Filas,Columnas,Relleno) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Relleno Document.Write & Relleno & Next Document.Write Next Document.Write End Sub
13
Más Parámetros Borde Sub DibujaTabla(Filas,Columnas,Relleno,Borde) Dibuja una tabla Dim i,j Borde Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write & Relleno & Next Document.Write Next Document.Write End Sub
14
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Llamadas múltiples Dim i,j j = 3 For i = 1 To 10 DibujaTabla i,j j = j + 5 Next ej049.html
15
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Llamadas múltiples Dim i,j j = 3 For i = 1 To 10 DibujaTabla i,j j = j + 5 Next ej049.html
16
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Llamadas múltiples Dim i,j j = 3 For i = 1 To 10 DibujaTabla i,j j = j + 5 Next Diferente Ámbito ej049.html
17
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) Dibuja una tabla Dim i,j Document.Write For i = 1 To Filas Document.Write For j = 1 To Columnas Document.Write * Next Document.Write Next Document.Write End Sub Llamadas múltiples Dim i,j Document.Write For i = 1 To 10 Document.Write For j = 1 To 5 Document.Write DibujaTabla 3,3 Document.Write Next Document.Write Next Document.Write ej050.html
18
Convertir a Binario 1. Se divide la entrada entre 2 2. Si es el primer residuo solo se coloca 3. De lo contrario 1. Se coloca el residuo a la izquierda del residuo anterior 4. Si el resultado es mayor o igual que 2 1. Tomarlo como entrada y volver a paso 1 5. De lo contrario 1. Colocar el resultado a la izquierda del residuo anterior 2. Fin del algoritmo
19
Subrutina 1. Se divide la entrada entre 2 2. Si es el primer residuo solo se coloca 3. De lo contrario 1. Se coloca el residuo a la izquierda del residuo anterior 4. Si el resultado es mayor o igual que 2 1. Tomarlo como entrada y volver a paso 1 5. De lo contrario 1. Colocar el resultado a la izquierda del residuo anterior 2. Fin del algoritmo ¿Nombre? ¿Parámetros? ¿Variables locales?
20
Subrutina 1. Se divide la entrada entre 2 2. Si es el primer residuo solo se coloca 3. De lo contrario 1. Se coloca el residuo a la izquierda del residuo anterior 4. Si el resultado es mayor o igual que 2 1. Tomarlo como entrada y volver a paso 1 5. De lo contrario 1. Colocar el resultado a la izquierda del residuo anterior 2. Fin del algoritmo Sub CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumero\LaBase Resi = UnNumero Mod LaBase Salida = & Resi Do While Resu >= LaBase Resi = Resu Resu = Resu\LaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida Document.Write Salida: & Salida & End Sub ej051.html
21
Funciones Tienen Nombre Parámetros Variables locales Igual que una subrutine Devuelven un valor A = F(X,Y)
22
Comparación Sub CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumero\LaBase Resi = UnNumero Mod LaBase Salida = & Resi Do While Resu >= LaBase Resi = Resu Resu = Resu\LaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida Document.Write Salida: & Salida & End Sub Function CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumero\LaBase Resi = UnNumero Mod LaBase Salida = & Resi Do While Resu >= LaBase Resi = Resu Resu = Resu\LaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida CambiaBase = Salida End Function
23
Llamadas a Funciones Function CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumero\LaBase Resi = UnNumero Mod LaBase Salida = & Resi Do While Resu >= LaBase Resi = Resu Resu = Resu\LaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida CambiaBase = Salida End Function Dim i Document.Write Número Base 2 Base 5 Base 8 Base 16 For i = 1 To 30 Document.Write & i & & CambiaBase(i,2) & & CambiaBase(i,5) & & CambiaBase(i,8) & & CambiaBase(i,16) & Next Document.Write ej052.html
24
Utilización en Formularios Al crear un botón: Sub SalirPrograma Window.Close End Sub
25
Utilización en Formularios En un hipervínculo: Parece que va a ej040.html pero sale del programa. Sub SalirPrograma Window.Close End Sub ej053.html
26
Eventos Cosas que pasan Que le pasan a los objetos A las ventanas: Las abren, las cierran A los documentos: Los cargan A los botones e hipervínculos: Les dan click
27
Ejercicio Hacer un formulario que cargue la página que dibuja tablas de Fils x Cols
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.