Download Programación estructurada La programación estructurada es una
Document related concepts
Transcript
Programación estructurada La programación estructurada es una técnica para escribir programas (programación de computadora). Para ello se utilizan únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN). Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones. Objeto de programación En el paradigma de programación orientada a objetos (POO, o bien OOP en inglés), un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa. También a un nivel más básico se define como la instancia de una clase. Estos objetos interactúan unos con otros, en contraposición a la visión tradicional en la cual un programa es una colección de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio. En el mundo de la programación orientada a objetos (POO), un objeto es el resultado de la instanciación de una clase. Una clase es el anteproyecto que ofrece la funcionalidad en ella definida, pero ésta queda implementada sólo al crear una instancia de la clase, en la forma de un objeto. Por ejemplo: dado un plano para construir sillas (una clase de nombre clase_silla), entonces una silla concreta, en la que podemos sentarnos, construida a partir de este plano, sería un objeto de clase_silla. Es posible crear (construir) múltiples objetos (sillas) utilizando la definición de la clase (plano) anterior. Los conceptos de clase y objetos son análogos a los de tipo de datos y variable, es decir, definida una clase podemos crear objetos de esa clase, igual que disponiendo de un determinado tipo de dato (por ejemplo el tipo entero), podemos definir variables de dicho tipo: int a,b; ( 'int' es un tipo de dato y 'a' y 'b' son variables de tipo entero con las que podemos operar) Para utilizar la funcionalidad definida en una clase en particular (salvo en las clases abstractas), primeramente es necesario crear un objeto de esa clase. De la misma manera para una persona que desea sentarse, las especificaciones para construir una silla serán de poca utilidad; lo que se necesita es una silla real construida a partir de esas especificaciones. Siguiendo con la analogía anterior, también se puede decir que para hacer operaciones aritméticas, de nada sirve por sí solo el tipo entero (int); para ello necesitamos variables (o constantes) con las que operar. Sentencia En programación, una sentencia es una línea de código en algún lenguaje de programación. Un programa está constituido por múltiples sentencias de programación, lo que es llamado código fuente. Un algoritmo de programación está constituido por una o más sentencias de programación. Las sentencias de programación suelen tener algún caracter que determina su final, por lo general es un punto y coma (;) o un punto final (.), y algunas están separadas simplemente por enters (retorno de carro). Esto depende del lenguaje de programación que se esté empleando. Existen lenguajes que no necesitan un caracter que determine el final de una sentencia. En algunos lenguajes de programación las sentencias están numeradas, de esta manera, si existe algún error de sintaxis (o alguna advertencia), el compilador entrega un mensaje con el número de sentencia donde fue encontrado. Una sentencia de programación tiene una sintaxis y una semántica. La sintaxis está determinada por el lenguaje de programación y, si existe algún error, el compilador suele detectarlo. También una sentencia tiene una semántica, si existe algún error de semántica, en general, no puede ser descubierto por el compilador. Esto es porque la semántica está asociada al "significado" o "función" de esa sentencia (o un grupo de sentencias), pero el compilador no puede determinar qué quiere hacer el programador. Un snippet es un segmento de una o más sentencias de programación, y permite reutilizar códigos, hacer códigos más eficientes o facilitar el trabajo al programador. Comando o instrucción 1. (command, orden, mandato). En informática, un comando es una orden que se le da a un programa de computadora que actúa como intérprete del mismo, para así realizar una tarea específica. Generalmente un comando se le da a una interfaz de línea de comandos, como un shell. Por ejemplo, el comando "dir" dentro de MS-DOS lista los archivos y subdirectorios del directorio actual. En Unix, la misma función la hace el comando "ls". Muchos comandos permiten argumentos, es decir, información que se le pasa a un comando para que cambie su comportamiento. Por ejemplo, "ls -l" ya no muestra una simple lista de nombres de archivos y subdirectorios, sino que además de los nombres indica fecha de creación, dueños, permisos, etc. 2. En programación, un comando es una instrucción (o sentencia) dentro del código fuente. Para más información ver sentencia de programación. 3. A veces comando e instrucción se toman como sinónimos. Ver instrucción. 1. (instruction). En informática, una instrucción es una única operación de un procesador definida por un conjunto de instrucciones de una arquitectura. En las arquitecturas típicas, una instrucción cuenta con un opcode (que especifica cuál es la operación que se realizará, como por ejemplo: agregar datos a un registro de memoria) y cero, uno o más operandos (que especifica registros, ubicaciones de memoria o datos). En arquitecturas de palabra (VLIW), una única instrucción puede contar con múltiples operaciones y operandos. La mayoría de los procesadores actuales utilizan instrucciones que tienen un tamaño de entre 16 y 64 bits. En arquitecturas RISC, las instrucciones tienen una longitud fija, generalmente una longitud que se corresponde al tamaño de palabra de la arquitectura. En otras arquitecturas, las instrucciones pueden tener diferentes tamaños, desde un par de bits a miles de bits, estos últimos especialmente en sistemas VLIW. Las instrucciones que forman un programa generalmente se escriben en lenguaje ensamblador (con palabras humanas como ADD o STORE) o el compilador se encarga de generarlas a partir de un código escrito en un lenguaje de programación de alto nivel. Raramente el programador programa escribiendo la forma numérica de las instrucciones, debido a su complejidad. 2. A veces la palabra instrucción se utiliza como sinónimo de comando. Método de programación En la programación orientada a objetos, un método es una subrutina asociada exclusivamente a una clase (llamados métodos de clase o métodos estáticos) o a un objeto (llamados métodos de instancia). Análogamente a los procedimientos en los lenguajes imperativos, un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción y o, posiblemente, un valor de salida (o valor de retorno) de algún tipo. Algunos lenguajes de programación asumen que un método debe de mantener el invariante del objeto al que está asociado asumiendo también que éste es válido cuando el método es invocado. En lenguajes compilados dinámicamente, los métodos pueden ser objetos de primera clase, y en este caso se puede compilar un método sin asociarse a ninguna clase en particular, y luego asociar el vínculo o contrato entre el objeto y el método en tiempo de ejecución. En cambio en lenguajes no compilados dinámicamente o tipados estáticamente, se acude a precondiciones para regular los parámetros del método y postcondiciones para regular su salida (en caso de tenerla). Si alguna de las precondiciones o postcondiciones es falsa el método genera una excepción. Si el estado del objeto no satisface la invariante de su clase al comenzar o finalizar un método, se considera que el programa tiene un error de programación. La diferencia entre un procedimiento (generalmente llamado función si devuelve un valor) y un método es que éste último, al estar asociado con un objeto o clase en particular, puede acceder y modificar los datos privados del objeto correspondiente de forma tal que sea consistente con el comportamiento deseado para el mismo. Así, es recomendable entender a un método no como una secuencia de instrucciones sino como la forma en que el objeto es útil (el método para hacer su trabajo). Por lo tanto, podemos considerar al método como el pedido a un objeto para que realice una tarea determinada o como la vía para enviar un mensaje al objeto y que éste reaccione acorde a dicho mensaje. Constantes de programación En programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos. Por ejemplo: El valor de pi = 3.1416 Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes. Variables de programación En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud: Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas. Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos. Lenguaje orientado a objetos Saltar a: navegación, búsqueda Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos. Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos. Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos. Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos. Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X-Window utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero organizando el código en una manera que "parecen objetos" (los Widgets). XML Saltar a: navegación, búsqueda Extensible Markup Language (XML) Desarrollador World Wide Web Consortium Información general Extensión de archivo .xml Tipo de MIME application/xml, text/xml Tipo de formato Lenguaje de marcado Estándar(es) 1.0 (Fourth Edition) 1.1 (Second Edition) Formato abierto ? XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades, de ahí que se le denomine metalenguaje.[1] Algunos de estos lenguajes que usan XML para su definición son XHTML, SVG, MathML. XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable. XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy