3metodosestaticoscsharp

Anuncio
Ing.
Jakeline
Marcos
Abed
7/30/11
Objetivos del tema:
  ¿Qué es un método?
Métodos Estáticos C#
  ¿Qué métodos conoces?
  Métodos que NO devuelven valor.
  Métodos que SI devuelven un valor.
  Paso de parámetros.
  Variables Locales y Globales
Fundamentos de Programación.
1
Fundamentos de programación C# Jakeline Marcos.
2
Fundamentos de programación C# Jakeline Marcos.
¿Qué es un método?
Métodos CON valor
de retorno
  Cuando escribimos programas grandes y
complejos, puede resultar difícil crearlos,
entenderlos y corregirlos.
  Una técnica muy útil en estos casos es dividir
el problema en pequeñas secciones, por eso
se utiliza la frase: “divide y vencerás”...
  Estas pequeñas secciones de código, o
pequeños procesos se llaman métodos. En
algunos otros lenguajes equivale a las
funciones.
Datos de entrada
(parámetros)
Método
3
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
Dato de salida
(valor de retorno)
4
Fundamentos de programación C# Jakeline Marcos.
1
Ing.
Jakeline
Marcos
Abed
7/30/11
Ejemplo de método predefinido
CON valor de retorno
a
b
Math.Pow
ab
Ejemplo de método predefinido
CON valor de retorno
n
raiz
Math.Sqrt
5
Fundamentos de programación C# Jakeline Marcos.
6
Fundamentos de programación C# Jakeline Marcos.
  Una vez definido el método, este puede ser “llamado” o “invocado”
Es un proceso o fragmento de código que recibe
valores de entrada y a partir de ellos produce un
valor de salida.
cuantas veces sea necesario, para diferentes valores, obteniendo en
cada caso el resultado correspondiente.
90
Por ejemplo:
70
80
PromedioFinal
80
70
c1
c2
PromedioFinal
75
cFinal
75
PromedioFinal
80
c3
7
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
8
Fundamentos de programación C# Jakeline Marcos.
2
Ing.
Jakeline
Marcos
Abed
7/30/11
  La definición del método PromedioFinal sería la
Encabezado
siguiente:
static double PromedioFinal (int a, int b, int c) {
return (a + b + c) / 3.0;
Cuerpo
static double PromedioFinal (int a, int b, int c) {
return (a + b + c) / 3.0;
}
}
  En el encabezado se define:
•  La definición de un método está compuesto de
dos partes:
–  Encabezado del método.
–  Cuerpo del método.
 
El tipo del valor resultante o de retorno
 
El nombre del método
 
y los parámetros del método
9
Fundamentos de programación C# Jakeline Marcos.
10
Fundamentos de programación C# Jakeline Marcos.
Métodos CON valor de RETORNO
sí devuelven un valor.- Cuando queremos que el
método nos ayude a obtener un resultado, utilizamos el
encabezado siguiente:
Tipos de métodos:
Métodos que sí devuelven un valor.
  Métodos que
  Formato general:
Llamado al método Suma dentro del Main.
int s = Suma(10,4,6);
Devuelve un valor de tipo int.
return a + b + c;
Llamado o invocación al método nom.
tipo s = nom(p1,p2,...pn);
Método suma.
Devuelve un valor de este tipo.
static int Suma(int a, int b, int c) {
Se utiliza return
para devolver un
valor
tipo de dato resultante: int,
double, boolean, String
Parámetros.
Nombre Método.
Parámetros.
public tipo nom(tipo p1, tipo p2,.... tipo pn) {
}
return ________;
tipo de dato resultante puede ser: int, double, boolean, o String
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
}
12
Fundamentos de programación C# Jakeline Marcos.
3
Ing.
Jakeline
Marcos
Abed
7/30/11
  La cantidad de variables que se definan en la lista de
parámetros dependerá de los valores de entrada que necesite
tu método.
  Si requiere 5 datos de entrada, tendrá 5 variables. Si no requiere
