Está en la página 1de 12

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental Politécnica de la Fuerza Armada
Sede Guacara
Ingeniería de Sistemas
Lenguaje de programación II
5to Semestre
1er corte

Vectores, Matrices y JavaScript

prof. Héctor Orozco Alejandro A. Veleiro Ch.


CI: 29618479

24/05/2020
1) ¿Qué son las Variables en Computación?
R: En programación, una variable está formada por un espacio en el sistema de almacenaje
(memoria principal de un ordenador) y un nombre simbólico (un identificador) que está
asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o
desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor
almacenado: esta separación entre nombre y contenido permite que el nombre sea usado
independientemente de la información exacta que representa. El identificador, en el código
fuente de la computadora puede estar ligado a un valor durante el tiempo de ejecución y el
valor de la variable puede por lo tanto cambiar durante el curso de la ejecución del programa.
El concepto de variables en computación puede no corresponder directamente al concepto
de variables en matemática. El valor de una variable en computación no es necesariamente
parte de una ecuación o fórmula como en matemáticas. En computación una variable puede
ser utilizada en un proceso repetitivo: puede asignársele un valor en un sitio, ser luego
utilizada en otro, más adelante reasignársele un nuevo valor para más tarde utilizarla de la
misma manera. Procedimientos de este tipo son conocidos con el nombre de iteración. En
programación de computadoras, a las variables, frecuentemente se le asignan nombres
largos para hacerlos relativamente descriptivas para su uso, mientras que las variables en
matemáticas a menudo tienen nombres escuetos, formados por uno o dos caracteres para
hacer breve en su transcripción y manipulación.

2) ¿Qué son los Vectores o Arreglos en Computación?

R: se le denomina vector, formación, matriz, arreglo (en inglés array) a una zona de
almacenamiento contiguo que contiene una serie de elementos del mismo tipo, los elementos
de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de
elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).

En principio, se puede considerar que todas las matrices son de una dimensión, la
dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un
proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices
multidimensionales, aunque las más fáciles de imaginar son las de una, dos y tres
dimensiones.

Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los
datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden
estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista, ya
que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un
programa, siendo esta última una estructura dinámica (al no tener un tamaño definido).

3) ¿Qué son las Matrices en Computación?


R: Un Vector es una zona de almacenamiento contiguo que contiene una serie de datos,
estas permiten la recursividad con lo cual se forman matrices multidimensionales. Las
matrices son creadas con un número determinado de elementos, formada por un conjunto de
campos que ocupan una posición dentro de esta y que pueden ser ubicados mediante
referentes llamados índices.

Para su identificación y recorrido las matrices cuentan con índices que dan un valor de
ubicación al dato, por otro lado el tamaño de estas puede ser dinámico o estático según sean
definidos con un tamaño predefinido o si se maneja este según la cantidad de información
que se agrega.

4) ¿Qué es la Programación Lineal?

R: La Programación Lineal es un procedimiento o algoritmo matemático mediante el cual se


resuelve un problema indeterminado, formulado a través de ecuaciones lineales, optimizando
la función objetivo, también lineal.

Consiste en optimizar (minimizar o maximizar) una función lineal, denominada función


objetivo, de tal forma que las variables de dicha función estén sujetas a una serie de
restricciones que expresamos mediante un sistema de inecuaciones lineales.

5) ¿Qué es la Programación Modular?

R: La programación modular es un paradigma de programación que consiste en dividir un


programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.

Se presenta históricamente como una evolución de la programación estructurada para


solucionar problemas de programación más grandes y complejos de lo que esta puede
resolver.
Al aplicar la programación modular, un problema complejo debe ser dividido en varios
subproblemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe
hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser
resueltos fácilmente con algún lenguaje de programación. Esta técnica se llama refinamiento
sucesivo, divide y vencerás o análisis descendente (Top-Down).

Un 'módulo' es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos módulos
tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de que
un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de
comunicación que también debe estar bien definida.

Si bien un módulo puede entenderse como una parte de un programa en cualquiera de


