Beruflich Dokumente
Kultur Dokumente
14 Clase. Arreglos
Prof. Gonzalo Mller
gmullerb@mail.com
Clase Anterior
Objeto Conjunto de Datos + Conjunto de Mdulos Esta definido:
Nombre del objeto. Lista de campos que lo conforman. Lista de mtodos que lo conforman.
UML
NOMBRE
campo1 campoN metodo1(parametro1, ) metodoM(parametro1, )
Informtica Prof. Gonzalo Mller Clase 14 GM - 2
Clase Anterior
Objetos en VBScript: 1 Se debe definir el objeto: class
Antes de las declaraciones de mdulos y de variables
Manejo de una variable objeto: Miembros: Campo, Mtodos. Operador miembro . . Operador = en VBScript NO realiza copia.
Informtica Prof. Gonzalo Mller Clase 14 GM - 3
Clase Anterior
VBScript no manejan estructuras: Las estructuras en VBScript son objetos sin mtodos. Mdulos con objetos: En VBScript los Objetos siempre son pasados como parmetros por referencia. Copia de una objeto utilizando un mtodo.
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Notas de un Curso
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nota Nota Nota
Notas de un Curso
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nota Nota Nota
Notas de un Curso
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos utilizando slo 1 variable.
Nota Nota Nota
Notas de un Curso
Slo 1 Variable
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de datos del mismo tipo utilizando una misma variable.
nota 2 nota 1 nota N nota 3
Variable
Arreglo
Conjunto de datos del mismo tipo.
Variable
Arreglo
Un arreglo esta definido: Nombre. Tamao: cantidad de elementos del conjunto.
Arreglo
Un arreglo esta definido: Nombre. Tamao: cantidad de elementos del conjunto. Ejemplo: Se requiere almacenar las notas de los estudiantes de un curso cualquiera. El conjunto de datos ser: notas
arreglo
Informtica Prof. Gonzalo Mller Clase 14 GM - 12
Arreglo
Un arreglo esta definido: Nombre. Tamao: cantidad de elementos del conjunto. Ejemplo: Se requiere almacenar las notas de los estudiantes de un curso cualquiera. El conjunto de datos ser: notas
notas [80]
Informtica Prof. Gonzalo Mller Clase 14 GM - 13
Variable
Arreglo
Un arreglo esta definido: Nombre. Tamao: cantidad de elementos del conjunto. Ejemplo: Se requiere almacenar las notas de los estudiantes de un curso cualquiera. El conjunto de datos ser: notas
notas [80]
Informtica Prof. Gonzalo Mller Clase 14 GM - 14
Variable
Arreglo
Un arreglo esta definido: Nombre. Tamao: cantidad de elementos del conjunto. Ejemplo: Se requiere almacenar las notas de los estudiantes de un curso cualquiera. El conjunto de datos ser: notas
notas [80]
Informtica Prof. Gonzalo Mller Clase 14 GM - 15
Variable
Arreglo en VBScript
Declaracin de un arreglo:
dim variable(TAMAO) dim variable1(TAMAO1), variable2(TAMAO2), (TAMAO: Siempre es una constante)
Arreglo en VBScript
Declaracin de un arreglo:
dim variable(TAMAO) dim variable1(TAMAO1), variable2(TAMAO2), (TAMAO: Siempre es una constante)
Ejemplo:
' Arreglo de 80 notas dim notas(80) Nombre Tamao
Arreglo en VBScript
Declaracin de un arreglo:
dim variable(TAMAO) dim variable1(TAMAO1), variable2(TAMAO2), (TAMAO: Siempre es una constante)
Ejemplo:
' Arreglo de 80 notas dim notas(80) Nombre Tamao dim letras(4) Nombre Tamao
Informtica Prof. Gonzalo Mller Clase 14 GM - 18
Manejo de un arreglo
ndice: Constituye la posicin relativa de un elemento. Ubica un elemento dentro del arreglo. Debe ser:
Una variable o constante tipo entero no negativo. Una expresin que se evale a un valor entero no negativo.
Manejo de un arreglo
La forma de acceder un elemento de un arreglo es a travs de su posicin.
1 Elemento
4 Elemento: Posicin Relativa 3 3 Elemento: Posicin Relativa 2 2 Elemento: Posicin Relativa 1 1 Elemento: Posicin Relativa 0
Informtica Prof. Gonzalo Mller Clase 14 GM - 20
Manejo de un arreglo
Arreglo
variable(ndice)
Variable, Constante o Expresin
Manejo de un arreglo
Arreglo
variable(ndice)
Manejo de un arreglo
Arreglo
variable(ndice)
letras(2) letras(3)
letras
Informtica Prof. Gonzalo Mller Clase 14 GM - 23
Manejo de un arreglo
Ejemplo:
dim notas(80) ' ' asigna el segundo elemento notas(1) = 18 ' lee el tercer elemento notas(2) = cint(prompt("Nota 3:")) ' escribe el primer elemento document.write("Nota 1:" & notas(0) & "<br/>")
Manejo de un arreglo
Rango del ndice: Declaracin: dim variable(TAMAO) Manejo: variable(ndice) ndice [0, TAMAO) Ejemplo:
dim letras(4) letras(0) letras(3)
Manejo de un arreglo
Ejemplo:
dim arreglo(4) arreglo(0) = 2 arreglo(1) = 4 arreglo(2) = 6 arreglo(3) = 8 document.write("1:" & arreglo(0) & "<br/>") document.write("2:" & arreglo(1) & "<br/>") document.write("3:" & arreglo(2) & "<br/>") ndice document.write("4:" & arreglo(3) & "<br/>")
Tamao
ndice: Constante
Manejo de un arreglo
Ejemplo:
dim arreglo(4) arreglo(0) = 2 arreglo(1) = 4 arreglo(2) = 6
Tamao
ndice: Constante
document.write("1:" & arreglo(0) & "<br/>") document.write("2:" & arreglo(1) & "<br/>") document.write("3:" & arreglo(2) & "<br/>") ndice
Manejo de un arreglo
Bucle: permitir desplazarse a travs del arreglo.
Requerir de un contador para el ndice.
Antes del bucle el contador debe ser iniciado en 0. La condicin para mantenerse en el bucle debe ser contador < cantidad
Manejo de un arreglo
Bucle clsico
contador = 0 Mientras (contador < cantidad) arreglo[contador] contador = contador + 1
Informtica Prof. Gonzalo Mller Clase 14 GM - 29
Manejo de un arreglo
1 Iteracin
Manejo de un arreglo
Siguiente Iteracin
Siguiente Elemento
Manejo de un arreglo
Ejemplo:
dim arreglo(4) Tamao dim k arreglo(0) = 2 arreglo(1) = 4 arreglo(2) = 6 arreglo(3) = 8 ndice: Variable k = 0 do while(k < 4) Cantidad document.write(k & ":" arreglo(k) & "<br/>") k = k + 1 loop
Manejo de un arreglo
Ejemplo:
dim arreglo(4) Tamao dim k arreglo(0) = 2 arreglo(1) = 4 arreglo(2) = 6 ndice: Variable k = 0 do while(k < 3) Cantidad document.write(k & ":" arreglo(k) & "<br/>") k = k + 1 loop
Manejo de un arreglo
Ejemplo:
dim arreglo(4) Tamao dim k arreglo(0) = 2 arreglo(1) = 4 arreglo(2) = 6 arreglo(3) = 8 k = 4 Cantidad ndice: Variable do while(k > 0) k = k - 1 document.write(k & ":" arreglo(k) & "<br/>") loop
Bucle no clsico
Informtica Prof. Gonzalo Mller Clase 14 GM - 34
Manejo de un arreglo
Ejemplo:
dim arreglo(4) dim k arreglo(0) = 2 arreglo(1) = 4 arreglo(2) = 6 Manejo Esttico arreglo(3) = 8 k = 0 do while(k < 4) document.write(k & ":" arreglo(k) & "<br/>") k = k + 1 loop
Manejo Dinmico
Informtica Prof. Gonzalo Mller Clase 14 GM - 35
Arreglos
Ejemplo: Construir una pagina web con VBScript con programacin estructurada que lea un conjunto de N notas y los muestre en la salida en forma inversa a como fueron ingresados.
Fase 1: Diseo y Anlisis: DES DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Informtica Prof. Gonzalo Mller Clase 14 GM - 36
Ejercicio
Construir una pagina web con VBScript con programacin estructurada para: a) Leer un conjunto de temperaturas y escribir en la salida en forma inversa. Fase 1: Diseo y Anlisis: DES DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Manejo de un arreglo
Manejo de un arreglo
Manejo de un arreglo
contador = 0
CANTIDAD
Manejo de un arreglo
BUCLE
Manejo de un arreglo
Manejo de un Arreglo
Elementos indispensables en el manejo de un arreglo: Nombre. Tamao.
Constante Entera No Negativa. Debe ser sobredimensionado.
Cantidad.
Tamao. Variable Entera No Negativa. Define los elementos a ocupar del arreglo.
Bucle.
Permite desplazarse a travs del arreglo.
Contador.
< Cantidad. Indica el elemento del arreglo a acceder.
Informtica Prof. Gonzalo Mller Clase 14 GM - 43
Manejo de un Arreglo
Elementos indispensables en el manejo de un arreglo: Anlisis y Diseo: Lista de Variables Nombre. Codificacin: Declaracin Tamao.
Constante Entera No Negativa. Debe ser sobredimensionado.
Cantidad.
Tamao. Variable Entera No Negativa. Define los elementos a ocupar del arreglo.
Bucle.
Permite desplazarse a travs del arreglo.
Contador.
< Cantidad. Indica el elemento del arreglo a acceder.
Informtica Prof. Gonzalo Mller Clase 14 GM - 44
Manejo de un Arreglo
Elementos indispensables en el manejo de un arreglo: Nombre. Tamao.
Constante Entera No Negativa. Debe ser sobredimensionado.
Cantidad.
Tamao. Variable Entera No Negativa. Define los elementos a ocupar del arreglo.
Algoritmo
Bucle.
Permite desplazarse a travs del arreglo.
Contador.
< Cantidad. Indica el elemento del arreglo a acceder.
Informtica Prof. Gonzalo Mller Clase 14 GM - 45
Manejo de un Arreglo
Elementos indispensables en el manejo de un arreglo: Nombre. Tamao.
Constante Entera No Negativa. Debe ser sobredimensionado.
Cantidad.
Tamao. Variable Entera No Negativa. Define los elementos a ocupar del arreglo.
Algoritmo
Bucle.
Permite desplazarse a travs del arreglo.
Contador.
< Cantidad. Indica el elemento del arreglo a acceder.
Informtica Prof. Gonzalo Mller Clase 14 GM - 46
Manejo de un Arreglo
Siempre que se trabaje con arreglos ser necesarios utilizar bucles y contadores para poder desplazarse a travs del mismo
Manejo de un Arreglo
Asignacin: El operador asignacin = NO realiza la asignacin de todos los valores del arreglo.
Manejo de un Arreglo
Asignacin: El operador asignacin = NO realiza la asignacin de todos los valores del arreglo. NO SE PUEDE ASIGNAR UN ARREGLO A OTRO CON EL OPERADOR ASIGNACIN
Manejo de un Arreglo
Asignacin: El operador asignacin = NO realiza la asignacin de todos los valores del arreglo. NO SE PUEDE ASIGNAR UN ARREGLO A OTRO CON EL OPERADOR ASIGNACIN Ejemplo:
dim letras1(4), letras2(4) letras2 = letras1 NO COPIA EL ARREGLO letras1 a letras2
Manejo de un Arreglo
Asignacin: El operador asignacin = NO realiza la asignacin de todos los valores del arreglo. NO SE PUEDE ASIGNAR UN ARREGLO A OTRO CON EL OPERADOR ASIGNACIN Ejemplo:
dim letras1(4), letras2(4) letras2 = letras1 NO COPIA EL ARREGLO letras1 a letras2
Manejo de un Arreglo
Asignacin: El operador asignacin = NO realiza la asignacin de todos los valores del arreglo. LA FORMA CORRECTA ES COPIAR ELEMENTO A ELEMENTO Ejemplo:
dim letras1(4), letras2(4) k = 0 do while(k < cantidad) letras2(k) = letras1(k) k = k + 1 loop
Ejercicio
Construir una pagina web con VBScript con programacin estructurada para: a) Leer un conjunto de temperaturas, crear una copia y escribir en la salida en forma inversa. Fase 1: Diseo y Anlisis: DES DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Evaluacin: Copia
Informtica Prof. Gonzalo Mller Clase 14 GM - 53
Manejo de un Arreglo
Clonacin: El operador asignacin = permite realizar la clonacin arreglo. Ejemplo:
dim letras1(4), letras2 letras2 = letras1
Manejo de un Arreglo
Clonacin: El operador asignacin = permite realizar la clonacin arreglo. Ejemplo:
dim letras1(4), letras2 letras2 = letras1
Sin Tamao
Manejo de un Arreglo
Clonacin: El operador asignacin = permite realizar la clonacin arreglo. Ejemplo:
dim letras1(4), letras2 letras2 = letras1 CLONA EL ARREGLO letras1 en letras2
Ejercicio
Construir una pagina web con VBScript con programacin estructurada para: a) Leer un conjunto de temperaturas, crear una copia, clonar y escribir en la salida en forma inversa. Fase 1: Diseo y Anlisis: DES DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Evaluacin: Clonacin
Informtica Prof. Gonzalo Mller Clase 14 GM - 57
Arreglos en Mdulos
Arreglos en Mdulos
Arreglos en Mdulos
Arreglos en Mdulos
cantidad arreglo
Informtica Prof. Gonzalo Mller Clase 14 GM - 61
Arreglos en Mdulos
Arreglos como parmetros Se puede pasar por referencia o por valor Declaracin y Definicin nombre(cantidad, byref arreglo, ) nombre(cantidad, byval arreglo, )
Arreglos en Mdulos
Arreglos como parmetros Se puede pasar por referencia o por valor Declaracin y Definicin nombre(cantidad, arreglo, ) nombre(cantidad, byval arreglo, )
Arreglos en Mdulos
Ejemplo:
sub escribeNotas(byval cantidad, byval notas) dim k = 0 // do while(k < cantidad) document.write(k&":"¬as(k)&"<br/>") k = k + 1 loop end sub
Arreglos en Mdulos
Llamada:
nombre(variable1, )
variable arreglo
Arreglos en Mdulos
Llamada:
nombre(variable1, )
Ejemplo:
variable arreglo
sub escribeNotas(byval cantidad, byval notas) main() { dim cantidadDef dim notasDef(80) // Slo el nombre del arreglo call escribeNotas(cantidadDef, notasDef) }
Informtica Prof. Gonzalo Mller Clase 14 GM - 66
Arreglos en Mdulos
Llamada:
nombre(variable1, )
Ejemplo:
variable arreglo
sub escribeNotas(byval cantidad, byval notas) main() { dim cantidadDef dim notasDef(70) Diferente Tamao // call escribeNotas(cantidadDef, notasDef) }
Informtica Prof. Gonzalo Mller Clase 14 GM - 67
Arreglos en Mdulos
Arreglos como parmetros de entrada
cantidad arreglo
Arreglos en Mdulos
Arreglos como parmetros de entrada
cantidad arreglo
nombre(cantidad, arreglo, )
Informtica Prof. Gonzalo Mller Clase 14 GM - 69
Arreglos en Mdulos
Ejemplo: Construir una pagina web con VBScript con programa modular que lea un conjunto de N notas y los muestre en la salida en forma inversa a como fueron ingresados.
Fase 1: Diseo y Anlisis: DES y DTD DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Informtica Prof. Gonzalo Mller Clase 14 GM - 70
Ejercicio
Construir una pagina web con VBScript con programacin modular para: a) Leer un conjunto de temperaturas y escribir en la salida el promedio de las temperaturas. Fase 1: Diseo y Anlisis: DES y DTD DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Evaluacin: Manejo Bsico
Informtica Prof. Gonzalo Mller Clase 14 GM - 71
Arreglos
Es otro artefacto Muy Poderoso
Manejo Dinmico de datos Almacena una cantidad de datos cuyo nmero se desconoce al momento de construir el programa.
Esto permite el acceso a estos reiteradas veces, de forma aleatoria o en un orden distinto al como fueron almacenados.
Informtica Prof. Gonzalo Mller Clase 14 GM - 72
Arreglos
Cantidad que tiene un lmite establecido por el programador. Reduce el tamao del cdigo.
Conjunto de datos del mismo tipo bajo un mismo nombre. Uso de bucles.
Arreglos
Cantidad que tiene un lmite establecido por el programador. Reduce el tamao del cdigo.
Conjunto de datos del mismo tipo bajo un mismo nombre. Uso de bucles.
nota1 nota2 nota3 nota??
Informtica Prof. Gonzalo Mller Clase 14 GM - 74
notas(100)
Arreglos
Cantidad que tiene un lmite establecido por el programador. Reduce el tamao del cdigo.
Conjunto de datos del mismo tipo bajo un mismo nombre. Tope Uso de bucles.
nota1 nota2 nota3 nota?? notas(100)
Desconocido
Arreglos
Cantidad que tiene un lmite establecido por el programador. Reduce el tamao del cdigo.
Conjunto de datos del mismo tipo bajo un mismo nombre. Uso de bucles.
nota1= nota2= nota3= nota??=
Informtica Prof. Gonzalo Mller Clase 14 GM - 76
Arreglos Bidimensionales
Declaracin dim variable(FILAS, COLUMNAS) Manejo variable(fila,columna) fila [0, FILAS), columna [0, COLUMNAS) Ejemplo:
dim matriz(4,6) letras(0,0) letras(3,5)
Informtica Prof. Gonzalo Mller Clase 14 GM - 77
Lmite Inferior
Arreglos Bidimensionales
Elementos indispensables en el manejo de una matriz: Matriz.
Debe ser sobredimesionada.
Bucles.
Permiten desplazarse a travs de la matriz.
Ejercicio
Construir una pagina web con VBScript con programacin modular para: 1) Leer una matriz de temperaturas y escribir en la salida el promedio de las temperaturas. Fase 1: Diseo y Anlisis: DES y DTD DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Evaluacin: Manejo Bsico
Informtica Prof. Gonzalo Mller Clase 14 GM - 79
Ejercicio
Construir una pagina web con VBScript con programacin modular para: 2) Leer una matriz de temperaturas y escribir en la salida el promedio de las temperaturas por fila y por columna. Fase 1: Diseo y Anlisis: DES y DTD DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Informtica Prof. Gonzalo Mller Clase 14 GM - 80
Ejercicio
Construir una pagina web con VBScript con programacin modular para: 3) Dado un conjunto de maquinas cada una ubicada por x,y, determinar las distancias entre N maquinas. Fase 1: Diseo y Anlisis: DES y DTD DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Informtica Prof. Gonzalo Mller Clase 14 GM - 81
Estudiante
Estudiante
Estudiante
Estudiante
pareja inseparable
sub copiar(desde) nombre = prompt(" Nombre:") genero = prompt(" Genero:") end sub
Ejemplo:
' Asigna promedio a estudiante1 estudiante1.promedio = 18 ' Escribe la nota 2 del estudiante1 document.write(estudiante1.notas(1)) arreglo
Informtica Prof. Gonzalo Mller Clase 14 GM - 90
Arreglos de Objetos
Arreglos de Objetos
Que sucede si se necesita trabajar con un conjunto de objetos utilizando slo 1 variable.
Curso
Arreglos de Objetos
Que sucede si se necesita trabajar con un conjunto de objetos utilizando slo 1 variable.
Nombre Gnero Edad Promedio Nombre U. Crditos Eficiencia Notas U. Crditos Eficiencia Notas
Curso
Gnero Edad Promedio Nombre Gnero Edad Promedio Nombre Gnero Edad Promedio
Arreglos de Objetos
Que sucede si se necesita trabajar con un conjunto de objetos utilizando slo 1 variable.
Nombre Gnero Edad Promedio Nombre U. Crditos Eficiencia Notas U. Crditos Eficiencia Notas
Curso
Gnero Edad Promedio Nombre Gnero Edad Promedio Nombre Gnero Edad Promedio
Arreglos de Objetos
Que sucede si se necesita trabajar con un conjunto de objetos utilizando slo 1 variable.
Nombre Gnero Edad Promedio Nombre U. Crditos Eficiencia Notas U. Crditos Eficiencia Notas
Curso
Slo 1 Variable
Gnero Edad Promedio Nombre Gnero Edad Promedio Nombre Gnero Edad Promedio
Arreglos de Objetos
Manejo: variable(ndice).campo
Ejemplo:
document.write(Edad & alumnos(j).edad)
Arreglos de Objetos
Manejo: variable(ndice).campo
arreglo
Ejemplo:
document.write(Edad & alumnos(j).edad)
Arreglos de Objetos
Manejo: variable(ndice).campo
elemento
Ejemplo:
document.write(Edad & alumnos(j).edad)
Arreglos de Objetos
Manejo: variable(ndice).campo
objeto
Ejemplo:
document.write(Edad & alumnos(j).edad)
Arreglos de Objetos
Manejo: variable[ndice].campo
objeto miembro de este objeto
Ejemplo:
document.write(Edad & alumnos(j).edad) call alumnos(j).identificar()
Ejercicio
Construir una pagina web con VBScript con programacin modular para: 1) Dado un conjunto de maquinas cada una ubicada por x,y, determinar las distancias entre N maquinas. Fase 1: Diseo y Anlisis: DES y DTD DES, DRE DF y LV de Mdulos y TM. DRE DF, LV y CF de Bloque Principal. Fase 2: Codificacin: pagina Web con VBScript.
Informtica Prof. Gonzalo Mller Clase 14 GM - 103
Resumen
Datos Agrupados del mismo tipo Arreglos Un arreglo esta definido: Nombre. Tamao Arreglos en VBScript: Declaracin: dim nombre(TAMAO) Manejo: nombre(ndice)
ndice [0, TAMAO)
Resumen
Manejo de un arreglo:
Tamao Cantidad Tamao. Bucle. Contador < Cantidad
Asignacin = NO realiza la asignacin de todos los valores del arreglo, pero permite realizar la clonacin arreglo Arreglos como retorno: No es de gran utilidad Arreglos como parmetros: por referencia o por valor
Informtica Prof. Gonzalo Mller Clase 14 GM - 105