de valores de entrada, entonces la lista será vacía (paréntesis
vacíos).
double resultado;
resultado = PromedioFinal(70,60,90);
O:
resultado = PromedioFinal(80,70,70) + tareas + faltas;
  Las variables definidas en la lista de parámetros sólo podrán
ser utilizadas dentro del cuerpo del método. Una vez que el
método haya terminado de hacer sus cálculos y haya regresado
el resultado, las variables de los parámetros se mueren =(
O:
Dentro de la impresión de un resultado:
Console.WriteLine(“Promedio: ”+ PromedioFinal(90,80,70));
  Puedes utilizar esos mismos nombres de variables, pero
debes estar consciente que NO se refiere a las mismas.
13
Fundamentos de programación C# Jakeline Marcos.
14
Fundamentos de programación C# Jakeline Marcos.
static bool Positivos (int x, int y, int z) {
if (x > 0 && y > 0 && z > 0) {
return true;
} else {
return false;
}
}
15
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
16
Fundamentos de programación C# Jakeline Marcos.
4
Ing.
Jakeline
Marcos
Abed
7/30/11
Métodos SIN valor de
retorno
  Es un método que NO regresa ningún valor, sólo
lleva a cabo una secuencia de instrucciones.
  Para indicar esto escribiremos en el encabezado
de la función la palabra void (vacío) como tipo
de valor de retorno.
  Este método NO necesita el estatuto return,
¿?
pero puede tenerlo vacío: return;
  Puede tener cero o más parámetros.
17
Fundamentos de programación C# Jakeline Marcos.
18
Fundamentos de programación C# Jakeline Marcos.
 
La definición del método ImprimeMenu, que
NO recibe parámetros y NO devuelve ningún
valor sería el siguiente:
Por ejemplo:
static void Main(String[] args) {
imprimeMenu();
// NO se tiene que asignar
static void ImprimeMenu( )
{
Console.WriteLine(“1. Sumar 2 numeros”);
Console.WriteLine (“2. Dividir 2 numeros”);
Console.WriteLine (“3. Salir”);
}
}
19
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
20
Fundamentos de programación C# Jakeline Marcos.
5
Ing.
Jakeline
Marcos
Abed
7/30/11
Reglas sobre el paso de parámetros:
La definición del método MuestraPrecioConIva,
que Sí recibe un parámetro y NO devuelve
ningún valor sería el siguiente:
static void MuestraPrecioConIva (double precio )
{
double p = precio * 1.15;
Console.WriteLine (“Precio con 15% de iva: ” + p);
}
  Al pasar parámetros o valores a los métodos
se debe tener cuidado de que los valores
enviados deben coincidir en:
número.- Si en la llamada al método se envían 3
valores, el método debe recibir 3 valores.
  tipo.- Si en la llamada al método se envían 2
valores enteros y uno decimal, el método debe
recibirlos de la misma manera.
  orden.- Si en la llamada al método se envían 3
valores a,b,c se deben de recibir en el mismo
orden.
 
21
Fundamentos de programación C# Jakeline Marcos.
22
Fundamentos de programación C# Jakeline Marcos.
Alcance de las variables:
Los siguientes comentarios son aplicables al
estatuto return:
Variables Locales y Globales.
El return se usa para establecer el valor que va a
regresar el método ( return resultado; ).
  Al llegar al estatuto return, el método se deja de
ejecutar y se envía como valor de retorno el valor
que viene al lado del return.
  Una función void puede tener un return
vacío( return; ), o no tener return.
  Una función que no es void – es decir, que sí tiene
valor de retorno, debe tener al menos un return;
Solo uno se ejecutará cuando la función sea
invocada.
 
  Cuando dentro de un método necesitamos hacer diferentes
operaciones, podemos utilizar variables auxiliares o locales.
  Estas variables solo “viven” dentro del método en el que son
definidas y utilizadas y al finalizar el método se desechan.
  Es por eso que si una variable fue definida dentro de un
método, No puede ser utilizada en otra parte del programa.
  Si necesitas utilizar una variable a lo largo de todo el programa,
la debes definir como variable global, esto es, afuera de todos
los métodos pero dentro de la clase.
23
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
24
Fundamentos de programación C# Jakeline Marcos.
6
Ing.
Jakeline
Marcos
Abed
7/30/11
Errores comunes de programación
CirculoConMetodos
  El encabezado del método debe incluir los nombres de los tipos. El siguiente
código está mal:
private void MetodoUno(x){
Debemos utilizar algo como esto:
private void MetodoUno(int x) {
  1) Circunferencia: 2 * Pi * radio (regresa un double)
// correcto
  2) Area: Pi * radio2 (regresa un entero)
  La llamada a un método NO debe incluir los nombres de los tipos. Por ejemplo,
en vez de:
MetodoUno(int y);
  Desarrolla un programa que pregunte al usuario el
RADIO de un círculo, utilizando los siguientes métodos:
// incorrecto
  3) Volumen: 4/3 * Pi * radio3 (regresa un double)
  4) SALIR