sus formas y variados contextos, en la práctica se los suele tomar como sinónimos de
procedimientos y funciones. Pero no necesaria ni estrictamente un módulo es una función o
un procedimiento, ya que el mismo puede contener muchos de ellos. No debe confundirse el
término "módulo" (en el sentido de programación modular) con términos como "función" o
"procedimiento", propios del lenguaje que lo soporte.

6) ¿Qué es la Programación Estructurada?


R: La programación estructurada es un paradigma de programación orientado a mejorar la
claridad, calidad y tiempo de desarrollo de un programa de computadora recurriendo
únicamente a subrutinas y tres estructuras básicas: secuencia, selección (if y switch)
e iteración (bucles for y while); asimismo, se considera innecesario y contraproducente el uso
de la instrucción de transferencia incondicional (GOTO), que podría conducir a código
espagueti, mucho más difícil de seguir y de mantener, y fuente de numerosos errores de
programación.

7) ¿Qué son los Lenguajes de Programación Orientados a Objeto?

R: La Programación Orientada a Objetos (POO, en español; OOP, según sus siglas en


inglés) es un paradigma de programación que viene a innovar la forma de obtener
resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida
específicos, donde cada objeto ofrece una funcionalidad especial.
Muchos de los objetos prediseñados de los lenguajes de programación actuales permiten
la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al
usuario la creación de sus propias bibliotecas.

Está basada en varias técnicas del sexenio: herencia, cohesión, abstracción,


polimorfismo, acoplamiento y encapsulamiento.

Simula (1967) es aceptado como el primer lenguaje que posee las características
principales de un lenguaje orientado a objetos. Fue creado para hacer programas de
simulación, en donde los "objetos" son la representación de la información más importante.

Smalltalk (1972 a 1980) es posiblemente el ejemplo canónico, y con el que gran parte de
la teoría de la programación orientada a objetos se ha desarrollado.

8) Breve reseña histórica del Lenguaje de Programación Java Script


R: JavaScript (abreviado comúnmente JS) es un lenguaje de programación interpretado,
dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos,
imperativo, débilmente tipado y dinámico.

A principios de los años 90, la mayoría de usuarios que se conectaban a Internet lo


hacían con módems a una velocidad máxima de 28.8 kbps. En esa época, empezaban a
desarrollarse las primeras aplicaciones web y por tanto, las páginas web comenzaban a
incluir formularios complejos.

Con unas aplicaciones web cada vez más complejas y una velocidad de navegación tan
lenta, surgió la necesidad de un lenguaje de programación que se ejecutara en el navegador
del usuario. De esta forma, si el usuario no rellenaba correctamente un formulario, no se le
hacía esperar mucho tiempo hasta que el servidor volviera a mostrar el formulario indicando
los errores existentes.

Brendan Eich, un programador que trabajaba en Netscape, pensó que podría solucionar
este problema adaptando otras tecnologías existentes (como ScriptEase) al navegador
Netscape Navigator 2.0, que iba a lanzarse en 1995. Inicialmente, Eich denominó a su
lenguaje LiveScript.
Posteriormente, Netscape firmó una alianza con Sun Microsystems para el desarrollo del
nuevo lenguaje de programación. Además, justo antes del lanzamiento Netscape decidió
cambiar el nombre por el de JavaScript. La razón del cambio de nombre fue exclusivamente
por marketing, ya que Java era la palabra de moda en el mundo informático y de Internet de
la época.

La primera versión de JavaScript fue un completo éxito y Netscape Navigator 3.0 ya


incorporaba la siguiente versión del lenguaje, la versión 1.1. Al mismo tiempo, Microsoft lanzó
JScript con su navegador Internet Explorer 3. JScript era una copia de JavaScript al que le
cambiaron el nombre para evitar problemas legales.

Para evitar una guerra de tecnologías, Netscape decidió que lo mejor sería estandarizar
el lenguaje JavaScript. De esta forma, en 1997 se envió la especificación JavaScript 1.1 al
organismo ECMA European Computer Manufacturers Association).

