Está en la página 1de 9

ALUMNO: FRANCISCO DIOGENES PASOS SANCHEZ

Actividad 3. Sobre parmetros


Con el fin de distinguir lo qu son los parmetros, realiza lo siguiente:
1. Elabora una definicin propia de parmetros.
2. Posteriormente investiga y responde cules tipos de parmetros existen?, y cmo
se deben utilizar dentro de un programa?
3. Guarda la actividad con el nombre POO1_U2_A3_XXYZ. Sustituye las XX por las dos
primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la inicial
del apellido materno.
4. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin

Definicin personal de Parmetro:


En ciencias de la computacin, un argumento o parmetro es una variable
que puede ser recibida por una rutina o subrutina. Una subrutina usa los
valores asignados a sus argumentos para alterar su comportamiento en
tiempo de ejecucin
PARAMETROS
Un parmetro es una variable que puede pasar su valor a un procedimiento
desde el principal o desde otro procedimiento. Existen ocasiones en que es
necesario mandar al procedimiento ciertos valores para que los use en
algn proceso. Estos valores que se pasan del cuerpo principal del
programa al procedimiento se llaman parmetros.
Entonces la declaracin completa de un procedimiento es:
Static void NomProc(lista de parmetros)
{ cuerpo de instrucciones; };
prog.java
import java.awt.*; import java.applet.*; import java.awt.event.*;
public class prog25 extends Applet {
static TextField t1=new TextField(10);
static Button b1=new Button("ok");

public void init() {


// abajo no se puso el objeto a la propiedad, porque el default es el propio
prog25 o applet
add(t1); add(b1);
b1.addMouseListener(new MouseAdapter()
{ public void mousePressed(MouseEvent e) {
int x = 500;
proc1(x);
} } );
} // cierra init
static void proc1(int x)
{ x=x+100;
t1.setText(String.valueOf(x));
};
} // cierra clase
codigo.html que activa applet
<HTML>
<APPLET CODE="prog25" width=100 height=100></APPLET>
</HTML>
corrida:

REGLAS PARA EL USO DE PARAMETROS


1.- Cuando se usan variables como parmetros, la variable que se manda
debe ser declarada dentro del principal o del procedimiento de donde se
esta enviando.
2.- La variable que se manda tiene un nombre, la que se recibe puede tener
otro nombre.
3.- La cantidad de variables que se envan deben ser igual en cantidad,
orden y tipo a las variables que reciben.
4.- La variable que se recibe tiene un mbito local dentro del procedimiento,
es decir solo la puede usar ese procedimiento.

http://www.programacionfacil.com/java/parametros
PARMETROS DE LOS SISTEMAS
El sistema se caracteriza por ciertos parmetros. Parmetros son
constantes arbitrarias que caracterizan, por sus propiedades, el valor y la
descripcin dimensional de un sistema especfico o de un componente del
sistema.
Los parmetros de los sistemas son:

Entrada o insumo o impulso (input):


Es la fuerza de arranque del sistema, que provee el material o la energa
para la operacin del sistema.
Salida o producto o resultado (output):
Es la finalidad para la cual se reunieron elementos y relaciones del sistema.
Los resultados de un proceso son las salidas, las cuales deben ser
coherentes con el objetivo del sistema. Los resultados de los sistemas son
finales, mientras que los resultados de los subsistemas con intermedios.
Procesamiento o procesador o transformador (throughput):
Es el fenmeno que produce cambios, es el mecanismo de conversin de
las entradas en salidas o resultados. Generalmente es representado como

la caja negra, en la que entra los insumos y salen cosas diferentes, que son
los productos.
Retroaccin o retroalimentacin o retroinformacin (feedback):
Es la funcin de retorno del sistema que tiende a comparar la salida con un
criterio prestablecido, mantenindola controlada dentro de aquel estndar o
criterio.
Ambiente:
Es el medio que envuelve externamente el sistema. Est en constante
interaccin con el sistema, ya que ste recibe entradas, las procesa y
efecta salidas. La supervivencia de un sistema depende de su capacidad
de adaptarse, cambiar y responder a las exigencias y demandas del
ambiente externo. Aunque el ambiente puede ser un recurso para el
sistema, tambin puede ser una amenaza.

