SlideShare una empresa de Scribd logo
1 de 20
Módulo I- Introducción a la Programación en
la Plataforma .Net con C#
TEMARIO

CAPITULO III.- INTRODUCCIÓN AL
LENGUAJE DE PROGRAMACIÓN C#

  Introducción a los Métodos
  Utilización de Parámetros
INTRODUCCIÓN A LOS MÉTODOS

Definición de métodos
   Main es un método
      Para definir métodos propios se usa la misma
       sintaxis
using System;
using System;
class ExampleClass
 class ExampleClass
{{
     static void ExampleMethod( )
     static void ExampleMethod( )
     {
     {
         Console.WriteLine("ExampleMethod");
         Console.WriteLine("ExampleMethod");
     }
     }
     static void Main( )
     static void Main( )
     {
     {
         // ...
         // ...
     }
     }
}}
Tipos Métodos
 Procedimiento Void : Un procedimiento debe
 tener un nombre. Este nombre será utilizado para
 invocarle. No retorna datos. Ej: Void Hola Mundo()
 Funciones: Si un método devuelve valor, se
 llama función sino retorna valor se le llama
 procedimiento.
 Procedimientos de eventos : 2 elementos
 distinguen un procedimiento clásico a un de
 eventos:
    La llamada al procedimiento de eventos se realiza
     automáticamente.
    El nombre del procedimiento de eventos es la
     concatenación del nombre del evento para la cual se
     gestiona el evento: Ej: button_click()
Llamadas a métodos
 Una vez definido un método, se puede:
    Llamar a un método desde dentro de la misma
     clase
      Se usa el nombre del método seguido de una
        lista de parámetros entre paréntesis
    Llamar a un método que está en una clase
     diferente
      Hay que indicar al compilador cuál es la clase
        que contiene el método que se desea llamar
      El método llamado se debe declarar con la
        palabra clave public
    Usar llamadas anidadas
      Unos métodos pueden hacer llamadas a
        otros, que a su vez pueden llamar a otros
        métodos, y así sucesivamente.
Uso de la instrucción return
  Return inmediato
  Return con una instrucción condicional

   static void ExampleMethod( )
   static void ExampleMethod( )
   {
   {
      int numBeans;
      int numBeans;
      //...
      //...

       Console.WriteLine("Hello");
       Console.WriteLine("Hello");
       if (numBeans < 10)
       if (numBeans < 10)
          return;
          return;
       Console.WriteLine("World");
       Console.WriteLine("World");
   }
   }
Uso de variables locales
  Variables locales
     Se crean cuando comienza el método
     Son privadas para el método
     Se destruyen a la salida
  Variables compartidas
     Para compartir se utilizan variables de clase
  Conflictos de ámbito
     El compilador no avisa si hay conflictos entre
      nombres locales y de clase
Devolución de valores
    El método se debe declarar con un tipo
    que no sea void
    Se añade una instrucción return con una
    expresión
       Fija el valor de retorno
       Se devuelve al llamador
    Los métodos que no son void deben
    devolver un valor
static int DosMasDos( )
static int DosMasDos( )            {in t x ;
                                   i nt x;
                                    {
    int a,b;
    int a,b;                       x = DosMasDos( );
                                    x = DosMasDos( );
    a = 2;
    a = 2;                         Console.WriteLine(x);
                                    Console.WriteLine(x);
    b = 2;
    b = 2;
    return a + b;
    return a + b;
}
}
UTILIZACIÓN DE PARAMETROS
     Declaración y llamadas a
     parámetros
            Declaración de parámetros
               Se ponen entre paréntesis después del nombre
                del método
               Se definen el tipo y el nombre de cada parámetro
            Llamadas a métodos con parámetros
               Un valor para cada parámetro

st a t i c v o i d
 tatic void            MethodWithParameters(int n, string y)
                       MethodWithParameters(int n, string y
{ ... }
   ... }

Me t h o d W i t h P a r a m e t e r s ( 2 , " H o l a , m u n d o " ) ;
 ethodWithParameters(2, "Hola, mundo");
Mecanismos de paso de
parámetros
 Tres maneras de pasar parámetros

   entrada Paso por valor
   entrada Paso por valor

   entrada
   entrada Paso por referencia
           Paso por referencia
    salida
    salida
   salida Parámetros de salida
   salida Parámetros de salida
Paso por valor
         Mecanismo predeterminado para el paso de
         parámetros:
            Se copia el valor del parámetro
            Se puede cambiar la variable dentro del método
            No afecta al valor fuera del método
            El parámetro debe ser de un tipo igual o compatible
