Download Programación estructurada La programación estructurada es una

Document related concepts

Polimorfismo (informática) wikipedia , lookup

Rust (lenguaje de programación) wikipedia , lookup

F Sharp wikipedia , lookup

Objeto inmutable wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

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