UNIDAD 3,  PROGRAMACION ESTRUCTURADA LSC. María Alejandra Sánchez Alva Mtra. Verónica Perla Romero Fdz.
Programación Estructurada Es una técnica de diseño que consiste en dividir la lógica de un programa en módulos jerárquicos. Sus ventajas son: Simplificar el diseño del programa general La lógica del programa se comprende mejor Se pueden realizar cambios con facilidad Facilita la localización de errores Simplifican el mantenimiento de programas largos El código de los módulos puede ser  reutilizado  por otros programas
Clasificación de los subprogramas en VB Procedimientos De evento Definidos por el usuario (Sub) Funciones Predefinidas Definidas por el usuario (Function)
Esquema de módulos Puedes reutilizar los procedimientos y funciones en otras aplicaciones. Procedimiento de Evento Sin uso de otros  Procedimientos no de Evento, ni funciones El código es largo y difícil  de darle mantenimiento Y mucho más de entender No estructurado Procedimiento de  Evento Funciones  predefinidas en VB Funciones hechas  por ti Otros procedimientos  no de evento  hechas por ti estructurado
3.1 Procedimientos Sub La sintaxis es: Private Sub NombreProcedimiento (Parámetros) Declaración de variables Instrucciones … End Sub
Instrucción para llamar a un Procedimiento Call NombreProcedimiento  (Argumento1, Argumento2, …) Cuando no hay argumentos los paréntesis se omiten Llamar a un procedimiento significa ejecutar su código
Las reglas son El procedimiento Sub se escribe en una sección separada. Nunca dentro de un procedimiento de evento. El Procedimiento Sub no puede contener la instrucción Call o llamada al o los procedimientos Sub.
Ejemplo de un procedimiento Sub Se requiere realizar un procedimiento que realice las operaciones de suma, resta y multiplicación. Sub opera (tipo as string, V1 as single, V2 as single) Select case tipo case “+”: msgbox (“La suma es: ”) & V1 + V2 case “-”: msgbox (“La resta es: “) & V1 - V2 case “*”:msgbox (“La multiplicación es: “) & V1 * V2 case else: msgbox (“Utilice el signo de +, - ó * para  indicar la operación”) End select End Sub
Continuación Private Sub Cmd1_Click ( ) Valor1=Inputbox(“de un número”) Valor2=Inputbox(“de otro número”) Tipo_operacion=Inputbox(“indique el tipo de operación +, -, ó * “) Call Opera(Tipo_operacion, Valor1, Valor2) End Sub Una vez realizado el procedimiento vamos a ejecutarlo a través de un botón de comando, para ello debemos llamar al procedimiento que realizamos.
Paso de argumentos a parámetros Envío de Argumentos   Call Opera (Tipo_operacion, Valor1, Valor2) Recibo de Parámetros Sub opera (tipo as string, V1 as single, V2 as single) Se declaran las variables de acuerdo a lo que se recibe
Paso de argumentos a parámetros Los procedimientos pueden recibir valores a través de los argumentos. Los parámetros del procedimiento toman el valor del argumento correspondiente, para ello es necesario declarar el tipo de la variable de acuerdo al dato que va a recibir. Call Opera (“+”, X+2, Y*3) Expresión Call Opera (Tipo_operacion, Valor1, Valor2) Variable Call Opera (“+”, 4, 2) Constante EJEMPLO TIPO DE ARGUMENTO
Paso de variables por valor y por referencia La forma de pasar variables a un procedimiento son: Por valor: Byval Indica que recibe una copia de la variable Por referencia: Byref Indica que recibe a la variable
3.2 Funciones Una función recibe cero o más valores de entrada, los procesa y regresa siempre un valor =Val (“9.8”) 9.8 Valor numérico de la cadena Val (cadena) =Len (“hola”) 4 Longitud de la cadena Len (cadena) =Date ( ) 1/11/2007 La fecha Mm/dd/aaaa Date () =Abs (-2.5) 2.5 Valor absoluto de x Abs (x) =Sqr (4) 2 La raíz de x Sqr (x) =Int (-3.74) -4 El entero menor a x Int (x) EJEMPLO REGRESA FUNCIÓN
3.2 Otras Funciones =Format(5000,”Currency”) $5,000.00 Cambia la forma de presentar el valor y no el valor en sí. Format =Trim(“  Hola”) Hola Devuelve la cadena str sin espacios a la izquierda o a la drecha Trim =Ucase(“hola”) HOLA Devuelve la cadena str convertida a mayúsculas Ucase =Right(“Hola mundo”,4) Undo Devuelve los n caracteres a la derecha de la cadena str Rigth =Mid(“Hola mundo”6,5) mundo Devuelve la subcadena de longitud n a partir del m carácter de la cadena str. Si no se indican n devuelve todos los caracteres a partir del carácter m Mid =Left(“Hola mundo”,4) Hola Devuelve los “n” caracteres a la izquierda de la cadena indicada por str Left EJEMPLO REGRESA FUNCIÓN
Funciones creadas por el usuario El formato o sintaxis del bloque de una función definida: Private Function NombreFunción(var1 as tipo1,…)as tipodato instrucciones NombreFunción=valor_regresado End Function
  Ejemplo Crear una función para resolver el área de un triángulo Private Function area(a, as single, b as single) as single area=(a*b)/2 End Function
