¿Cómo describir un diagrama de flujo en...

15
I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista ©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por 1 ¿Cómo describir un diagrama de flujo en pseudocódigo? Por: Iván Cruz Aceves Antes de utilizar un lenguaje de programación, es necesario estructurar algoritmos y diagramas de flujo de tal manera que cuando se obtenga el pseudocódigo sea mucho más sencillo el interpretar el mismo en un editor para poder probarlo. Es importante mencionar que el pseudocódigo es el último paso para estructurar un programa, pues los lenguajes de programación aunque tengan una estructura similar en cuanto al uso de instrucciones y condiciones, las mismas pueden variar un poco. Entre los componentes que deben integrar el pseudocódigo, Forouzan (2006) menciona: “Encabezado, propósito, precondición, postcondición, devolución, números de condición y constructores de instrucción” (p. 351). En la Tabla 1 de describen cada uno de ellos. Componente Descripción Encabezado Es el nombre que se le asigna al algoritmo y que además describe en qué consiste con pocas palabras. Propósito Es una breve descripción acerca de la función del algoritmo en forma general. Precondición Consiste en detallar los requisitos o requerimientos del algoritmo para poder funcionar, generalmente comprende la entrada de datos. Postcondición Se refiere al efecto que genera el algoritmo, por ejemplo impresión de datos. El pseudocódigo consiste en “Una representación tipo idioma ingles del código requerido para un algoritmo. Es parte inglés y parte código estructurado” Forouzan (2003, p.146). “Un lenguaje artificial e informal que ayuda a los programadores a desarrollar algoritmos. El pseudocódigo es similar al inglés común; es conveniente y sencillo no es un lenguaje de programación real” Harvey (2003, p. 51).

Transcript of ¿Cómo describir un diagrama de flujo en...

Page 1: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

1

 

      ¿Cómo describir un diagrama de flujo en pseudocódigo?  

Por: Iván Cruz Aceves  

 

Antes de utilizar un lenguaje de programación, es necesario estructurar algoritmos y diagramas de flujo de tal manera que cuando se obtenga el pseudocódigo sea mucho más sencillo el interpretar el mismo en un editor para poder probarlo. Es importante mencionar que el pseudocódigo es el último paso para estructurar un programa, pues los lenguajes de programación aunque tengan una estructura similar en cuanto al uso de instrucciones y condiciones, las mismas pueden variar un poco.

Entre los componentes que deben integrar el pseudocódigo, Forouzan (2006) menciona: “Encabezado, propósito, precondición, postcondición, devolución, números de condición y constructores de instrucción” (p. 351). En la Tabla 1 de describen cada uno de ellos.

Componente Descripción Encabezado Es el nombre que se le asigna al algoritmo y que

además describe en qué consiste con pocas palabras.

Propósito Es una breve descripción acerca de la función del algoritmo en forma general.

Precondición Consiste en detallar los requisitos o requerimientos del algoritmo para poder funcionar, generalmente comprende la entrada de datos.

Postcondición Se refiere al efecto que genera el algoritmo, por ejemplo impresión de datos.

El pseudocódigo consiste en “Una representación tipo idioma ingles del código requerido para un algoritmo. Es parte inglés y parte código estructurado” Forouzan (2003, p.146). “Un lenguaje artificial e informal que ayuda a los programadores a desarrollar algoritmos. El pseudocódigo es similar al inglés común; es conveniente y sencillo no es un lenguaje de programación real” Harvey (2003, p. 51).

Page 2: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

2

Devolución Consiste en mostrar o especificar lo que devuelve

el algoritmo. En caso de que no devuelva algún valor es recomendable que este apartado diga nulo.

Números de instrucción Es la numeración de todas las instrucciones que se encuentran en el algoritmo. Éstas son dependientes de otras que se van a numerar como dependientes, por ejemplo: 1.1. 1.2. 1.3….

Constructores de instrucción Se refiere  a las tres estructuras que se utilizan para el desarrollo de algoritmos. Entre ellas se encuentran: secuencia, selección y repetición.

Tabla 1. Componentes del pseudocódigo.

A continuación, te invito a revisar el siguiente ejemplo, en el que se detallan los componentes de un algoritmo para realizarlo en pseudocódigo. La primer fase para el desarrollo de un programa consiste en identificar el problema y planear una solución. Al realizar lo anterior, tendremos como resultado el algoritmo, como el que se muestra en el Ejemplo 1. Algoritmo para sumar dos números.

Algoritmo para sumar dos números sumadosnumeros variables: número1, número2, x Inicia algoritmo. Entrada: número1, número 2.

1. Suma número1 y número 2. 2. Devuelve el resultado del paso 1.

Termina algoritmo.

Ejemplo 1. Algoritmo para sumar dos números.

Una vez desarrollado el algoritmo, es conveniente representar de manera gráfica la solución planteada mediante un diagrama de flujo también conocido como DFD en el que se muestre la secuencia y el desarrollo del algoritmo con la finalidad de revisar y verificar si el algoritmo funciona correctamente. En la Figura 1 se muestra el diagrama de flujo para sumar dos números.

