Actividad 1 Unidad 6
Actividad 1 Unidad 6
Actividad 1 Unidad 6
Parmetros de salida
Un parmetro de salida se diferencia de uno de entrada en que todo cambio que
se le realice en el cdigo del mtodo al que pertenece afectar al objeto que se le
pase al llamar dicho mtodo tanto si ste es de un tipo por valor como si es de un
tipo referencia. Esto se debe a que lo que a estos parmetros se les pasa es
siempre una referencia al valor que almacenara una variable del tipo del objeto
que se les pase.
Cualquier parmetro de salida de un mtodo siempre ha de modificarse dentro del
cuerpo del mtodo y adems dicha modificacin ha de hacerse antes que cualquier
lectura de su valor. Si esto no se hiciese as el compilador lo detectara e informara
de ello con un error. Por esta razn es posible pasar parmetros de salida que
sean variables no inicializadas, pues se garantiza que en el mtodo se inicializarn
antes de leerlas. Adems, tras la llamada a un mtodo se considera que las
variables que se le pasaron como parmetros de salida ya estarn inicializadas,
pues dentro del mtodo seguro que se las inicializa.
Parmetros por referencia
Un parmetro por referencia es similar a un parmetro de salida slo que no es
obligatorio modificarlo dentro del mtodo al que pertenece, por lo que ser
obligatorio pasarle una variable inicializada ya que no se garantiza su inicializacin
en el mtodo.
Los parmetros por referencia se definen igual que los parmetros de salida pero
sustituyendo el modificador out por el modificador ref. Del mismo modo, al pasar
valores a parmetros por referencia tambin hay que precederlos del ref.
Parmetros de nmero indefinido
C# permite disear mtodos que puedan tomar cualquier nmero de parmetros.
Para ello hay que indicar como ltimo parmetro del mtodo un parmetro de
algn tipo de tabla unidimensional o dentada precedido de la palabra reservada
params.
Siempre es posible hacer mdulos de un programa?
La programacin modular es un paradigma de programacin que consiste en
dividir un programa en mdulos o subprogramas con el fin de hacerlo ms legible y
manejable.
Se presenta histricamente como una evolucin de la programacin estructurada
para solucionar problemas de programacin ms grandes y complejos de lo que
sta puede resolver.
Al aplicar la programacin modular, un problema complejo debe ser dividido en
varios subproblemas ms simples, y estos a su vez en otros subproblemas ms
simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente
simples como para poder ser resueltos fcilmente con algn lenguaje de
programacin. sta tcnica se llama refinamiento sucesivo, divide y vencers o
anlisis descendente (Top-Down).
Un mdulo es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos
mdulos tiene una tarea bien definida y algunos necesitan de otros para poder
operar. En caso de que un mdulo necesite de otro, puede comunicarse con ste
mediante una interfaz de comunicacin que tambin debe estar bien definida.
Si bien un mdulo puede entenderse como una parte de un programa en
cualquiera de sus formas y variados contextos, en la prctica se los suele tomar
como sinnimos de procedimientos y funciones. Pero no necesaria ni estrictamente
un mdulo es una funcin o un procedimiento, ya que el mismo puede contener
muchos de ellos, no debe confundirse el trmino "modulo" (en el sentido de
programacin modular) con trminos como "funcin" o "procedimiento", propios del
lenguaje que lo soporte.
Cmo debe comentarse un mdulo?
Andrs:
Gracias por citar informacin sobre la modularidad que podemos consultar en
fuentes de internet.
Saludos
Mostrar mensaje anterior | Responder
En general s, pero siempre hay que evaluar que tenga sentido. Si es un programa
muy pequeo y sus elementos estn relacionados con una sla tarea, no tiene
sentido dividirlo. Si son muchas tareas no tan directamente relacionadas, lo tiene.
Supongo, o al menos eso hice yo, con una nota de qu es lo que hace. En algunos
casos creo que puede ser til mencionar qu otra funcion lo llama para poder
seguir la ruta.
Mostrar mensaje anterior | Responder
Saludos
Mostrar mensaje anterior | Responder
Baldemar:
Plantear el problema y esbozar el algoritmo es una manera de determinar la
complejidad y la viabilidad de hacer modular un programa.
Saludos
Mostrar mensaje anterior | Responder
Yo considero que si, pero creo que siempre cuidando que tengan coherencia
entre ellos.
Saludos!
Mostrar mensaje anterior | Responder
Norma:
Concuerdo contigo, usar el anlisis descendente permite ahorrar tiempo de
programacin y reciclar cdigo.
Saludos
Mostrar mensaje anterior | Responder
El planteamiento mismo del problema brinda los elementos para poder determinar
los insumos de entrada y de salida. El anlisis, planteamiento y solucin de un
problema se hace con premisas y se tiene claro lo que se espera. En este caso, el
adecuado anlisis del problema brindar los parmetros de entrada y salida.
Considero que deben ser al menos los elementos revisados a lo largo de este
curso, por ejemplo el Autor, Fecha de creacion, ultima modificacin, autor de la
ultima modificacin, en su caso el numero de versin y quiz un pequeo esbozo
de lo que en esencia hace el programa as como de los parmetros de entrada y
salida.
Mostrar mensaje anterior | Responder
Jos:
Concuerdo contigo, dividir o no un programa en mdulos depende de la
complejidad del mismo.
Saludos
Mostrar mensaje anterior | Responder
Son las variables que debemos ingresarle para que las trabaje, y los de retorno
son el resultado de los procesos que internamente realiza la funcin, idealmente,
seria de el proceso.
Oscar:
Concuerdo contigo en que es necesario comentar las variables locales y globales,
sobre todo si se les asigna el mismo nombre.
Saludos
Mostrar mensaje anterior | Responder
los de entrada los determino de acuerdo a los datos que ocupo para realizar
operaciones y los de salida los determino por los datos que se necesitan saber.
Manuel:
Efectivamente, los comentarios del programa deben tener la explicacin de lo que
hace cada parte del programa.
Saludos