Implementación de la función en un cmd Private Sub cmd1_Click ( ) N1=inputbox(“de la altura”) N2=inputbox(“de la base”) Valor_regresado_funcion= area(N1,N2)  Picture1.print Valor_regresado_funcion End Sub
Bibliografía Álvarez(2001). Computación 2, programación. México, Universidad Autónoma de Nuevo León. Publicaciones Cultural
Proyectos en pareja Realizar una librería de  funciones  para resolver problemas de conversiones o indicar ladas telefónicas o indicar días festivos. (10 % semestral).  Entregar descripción de la librería, código impreso y ejecutable. Realizar una simulación de cajero automático  (40 %) del tercer parcial.  Entregar código, ejecutable e interfaces impresas. Permitir bloqueo a los tres errores de nip Cambio de nip Retiro de efectivo de 5 opciones Consulta de saldo impreso y pantalla según indique usuario. Que se aprecie la programación estructurada Fecha 19-23 de nov Fecha 5-9 de nov Entrega
Sugerencias para Librería Medidas de longitud 1.6093  Kilómetros Millas Tierra 0.9144 Metros Yardas 0.6214 Millas Tierra Kilómetros 1.0936 Yardas Metros 0.3937 Pulgadas Centímetros 0.0394 Pulgadas Milímetros Multiplica por A: Convertir
Sugerencias Medidas de superficie 0.8381 Metros  2 Yardas  2 0.029 Metros  2 Piés  2 645.6 Centímetros  2 Pulgadas  2 1.196 Yardas  2 Metros  2 10.7639 Piés  2 Metros  2 0.155 Pulgadas  2 Centímetros  2 Multiplica por A: Convertir
Sugerencias Ladas telefónicas  229 Veracruz 246 Tlaxcala 55 México 222 Puebla 998 Cancún 612 La Paz Lada Ciudad
Sugerencias Día de la independencia Batalla de Puebla Día del trabajo Nat. De Benito Juárez La constitución Reyes magos Celebración Días festivos  16 de Septiembre 5 de mayo 1 de mayo 21 de marzo 5 de febrero 6 de enero Fecha
Cuestionario (10 %) del tercer parcial ¿Qué es la programación estructurada? Ventajas de la programación estructurada Reglas de los procedimientos Sub Clasificación de los procedimientos y funciones en VB Diferencia entre procedimientos y funciones Diferencia entre byval y byref Llamada de un procedimiento y una función Paso de argumentos a parámetros 5 ejemplos de funciones predefinidas Implementa el procedimiento de la diapositiva No. 8 para permitir la división, valida para divisiones entre cero (marca mensaje de error). Fecha de entrega 26-30 de nov .