Tipos de parmetros
Los tipos de parmetros a utilizar van a depender siempre de la necesidad
que se le presente al programador. De todos modos hay dos necesidades
bsicas que generalmente estn vigentes:
1. Poder obtener el contenido de una variable.
2. Poder modificar el contenido de una variable.
Parmetros por valor
Cuando surge la necesidad de obtener el valor o contenido de una variable
original o local a una funcin, en otra funcin, se utiliza parmetros por
valor. En este caso se produce una copia de la variable original hacia el
argumento formal de la funcin receptora. Dicha variable tendr como
mbito la funcin receptora y al culminar esta liberar el espacio de
memoria que ocupa.
void imprime_cantidad(int can){
printf(%d\n,can);
}
void alguna_funcion(void){
int cantidad;
:

imprime_cantidad(cantidad);
:
}
El valor de una variable original puede pasar de una funcin a otra y a su
vez a otras funciones, sin inconvenientes. De pronto en 10- Ciclo de
Seminarios y Talleres del Area de Programacin.
Parmetros y Argumentos en el lenguaje de programacin C++. Nuestro
desarrollo, nos podemos encontrar con una hoja de ruta de valores de
variables que pasan por funciones. Si usamos parmetros por valor, nunca
podremos modificar los valores de las variables originales ya que se
producen copias de las mismas hacia las variables de la funcin llamada y
su mbito es local. Al utilizar parmetros por valor, stos pueden ser
constantes como por ejemplo:
#include <stdio.h>
void imprime_datos(char nombre[], int edad){
printf("Nombre :%s , edad: %d\n",nombre, edad);
}
void main(void){
char alias[35] = {"Pepe"};
imprime_datos(alias,23);
}
Parmetros por referencia
La referencia indica trabajar sobre la direccin de memoria que ocupa el
parmetro o variable original.
void ingresar_cantidad(int &can){
cin>>can;
}
void alguna_funcion(void){
int cantidad;
:
ingresar_cantidad(cantidad);
:
}
Como se observa en este ejemplo, el argumento de la funcin receptora,
presenta el operador unario & precediendo al nombre de la variable. Esto
indica que se tome la direccin del parmetro hacia el argumento,
produciendo un espejo o alias de la variable original cantidad. Lo cual

significar, que toda alteracin producida sobre el argumento can, afectar