at i c v o i d S u m a U n o ( i n t x )
 tic void SumaUno(int x)
    x++; // Incrementar x
    x++; // Incrementar x
at i c v o i d M a i n ( )
 tic void Main( )
    int k = 6;
    int k = 6;
    SumaUno(k);
    SumaUno(k);
    Console.WriteLine(k); // Muestra el valor 6, no
    Console.WriteLine(k); // Muestra el valor 6, n
Paso por referencia
  ¿Qué son los parámetros referencia?
     Una referencia a una posición de memoria
  Uso de parámetros referencia
     Se usa la palabra clave ref en la declaración y
      las llamadas al método
     Los tipos y valores de variables deben coincidir
     Los cambios hechos en el método afectan al
      llamador
     Hay que asignar un valor al parámetro antes de
      la llamada al método
Parámetros de salida
   ¿Qué son los parámetros de salida?
      Pasan valores hacia fuera, pero no
       hacia dentro
   Uso de parámetros de salida
    Como ref , pero no se pasan valores al
     método
    Se usa la palabra clave out en la
static void OutDemo(out int p)
static void OutDemo(out int p)
{
{    declaración y las llamadas al método
       // ...
       // ...
}
}
int n;
int n;
OutDemo(out n);
OutDemo(out n);
Uso de listas de parámetros de
longitud variable
    Se usa la palabra clave params
    Se declara como tabla al final de la lista de
    parámetros
    Siempre paso por valor
static long AddList(params long[ ] v)
static long AddList(params long[ ] v)
{
{
    long total, i;
    long total, i;
    for (i = 0, total = 0; i < v.Length; i++)
    for (i = 0, total = 0; i < v.Length; i++)
        total += v[i];
         total += v[i];
    return total;
    return total;
}
}
static void Main( )
static void Main( )
{
{
    long x = AddList(63,21,84);
    long x = AddList(63,21,84);
}
}
Normas para el paso de
parámetros
 Mecanismos
    El paso por valor es el más habitual
    El valor de retorno del método es útil para un
     solo valor
    ref y/o out son útiles para más de un valor de
     retorno
    ref sólo se usa si los datos se pasan en ambos
     sentidos
 Eficiencia
    El paso por valor suele ser el más eficaz
Uso de métodos recursivos
  Un método puede hacer una llamada a sí
  mismo
     Directamente
     Indirectamente
  Útil para resolver ciertos problemas
Declaración de métodos
    sobrecargados
       Métodos que comparten un nombre en una
       clase
la s s O e r l odistinguen m p l e
 a s s Ov eSe oa d i n g E x a examinando la lista de parámetros
         v rl adingExample
   static int Suma(int a, int b)
   static int Suma(int a, int b)
   {
   {
       return a + b;
       return a + b;
   }
   }
   static int Suma(int a, int b, int
   static int Suma(int a, int b, int              c)
                                                  c)
   {
   {
       return a + b + c;
       return a + b + c;
   }
   }
   static void Main( )
   static void Main( )
   {
   {
       Console.WriteLine(Suma(1,2) +
       Console.WriteLine(Suma(1,2) +              Suma(1,2,3))
                                                  Suma(1,2,3))
   }
   }
Signaturas de métodos
     Las signaturas de métodos deben
     ser únicas dentro de una clase
     Definición de signatura
  Forman la definición
  Forman la definición     No afectan a la
                           No afectan a la
    de la signatura
     de la signatura         signatura
                             signatura
      Nombre del método
      Nombre del método    Nombre de parámetro
                            Nombre de parámetro

      Tipo de parámetro
      Tipo de parámetro    Tipo de retorno de
                            Tipo de retorno de
                             método
                             método
      Modificador
      Modificador
Uso de métodos sobrecargados
 Conviene usar métodos sobrecargados si:
    Hay métodos similares que requieren
     parámetros diferentes
    Se quiere añadir funcionalidad al código
     existente
 No hay que abusar, ya que:
    Son difíciles de depurar
    Son difíciles de mantener
Ejercicios
1.   Desarrolle un programa que calcule la fórmula de energía cinética. El
     cálculo debe estar definido en una función que reciba los datos para el
     cálculo y que retorne el resultado a una variable. Fórmula: Ec   =   1 / 2
     *  M *  V 2.
2.   Desarrolle un programa que determine si un número es primo, el
     calculo debe ser realizado en una función que recibe como parámetro
     el numero a evaluar y retorno si es primo o no (verdadero o falso). Un
     número es primo cuando solo es divisible entre él y la unidad. Ej.: 3, 5,
     7, 11,17….
