You are on page 1of 76

DESARROLLO WEB

EN ENTORNO SERVIDOR

CAPTULO 3:
Programacin basada en lenguajes de marcas con
cdigo embebido
Marcos Lpez Sanz
Juan Manuel Vara Mesa
Jenifer Verde Marn
Diana Marcela Snchez Fquene
Jess Javier Jimnez Hernndez
Valeria de Castro Martnez
Sentencias condicionales

Son estructuras de control que permiten decidir


el flujo de ejecucin de un programa, es decir, el
orden en el que las instrucciones de un
programa se van ejecutar.

Tipos:
o Sentencias if.
o Sentencias switch.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 2
Sentencias If

Este tipo de estructuras de control condicionales


definen dos flujos de ejecucin dependiendo de
si se cumple o no la condicin establecida por el
programador.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 3
Sentencias If

La sintaxis es la siguiente:
o Sentencia If.
PHP y JSP:
if (condicin){
instrucciones;
}

ASP:
if (condicin) then
instrucciones
end if

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 4
Sentencias If

o Sentencia If-else.
PHP y JSP:
if (condicin){
instrucciones1;
}else{
instrucciones2;
}

ASP:
if (condicin) then
instrucciones1
else
instrucciones2
end if

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 5
Sentencias If

Los if anidados permiten evaluar varias


condiciones previas antes de ejecutar las
instrucciones correspondientes.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 6
Sentencias If

La sintaxis es la siguiente:
o PHP:
if (condicin1){
instrucciones1;
}elseif (condicin2){
instrucciones2;
}else{
instrucciones3;
}
o PHP y JSP:
if (condicin1){
instrucciones1;
}else if (condicin2){
instrucciones2;
}else{
instrucciones3;
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 7
Sentencias If

o ASP:
if (condicin1) then
instrucciones1
elseif (condicin2) then
instrucciones2
else
instrucciones3
end if

if (condicin1) then
instrucciones1
else
if (condicin2) then
instrucciones2
else
instrucciones3
end if
end if

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 8
Sentencias Switch

Estas sentencias se usan cuando dependiendo


del valor que toma una variable o expresin, se
necesita que se ejecute un conjunto de
instrucciones distintas para cada uno de los
valores que pueda tomar.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 9
Sentencias Switch

Comportamiento:
1. Se calcula el valor de la expresin.
2. Se compara dicho valor con cada uno de los casos.
1) Si coincide con un caso se ejecutan las instrucciones
contenidas dentro del mismo.
2) Si no coincide con ningn caso se ejecutan las
instrucciones definidas en el caso por defecto si es que
est definido (el caso por defecto es opcional).

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 10
Sentencias Switch