a la variable original o parmetro cantidad. Siempre que surja la necesidad
de afectar a las variables originales debemos usar parmetros por
referencia. Algunos casos seran:
Cargar un dato o recalcular un dato. Ya que las funciones devuelven solo un
valor, es habitual usar varios parmetros por referencia cuando necesitamos
que una funcin provoque varios resultados y no solo uno. Si al argumento
por referencia lo precedemos de la palabra const, dicha variable no podr
ser alterada en el mbito de la funcin receptora, por lo tanto nunca afectar
a la variable original.
#include <iostream.h>
void icrementa_sin_exito(int b)
{ b++;} // no afecta a la variable original a
void incrementa_con_exito(const int &b)
{ b++;} // Error de compilacin
void main(void){
int a = 4;
cout<<a<<"\n";
incrementa_sin_exito(a);
cout<<a<<"\n";
incrementa_con_exito(a);
cout<<a<<"\n";
}
Si extraemos la palabra reservada const del argumento b en la funcin
incrementa_con_exito(), no habra error de compilacin y la variable original
a se vera afectada al incrementarse en uno por el b++. Parmetros por
referencia puntero Kernighan y Ritchie3 el su captulo apuntadores y
arreglos nos hacen notar que la definicin de los argumentos char s[]; y char
*s; son completamente equivalentes cuando se pasa un nombre de un
arreglo de caracteres a una funcin. Ya que al pasar un arreglo como
parmetro, lo que en realidad se esta pasando es la direccin del comienzo
del mismo. Recordemos la funcin carga() de nuestro ejemplo de un arreglo
de nmeros enteros.
void carga(int &b){ // sin & funciona igual por que?
for (int i = 0;i < 5;i++)
cin>>b[i];
}
Si escribimos
void carga(int * b){

for (int i = 0;i < 5;i++)


cin>>b[i];
}
o bien
void carga(int * b){
for (int i = 0;i < 5;i++)
cin>>*b++;
}
En definitiva y aceptando los conceptos de Brian y Dennis la variable
original de tipo arreglo de enteros se ver modificada al producirse la carga
de elementos, manipulando el arreglo a partir de subndices o bien un
puntero a enteros. Tambin podramos haber escrito la funcin carga del
siguiente modo:
void carga(int * b){
for (int i = 0;*b == '\0';b++){
i++;
cin>>*b;
}
}
Siempre y cuando los elementos del arreglo estn inicializados en cero, ya
que de lo contrario tendramos algunos inconvenientes. Parmetros de tipo
puntero o apuntadores siempre tomarn la direccin de la variable original,
por consecuencia la referencia a la misma. Los parmetros por referencia
puntero pueden tener el mismo cometido que los por referencia, solo en el
concepto que al modificar un argumento, se afectar al parmetro. Pero no
en su tratamiento, donde se trabaja siempre sobre la base de la aritmtica
de punteros. Completemos la idea, con un ejemplo sencillo:
#include <iostream.h>
void incrementa(int *b) {
(*b)++;
}
void main(void){
int a = 4;
incrementa(&a);
cout<<a<<"\n"; // imprime 5
}
que sera totalmente equivalente a escribir
#include <iostream.h>
14- Ciclo de Seminarios y Talleres del Area de Programacin.
Parmetros y Argumentos en el lenguaje de programacin C++.

void incrementa(int *b) {


(*b)++;
}
void main(void){
int a = 4; int * ptero;
ptero = &a;
incrementa(ptero);
cout<<a<<"\n"; // imprime 5
}
ya que el parmetro debe ser una variable de tipo puntero o bien la
direccin de una variable.
Ejemplo para una matriz bidimensional:
#include <stdio.h>
#include <iostream.h>
typedef int matriz[2][2];
void carga(int *a){ // recibe la direccin de m[0][0]
for (int i = 0;i < 2;i++)
for (int j = 0;j < 2;j++)
cin>>*a++; // incrementa direcciones de la matriz
}
void muestra(matriz b){
for (int i = 0;i < 2;i++)
for (int j = 0;j < 2;j++)
printf("%d,",b[i][j]);
}
int suma(matriz c){
int valor=0;
for (int i = 0;i < 2;i++)
for (int j = 0;j < 2;j++)
valor += c[i][j];
return(valor);
UTN, FRT, Departamento de Sistemas de Informacin- 15
Ing. Ubaldo Jos Bonaparte
}
void main(){
matriz m = {0,0,0,0};
cargapuntero(&m[0][0]);
muestra(m);
printf("\nLa suma de los elementos es = %d\n",suma(m));
}
Al trabajar con una variable subindizada y bidimensional cuando invocamos
a la funcin carga(), debemos pasarle como parmetro la direccin de la

variable local entera m (&m[0][0]), para tratar la matriz con punteros. El


argumento de la funcin carga(), recibe dicha direccin sobre una variable
de tipo puntero a un entero a, y manipula las direcciones de memoria de la
matriz m con la aritmtica de punteros aplicada a dicha variable.

http://www.edutecne.utn.edu.ar/semin_progr_frt/param_y_argum_lenguaje_
C.pdf

También podría gustarte