3.   Desarrolle un programa que calcule en factorial de un numero. El
     calculo debe ser realizado en una función que reciba como parámetro
     el numero a factorizar.
4.   Opcional: Desarrollar el programa de factorial pero con funciones
     recursivas

Más contenido relacionado

La actualidad más candente

2 configuración de-las_vlan_estáticas
2   configuración de-las_vlan_estáticas2   configuración de-las_vlan_estáticas
2 configuración de-las_vlan_estáticasRodrigo Jimenez
 
Medios Guiados y Medios No Guiados
Medios Guiados y Medios No GuiadosMedios Guiados y Medios No Guiados
Medios Guiados y Medios No Guiadosgramirezpi
 
5 estructura interna de un objeto
5  estructura interna de un objeto5  estructura interna de un objeto
5 estructura interna de un objetozeta2015
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++Andy Otañez
 
Introducción a HTML y CSS
Introducción a HTML y CSSIntroducción a HTML y CSS
Introducción a HTML y CSSAdriana Tienda
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Tipos de datos en MySQL
Tipos de datos en MySQLTipos de datos en MySQL
Tipos de datos en MySQLTotus Muertos
 
Metodos de programacion
Metodos de programacionMetodos de programacion
Metodos de programacionadvmct
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ipwsar85
 
Tablas en html
Tablas en htmlTablas en html
Tablas en htmlElim Aqp
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)Jesus Tangarife
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relaciondanielglot
 

La actualidad más candente (20)

Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
2 configuración de-las_vlan_estáticas
2   configuración de-las_vlan_estáticas2   configuración de-las_vlan_estáticas
2 configuración de-las_vlan_estáticas
 
Medios Guiados y Medios No Guiados
Medios Guiados y Medios No GuiadosMedios Guiados y Medios No Guiados
Medios Guiados y Medios No Guiados
 
5 estructura interna de un objeto
5  estructura interna de un objeto5  estructura interna de un objeto
5 estructura interna de un objeto
 
Arreglos
ArreglosArreglos
Arreglos
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++
 
Array bidimensional
Array bidimensionalArray bidimensional
Array bidimensional
 
Introducción a HTML y CSS
Introducción a HTML y CSSIntroducción a HTML y CSS
Introducción a HTML y CSS
 
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOSUnidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Tipos de datos en MySQL
Tipos de datos en MySQLTipos de datos en MySQL
Tipos de datos en MySQL
 
Metodos de programacion
Metodos de programacionMetodos de programacion
Metodos de programacion
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ip
 
Arreglos en Java
Arreglos en JavaArreglos en Java
Arreglos en Java
 
Tablas en html
Tablas en htmlTablas en html
Tablas en html
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)
 
Manual pseint
Manual pseintManual pseint
Manual pseint
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 

Similar a 5 metodos y parametros

Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02aleja09_40
 
Metodos en java
Metodos en javaMetodos en java
Metodos en javaaleja0940
 
P3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxP3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxdocmarcoantoniosotov
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodosLao Tobon
 
Programacion Modular lic en informa.pdf
Programacion Modular  lic en informa.pdfProgramacion Modular  lic en informa.pdf
Programacion Modular lic en informa.pdfSalAlexanderReyesAnd
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacioncrisricguepi
 
TIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACIONTIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACIONcrisricguepi
 
Instrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoInstrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoandreadelacruz002
 
Instrucciones basicas-para-c++
Instrucciones basicas-para-c++Instrucciones basicas-para-c++
Instrucciones basicas-para-c++andreadelacruz002
 

Similar a 5 metodos y parametros (20)

5. Metodos Y Parametros
5.  Metodos Y Parametros5.  Metodos Y Parametros
5. Metodos Y Parametros
 
Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
MéTodos
MéTodosMéTodos
MéTodos
 
MéTodos
MéTodosMéTodos
MéTodos
 
MéTodos
MéTodosMéTodos
MéTodos
 
P3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptxP3 Programacion orientada a objetos con Java.pptx
P3 Programacion orientada a objetos con Java.pptx
 
14 tiposdemetodos
14 tiposdemetodos14 tiposdemetodos
14 tiposdemetodos
 
MéTodos Java
MéTodos JavaMéTodos Java
MéTodos Java
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodos
 
Tema4
Tema4Tema4
Tema4
 
Programacion Modular lic en informa.pdf
Programacion Modular  lic en informa.pdfProgramacion Modular  lic en informa.pdf
Programacion Modular lic en informa.pdf
 
Metodos 2
Metodos 2Metodos 2
Metodos 2
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacion
 
TIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACIONTIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACION
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Instrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoInstrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardado
 