Page 3: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

3

Figura 1. Diagrama de flujo para sumar dos números.

En la siguiente fase, se desarrolla y se afina el algoritmo. Para ello, se crea el pseudocódigo, como se muestra en la Tabla 2. Pseudocódigo.

Componente Descripción Encabezado sumadosnumeros Propósito Algoritmo que realiza la suma de dos números

cualquiera. Precondición Variables: número1,   número2, resultado. Postcondición Muestra en pantalla el resultado de la suma de dos

números. Devolución Resultado de la suma. Números de instrucción Constructores de instrucción

1.    resultado= número 1 + número 2. 2.    Escribe El resultado de la suma es: ,

resultado. End (indica el término del algoritmo).

Tabla 2. Pseudocódigo.

A continuación revisemos los siguientes ejemplos de pseudocódigo utilizando las estructuras de control.

Page 4: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

4

El algoritmo se muestra en la siguiente tabla, titulada: Algoritmo que suma dos números ingresados por el usuario.

Algoritmo sumadosnumeros Variables: número 1, número 2, resultado. Inicia algoritmo. Pedir al usuario que escriba el número 1. Entrada: numero1. Pedir al usuario que escriba el número 2. Entrada: número 2. 1. Suma número.1 y número 2. 2. Devuelve el resultado del paso 1. Termina algoritmo.

Tabla 3. Algoritmo que suma dos números ingresados por el usuario.

Ya que se ha desarrollado el algoritmo, se convierte el mismo a diagrama de flujo, como se muestra en la Figura 2. Diagrama de flujo que suma dos números ingresados por el usuario.

Ejemplo de una estructura secuencial. Crea un algoritmo y un diagrama de flujo que sume dos números considerando que se pedirá al usuario que ingrese cada uno de ellos.

Page 5: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

5

Figura 2. Diagrama de flujo que suma dos números ingresados por el usuario.

A continuación, se afina el algoritmo y el diagrama de flujo y se realiza el pseudocódigo, justo como se muestra en la Tabla 4. Pseudocódigo que suma dos números ingresados por el usuario.

Componente Descripción Encabezado sumadosnumeros Propósito Algoritmo que realiza la suma de dos números

cualquiera que ingrese el usuario. Precondición Número 1, número 2, resultado. Postcondición Muestra en pantalla el resultado de la suma de dos.

Números. Devolución Resultado de la suma. Números de instrucción Constructores de instrucción

1.    Escribe: Dame un número. 2.    Lee: número1. 3.    Escirbe: Dame el número 2. 4.    Lee: número 2. 5.    Resultado=número 1 + número 2. 6.    Escribe: resultado.

End. Tabla 4. Pseudocódigo que suma dos números ingresados por el usuario.

Page 6: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

6

El algoritmo que resulta de este ejemplo se muestra en la Tabla 5. Algoritmo que suma dos números ingresados por el usuario.

Algoritmo multiplicadosnumeros Variables: número 1, número 2, resultado. Inicia algoritmo. Pedir al usuario que escriba el número 1. Entrada: número 1. Pedir al usuario que escriba el número 2. Entrada: número 2. 1. Multiplica número 1 y número 2. 2. Devuelve el resultado del paso 1. Termina algoritmo.

Tabla 5. Algoritmo que multiplica dos números ingresados por el usuario. Ya que se ha desarrollado el algoritmo se convierte el mismo a diagrama de flujo, como se muestra en la Figura 3. Diagrama de flujo que multiplica dos números ingresados por el usuario.

Ejemplo de una estructura secuencial. Crea un algoritmo y un diagrama de flujo que multiplique dos números, considerando que se pedirá al usuario que ingrese cada uno de los números.

Page 7: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

7

Figura 3. Diagrama de flujo que multiplica dos números ingresados por el usuario.

A continuación, se afina el algoritmo y el diagrama de flujo y se realiza el pseudocódigo, justo como se muestra en la Tabla 6. Pseudocódigo que multiplica dos números ingresados por el usuario.

Tabla 6. Pseudocódigo que multiplica dos números ingresados por el usuario.

Ejemplo de una estructura de decisión Crea un algoritmo y un diagrama de flujo que muestre si un alumno ha aprobado o reprobado una

Page 8: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

8

materia, para ello toma en cuenta las siguientes consideraciones: • El alumno debe ingresar las calificaciones del primer, segundo y tercer periodo de evaluación. • La calificación final esta integrada por el promedio de los tres periodos de evaluación. • La calificación aprobatoria es de 70.

El algoritmo que resulta de este ejemplo se muestra en la Tabla 7. Algoritmo que promedia calificaciones.

Tabla 7. Algoritmo que promedia calificaciones.

Ya que se ha desarrollado el algoritmo, se convierte el mismo a diagrama de flujo, como se muestra en la Figura 4. Diagrama de flujo que promedia calificaciones.

Page 9: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

9

Figura 4. Diagrama de flujo que promedia calificaciones.

