Videotutorial Recursividad y Librerías - Módulo 03 - PDF

Summary

Este documento es un videotutorial sobre recursividad y librerías en C#. Se explica el concepto de recursividad en programación, usos frecuentes y precauciones, con ejemplos en código C#. Se detalla cómo invocar namespaces y librerías en C# y los métodos más comunes de las librerías como Math, Random, etc.

Full Transcript

MÓDULO 03 Videotutoría 09: Recursividad y librerías Tabla de contenido 01. 02. RECURSIVIDAD Recursión es un concepto que consiste en que un método se llama a sí mismo. Un método recursivo necesita ser terminado. CONDICION DE PARADA Por tanto, tenemos que implementar una condici...

MÓDULO 03 Videotutoría 09: Recursividad y librerías Tabla de contenido 01. 02. RECURSIVIDAD Recursión es un concepto que consiste en que un método se llama a sí mismo. Un método recursivo necesita ser terminado. CONDICION DE PARADA Por tanto, tenemos que implementar una condición de tal forma que, comprobemos que esta condición terminará de forma satisfactoria. Si no hacemos eso, un método recursivo terminará llamándose a sí mismo interminablemente y provocará un desbordamiento en la memoria. “Stack Overflow” Un caso base que permita la finalización del programa. ¿Para qué sirve? Para resolver problemas y situaciones que surgen en programación de una forma elegante. RECURSIVIDAD Usos más frecuentes - Recorrido de elementos Fichero y elementos - Para simplificar el código Precauciones - Desbordamiento - Consumo excesivo de recursos - Establecer siempre una condición de parada (break) RECURSIVIDAD ¿Qué tiene que tener un método recursivo? static void cuentaAtras(int numero){ - Que se llame a si mismo en un método Console.Write(numero + "-"); - Que tenga un condición de parada if (numero>0){ cuentaAtras(numero - 1); void cuentaAtras () { } } cuentaAtras(); } static void cuentaAtras(int numero){ for (int i = numero; i >= 0; i--){ Console.Write(i + "-"); } } RECURSIVIDAD numero = 3 iteración i i>=0 Console.Write(i + "-"); i-- static void cuentaAtras(int numero){ 1 3 3>=0 T 3- 2 2 2 2>=0 T 3–2- 1 for (int i = numero; i >= 0; i--){ 3 1 1>=0 T 3–2-1 0 Console.Write(i + "-"); 4 0 0>=0 T 3–2–1–0- -1 } } 5 -1 -1>=0 F FIN 6 numero = 3 iterac numero Console.Write(numero+ "-"); numero>0 cuentaAtras(numero - 1); ión static void cuentaAtras(int numero){ 1 3 3- 3 >0 T cuentaAtras(2); Console.Write(numero + "-"); 2 2 3-2 2 >0 T cuentaAtras(1); if (numero>0){ 3 1 3–2-1 1 >0 T cuentaAtras(0); cuentaAtras(numero - 1); 4 0 3–2–1–0- 0 >0 F FIN } 5 } 6 LIBRERÍAS Una librería es un conjunto de métodos relacionados con el mismo objetivo para poder ser reutilizado cada vez que el programador lo desee. Están basadas en clases Using System; Invocamos el namespace System para acceder a todas las librerías dentro de ese espacio de nombres. Es como una carpeta de clases. Dentro del namespace System podemos encontrar otras subcarpetas (como Linq) y las librerías (clases): Math Enum Convert Console Random …y muchas otras Nosotros estamos introduciendo nuestro programa en el espacio de nombres VideoTutorias, para poder llamarlo desde una clase externa, habría que hacerlo llamando a la clase VideoTutorias.Program (Formato: namespace.class) LIBRERÍAS La clase System.Math es un ejemplo de librería que nos proporciona métodos ya construidos para ayudarnos a trabajar nuestros códigos double calculo = Math.Pow(10,2); Los métodos de las librerías puede tener distintos modificadores (public, static, virtual, private, protected, etc.) Eso nos obligará a instanciar o no un objeto para poder utilizar las funciones y métodos que la contienen. Por ejemplo, la librería (clase) Math tiene todas sus funciones declaradas como public (las puede llamar cualquiera) static (no es necesario instanciar). En cambio, la clase Random tiene todas sus funciones declaradas como public (las puede llamar cualquiera) virtual (es necesario instanciar para poder utilizarlas). Tabla de contenido 01. 02. EJERCICIO EN DIRECTO Implementa un programa en que realice una cuenta regresiva desde 10 hasta 1, simulando la cuenta atrás para el despegue de un cohete. Al llegar a 1, el programa debe mostrar un mensaje indicando que el cohete ha despegado. La cuenta atrás debe implementarse mediante una función recursiva. GRACIAS

Use Quizgecko on...
Browser
Browser