Vous êtes sur la page 1sur 12

UNIVERSIDAD TCNICA DE MACHALA FACULTAD DE INGENIERA CIVIL ESCUELA DE INFORMTICA

CARREARA DE INGENIERA EN SISTEMAS


TAREA DE PROGRAMACIN I

PARALELO: A TUTOR: ING. FAUSTO REDROVN, MG. ESTUDIANTE: LEANDRO MIGUEL PINTO VEGA LABORATORIO: 3

MACHALA EL ORO ECUADOR

ACTIVIDAD N: TEMA: UNIDAD N 1 OBJETIVO: PROBLEMA: INDICADOR DE EVALUACION: Investigaciones bibliogrficas

FECHA ENVIO:

12/06/1 3

FECHA ENTREGA:

19/06/13

PROGRAMACIN
INTRODUCCIN A LA PROGRAMACIN ESTRUCTURADA Tener un conocimiento acerca de la Programacin La utilizacin del texto acerca de lo que se estamos buscando CALIFICACIN 5

CRITERIOS DE EVALUACIN: A criterio del docente de acuerdo al indicador de evaluacin del Syllabus (algunos ejemplos:)

Siemp re (100)

A vec es (75 %)

Nunc a (10 %)

CAPACIDAD DE COMUNICACIN. EN EXPOSICIONES

Responde claramente a las preguntas que se le realizan.


Demuestra seguridad en el tratamiento de los temas. Toma en cuenta los elementos vocales y verbales (mantiene: tono, nfasis, claridad durante la presentacin). Mantiene el mismo tono de voz durante la exposicin. Habla con claridad y en forma coherente durante la exposicin. Resalta aspectos importantes del tema Toman en cuenta los elementos visuales, (postura, viste de acuerdo a la ocasin, accesorios, gestos, ademanes). Sostiene una postura adecuada durante la exposicin. Utiliza un vestuario adecuado para hacer la presentacin EN IMPRESOS

Entrega documentacin impresa y digital. (Siguiendo las normas y


convenciones para la escritura y sin falta de ortografa) . La redaccin del documento debe ser clara. Debe incluir todas las fuentes de donde tom la informacin. Cumple con el formato, normas y estructura para la elaboracin del documento.

APLICACIN DE VALORES.

Puntualidad. Entrega de trabajo a tiempo Responsabilidad tica. El trabajo es indito y respeta la propiedad intelectual Responsabilidad profesional. Cumple con las normas tcnicas.
USO DE RECURSOS:

Recursos bibliogrficos fidedignos y con validez cientfica Recursos tecnolgicos adecuados


CAPACIDAD DE REFLEXIN.

Incluye ejemplos claros que permiten un mejor entendimiento


del tema. CONOCIMIENTO TCNICO.

Destreza con las herramientas informticas. TIPO DE ACTIVIDAD LUGAR ALCANCE FORMA FORMA

Intraclase Extraclase

Individual Grupal

Taller Sntesis, esquemas Caso de estudio Investigativa Vinculacin con la


colectividad

Prctica en
laboratorio Prctica en clase Resolucin de problemas, ejercicios Ensayo, artculo

ROLES Y RESPONSABILIDADES DE LOS PARTICIPANTES EN LA TAREA: NOMBRE ESTUDIANTE TCNICAS EMPLEADA:

Leandro Miguel Pinto Vega


Consejos en el aula virtual de la UTMACH y de la Web

INTRODUCCIN La Programacin ha pasado a tener un papel importantisimo en la vida diaria, gracias a ella podemos programar los ordenadores, electrodomsticos, robots y otras maquinas. La Programacin intenta resolver ciertos problemas que nos surgen todos los das basndose en una metodologa. El conjunto de problemas que son resolubles utilizando un computador es indudablemente, muy extenso. El concepto de algoritmo es fundamental para la actividad de resolver problemas con computadoras, por lo que necesitamos adquirir un conocimiento firme sobre lo que es y no es con objeto de llevar a cabo de forma eficaz la actividad de resolver problemas ya que este es el propsito de escribir algoritmos.

MARCO TEORICO En esta tarea tuvimos que investigar acerca de la programacin y para ello tuvimos que buscar en la web o blogs en mi caso encentr lo que necesitaba en algunos blogs en los cuales en el primero encontr la Historia de la programacin y las Clases de lenguaje de programacin (1), en el segundo encontr lo que significaba programacin(2) y en el tercero encontr los tipos de programacin que existen(3) y gracias a eso pude tener un poco mas de conocimiento acerca de lo que abarca Programacin

Programacin I