A continuación, se afina el algoritmo y el diagrama de flujo y se realiza el pseudocódigo, justo como se muestra en la Tabla 8. Pseudocódigo que promedia calificaciones.

Page 10: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

10

Tabla 8. Pseudocódigo que promedia calificaciones.

Ejemplo de una estructura de repetición. Crea un algoritmo y un diagrama de flujo que sume una serie de números, para ello toma en cuenta las siguientes consideraciones: El usuario debe ingresar cada número que se va sumando. Cuando el resultado de la suma sea mayor a 1000, se terminará el programa. El resultado debe mostrar cuántos números se sumaron en total y el resultado de la suma. El algoritmo que resulta de este ejemplo se muestra en la tabla titulada Algoritmo suma serie.

Page 11: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

11

Tabla 9. Algoritmo suma serie.

Ya que se ha desarrollado el algoritmo, se convierte el mismo a diagrama de flujo, como se muestra en la Figura 5. Diagrama de flujo suma serie.

Figura 5. Diagrama de flujo suma serie.

A continuación, se afina el algoritmo y el diagrama de flujo, y se realiza el pseudocódigo, justo como se

Page 12: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

12

muestra en la Tabla 10. Pseudocódigo suma serie.

Tabla 10. Pseudocódigo suma serie.

Es importante mencionar que en la escritura del pseudocódigo es recomendable seguir una secuencia lógica. Para no perderse con el seguimiento de los ciclos, se recomienda dejar sangrías que indiquen las instrucciones dentro de cada ciclo, justo como se muestra en la Figura 6. Estructura de un pseudocódigo.

Figura 6. Estructura de un pseudocódigo.

Page 13: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

13

Subalgorimos  Dentro de la programación, es muy importante saber estructurar un problema en partes más pequeñas que puedan resolverse con mayor facilidad. A cada una de las partes que compondrá el algoritmo principal se le denomina subalgoritmos. Cada subalgoritmo es un algoritmo independiente de los demás, es decir, son pequeñas unidades que pueden realizar una actividad en específico. Por ejemplo, si se desea elaborar un algoritmo que realice las cuatro operaciones matemáticas básicas que son: suma, resta, multiplicación y división de dos números obtenidos por el usuario, una manera de realizar lo anterior sería elaborar cuatro subalgoritmos donde cada uno de ellos se encargue de realizar una operación y el algoritmo principal únicamente determine cuál de los subalgoritmos debe utilizarse de acuerdo a la selección del usuario. En términos de programación, tal como lo menciona Forouzan (2003), los subalgoritmos también pueden ser llamados: “subprogramas, subrutinas, procedimientos, funciones, métodos o módulos” (p. 150). En la Figura 7. Representación de un subalgoritmo, puedes observar la representación de un algoritmo en el que se indica a un usuario cuando un precio sobrepasa la cantidad de dinero con que cuenta haciendo uso de un subalgoritmo.

Figura 7. Representación de un subalgoritmo.

El algoritmo denominado precio quedaría como se muestra en la Figura 8. Subalgoritmo función precio.

Page 14: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

14

Figura 8. Subalgoritmo función precio.

Cuando la lógica de un algoritmo sigue un orden consecutivo y hace de subalgoritmos se dice que al momento de programarlo se hará uso de programación estructurada. La importancia de la programación estructurada es poder utilizar además reutilizar algoritmos en otros programas, por ello es importante el uso y desarrollo de subalgoritmos. Es conveniente recalcar que la última fase antes de iniciar a programar es la creación del pseudocódigo. Entre más detallado sea el pseudocódigo, recuerda que menor margen de error se tendrá al pasar las instrucciones a un lenguaje de programación.

Referencias   

Cairó, O. (2006). Fundamentos de programación. Piensa en C. México: Pearson Educación. [Versión en línea]. Recuperado el 02 de agosto de 2010 de la base de datos Bibliotechnia, de la Biblioteca Digital UVEG. Forouzan, A. (2003). Introducción a la ciencia de la computación, de la manipulación de datos a la teoría de la computación (Trad. Lorena Peralta). México: Thomson Learning. Harvey, D. (2004). Cómo programar en C/C++ y Java. Recuperado el 13 de Agosto de 2010, de la base de datos Bibliotechnia, de la Biblioteca Digital UVEG.

Page 15: ¿Cómo describir un diagrama de flujo en pseudocódigo?roa.uveg.edu.mx/.../186/Cmodescribirundiagramadeflujoenpseudocdigo.pdf · Figura 2. Diagrama de flujo que suma dos números

  I-MIP7001_M2AA2L1_Cédula Versión: Septiembre 2012 Revisor: En lista

 

 

©UVEG. Derechos reservados. Esta obra no puede ser reproducida, modificada, distribuida, ni transmitida, parcial o totalmente, mediante cualquier medio, método o sistema impreso, electrónico, magnético, incluyendo el fotocopiado, la fotografía, la grabación o un sistema de recuperación de la información, sin la autorización por escrito de la Universidad Virtual del Estado de Guanajuato.

15