Módulo 1. Introducción a los lenguajes de programación

Documentos relacionados
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Tema 2 Introducción a la Programación en C.

Introducción a la programación: Contenido. Introducción

Evolución del software y su situación actual

Computadora y Sistema Operativo

LÓGICA DE PROGRAMACIÓN

Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Introducción a la programación

Programación de Ordenadores

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

TIPOS DE SOFTWARE. A grandes rasgos, se puede decir que existen tres tipos de software:

1. Computadores y programación

Unidad III: Lenguaje de presentación

INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Metodología de Desarrollo de Programas

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

Tema 5. Soporte lógico de computadoras.

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

Inteligencia Artificial

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java

Proceso de información en la computadora

Técnicas de Programación

La resolución de un problema

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Clase No. 2 Programación Básica Licenciatura en Telecomunicaciones

ESTRUCTURA DE ASIGNACIÓN

Fundamentos de Programación Visual Basic

TEMA 3: El proceso de compilación, del código fuente al código máquina

Lenguajes de programación Última modificación 2008/10

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

INDICE Capitulo 1. Introducción a la informática Capitulo 2. La información y su representación

Tema 2. Concepto de Algoritmo

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

1. PRINCIPIOS BÁSICOS DE PROGRAMACIÓN

Algoritmos y Lenguajes de Programación

Programación para Ingeniería Eléctrica

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Tema III: Introducción al lenguaje de programación

JUSTIFICACIÓN: PRE-REQUISITOS: OBJETIVOS GENERALES: * Programa de asignatura propuesto por los Prof. Malinda Coa y Angel Zambrano.

PROGRAMACIÓN UNIDADES

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Universidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

FUNCIONAMIENTO DEL ORDENADOR

Calendario Académico año Introducción a la Programación I

Diseño Estructurado de Algoritmos

Unidad 2. Introducción Lenguajes y Compiladores

Jesús Manuel Carrera Velueta José Juan Almeida García Fecha de elaboración: Mayo 6 de 2010 Fecha de última actualización:

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Estructura de un programa. Algoritmos - Universidad Francisco de Vitoria 2

P L A N I F I C A C I O N

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA VICERRECTORADO ACADÉMICO ARAGUA VENEZUELA

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Fundamentos de Informática 3. Construcción de Software

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada

Expositor: Mauricio Galvez Legua

Principios de Programación en Java

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Fundamentos de programación JAVA

TEMA 1: Algoritmos y programas

Tema II: Metodología para la construcción de programas

Estructuras de Control

Formato para prácticas de laboratorio

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

1. Diga 3 razones por las que el hombre tuvo la necesidad de registrar información perinanente.

Pruebas de escritorio

Programación I. Carrera: ECM Participantes Participantes de las academias de ingeniería electrónica de los Institutos Tecnológicos.

INICIACIÓN A LA PROGRAMACIÓN I

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

I.S.F.T. Nº 38 Programación I página 1

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Qué es un programa informático?

Facultad de Ingeniería Industrial y de Sistemas v1.1 Pre Maestría LENGUAJES DE PROGRAMACION

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

10 más ! Análisis de sistemas digitales básicos

PROGRAMACIÓN VISUAL E.A.P. SISTEMAS E INFORMATICA UNIVERSIDAD NACIONAL DEL SANTA CURSO: MICROCOMPUTACION III FACULTA DE INGENIERIA.

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Sistemas Operativos. Introducción. Tema 6

MÓDULO 1: Sistemas de Cómputo

Unidad I: Organización del Computador. Ing. Marglorie Colina

TEMA 6: INTRODUCCIÓN A UML

Transcripción:

Módulo 1. Introducción a los lenguajes de programación Objetivo - Definir qué es un lenguaje de programación e identificar cómo es su forma de clasificación. Introducción a los lenguajes de programación La solución de problemas de la vida cotidiana mediante el uso o apoyo de un computador, nos lleva a desarrollar software, proceso conocido también como desarrollo de aplicaciones, desarrollo de programas, entre otros. La construcción de estos programas se lleva a cabo mediante diferentes metodologías, los pasos comúnmente utilizados en las diferentes metodologías son: Paso 1. Análisis: consiste en comprender el problema que se desea solucionar, su contexto y sobre todo los límites de posibles soluciones. Paso 2. Diseño: consiste en describir de forma ordenada las posibles soluciones y/o instrucciones de que resuelven el problema. Paso 3. Codificación: es trasladar de forma sistemática la secuencia de instrucciones en un lenguaje para computador. Paso 4. Ejecución y validación: es la hora de la verdad; se ejecuta el programa y se valida que sí corresponda con la solución al problema planteado, es la verificación a la solución Para codificar de forma sistemática un algoritmo se necesita un conjunto de instrucciones que el computador comprenda, este conjunto de instrucciones es conocido con el nombre de LENGUAJE PROGRAMACIÓN. Historia Charles Babbage, profesor de matemáticas en la universidad de Cambridge en los años de 1828 a 1839, es considerado como el padre de los computadores. Entre 1833 y 1842, Babbage intentó construir una maquina que fuese programable, esta máquina llevaba como nombre la Máquina Analítica. El diseño se basaba en una máquina calculadora, controlada por una secuencia de instrucciones, con una unidad de proceso, una memoria central, facilidades de entrada y salida 1

