Modulo DESARROLLO SISTEMA BASICOS DE IMFORMACION Submodulo APLICAR
Modulo: DESARROLLO SISTEMA BASICOS DE IMFORMACION Submodulo: APLICAR LOS PRINCIPIOS DE PROGRAMACION EN LA SOLUCION DE PROBLEMAS Nombre: LLUVIA RUBI GAMEROS ROSALES Maestro: GUILLERMO RODRIGUEZ Semestre y grupo: “ 4 C”
Proced imiento s y Primer p rogram proced a imiento s en VB,
A M E T L E CTIVOS D 9. 1. OBJE Visto y nombrado los elementos de un programa y sus estructuras, así como la forma de representar las soluciones, ahora hemos de profundizar sobre el uso de los procedimientos, el paso de parámetros y sus características. Los veremos desde el punto de vista genérico, sin entrar en lenguajes en concreto.
9. 2. Introducción. . es una estructura más o menos compleja, en función del tamaño del mismo. Pero el código que lo compone no puede estar todo en el Main del mismo, sería difícil de entender y de modificar, además de muy largo, por lo tanto conviene trocear. Si recordamos el ejercicio del primer tema, ese es el camino, pequeños trozos de programa, fáciles de escribir y de modificar.
“PROCEDIMIENTOS” 9. 1. Objetivos del tema. Visto y nombrado los elementos de un programa y sus estructuras, así como la forma de representar las soluciones, ahora hemos de profundizar sobre el uso de los procedimientos, el paso de parámetros y sus características. Los veremos desde el punto de vista genérico, sin entrar en lenguajes en concreto.
9. 3. ¿. Procedimientos o funciones? En el peor de los casos, todo lo que se puede escribir en un procedimiento se puede resolver también con una función, o al revés, ¡técnicamente!, en la realidad no debe abordarse así. El procedimiento nos va a permitir resolver la estructura de un programa, cuando nos dan los resultados del análisis de un problema, nos dan una estructura, y esa estructura se resuelve mediante el uso de procedimientos
9. 4. Procedimientos. Siempre hemos de procurar crear procedimientos que sean cortos. Se ha de intentar seguir la pauta de que un procedimiento no supere en mucho la capacidad de líneas de una pantalla o de una hoja de papel, no por ningún requisito técnico, si no por comodidad nuestra, lo cual no impide en absoluto que cuando nos interese lo superemos.
Un procedimiento debe de ser un espacio estanco, su forma de comunicación con los datos que hay en el exterior debe ser los que figuran en la línea de parámetros. Cualquier otra forma de utilización, técnicamente puede ser correcta, y de hecho habrá alguna vez que habrá que saltarse esa norma, consejo, pero a la larga se convierte en problemas. Si creamos procedimientos sin dependencias del programa en el que se ubican, podemos cambiarlo de aplicación para aprovecharlo sin necesidad de reescribirlo, porque todos los datos que figuran en su interior tienen como origen su línea de parámetros, y no existe otra forma de comunicación. Así no pueden haber sorpresas.
c o r p e los d o t i b 5 ám 9. s o t n e i m i d e El ámbito de influencia de un procedimiento puede ser diverso, y su forma de utilizarse dependerá del lenguaje utilizado. En éste ejemplo, el programa sabe que hay un procedimiento, A, pero desconoce lo que hay en su interior, eso es conocido solo por el procedimiento A.
El procedimiento A y B son conocidos por el programa principal, A conoce a B y B conoce a A, pero A no conoce a B 1, ni B 1 conoce a A.
s a l e idez d l a v e d o t i b 9. 6 ám variables Con las variables sucede algo parecido, y además es muy importante que se usen adecuadamente, para evitar errores, aprovechar los recursos al máximo, y también para facilitar el modificación y comprensión del programa. Las variables de nivel de programa, pueden ser utilizadas por los procedimientos en su interior, no es aconsejable. Es conveniente utilizar el paso de variables, más que el uso de las globales, ya que eso le da independencia al procedimiento.
o v i t e j b o 1. 10 . a m e del t Visto como se inicia en VB un programa, veamos ahora como resolver un ejercicio, basándonos en el uso de procedimientos.
n 2 ó. i 10 ducc o r t n i A la hora de programar, podemos optar por varias soluciones, programación clásica o con objetos. Actualmente lo adecuado es utilizar objetos, por lo tanto deberíamos elegir ese camino, pero es una decisión personal e intransferible. Si nos aclaramos mejor con procedimientos y funciones, sin profundizar en clases, podemos plantearnos las clases como un segundo nivel, al que intentar llegar después. Pero el camino es el de empezar por los procedimientos, ya que como se ha comentado, un método es un procedimiento o una función
r e m i r p 10. 3 o i c r e j e Tomemos como punto de partida el del ejemplo del tema anterior, creemos un proyecto del tipo consola y démosle un nombre.
El nombre del proyecto, podemos cambiarlo por el nombre que deseemos, y su ubicación será la que él tiene por defecto, podemos dejarla o bien crear la nuestra propia. Aparecerá la ventana vacía a la que añadimos el código. Por lo que nuestro programa quedaría:
Module 1 Sub Main() Dim dato 1 As Integer Dim dato 2 As Integer Dim resultado As Integer dato 1 = 20 dato 2 = 10 resultado = dato 1 + dato 2 System. Console. Write. Line("dato 1 + dato 2 = " & resultado) System. Console. Read. Key() End Sub End Module
Tal cual lo vemos funciona, y el ejercicio quedaría resuelto, pero vamos un poco más allá. Esta es una solución, pero así no se puede hacer un programa, un programa es una estructura muy compleja, o puede llegar a serlo, y para eso hace falta una estructura que sea resistente y eficiente. Apliquemos lo que hemos visto de los procedimientos. Pág. 10. 1
10. 4. Parámetros en los procedimientos. El nombre que se le da a la línea de entrada en un procedimiento es de parámetros, línea de entrada, etc… Empecemos por pasar parámetros al procedimiento, por lo que en la línea de parámetros tendrá que aparecer las dos variables. Las variables tendrán que ir declaradas con el tipo que les corresponde
Private Sub Procedimento(By. Val D 1 As Integer, By. Val D 2 As Integer) Dim resultado As Integer resultado = D 1 + D 2 System. Console. Write. Line("Dato 1 + Dato 2 = {0} " , resultado) System. Console. Read. Key() End Sub Al procedimiento después hay que llamarlo para que se ejecute desde el programa principal, y por lo tanto también tiene que enviarse las variables que se supone tiene que recibir en la línea de entrada al mismo. Procedimiento(dato 1, dato 2)
Al procedimiento después hay que llamarlo para que se ejecute desde el programa principal, y por lo tanto también tiene que enviarse las variables que se supone tiene que recibir en la línea de entrada al mismo. Procedimiento(dato 1, dato 2) En el programa principal, dichas variables deberán estar declaradas para poderse utilizar. Dim dato 1 As Integer Dim dato 2 As Integer
Ahora veamos la solución completa con los cambios. Module 1 Private Sub Procedimiento(By. Val D 1 As Integer, By. Val D 2 As Integer) Dim resultado As Integer resultado = D 1 + D 2 System. Console. Write. Line("dato 1 + dato 2 = {0} ", resultado) System. Console. Read. Key() End Sub Main() Dim dato 1 As Integer Dim dato 2 As Integer dato 1 = 20 dato 2 = 10 Procedimiento(dato 1, dato 2) End Sub End Module
10. 5. Estructuras en los procedimientos Todas las estructuras que hemos visto, o sea las tres que hay, son de aplicación en el interior de un procedimiento, pero nos falta ver cual es su sintaxis, así que empecemos por ahí. 1 Estructuras alternativas. Una estructura alternativa es una instrucción en la que se puede ejecutar una de entre varias posibilidades, la más sencilla es del tipo If. if (Expresión) Then dat 1 = dato
if (dato > 0) then dat 1 = dato else dat 1 = 25 end if Donde expresión será cualquier expresión cuyo resultado de evaluación final siempre es del tipo cierto o falso. Pueden ir o no acompañadas de un else, en función de que sea necesario para nuestro programa.
Hay otra instrucción alternativa que es Select Case, que mucho Select case X más estructurada y más potente case 1 en cuanto a sencillez de Instrucción; posibilidades de creación de Instrucción; case 2 estructuras. Instrucción; Aquí tenemos un ejemplo con los Instrucción; posibles valores que nos interese Case else Console. writeline("error" ) de X, pero hay un sin fin de posibilidades en cuanto a posibles End Select expresiones para evaluar.
e s a C t c e l e S n u e d o l p m e j e Otro Selec t cas e Me case 1: no s m case 2: no bremes = mbre case mes "Enero" 3: no = mbre. . /. . mes "Febrero" = "Ma case rzo" 1 2: no "Dici mbre embr mes e " = Case Else No End S mbre. Mes = "In elect corre ccto"
En el ejemplo podemos observar varias formas de escribir la instrucción. En caso de que en la estructura deseemos dar una salida para la situación en la que no se cumpla ninguna de las situaciones previstas, podemos utilizar la opción de Case else Case Else Nombre. Mes = "Incorreccto" End Select
Dicho de otra forma es el equivalente del else en la instrucción If, vista anteriormente En el ejemplo tenemos una variable con un valor previsto de -1 y desconocemos cuales son las otras posibilidades, por lo tanto utilizamos case else para el resto: Select Case valor case -1 Console. writeline("No existe") Case else Console. writeline("Encontrado en la posición {0} " , valor) End Select
Las estructuras alternativas pueden ir anidadas una en el interior de otra hasta alcanzar el nivel necesario para resolver la estructura que se nos presenta. if (x > 0) then y = 15 if (x > 10) then x=2 else x = 25 end if
- Slides: 32