SlideShare a Scribd company logo
Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple [email_address] Disponible en: http://www.ingenieriasimple.com/introprogra Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados
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?
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
Programa Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>”
3 Iteraciones Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>” 3 2 1
Parámetros Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>” 3 2 1
Transformarlo a Subrutina Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas a la subrutina DibujaTabla 10,12 DibujaTabla 8,11 DibujaTabla 15,10
Subrutina Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub Encabezado Final Sub DibujaTabla(Filas,Columnas) Nombre de la Subrutina Parámetros Los parámetros son como variables
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
En el código <HTML> <Head><Title>Dibuja varias tablas con subrutinas</Title></Head> <Body> <H1>En esta página se dibujan varias tablas mediante el uso de subrutinas.</H1> <Script Language=“VBScript”> Option Explicit Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table  Border=1 >” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas a la subrutina DibujaTabla 10,12 DibujaTabla 8,11 DibujaTabla 15,10 </Script> <P Align=Center>Este texto estará al final de las tres tablas</P> </Body> </HTML> ej048.html
Parámetros Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>” 3 2 1
Más Parámetros Sub DibujaTabla(Filas,Columnas, Relleno ) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>” &  Relleno  & “</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub
Más Parámetros Sub DibujaTabla(Filas,Columnas,Relleno, Borde ) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=“ &  Borde  & “>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>” & Relleno & “</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas múltiples Dim i,j j = 3 For i = 1 To 10 DibujaTabla i,j j = j + 5 Next ej049.html
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas múltiples Dim i,j j = 3 For i = 1 To 10 DibujaTabla i,j j = j + 5 Next ej049.html
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” 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
Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas múltiples Dim i,j Document.Write “<Center><Table Border=1 Width=50%>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 5 Document.Write “<TD Align=Center Valign=Middle><BR>” DibujaTabla 3,3 Document.Write “</TD>” Next Document.Write “</TR>” Next Document.Write “</Table></Center>” ej050.html
Convertir a Binario Se divide la entrada entre 2 Si es el primer residuo solo se coloca De lo contrario Se coloca el residuo a la izquierda del residuo anterior Si el resultado es mayor o igual que 2 Tomarlo como entrada y volver a paso 1 De lo contrario Colocar el resultado a la izquierda del residuo anterior Fin del algoritmo
Subrutina Se divide la entrada entre 2 Si es el primer residuo solo se coloca De lo contrario Se coloca el residuo a la izquierda del residuo anterior Si el resultado es mayor o igual que 2 Tomarlo como entrada y volver a paso 1 De lo contrario Colocar el resultado a la izquierda del residuo anterior Fin del algoritmo ¿Nombre? ¿Parámetros? ¿Variables locales?
Subrutina Se divide la entrada entre 2 Si es el primer residuo solo se coloca De lo contrario Se coloca el residuo a la izquierda del residuo anterior Si el resultado es mayor o igual que 2 Tomarlo como entrada y volver a paso 1 De lo contrario Colocar el resultado a la izquierda del residuo anterior Fin del algoritmo Sub CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida Document.Write “<P>Salida: “ & Salida & “</P>” End Sub ej051.html
Funciones Tienen Nombre Parámetros Variables locales Igual que una subrutine Devuelven un valor A = F(X,Y)
Comparación Sub CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida Document.Write “<P>Salida: “ & Salida & “</P>” End Sub Function CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida CambiaBase = Salida End Function
Llamadas a Funciones Function CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida CambiaBase = Salida End Function Dim i Document.Write “<Table Border=1><TR><TH>Número </TH><TH>Base 2</TH> <TH>Base 5</TH> <TH>Base 8</TH> <TH>Base 16</TH></TR>” For i = 1 To 30 Document.Write “<TR><TD>” & i & “</TD><TD>” & CambiaBase(i,2) & “</TD><TD>” & CambiaBase(i,5) & “</TD><TD>” & CambiaBase(i,8) & “</TD><TD>” & CambiaBase(i,16) & “</TD></TR>” Next Document.Write “</Table>” ej052.html
Utilización en Formularios Al crear un botón: <Input Type=Button Name=Salir OnClick=“SalirPrograma”> <Script Language=“VBScript”> Sub SalirPrograma Window.Close End Sub </Script>
Utilización en Formularios En un hipervínculo: <a href=“ej040.html” OnClick=“SalirPrograma”>Parece que va a ej040.html pero sale del programa.</a> <Script Language=“VBScript”> Sub SalirPrograma Window.Close End Sub </Script> ej053.html
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
Ejercicio Hacer un formulario que cargue la página que dibuja tablas de Fils x Cols

