Descripción: Clase 11 de Programación, Prof. Gonzalo Müller
Programación 11
Prof. Gonzalo Müller
[email protected]
Facultad de Ingeniería Universidad Central de Venezuela
Clase Anterior
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 11 – GM - 2
Clase Anterior
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 11 – GM - 3
Normalización de un programa El código fuente debe contener la mayor cantidad de información posible de tal manera de que sea posible familiarizarse con éste de forma fácil y rápida, esto debido a que: Este puede ser utilizado o revisado por otro programador. Pase un tiempo razonable desde la creación del programa y se requiera realizar una mejora, modificación o corrección.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 4
Normalización de un programa Para lograr reducir el tiempo de compresión de un código se puede recurrir a:
Notación.
Documentación.
Indentación.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 5
Notación
Convenciones para la creación de identificadores: identificadores Consisten de un conjunto de reglas utilizadas para la creación de un identificador. Proporciona información importante sobre las características de lo nombrado. Aumenta la legibilidad del código. Existen una gran variedad de convenciones. Un nombre bien escogido puede facilitar la corrección de errores o mejora de un código Programación – Prof. Gonzalo Müller – Clase 11 – GM - 6
Notación
Notación CamelCase: permite la creación de identificadores de múltiples palabras. El identificador debe tener un significado. En ocasiones una sola palabra no es suficiente. Existen dos formas para utilizar esta convención: 1.Utilizar letras mayúsculas al comienzo de cada palabra. 2.Una variante es utilizar el carácter _ para separar las palabras. Programación – Prof. Gonzalo Müller – Clase 11 – GM - 7
Notación Ejemplo: Establecer el identificador para una variable que almacena la sumatoria de números pares: SumatoriaPares o sumatoriaPares o sumatoria_pares o Sumatoria_pares Programación – Prof. Gonzalo Müller – Clase 11 – GM - 8
Notación
Notación a utilizar utilizar: No se utilizará el _. Los contadores pueden ser representados con una sola letra minúscula. El identificador de las variables y módulos debe empezar con una letra minúscula.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 9
Notación Ejemplo: Establecer el identificador para una variable que almacena la sumatoria de números pares: SumatoriaPares o sumatoriaPares o sumatoria_pares o Sumatoria_pares Programación – Prof. Gonzalo Müller – Clase 11 – GM - 10
Documentación Consiste colocar comentarios el código fuente, los cuales son ignorados por el interprete, pero permiten describir la funcionalidad algunas sentencias que puede resultar ambiguas o complejas. Nunca son suficientes comentarios. No se debe comentar lo obvio.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 11
Documentación
Comentarios en Javascript: es posible introducir
comentarios en el programa fuente, que permitan aclarar parte del mismo. El interprete ignora los comentarios. /* : indica al interprete el comienzo de un comentario. */ : indica al interprete el final de un comentario. // : indica al interprete que el resto de la línea es un comentario.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 12
Documentación /* y */ Siempre deben ser usados en pareja. Ejemplo: /* Este es un comentario: lenguaje C++ es el mejor lenguaje de programación */ // Otro comentario: la mayoría de los // sistema operativos son desarrollados // en C++ Programación – Prof. Gonzalo Müller – Clase 11 – GM - 13
Documentación
Comentarios en HTML: es posible introducir comentarios en el documento web, que permitan aclarar parte del mismo. El navegador ignora los comentarios. : indica al navegador el final de un comentario. Siempre deben ser usados en pareja.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 14
Documentación En general se comenta:
Encabezado del programa.
Variables.
Bloque de sentencia.
Funciones.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 15
Documentación Encabezado del programa: generalmente se coloca:
Nombre del programa.
Autor.
Fecha de creación.
Descripción general con el propósito del programa.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 16
Documentación Encabezado:
…
*.html
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 17
Documentación Ejemplo:
…
*.html
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 18
Documentación Variables: normalmente se indica su uso en el programa. Ejemplo: … /// Acumulador de producto de los números var factorial;
…
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 19
Documentación Variables: normalmente se indica su uso en el programa. Ejemplo: … var factorial; // Acumulador de producto
…
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 20
Documentación Bloque de sentencias: generalmente se indica el propósito de la sentencia o bloque de sentencias en caso de no ser evidente. Ejemplo: // Acumula números para la media while(muestra != 0) { media = media + muestra; muestra = muestra - 1; }
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 21
Documentación Bloque principal: … // Declaraciones // var … // Algoritmo //
…
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 22
Documentación Módulos: function nombre(parámetro1, parámetro2, …) { // Declaraciones locales // var resultado;
… // Algoritmo //
… // return resultado; } Programación – Prof. Gonzalo Müller – Clase 11 – GM - 23
Documentación Encabezado de funciones: /// Descripción de la función /// \param parámetro1 descripción /// \param parámetro2 descripción … /// \return descripción de retorno function nombre(parámetro1, parámetro2, …) …
Ejemplo: /// Calcula el cubo de un número dado /// \param numero Número a elevar /// \return Resultado de elevar número a la 3 function cubo(numero) … Programación – Prof. Gonzalo Müller – Clase 11 – GM - 24
Documentación Encabezado de subrutinas: /// Descripción de la subrutina /// \param parámetro1 descripción /// \param parámetro2 descripción … function nombre(parámetro1, parámetro2, …) …
Ejemplo: /// Escribe en pantalla resultado /// \param resultado Resultado a escribir function escribeResultado(resultado) … Programación – Prof. Gonzalo Müller – Clase 11 – GM - 25
Documentación
Documentación a utilizar: utilizar Se debe documentar: Encabezado. Bloque Principal. Módulos: Bloque y Descripción. De ser necesario: Variables. Bloque de sentencias. Módulos: Parámetros y Retorno. Programación – Prof. Gonzalo Müller – Clase 11 – GM - 26
Indentación Acción de colocar espacios al comienzo de una línea de código. La adecuada indentación siempre mejora la legibilidad.
Permite identificar claramente las estructuras básicas.
Las reglas son:
Usar indentaciones de 3, 4 ó 8 espacios.
No utilizar tabulaciones para la indentación.
Los editores de los ambientes de desarrollo sustituyen automáticamente la tabulación por los espacios establecidos en la configuración Programación – Prof. Gonzalo Müller – Clase 11 – GM - 27
Indentación Ejemplo: while(f < filas) { c = 0; while(c < columnas) { Indentación es un anglicismo de la palabra if(f + c > 10) “indentation”, no es una palabra reconocida { por la Real Academia Española. n = n + 1; } c = c + 1; } f = f + 1; } Programación – Prof. Gonzalo Müller – Clase 11 – GM - 28
Indentación Ejemplo: while(f < filas) { c = 0; while(c < columnas) { if(f + c > 10) { n = n + 1; } c = c + 1; } f = f + 1; } Programación – Prof. Gonzalo Müller – Clase 11 – GM - 29
Indentación Ejemplo: while(f < filas) { c = 0; while(c < columnas) { if(f + c > 10) { n = n + 1; } c = c + 1; } f = f + 1; }
Se identifican claramente las estructuras
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 30
Indentación Ejemplo:
Se identifican claramente las estructuras
while(f < filas) { c = 0; while(c < columnas) { if(f + c > 10) { n = n + 1; } c = c + 1; } f = f + 1; }
mientras mientras condicional sencilla
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 31
Indentación Ejemplo:
Se identifican claramente donde se ejecutan las sentencias
while(f < filas) { c = 0; while(c < columnas) { if(f + c > 10) { n = n + 1; } c = c + 1; } f = f + 1; }
sentencias del mientras sentencias del mientras sentencias de la condicional sencilla
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 32
Errores de Programación Al diseñar, construir y codificar un algoritmo pueden surgir diferentes tipos de errores: Error Algorítmico. Error de Codificación.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 33
Errores de Programación Error Algorítmico: Son errores que ocurren en el diseño y construcción del algoritmo.
Son los más difíciles de localizar y corregir.
Al presentarse este tipo de error no se obtiene los resultados esperados al ejecutar el programa.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 34
Errores de Programación Los errores algorítmicos se pueden clasificar:
Error de Concepción: Cuando no se tiene claro el objetivo, lo cual se manifiesta el resultados no deseados. Es recomendable para evitar este tipo de error resolver de forma manual el problema.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 35
Errores de Programación Los errores algorítmicos se pueden clasificar: Error de Concepción: Cuando no se tiene claro el objetivo, lo cual se manifiesta el resultados no deseados. Es recomendable para evitar este tipo de error resolver de forma manual el problema. Error de Lógica: Cuando se desarrolla una secuencia de pasos que se supone debería realizar un función y realmente no lo hace. Es recomendable para evitar este tipo de error resolver de forma manual el problema y realizar al menos una corrida en frío del algoritmo.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 36
Errores de Programación Error de Codificación: Son errores que ocurren en la codificación del algoritmo.
Son los más fáciles de localizar y corregir.
En ocasiones se manifiestan como errores de ejecución.
Un Error de Ejecución es aquel que ocurren durante la ejecución del programa y es notificado por el interprete
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 37
Errores de Programación
Generalmente se deben a que no se tiene un conocimiento sólido del lenguaje de programación o no se maneja adecuadamente el vocabulario del mismo.
También es llamado Error de Sintaxis.
Existen diferentes tipos:
Error de Trascripción.
Error de Omisión.
Error de Uso. Programación – Prof. Gonzalo Müller – Clase 11 – GM - 38
Errores de Programación
Error de Trascripción: Es aquel que se comete al realizar la trascripción. Ejemplo:
Escribir alguna palabra clave incorrectamente (While en lugar de while). Etc.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 39
Errores de Programación
Error de Trascripción: Es aquel que se comete al realizar la trascripción. Ejemplo:
Escribir alguna palabra clave incorrectamente (While en lugar de while). Etc.
Lenguaje Compilado Lenguaje Interpretado
Genera un error de compilación. Genera un error de ejecución, que usualmente se manifiesta con pagina en blanco
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 40
Errores de Programación
Error de Omisión: Es aquel en cual no se incluyen que no forma parte del algoritmo, pero es necesaria en el lenguaje. Ejemplo:
Omitir un ;
Omitir la declaración de variables.
Etc.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 41
Errores de Programación
Error de Omisión: Es aquel en cual no se incluyen que no forma parte del algoritmo, pero es necesaria en el lenguaje. Ejemplo:
Omitir un ;
Omitir la declaración de variables.
Etc.
Lenguaje Compilado Lenguaje Interpretado
Genera un error de compilación. Genera un error de ejecución, que usualmente se manifiesta con pagina en blanco Programación – Prof. Gonzalo Müller – Clase 11 – GM - 42
Errores de Programación
Error de Uso: Es aquel se utiliza de forma correcta un identificador, operador o función. Ejemplo:
Utilizar = en lugar de ==
Utilizar , en lugar de .
Etc.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 43
Errores de Programación
Error de Uso: Es aquel se utiliza de forma correcta un identificador, operador o función. Ejemplo:
Utilizar = en lugar de ==
Utilizar , en lugar de .
Etc.
El programa no presenta los resultados esperados o: Lenguaje Compilado Lenguaje Interpretado
Genera un error de compilación o mensajes de precaución. Genera un error de ejecución, que usualmente se manifiesta con pagina en blanco Programación – Prof. Gonzalo Müller – Clase 11 – GM - 44
Ejercicios Construir una pagina web con Javascript con acoplamiento de datos básicos para: f(x) = sen(2*x)+x4 a) Dado N puntos encontrar cual da el máximo de f(x) b) Encontrar una solución para f(x) = 0 por Bisección Fase 1: Diseño y Análisis: DTD DES, DRE ó DF y LV de Módulos y TM. DES, DRE ó DF, LV y CF de Bloque Principal. Fase 2: Codificación: pagina Web con Javascript. Notación, Documentación e Indentación. Programación – Prof. Gonzalo Müller – Clase 11 – GM - 45
Resumen
Normalización de un programa: Notación. Documentación. Indentación. Errores de Programación: Error Algorítmico: Error de Concepción.
Error de Lógica.
Error de Codificación o Sintaxis: Error de Trascripción. Error de Uso.
Error de Omisión.
Programación – Prof. Gonzalo Müller – Clase 11 – GM - 46