Historia de la Programacin
La computadora fue inventada para facilitar el trabajo intelectual. Si el hombre tiene algn problema, el diseador define el algoritmo que resuelve el problema, el programador lo codifica en un lenguaje de programacin, el cual la computadora es capaz de "entender", luego la computadora ejecuta el algoritmo expresado como programa en el lenguaje de programacin en cuestin, y entrega al hombre la respuesta. Los lenguajes de programacin son el medio de comunicacin entre el hombre y la mquina, por lo tanto son una forma de representacin del conocimiento.

Representacin de conocimiento
Representacin del conocimiento es escribir en un lenguaje descripciones del mundo. Una de las ambiciones es poder llegar a representar el sentido comn. En general una representacin debe: Ser capaz de expresar el conocimiento que deseamos expresar. Tener capacidad para resolver problemas. Dar simplicidad para acceder al conocimiento y facilidad de entendimiento. Por lo tanto un lenguaje de representacin tiene que ser expresivo, conciso, no ambiguo, y efectivo, pues es el que determina todas las caractersticas previas.

Que es Programacin?
Definiciones: Un programa de computador es un conjunto de instrucciones ordenes dadas a la maquina que producirn la ejecucin de una determinada tarea. A la persona que escribe programas se le denomina Programador, al proceso de escribir programas se denomina Programacin. En informtica, la programacin es un proceso por el cual se escribe(en un lenguaje de programacin), se prueba, se depura y se mantiene el cdigo fuente de un programa informtico. La programacin es la accin de escribir un conjunto de instrucciones escritas en un determinado lenguaje, que dirigen a un ordenador para la ejecucin de una serie de operaciones, con el objetivo de resolver un problema que se ha definido previamente. La programacin es un conjunto de tcnicas utilizadas para desarrollar programas que sean fciles de leer, depurar(poner a punto) y modificar o mantener.

Tipos de programacin
Programacin estructurada (PE) La programacin estructurada esta compuesta por un conjunto de tcnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuracin y mantenimiento del mismo. Esta programacin estructurada utiliza un nmero limitado de estructuras de control, reduciendo as considerablemente los errores. Esta tcnica incorpora: Diseo descendente (top-dow): el problema se descompone en etapas o estructuras jerrquicas. Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras Leandro M. Pinto Vega Pag. 5/12

Programacin I ms simples capaces de ser resueltas con mayor facilidad. Estructuras bsicas: existen tres tipos de estructuras bsicas: Estructuras secunciales: cada accin sigue a otra accin secuencialmente. La salida de una accin es la entrada de otra. Estructuras selectivas: en estas estructuras se evalan las condiciones y en funcin del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lgicas. Estructuras repetitivas: son secuencias de instrucciones que se repiten un nmero determinado de veces. Las principales ventajas de la programacin estructurada son: Los programas son mas fciles de entender Se reduce la complejidad de las pruebas Aumenta la productividad del programador Los programas queden mejor documentados internamente.

Un programa esta estructurado si posee un nico punto de entrada y slo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos. Programacin modular En la programacin modular consta de varias secciones dividas de forma que interactan a travs de llamadas a procedimientos, que integran el programa en su totalidad. En la programacin modular, el programa principal coordina las llamadas a los mdulos secundarios y pasa los datos necesarios en forma de parmetros. A su vez cada modulo puede contener sus propios datos y llamar a otros mdulos o funciones. Programacin orientada a objetos (POO) Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilizacin de los objetos. El elemento principal de la programacin orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento. El polimorfismo y la herencia son unas de sus principales caractersticas y por ello dedicaremos ms adelante un artculo exclusivamente a tratar estos dos trminos. Programacin concurrente Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones a la vez. Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea. Leandro M. Pinto Vega Pag. 6/12

Programacin I Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados lentos en las acciones. Programacin funcional Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones. Programacin lgica Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se trata de una programacin basada en el clculo de predicados (una teora matemtica que permite lograr que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones inteligentes).

Tipos de lenguajes de programacin


