![Page 1: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/1.jpg)
Problemas, algoritmos y programas(fragmento)
• Bibliografía principal:
Pareja et al., “Desarrollo de algoritmos […]” cap. 1
• Concepto de algoritmo
• Una primera definición intuitiva:
- Idea, definición, partes (atención a la entrada y salida)
- Características
- Ejemplo: suma lenta (imperativo, funcional).
- Aspectos nuevos: variables, estados y transiciones
• Una definición formal (Modelo imperativo, von Neumann):
- Estados (E, I, F) y transiciones
• Aspectos de interés:
- Especificaciones (predicados)
- Corrección
- Complejidad
- Computabilidad
![Page 2: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/2.jpg)
1. Suma lenta: diagrama de flujo (1/11)
![Page 3: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/3.jpg)
1. Suma lenta: diagrama de flujo (2/11)
![Page 4: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/4.jpg)
1. Suma lenta: diagrama de flujo (3/11)
![Page 5: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/5.jpg)
1. Suma lenta: diagrama de flujo (4/11)
![Page 6: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/6.jpg)
1. Suma lenta: diagrama de flujo (5/11)
![Page 7: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/7.jpg)
1. Suma lenta: diagrama de flujo (6/11)
![Page 8: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/8.jpg)
1. Suma lenta: diagrama de flujo (7/11)
![Page 9: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/9.jpg)
1. Suma lenta: diagrama de flujo (8/11)
![Page 10: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/10.jpg)
1. Suma lenta: diagrama de flujo (9/11)
![Page 11: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/11.jpg)
1. Suma lenta: diagrama de flujo (10/11)
![Page 12: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/12.jpg)
1. Suma lenta: diagrama de flujo (11/11)
![Page 13: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/13.jpg)
Algoritmo:(E, I, F, t)- E- I E- F E eF, t(e)=e- t: EE : …
… eE, (e’= t(e)E) (kN: tᵏ(e) F)
![Page 14: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/14.jpg)
2.a Especificación de un algoritmo- “Descripción precisa del cometido del algoritmo”
- Formalmente, se expresa mediante la relación
entre el estado previo y posterior:
a, b Z Variables//Pre.: a = M, b = B Prop. estado previoSUMA Algoritmo//Post.: a = M, b = B , c = A+B Prop. estado posterior
- Especificación: útil también para instruccioneso fragmentos de programa.
![Page 15: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/15.jpg)
2.a Especificación: pre y post-condición- Lectura:
- Escritura:
- Asignación:
![Page 16: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/16.jpg)
2.a Especificación: pre y post-condición- Ejercicios asignación:
![Page 17: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/17.jpg)
2.a Especificación: pre y post-condición- Ejercicios asignación:
![Page 18: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/18.jpg)
2.b Corrección
![Page 19: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/19.jpg)
2.c Complejidad computacional = coste
![Page 20: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/20.jpg)
2.d Computabilidad: hay problemasno computables.
Ej.: El problema de parada es “no computable”
![Page 21: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/21.jpg)
2.d Sucesión 3n+1
![Page 22: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/22.jpg)
2.d Sucesión 3n+1
![Page 23: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/23.jpg)
3. Ejemplos delenguajesalgorítmicos
y lenguajesdeprogramación Haskell
Prolog
seudocódigo
![Page 24: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/24.jpg)
3. Ejs. de lenguajes de programación
Pascal C++
![Page 25: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/25.jpg)
3. Ejs. de lenguajes de programación
Java
C++
![Page 26: Problemas, algoritmos y programas (fragmento)antares.sip.ucm.es/cpareja/libroAlgoritmos/docs/cap-1-Algoritmos... · Problemas, algoritmos y programas (fragmento) •Bibliografía](https://reader030.vdocuments.net/reader030/viewer/2022021520/5ba3ac4f09d3f280548bd12e/html5/thumbnails/26.jpg)
3. Ejs. de lenguajes de programación
Python
C++