More Related Content

Viewers also liked

Recounting History of UI
Recounting History of UIRecounting History of UI
Recounting History of UI
Leonel Morales Díaz
 
Clase03
Clase03Clase03
Clase24
Clase24Clase24
Clase22
Clase22Clase22
Blocks and Beyond VL/HCC presentation
Blocks and Beyond VL/HCC presentationBlocks and Beyond VL/HCC presentation
Blocks and Beyond VL/HCC presentation
Leonel Morales Díaz
 
Clase16
Clase16Clase16
Clase06
Clase06Clase06
Dfc De Wereld Van Ikki
Dfc   De Wereld Van IkkiDfc   De Wereld Van Ikki
Dfc De Wereld Van Ikki
designforconversion
 
Cass Public
Cass PublicCass Public
Cass Public
designforconversion
 
Clase16
Clase16Clase16
Dfc Final
Dfc FinalDfc Final

Viewers also liked (11)

Recounting History of UI
Recounting History of UIRecounting History of UI
Recounting History of UI
 
Clase03
Clase03Clase03
Clase03
 
Clase24
Clase24Clase24
Clase24
 
Clase22
Clase22Clase22
Clase22
 
Blocks and Beyond VL/HCC presentation
Blocks and Beyond VL/HCC presentationBlocks and Beyond VL/HCC presentation
Blocks and Beyond VL/HCC presentation
 
Clase16
Clase16Clase16
Clase16
 
Clase06
Clase06Clase06
Clase06
 
Dfc De Wereld Van Ikki
Dfc   De Wereld Van IkkiDfc   De Wereld Van Ikki
Dfc De Wereld Van Ikki
 
Cass Public
Cass PublicCass Public
Cass Public
 
Clase16
Clase16Clase16
Clase16
 
Dfc Final
Dfc FinalDfc Final
Dfc Final
 

Similar to Clase10

Clase07
Clase07Clase07
Clase08
Clase08Clase08
Clase18
Clase18Clase18
Clase15
Clase15Clase15
Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)
guestc229aba9
 
Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)
guest6a4fee
 
Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)
guest6a4fee
 
Present: I WEB DINAMICAS
Present: I WEB  DINAMICASPresent: I WEB  DINAMICAS
Present: I WEB DINAMICAS
Enrique Gutiérrez
 
Html
HtmlHtml
Html
Milton
 
HTML
HTMLHTML
HTML
Milton
 
Html
HtmlHtml
Html
Milton
 
Html
HtmlHtml
Html
Milton
 
Ejercicios segunda práctica php.
Ejercicios segunda práctica php.Ejercicios segunda práctica php.
Ejercicios segunda práctica php.
palomino1025
 
Taller de ti nspire
Taller de ti nspireTaller de ti nspire
Taller de ti nspire
mirla manama
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
markos1992
 
Conociendo php (201009)
Conociendo php (201009)Conociendo php (201009)
Conociendo php (201009)
Antonio Kobashikawa Carrasco
 
Diapo02
Diapo02Diapo02
Presentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.arPresentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.ar
Carlos Calderon
 
Presentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.arPresentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.ar
Carlos Calderon
 
HTML
HTMLHTML

Similar to Clase10 (20)

Clase07
Clase07Clase07
Clase07
 
Clase08
Clase08Clase08
Clase08
 
Clase18
Clase18Clase18
Clase18
 
Clase15
Clase15Clase15
Clase15
 
Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)Diapositivas del resumen y ejercicios(finalizada) (1)
Diapositivas del resumen y ejercicios(finalizada) (1)
 
Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)Presentación de programación (conceptos y ejercicios)
Presentación de programación (conceptos y ejercicios)
 
Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada)
 
Present: I WEB DINAMICAS
Present: I WEB  DINAMICASPresent: I WEB  DINAMICAS
Present: I WEB DINAMICAS
 
Html
HtmlHtml
Html
 
HTML
HTMLHTML
HTML
 
Html
HtmlHtml
Html
 
Html
HtmlHtml
Html
 
Ejercicios segunda práctica php.
Ejercicios segunda práctica php.Ejercicios segunda práctica php.
Ejercicios segunda práctica php.
 
Taller de ti nspire
Taller de ti nspireTaller de ti nspire
Taller de ti nspire
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
 
Conociendo php (201009)
Conociendo php (201009)Conociendo php (201009)
Conociendo php (201009)
 
Diapo02
Diapo02Diapo02
Diapo02
 
Presentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.arPresentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.ar
 
Presentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.arPresentacion Ejercicios Javascriptya.com.ar
Presentacion Ejercicios Javascriptya.com.ar
 
HTML
HTMLHTML
HTML
 

Recently uploaded

Acuerdo tercer periodo - Grado Septimo.pptx
Acuerdo tercer periodo - Grado Septimo.pptxAcuerdo tercer periodo - Grado Septimo.pptx
Acuerdo tercer periodo - Grado Septimo.pptx
Carlos Andrés Hernández Cabrera
 
Taller Intensivo de Formación Continua para Docentes_24_Julio.pdf
Taller Intensivo de Formación Continua para Docentes_24_Julio.pdfTaller Intensivo de Formación Continua para Docentes_24_Julio.pdf
Taller Intensivo de Formación Continua para Docentes_24_Julio.pdf
htebazileahcug
 
BLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptx
BLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptxBLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptx
BLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptx
royguzman5
 
Apuntes de Enfermería (para estudiantes)
Apuntes de Enfermería (para estudiantes)Apuntes de Enfermería (para estudiantes)
Apuntes de Enfermería (para estudiantes)
milyluna0207
 
ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.
ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.
ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.
marluzsagar
 
Lecciones 03 Esc. Sabática. Controversias.docx
Lecciones 03 Esc. Sabática. Controversias.docxLecciones 03 Esc. Sabática. Controversias.docx
Lecciones 03 Esc. Sabática. Controversias.docx
Alejandrino Halire Ccahuana
 
CARTELERA DE PACO YUNQUE 2024 IEI 0767 BA
CARTELERA DE PACO YUNQUE 2024 IEI 0767 BACARTELERA DE PACO YUNQUE 2024 IEI 0767 BA
CARTELERA DE PACO YUNQUE 2024 IEI 0767 BA
CesarAugustoParedesP
 
ACTIVIDAD riquezas de la region costa del peru
ACTIVIDAD riquezas de la region costa del peruACTIVIDAD riquezas de la region costa del peru
ACTIVIDAD riquezas de la region costa del peru
roxanariverom
 
INSTRUMENTOS USADOS EN LA PSICOLOGÍA
INSTRUMENTOS USADOS EN LA PSICOLOGÍA INSTRUMENTOS USADOS EN LA PSICOLOGÍA
INSTRUMENTOS USADOS EN LA PSICOLOGÍA
Kiara Ocampo Apolo
 
🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx
🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx
🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx
FernandoEstebanLlont
 
INFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docx
INFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docxINFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docx
INFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docx
FiorellaSandovalTall
 
Danzas peruanas festividades importantes .
Danzas peruanas festividades importantes .Danzas peruanas festividades importantes .
Danzas peruanas festividades importantes .
Juan Luis Cunya Vicente
 
Filigramma #17, revista literaria del Círculo de Escritores Sabersinfin
Filigramma #17, revista literaria del Círculo de Escritores SabersinfinFiligramma #17, revista literaria del Círculo de Escritores Sabersinfin
Filigramma #17, revista literaria del Círculo de Escritores Sabersinfin
Sabersinfin Portal
 
CONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBA
CONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBACONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBA
CONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBA
rafael28537
 
Introduccion-a-la-circunferencia area y longitud
Introduccion-a-la-circunferencia area y longitudIntroduccion-a-la-circunferencia area y longitud
Introduccion-a-la-circunferencia area y longitud
AsafHdez
 
SEMANAS DE GESTION 2024 para trabajo escolar
SEMANAS DE GESTION 2024 para trabajo escolarSEMANAS DE GESTION 2024 para trabajo escolar
SEMANAS DE GESTION 2024 para trabajo escolar
JuanPabloII10
 
homeostasis.pptx. Enfermería técnica periodo 1
homeostasis.pptx. Enfermería técnica periodo 1homeostasis.pptx. Enfermería técnica periodo 1
homeostasis.pptx. Enfermería técnica periodo 1
NohemiLumiereLopezHu1
 
FI-001 Introducción - Conocimiento Institucional.pptx
FI-001 Introducción - Conocimiento Institucional.pptxFI-001 Introducción - Conocimiento Institucional.pptx
FI-001 Introducción - Conocimiento Institucional.pptx
ENJ
 
TEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADO
TEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADOTEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADO
TEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADO
José Manuel Vera Santos
 
2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA
2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA
2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 

Recently uploaded (20)

Acuerdo tercer periodo - Grado Septimo.pptx
Acuerdo tercer periodo - Grado Septimo.pptxAcuerdo tercer periodo - Grado Septimo.pptx
Acuerdo tercer periodo - Grado Septimo.pptx
 
