Descripción: Clase 10 Programación, Prof. Gonzalo Müller,
Programación
Clase 10. Javascript Modular Prof. Gonzalo Müller
[email protected]
Facultad de Ingeniería Universidad Central de Venezuela
Clase Anterior
Programación estructurada. Programación modular. Algoritmo: Bloque principal, llamadas, 20 líneas. Módulos. Clases. Tipos: Subrutinas y Funciones. Representación de Algoritmos Modulares Definición: subrutinas, funciones. Llamada: subrutinas, funciones. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 2
Clase Anterior
Metodología de la Programación Modular Diseño Modular: Diagrama Top-Down. DRE, DF, PC y CF. Tabla de Módulos. Características: Acoplamiento y Cohesión. Acoplamiento de datos básico. Solo bloques terminales del DTD. Subrutinas: No generan resultado. Funciones: Generan 1 resultado.
Beneficios: reutilización, cambios, errores y tiempo. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 3
Programación Modular El uso de módulos consta de tres pasos: 1. Declaración. 2. Definición. 3. Llamada.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 4
Programación Modular 1. Declaración: hace público el modulo para su uso en programa.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 5
Programación Modular 1. Declaración: hace público el modulo para su uso en programa. 2. Definición: le da la forma al módulo, es la que le da vida en el programa.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 6
Programación Modular 1. Declaración: hace público el modulo para su uso en programa. 2. Definición: le da la forma al módulo, es la que le da vida en el programa. 3. Llamada: cuando se le da uso al modulo en el programa.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 7
Programación Modular 1. Declaración: hace público el modulo para su uso en programa. Sin la declaración, el modulo no podría ser utilizado por el programa 2. Definición: le da la forma al módulo, es la que le da vida en el programa. Sin la definición, el modulo no funcionaría 3. Llamada: cuando se le da uso al modulo en el programa. Sin llamadas, el modulo no tiene razón de existir Programación – Prof. Gonzalo Müller – Clase 10 – GM - 8
Declaración Presenta al programa el encabezado del módulo, Nombre y Parámetros que recibe, lo que se conoce como prototipo. Nombre(parámetro1, parámetro2, …) Dando a conocer el módulo para poder hacer uso de este a lo largo de todo el programa.
A igual que las variables, los módulos deben ser declarados antes de ser utilizados. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 9
Definición Constituye la Codificación del Algoritmo del módulo, es decir, el conjunto de sentencias necesarias para que éste realice la tarea a la que está destinado. Nombre(parámetro1, parámetro2, …) … Fin
Al igual que el programa principal un módulo:
Puede declarar sus propias variables.
Puede realizar llamadas a otros módulos. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 10
Declaración y Definición en Javascript En Javascript la Declaración y la Definición se realizan juntas en un sola operación
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 11
Declaración y Definición en Javascript En Javascript la Declaración y la Definición se realizan juntas en un sola operación utilizando la palabra clave function: function nombre(parametro1, parametro2,…) { … }
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 12
Declaración y Definición en Javascript En Javascript la Declaración y la Definición se realizan juntas en un sola operación utilizando la palabra clave function: Declaración
function nombre(parametro1, parametro2,…) { … }
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 13
Declaración y Definición en Javascript En Javascript la Declaración y la Definición se realizan juntas en un sola operación utilizando la palabra clave function: function nombre(parametro1, parametro2,…) { …
Definición
}
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 14
Declaración y Definición en Javascript Título Módulos deben ser declarados antes de ser utilizados
DECLARACIÓN Y DEFINICIÓN DE MÓDULOS Contenido Original Programa Principal Programación – Prof. Gonzalo Müller – Clase 10 – GM - 15
Declaración y Definición en Javascript
El nombre del módulo constituye un identificador por lo que debe cumplir con las reglas de identificadores. Identificador de la función
function nombre(parametro1, parametro2,…) { … }
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 16
Declaración y Definición en Javascript Reglas para definir un Identificador: 1. Se forma con un secuencia de los siguientes caracteres: a
bcdefghijklmnopqrstuvwxyz
A
BCDEFGHIJKLMNOPQRST UVWXYZ
0
123456789
_
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 17
Declaración y Definición en Javascript 2. No puede contener espacios en blanco, ni ningún otro carácter diferente de los indicados en anteriormente. 3. El primer carácter no puede ser un dígito. 4. Hay distinción entre las letras mayúsculas y minúsculas. Recomendación: utilizar nombres que tengan un significado para el dato ó módulo que representan. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 18
Declaración y Definición en Javascript Ejemplo: function mayor2(dato1, dato2) … function Mayor2(dato1, dato2)
Correctos
… function Mayor_2(dato1, dato2) … function Mayor 2(dato1, dato2) …
Incorrectos
function 2Mayor(dato1, dato2) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 19
Declaración y Definición en Javascript Ejemplo: function mayor2(dato1, dato2) …
Diferentes
function Mayor2(dato1, dato2) … function Mayor_2(dato1, dato2) … function Mayor 2(dato1, dato2) … function 2Mayor(dato1, dato2) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 20
Declaración y Definición en Javascript
Declaración y Definición de una Subrutina: function nombre(parametro1, parametro2, …) { // Declaraciones locales //
… // Algoritmo //
… }
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 21
Declaración y Definición en Javascript
Declaración y Definición de una Subrutina: function nombre(parametro1, parametro2, …) { // Declaraciones locales //
… // Algoritmo //
… } Los parámetros no se declaran como las variables, es decir, NO se debe colocar: var parametro1, parametro2 …; Programación – Prof. Gonzalo Müller – Clase 10 – GM - 22
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una subrutina para escribir en la salida un resultado: function escribeResultado(resultado) { document.write(“Raiz:”, resultado); }
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 23
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una subrutina para escribir en la salida un resultado: function escribeResultado(resultado) { document.write(“Raiz:”, resultado); }
Ejemplo: Declarar y Definir subrutina para escribir en la salida el encabezado del programa: Sin Parámetro function escribeEncabezado() { document.write(“COLARA 1.02080”); } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 24
Declaración y Definición en Javascript Ejemplo: Construir una pagina web con Javascript con acoplamiento de datos básicos para para leer y sumar dos números.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 25
Declaración y Definición en Javascript
Declaración y Definición de una Función: se utiliza la palabra clave return para el retorno function nombre(parametro1, parametro2, …) { // Declaraciones locales //
… // Algoritmo //
… // return valor; } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 26
Declaración y Definición en Javascript
Declaración y Definición de una Función: function nombre(parametro1, parametro2, …) { // Declaraciones locales //
… // Algoritmo //
… // return valor; }
Retorno Programación – Prof. Gonzalo Müller – Clase 10 – GM - 27
Declaración y Definición en Javascript
Variable retorno: Usualmente se define una variable local que contiene el valor a retornar. function nombre(parametro1, parametro2, …) { // Declaraciones locales // var resultado; Variable retorno
… // Algoritmo //
… // return resultado; }
Retorno
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 28
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule la suma de dos números y utilizar en el ejemplo anterior.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 29
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 30
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3 c
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 31
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3 c cubo(n) c = n*n*n retorna c
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 32
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3
Modulo
Parámetros
Retorno
Tipo
cubo
n
c
Función
Variables
c
c
cubo(n) c = n*n*n retorna c
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 33
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3 c cubo(n) c = n*n*n retorna c
Modulo
Parámetros
Retorno
Tipo
cubo
n
c
Función
Encabezado de la función
function cubo(n) {
} Programación – Prof. Gonzalo Müller – Clase 10 – GM - 34
Variables c
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3
Modulo
Parámetros
Retorno
Tipo
cubo
n
c
Función
Variables
c cubo(n) c = n*n*n retorna c
c
function cubo(n) { DECLARACIONES SECUENCIA DE SENTENCIAS
} Programación – Prof. Gonzalo Müller – Clase 10 – GM - 35
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3
Modulo
Parámetros
Retorno
Tipo
cubo
n
c
Función
Variables
c cubo(n) c = n*n*n retorna c
c
function cubo(n) { var c;
} Programación – Prof. Gonzalo Müller – Clase 10 – GM - 36
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3
Modulo
Parámetros
Retorno
Tipo
cubo
n
c
Función
Variables
c cubo(n) c = n*n*n retorna c
c
function cubo(n) { var c; c=n*n*n; } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 37
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número. n
c=n3
Modulo
Parámetros
Retorno
Tipo
cubo
n
c
Función
Variables
c cubo(n) c = n*n*n retorna c
c
function cubo(n) { var c; c=n*n*n; return c; } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 38
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número: function cubo(n) { // Declaraciones locales // var c; // Algoritmo // c = n*n*n; // return c; } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 39
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número: function cubo(n) { // Declaraciones locales // var c; Variable retorno // Algoritmo // c = n*n*n; // return c; Retorno } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 40
Declaración y Definición en Javascript Ejemplo: Declarar y Definir una función que calcule el cubo de un número: Es un parámetro y por lo function cubo(n) tanto NO SE DECLARA { // Declaraciones locales // var c; Variable retorno // Algoritmo // c = n*n*n; // return c; Retorno } Programación – Prof. Gonzalo Müller – Clase 10 – GM - 41
Llamada Pone en ejecución el módulo. Se coloca el nombre del módulo. Seguido de los argumentos separados por comas entre paréntesis. Nombre(Argumento1, Argumento2, …)
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 42
Llamada
Llamada de una Subrutina: se pone en ejecución a través una sentencia de llamada: Nombre(Argumento1, Argumento2, …);
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 43
Llamada
Llamada de una Subrutina: se pone en ejecución a través una sentencia de llamada: Nombre(Argumento1, Argumento2, …); Ejemplo: escribeEncabezado(); … escribeResultado(s); … Programación – Prof. Gonzalo Müller – Clase 10 – GM - 44
Llamada
Llamada de una Función: una función retorna un valor, por lo que la llamada formará parte de una: Sentencia a Asignación: Variable = Nombre(Argumento1, Argumento2, …);
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 45
Llamada
Llamada de una Función: una función retorna un valor, por lo que la llamada formará parte de una: Sentencia a Asignación: Variable = Nombre(Argumento1, Argumento2, …);
Expresión Lógica: (Nombre(Argumento1, Argumento2, …) != …)
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 46
Llamada
Llamada de una Función: una función retorna un valor, por lo que la llamada formará parte de una: Sentencia a Asignación: Variable = Nombre(Argumento1, Argumento2, …);
Expresión Lógica: (Nombre(Argumento1, Argumento2, …) != …)
Expresión Aritmética: …+ Nombre(Argumento1, Argumento2, …) / 2…
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 47
Llamada
Llamada de una Función: una función retorna un valor, por lo que la llamada formará parte de una: Sentencia a Asignación: Variable = Nombre(Argumento1, Argumento2, …);
Expresión Lógica: (Nombre(Argumento1, Argumento2, …) != …)
Expresión Aritmética: …+ Nombre(Argumento1, Argumento2, …) / 2…
Otra Llamada (como Argumento): Argumento
Nombre1(…, Nombre(Argumento1, …, …)); Programación – Prof. Gonzalo Müller – Clase 10 – GM - 48
Llamada Sentencia a Asignación: Ejemplo:
s = cubo(a);
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 49
Llamada Sentencia a Asignación: Ejemplo:
s = cubo(a);
Expresión Lógica: Ejemplo:
(cubo(a) > 10)
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 50
Llamada Sentencia a Asignación: Ejemplo:
s = cubo(a);
Expresión Lógica: Ejemplo:
(cubo(a) > 10)
Expresión Aritmética: Ejemplo:
(cubo(a) + 2)/cubo(b)
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 51
Llamada Sentencia a Asignación: Ejemplo:
s = cubo(a);
Expresión Lógica: Ejemplo:
(cubo(a) > 10)
Expresión Aritmética: Ejemplo:
(cubo(a) + 2)/cubo(b)
Otra Llamada (como Argumento): Ejemplo:
Argumento cubo(a + cubo(b))
Argumento escribeResultado(cubo(a)) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 52
Ejercicio
Construir una pagina web con Javascript con acoplamiento de datos básicos para calcular el máximo Al menos 3 módulos: de 2 números. lectura, proceso y Fase 1: Diseño y Análisis: DES, DTD escritura DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 53
Llamada
Funcionamiento de los parámetros de entrada: Suponga un módulo con dos entradas: Entrada 1
Módulo Caja Negra
Entrada 2
Declaración y Definición: Modulo(parametro1, parametro2) ... Programación – Prof. Gonzalo Müller – Clase 10 – GM - 54
Llamada
Módulo parametro1 parametro2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 55
Internamente
Llamada El módulo puede ser llamado con 2 constantes: 8 y 9
Módulo 8 9
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 56
Llamada
Módulo 8 9
Llamada: Modulo(8, 9) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 57
Llamada Internamente, el módulo maneja los parámetros 1 y 2, con los valores 8 y 9, respectivamente.
Módulo parametro1 parametro2
parametro1=8 parametro2=9 Programación – Prof. Gonzalo Müller – Clase 10 – GM - 58
Llamada
Módulo parametro1 parametro2
Opera con parametro1 y parametro2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 59
Llamada El módulo puede ser llamado con 2 variables: A y B
Módulo Variable A Variable B
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 60
Llamada
Módulo Variable A Variable B
Llamada: Modulo(A, B) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 61
Llamada Internamente, el módulo maneja los parámetros 1 y 2, con los valores de A y B, respectivamente.
Módulo parametro1 parametro2
parametro1=valor de A parametro2=valor de B Programación – Prof. Gonzalo Müller – Clase 10 – GM - 62
Llamada
Módulo parametro1 parametro2
Opera con parametro1 y parametro2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 63
Llamada El módulo puede ser llamado con 2 variables: X y Y
Módulo Variable X Variable Y
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 64
Llamada
Módulo Variable X Variable Y
Llamada: Modulo(X, Y) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 65
Llamada Nuevamente, el módulo maneja los parámetros 1 y 2, ahora con los valores de X y Y, respectivamente.
Módulo parametro1 parametro2
parametro1=valor de X parametro2=valor de Y Programación – Prof. Gonzalo Müller – Clase 10 – GM - 66
Llamada
Módulo parametro1 parametro2
Opera con parametro1 y parametro2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 67
Llamada El módulo puede ser llamado con dos expresiones como argumento.
Módulo Expresión 1 Expresión 2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 68
Llamada
Módulo Expresión 1 Expresión 2
Llamada: Modulo(Expresión 1, Expresión 2) Programación – Prof. Gonzalo Müller – Clase 10 – GM - 69
Llamada Nuevamente, el módulo maneja los parámetros 1 y 2, ahora con los valores resultados de las expresiones.
Módulo
parametro1 parametro2
parametro1=resultado de Expresion1 parametro2=resultado de Expresion2 Programación – Prof. Gonzalo Müller – Clase 10 – GM - 70
Llamada
Módulo parametro1 parametro2
Opera con parametro1 y parametro2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 71
Llamada
Se puede llamar el módulo con diferentes valores: variables, constantes o expresiones
Módulo parametro1 parametro2
Internamente siempre serán parametro1 y parametro2
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 72
Llamada Ejemplo: Llamadas: ... a = cubo(6.7); Llamada a la escribeResultado(a); misma función con ... diferentes valores b = cubo(a); escribeResultado(b); ... escribeResultado(12); ... ulNumero = cubo(a + b); escribeResultado(ulNumero+1); Programación – Prof. Gonzalo Müller – Clase 10 – GM - 73
Llamada function cubo(n) { // Declaraciones locales // Internamente var c; siempre será n // Algoritmo // c = n*n*n; // return c; }
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 74
Llamada Llamadas: ... a = cubo(6.7); escribeResultado(a); ... b = cubo(a); escribeResultado(b); ... escribeResultado(12); ... ulNumero = cubo(a + b); escribeResultado(ulNumero+1); Programación – Prof. Gonzalo Müller – Clase 10 – GM - 75
Llamada a la misma subrutina con diferentes valores
Llamada Definición: function escribeResultado(resultado) { document.write(“Cubo:”, resultado); } Internamente siempre será resultado
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 76
Programación Modular en Javascript Ejemplo: Construir una pagina web con Javascript con acoplamiento de datos básicos para calcular las raíces de una ecuación cuadrática.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 77
Ejercicio
Construir una pagina web con Javascript con acoplamiento de datos básicos para calcular el cubo de Al menos 3 módulos: 3 números. lectura, proceso y Fase 1: Diseño y Análisis: DES, DTD escritura DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 78
Ejercicio
Construir una pagina web con Javascript con acoplamiento de datos básicos para calcular el cubo de Al menos 3 módulos: N números. lectura, proceso y Fase 1: Diseño y Análisis: DES, DTD escritura DES, DRE ó DF y LV de Módulos y TM. DES, DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 79
Ámbito de una variable Establece en que bloques del programa puede ser utilizada la variable. Ámbito Global → Variables globales: pueden ser utilizadas en cualquier parte del código. Ámbito Local → Variables locales: pueden ser utilizadas sólo en el bloque de código donde fueron declaradas. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 80
Ámbito Global
datoGlobal Algoritmo principal
Funcion1()
Subrutina1()
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 81
Ámbito Global
datoGlobal Algoritmo principal
Funcion1()
Subrutina1()
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 82
datoGlobal puede ser empleada en cualquiera de estos bloques
Ámbito Global … function funcion1() { … } datoGlobal puede function subrutina1() ser empleada en { cualquiera de estos … bloques } … … En Javascript las variables del bloque principal son variables globales Programación – Prof. Gonzalo Müller – Clase 10 – GM - 83
Ámbito Local
Algoritmo principal datoMain Funcion1() datoFuncion1 Subrutina1() datoSubrutina1
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 84
Ámbito Local
Algoritmo principal datoMain Funcion1() datoFuncion1 Subrutina1() datoSubrutina1
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 85
datoMain sólo es válido dentro del algoritmo principal datoFuncion1 sólo es válido dentro de Funcion1 datoSubrutina1 sólo es válido dentro de Subrutina1
Ámbito Local … function funcion1() datoFuncion1 sólo { var datoFuncion1; es válido dentro de … Funcion1 } function subrutina1() datoSubrutina1 sólo { var datoSubrutina1; es válido dentro de … Subrutina1 } … datoMain “sólo” es var datoMain; válido dentro del … algoritmo principal Programación – Prof. Gonzalo Müller – Clase 10 – GM - 86
Ámbito Local Ejemplo: … function funcion1() { var datoFuncion1; datoFuncion1 = 11; } function subrutina1() { var datoSubrutina1; datoFuncion1 = 12; } … var datoMain; datoFuncion1 = 13;
ERROR!
ERROR!
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 87
Ámbito Local … function funcion1() { var dato1; dato1 de Funcion1 … } function subrutina1() { var dato1; dato1 de Subrutina1 … } … var dato1; dato1 del algoritmo principal … Programación – Prof. Gonzalo Müller – Clase 10 – GM - 88
Ámbito Local Ejemplo:
…
function funcion1() { var dato1; dato1 = 11; return dato1; } function subrutina1() { var dato1; dato1 = 12; document.write(“subrutina” + dato1); } …
var dato1; dato1 = 13; document.write(“funcion:” + funcion1()); subrutina1(); document.write(“principal:” + dato1); Programación – Prof. Gonzalo Müller – Clase 10 – GM - 89
Ámbito Global y Local El ámbito local predomina sobre el ámbito global. dato1 Algoritmo principal dato1 Funcion1() dato1 Subrutina1() dato1
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 90
Ejercicios Construir una pagina web para: 1) Calcular f(x) = sen(2*x)+x4 para N puntos. 2) Determinar las distancias entre N maquinas. Fase 1: Diseño y Análisis: DES, DTD DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 91
Ejercicios Construir una pagina web para: 3) Calcular el factorial de N números. 4) Dado un conjunto de N números, establecer cuales son números compuestos. Fase 1: Diseño y Análisis: DES, DTD DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 92
Ejercicios Construir una pagina web para: 5) Promediar los pares y promediar los impares de los números entre A y B. 6) Dado N intervalos, calcular la sumatoria de los números que contiene cada intervalo. Fase 1: Diseño y Análisis: DES, DTD DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 93
Ejercicios Construir una pagina web para: 7) Dado un conjunto de puntos en R2 por el usuario determinar cuales se encuentra por encima, por debajo y sobre una recta dada por el usuario. 8) Encontrar por Newton 1 solución para f(x) = 0. Fase 1: Diseño y Análisis: DES, DTD DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript. Programación – Prof. Gonzalo Müller – Clase 10 – GM - 94
Ejercicios Construir una pagina web para: 9) Encontrar 1 Mínimo de f(x) por 1+1. Fase 1: Diseño y Análisis: DES, DTD DES, DRE ó DF y LV de Módulos y TM. DRE ó DF, LV y CF de Bloque Principal.
Identificar parámetros, variables y variables de retorno
Fase 2: Codificación: pagina Web con Javascript.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 95
Resumen
Programación Modular 1. Declaración. 2. Definición. 3. Llamada. Declaración y Definición en Javascript: function Bloque de declaración en Reglas para identificadores Subrutina Función: return
Variable retorno Programación – Prof. Gonzalo Müller – Clase 10 – GM - 96
Resumen
Llamada: Subrutina: Sentencia de Llamada. Función: Asignación, Expresión, Argumento. Parámetros de entrada: variables, constantes o expresiones.
Ámbito: Local y Global local predomina sobre el global.
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 97