Está en la página 1de 35

Elementos de Scripts

Ejemplo
<HTML> <Head><Title>Esta pgina se construye dinmicamente</Title></Head> <Body> <H1>Esta tabla de 20x40 se construye dinmicamente</H1> <Div Align=Center><Table Border=1 Width=80%> <Script Language=VBScript> Option Explicit Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next </Script> </Table></Div></Body></HTML>

ej036.html

Algoritmo
Conjunto ordenado y finito de operaciones Que solucionan un problema

Algoritmo
Tabla de 20 x 40
1. Hacer 20 filas 2. En cada fila hacer 40 celdas

Da la idea pero ... ... Muy general ...

Algoritmo
1.

Hacer 20 veces lo siguiente:


1. Dibujar el inicio de la fila 2. Hacer 40 veces lo siguiente:
1. Dibujar una celda

3. Dibujar el final de la fila

Mejor, pero...
... No es fcil codificarlo ...

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. Dibujar inicio de fila 2. Poner j en 0 3. Hacer el siguiente bloque si j < 40
1. Dibujar una celda 2. Hacer j = j + 1

4. Dibujar el final de la fila 5. Hacer i = i + 1

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next

Algoritmo
Debe ser independiente del lenguaje Debe ser general Puede ser:
Subalgoritmo: si no funciona para todos los casos Algoritmo: si funciona para todos los casos

Entendible por una mquina


En el lenguaje de la mquina

Ejemplo
<HTMl><Head><Title>Crea una tabla dinmicamente</Title></Head> <Body> <Table Border=1 Width=80%> <Script Language="javascript"> With(document) { for (var i=0;i<20;i++) { write("<TR>"); for (var j=0;j<40j++) { write("<TD>&nbsp;</TD>"); } write("</TR>"); } } </Script> </Table></Center></Body>

ej039.html

Algoritmo
1. 2.

Poner i en 0 Hacer el siguiente bloque si i < 20


1. 2. 3. Dibujar inicio de fila Poner j en 0 Hacer el siguiente bloque si j < 40
1. 2. Dibujar una celda Hacer j = j + 1

with(document) { for (var i=0;i<20;i++) { write("<TR>"); for (var j=0;j<40j++) { write("<TD>&nbsp;</TD>" ); } write("</TR>"); } }

4. 5.

Dibujar el final de la fila Hacer i = i + 1

Algoritmos
Dibujar un crculo en una cuadrcula Resolver un laberinto Ordenar un conjunto de nmeros Encontrar un nombre en el directorio Resolver un sudoku Jugar al ahorcado

Variables
Posiciones de memoria Para almacenamiento de datos En nuestra memoria pueden ser
Un nmero (telfono, dinero, carn) Una frase (slogan, de un libro, una direccin) Una imagen (una foto, una herramienta) Un sonido (cancin, sonido de celular)

Pueden cambiar su valor (varan)

Variables
En la computadora
Tienen nombre Tipo de dato
Numrico: entero, real, fecha, hora, etc. Alfanumrico: caracteres, cadenas de caracteres. Binario: imgenes, objetos, archivos, etc.

Variables
<HTML> <Head><Title>Esta pgina se construye dinmicamente</Title></Head> <Body> <H1>Esta tabla de 20x40 se construye dinmicamente</H1> <Div Align=Center><Table Border=1 Width=80%> <Script Language=VBScript> Option Explicit Dim i,j For i=1 To 20 Document.Write <TR> For j=1 To 40 Document.Write <TD>&nbsp;</TD> Next Document.Write </TR> Next </Script> </Table></Div></Body></HTML>

Variables
<Div Align=Center><Table Border=1 Width=80%> <Script Language=VBScript> Option Explicit Dim i,j For i=1 To Fils Document.Write <TR> For j=1 To Cols Document.Write <TD>&nbsp;</TD> Next Next </Script> </Table></Div></Body></HTML>

Variables
Document.Write <TD>&nbsp;</TD>

Es variable?

Constantes
Valores que no cambian Tambin tienen tipo
Enteros, reales, cadenas de caracteres

Sirven para:
Inicializar variables Construr fmulas Construr expresiones

Pueden tener nombre


Ej.: Pi = 3.141592654

Algoritmo: construr un cculo


Construr un cculo coloreando cuadrados de un arreglo o tabla de n*n posiciones. Ej. 11*11:

Construr un crculo
1.

Dibujar la cuadrcula

Construr un crculo
(0,0)
1. 2.

(0,10)

Dibujar la cuadrcula Establecer sistema de coordenadas

(10,0)

(10,10)

Construr un crculo
(0,0)
1. 2. 3.

(0,10)

Dibujar la cuadrcula Establecer sistema de coordenadas Calcular el radio R

(10,0)

(10,10)

Construr un crculo
(0,0)
1. 2. 3. 4.

(0,10)

Dibujar la cuadrcula Establecer sistema de coordenadas Calcular el radio R Establecer el centro

(10,0)

(10,10)

Construr un crculo
(0,0)
1. 2. 3. 4. 5.

(0,10)

Dibujar la cuadrcula Establecer sistema de coordenadas Calcular el radio R Establecer el centro Calcular los pares (X,Y) en un cuadrante

(10,0)

(10,10)

Construr un crculo
(0,0)
1. 2. 3. 4. 5. 6.

(0,10)

Dibujar la cuadrcula Establecer sistema de coordenadas Calcular el radio R Establecer el centro Calcular los pares (X,Y) en un cuadrante Para cada par (X,Y) colorear los puntos
(X,Y) (-X,Y) (X,-Y) (-X,-Y)

(10,0)

(10,10)

Construr un crculo
(0,0)
5.

(0,10)

Calcular los pares (X,Y) en un cuadrante


1. 2. Tomar valores para X desde 0 hasta R Para cada valor de X calcular Y por Pitgoras R

(10,0)

(10,10)

Construr un crculo
(0,0)
5.

(0,10)

Calcular los pares (X,Y) en un cuadrante


1. 2. Tomar valores para X desde 0 hasta R Para cada valor de X calcular Y por Pitgoras R Y X

(10,0)

(10,10)

Construr un crculo
(0,0)
5.

(0,10)

Calcular los pares (X,Y) en un cuadrante


1. 2. Tomar valores para X desde 0 hasta R Para cada valor de X calcular Y por Pitgoras R Y X

(10,0)

(10,10)

Construr un crculo
(0,0)
5.

(0,10)

Calcular los pares (X,Y) en un cuadrante


1. 2. Tomar valores para X desde 0 hasta R Para cada valor de X calcular Y por Pitgoras R Y X

(10,0)

(10,10)

Construr un crculo
(0,0) (0,10)

Preguntas
Es un algoritmo? Un subalgoritmo? Qu pasa con tablas de nmero par de columnas o filas? Qu pasa cuando N = 0?
R Y X

(10,0)

(10,10)

ej040.html

Construr un crculo
(0,0) (0,10)

Proyecto
Resolver el problema de los lados Resolver el problema de las cuadrculas con nmero par de columnas Puntos extra si viene tambin en Javascript Puntos extra si funciona en FireFox No sean ambiciosos !!! R Y X

(10,0)

(10,10)

ej040.html

También podría gustarte