ECMA creó el comité TC39 con el objetivo de "estandarizar de un lenguaje de script


multiplataforma e independiente de cualquier empresa". El primer estándar que creó el
comité TC39 se denominó ECMA-262, en el que se definió por primera vez el lenguaje
ECMAScript.

Por este motivo, algunos programadores prefieren la denominación ECMAScript para


referirse al lenguaje JavaScript. De hecho, JavaScript no es más que la implementación que
realizó la empresa Netscape del estándar ECMAScript.

La organización internacional para la estandarización (ISO) adoptó el estándar ECMA-


262 a través de su comisión IEC, dando lugar al estándar ISO/IEC-16262.

9) Las Características del Lenguaje de Programación Java Script

R: Las siguientes características son comunes a todas las implementaciones que se ajustan
al estándar ECMAScript, a menos que especifique explícitamente en caso contrario.

-Imperativo y estructurado

JavaScript es compatible con gran parte de la estructura de programación de C (por ejemplo,


sentencias if, bucles for, sentencias switch, etc.). Con una salvedad, en parte: en C, el ámbito
de las variables alcanza al bloque en el cual fueron definidas; sin embargo JavaScript no es
compatible con esto, puesto que el ámbito de las variables es el de la función en la cual
fueron declaradas. Esto cambia con la versión de ECMAScript 2015, ya que añade
compatibilidad con block scoping por medio de la palabra clave let. Como en C, JavaScript
hace distinción entre expresiones y sentencias. Una diferencia sintáctica con respecto a C es
la inserción automática de punto y coma, es decir, en JavaScript los puntos y coma que
finalizan una sentencia pueden ser omitidos.

-Dinámico

 Tipado dinámico: Como en la mayoría de lenguajes de scripting, el tipo está asociado


al valor, no a la variable. Por ejemplo, una variable x en un momento dado puede estar
ligada a un número y más adelante, religada a una cadena. JavaScript es compatible
con varias formas de comprobar el tipo de un objeto, incluyendo duck typing. Una
forma de saberlo es por medio de la palabra clave typeof.
 Objetual: JavaScript está formado casi en su totalidad por objetos. Los objetos en
JavaScript son arrays asociativos, mejorados con la inclusión de prototipos (ver más
adelante). Los nombres de las propiedades de los objetos son claves de tipo cadena:
obj.x = 10 y obj['x'] = 10 son equivalentes, siendo azúcar sintáctico la notación con
punto. Las propiedades y sus valores pueden ser creados, cambiados o eliminados en
tiempo de ejecución. La mayoría de propiedades de un objeto (y aquellas que son
incluidas por la cadena de la herencia prototípica) pueden ser enumeradas a por
medio de la instrucción de bucle for... in. JavaScript tiene un pequeño número de
objetos predefinidos como son Function y Date.
 Evaluación en tiempo de ejecución: JavaScript incluye la función eval que permite
evaluar expresiones expresadas como cadenas en tiempo de ejecución. Por ello se
recomienda que eval sea utilizado con precaución y que se opte por utilizar la función
JSON.parse() en la medida de lo posible, pues resulta mucho más segura.

-Funcional

 Funciones de primera clase: A las funciones se les suele llamar ciudadanos de


primera clase; son objetos en sí mismos. Como tal, poseen propiedades y métodos,
como .call() y .bind(). Una función anidada es una función definida dentro de otra. Esta
es creada cada vez que la función externa es invocada. Además, cada función creada
forma una clausura; es el resultado de evaluar un ámbito conteniendo en una o más
variables dependientes de otro ámbito externo, incluyendo constantes, variables
locales y argumentos de la función externa llamante. El resultado de la evaluación de
dicha clausura forma parte del estado interno de cada objeto función, incluso después
de que la función exterior concluya su evaluación.

-Prototípico

 Prototipos: JavaScript usa prototipos en vez de clases para el uso de herencia. Es


posible llegar a emular muchas de las características que proporcionan las clases en
lenguajes orientados a objetos tradicionales por medio de prototipos en JavaScript.
 Funciones como constructores de objetos: Las funciones también se comportan
