{"id":21354387,"url":"https://github.com/codeficct/programacion-2-ejercicios","last_synced_at":"2025-06-27T06:39:06.074Z","repository":{"id":125527317,"uuid":"608426235","full_name":"codeficct/programacion-2-ejercicios","owner":"codeficct","description":"Todos los ejercicios de programación 2 usando c++, con el ing. Contreras.","archived":false,"fork":false,"pushed_at":"2023-10-06T12:17:44.000Z","size":10895,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T17:46:52.847Z","etag":null,"topics":["contreras","cpp","embarcadero","radstudio","recursion","recursive-algorithm"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeficct.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-02T01:42:54.000Z","updated_at":"2024-05-08T20:58:20.000Z","dependencies_parsed_at":"2025-01-22T17:44:18.517Z","dependency_job_id":"444be284-cd3c-493f-92db-c633b82adcd3","html_url":"https://github.com/codeficct/programacion-2-ejercicios","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeficct%2Fprogramacion-2-ejercicios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeficct%2Fprogramacion-2-ejercicios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeficct%2Fprogramacion-2-ejercicios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeficct%2Fprogramacion-2-ejercicios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeficct","download_url":"https://codeload.github.com/codeficct/programacion-2-ejercicios/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243828173,"owners_count":20354444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contreras","cpp","embarcadero","radstudio","recursion","recursive-algorithm"],"created_at":"2024-11-22T04:13:18.485Z","updated_at":"2025-03-16T05:21:57.046Z","avatar_url":"https://github.com/codeficct.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PROGRAMACIÓN II - RECURSIVIDAD EN C++\n```json\n{\n  \"Universidad\": \"UAGRM\",\n  \"Materia\": \"Programación II\",\n  \"Docente\": \"Ing. Contreras V. Juan Carlos\",\n  \"Lenguaje\": \"C++\",\n  \"Tecnica de Programación\": \"Recursividad\",\n  \"Entorno de Desarrollo\": \"Embarcadero Rad Studio 😪\"\n}\n```\n\n## Índice\n- [Índice](#índice)\n- [Procedimiento para escribir algoritmos recursivos](#procedimiento-para-escribir-algoritmos-recursivos)\n- [Algoritmos con números](#algoritmos-con-números)\n  - [Potencia de un número](#potencia-de-un-número)\n- [Algoritmos con cadenas](#algoritmos-con-cadenas)\n\n## Procedimiento para escribir algoritmos recursivos\n\n### Paso 0: Determinar las entradas y salidas del algoritmo.\n**E:** (parámetros de entrada)\n\u003cbr\u003e\n**S:** (variables de salida)\n\n### Paso 1: Identificar la variable de recursión.\n-  Es la variable que representa (de alguna forma) la cantidad de datos que\nel algoritmo irá a procesar.\n- Esta variable puede ser: Explícita o implícita.\n\n### Paso 2: Determinar el dominio de la variable de recursión.\n\n```math\nD_n  =  D_ntd  ∩  D_ncp\n```\n$D_ntd$ = Dominio de la variable por el tipo de dato de la variable.\n\u003cbr\u003e\n$D_ncp$ = Dominio de la variable por el contexto del problema.\n\n\u003cdetails\u003e\n  \u003csummary\u003eVer ejemplo\u003c/summary\u003e\n  \nSea $n$ una variable que representa un dia de la semana.\n\n$D_n$ = byte $∩$ { 1, 2, 3, 4, 5, 6, 7 }\n\u003cbr\u003e\n$D_n$ = [0, 255] $∩$ [1, 7]\n\u003cbr\u003e\n$D_n$ = [1, 7]\n  \n\u003c/details\u003e\n\n### Paso 3: Caso base\nResolver el problema para el primer valor del dominio \nde la variable de recursión en todas sus situaciones.\n\n### Paso 4: Caso general\nSuponiendo que ya existe un proceso que hace lo mismo \nque tiene que hacer, pero la hace para uno menos(procesa n-1 datos).\nLlamando a ese proceso (hipótesis) terminar de procesar el dato que falta.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeficct%2Fprogramacion-2-ejercicios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeficct%2Fprogramacion-2-ejercicios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeficct%2Fprogramacion-2-ejercicios/lists"}