ProgramacionM1 Algo y Progra - V3
ProgramacionM1 Algo y Progra - V3
Algoritmia y programación
Al comenzar el presente Módulo se hará un resumen de lo visto hasta ahora por los
estudiosos para que puedan visualizar la magnitud de lo aprendido hasta ahora desde
el punto de vista de la presente asignatura. Todos los conceptos que se mostrarán en
la primera parte de este módulo son un repaso de temas ya vistosen las asignaturas
de “Lógica de Programación”.
Por otra parte, a través de este Módulo, Algoritmia y Programación, se mostrarán los
elementos que componen los algoritmos teniendo en cuenta la sintaxis en Java y
JavaScript. A si mismo se mostrarán ejemplos de algoritmos implementados en estos
lenguajes de programación con el fin de consolidar los temas aquí vistos.
Tipos de
datos
Variables
Repaso
Operadores
Aritméticos
Java
Estructuras
de control
Ejemplo
Algoritmo
Algoritmia y
programación
Operadores
Estructuras
de decisión
Estructuras
JavaScript
de repetición
Ejemplos Arreglos
Manejo
errores
1. Algoritmia y Programación
Fin
En estos ejemplos hay una sucesión de pasos ordenados. Si algunos de los pasos
son alterados puede ser que el resultado no sea el mismo.
Cualquier situación en la vida diaria resulta mediante un algoritmo. Por ejemplo, al
hacer un ponqué, o al encontrar una dirección. La manera de resolver nuestros
problemas cotidianos nos hace la vida más fácil o más difícil. Hay momentos ennuestras
vidas que no resolvemos problemas de la mejor manera, nos complicamosun poco. Tal
vez porque no hemos buscado alternativas para encontrar la mejor solución a un
problema o tal vez no estamos usando nuestra lógica para hacerlo. Cabe destacar que
para resolver un problema siempre hay más de una solución, yunas son mejores que
otras.
Es bueno tener en cuenta que para construir un algoritmo primero que todo hayque
entender muy bien el problema, segundo plantear la solución (primero en términos
generales, posteriormente detallada), tercero codificar el algoritmo en un lenguaje de
programación, cuarto probarlo, y por último ejecutarlo.
Es decir, con relación a la escritura de las sentencias que van a ejecutarse, se debe
hacer uso adecuado de las palabras reservadas del lenguaje y además cumplir con
la sintaxis necesaria. De manera que el programa que se escriba debeser analizado
en su léxico, sintaxis y semántica (Zhang, 2013).
Hay que resaltar que, la generación del código objeto solo lo hacen aquellos lenguajes
de alto nivel (C, Java, C++, etc.) requiriendo un proceso de compilación. Este código
objeto queda traducido a código binario (0,1) el cual finalmente corre en la
computadora. Si hay un error en la sintaxis, el compilador no genera el código objeto.
Construcción de un Algoritmo
Características de un Algoritmo
Identificador
• estudiante
• primerNombre
• saldo
• cuentaDeAhorro
Tipos de datos
Algunos lenguajes (C++, Java) permiten que el programador defina sus propios tipos
de datos, lo cual implica un alto nivel de abstracción. Los tipos de datos personalizados
permiten al programador modelar las propiedades del mundo real de una forma más
precisa. Además de personalizar el tipo de dato, el programador tiene que definir el
dominio, operaciones y representación.
1. Tipo simple: es aquel que no puede subdividirse en tipos más simples. Aquí
hay tres categorías: a) Integral (char, byte, short, int, y long), b) Punto flotante: Es
la representación de números con parte decimal y c) Booleano: El tipo de dato que
trata con valores lógicos (verdadero, falso).
Variables
Como su nombre lo indica una variable es un espacio en memoria que guarda un valor
y que puede ser cambiado dentro de la ejecución de un programa. Una variable tiene
asociada un nombre y un tipo de dato. El nombre de una variable no puede ser una
palabra reservada del lenguaje de programación. Por ejemplo, unnombre de variable
puede ser numEst de tipo numérico entero.
Ejemplo de variables en Java String saludo = “Hola mundo”
int ancho = 20
Literales
Son los valores que se le dan a las variables por ejemplo el valor 3.1416 es un
literal asignado a una constante llamada pi. De la misma manera, “programación” es un
literal, un valor dado a la variable asignatura.
Constantes
En programación una constante es como una variable sólo que su valor no cambia y es
contante durante la ejecución del programa. Es decir, se define un identificador al cual
se le da un valor y esto no se va a modificar durante la ejecución.
Ejemplo de constantes:
Pi= 3.1415926
Cada lenguaje de programación tiene sus propias palabras reservadas para designar
la función de lectura y escritura.
En el caso del lenguaje C la función de lectura se realiza con la función scanf y para
la salida de datos la función es printf.
En el caso del lenguaje Java la función de lectura se realiza con los métodos de la clase
Scanner
1.3. Operadores
Operadores Aritméticos
Básicamente hay 5 operadores aritméticos. Ellos son: Suma +
Resta -
Multiplicación *
Cociente /
Modulo %
Operadores de Relación o Comparación
Básicamente hay 6 operadores de relación o comparación. Ellos son: Igual a ==
Diferente a !=
Menor a <
Menor a o igual a <=
Mayor a >
Mayor a o igual a >=
Operadores Lógicos
Son tres los conectores lógicos que perteneces a esta categoría: Conector lógico “O”
||
Conector lógico “Y” &&
Negación “NO” !
Existen tres métodos que son selección, inserción, y burbuja. Es importante conocer
estos algoritmos porque ellos pueden ser utilizados de acuerdo a la cantidad de datos
que se quieran ordenar, ya que de esto depende la eficiencia de los mismos.
While
if
For
Saludo=”hola
mundo”
Pi=3.1416
Son repetitivas es condicional
ejemplo
Aritmeticos
Ej:+,-,*,/,//
Variables
Estructuras de
Literales Relacionales
Control
Contantes <.>,=,>+,<=
Booleanos
Preciso
Secuencial Debe ser Algoritmo ejecuta Sentencias
Finito
asigna
son
toma Son de
Genera
compuestas
Datos de asignacion
son son
entrada Datos de
salida
simples compuestos
Por ejemplo Por ejemplo
Saldo=78000;
Retiro=10000;
son Saldo=78000 Nuevo_saldo=saldo-
Tales como
retiro;
la circunsferencia
El radio de la
circunferenccia
VEectores
Mnatrices
Cat dena de
caeracteres
r
o Fuente: Autoria propia
s
D
e
c
i
m
a
l
e
s
B
o
o
l
e
a
n
o
A
l
f
a
b
e
t
i
c
o
s
15
2. Java
Recuerde que: en Java, todo valor tiene un tipo (type). Por ejemplo, el número 13 tiene
el tipo int (abreviación de integer, entero). “Hola Mundo” tiene tipo String y elobjeto
System.out tiene el tipo PrintStream. El tipo de dato dice qué operación se va llevar a
cabo con esos valores. Por ejemplo, se puede calcular la suma o multiplicación de dos
enteros o se puede invocar el método println sobre cualquier objeto de tipo PrintStream.
Como bien se sabe un entero es un número sin decimales, por el contrario, un número
de tipo flotante es un número con parte decimal.
Con el fin de procesar números con parte decimal se debe utilizar el tipo “double”, lo
que en la tabla anterior aparece como número de punto flotante con doble precisión.
16
Cabe destacar que en Java los números no son objetos y no tienen métodos. Sin
embargo, pueden combinar variables, literales, operadores y/o métodos generando con
todos ellos una expresión como (x + y) * 2
2.2 Variables
Las variables se pueden usar en lugar del valor que ellas almacenan, es decir:
No puede usar una variable tipo carácter (String) para almacenar un entero. El
compilador verifica esta falta de coincidencia en los tipos para evitar errores en el
momento de ejecución.
Cuando asigne el nombre a una variable debe escoger un nombre que de significado
al propósito de dicha variable, use nombres nemotécnicos.
Recomendaciones
Escoja nombres descriptivos para las variables. En algebra usualmente se usa variables
como p,x,y. Es fácil caer en la tentación de usar estos nombres para definir variables,
pero antes considere lo siguiente:
int A = a * h;
compare con la siguiente instrucción
int Area = ancho * alto;
Observando el anterior ejemplo las ventajas saltan a la vista, usando nemotécnicos hace
más fácil el entendimiento del código. La palabra “área” expresa exactamente cuál es
la operación por efectuarse. Por el contrario, la letra “A” es un dato que porsí solo no
dice nada.
Recuerde que: en Java una variable tiene que ser previamente definida antes de
ser usada, de otra manera Java envía un error al momento de compilación.
El signo igual (=) es el que se utiliza como operador de asignación en Java, este siempre
es utilizado para asignar valores a variables o constantes. Por ejemplo:
Una vez definidas las variables, sus valores también pueden ser cambiados
posteriormente, pero recuerde que deben ser variables del mismo tipo. En el caso
anterior a la variable “ancho” siempre se le va a asignar un valor entero. Así mismo
a la variable “saludo” siempre se le va a asignar una cadena de caracteres.
Java genera un error al usar una variable que no ha tenido un valor previamente
asignado, por ejemplo:
int alto;
ancho = alto; // ERROR porque no ha inicializado previamente la
variable alto.
18
Continuando con el ejemplo, podemos ver lo siguiente:
int alto =
30; int
ancho =
alto;
Ahora bien, el lado derecho del símbolo = puede ser una expresión matemática,
así:
ancho = alto + 10;
Es importante destacar que: los operadores de suma (+) y resta (-) pueden ser
operadores unarios o binarios. Por otra parte, los operadores aritméticos como la
multiplicación (*), división (/), y modulo (%) son estrictamente binarios por lo quedeben
tener dos operandos.
Cuando en una expresión se usa más de un operador aritmético, Java usa las reglas
de precedencia para determinar el orden en el cual las operaciones serán
19
ejecutadas para determinar el valor de la expresión. El orden de precedencia de los
operadores aritméticos es:
Primero, la multiplicación (*), la división (/), y el modulo (%) Segundo, la suma (+) y la
resta (-)
3*7-6+2*5/4+6
Significa lo siguiente:
(((3 * 7) - 6) + ((2 * 5) / 4 )) + 6
= ((21 - 6) + (10 / 4)) + 6 (Evalúa *)
= ((21 - 6) + 2) + 6 (Evalúa /, observe que es una división de enteros)
= (15 + 2) + 6 (Evalúa -)
= 17 + 6 (Evalúa primero +)
= 23 (Evalúa +)
Una expresión que tiene un valor de verdadero o falso se llama expresión lógica
(Boolean). Los valores verdadero o falso (True, False) se llaman valores lógicos.Suponga
que i y j son enteros, en la siguiente expresión lógica:
i>j
Los operadores lógicos manejan solamente operandos que implican lógica yproducen
como resultado solamente valores lógicos. El operador ! es unario, sólo tiene un
operando. Los operadores && y || son binarios.
En la siguiente tabla (Tabla 4), se indica el uso del operador !, !True es falso y
!False es verdadero. Colocando ! al frente de una expresión lógica invierte el
valor de esa expresión lógica.
Ejemplo. !(6 <= 7) su valor es Falso. Porque 6 es <= 7 luego es Verdadero, pero el
signo (!) invierte el valor.
Ahora vamos a analizar el operador && (Y). En la Tabla 5 se resume la tabla de la verdad
de este operador. La expresión 1 && expresión 2 es Verdadera, si y sólo si expresión 1
y expresión 2 son verdaderas de lo contrario expresión 1 y expresión 2se evalúan
como Falso.
21
Tabla 5. Tabla de verdad del Operador "y"
Para trabajar con expresiones lógicas complejas, se requiere de un esquema que priorice
para poder determinar cuál operador se evalúa primero. Dado que una expresión puede
contener operadores aritméticos, de relación, lógicos como la que se presenta a
continuación 5 + 3 <= 9 && 2 > 3, se requiere un orden para establecer su valor.
Haciendo uso de las reglas expuestas en tabla No.7, en una expresión los operadores
de relación y lógicos son evaluados de izquierda a derecha. En consecuencia, la
asociatividad de estos operadores se dice que va de izquierda a derecha. Se puede
insertar paréntesis en la expresión con el fin de facilitar la lectura de la expresión o
modificar su orden de evaluación.
Estructura de selección IF
En la Figura 3 se puede ver el diagrama de flujo para la estructura IF; ahí se muestra
que solo si la condición se cumple se ejecuta una sentencia. Si la condiciónno se
cumple no sucede nada.
A continuación, se puede ver la sintaxis para escribir este tipo de estructura en Java.
If (condición) {
sentencia;
}
Un banco necesita enviarles una nota a los clientes cuando el saldo en su cuenta
24
este en rojo o por debajo del saldo mínimo requerido. Suponemos que el saldo mínimo
es 1000. A continuación, la solución:
If anidados
En el anterior ejemplo se puede ver que hay varios if, uno anidado dentro del otro. Vemos
que si la primera condición “saldo >= 50000” no se cumple, se genera otro if
“saldo>=25000”, si este no se cumple, se genera otro if “saldo>=1000” y solo para
esta última condición se procesan dos acciones diferentes.
Estructura de repetición While
While (condición)
Statement
int i = 0; // línea 1
while (i <= 20) { // línea 2
System.out.println ( i + “ “); // línea 3
i= i + 5; // línea 4
}
Algunas veces se necesita ejecutar el cuerpo del ciclo por lo menos una vez y
27
luego ejecutar la condición del ciclo después de que el cuerpo fue ejecutado. El
ciclo do … while sirve para este propósito.
La sintaxis es la siguiente:
do
statement
while (logical expression)
El cuerpo del ciclo (statement) debe ir cerrado entre corchetes { }. En Java la palabra
do es reservada y condición (logical expression) es la que chequea la condición del
ciclo. A continuación en la Figura 9 se presenta el diagrama de flujodel ciclo do …
while.
El cuerpo del ciclo (statement) se ejecuta primero, entonces luego se evalúa la condición
(logical expression), si es verdadera el cuerpo se ejecuta nuevamente.Siempre que la
condición sea verdadera se ejecutará el cuerpo del ciclo. Para evitar un ciclo infinito
debe asegurarse que dentro del cuerpo del ciclo haya unainstrucción que haga que la
condición del ciclo se vuelva falsa para asegurarse una salida adecuada del ciclo.
Ejemplo de la estructura de repetición do … while:
i = 0;
do {
System.out.println ( i + “ “); i = i + 5;
}
while ( i <= 20)
0 5 10 15 20
Debe dar clic sobre la X de la esquina superior izquierda donde dice Welcome.
A continuación, le aparece el entorno para trabajar en Java.
Luego digite el nombre del proyecto, para este caso puede ser Saludo. En la
siguiente gráfica lo puede observar. Y por último seleccione el botón finish.
Ingrese en Name MiPrimerPrograma y marque la opción public static void main, por
último, oprima el botón Finish. La gráfica le presenta lo mencionado anteriormente.
31
Como puede observar el editor de Eclipse le ayuda a incluir unas líneas de código por
Ud. con el fin de aumentar su productividad. Igualmente por defecto el editor maneja
diferentes colores para las distintas partes del programa que está codificando.
Es muy útil durante la codificación numerar las líneas de código para ello sigala
siguiente secuencia Window/Preferences/General/Editors/Text Editors y en esa pantalla
seleccione la opción show line numbers oprima el botón apply y luego el botón Ok.
32
Por último, se necesita compilar el programa. Para ello debe dar clic sobre la opción
Run. Eclipse le muestra la siguiente pantalla y Ud. debe hacer clic sobre el botón OK.
• Define un método llamado main. Un método contiene una serie de instrucciones para
llevar a cabo una tarea particular. Toda aplicación en Java debe tener un método
main.
• El parámetro String [ ] args es una parte requerida del método main. La palabra
reservada static indica que el método main no funciona como un objeto. En Java
el método main siempre debe ser estático (static) porque éste comienza a correr
sin haber creado objetos antes.
• Como se puede ver en la Figura 10 dentro del método main están las instrucciones
que se requieren para ejecutar este primer programa.
• La primera línea dentro del método main es un comentario: // Muestra un saludo
• en la ventana de la consola. Este comentario es solamente para beneficio del
• lector del programa, para explicar más en detalle de qué se trata lo que hace
la siguiente instrucción, además para darle más claridad al programa. Cualquier texto
precedido por // hasta el final de la línea es ignorado por el compilador.
• Las instrucciones o sentencias dentro del cuerpo del método main, las sentencias
que están dentro de los corchetes { }, son ejecutadas una a una. Cada
34
sentencia es
• finalizada con punto y coma (;). El método de este programa contiene una
sola
• sentencia, como se ve en el siguiente punto.
System.out.println("Hola mundo");
Esta instrucción imprime una línea de texto, textualmente “Hola Mundo”. Sin embargo,
hay varias formas en que un programa puede enviar ese texto: a una ventana, a un
archivo, a una red de computadores o a otra parte del mundo. Se necesita especificar
que el destino es System output esto es la consola.
En Java la consola se representa por un objeto llamado out. Así como se necesitó
colocar el método main dentro de una clase, MiPrimerPrograma, los diseñadores de las
librerías de Java necesitaron colocar el objeto out dentro de una clase. Lo colocaron
dentro de la clase System, la cual contiene una cantidad de objetos y clases con
funcionalidades para tener acceso a los recursos de la computadora. Para usar el objeto
out en la clase System se debe referir a este como System.out.
Para usar un objeto, como System.out, usted debe especificar lo que quiere quehaga.
En el caso del ejemplo, imprimir una línea de texto. El método println lleva a cabo esta
tarea. No se necesita implementar éste método, los programadores que implementaron
las librerías de Java ya lo hicieron previamente, pero lo único quese tiene que
hacer es invocarlo.
En cualquier parte del programa que necesite llamar a un método en Java, se necesitan
especificar tres cosas:
1. El objeto que quiere usar (en este caso, System.out). localice el objeto
out en la clase System
2. El nombre del método que quiere usar (en este caso, println). Quiere decir “aplique
el método println a ese objeto”.
3. Un par de paréntesis, que contengan la información que el método necesita
(en este caso, “Hola Mundo”). El término técnico para referirse a estos elementos
se llama
parámetros del método. Tenga en cuenta que los puntos en
System.out.println
tienen diferente significado.
Hay que tener en cuenta que cuando se trata de imprimir una cadena de caracteres,
este debe ir entre comillas. De lo contrario el compilador interpretaríaesta cadena de
caracteres como el nombre de una variable o una palabra reservada del lenguaje de
programación. En el caso de los valores numéricos estos son reconocidos como
tal, ellos solo van entre los paréntesis. A continuación tres ejemplos ilustrando lo
antes dicho:
System.out.println (“Hola”);
Hola
System.out.println (“Mundo);
System.out.println (3 + 4);
35
7
Ejemplo 3. Aquí se usa el método print. Como se puede apreciar este método no deja
una línea entre la ejecución de la primera línea y la segunda, por el contrario enlaza los
dos resultados produciendo una sola línea.
System.out.print (“00”);
System.out.print (3+4);
Por otro lado, existen muchos más ambientes integrados de desarrollo (IDEs) para
programar en lenguaje Java, algunos son NetBeans, Apache Netbeans, BlueJ, Visual
Studio Code ente otros.
3. JavaScript
Otra cosa muy importante que hay que tener en cuenta es que JavaScript no es
Java, estos son dos lenguajes de programación diferentes. El primero es un lenguaje que
no necesita ser compilado, mientras que el segundo necesita generar un programa
objeto para su ejecución. También, para utilizar Java se necesita de una plataforma
robusta, lo que no pasa con JavaScript, cualquier persona en su computador puede usar
esta herramienta.
Particularmente se evidencian los tipos de datos, los cuales son dinámicos, cadena de
caracteres (string), numéricos, booleanos o lógicos, y arreglos.
Observe que: en Java los datos son dinámicos. JavaScript puede cambiar el tipo de dato
de numérico a alfabético en un mismo programa.
3.1 Operadores
Permiten comparar un valor con otro. Por ejemplo, si son iguales, diferentes, el uno
es mayor que el otro, etc. Seguidamente, en la Tabla 8, están especificados los
operadores de comparación que usa JavaScript. Estos operadores son iguales a
los que usa Java.
Hay que tener en cuenta que al realizar operaciones complejas donde se involucran
más de dos operandos es necesario entender la precedencia de éstos con el fin de
obtener los resultados esperados.
37
Tabla 9. Operadores Aritméticos en JavaScript
Conviene destacar que el signo (+) puede efectuar operaciones con números enteros
y flotantes; igualmente con cadena de caracteres (string). Este último se comporta como
la suma de conjuntos.
En las Tablas 4, 5 y 6 de este documento se pueden ver las tablas que contienen
las tablas de verdad para los anteriores tres operadores.
38
Observe que: en la Tabla 7 se puede ver la Precedencia de los todos los operadores
antes vistos. Los operadores en JavaScript tienen el mismo comportamiento que
aquellos para Java.
Asumimos que x es 2 y y es 2
Se utiliza esta estructura cuando solo hay una serie de pasos a ejecutarse cuando
una condición se cumple o es verdadera (“true”). Veamos la sintaxis:
If (condición) {
Sentencia o conjunto de instrucciones para cuando la condición es verdadera
}
Ejemplos de IF
EJEMPLO 1
var x="";
var time=new Date().getHours(); if (time<=12) {
x="Buenos días";
}
IF … EL SE
Veamos en JavaScript:
If (condición) {
Sentencia 1 cuando la condición se cumple o es verdadera
} else {
Sentencia 2 cuando la condición no se cumple
}
3.2.1.1 Ejemplos para IF … ELSE
EJEMPLO 1
Var theYear;
Var theYear = 2010;
If (theYear % 4 == 0) { diasFeb = 28;
} else {
diasFeb = 29;
}
Conviene destacar que la variable theYear fue dividida por cuatro, si el año es divisible
por 4 (residuo = 0) entonces Febrero tiene 29 días, sino (else) Febrero tiene 28 días.
EJEMPLO 2
Ejemplos de Else…if
Ejemplo 1
De acuerdo a una edad dada, clasificar la persona en un grupo de edad. Para este
ejemplo se asume como parámetro de entrada la edad de “52”.
var grupoEdad;
var laEdad = 52;
If (laEdad <= 18) { grupoEdad = “adolescente”;
} else if (laEdad <= 30) {
grupoEdad = “entre 18 y 30”;
} else if (laEdad <= 40) {
grupoEdad = “ entre 40 y 50”;
} else {
grupoEdad = “mayor que 50”;
}
Notar que ninguna de las condiciones se cumple por lo que el programa envía elcontrol
al ultimo else, lo que permite la asignación “mayor que 50” a la variable grupoEdad.
Switch
Notar que después de cada condición que se cumple hay un break; para nuestro
ejemplo, tomando como base la edad de 18 años, la primera condición es la que se
cumple y envía el control al final del programa; al terminar, la variable grupoEdad
contiene la palabra “adolescente”.
3.3 Estructuras de Repetición
Generalmente las estructuras de repetición son usadas cuando una instrucción o bloque
de instrucciones tienen que ser ejecutadas varias veces hasta que una condición se
cumpla. Por ejemplo, estas estructuras son bastante utilizadas para leer datos en un
vector o una matriz.
El ciclo for ejecuta una serie de instrucciones hasta que cierta condición se cumpla.
Básicamente el ciclo usa un contador que se inicializa al comenzar el ciclo y que en cada
pasada se incrementa en uno. El proceso es ejecutado hasta que se exceda el valor
máximo. Veamos la sintaxis:
Recuerde que: hay que dar un valor inicial y especificar el valor máximo. i++ quiere
decir que i se incrementa en 1 cada vez comenzando por 1. En la primera vuelta del
ciclo i es 1, en la segunda vuelta del ciclo, i comienza en 2 y así sucesivamente hasta
exceder el valor máximo.
3.2.1.2 Ejemplo para el ciclo for:
En este ejemplo el ciclo for se ejecuta cinco veces imprimiendo el número cadavez.
var i = 0;
for (i=0; i<=5; i++);
{
document.write(“el número es: “ +i); document.write(“<br/>”);
}
Esta es la salida después de ejecutarse el programa: El número es: 1
El número es: 2
El número es: 3 El número es: 4 El número es: 5
41
Ciclo Mientras (While)
El bucle while es lo mismo que el bucle for, solo que el primero no maneja el contador
automáticamente. El contador tiene que ser manejado dentro de la sentencia que
ejecuta el ciclo, e igual que el for, el ciclo se ejecuta hasta que una condición no sea
válida. La ventaja que tiene el while sobre el for es que su escritura es más simple.
var i=starValue;
while (i <= maxValue)
{
Statement[s] inside loop; (bloque de instrucciones)
}
var i = 2;
El ciclo do-while se diferencia del while porque el primero ejecuta una serie de
instrucciones antes que la condición se pueda validar. Por esta razón este ciclo se
ejecuta al menos una vez. Veamos su sintaxis:
do
{
statements
} while (condition)
3.3.3.1 Ejemplos del bucle DO-WHILE
var i = 1; do
{
document.write(“el número es: “ + i = “<br>”); i++;
}
while (i<=5)
Note que este caso es exactamente igual al caso en el que se usa solo el while.
Pero qué pasa si la variable se inicializa con el número 6? Con el do-while el
programa se ejecuta una sola vez imprimiendo “el número es: 6” y después valida
la condición y termina porque 6 no es menor o igual a 5. Por el contrario, en el ciclo
while el programa no hace nada desde que la condición no es verdadera.
42
Trabajando con Arreglos
myArray.length;
3.4.1.1 Ejemplos de Vectores
Onerror
Es importante saber que cualquier elemento en una página web tiene eventos que
pueden disparar funciones de JavaScript. No es la competencia del presente modulo
analizar las funciones ya que estas serán vistas en el Modulo dos, pero con el fin
de mostrar el uso de este comando se mostrará la creación de una deellas. A
continuación, se muestra un script empleando el evento onerror:
<script>
onerror = errorHandler document.writ(“Bienvenido”)
Function errorHandler (message, url, line)
{
out = “disculpe, pero un error fue encontrado.\n\n”; out += “error: “ + message + “\n”;
out += “URL:” + url + “\n”;
out += “line:” + line + “\n\n”;
out += “presione ok para continuar.\n\n”; alert(out)
return true;
}
</script>
La primera línea del script muestra que el evento onerror va a usar la función
errorHandler la cual se definió posteriormente. La función toma tres parámetros de
entrada (message, url, y line number) y posteriormente lo muestra en una ventana
pop-up describiendo el tipo de error que para este caso fue un problema de sintaxis en
la línea denotada en amarillo.
Try … Catch
Este tipo de evento no permite capturar errores de sintaxis, pero son más flexibles
que el evento onerror desde que se pueden manejar excepciones o errores que se
comenten durante la ejecución de un programa.
<html>
<head><title>Try/Catch</title>
<script type="text/javascript">
Try :// este bloque contiene qué va a hacer analizado como possible error
{
alert("Current balance is $:" + get_balance());
4. Ejemplos
int i = 0;
boolean hallado = false;
int i = 0; int j = 0;
boolean hallado = false;
buscar:
for ( ; i < arregloDeInts.length; i++) {
for (j = 0; j < arregloDeInts[i].length; j++) { if (arregloDeInts[i][j] == buscado) { hallado =
true;
break buscar;
}
}
}
if (hallado) {
System.out.println("Se halló " + buscado + " en " + i + ", " + j);
} else {
System.out.println("No se halló " + buscado);
}
}
}
1. Se necesita un editor donde pueda escribir las instrucciones, este puede ser
cualquier procesador de texto, por ejemplo, en Windows, este puede ser WordPad y
en Mac, este puede ser MacText.
2. Escoger un browser o navegador de internet, este puede ser el queusualmente
se usa para acceder al internet. Se recomienda usar versiones de Internet Explorer
mayores a 5.0, ya que los ejercicios proveídos en este documento no corren en browser
con versiones más viejas.
3. Todo lo que se escribe en el editor se debe grabar como: anyName.html, siendo
este un archivo tipo texto. Posteriormente se debe ir al browser y abrir elarchivo.
Se recomienda que el browser este “offline”; así, el enfoque es únicamentecon la
prueba de los ejercicios aquí planteados.
A continuación, se mostrarán las etiquetas del HTML básicas y necesarias para entender
los problemas aquí propuestos.
En la primera línea del ejemplo mostrado en la Figura 12, mediante la palabra DOCTYPE
se especifica el standard contra el cual se debe validar el documento, en este caso
usamos HTML 4.01.
En esta parte del documento se define, por ejemplo, el título, variables, funciones,
etc.
En el ejemplo (Figura 13) dentro de la cabecera se encuentran otros pares de etiquetas
que son:
Un bloque de JavaScript puede ir en cualquier parte del html, depende para qué
se quiere usar. Por ejemplo, en la Figura 13, las Instrucciones de JavaScript van dentro
del cuerpo del html. Podemos afirmar que JavaScript puede ser usado para:
<!DOCTYPE HTML
HTML
<html lang="EN">
<head>
</head>
<body> Mi primer Programa
</body>
48
La línea <script type=”text/javascript”>, le está indicando al browser que el texto escrito
dentro de las etiquetas <script> y </script> debe ser tratado como de javaScript.
Adicionalmente, se agrego un mensaje con doble slash (//). Estos mensajes son solo
usados para hacer aclaraciones al programa, pero no son vistos al momento de su
ejecución en el browser y solo se puede escribir una línea. Otro modo de escribir
mensajes dentro de un programa es escribir el mensaje en más de una línea como se
especifica posteriormente:
/* esto es
un comentario escrito en más de una línea*/
<script language=”JavaScript”>
</script>
2. Src (fuente): Este atributo especifica el nombre del archivo de javaScript cuando
el programa fue escrito en un archivo externo. Por ejemplo la parte de Javascript fue
escrita y grabada en un archivo nombreArchivo.js
<script language=”JavaScript” type=”text/javascript” src=nombreArchivo.js>
</script>
Todo programa de JavaScript puede ser escrito en un editor de texto y salvado bajo
cualquier nombre con una extensión .html. Recuerde que el programa de JavaScript esta
embebido dentro de un HTML. Para ejecutar los programas hechos durante este módulo
se puede abrir el archivo en un explorador internet.
Se recomienda al construir paginas web que tengan interacción con algoritmos escritos
en el lenguaje Java Script se construyan de esta manera.
49
Glosario
Expresión lógica: Es aquella expresión que usa los conectores lógicos como Y (AND),
OR(O), para hacer comparaciones.
Estructura de
Datos. Una Perspectiva en C. Cap.6. EE.UU.: McGraw-Hill. Recuperado de
http://novella.mhhe.com/sites/dl/free/844814077x/619434/A06.pdf
Nixon, R. (2012). PHP, MySQL, JavaScript, & CSS (2ª. Ed.), pp.318-
320. Programming Fundamentals (7a. Ed.), cap.8-12. Indianapolis,
EE.UU.: Wiley
Publishing Inc.