Comportamiento (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 11
Sentencias Switch

Sintaxis:
o PHP y JSP:
switch (expresin){
case valor1: instrucciones1; break;
case valor2: instrucciones2; break;
...
case valorN: instruccionesN; break;
[default: instruccionesN+1;]
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 12
Sentencias Switch

Sintaxis (continuacin):
o ASP:
select case (expresin)
case valor1
instrucciones1
case valor2
instrucciones2
...
case valorN
instruccionesN
[case else
instruccionesN+1]
end select

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 13
Bucles

Este tipo de sentencias se utilizan para ejecutar de


forma reiterativa una instruccin o grupo de
instrucciones.
Tipos:
o While o Do WhileLoop.
o Do -While o Do LoopWhile.
o Do UntilLoop.
o Do LoopUntil.
o For o ForNext.
o Foreach.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 14
While o Do WhileLoop

Este tipo de estructuras permiten ejecutar un


nmero indeterminado de veces una instruccin
o grupo de instrucciones, mientras se cumpla la
condicin.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 15
While o Do WhileLoop

Comportamiento:
o En cada iteracin del bucle se evala la condicin y si
esta es verdadera pasan a ejecutarse las
instrucciones contenidas en el cuerpo del bucle. El
bucle termina cuando el resultado de evaluar la
condicin es falso, es decir, cuando la condicin ha
dejado de cumplirse.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 16
While o Do WhileLoop

Comportamiento (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 17
While o Do WhileLoop

Sintaxis:
o PHP y JSP:
while (condicin){
instrucciones;
}

o ASP:
do while (condicin)
instrucciones
loop

while (condicin)
instrucciones
wend

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 18
While o Do WhileLoop

Sintaxis:
o ASP ofrece dos formas distintas de definir este bucle:
1) La primera es la ms utilizada y se refiere a la forma nueva
de definir este bucle.
2) La segunda es un vestigio de los inicios de Basic.
Actualmente los intrpretes soportan tambin la segunda
forma de definir este bucle, para los programadores
reticentes a utilizar la nueva forma, pero es posible que en
el futuro los intrpretes dejen de contemplarlo.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 19
Do-While o Do LoopWhile

Este bucle se ejecuta un nmero indeterminado


de veces hasta que el resultado de evaluar la
condicin es falsa.
Caractersticas:
o Siempre se ejecuta al menos una vez se cumpla o no
la condicin.
o la evaluacin de la condicin se realiza al final de
cada iteracin y no al principio.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 20
Do-While o Do LoopWhile

Comportamiento:

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 21
Do-While o Do LoopWhile

Sintaxis:
o PHP y JSP:
do{
instrucciones;
}while (condicin);

o ASP:
do
instrucciones
loop while (condicin)

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 22
Bucle Do UntilLoop

Comportamiento:
o La condicin se evala al principio de cada iteracin.
Si la condicin no se cumple se ejecuta las instrucciones que
contiene.
Si la condicin se cumple (es verdadera) el bucle finaliza.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 23
Bucle Do UntilLoop

Sintaxis:
o ASP:
do until (condicin)
instrucciones
loop

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 24
Bucle Do LoopUntil

Comportamiento:
o Se ejecutan las instrucciones hasta que la condicin
se cumple.
o La condicin se evala al final de cada iteracin del
bucle, lo que significa que este bucle se ejecuta al
menos una vez.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 25
Bucle Do LoopUntil

Sintaxis:
o ASP:
do
instrucciones
loop until (condicin)

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 26
Bucle For o ForNext

A diferencia del resto de bucles este tipo de


bucles se ejecuta un nmero determinado de
veces. Al igual que el resto de bucles permite
ejecutar un conjunto de instrucciones de forma
repetitiva.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 27
Bucle For o ForNext

Comportamiento:
1. Se inicializa el contador, que controla el nmero de
veces que se ejecuta el bucle.
2. Se evala la condicin :
o Si es verdadera se ejecuta el contenido del bucle y se
actualiza el contador.
o Si es falsa, el bucle finaliza siguiendo con la ejecucin de
las instrucciones siguientes al bucle.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 28
Bucle For o ForNext

Comportamiento (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 29
Bucle For o ForNext

Sintaxis:
o PHP y JSP:
for([contador=valorInicial];[condicin];[incremento]){
instrucciones;
}

o ASP:
for contador=valorInicial to valorFinal [step incremento]
instrucciones
next

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 30
Bucle Foreach

Proporciona una forma sencilla de iterar sobre


los elementos de un array o matrices.
Sintaxis:
o PHP:
foreach(variableArray as variableValor){
instrucciones;
}

foreach(variableArray as variableIndice => variableValor){


instrucciones;
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 31
Bucle Foreach

Sintaxis (continuacin):
o ASP:
for each variableValor in variableArray
instrucciones
next

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 32
Sentencia Break

Se utiliza para interrumpir la ejecucin de un


bucle.

Sintaxis:
o ASP:
ForNext: exit for
Do WhileLoop, Do UntilLoop, DoLoop While o
DoLoop Until: exit do
WhileWend: exit while

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 33
Sentencia Break

Sintaxis (continuacin):
o PHP: break [nmero];
o JSP: break [etiqueta];

Ejemplo (JSP):
etiqueta1:
while(condicin1){
instrucciones;
if(condicin2){
break etiqueta1;
}
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 34
Sentencia Continue

Esta sentencia se utiliza para saltar el resto de


la iteracin de un bucle y continuar con la
evaluacin de la condicin y la siguiente
iteracin.

Sintaxis:
o PHP: continue [nmero];
o JSP: continue [etiqueta];

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 35
Arrays

Los arrays o matrices son estructuras que permiten el


almacenamiento de un conjunto de datos.

Definicin: un array o matriz es un conjunto ordenado de


elementos identificados por un ndice (la posicin del elemento
dentro de esta coleccin ordenada), de modo que en cada
posicin marcada por un ndice el array contiene un valor.

La longitud del array se modifica de forma dinmica siempre que


aadimos un nuevo elemento.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 36
Arrays

Sintaxis (declaracin):
o PHP: nombreVariable=array(clave => valor,);

o ASP: Dim nombreVariable(tamao)

o JSP:
tipo[] nombreVariable = new tipo [tamao];

tipo[] nombreVariable = {valor1,valor2,,valorN};

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 37
Arrays

Sintaxis (inicializacin):
o PHP: array(clave => array(),);

o ASP: Dim nombreVariable(n filas,n columnas)

o JSP:
tipo[][] nombreVariable = new tipo [nfilas][ncolumnas];

tipo [][] nombreVariable = {valor1.1, valor1.2, ,


valor1.N},,{valorN.1,valorN.2,,valorN.N}};

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 38
Arrays

Ejemplo (arrays):
o PHP: $miarray=array(0=>2,1=>4);
o ASP:
Dim miarray(1)
miarray(0)=2
miarray(1)=4

o JSP:
int[] miarray= new int [2];
miarray[0]=2;
miarray[1]=4;

int[] miarray= {2,4};

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 39
Arrays

Ejemplo (matrices):
o PHP: mimatriz(0 =>array(0=>2,1=>4),1 =>array(0=>1,1=>3));
o ASP:
Dim mimatriz(1,1)
mimatriz(0)(0)=2
mimatriz(0)(1)=4
mimatriz(1)(0)=1
mimatriz(1)(1)=3
o JSP:
int[][] mimatriz = new int [2][2];
mimatriz[0][0]=2;
mimatriz[0][1]=4;
mimatriz[1][0]=1;
mimatriz[1][1]=3;

int [][] mimatriz = {{2,4},{1,3}};

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 40
Arrays

Sintaxis (acceso a valores de una array):


o PHP: $miarray[0]

o JSP: miarray[0]

o ASP: miarray(0)

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 41
Arrays

Sintaxis (recorrer un array):


o PHP:
foreach($miarray as $valor){
echo $valor;
}
o ASP:
for each valor in miarray
response.write(valor)
next
o JSP:
for(i=0;i<miarray.length;i++){
out.println(miarray[i]);
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 42
Algoritmos de bsqueda

Son algoritmos que sirven para buscar un valor


dentro de un array.

o Bsqueda secuencial:
Consiste en comparar cada elemento del array con el
elemento que pretendemos buscar.

Termina cuando encontramos el elemento que buscbamos


o cuando llegamos al final del array.

Si encuentra el elemento se devuelve la posicin del array y


en el caso contrario se devuelve un cdigo de error.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 43
Algoritmos de bsqueda

o Bsqueda binaria:

Se utiliza en arrays ordenados.

Se compara el elemento que divide el array en dos mitades,


es decir el del centro, con el elemento que buscamos, si no
coinciden se determina en que mitad del array se encuentra
para buscar dentro de ella, descartando la otra mitad.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 44
Algoritmos de bsqueda

o Bsqueda binaria (continuacin):

Nota: Las imgenes referentes a los algoritmos de


ordenacin y bsqueda en arrays estn basadas en
(Joyanes & Zahonero, 2004).

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 45
Algoritmos de bsqueda

o Bsqueda binaria (continuacin):


PHP:
array_search(variable,valor);
$a=array(0=> blue, 1=> green);
$b=array_search($a,green);

JSP:
binarySearch(variable,valor);
String[] a={blue,green};
int b=binarySearch(a,green);

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 46
Algoritmos de ordenacin

Son algoritmos que sirven para ordenar un


array.
o Insercin directa: se basa en la insercin de los elementos
de manera ordenada en la posicin que les corresponde.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 47
Algoritmos de ordenacin

o Seleccin directa: selecciona el elemento ms pequeo de


todo el array y se intercambia con el primer elemento. Se
busca el siguiente ms pequeo y se intercambia por el
segundo y as sucesivamente hasta que quede slo un
elemento y por lo tanto la lista est ordenada.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 48
Algoritmos de ordenacin

o Seleccin directa (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 49
Algoritmos de ordenacin

o Intercambio:
Ordena un array de manera ascendente.
Se basa en la lectura sucesiva del array comparando el
elemento de la posicin 0 de la lista con el resto, si el
elemento de la posicin 0 del array es mayor que el otro
elemento con el que se le compara se intercambian. Una vez
que hemos comparado el primer elemento con todos, se
hace lo mismo con el resto de posiciones hasta conseguir
ordenar el array.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 50
Algoritmos de ordenacin

o Intercambio (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 51
Algoritmos de ordenacin

o Intercambio (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 52
Algoritmos de ordenacin

o Intercambio (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 53
Algoritmos de ordenacin

o Burbuja: consiste en el intercambio entre pares de


elementos adyacentes.
Si un elemento no est ordenado respecto al siguiente se
intercambian la posicin.
Se realizan sucesivas iteraciones hasta que el array queda
ordenado.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 54
Algoritmos de ordenacin

o Burbuja (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 55
Algoritmos de ordenacin

o Burbuja (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 56
Algoritmos de ordenacin

o QuickSort: divide el array en dos partes separadas por


elemento central, llamado pivote.
1. Elegir el pivote (ej. el primer elemento).
2. Dividir el array de tal manera que los elementos menores
que el pivote formen parte de la sublista izquierda y los
que sean mayores se encuentren en la sublista derecha.
3. Ordenar cada sublista de forma independiente aplicando
este mismo algoritmo.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 57
Algoritmos de ordenacin

o QuickSort (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 58
Algoritmos de ordenacin

o Mergesort:
Parte de dos array ordenados.
El objetivo es obtener un array ordenado que contenga la
informacin de ambos.
Se utiliza un array nuevo que tenga como tamao la suma
del tamao de los dos arrays. Despus se van comparando
los elementos de cada array y se inserta en el nuevo array el
menor de los dos.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 59
Algoritmos de ordenacin

o Mergesort (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 60
Algoritmos de ordenacin

o Mergesort (continuacin):

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 61
Algoritmos de ordenacin

o HeapSort: algoritmo basado en rboles binarios. Para


ordenar un array de forma ascendente debemos cumplir la
condicin de que un nodo padre no puede ser menor a un
nodo hijo.
o PHP:
Ordenar de menor a mayor: sort(variable);
Ordenar de mayor a menor: rsort(variable);
Ejemplo:
$a=array(0=> 21,1=> 8,2=> 9);
rsort($a);
sort($a);

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 62
Algoritmos de ordenacin

o JSP:
Ordenar de menor a mayor: sort(variable);
Ejemplo:
String[] a={21,8,9};
sort(a);

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 63
Algoritmos de insercin

Se utilizan para aadir nuevos elementos dentro


de un array.
o Si el array no est ordenado basta con aadir el
elemento al final del array.
o Si no esta ordenado hay que recorrer el array para
buscar la posicin exacta en la que debemos insertar
el elemento y desplazar los elementos mayores que
estn a la derecha.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 64
Subprogramacin

Un subprograma es un fragmento de cdigo que


tiene una funcionalidad especfica. Este permite
que el cdigo sea modular y lo podamos
reutilizar.

Tipos:
o Funciones: subprogramas que devuelven un valor como
resultado de su ejecucin.
o Procedimientos: son aquellos que se ejecutan sin devolver
ningn tipo de valor.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 65
Funcin

Sintaxis:
o PHP:
function nombre($arg1,$arg2,){
instrucciones;
return $valorDevuelto;
}

o ASP:
function nombre (arg1,arg2,)
instrucciones
nombre=valordevuelto
end function

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 66
Funcin

Sintaxis (continuacin):
o JSP:
tipoDevuelto nombre (tipo1 arg1,tipo2 arg2,){
instrucciones;
return valorDevuelto;
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 67
Procedimiento

Sintaxis:
o PHP:
function nombre($arg1,$arg2,){
instrucciones;
}

o ASP:
sub nombre (arg1,arg2,)
instrucciones
end sub

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 68
Procedimiento

Sintaxis:
o JSP:
void nombre (tipo1 arg1,tipo2 arg2,){
instrucciones;
}

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 69
Funcin/Procedimiento

Sintaxis (invocar funcin/procedimiento):


o PHP: nombre($arg1,$arg2,);

o ASP:
nombre (arg1,arg2,)
Slo procedimientos: call nombre (arg1,arg2,)

o JSP: nombre (arg1,arg2,);

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 70
Formularios

Son mtodos para recolectar informacin que


debe ser rellenada por el usuario.

Pueden servir para permitir la autentificacin de


un usuario en una pgina Web, recoger
informacin que debemos insertar o actualizar
en una base de datos, realizar bsquedas de
informacin en el que debamos especificar un
criterio de bsqueda, etc.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 71
Mtodo GET/POST

Son mtodos del protocolo HTTP para el


intercambio de informacin entre el cliente y el
servidor.
o El mtodo GET enva las variables dentro de la URL de la
pgina.
o En el mtodo POST la informacin va codificada en el
cuerpo de la peticin HTTP y por lo tanto viaja oculta.
o Mientras el mtodo GET lo utilizamos para recuperar
informacin, el mtodo POST se usa para enviar
informacin a un servidor Web.

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 72
Formulario GET
<html>
<head>
<title>Ejemplo Formularios</title>
</head>
<body>
<h1>Ejemplo de procesado de formularios</h1>
<FORM ACTION="ejemplo1.php" METHOD="GET">
Introduzca su nombre:<INPUT TYPE="text" NAME="nombre">
<BR>
Introduzca sus apellidos:<INPUT TYPE="text
NAME="apellidos"><BR>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</body>
</html>

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 73
Formulario POST
<html>
<head>
<title>Ejemplo Formularios</title>
</head>
<body>
<h1>Ejemplo de procesado de formularios</h1>
<FORM ACTION="ejemplo2.php" METHOD="POST">
Introduzca su nombre:<INPUT TYPE="text" NAME="nombre">
<BR>
Introduzca sus apellidos:<INPUT TYPE="text
NAME="apellidos"><BR>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</body>
</html>

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 74
Recuperacin informacin GET

GET:
o PHP:
echo $_GET[nombre];
echo $_GET[apellidos];
print_r($_GET);

o ASP:
response.write(request.QueryString(nombre))
response.write(request.QueryString(apellidos))

o JSP (vlido para GET y POST):


out.print(request.getParameter("nombre"));
out.print(request.getParameter("apellidos"));

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 75
Recuperacin informacin POST

POST:
o PHP:
echo $_POST[nombre];
echo $_POST[apellidos];
print_r($_POST);

o ASP:
response.write(request.Form(nombre))
response.write(request.Form(apellidos))

o JSP (vlido para GET y POST):


out.print(request.getParameter("nombre"));
out.print(request.getParameter("apellidos"));

Desarrollo web en entorno servidor


M. Lpez, J. M. Vara, J. Verde, D. M. Snchez, J. J. Jimnez, V. de Castro
Captulo 3 Programacin basada en lenguajes de marcas con cdigo embebido 76

You might also like