An open API service indexing awesome lists of open source software.

https://github.com/codeficct/programacion-2-ejercicios

Todos los ejercicios de programación 2 usando c++, con el ing. Contreras.
https://github.com/codeficct/programacion-2-ejercicios

contreras cpp embarcadero radstudio recursion recursive-algorithm

Last synced: 3 months ago
JSON representation

Todos los ejercicios de programación 2 usando c++, con el ing. Contreras.

Awesome Lists containing this project

README

        

# PROGRAMACIÓN II - RECURSIVIDAD EN C++
```json
{
"Universidad": "UAGRM",
"Materia": "Programación II",
"Docente": "Ing. Contreras V. Juan Carlos",
"Lenguaje": "C++",
"Tecnica de Programación": "Recursividad",
"Entorno de Desarrollo": "Embarcadero Rad Studio 😪"
}
```

## Índice
- [Índice](#índice)
- [Procedimiento para escribir algoritmos recursivos](#procedimiento-para-escribir-algoritmos-recursivos)
- [Algoritmos con números](#algoritmos-con-números)
- [Potencia de un número](#potencia-de-un-número)
- [Algoritmos con cadenas](#algoritmos-con-cadenas)

## Procedimiento para escribir algoritmos recursivos

### Paso 0: Determinar las entradas y salidas del algoritmo.
**E:** (parámetros de entrada)


**S:** (variables de salida)

### Paso 1: Identificar la variable de recursión.
- Es la variable que representa (de alguna forma) la cantidad de datos que
el algoritmo irá a procesar.
- Esta variable puede ser: Explícita o implícita.

### Paso 2: Determinar el dominio de la variable de recursión.

```math
D_n = D_ntd ∩ D_ncp
```
$D_ntd$ = Dominio de la variable por el tipo de dato de la variable.


$D_ncp$ = Dominio de la variable por el contexto del problema.

Ver ejemplo

Sea $n$ una variable que representa un dia de la semana.

$D_n$ = byte $∩$ { 1, 2, 3, 4, 5, 6, 7 }


$D_n$ = [0, 255] $∩$ [1, 7]


$D_n$ = [1, 7]

### Paso 3: Caso base
Resolver el problema para el primer valor del dominio
de la variable de recursión en todas sus situaciones.

### Paso 4: Caso general
Suponiendo que ya existe un proceso que hace lo mismo
que tiene que hacer, pero la hace para uno menos(procesa n-1 datos).
Llamando a ese proceso (hipótesis) terminar de procesar el dato que falta.