Taller Intensivo de Formación Continua para Docentes_24_Julio.pdf
Taller Intensivo de Formación Continua para Docentes_24_Julio.pdfTaller Intensivo de Formación Continua para Docentes_24_Julio.pdf
Taller Intensivo de Formación Continua para Docentes_24_Julio.pdf
 
BLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptx
BLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptxBLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptx
BLOQUE II SEMANA DE GESTION EN INSTITUVIONES EDUCATIVAS.pptx
 
Apuntes de Enfermería (para estudiantes)
Apuntes de Enfermería (para estudiantes)Apuntes de Enfermería (para estudiantes)
Apuntes de Enfermería (para estudiantes)
 
ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.
ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.
ENFERMERIA TECNICA-FUNDAMENTOS DE SALUD.
 
Lecciones 03 Esc. Sabática. Controversias.docx
Lecciones 03 Esc. Sabática. Controversias.docxLecciones 03 Esc. Sabática. Controversias.docx
Lecciones 03 Esc. Sabática. Controversias.docx
 
CARTELERA DE PACO YUNQUE 2024 IEI 0767 BA
CARTELERA DE PACO YUNQUE 2024 IEI 0767 BACARTELERA DE PACO YUNQUE 2024 IEI 0767 BA
CARTELERA DE PACO YUNQUE 2024 IEI 0767 BA
 
ACTIVIDAD riquezas de la region costa del peru
ACTIVIDAD riquezas de la region costa del peruACTIVIDAD riquezas de la region costa del peru
ACTIVIDAD riquezas de la region costa del peru
 
INSTRUMENTOS USADOS EN LA PSICOLOGÍA
INSTRUMENTOS USADOS EN LA PSICOLOGÍA INSTRUMENTOS USADOS EN LA PSICOLOGÍA
INSTRUMENTOS USADOS EN LA PSICOLOGÍA
 
🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx
🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx
🔴 (AC-S18) Semana 18 - Tema 1 Informe sobre un tema del curso.docx
 
INFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docx
INFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docxINFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docx
INFORMACIÓN EXTRA SOBRE LAS ESPECIES EN PELIGRO DE EXTINCIÓN.docx
 
Danzas peruanas festividades importantes .
Danzas peruanas festividades importantes .Danzas peruanas festividades importantes .
Danzas peruanas festividades importantes .
 
Filigramma #17, revista literaria del Círculo de Escritores Sabersinfin
Filigramma #17, revista literaria del Círculo de Escritores SabersinfinFiligramma #17, revista literaria del Círculo de Escritores Sabersinfin
Filigramma #17, revista literaria del Círculo de Escritores Sabersinfin
 
CONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBA
CONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBACONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBA
CONOCIENDO LA RECETA DEL JUANE EN LA SELVA DE MOYOBAMBA
 
Introduccion-a-la-circunferencia area y longitud
Introduccion-a-la-circunferencia area y longitudIntroduccion-a-la-circunferencia area y longitud
Introduccion-a-la-circunferencia area y longitud
 
SEMANAS DE GESTION 2024 para trabajo escolar
SEMANAS DE GESTION 2024 para trabajo escolarSEMANAS DE GESTION 2024 para trabajo escolar
SEMANAS DE GESTION 2024 para trabajo escolar
 
homeostasis.pptx. Enfermería técnica periodo 1
homeostasis.pptx. Enfermería técnica periodo 1homeostasis.pptx. Enfermería técnica periodo 1
homeostasis.pptx. Enfermería técnica periodo 1
 
FI-001 Introducción - Conocimiento Institucional.pptx
FI-001 Introducción - Conocimiento Institucional.pptxFI-001 Introducción - Conocimiento Institucional.pptx
FI-001 Introducción - Conocimiento Institucional.pptx
 
TEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADO
TEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADOTEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADO
TEMA 1 EL PROCESO DE FORMACIÓN DEL ESTADO
 
2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA
2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA
2024 DIA DEL LOGRO-ARTE 2 - IE HONORIO DELGADO ESPINOZA
 