Los tipos ms importantes de lenguajes de programacin son: Lenguajes Imperativos Su origen es la propia arquitectura de von Neumann, que consta de una secuencia de celdas (memoria) en las cuales se pueden guardar datos e instrucciones, y de un procesador capaz de ejecutar de manera secuencial una serie de operaciones ( comandos) principalmente aritmticas y booleanas. En general, un lenguaje imperativo ofrece al programador conceptos que se traducen de forma natural al modelo de la mquina. Ejemplos: FORTRAN, Algol, Pascal, C, Modula-2, Ada. El programador tiene que traducir la solucin abstracta del problema a trminos muy primitivos, cercanos a la mquina, por lo que los programas son ms "comprensibles" para la mquina que para el hombre. Esto es una desventaja para nosotros que hace que sea sumamente complicado construir cdigo en lenguaje imperativo. Lo bueno de este lenguaje es que es tan cercano al lenguaje de la mquina que la eficiencia en la ejecucin es altsima. Lenguajes Funcionales Los matemticos resuelven problemas usando el concepto de funcin, que convierte datos en resultados. Sabiendo cmo evaluar una funcin, usando la computadora, podramos resolver automticamente muchos problemas. Este fue el pensamiento que llev a la creacin de los lenguajes de programacin funcionales. Adems se aprovech la posibilidad que tienen las funciones para manipular datos simblicos, y no solamente numricos, y la propiedad de las funciones que les permite componer, creando de esta manera, la oportunidad para resolver problemas complejos a partir de las soluciones a otros ms sencillos. Tambin se incluy la posibilidad de definir funciones recursivamente. Un lenguaje funcional ofrece conceptos que son muy entendibles y relativamente fciles de manejar. El lenguaje funcional ms antiguo y popular es LISP, diseado por McCarthy en la segunda mitad de los aos 50. Se usa principalmente en Inteligencia Artificial. En los 80 se aadi a los lenguajes funcionales la tipificacin y algunos conceptos modernos de modularizacin y polimorfismo, un ejemplo es el lenguaje ML. Programar en un lenguaje funcional significa construir funciones a partir de las ya existentes. Por lo tanto es importante conocer y comprender bien las funciones que conforman la base del lenguaje, as como las que ya fueron definidas previamente. De esta manera se pueden ir construyendo aplicaciones cada vez ms complejas. La desventaja es que est alejado del modelo de la mquina Leandro M. Pinto Vega Pag. 7/12

Programacin I de von Neumann y, por lo tanto, la eficiencia de ejecucin de los intrpretes de lenguajes funcionales es peor que la ejecucin de los programas imperativos precompilados. Lenguajes Lgicos Otra forma de razonar para resolver problemas en matemticas se fundamenta en la lgica de primer orden. El conocimiento bsico de las matemticas se puede representar en la lgica en forma de axiomas, a los cuales se aaden reglas formales para deducir cosas verdaderas (teoremas). Gracias al trabajo de algunos matemticos, de finales de siglo pasado y principios de ste, se encontr la manera de automatizar computacionalmente el razonamiento lgico -particularmente para un subconjunto significativo de la lgica de primer orden- que permiti que la lgica matemtica diera origen a otro tipo de lenguajes de programacin, conocidos como lenguajes lgicos. Tambin se conoce a estos lenguajes, y a los funcionales, como lenguajes declarativos, porque para solucionar un problema el programador solo tiene que describirlo con axiomas y reglas de deduccin en el caso de la programacin lgica y con funciones en el caso de la programacin funcional. En los lenguajes lgicos se utiliza el formalismo de la lgica para representar el conocimiento sobre un problema y para hacer preguntas que se vuelven teoremas si se demuestra que se pueden deducir a partir del conocimiento dado en forma de axiomas y de las reglas de deduccin estipuladas. As se encuentran soluciones a problemas formulados como preguntas. Con base en la informacin expresada dentro de la lgica de primer orden, se formulan las preguntas sobre el dominio del problema y el intrprete del lenguaje lgico trata de encontrar la respuesta automticamente. El conocimiento sobre el problema se expresa en forma de predicados (axiomas) que establecen relaciones sobre los smbolos que representan los datos del dominio del problema. El PROLOG surgi a principio de los 70 y es el primer lenguaje lgico. Las aplicaciones en la Inteligencia Artificial lo mantienen vivo y til. En el caso de la programacin lgica, el trabajo del programador es la buena descripcin del problema en forma de hechos y reglas. A partir de sta se pueden encontrar muchas soluciones dependiendo de como se formulen las preguntas (metas), que tienen sentido para el problema. Si el programa est bien definido, el sistema encuentra automticamente las respuestas a las preguntas formuladas. En este caso ya no es necesario definir el algoritmo de solucin, como en la programacin imperativa, lo fundamental aqu es expresar bien el conocimiento sobre el problema. En programacin lgica, al igual que en programacin funcional, el programa, en este caso los hechos y las reglas, estn muy alejados del modelo von Neumann que posee la mquina en la que tienen que ser interpretados; por lo que la eficiencia de la ejecucin es inferior a la de un programa equivalente en lenguaje imperativo. Sin embargo, para cierto tipo de problemas, la formulacin del programa mismo puede ser mucho ms sencilla y natural. Lenguajes Orientados a Objetos A mediados de los aos 60 se empez a usar las computadoras para la simulacin de problemas del mundo real. Pero el mundo real est lleno de objetos, en la mayora de los casos complejos, los cuales difcilmente se traducen a los tipos de datos primitivos de los lenguajes imperativos. As surgi el concepto de objeto y sus colecciones (clases de objetos), que permitieron introducir abstracciones de datos a los lenguajes de programacin. La posibilidad de reutilizacin del cdigo y sus indispensables modificaciones, se reflejaron en la idea de las jerarquas de herencia de clases. Leandro M. Pinto Vega Pag. 8/12

