diapositiva 1 · title: diapositiva 1 author: afangulo created date: 6/10/2014 12:58:26 pm
TRANSCRIPT
![Page 1: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/html5/thumbnails/1.jpg)
FUNDAMENTOS DE PROGRAMACIÓN
Algoritmos
y Programas
![Page 2: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/html5/thumbnails/3.jpg)
Ejemplos1525º C25 m31-10-2005FebreroMaría Pérez
Son representaciones simbólicas deobjetos, hechos, instituciones,conocimientos.
Dato
![Page 4: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/html5/thumbnails/12.jpg)
Ejemplo tradicional de un algoritmo: Cambiar la ruedapinchada de un coche
Algoritmo
![Page 13: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/html5/thumbnails/26.jpg)
#include <stdio.h>
int main(void)
{
printf("Hola, Mundo\n");
}
Ejemplo Lenguaje alto nivel
![Page 27: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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: Diapositiva 1 · Title: Diapositiva 1 Author: afangulo Created Date: 6/10/2014 12:58:26 PM](https://reader035.vdocuments.co/reader035/viewer/2022062607/60438f23a55a7d3ee875da3e/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