Вы находитесь на странице: 1из 54

Informática

12

Prof. Gonzalo Müller


gmullerb@mail.com
Facultad de Ingeniería
Universidad Central de Venezuela
Clase Anterior
 Acoplamiento de datos estándar
 Parámetros de entrada → Parámetro por valor
 En VBScript: byval
 Parámetros de retorno o salida → Parámetro por
referencia
 Obtener más de un resultado
 En VBScript: byref
 Llamada: SIEMPRE se debe utilizar como
argumento una VARIABLE
 Combinación de Parámetros.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 2
Clase Anterior
 Acoplamiento de datos estándar
 Subrutinas
 No se necesita resultado.
 Se necesitan 2 ó más resultados
 Funciones
 Se retorna 1 resultado
 Representación de Algoritmos Modulares:
 Parámetros de Retorno: &
 Tabla de Módulos: Parámetros → Parámetros de
Entrada y Parámetros de Retorno
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 3
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de
datos utilizando sólo 1 variable.

Estudiante

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 4


Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de
datos utilizando sólo 1 variable.
• Nombre

• Género

• Edad

Estudiante • Promedio

• U. Créditos

• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 5
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de
datos utilizando sólo 1 variable.
• Nombre

• Género dim nombre


dim genero
dim edad
• Edad dim promedio
dim creditos
Estudiante • Promedio dim eficiencia

• U. Créditos 6 Variables

• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 6
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de
datos utilizando sólo 1 variable.
• Nombre

• Género

• Edad

Estudiante • Promedio

• U. Créditos

• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 7
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de
datos utilizando sólo 1 variable.
• Nombre

• Género

• Edad Sólo
1 Variable
Estudiante • Promedio

• U. Créditos

• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 8
Datos Agrupados
Que sucede si se necesita trabajar con un conjunto de
datos utilizando sólo 1 variable.
• Nombre

• Género

• Edad Sólo
1 Variable
Estudiante • Promedio dim estudiante

• U. Créditos

• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 9
Estructura
Conjunto de datos manipulados a través de sólo 1
variable.

Edad Promedio
U. Créditos Nombre
Genero
Eficiencia
Variable

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 10


Estructura
 Una estructura esta definida:
 Nombre de la estructura
 Lista de datos que la conforman

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 11


Estructura
 Una estructura esta definida:
 Nombre de la estructura
 Lista de datos que la conforman
Ejemplo:
Para un estudio de rendimiento, se requiere almacenar
los datos del estudiante.

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 12


Estructura
 Una estructura esta definida:
 Nombre de la estructura
 Lista de datos que la conforman
Ejemplo:
Para un estudio de rendimiento, se requiere almacenar
los datos del estudiante.
El conjunto de datos será: Estructura Estudiante
nombre, genero, edad, promedio, creditos, eficiencia

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 13


Estructura
 Una estructura esta definida:
 Nombre de la estructura
 Lista de datos que la conforman
Ejemplo:
Para un estudio de rendimiento, se requiere almacenar
los datos del estudiante.
El conjunto de datos será: Estructura Estudiante
nombre, genero, edad, promedio, creditos, eficiencia

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 14


Estructura
 Una estructura esta definida:
 Nombre de la estructura
 Lista de datos que la conforman
Ejemplo:
Para un estudio de rendimiento, se requiere almacenar
los datos del estudiante.
El conjunto de datos será: Estructura Estudiante
nombre, genero, edad, promedio, creditos, eficiencia

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 15


Estructura
 Las estructuras pueden ser representadas gráficamente
utilizando UML (Unified Modeling Language):

NOMBRE
dato 1
dato 2
dato 3

dato N

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 16


Estructura
Ejemplo: Definir la estructura para el estudiante del
estudio de rendimiento:
El conjunto de datos será: Estructura Estudiante
nombre, genero, edad, promedio, creditos, eficiencia

ESTUDIANTE
nombre
genero
edad
promedio
creditos
eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 17
Estructura en VBScript
 La estructura constituye un tipo de dato definido
