![Page 1: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/1.jpg)
FUNDAMENTOS DE PROGRAMACIÓN
Algoritmos
y Programas
![Page 2: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/2.jpg)
La palabra proviene del latín datum, formadel verbo dare “dar”, que significa“Lo que esdado”
Representación de una información demanera adecuada para su tratamiento por unordenador
Dato
![Page 3: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/3.jpg)
Ejemplos1525º C25 m31-10-2005FebreroMaría Pérez
Son representaciones simbólicas deobjetos, hechos, instituciones,conocimientos.
Dato
![Page 4: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/4.jpg)
Los datos organizados o procesadosadquieren significado y proporcionanconocimiento o desencadenan uncomportamiento sobre los hechos uobjetos que lo originaron
La información se resumen en :Datos + significado
Información
![Page 5: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/5.jpg)
Un grupo de datos es información
• Datos: 19- Marzo – Maria – 20 ptos.
• Información: El 19 de marzo se publicó enacta la calificación de 20 ptos para María
El principal objetivo de la informaciónconsiste en aumentar el conocimiento oreducir la incertidumbre.
Información
![Page 6: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/6.jpg)
Ejemplos
Juan tiene 15 años
25º C fue la temperatura de esta mañana.
El edificio “Robles” mide 25 m de altura
La fecha de hoy es 31-10-2005
Febrero tiene 28 días y 29 si el año es bisiesto.
María Pérez es un nombre muy común
Información
![Page 7: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/7.jpg)
Es un asunto o un conjunto de cuestiones quese plantean para ser resueltas.
La naturaleza de los problemas varía con elámbito o el contexto: problemas matemáticos,químicos, filosóficos, etc.
Es importante que al abordar un problema setenga una descripción simple y precisa delmismo, de lo contrario resultaría complejomodular, simular, o programar su solución enun ordenador.
Problema
![Page 8: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/8.jpg)
Un programador es una persona que resuelveproblemas, y para llegar a ser un programadoreficaz se necesita aprender a resolver problemasde un modo riguroso y sistemático
Problema Diseño Algoritmo
Programa
Problema
Análisis
![Page 9: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/9.jpg)
Algunos de los pasos para solucionar un problema son:
Análisis: consiste en el estudio detallado del problema.Se debe identificar los datos de entrada, de salida y ladescripción del problema.
Diseño del algoritmo, que describe la secuenciaordenada de pasos que conduce a la solución de unproblema dado.
Expresar el algoritmo como un programa en unlenguaje de programación adecuado (Fase deCodificación)
Ejecución y validación del programa por elcomputador
Problema
![Page 10: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/10.jpg)
Etimología: Proviene del nombre delmatemático persa Mohammed Al-khowanzmi,cuyo apellido traducido al latín es Algorismus
Conjunto de acciones que especifican lasecuencia de operaciones a realizar, en orden,para resolver un problema
Algoritmo
Los algoritmos son independientes tanto dellenguaje de programación como delcomputador que los ejecuta.
![Page 11: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/11.jpg)
Finito:
Definido:
Preciso:
un algoritmo siempre debe terminar después de un número finito de pasos
si se sigue un algoritmo dos veces se debe obtener el mismo resultado
indicar exactamente el orden de realización de las instrucciones
Algoritmo
![Page 12: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/12.jpg)
Ejemplo tradicional de un algoritmo: Cambiar la ruedapinchada de un coche
Algoritmo
![Page 13: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/13.jpg)
1. Buscar herramientas, rueda de repuesto y triángulode señalización
2. Ubicar el triángulo en el lugar adecuado
3. Ir al lugar de la rueda averiada
4. Sacar las tuercas
5. Colocar el gato
6. Levantar el coche
Algoritmo
![Page 14: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/14.jpg)
7. Sacar la rueda
8. Colocar la rueda de Repuesto
9. Colocar las tuercas
10. Apretar las tuercas
11. Guardar las herramientas
FIN
Algoritmo
![Page 15: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/15.jpg)
Fases de Desarrollo de un Algoritmo
Análisis
Diseño
Codificación
Compilación
Interpretación
Pruebas
Especificación
Algoritmo
Programa
Prog. Ejecutable
Aplicación
Algoritmo
Fase Producto
![Page 16: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/16.jpg)
Fase de Análisis: consiste en el estudio detallado delproblema con el fin de obtener una serie de documentos(especificación) en los cuales quedan totalmente definidoel proceso a seguir en la automatización
Algoritmo
Estudio detallado Documentos de Especificación
![Page 17: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/17.jpg)
Diseño: consiste en la realización del algoritmo queresuelve el problema de acuerdo a la especificación dadaen la fase anterior. El algoritmo se representa mediantepseudocódigo.
Algoritmo
Algoritmo PRUEBA
Inicio
Variables
A,B,C: entero
Leer(A,B)
C=A+B
Escribir (C)
FinDocumentos de
Especificación
![Page 18: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/18.jpg)
Codificación: consiste en la traducción del algoritmo aun programa escrito en un lenguaje de programación
Algoritmo
Algoritmo Sumar
Inicio
Variables
A,B,C: entero
Leer(A,B)
C=A+B
Escribir (C)
Fin Programa escrito
en un Lenguaje de Programación
![Page 19: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/19.jpg)
Compilación/Interpretación: consiste en obtener elprograma ejecutableobjeto a partir del programa fuente.
Algoritmo
Programa fuente
Programa Ejecutable
![Page 20: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/20.jpg)
Prueba: consiste en determinar si el programa funcionacorrectamente y realiza las operaciones que esperamosde él.
Algoritmo
Programa Ejecutable Aplicación
![Page 21: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/21.jpg)
Lenguaje: conjunto de reglas y convenciones que se utilizanpara comunicar información.
Lenguaje de Programación: es un lenguaje que permite latraducción de un algoritmo para que sea entendible por elcomputador. Son los lenguajes utilizados para escribirprogramas de ordenadores.
Tipos de Lenguaje de Programación:
Lenguaje de Máquina
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel
Lenguajes de programación
![Page 22: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/22.jpg)
Son aquellos que están escritos en lenguajedirectamente inteligibles por la máquina, ya que susinstrucciones son cadenas binarias (0’s ,1’s) queespecifican una operación.
Las instrucciones en lenguaje máquina dependen delHardware de la computadora, difiere de una PC a otra.
La ventaja de los lenguajes máquina es que ofrecenmayor velocidad de ejecución.
Existen algunas desventajas: dificultad y lentitud en lacodificación, poca fiabilidad, los programas no sonportables.
Lenguaje de máquina
![Page 23: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/23.jpg)
11001010 00010111 11110101 0010101100010111 11110101 00101011 0010101111001010 00010111 11110101 0010101100010111 11110101 00101011 0010101111001010 11110101 00101011 0010101111001010 11001010 11110101 0010101111001010 11110101 00101011 0010101111001010 00010111 11110101 0010101100010111 11110101 00101011 0010101111001010 11110101 00101011 00101011
Ejemplo Lenguaje Máquina
![Page 24: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/24.jpg)
Son lenguajes que permiten escribir programas coninstrucciones similares al lenguaje humano.
Son más fáciles de utilizar que los lenguajes demáquina, pero éstos también dependen de la máquina enparticular.
El mejor ejemplo es el lenguaje ensamblador
Un programa escrito en lenguaje ensamblador requiereuna fase de traducción.
Entre las desventajas tenemos: que este lenguajedepende de la máquina y demanda una mayor exigenciapara los programadores, ya que deben conocer tanto lastécnicas de programación así como el interior de lamáquina
Lenguaje de bajo nivel
![Page 25: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/25.jpg)
Son los más utilizados por los programadores
Son independientes de la máquina
Los programas escritos en estos lenguajes sonportables
Aumento de la ocupación de la memoria
Las estructuras de los programas se basan en reglassintácticas
Ejemplos: C, C++, Visual C++, Visual Basic, VisualC#,Pascal, Ada, Delphi, Java, php...
Lenguaje de alto nivel
![Page 26: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/26.jpg)
#include <stdio.h>
int main(void)
{
printf("Hola, Mundo\n");
}
Ejemplo Lenguaje alto nivel
![Page 27: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/27.jpg)
Traductores de Lenguajes: son programas que traducena su vez los programas fuentes escritos en lenguajes dealto nivel a código máquina. Estos se dividen enintérpretes y compiladores.
Traductores de Lenguaje
![Page 28: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/28.jpg)
Intérprete: es un traductor que toma un programa fuente, lotraduce y a continuación lo ejecuta. (Basic, Smalltalk)
Intérprete
![Page 29: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/29.jpg)
Compilación
Compilador: es el proceso detraducción de programas fuentesa programas objetos. En esteproceso se debe utilizar comopaso intermedio un programallamado enlazador (linker) elcual da como resultado unprograma en lenguaje máquinadirectamente ejecutable.
![Page 30: Algoritmos y Programas...Algoritmos y Programas La palabra proviene del latín datum, forma del verbo dare “dar”,que significa“Loque es dado” Representación de una información](https://reader033.vdocuments.pub/reader033/viewer/2022043002/5f7fe9f8fe51be294018bbba/html5/thumbnails/30.jpg)
Etapas de programación
Código Fuente
Compilador
Modificación del programa fuente
ExistenErrores Código objeto
Linkado/Interpretación
Programa Ejecutable
ExistenErrores
PruebasExistenErrores
No
No
Errores léxicos
Tiempo de compilación
Errores de ejecuciónTiempo de ejecución
Errores lógicos
Tiempo de pruebas
APLICACIÓN
BUENA PROGRAMACIÓN