UNIDAD DIDÁCTICA I Algoritmos y Programas Niels Arias Campos Fundamento de Programación
<ul><li>La palabra proviene del latín datum, forma del verbo dare “dar”, que significa“Lo que es dado” </li></ul><ul><li>R...
<ul><li>Ejemplos </li></ul><ul><ul><ul><li>15 </li></ul></ul></ul><ul><ul><ul><li>25º C </li></ul></ul></ul><ul><ul><ul><l...
<ul><li>Los datos organizados o procesados adquieren significado y proporcionan conocimiento o desencadenan un comportamie...
<ul><li>Un grupo de datos es información   </li></ul><ul><li>Datos : 19- Marzo – Maria – 20 ptos. </li></ul><ul><li>Inform...
<ul><li>Ejemplos </li></ul><ul><ul><ul><li>Juan tiene  15  años </li></ul></ul></ul><ul><ul><ul><li>25º C   fue la tempera...
<ul><li>Es un asunto o un conjunto de cuestiones que se plantean para ser resueltas. </li></ul><ul><li>La naturaleza de lo...
<ul><li>Un programador es una  persona  que resuelve problemas, y para llegar a ser un programador eficaz se  necesita apr...
<ul><li>Algunos de los pasos para solucionar un problema son :  </li></ul><ul><li>Análisis: consiste en el estudio detalla...
<ul><li>Etimología:  Proviene del nombre del matemático persa Mohammed Al-khowanzmi, cuyo apellido traducido al latín es A...
<ul><li>Finito: </li></ul><ul><li>Definido: </li></ul><ul><li>Preciso: </li></ul>un algoritmo siempre debe terminar despué...
<ul><li>Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche </li></ul>Algoritmo
1. Buscar herramientas, rueda de repuesto y triángulo de señalización 2. Ubicar el triángulo en el lugar adecuado 3. Ir al...
7. Sacar la rueda 8. Colocar la rueda de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramien...
Fases de Desarrollo de un Algoritmo Análisis Diseño Codificación Compilación Interpretación Pruebas Especificación Algorit...
<ul><li>Fase de Análisis : consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (es...
<ul><li>Diseño : consiste en la realización del algoritmo que resuelve el problema de acuerdo a la especificación dada en ...
<ul><li>Codificación : consiste en la traducción del algoritmo a un programa escrito en un lenguaje de programación  </li>...
<ul><li>Compilación/Interpretación : consiste en obtener el programa ejecutableobjeto a partir del programa fuente. </li><...
<ul><li>Prueba : consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de é...
<ul><li>Lenguaje : conjunto de reglas y convenciones que se utilizan para comunicar información.  </li></ul><ul><li>Lengua...
<ul><li>Son aquellos que están escritos en lenguaje directamente inteligibles por la máquina, ya que sus instrucciones son...
11001010 00010111 11110101 00101011   00010111 11110101 00101011 00101011   11001010 00010111 11110101 00101011   00010111...
<ul><li>Son lenguajes que permiten escribir programas con instrucciones  similares  al lenguaje humano.  </li></ul><ul><li...
; HOLA.ASM STACK  SEGMENT STACK  ; Segmento de pila DW  64 DUP (?)  ; Define espacio en la pila STACK  ENDS   DATA  SEGMEN...
<ul><li>Son los más utilizados por los programadores  </li></ul><ul><li>Son independientes de la máquina </li></ul><ul><li...
#include <stdio.h>  int main(void)  {  printf(&quot;Hola, Mundon&quot;); }   Ejemplo Lenguaje alto nivel
<ul><li>Traductores de Lenguajes : son programas que traducen a su vez los programas fuentes escritos en lenguajes de alto...
<ul><li>Intérprete : es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. (Basic, Smalltal...
Compilación <ul><li>Compilador : es el proceso de traducción de programas fuentes a programas objetos. En este proceso se ...
Etapas de programación Código Fuente Compilador Modificación del  programa fuente Existen Errores Código objeto Linkado/ I...
Gracias por su atención...!!
Upcoming SlideShare
Loading in …5
×

Presentacion c

355 views
328 views

Published on

clase

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
355
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Presentacion c

  1. 1. UNIDAD DIDÁCTICA I Algoritmos y Programas Niels Arias Campos Fundamento de Programación
  2. 2. <ul><li>La palabra proviene del latín datum, forma del verbo dare “dar”, que significa“Lo que es dado” </li></ul><ul><li>Representación de una información de manera adecuada para su tratamiento por un ordenador </li></ul>Dato
  3. 3. <ul><li>Ejemplos </li></ul><ul><ul><ul><li>15 </li></ul></ul></ul><ul><ul><ul><li>25º C </li></ul></ul></ul><ul><ul><ul><li>25 m </li></ul></ul></ul><ul><ul><ul><li>31-10-2005 </li></ul></ul></ul><ul><ul><ul><li>Febrero </li></ul></ul></ul><ul><ul><ul><li>María Pérez </li></ul></ul></ul><ul><li>Son representaciones simbólicas de objetos, hechos, instituciones, conocimientos. </li></ul>Dato
  4. 4. <ul><li>Los datos organizados o procesados adquieren significado y proporcionan conocimiento o desencadenan un comportamiento sobre los hechos u objetos que lo originaron </li></ul><ul><li>La información se resumen en : </li></ul><ul><li>Datos + significado </li></ul>Información
  5. 5. <ul><li>Un grupo de datos es información </li></ul><ul><li>Datos : 19- Marzo – Maria – 20 ptos. </li></ul><ul><li>Información : El 19 de marzo se publicó en acta la calificación de 20 ptos para María </li></ul><ul><li>El principal objetivo de la información consiste en aumentar el conocimiento o reducir la incertidumbre. </li></ul>Información
  6. 6. <ul><li>Ejemplos </li></ul><ul><ul><ul><li>Juan tiene 15 años </li></ul></ul></ul><ul><ul><ul><li>25º C fue la temperatura de esta mañana. </li></ul></ul></ul><ul><ul><ul><li>El edificio “Robles” mide 25 m de altura </li></ul></ul></ul><ul><ul><ul><li>La fecha de hoy es 31-10-2005 </li></ul></ul></ul><ul><ul><ul><li>Febrero tiene 28 días y 29 si el año es bisiesto. </li></ul></ul></ul><ul><ul><ul><li>María Pérez es un nombre muy común </li></ul></ul></ul>Información
  7. 7. <ul><li>Es un asunto o un conjunto de cuestiones que se plantean para ser resueltas. </li></ul><ul><li>La naturaleza de los problemas varía con el ámbito o el contexto: problemas matemáticos, químicos, filosóficos, etc. </li></ul><ul><li>Es importante que al abordar un problema se tenga una descripción simple y precisa del mismo, de lo contrario resultaría complejo modular, simular, o programar su solución en un ordenador. </li></ul>Problema
  8. 8. <ul><li>Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático </li></ul>Problema Diseño Algoritmo Programa Problema Análisis
  9. 9. <ul><li>Algunos de los pasos para solucionar un problema son : </li></ul><ul><li>Análisis: consiste en el estudio detallado del problema. Se debe identificar los datos de entrada, de salida y la descripción del problema. </li></ul><ul><li>Diseño del algoritmo, que describe la secuencia ordenada de pasos que conduce a la solución de un problema dado. </li></ul><ul><li>Expresar el algoritmo como un programa en un lenguaje de programación adecuado (Fase de Codificación) </li></ul><ul><li>Ejecución y validación del programa por el computador </li></ul>Problema
  10. 10. <ul><li>Etimología: Proviene del nombre del matemático persa Mohammed Al-khowanzmi, cuyo apellido traducido al latín es Algorismus </li></ul><ul><li>Conjunto de acciones que especifican la secuencia de operaciones realizar, en orden, para resolver un problema </li></ul>Algoritmo <ul><li>Los algoritmos son independientes tanto del lenguaje de programación como del computador que los ejecuta. </li></ul>
  11. 11. <ul><li>Finito: </li></ul><ul><li>Definido: </li></ul><ul><li>Preciso: </li></ul>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
  12. 12. <ul><li>Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche </li></ul>Algoritmo
  13. 13. 1. Buscar herramientas, rueda de repuesto y triángulo de 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
  14. 14. 7. Sacar la rueda 8. Colocar la rueda de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN Algoritmo
  15. 15. 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
  16. 16. <ul><li>Fase de Análisis : consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificación) en los cuales quedan totalmente definido el proceso a seguir en la automatización </li></ul>Algoritmo Estudio detallado Documentos de Especificación
  17. 17. <ul><li>Diseño : consiste en la realización del algoritmo que resuelve el problema de acuerdo a la especificación dada en la fase anterior. El algoritmo se representa mediante pseudocódigo . </li></ul>Algoritmo Algoritmo PRUEBA Inicio Variables A,B,C: entero Leer(A,B) C  A+B Escribir (C) Fin Documentos de Especificación
  18. 18. <ul><li>Codificación : consiste en la traducción del algoritmo a un programa escrito en un lenguaje de programación </li></ul>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
  19. 19. <ul><li>Compilación/Interpretación : consiste en obtener el programa ejecutableobjeto a partir del programa fuente. </li></ul>Algoritmo Programa fuente Programa Ejecutable
  20. 20. <ul><li>Prueba : consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de él. </li></ul>Algoritmo Programa Ejecutable Aplicación
  21. 21. <ul><li>Lenguaje : conjunto de reglas y convenciones que se utilizan para comunicar información. </li></ul><ul><li>Lenguaje de Programación : es un lenguaje que permite la traducción de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de ordenadores. </li></ul><ul><li>Tipos de Lenguaje de Programación : </li></ul><ul><li>Lenguaje de Máquina </li></ul><ul><li>Lenguaje de Bajo Nivel (Ensamblador) </li></ul><ul><li>Lenguaje de Alto Nivel </li></ul>Lenguajes de programación
  22. 22. <ul><li>Son aquellos que están escritos en lenguaje directamente inteligibles por la máquina, ya que sus instrucciones son cadenas binarias (0’s ,1’s) que especifican una operación. </li></ul><ul><li>Las instrucciones en lenguaje máquina dependen del Hardware de la computadora, difiere de una PC a otra. </li></ul><ul><li>La ventaja de los lenguajes máquina es que ofrecen mayor velocidad de ejecución . </li></ul><ul><li>Existen algunas desventajas: dificultad y lentitud en la codificación, poca fiabilidad, los programas no son portables. </li></ul>Lenguaje de máquina
  23. 23. 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011 11001010 11001010 11110101 00101011 11001010 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011 Ejemplo Lenguaje Máquina
  24. 24. <ul><li>Son lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano. </li></ul><ul><li>Son más fáciles de utilizar que los lenguajes de máquina, pero éstos también dependen de la máquina en particular. </li></ul><ul><li>El mejor ejemplo es el lenguaje ensamblador </li></ul><ul><li>Un programa escrito en lenguaje ensamblador requiere una fase de traducción. </li></ul><ul><li>Entre las desventajas tenemos: que este lenguaje depende de la máquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las técnicas de programación así como el interior de la máquina </li></ul>Lenguaje de bajo nivel
  25. 25. ; HOLA.ASM STACK SEGMENT STACK ; Segmento de pila DW 64 DUP (?) ; Define espacio en la pila STACK ENDS   DATA SEGMENT ; Segmento de datos SALUDO DB &quot;Hola mundo!!&quot;,13,10,&quot;$&quot; ; Cadena DATA ENDS INICIO: ; Punto de entrada al programa MOV AX,DATA ; Pone dirección en AX MOV DS,AX ; Pone la dirección en los registros MOV DX,OFFSET SALUDO ; Obtiene dirección del mensaje MOV AH,09H ; Función: Visualizar cadena INT 21H ; Servicio: Funciones alto nivel DOS MOV AH,4CH ; Función: Terminar INT 21H CODE ENDS END INICIO ; Marca fin y define INICIO Ejemplo Lenguaje Ensamblador
  26. 26. <ul><li>Son los más utilizados por los programadores </li></ul><ul><li>Son independientes de la máquina </li></ul><ul><li>Los programas escritos en estos lenguajes son portables </li></ul><ul><li>Aumento de la ocupación de la memoria </li></ul><ul><li>Las estructuras de los programas se basan en reglas sintácticas </li></ul><ul><li>Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java,... </li></ul>Lenguaje de alto nivel
  27. 27. #include <stdio.h> int main(void) { printf(&quot;Hola, Mundon&quot;); } Ejemplo Lenguaje alto nivel
  28. 28. <ul><li>Traductores de Lenguajes : son programas que traducen a su vez los programas fuentes escritos en lenguajes de alto nivel a código máquina. Estos se dividen en intérpretes y compiladores. </li></ul>Traductores de Lenguaje
  29. 29. <ul><li>Intérprete : es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. (Basic, Smalltalk) </li></ul>Intérprete
  30. 30. Compilación <ul><li>Compilador : es el proceso de traducción de programas fuentes a programas objetos. En este proceso se debe utilizar como paso intermedio un programa llamado enlazador (linker) el cual da como resultado un programa en lenguaje máquina directamente ejecutable. </li></ul>                                                                                                                                      
  31. 31. Etapas de programación Código Fuente Compilador Modificación del programa fuente Existen Errores Código objeto Linkado/ Interpretación Programa Ejecutable Existen Errores Pruebas Existen Errores SI No No SI SI Errores léxicos Tiempo de compilación Errores de ejecución Tiempo de ejecución Errores lógicos Tiempo de pruebas APLICACIÓN BUENA PROGRAMACIÓN NO
  32. 32. Gracias por su atención...!!

×