// incorrecto
Debemos usar:
MetodoUno(y);
  Desarrollar UN METODO para cada opción
// correcto
  Al llamar a un método debemos enviar el número correcto de parámetros y los
tipos correctos de éstos.
  Siempre debemos consumir o asignar un valor devuelto de alguna forma, para el
caso de métodos que Sí tienen valor de retorno.
int x = CalculaAlgo();
25
Fundamentos de programación C# Jakeline Marcos.
26
Fundamentos de programación C# Jakeline Marcos.
ConversionConMetodos
Ejemplo método void
  Desarrolla un programa que ayude a convertir:
  Desarrolla un programa DesplegarNombre que utilice un
método de tipo void para:
  1) de grados Fahrenheit a grados Celsius ( °C = 5/9(°F-32) )
  2) de °C a °F
  1) Recibir como parámetros: nombre, apellido1, apellido2
(°F = (C * 9) / 5 + 32)
Y despliegue en pantalla: ap1, ap2 y nombre
  EI programa deberá llamar varias veces a los métodos,
  2) Recibir como parámetros: nombre, apellido1
Y despliegue en pantalla: apellido1 y nombre
utilizando diferentes valores.
  Los métodos deben de regresar un valor double.
  EI programa deberá llamar varias veces a los métodos,
utilizando diferentes valores.
27
Fundamentos de programación C# Jakeline Marcos.
Fundamentos
de
Programación.
TC1002
28
Fundamentos de programación C# Jakeline Marcos.
7
Ing.
Jakeline
Marcos
Abed
7/30/11
Ejemplo método void
ConversiónConMetodos
  Desarrolla un programa DesplegarIniciales que utilice un
método de tipo void para:
  Desarrolla un programa que sea capaz de convertir:
  1) de minutos a horas. Tipo int
  2) de pies a metros ( 1 pie = 0.3048 metros) Tipo double
  1) Recibir como parámetros: nombre, apellido1, apellido2
  3) de grados Fahrenheit a grados Celsius ( °C = 5/9(°F-32) )
Y despliegue en pantalla: las iniciales del nombre
  2) Recibir como parámetros: nombre, apellido1
Y despliegue en pantalla: las iniciales del nombre
  4) de °C a °F
utilizando diferentes valores.
las opciones. EI usuario seleccionará la opción deseada y
dará los datos requeridos para hacer la conversión
correspondiente.
29
Fundamentos
de
Programación.
TC1002
Tipo double
  EI programa deberá desplegar un menú para cada una de
  EI programa deberá llamar varias veces a los métodos,
Fundamentos de programación C# Jakeline Marcos.
(°F = (C * 9) / 5 + 32
  5) SALIR
30
Fundamentos de programación C# Jakeline Marcos.
8

Documentos relacionados
Descargar