por el programador, por lo tanto, el proceso para
utilizar las estructuras en VBScript es el siguiente:

1º Se debe definir la estructura.


2º Se declara la variable estructura.
3º Se crea la estructura.

Se extiende el lenguaje al definir nuevos tipos


Informática – Prof. Gonzalo Müller – Clase 12 – GM - 18
1. Definición de la Estructura

 Se le da la forma a la estructura.
 Se establecen:
 Nombre de la estructura.
 Conjunto de datos que la conforman.
 Nombre de cada dato.

Utilizando la palabra clave class se define una estructura.

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 19


1. Definición de la Estructura

Definición:
class NOMBRE
dim identificador1
dim identificador2

dim identificadorN
end class

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 20


1. Definición de la Estructura

Definición: Palabra clave que indica que se esta


definiendo una estructura
class NOMBRE
Nombre de la estructura
dim identificador1
dim identificador2
Conjunto de datos

dim identificadorN
end class Nombre del dato

En la notación se colocará el nombre en


mayúsculas para la estructura definida.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 21
1. Definición de la Estructura
Ejemplo: Se requiere definir la estructura para el
estudiante del estudio de rendimiento:

class ESTUDIANTE
dim nombre Nombre de la estructura
dim genero
dim edad
dim promedio
dim creditos
dim eficiencia Nombre del dato
end class

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 22


1. Definición de la Estructura
<html>
<head>
<title>Título<\title>
<script>
DEFINICIÓN DE ESTRUCTURAS
Declaración y definición de módulos
La definición de </script>
la estructura se
</head>
debe realizarse
<body>
antes de las
Contenido Original
declaraciones de
módulos y de </body>
variables <script>
Programa Principal
</script>
</html>
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 23
2. Declaración de la Variable

Se declara(n) la(s) variable(s) que contendrá(n) la(s)


nueva(s) estructura(s).
Declaración:
dim identificador
dim identificador1, identificador2,…

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 24


2. Declaración de la Variable

Se declara(n) la(s) variable(s) que contendrá(n) la(s)


nueva(s) estructura(s).
Declaración:
dim identificador
dim identificador1, identificador2,…
Ejemplo:
dim estudiante1;
dim alumnoA, alumnoB;

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 25


3. Creación de la Estructura

Utilizando las palabras clave set y new se crea la


estructura asociada a una variable.
Creación:
set variable = new ESTRUCTURA

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 26


3. Creación de la Estructura

Utilizando las palabras clave set y new se crea la


estructura asociada a una variable.
Creación:
set variable = new ESTRUCTURA
Ejemplo:
set estudiante1 = new ESTUDIANTE;
set estudianteA = new ESTUDIANTE;

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 27


Manejo de una Variable Estructura
Cada una de las variables que conforma el conjunto de
la estructura se les llaman campos.
Ejemplo:
class ESTUDIANTE
dim genero; Campo genero
dim edad; Campo edad
dim promedio; Campo promedio
dim creditos; Campo creditos
dim eficiencia; Campo eficiencia
end class

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 28


Manejo de una Variable Estructura
 La forma de acceder un campo es utilizando el
operador miembro . :
variable.campo

Variable que contiene a la estructura Campo de la estructura

Ejemplo:
' Asigna promedio a estudiante
estudiante1.promedio = 18;
' Escribe en salida edad de estudiante
document.write(“Edad:” & estudiante1.edad);
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 29
Manejo de una Variable Estructura
Ejemplo: Construir una pagina web con VBScript con
programación estructurada utilizando estructuras que
lea los datos de un estudiante (nombre, edad y
promedio) y los escriba en la salida.

Fase 1: Diseño y Análisis: DES y UML


DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 30
Ejercicio

Construir una pagina web con VBScript con


