Programación

Clase 10. Javascript Modular
Prof. Gonzalo Müller
gmullerb@mail.com

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
<html> <head> <title>Título</title> Módulos deben ser declarados antes de ser utilizados <script> DECLARACIÓN Y DEFINICIÓN DE MÓDULOS </script> </head> <body> Contenido Original </body> <script> Programa Principal </script> </html>
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:

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRST UVWXYZ 0123456789 _
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) … function Mayor_2(dato1, dato2) … function Mayor 2(dato1, dato2) … function 2Mayor(dato1, dato2)
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 19

Correctos

Incorrectos

Declaración y Definición en Javascript
Ejemplo:
function mayor2(dato1, dato2) … 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

Diferentes

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.0<br/>2080<br/>”); }
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 c=n3

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
cubo(n)
c = n*n*n retorna c

c=n3

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.
Modulo Parámetros Retorno Tipo

n c
cubo(n)
c = n*n*n retorna c

c=n3

cubo

n

c

Función

Variables
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.
Modulo Parámetros Retorno Tipo

n c
cubo(n)
c = n*n*n retorna c

c=n3

cubo

n

c

Función

Encabezado de la función

Variables
c

<script> function cubo(n) {

} </script>
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 34

Declaración y Definición en Javascript
Ejemplo: Declarar y Definir una función que calcule el cubo de un número.
Modulo Parámetros Retorno Tipo

n c
cubo(n)
c = n*n*n retorna c

c=n3

cubo

n

c

Función

Variables
c

<script> function cubo(n) {
DECLARACIONES SECUENCIA DE SENTENCIAS

} </script>
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.
Modulo Parámetros Retorno Tipo

n c
cubo(n)
c = n*n*n retorna c

c=n3

cubo

n

c

Función

Variables
c

<script> function cubo(n) { var c;

} </script>
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.
Modulo Parámetros Retorno Tipo

n c
cubo(n)
c = n*n*n retorna c

c=n3

cubo

n

c

Función

Variables
c

<script> function cubo(n) { var c; c=n*n*n; } </script>
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.
Modulo Parámetros Retorno Tipo

n c
cubo(n)
c = n*n*n retorna c

c=n3

cubo

n

c

Función

Variables
c

<script> function cubo(n) { var c; c=n*n*n; return c; } </script>
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: Ejemplo:
s = cubo(a);

Expresión Lógica:
(cubo(a) > 10)

Programación – Prof. Gonzalo Müller – Clase 10 – GM - 50

Llamada
Sentencia a Asignación: Ejemplo: Ejemplo: Ejemplo:
s = cubo(a);

Expresión Lógica:
(cubo(a) > 10)

Expresión Aritmética:
(cubo(a) + 2)/cubo(b)

Programación – Prof. Gonzalo Müller – Clase 10 – GM - 51

Llamada
Sentencia a Asignación: Ejemplo: Ejemplo: Ejemplo: Ejemplo:
s = cubo(a);

Expresión Lógica:
(cubo(a) > 10)

Expresión Aritmética:
(cubo(a) + 2)/cubo(b) Argumento cubo(a + cubo(b))

Otra Llamada (como Argumento):

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

Internamente

Programación – Prof. Gonzalo Müller – Clase 10 – GM - 55

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 datoGlobal puede ser empleada en cualquiera de estos bloques

Funcion1()

Subrutina1()

Programación – Prof. Gonzalo Müller – Clase 10 – GM - 82

Ámbito Global
… <script> function funcion1() { … } datoGlobal puede function subrutina1() ser empleada en { cualquiera de estos … bloques } </script> … <script> … En Javascript las variables del bloque </script> 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

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

Programación – Prof. Gonzalo Müller – Clase 10 – GM - 85

Ámbito Local
… <script> 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 } </script> … <script> datoMain “sólo” es var datoMain; válido dentro del … algoritmo principal </script>
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 86

Ámbito Local
Ejemplo:
… <script> function funcion1() { var datoFuncion1; datoFuncion1 = 11; } function subrutina1() { var datoSubrutina1; datoFuncion1 = 12; } </script> … <script> var datoMain; datoFuncion1 = 13; </script>

ERROR!

ERROR!

Programación – Prof. Gonzalo Müller – Clase 10 – GM - 87

Ámbito Local
… <script> function funcion1() { var dato1; dato1 de Funcion1 … } function subrutina1() { var dato1; dato1 de Subrutina1 … } </script> … <script> var dato1; dato1 del algoritmo principal … </script>
Programación – Prof. Gonzalo Müller – Clase 10 – GM - 88

Ámbito Local
Ejemplo:

<script> function funcion1() { var dato1; dato1 = 11; return dato1; } function subrutina1() { var dato1; dato1 = 12; document.write(“subrutina” + dato1); } </script>

<script> var dato1; dato1 = 13; document.write(“funcion:” + funcion1()); subrutina1(); document.write(“principal:” + dato1); </script>
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 <script> de declaración en <head> 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

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.