Instrucciones basicas-para-c++
Instrucciones basicas-para-c++Instrucciones basicas-para-c++
Instrucciones basicas-para-c++
 

Más de Claribel Eusebio Nolasco (7)

9 fundamentos de oo
9 fundamentos de oo9 fundamentos de oo
9 fundamentos de oo
 
7 manejo de archivos
7 manejo de archivos7 manejo de archivos
7 manejo de archivos
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
1 introduccion microsoft .net
1 introduccion microsoft .net1 introduccion microsoft .net
1 introduccion microsoft .net
 
10 sintaxis oo
10 sintaxis oo10 sintaxis oo
10 sintaxis oo
 
8 introduccion colecciones
8 introduccion colecciones8 introduccion colecciones
8 introduccion colecciones
 

Último

2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendidaLuis Francisco Reyes Aceves
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptxdulcemonterroza
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfYanitza28
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8antoniopalmieriluna
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORASMarc Liust
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionEmanuelMuoz11
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 

Último (18)

2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

5 metodos y parametros

  • 1. Módulo I- Introducción a la Programación en la Plataforma .Net con C#
  • 2. TEMARIO CAPITULO III.- INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C#  Introducción a los Métodos  Utilización de Parámetros
  • 3. INTRODUCCIÓN A LOS MÉTODOS Definición de métodos Main es un método  Para definir métodos propios se usa la misma sintaxis using System; using System; class ExampleClass class ExampleClass {{ static void ExampleMethod( ) static void ExampleMethod( ) { { Console.WriteLine("ExampleMethod"); Console.WriteLine("ExampleMethod"); } } static void Main( ) static void Main( ) { { // ... // ... } } }}
  • 4. Tipos Métodos Procedimiento Void : Un procedimiento debe tener un nombre. Este nombre será utilizado para invocarle. No retorna datos. Ej: Void Hola Mundo() Funciones: Si un método devuelve valor, se llama función sino retorna valor se le llama procedimiento. Procedimientos de eventos : 2 elementos distinguen un procedimiento clásico a un de eventos:  La llamada al procedimiento de eventos se realiza automáticamente.  El nombre del procedimiento de eventos es la concatenación del nombre del evento para la cual se gestiona el evento: Ej: button_click()
  • 5. Llamadas a métodos Una vez definido un método, se puede:  Llamar a un método desde dentro de la misma clase  Se usa el nombre del método seguido de una lista de parámetros entre paréntesis  Llamar a un método que está en una clase diferente  Hay que indicar al compilador cuál es la clase que contiene el método que se desea llamar  El método llamado se debe declarar con la palabra clave public  Usar llamadas anidadas  Unos métodos pueden hacer llamadas a otros, que a su vez pueden llamar a otros métodos, y así sucesivamente.
  • 6. Uso de la instrucción return Return inmediato Return con una instrucción condicional static void ExampleMethod( ) static void ExampleMethod( ) { { int numBeans; int numBeans; //... //... Console.WriteLine("Hello"); Console.WriteLine("Hello"); if (numBeans < 10) if (numBeans < 10) return; return; Console.WriteLine("World"); Console.WriteLine("World"); } }
  • 7. Uso de variables locales Variables locales  Se crean cuando comienza el método  Son privadas para el método  Se destruyen a la salida Variables compartidas  Para compartir se utilizan variables de clase Conflictos de ámbito  El compilador no avisa si hay conflictos entre nombres locales y de clase
  • 8. Devolución de valores El método se debe declarar con un tipo que no sea void Se añade una instrucción return con una expresión  Fija el valor de retorno  Se devuelve al llamador Los métodos que no son void deben devolver un valor static int DosMasDos( ) static int DosMasDos( ) {in t x ; i nt x; { int a,b; int a,b; x = DosMasDos( ); x = DosMasDos( ); a = 2; a = 2; Console.WriteLine(x); Console.WriteLine(x); b = 2; b = 2; return a + b; return a + b; } }
  • 9. UTILIZACIÓN DE PARAMETROS Declaración y llamadas a parámetros Declaración de parámetros  Se ponen entre paréntesis después del nombre del método  Se definen el tipo y el nombre de cada parámetro Llamadas a métodos con parámetros  Un valor para cada parámetro st a t i c v o i d tatic void MethodWithParameters(int n, string y) MethodWithParameters(int n, string y { ... } ... } Me t h o d W i t h P a r a m e t e r s ( 2 , " H o l a , m u n d o " ) ; ethodWithParameters(2, "Hola, mundo");
  • 10. Mecanismos de paso de parámetros Tres maneras de pasar parámetros entrada Paso por valor entrada Paso por valor entrada entrada Paso por referencia Paso por referencia salida salida salida Parámetros de salida salida Parámetros de salida
  • 11. Paso por valor Mecanismo predeterminado para el paso de parámetros:  Se copia el valor del parámetro  Se puede cambiar la variable dentro del método  No afecta al valor fuera del método  El parámetro debe ser de un tipo igual o compatible at i c v o i d S u m a U n o ( i n t x ) tic void SumaUno(int x) x++; // Incrementar x x++; // Incrementar x at i c v o i d M a i n ( ) tic void Main( ) int k = 6; int k = 6; SumaUno(k); SumaUno(k); Console.WriteLine(k); // Muestra el valor 6, no Console.WriteLine(k); // Muestra el valor 6, n
  • 12. Paso por referencia ¿Qué son los parámetros referencia?  Una referencia a una posición de memoria Uso de parámetros referencia  Se usa la palabra clave ref en la declaración y las llamadas al método  Los tipos y valores de variables deben coincidir  Los cambios hechos en el método afectan al llamador  Hay que asignar un valor al parámetro antes de la llamada al método
  • 13. Parámetros de salida ¿Qué son los parámetros de salida?  Pasan valores hacia fuera, pero no hacia dentro Uso de parámetros de salida  Como ref , pero no se pasan valores al método  Se usa la palabra clave out en la static void OutDemo(out int p) static void OutDemo(out int p) { { declaración y las llamadas al método // ... // ... } } int n; int n; OutDemo(out n); OutDemo(out n);
  • 14. Uso de listas de parámetros de longitud variable Se usa la palabra clave params Se declara como tabla al final de la lista de parámetros Siempre paso por valor static long AddList(params long[ ] v) static long AddList(params long[ ] v) { { long total, i; long total, i; for (i = 0, total = 0; i < v.Length; i++) for (i = 0, total = 0; i < v.Length; i++) total += v[i]; total += v[i]; return total; return total; } } static void Main( ) static void Main( ) { { long x = AddList(63,21,84); long x = AddList(63,21,84); } }
  • 15. Normas para el paso de parámetros Mecanismos  El paso por valor es el más habitual  El valor de retorno del método es útil para un solo valor  ref y/o out son útiles para más de un valor de retorno  ref sólo se usa si los datos se pasan en ambos sentidos Eficiencia  El paso por valor suele ser el más eficaz
  • 16. Uso de métodos recursivos Un método puede hacer una llamada a sí mismo  Directamente  Indirectamente Útil para resolver ciertos problemas
  • 17. Declaración de métodos sobrecargados Métodos que comparten un nombre en una clase la s s O e r l odistinguen m p l e a s s Ov eSe oa d i n g E x a examinando la lista de parámetros v rl adingExample static int Suma(int a, int b) static int Suma(int a, int b) { { return a + b; return a + b; } } static int Suma(int a, int b, int static int Suma(int a, int b, int c) c) { { return a + b + c; return a + b + c; } } static void Main( ) static void Main( ) { { Console.WriteLine(Suma(1,2) + Console.WriteLine(Suma(1,2) + Suma(1,2,3)) Suma(1,2,3)) } }
  • 18. Signaturas de métodos Las signaturas de métodos deben ser únicas dentro de una clase Definición de signatura Forman la definición Forman la definición No afectan a la No afectan a la de la signatura de la signatura signatura signatura  Nombre del método  Nombre del método  Nombre de parámetro  Nombre de parámetro  Tipo de parámetro  Tipo de parámetro  Tipo de retorno de  Tipo de retorno de método método  Modificador  Modificador
  • 19. Uso de métodos sobrecargados Conviene usar métodos sobrecargados si:  Hay métodos similares que requieren parámetros diferentes  Se quiere añadir funcionalidad al código existente No hay que abusar, ya que:  Son difíciles de depurar  Son difíciles de mantener
  • 20. Ejercicios 1. Desarrolle un programa que calcule la fórmula de energía cinética. El cálculo debe estar definido en una función que reciba los datos para el cálculo y que retorne el resultado a una variable. Fórmula: Ec   =   1 / 2 *  M *  V 2. 2. Desarrolle un programa que determine si un número es primo, el calculo debe ser realizado en una función que recibe como parámetro el numero a evaluar y retorno si es primo o no (verdadero o falso). Un número es primo cuando solo es divisible entre él y la unidad. Ej.: 3, 5, 7, 11,17…. 3. Desarrolle un programa que calcule en factorial de un numero. El calculo debe ser realizado en una función que reciba como parámetro el numero a factorizar. 4. Opcional: Desarrollar el programa de factorial pero con funciones recursivas