programación estructurada utilizando estructuras para:
a) Leer 1 polígono (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida
toda su información.
Fase 1: Diseño y Análisis: DES y UML
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación pagina Web con VBScript.

Evaluación: Manejo Básico


Informática – Prof. Gonzalo Müller – Clase 12 – GM - 31
Manejo de una Variable Estructura
 Asignación de una variable estructura: El operador
asignación = en VBScript NO realiza la asignación de
los valores de todos los campos de una estructura a
otra.
Ejemplo:
dim estudiante1, estudiante2

estudiante2 = estudiante1

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 32


Manejo de una Variable Estructura
 Asignación de una variable estructura: El operador
asignación = en VBScript NO realiza la asignación de
los valores de todos los campos de una estructura a
otra.
Ejemplo:
dim estudiante1, estudiante2

estudiante2 = estudiante1 
NO Asigna los valores de los campos de estudiante1 (genero, edad,
promedio, creditos, eficiencia) a estudiante2 en una sola operación
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 33
Manejo de una Variable Estructura
 Asignación de una variable estructura: En VBScript se
debe asignar campo por campo para realizar la
asignación de los valores de todos los campos de una
estructura a otra. Esta es un característica
poco deseable de VBScript
Ejemplo:
dim estudiante1, estudiante2;

estudiante2.genero = estudiante1.genero
estudiante2.edad = estudiante1.edad
estudiante2.promedio = estudiante1.promedio 
estudiante2.creditos = estudiante1.creditos
estudiante2.eficiencia = estudiante1.eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 34
Estructura como Parámetro en VBScript

En VBScript las estructuras siempre son pasadas


como parámetros por referencia a los módulos, ya
sean subrutinas o funciones.

 Estructura como parámetro por referencia

Si se indica byval en un parámetro tipo


estructura se ignora completamente

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 35


Estructura como Parámetro en VBScript
 Estructura como parámetro:
 Declaración y Definición
… nombre(byref parámetro1, …)

 Llamada:
dim variable1;

set variable1 = new ESTRUCTURA

… nombre(variable1, …)
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 36
Estructura como Parámetro en VBScript
Ejemplo:
sub escribeAlumno(byref alumno)
{
document.write("<br/>Genero:"&alumno.genero)
document.write("<br/>Edad:"&alumno.edad)

}

set estudiante1 = new ESTUDIANTE;

call escribeAlumno(estudiante1);

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 37
Estructura como Parámetro en VBScript
Ejemplo:
sub escribeAlumno(alumno) Equivalente
{
document.write("<br/>Genero:"&alumno.genero)
document.write("<br/>Edad:"&alumno.edad)

}

set estudiante1 = new ESTUDIANTE;

call escribeAlumno(estudiante1);

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 38
Estructura como Parámetro en VBScript
Ejemplo:
sub leeAlumno(byref alumno)
{
alumno.edad = cint(prompt("Edad:"))

}

set estudiante1 = new ESTUDIANTE;

call leeAlumno(estudiante1);

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 39


Módulos con Estructuras en VBScript
 Estructura como retorno: Debido a que el operador
asignación en VBScript no copia una estructura es de
muy poca utilidad retornar una estructura, por lo
tanto:
Es recomendable utilizar los módulos de la siguiente manera:
# Retornos Usar
0 Subrutina
1 Función
1 Estructura Subrutina con parámetros de retorno
2 ó más Subrutina con parámetros de retorno

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 40


Módulos con Estructuras en VBScript
Ejemplo: Diseñar y construir un programa modular
con acoplamiento de datos estándar con estructuras en
VBScript que lea los datos de un estudiante y escriba
en la salida.

Fase 1: Diseño y Análisis: DES, DTD y UML


DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 41
Módulos con Estructuras en VBScript
Ejemplo: Diseñar y construir un programa modular
con acoplamiento de datos estándar con estructuras en
VBScript para calcular las raíces de una ecuación
cuadrática.

Fase 1: Diseño y Análisis: DES, DTD y UML


DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 42
Copia de una Estructura
 Dado que operador asignación = en VBScript NO
realiza la asignación de los valores de todos los
campos de una estructura a otra, es decir, no es capaz
de copiar una estructura, para algunas aplicaciones es
de utilidad definir una subrutina para copiar
estructuras.
sub copiaNombre(byref origen, byref destino)
destino.campo1 = origen.campo1
destino.campo2 = origen.campo2

end sub
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 43
Copia de una Estructura
Ejemplo:

sub copiaEstudiante(origen, destino)


destino.nombre = origen.nombre
destino.genero = origen.genero
destino.edad = origen.edad
destino.promedio = origen.promedio
destino.creditos = origen.creditos
destino.eficiencia = origen.eficiencia
end sub

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 44


Ejercicio

Construir un programa modular con acoplamiento


de datos estándar con estructuras en VBScript para:
a) Leer 1 polígono (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida
toda su información.
Fase 1: Diseño y Análisis: DES, DTD y UML
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Evaluación: Manejo Modular
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 45
Ejercicio

Construir un programa modular con acoplamiento


de datos estándar con estructuras en VBScript para:
a) Leer N polígonos (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida
cada uno con toda su información.
Fase 1: Diseño y Análisis: DES, DTD y UML
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Evaluación: Manejo Modular
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 46
Ejercicio

Construir un programa modular con acoplamiento


de datos estándar con estructuras en VBScript para:
a) Leer N polígonos (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida el
polígono de más lados y el de mayor apotema.
Fase 1: Diseño y Análisis: DES, DTD y UML
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 47
Ejercicio

Construir un programa modular con acoplamiento


de datos estándar con estructuras en VBScript para:
a) Leer N polígonos (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida el
polígono de más lados, el de mayor apotema y de
mayor área. (1 módulo de calcula área)
Fase 1: Diseño y Análisis: DES, DTD y UML
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 48 Evaluación: Modificación
Ejercicio

Construir un programa modular con acoplamiento


de datos estándar con estructuras en VBScript para:
a) Leer N polígonos (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida el
polígono de más lados, el de mayor apotema y de
mayor área. (1 módulo de calcula área) A=n*l*a/2
Fase 1: Diseño y Análisis: DES, DTD y UML
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 49 Evaluación: Modificación
Ejercicio

Construir un programa modular con acoplamiento


de datos estándar con estructuras en VBScript para:
a) Leer N polígonos (nombre, nº de lados, longitud de
un lado y longitud de apotema) y escribir en la salida el
polígono de más lados, el de mayor apotema y de
mayor área. (3 módulos de comparación) A=n*l*a/2
Fase 1: Diseño y Análisis: DES, DTD y UML
DES, DRE ó DF y LV de Módulos y TM.
DRE ó DF, LV y CF de Bloque Principal.
Fase 2: Codificación: pagina Web con VBScript.
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 50 Evaluación: Modificación
Estructura
 Es un artefacto Muy Poderoso