como constructores. Prefijar una llamada a la función con la palabra clave new crear
una nueva instancia de un prototipo, que heredan propiedades y métodos del
constructor (incluidas las propiedades del prototipo de Object). ECMAScript 5 ofrece el
método Object.create, permitiendo la creación explícita de una instancia sin tener que
heredar automáticamente del prototipo de Object (en entornos antiguos puede
aparecer el prototipo del objeto creado como null). La propiedad prototype del
constructor determina el objeto usado para el prototipo interno de los nuevos objetos
creados. Se pueden añadir nuevos métodos modificando el prototipo del objeto usado
como constructor. Constructores predefinidos en JavaScript, como Array u Object,
también tienen prototipos que pueden ser modificados. Aunque esto sea posible se
considera una mala práctica modificar el prototipo de Object ya que la mayoría de los
objetos en Javascript heredan los métodos y propiedades del objeto prototype, objetos
los cuales pueden esperar que estos no hayan sido modificados.

-Otras características

 Entorno de ejecución: JavaScript normalmente depende del entorno en el que se


ejecute (por ejemplo, en un navegador web) para ofrecer objetos y métodos por los
que los scripts pueden interactuar con el "mundo exterior". De hecho, depende del
entorno para ser capaz de proporcionar la capacidad de incluir o importar scripts (por
ejemplo, en HTML por medio del tag <script>). (Esto no es una característica del
lenguaje, pero es común en la mayoría de las implementaciones de JavaScript.)
 Funciones variádicas: Un número indefinido de parámetros pueden ser pasados a la
función. La función puede acceder a ellos a través de los parámetros o también a
través del objeto local arguments. Las funciones variádicas también pueden ser
creadas usando el método .apply().
 Funciones como métodos: A diferencia de muchos lenguajes orientados a objetos,
no hay distinción entre la definición de función y la definición de método. Más bien, la
distinción se produce durante la llamada a la función; una función puede ser llamada
como un método. Cuando una función es llamada como un método de un objeto, la
palabra clave this, que es una variable local a la función, representa al objeto que
invocó dicha función.
 Arrays y la definición literal de objetos: Al igual que muchos lenguajes de script,
arrays y objetos (arrays asociativos en otros idiomas) pueden ser creados con una
sintaxis abreviada. De hecho, estos literales forman la base del formato de datos
JSON.

10) Comandos y función que realizan del Lenguaje Java Script


R:
Document Object
Al ser cargada una página web por el navegador, Windows la considera como un objeto,
por lo que las siguientes variables devuelven información como si la página fuera un objeto.
 document.write: Escribe texto, código o el resultado de una variable en una página.
 document.title: Muestra el título de la página actual.
 document.referrer: Muestra la dirección URL de la página que dirigió a la actual.
 document.lastModified: Fecha de la última modificación de la página.
 document.domain: Muestra el nombre de dominio del sitio web.
 document.cookie: Muestra las cookies guardadas por este sitio web en tu equipo.
 document.links.length: Muestra el número de links en la página.
 document.links[0].innerHTML: Muestra el nombre del primer link.
 document.links[1].innerHTML: Muestra el nombre del segundo link.
 document.anchors.length: Número de anchors en la página.
 document.forms.length: Número de formas en la página.
 document.forms[0].name: Muestra el nombre de la primera forma.
 document.images.length: Número de imágenes en la página.
 document.images[0].id: Muestra la identidad(ID) de la primera imagen.
 Document.getElementById(): Permite identificar un elemento en una página por su
identidad (ID), entonces ejecuta una acción.

Navigator Object
Las siguientes variables devuelven información del navegador usado para cargar la
página.
 navigator.appCodeName: Devuelve el código del nombre del navegador web con
que se carga la página.
 navigator.appName: Devuelve el nombre del navegador.
 navigator.appVersion: Versión del navegador.
 navigator.cookieEnabled: Comprueba si están habilitadas las cookies en el