de datos, así como posibilidades de control paso a paso, la secuencia de instrucciones usaba tarjetas perforadas. Ada Augusta Byron (Lady Ada Lovelace), Condesa de Lovelace y matemática; colaboró con Babbage económicamente y promovió activamente la máquina analítica de Babbage. Lady Ada Lovelace escribió programas para la maquina analítica. Estas primeras instrucciones hacen de Ada Lovelace la primera programadora de computadores en el mundo. Qué es un lenguaje de programación? Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en un computador. [1] Estas instrucciones permiten la construcción de programas con los cuales podemos realizar operaciones de entrada y salida, almacenamiento, cálculos y lógica de comparación. Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos un computador debe operar, cómo deben ser estos almacenados y transmitidos, y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. [1] Clasificación de los lenguajes de programación. Los lenguajes de programación son clasificados de muchas formas, dentro de estas se encuentran: Clasificación según nivel de abstracción. Lenguajes de bajo nivel: Son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es por excelencia el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en un ensamblador, se trabaja con los registros de memoria del computador de forma directa. [1] Lenguajes de medio nivel: Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel, pero teniendo al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel. [1] Lenguajes de alto nivel: Recuerda los pasos del desarrollo de software: Análisis, Diseño, Codificación, Ejecución y Validación 2

Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que los computadores parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática. [1] Clasificación según su paradigma. Paradigma Imperativo: Describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma procedimental (procedural), entre otros. [2] Paradigma Declarativo: No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino que describe (declara) cómo es algo. En otras palabras, se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución. Es más complicado de implementar que el paradigma imperativo ; tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas. [2] Paradigma Estructurado: Inic La programación estructurada se basa en una metodología de desarrollo de programas llamada refinamientos sucesivos: Se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad. Una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas por el pool de programadores. Si se ha utilizado adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la misma, y de presentar algún problema, será rápidamente detectable para su corrección. La representación grafica de la programación estructurada se realiza a través de diagramas de flujo o flow chart, el cual representa el programa con sus entradas, procesos y salidas. Fin La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción. Ellas están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias. Combinando esquemas sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil entendimiento. [3] 3

Paradigma Orientado a Objetos: La programación orientada a objetos intenta simular el mundo real a través del significado de objetos que contiene características y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generación. [4] En la Programación Orientada a Objetos (POO u OOP, por sus siglas en inglés) se definen los programas en términos de "clases de objetos"; objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre sí para realizar tareas. Esto permite hacer los programas módulos más fáciles de escribir, mantener y reutilizar. [1] Paradigma Funcional: Este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las funciones y composición entre ellas, más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Tambien permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otros tipos de programaciones. [2] Paradigma lógico: Se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias lógicas, responder preguntas planteadas al sistema y así resolver los problemas. Ej.: prolog. [2] Según la forma de ejecución Lenguajes compilados: Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema. Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que el computador entienda (lenguaje máquina con código binario). Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código. 4

Lenguajes interpretados: Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente. La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del mismo tendrá que volver a ser interpretada cada vez que éste se ejecute, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución), pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción. [1] Recuerda las diferentes clasificaciones de los lenguajes de programación : Los lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Paradigma Imperativo Paradigma Declarativo Paradigma Estructurado Paradigma Orientado a Objetos Paradigma Funcional Paradigma lógico Lenguajes compilados Lenguajes interpretados 5

REFERENCIAS [1] http://es.wikipedia.org/wiki/lenguaje_de_programacion [2] http://www.alegsaonline.com/art/13.php [3] http://lenguajes-de-programacion.com/programacion-estructurada.shtml [4] http://lenguajes-de-programacion.com/programacion-orientada-a-objetos.shtml 6