ya que permiten manejar gran cantidad de datos a


través de una sola variable
dim nombre
dim genero
dim edad
dim alumno
dim promedio
dim creditos
dim eficiencia
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 51
Estructura
 Es un artefacto Muy Poderoso

ya que permiten manejar gran cantidad de datos a


través de una sola variable

escribeAlumno(nombre,
genero,edad,promedio, escribeAlumno(alumno)
creditos, eficiencia)

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 52


Resumen
 Datos Agrupados de Diferentes Tipos → Estructura
 UML
 Estructura en VBScript:
 1º Se debe definir la estructura: class
 Nombre de la estructura, Conjunto de datos que la
conforman.
 Antes de las declaraciones de módulos y de variables

 2º Se declara la variable: dim


 3º Se crea la estructura: set y new
 set variable = new ESTRUCTURA
Informática – Prof. Gonzalo Müller – Clase 12 – GM - 53
Resumen
 Manejo de una variable estructura:
 Campos de una estructura.
 Operador miembro . .
 Operador = en VBScript NO realiza copia.
 Módulos con estructuras:
 En VBScript las estructuras siempre son pasadas
como parámetros por referencia.
 Copia de una Estructura utilizando una subrutina.

Informática – Prof. Gonzalo Müller – Clase 12 – GM - 54

Вам также может понравиться