Programacin I Tambin surgi el concepto de polimorfismo introducido va procedimientos virtuales. Todos estos conceptos (que hoy identificamos como conceptos del modelo de objetos) fueron presentados en el lenguaje Simula 67, desde el ao 1967, aunque este lenguaje estaba enfocado a aplicaciones de simulacin discreta. Fue en los aos 80 cuando surgieron lenguajes de programacin con conceptos de objetos encabezada por Smalltalk, C++, Eiffel, Modula-3, Ada 95 y terminando con Java. El modelo de objetos, y los lenguajes que lo usan, parecen facilitar la construccin de sistemas o programas en forma modular. Los objetos ayudan a expresar programas en trminos de abstracciones del mundo real, lo que aumenta su comprensin. La clase ofrece cierto tipo de modularizacin que facilita las modificaciones al sistema. La reutilizacin de clases previamente probadas en distintos sistemas tambin es otro punto a favor. Sin embargo, el modelo de objetos, a la hora de ser interpretado en la arquitectura von Neumann conlleva un excesivo manejo dinmico de memoria debido a la constante creacin de objetos, as como a una carga de cdigo fuerte causada por la constante invocacin de mtodos. Por lo tanto los programas en lenguajes orientados a objetos son ineficientes, en tiempo y memoria, contra los programas equivalentes en lenguajes imperativos, aunque les ganan en la comprensin de cdigo. Lenguajes Concurrentes, Paralelos y Distribuidos El origen de los conceptos para el manejo de concurrencia, paralelismo y distribucin est en el deseo de aprovechar al mximo la arquitectura von Neumann y sus modalidades reflejadas en conexiones paralelas y distribuidas. Esto fue un tema importante sobre todo cuando las computadoras eran caras y escasas; el sistema operativo tena que ofrecer la ejecucin concurrente y segura de programas de varios usuarios, que desde distintos terminales utilizaban un solo procesador, y as surgi la necesidad de introducir algunos conceptos de programacin concurrente para programar los sistemas operativos. Cuando los procesadores cambiaron de tamao y de precio, se abri la posibilidad de contar con varios procesadores en una mquina y ofrecer el procesamiento en paralelo(procesar varios programas al mismo tiempo). Esto dio el impulso a la creacin de lenguajes que permitan expresar el paralelismo. Finalmente, llegaron las redes de computadoras, que tambin ofrecen la posibilidad de ejecucin en paralelo, pero con procesadores distantes, lo cual conocemos como la programacin distribuida. Histricamente encontramos soluciones conceptuales y mecanismos (semforos, regiones crticas, monitores, envo de mensajes, llamadas a procedimientos remotos (RPC)) que se incluyeron despus en lenguajes de programacin como Concurrent Pascal o Modula (Basados en monitores), Ada SR (Basada en RendezVous (Tipo de RPC)), ALGOL 68(Semforos), OCCAM (Envo de mensajes), Java... Otros tipos de lenguajes de programacin son: Procedural Language, Declarative Language, Applicative Language, Definitional Language, Single Assignment Language, Dataflow Language,Constraint Language, Lenguaje de cuarta generacin(4GL), Query Language, Specification Language, Assembly Language, Intermediate Language, Metalenguajes.

Leandro M. Pinto Vega

Pag. 9/12

Programacin I SOLUCIN O RESULTADOS Los conceptos pedidos fueron buscados y ledos detenidamente para calificar lo que estaba apto para presentarlo en este deber y como resultado mi conocimiento acerca de la programacin creci y mi inters hacia ella

Leandro M. Pinto Vega

Pag. 10/12

Programacin I

Web Grafa
Autora: Jessica Rivero Espinosa http://informatica5145.files.wordpress.com/2013/01/lenguajes_de_programacion.pdf Autor: Rodolfo Quispe-Otazu http://www.rodolfoquispe.org/blog/que-es-la-programacion.php Autora: Sara Alvarez http://www.desarrolloweb.com/articulos/2477.php

Leandro M. Pinto Vega

Pag. 11/12

(1)Autora: Jessica Rivero Espinosa http://informatica5145.files.wordpress.com/2013/01/lenguajes_de_programacion.pdf (2)Autor: Rodolfo Quispe-Otazu http://www.rodolfoquispe.org/blog/que-es-la-programacion.php (3)Autora: Sara Alvarez http://www.desarrolloweb.com/articulos/2477.php

Vous aimerez peut-être aussi