Clase10

  • 1. Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple [email_address] 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 “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>”
  • 5. 3 Iteraciones Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>” 3 2 1
  • 6. Parámetros Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>” 3 2 1
  • 7. Transformarlo a Subrutina Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” 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 “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” 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 <HTML> <Head><Title>Dibuja varias tablas con subrutinas</Title></Head> <Body> <H1>En esta página se dibujan varias tablas mediante el uso de subrutinas.</H1> <Script Language=“VBScript”> Option Explicit Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1 >” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas a la subrutina DibujaTabla 10,12 DibujaTabla 8,11 DibujaTabla 15,10 </Script> <P Align=Center>Este texto estará al final de las tres tablas</P> </Body> </HTML> ej048.html
  • 11. Parámetros Dim i,j Document.Write “<Table>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 12 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 8 Document.Write “<TR>” For j = 1 To 11 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table><BR>” Document.Write “<Table>” For i = 1 To 15 Document.Write “<TR>” For j = 1 To 10 Document.Write “<TD>*</TD>” Next Document.Write “</TR>“ Next Document.Write “</Table>” 3 2 1
  • 12. Más Parámetros Sub DibujaTabla(Filas,Columnas, Relleno ) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>” & Relleno & “</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub
  • 13. Más Parámetros Sub DibujaTabla(Filas,Columnas,Relleno, Borde ) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=“ & Borde & “>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>” & Relleno & “</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub
  • 14. Múltiples Llamadas Sub DibujaTabla(Filas,Columnas) ‘ Dibuja una tabla Dim i,j Document.Write “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” 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 “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” 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 “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” 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 “<Table Border=1>” For i = 1 To Filas Document.Write “<TR>” For j = 1 To Columnas Document.Write “<TD>*</TD>” Next Document.Write “</TR>” Next Document.Write “</Table><BR>” End Sub ‘ Llamadas múltiples Dim i,j Document.Write “<Center><Table Border=1 Width=50%>” For i = 1 To 10 Document.Write “<TR>” For j = 1 To 5 Document.Write “<TD Align=Center Valign=Middle><BR>” DibujaTabla 3,3 Document.Write “</TD>” Next Document.Write “</TR>” Next Document.Write “</Table></Center>” ej050.html
  • 18. Convertir a Binario Se divide la entrada entre 2 Si es el primer residuo solo se coloca De lo contrario Se coloca el residuo a la izquierda del residuo anterior Si el resultado es mayor o igual que 2 Tomarlo como entrada y volver a paso 1 De lo contrario Colocar el resultado a la izquierda del residuo anterior Fin del algoritmo
  • 19. Subrutina Se divide la entrada entre 2 Si es el primer residuo solo se coloca De lo contrario Se coloca el residuo a la izquierda del residuo anterior Si el resultado es mayor o igual que 2 Tomarlo como entrada y volver a paso 1 De lo contrario Colocar el resultado a la izquierda del residuo anterior Fin del algoritmo ¿Nombre? ¿Parámetros? ¿Variables locales?
  • 20. Subrutina Se divide la entrada entre 2 Si es el primer residuo solo se coloca De lo contrario Se coloca el residuo a la izquierda del residuo anterior Si el resultado es mayor o igual que 2 Tomarlo como entrada y volver a paso 1 De lo contrario Colocar el resultado a la izquierda del residuo anterior Fin del algoritmo Sub CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida Document.Write “<P>Salida: “ & Salida & “</P>” 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 = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida Document.Write “<P>Salida: “ & Salida & “</P>” End Sub Function CambiaBase(UnNumero,LaBase) Dim Resu,Resi,Salida Resu = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase 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 = UnNumeroaBase Resi = UnNumero Mod LaBase Salida = “” & Resi Do While Resu >= LaBase Resi = Resu Resu = ResuaBase Resi = Resi Mod LaBase Salida = Resi & Salida Loop Salida = Resu & Salida CambiaBase = Salida End Function Dim i Document.Write “<Table Border=1><TR><TH>Número </TH><TH>Base 2</TH> <TH>Base 5</TH> <TH>Base 8</TH> <TH>Base 16</TH></TR>” For i = 1 To 30 Document.Write “<TR><TD>” & i & “</TD><TD>” & CambiaBase(i,2) & “</TD><TD>” & CambiaBase(i,5) & “</TD><TD>” & CambiaBase(i,8) & “</TD><TD>” & CambiaBase(i,16) & “</TD></TR>” Next Document.Write “</Table>” ej052.html
  • 24. Utilización en Formularios Al crear un botón: <Input Type=Button Name=Salir OnClick=“SalirPrograma”> <Script Language=“VBScript”> Sub SalirPrograma Window.Close End Sub </Script>
  • 25. Utilización en Formularios En un hipervínculo: <a href=“ej040.html” OnClick=“SalirPrograma”>Parece que va a ej040.html pero sale del programa.</a> <Script Language=“VBScript”> Sub SalirPrograma Window.Close End Sub </Script> 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