UNIDAD TEMÁTICA IConceptos Básicos
Dato  La palabra proviene del latín datum, formadel verbo dare “dar”, que significa“Lo que esdado”  Hecho numéricos reunid...
Dato  Son representaciones   simbólicas deobjetos,       hechos,     instituciones,conocimientos.Ejemplos       15       2...
Información  Los datos organizados o procesadosadquieren    significado y proporcionanconocimiento      o    desencadenan ...
Información      Un grupo de datos es información• Datos: 19- Marzo – Maria – 20 ptos.• Información: El 19 de marzo se pub...
InformaciónEjemplos      Juan tiene 15 años      25º C fue la temperatura de esta mañana.      El edificio “Robles” mide 2...
Problema  Es un asunto o un conjunto de cuestiones quese plantean para ser resueltas. La naturaleza de los problemas varía...
Problema  Un programador de computadoras es ante quenada una persona que resuelve problemas, ypara llegar a ser un program...
ProblemaAlgunos de los pasos para solucionar un problema son: Diseño del algoritmo, que describe la secuenciaordenada de ...
Algoritmo  Etimología:    Proviene    del    nombre    delmatemático persa Mohammed Al-khowanzmi,cuyo apellido traducido a...
Algoritmo  Conjunto de acciones que especifican lasecuencia de operaciones realizar, en orden,para resolver un problema  L...
Algoritmo Finito:   un algoritmo siempre debe terminar después de un            número finito de pasos Definido: si se s...
Algoritmo Ejemplo tradicional de un algoritmo: Cambiar el cauchode un Carro
Algoritmo Ejemplo tradicional de un algoritmo: Cambiar el cauchode un Carro1.   Buscar herramientas, caucho de repuesto   ...
Algoritmo Ejemplo tradicional de un algoritmo: Cambiar el cauchode un Carro   7. Sacar el caucho   8. Colocar el caucho de...
Algoritmo               Fases de Desarrollo de un Algoritmo   Fase                                         Producto  Análi...
Algoritmo  Fase de Análisis: consiste en el estudio detallado delproblema con el fin de obtener una serie de documentos(es...
Algoritmo  Programación: consiste en la realización del algoritmoque resuelve el problema de acuerdo a la especificaciónda...
Algoritmo Codificación: consiste en la traducción del algoritmo aun programa escrito en un lenguaje de programación Algori...
Algoritmo    Edición: consiste en la trascripción del programa al  computador, generalmente por medio de un editor de  pro...
Algoritmo  Compilación: consiste en obtener el programa objeto apartir del programa fuente, mediante el traductor delengua...
Algoritmo    Enlace: Consiste en la inclusión de determinadas  rutinas internas del lenguaje y en el caso de  programación...
Algoritmo  Prueba: consiste en determinar si el programa funcionacorrectamente, los datos de entrada que se utilizan paral...
Otros conceptos  Método de Calculo: procedimiento que tiene todas lascaracterísticas de un algoritmo excepto que posibleme...
Otros conceptos  Acción: es un suceso que dura un tiempo finito yproduce un resultado o efecto perfectamente definido ypre...
Lenguajes  Lenguaje: conjunto de reglas y convenciones que se utilizanpara comunicar información.  Lenguaje de Programació...
Lenguaje de máquina  Son    aquellos  que   están escritos en   lenguajedirectamente inteligibles por la máquina, ya que s...
Lenguaje de bajo nivel  Son lenguajes que permiten escribir programas coninstrucciones similares al lenguaje humano.  Son ...
Lenguaje de alto nivel Son los más utilizados por los programadores Son independientes de la máquina Los programas    escr...
Otros conceptos  Notación    Pseudoformal:      es   un     lenguaje   deespecificación de algoritmo. El uso de tal lengua...
Otros conceptos  Traductores de Lenguajes: son programas que traducena su vez los programas fuentes escritos en lenguajes ...
Otros conceptos  Intérprete: es un traductor que toma un programa fuente, lotraduce y a continuación lo ejecuta. (Basic, S...
Otros conceptos  Ensamblador: programas que transforman programas escritosen lenguaje ensamblador a lenguaje máquina y eje...
Sistemas OperativosDefinición: Son programas hechos en lenguaje de bajo nivel, compuestospor un conjunto de normas y proce...
Sistemas Operativos Objetivos:  Su principal labor es control sistemáticamente los recursos dela computadora al momento de...
Sistemas OperativosObjetivos:  Gestionar y administrar eficientemente los recursos Hw de lacomputadora, permitiendo ejecut...
Sistemas OperativosTipos:Se clasifican de acuerdo a la forma de ofrecer los servicios:         S.O Por Lotes              ...
Sistemas OperativosSistemas   por lotes (batch)  Se podrían considerar como los primeros SOs  reales  El   SO estaba al...
Sistemas OperativosProblemas  - Largas esperas entre lotes de trabajo  - La dificultad de manejar la concurrencia entre  ...
Sistemas Operativos   S.O de Multiprogramación       Objetivo: Aprovechar los tiempos de espera de        un trabajo en ...
Sistemas Operativos   Tiempo Compartido       Objetivo: Permitir la interacción entre el usuario        y el trabajo que...
Sistemas Operativos   Sistemas de tiempo real       El factor tiempo se convierte en una variable        fundamental.   ...
Sistemas OperativosDónde se utilizan....(SO tiempo real) Sistemas de control de procesos Sistemas de control de vuelo S...
Sistemas OperativosSistemas Operativos Distribuidos   Los usuarios pueden acceder a recursos remotos de la misma    maner...
Sistemas Operativos  Proceso: es básicamente un programa en ejecución.Consta del programa ejecutable, sus datos y pila,con...
Paradigmas de Programación Es una colección de patrones conceptuales que modelanla forma de razonar sobre problemas, de f...
Paradigma Funcional   Tiene su base en el concepto de función    matemática:               f: dominio     rango   Para p...
Paradigma FuncionalEjemplo: Mayor de tres números en  funcional Definición de funciones max y max1:  max(x,y) := if x > y ...
Paradigma Imperativo Este paradigma viene bien representado por laarquitectura Von Neuman (1903-1957), ya que utilizaeste...
Paradigma Imperativo  Las operaciones a ejecutar se llaman instrucciones,cuya realización se llama ejecución.  La instrucc...
Paradigma Orientado a Objetos Es muy abstracto Ya no se ve las variables como celdas dememorias sino como objetos  Un obje...
Paradigma Ensamblador  Los valores manipulados no son abstractos,sino que se maneja su representación binariaen memoria  N...
Paradigma Lógico   Tiene su base en el concepto de predicado o    relación   Un programa lógico está formado por    hech...
Gracias por su atención...!!
Upcoming SlideShare
Loading in …5
×

Principios de paradigmas

706 views

Published on

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

No Downloads
Views
Total views
706
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Principios de paradigmas

  1. 1. UNIDAD TEMÁTICA IConceptos Básicos
  2. 2. Dato La palabra proviene del latín datum, formadel verbo dare “dar”, que significa“Lo que esdado” Hecho numéricos reunidos para referencia oinformación Representación de una información demanera adecuada para su tratamiento por unordenador
  3. 3. Dato Son representaciones simbólicas deobjetos, hechos, instituciones,conocimientos.Ejemplos 15 25º C 25 m 31-10-2005 Febrero María Pérez
  4. 4. Información 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
  5. 5. Información 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.
  6. 6. InformaciónEjemplos 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
  7. 7. Problema 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 computador.
  8. 8. Problema Un programador de computadoras es ante quenada una persona que resuelve problemas, ypara llegar a ser un programador eficaz senecesita aprender a resolver problemas de unmodo riguroso y sistemático Problema Diseño Algoritmo Programa
  9. 9. ProblemaAlgunos de los pasos para solucionar un problema son: Diseño del algoritmo, que describe la secuenciaordenada de pasos que conduce a la solución de unproblema dado. (Análisis del problema y desarrollo delalgoritmo) Expresar el algoritmo como un programa en unlenguaje de programación adecuado (Fase deCodificación) Ejecución y validación del programa por elcomputador
  10. 10. Algoritmo Etimología: Proviene del nombre delmatemático persa Mohammed Al-khowanzmi,cuyo apellido traducido al latín es Algorismus Descripción de un esquema decomportamiento con la ayuda de un repertoriofinito, limitado y bien comprendido de accioneselementales
  11. 11. Algoritmo Conjunto de acciones que especifican lasecuencia de operaciones realizar, en orden,para resolver un problema Los algoritmos son independientes tanto dellenguaje de programación como delcomputador que los ejecuta.
  12. 12. Algoritmo Finito: un algoritmo siempre debe terminar después de un número finito de pasos Definido: si se sigue un algoritmo dos veces se debe obtener el mismo resultado Entrada: un algoritmo tiene cero o más entradas. Salida: un algoritmo tiene una o más salidas. Efectivo: resolver el problema para el cual fue diseñado
  13. 13. Algoritmo Ejemplo tradicional de un algoritmo: Cambiar el cauchode un Carro
  14. 14. Algoritmo Ejemplo tradicional de un algoritmo: Cambiar el cauchode un Carro1. Buscar herramientas, caucho de repuesto y triángulo2. Ubicar el triángulo en el lugar adecuado3. Ir al lugar del caucho averiado4. Sacar las tuercas5. Colocar el gato6. Levantar el carro
  15. 15. Algoritmo Ejemplo tradicional de un algoritmo: Cambiar el cauchode un Carro 7. Sacar el caucho 8. Colocar el caucho de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN
  16. 16. Algoritmo Fases de Desarrollo de un Algoritmo Fase Producto Análisis EspecificaciónProgramación AlgoritmoCodificación Programa Edición Prog. FuenteCompilación Programa Objeto Enlace Prog. Ejecutable Pruebas Aplicación
  17. 17. Algoritmo 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 Estudio detallado Documentos de Especificación
  18. 18. Algoritmo Programación: consiste en la realización del algoritmoque resuelve el problema de acuerdo a la especificacióndada en la fase anterior. El algoritmo se representa enuna notación pseudoformal que también se conoce comopseudocódigo. Algoritmo PRUEBA Inicio Variables A,B,C: entero Leer(A,B) CA+B Escribir (C) Documentos de Fin Especificación
  19. 19. Algoritmo Codificación: consiste en la traducción del algoritmo aun programa escrito en un lenguaje de programación Algoritmo Sumar Inicio Variables A,B,C: entero Leer(A,B) CA+B Escribir (C) Fin Programa escrito en un Lenguaje de Programacion
  20. 20. Algoritmo Edición: consiste en la trascripción del programa al computador, generalmente por medio de un editor de programas o procesador de textos, obteniendo un programa fuente Programa escrito Programa fuenteen un Lenguaje de Programacion
  21. 21. Algoritmo Compilación: consiste en obtener el programa objeto apartir del programa fuente, mediante el traductor delenguaje, el cual además de efectuar la traducción,incluye un análisis sintáctico. Programa Objeto Programa fuente
  22. 22. Algoritmo Enlace: Consiste en la inclusión de determinadas rutinas internas del lenguaje y en el caso de programación modular, se enlazan los distintos módulos.Programa Objeto + Rutinas de Librería Programa Ejecutable
  23. 23. Algoritmo Prueba: consiste en determinar si el programa funcionacorrectamente, los datos de entrada que se utilizan parala prueba, deben ser incorrectos Programa Ejecutable Aplicación
  24. 24. Otros conceptos Método de Calculo: procedimiento que tiene todas lascaracterísticas de un algoritmo excepto que posiblementecarezca de ser finito Programa: algoritmo expresado en un lenguaje deprogramación. Es un conjunto de instrucciones que sedan a una computadora para realizar un procesodeterminado. Instrucción: es la especificación de una accióndeterminada, expresada en un lenguaje de programación.
  25. 25. Otros conceptos Acción: es un suceso que dura un tiempo finito yproduce un resultado o efecto perfectamente definido yprevisto. Opera sobre un objeto y es posible reconocer elefecto de tal acción por los cambios de estadopresentados por el objeto. Programación: disciplina dentro de la computacióndedicada a la resolución de problemas mediante elcomputador, cuyo producto final son los programas. Es laactividad de expresar un algoritmo en forma de programa
  26. 26. Lenguajes 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 computadoras. Tipos de Lenguaje de Programación:  Lenguaje de Máquina  Lenguaje de Bajo Nivel (Ensamblador)  Lenguaje de Alto Nivel
  27. 27. Lenguaje de máquina 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.
  28. 28. Lenguaje de bajo nivel 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
  29. 29. Lenguaje de alto nivel 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: Borland C, C++, Pascal, Ada, Prolog,Smalltalk, Visual Basic
  30. 30. Otros conceptos Notación Pseudoformal: es un lenguaje deespecificación de algoritmo. El uso de tal lenguaje hace elpaso de codificación final relativamente fácil. La ventajade este lenguaje es que el programador puedeconcentrarse en la lógica y en la estructura de control yno preocuparse de las reglas de un lenguaje Programa Fuente: es el código del programa originalescrito en un lenguaje de programación. Tambiénconocido como código fuente Programa Objeto: es un programa en lenguaje demáquina que resulta de la compilación de un programafuente.
  31. 31. Otros conceptos 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. Compilador: es el proceso de traducción de programasfuentes a programas objetos. En este proceso se debeutilizar como paso intermedio un programa llamadoenlazador (linker) el cual da como resultado un programaen lenguaje máquina directamente ejecutable.
  32. 32. Otros conceptos Intérprete: es un traductor que toma un programa fuente, lotraduce y a continuación lo ejecuta. (Basic, Smalltalk)
  33. 33. Otros conceptos Ensamblador: programas que transforman programas escritosen lenguaje ensamblador a lenguaje máquina y ejecutabledirectamente por el hw.
  34. 34. Sistemas OperativosDefinición: Son programas hechos en lenguaje de bajo nivel, compuestospor un conjunto de normas y procedimientos para operar unacomputadora. Es un conjunto de programas de control que tienen por objetofacilitar el uso de la computadora y conseguir que ésta seejecute eficientemente Es un programa que se encarga de gestionar y asignar losrecursos Hw al usuario, entendiendo por recursos Hw: la CPU, lamemoria principal, Discos Duros y otros periféricos.
  35. 35. Sistemas Operativos Objetivos: Su principal labor es control sistemáticamente los recursos dela computadora al momento de ejecutar un proceso, es decir, esel encargado de supervisar, administrar y gerenciar loselementos con que cuenta el computador.
  36. 36. Sistemas OperativosObjetivos: Gestionar y administrar eficientemente los recursos Hw de lacomputadora, permitiendo ejecutar concurrentemente variosprogramas sin que haya conflicto en el acceso de cada uno delos recursos que se requiere y sin que ningún programamonopolice un recurso determinado.
  37. 37. Sistemas OperativosTipos:Se clasifican de acuerdo a la forma de ofrecer los servicios: S.O Por Lotes S.O Tiempo Compartido (Unix) S.O de S.O Tiempo Real Multiprogramación S.O Combinados S.O distribuido
  38. 38. Sistemas OperativosSistemas por lotes (batch) Se podrían considerar como los primeros SOs reales El SO estaba almacenado en memoria Cargaba un único trabajo en memoria (desde el lector de tarjetas) Ejecutaba el trabajo (generaba su salida) Cargaba el siguiente trabajo Las tarjetas de control indicaban qué hacer al SO
  39. 39. Sistemas OperativosProblemas - Largas esperas entre lotes de trabajo - La dificultad de manejar la concurrencia entre E/S y ejecución en CPU ayudó a estimular el desarrollo de los SSOO multiprogramados - Carecen de interactividad entre el usuario y los trabajos que se ejecutan.
  40. 40. Sistemas Operativos S.O de Multiprogramación  Objetivo: Aprovechar los tiempos de espera de un trabajo en la CPU para ejecutar instrucciones de otro trabajo  Método:  - Mantener los trabajos simultáneamente en memoria  - Elegir el trabajo a conmutar  Se optimiza la productividad (throughput) del sistema
  41. 41. Sistemas Operativos Tiempo Compartido  Objetivo: Permitir la interacción entre el usuario y el trabajo que se está ejecutando.  Método:  - Utilizar las técnicas de multiprogramación y planificación de la CPU para proporcionar a cada usuario una pequeña proporción del tiempo de CPU.  Características:  - Cada usuario tiene la impresión de disponer de la máquina completa.  - Se intenta optimizar el tiempo de respuesta.  - Basados en la asignación de fracciones de tiempo (se divide el tiempo de CPU de forma equitativa entre los procesos).
  42. 42. Sistemas Operativos Sistemas de tiempo real  El factor tiempo se convierte en una variable fundamental.  El sistema operativo debe responder siempre dentro de los márgenes requeridos por el sistema controlado, si se sale de esos márgenes, se tendrán que buscar otras soluciones.  Existen actualmente lenguajes de programación (Ada) que nos dan grandes posibilidades para controlar procesos en tiempo real.
  43. 43. Sistemas OperativosDónde se utilizan....(SO tiempo real) Sistemas de control de procesos Sistemas de control de vuelo Sistemas de control de automóviles Sistemas de defensa Sistemas de vigilancia intensiva Sistemas de telecomunicación, etc.
  44. 44. Sistemas OperativosSistemas Operativos Distribuidos Los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es transparente para el usuario. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo.
  45. 45. Sistemas Operativos Proceso: es básicamente un programa en ejecución.Consta del programa ejecutable, sus datos y pila,contador y otros registros, además de toda la informaciónnecesaria para ejecutar el programa. Multiprogramación: modo de operación en cual seincrementa la utilización del CPU, puesto que éste seconmuta de una tarea a otra para lograr que las mismasavancen, mientras se mantienen en uso los dispositivosperiféricos. Estas tareas se encuentran en memoriaprincipal Grado de Multiprogramación: mide el uso de la CPUdesde un punto de vista probabilístico. Normalmente esel rendimiento que se obtiene del CPU en función delnúmero de procesos activos que mantiene un sistema.
  46. 46. Paradigmas de Programación Es una colección de patrones conceptuales que modelanla forma de razonar sobre problemas, de formularalgoritmos, y a la larga, de estructurar programas. Tipos de Paradigmas:  Paradigma Funcional  Paradigma Imperativo  Paradigma Orientado a objetos  Paradigma Ensamblador  Paradigma Lógico
  47. 47. Paradigma Funcional Tiene su base en el concepto de función matemática: f: dominio rango Para programar:  Se construyen funciones sencillas  Se construyen funciones más complejas a partir de las sencillas  Se evalúan las funciones sobre los datos de entrada Ejemplo: APL, ML, Lisp.
  48. 48. Paradigma FuncionalEjemplo: Mayor de tres números en funcional Definición de funciones max y max1: max(x,y) := if x > y then x else y max1(x,y,z) := max(max(x,y),z) NOTA: “:=“ en este caso significa “se define como”
  49. 49. Paradigma Imperativo Este paradigma viene bien representado por laarquitectura Von Neuman (1903-1957), ya que utilizaeste modelo de máquina para conceptualizar lassoluciones: "Existe un programa en memoria que se vaejecutando secuencialmente, y que toma unos datos de lamemoria, efectúa unos cálculos y el resultado sealmacena en alguna celda de memoria". La memoria del computador permite teneralmacenado, en celdas numeradas consecutivamente,tanto las operaciones como los datos a manipular.Los datos se almacenan en variables.
  50. 50. Paradigma Imperativo Las operaciones a ejecutar se llaman instrucciones,cuya realización se llama ejecución. La instrucción principal es la asignación, la cual tiene elsiguiente formato: < variable >  < expresión > La forma básica de expresar un algoritmo consisteen declarar variables, diseñar una secuencia deasignaciones que transformen los valoresalmacenados.
  51. 51. Paradigma Orientado a Objetos Es muy abstracto Ya no se ve las variables como celdas dememorias sino como objetos Un objeto pertenece a cierta clase, quedefine el conjunto de operaciones utilizables Ejemplos: Smalltalk, C++, Object Pascal
  52. 52. Paradigma Ensamblador Los valores manipulados no son abstractos,sino que se maneja su representación binariaen memoria No se usan expresiones funcionales sinozonas de almacenamiento intermedio, llamadosregistros Se hace operación tras operación
  53. 53. Paradigma Lógico Tiene su base en el concepto de predicado o relación Un programa lógico está formado por hechos y reglasPara programar:  Se definen hechos (o predicados básicos)  Se diseñan implicaciones para definir predicados complejos  Se determina la veracidad de los predicados para individuos concretos Ejemplo: Prolog, único en su clase
  54. 54. Gracias por su atención...!!

×