Unidad 3, Programacion Estructurada

  • 1.
    UNIDAD 3, PROGRAMACION ESTRUCTURADA LSC. María Alejandra Sánchez Alva Mtra. Verónica Perla Romero Fdz.
  • 2.
    Programación Estructurada Esuna técnica de diseño que consiste en dividir la lógica de un programa en módulos jerárquicos. Sus ventajas son: Simplificar el diseño del programa general La lógica del programa se comprende mejor Se pueden realizar cambios con facilidad Facilita la localización de errores Simplifican el mantenimiento de programas largos El código de los módulos puede ser reutilizado por otros programas
  • 3.
    Clasificación de lossubprogramas en VB Procedimientos De evento Definidos por el usuario (Sub) Funciones Predefinidas Definidas por el usuario (Function)
  • 4.
    Esquema de módulosPuedes reutilizar los procedimientos y funciones en otras aplicaciones. Procedimiento de Evento Sin uso de otros Procedimientos no de Evento, ni funciones El código es largo y difícil de darle mantenimiento Y mucho más de entender No estructurado Procedimiento de Evento Funciones predefinidas en VB Funciones hechas por ti Otros procedimientos no de evento hechas por ti estructurado
  • 5.
    3.1 Procedimientos SubLa sintaxis es: Private Sub NombreProcedimiento (Parámetros) Declaración de variables Instrucciones … End Sub
  • 6.
    Instrucción para llamara un Procedimiento Call NombreProcedimiento (Argumento1, Argumento2, …) Cuando no hay argumentos los paréntesis se omiten Llamar a un procedimiento significa ejecutar su código
  • 7.
    Las reglas sonEl procedimiento Sub se escribe en una sección separada. Nunca dentro de un procedimiento de evento. El Procedimiento Sub no puede contener la instrucción Call o llamada al o los procedimientos Sub.
  • 8.
    Ejemplo de unprocedimiento Sub Se requiere realizar un procedimiento que realice las operaciones de suma, resta y multiplicación. Sub opera (tipo as string, V1 as single, V2 as single) Select case tipo case “+”: msgbox (“La suma es: ”) & V1 + V2 case “-”: msgbox (“La resta es: “) & V1 - V2 case “*”:msgbox (“La multiplicación es: “) & V1 * V2 case else: msgbox (“Utilice el signo de +, - ó * para indicar la operación”) End select End Sub
  • 9.
    Continuación Private SubCmd1_Click ( ) Valor1=Inputbox(“de un número”) Valor2=Inputbox(“de otro número”) Tipo_operacion=Inputbox(“indique el tipo de operación +, -, ó * “) Call Opera(Tipo_operacion, Valor1, Valor2) End Sub Una vez realizado el procedimiento vamos a ejecutarlo a través de un botón de comando, para ello debemos llamar al procedimiento que realizamos.
  • 10.
    Paso de argumentosa parámetros Envío de Argumentos Call Opera (Tipo_operacion, Valor1, Valor2) Recibo de Parámetros Sub opera (tipo as string, V1 as single, V2 as single) Se declaran las variables de acuerdo a lo que se recibe
  • 11.
    Paso de argumentosa parámetros Los procedimientos pueden recibir valores a través de los argumentos. Los parámetros del procedimiento toman el valor del argumento correspondiente, para ello es necesario declarar el tipo de la variable de acuerdo al dato que va a recibir. Call Opera (“+”, X+2, Y*3) Expresión Call Opera (Tipo_operacion, Valor1, Valor2) Variable Call Opera (“+”, 4, 2) Constante EJEMPLO TIPO DE ARGUMENTO
  • 12.
    Paso de variablespor valor y por referencia La forma de pasar variables a un procedimiento son: Por valor: Byval Indica que recibe una copia de la variable Por referencia: Byref Indica que recibe a la variable
  • 13.
    3.2 Funciones Unafunción recibe cero o más valores de entrada, los procesa y regresa siempre un valor =Val (“9.8”) 9.8 Valor numérico de la cadena Val (cadena) =Len (“hola”) 4 Longitud de la cadena Len (cadena) =Date ( ) 1/11/2007 La fecha Mm/dd/aaaa Date () =Abs (-2.5) 2.5 Valor absoluto de x Abs (x) =Sqr (4) 2 La raíz de x Sqr (x) =Int (-3.74) -4 El entero menor a x Int (x) EJEMPLO REGRESA FUNCIÓN
  • 14.
    3.2 Otras Funciones=Format(5000,”Currency”) $5,000.00 Cambia la forma de presentar el valor y no el valor en sí. Format =Trim(“ Hola”) Hola Devuelve la cadena str sin espacios a la izquierda o a la drecha Trim =Ucase(“hola”) HOLA Devuelve la cadena str convertida a mayúsculas Ucase =Right(“Hola mundo”,4) Undo Devuelve los n caracteres a la derecha de la cadena str Rigth =Mid(“Hola mundo”6,5) mundo Devuelve la subcadena de longitud n a partir del m carácter de la cadena str. Si no se indican n devuelve todos los caracteres a partir del carácter m Mid =Left(“Hola mundo”,4) Hola Devuelve los “n” caracteres a la izquierda de la cadena indicada por str Left EJEMPLO REGRESA FUNCIÓN
  • 15.
    Funciones creadas porel usuario El formato o sintaxis del bloque de una función definida: Private Function NombreFunción(var1 as tipo1,…)as tipodato instrucciones NombreFunción=valor_regresado End Function
  • 16.
    EjemploCrear una función para resolver el área de un triángulo Private Function area(a, as single, b as single) as single area=(a*b)/2 End Function
  • 17.
    Implementación de lafunción en un cmd Private Sub cmd1_Click ( ) N1=inputbox(“de la altura”) N2=inputbox(“de la base”) Valor_regresado_funcion= area(N1,N2) Picture1.print Valor_regresado_funcion End Sub
  • 18.
    Bibliografía Álvarez(2001). Computación2, programación. México, Universidad Autónoma de Nuevo León. Publicaciones Cultural
  • 19.
    Proyectos en parejaRealizar una librería de funciones para resolver problemas de conversiones o indicar ladas telefónicas o indicar días festivos. (10 % semestral). Entregar descripción de la librería, código impreso y ejecutable. Realizar una simulación de cajero automático (40 %) del tercer parcial. Entregar código, ejecutable e interfaces impresas. Permitir bloqueo a los tres errores de nip Cambio de nip Retiro de efectivo de 5 opciones Consulta de saldo impreso y pantalla según indique usuario. Que se aprecie la programación estructurada Fecha 19-23 de nov Fecha 5-9 de nov Entrega
  • 20.
    Sugerencias para LibreríaMedidas de longitud 1.6093 Kilómetros Millas Tierra 0.9144 Metros Yardas 0.6214 Millas Tierra Kilómetros 1.0936 Yardas Metros 0.3937 Pulgadas Centímetros 0.0394 Pulgadas Milímetros Multiplica por A: Convertir
  • 21.
    Sugerencias Medidas desuperficie 0.8381 Metros 2 Yardas 2 0.029 Metros 2 Piés 2 645.6 Centímetros 2 Pulgadas 2 1.196 Yardas 2 Metros 2 10.7639 Piés 2 Metros 2 0.155 Pulgadas 2 Centímetros 2 Multiplica por A: Convertir
  • 22.
    Sugerencias Ladas telefónicas 229 Veracruz 246 Tlaxcala 55 México 222 Puebla 998 Cancún 612 La Paz Lada Ciudad
  • 23.
    Sugerencias Día dela independencia Batalla de Puebla Día del trabajo Nat. De Benito Juárez La constitución Reyes magos Celebración Días festivos 16 de Septiembre 5 de mayo 1 de mayo 21 de marzo 5 de febrero 6 de enero Fecha
  • 24.
    Cuestionario (10 %)del tercer parcial ¿Qué es la programación estructurada? Ventajas de la programación estructurada Reglas de los procedimientos Sub Clasificación de los procedimientos y funciones en VB Diferencia entre procedimientos y funciones Diferencia entre byval y byref Llamada de un procedimiento y una función Paso de argumentos a parámetros 5 ejemplos de funciones predefinidas Implementa el procedimiento de la diapositiva No. 8 para permitir la división, valida para divisiones entre cero (marca mensaje de error). Fecha de entrega 26-30 de nov .