navegador (true=Si, false=No).
 navigator.platform: Plataforma del navegador.
 navigator.userAgent: Agente de usuario enviado por el navegador al servidor.
 navigator.javaEnabled: Se comprueba si está habilitada Java en el navegador
(true=Si, false=No).

Location Object
 location.host: Devuelve el nombre del host de una dirección web.
 location.hostname: Similar al anterior.
 location.href: Devuelve la dirección URL completa.
 location.pathname: Devuelve solo la ruta relativa en el servidor a la pagina.
 location.port: Devuelve el número del puerto usado.
 location.protocol: Muestra el protocolo usado (http, https, file, ftp, etc.).
 location.reload(): Vuelve a cargar la página (window.location.reload(true)).

History Object
 history.length: Devuelve la cantidad de direcciones URL en la lista del historial.
 history.back():Página anterior en el historial.
 history.forward():Página siguiente en el historial.
 history.go():Carga una página determinada del historial, en este caso se emplea:
history.go(0) por lo que recarga la página actual, similar a usar la tecla F5.

Screen Object
 screen.height: Devuelve la altura total de la pantalla en pixeles
 screen.width: Devuelve el ancho total de la pantalla en pixeles
 screen.availHeight: Devuelve la altura de la pantalla disponible en pixeles
 screen.availWidth: Devuelve el ancho de la pantalla disponible en pixeles
 screen.colorDepth: Profundidad de color de la pantalla para mostrar imágenes
 screen.pixelDepth: Resolución del color en bits por pixel de la pantalla

Window Object
 window.onload: Ejecuta una función o varias inmediatamente después de que
termine la carga de la página por completo
 window.parent.location: Devuelve la dirección URL de la página actual
 window.alert(): Muestra una ventana de alerta con un mensaje
 window.confirm(): Confirmación, muestra un cuadro de dialogo con un mensaje, un
botón Aceptar y uno Cancelar
 window.prompt(): Muestra un cuadro de dialogo que inquiere al usuario por una
respuesta
 window.open(): Abre una nueva ventana o pestaña según como se emplee, ninguna
de las variantes funciona en el navegador Internet Explorer por cuestiones de
seguridad.
 window.close(): Cierra la pestaña abierta anteriormente
 window.name: Muestra el nombre de una ventana
 window.innerHeight: Muestra la altura en pixeles del tamaño de la ventana del
navegador (No es compatible con Internet Explorer)
 window.innerWidth: Muestra el ancho en pixeles del tamaño de la ventana del
navegador (No es compatible con Internet Explorer)
 window.print(): Imprime el contenido de la ventana
 window.resizeTo(): Este método cambia de tamaño la ventana del navegador, mueve
la esquina derecha inferior de la ventana, la cantidad de pixeles que se determine, ya
sea positiva un incremento o negativa una reducción, la esquina superior izquierda
permanecerá inmóvil
 window.scrollBy(): Desplaza el contenido de la ventana en un determinado número
de pixeles, hacia arriba o hacia abajo según se establezca de forma positiva o
negativa
 window.scrollTo(): Dezplaza el contenido de la ventana a unas coordenadas
específicas
 window.moveTo(): Mueve la ventana del navegador a una posición específica en la
pantalla definida en pixeles
 window.moveBy(): Mueve la ventana del navegador a una ubicación en relación con
su posición actual determinada en pixeles
 window.screenLeft: Muestra el número de pixeles distantes a la pantalla, del borde
izquierdo de la ventana al borde izquierdo de la pantalla (Solo Internet Explorer)
 window.screenTop: Muestra el número de pixeles distantes a la pantalla, del borde
superior de la ventana al borde superior de la pantalla (Solo Internet Explorer)
 window.screenX: Muestra el número de pixeles distantes a la pantalla, del borde
izquierdo de la ventana al borde izquierdo de la pantalla (Firefox y Google Chrome)
 window.screenY: Muestra el número de pixeles distantes a la pantalla, del borde
superior de la ventana al borde superior de la pantalla (Firefox y Google Chrome)

También podría gustarte