














Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Lenguajes y Automatas II FUNCIONES PROCEDIMIENTO METODOS FUNCIONES PROCEDIMIENTO METODOS FUNCIONES PROCEDIMIENTO METODOS FUNCIONES PROCEDIMIENTO METODOS
Tipo: Apuntes
1 / 22
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!















División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 FECHA 17/11/ GRUPO 5601 LENGUAJES Y AUTÓMATAS II Actividad No. 20. FUNCIONES, PROCEDIMIENTOS O MÉTODOS. TRABAJO EN EQUIPO: El TESE desea: Un reporte con la investigación con por lo menos tres referencias para: Reconocer el manejo de FUNCIONES, PROCEDIMIENTOS O MÉTODOS. , para un metacompilador. Desarrolle la Actividad con Grafos sintácticos (Diagrama de Conway) y expresiones de la forma BNF.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
Una función no es más que un conjunto de líneas de código que hacen una tarea en concreto, y esta función puede retornar un valor. Las funciones tienen la posibilidad de tener parámetros o argumentos, que son variables que modifican su comportamiento. Gracias a las funciones podemos segmentar el código en diferentes partes, haciéndolo de este modo más sencillo. PROCEDIMIENTOS Un procedimiento es un subprograma que realiza una tarea específica. Puede recibir cero o más valores del programa que llama y devolver cero o más valores a dicho programa. Un procedimiento está compuesto de un grupo de sentencias a las que se asigna un nombre (identificador) y constituye una unidad de programa. La tarea determinada al procedimiento se ejecuta siempre que se encuentra el nombre del procedimiento. La declaración indica las instrucciones a ejecutar. Su sintaxis es: procedimiento nombreproc (lista de par) declaraciones locales inicio cuerpo del procedimiento (instrucciones) fin. Un procedimiento es llamado en un programa o dentro de otro procedimiento directamente por su nombre en cualquiera de las dos formas:
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 En código no estructurado, quedaría algo más complejo: 1 coger plato 2 echar jabon 3 pasar el estropajo por el plato 4 si hay suciedad ir a la instrucción 2 5 si el plato no es azul ir a la instrucción 7 6 ponerlo con los azules 7 si hay más platos ir a la instrucción 1 LENGUAJE C++ En C++ es obligatorio usar prototipos. Un prototipo es una declaración de una función. Consiste en una presentación de la función, exactamente con la misma estructura que la definición, pero sin cuerpo y terminada con un ";". La estructura de un prototipo es: [ extern | static ] <tipo_valor_retorno> [
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 función se comportan exactamente igual que variables, y de hecho cada parámetro se declara igual que una variable. Una lista de parámetros es un conjunto de declaraciones de parámetros separados con comas. Puede tratarse de una lista vacía. En C es preferible usar la forma "func(void)" para listas de parámetros vacías. En C++ este procedimiento se considera obsoleto, se usa simplemente "func()". Acerca de los argumentos o parámetros Hay algunos detalles respecto a los argumentos de una función, veamos:
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Los procedimientos son similares a las funciones, aunque más resumidos. Debido a que los procedimientos no retornan valores, no hacen uso de la sentencia return para devolver valores y no tienen tipo específico, sólo void.
En vez de repetir el mismo código una y otra vez puedes crear un método (también se les conoce como procedimientos o funciones en otros lenguajes de programación) e invocarlo cada vez que necesites ejecutar ese trozo de código.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 PARÁMETROS
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Como puedes ver es un ejemplo sencillo, si ejecutas esto, la función te retornará el valor de suma que es 10 (5+5). Las líneas posteriores no se ejecutarán nunca, aunque no generan error alguno, no tienen utilidad. Puedes notar que para este caso es lo mismo haber escrito return suma que escribir return 5+5. Ambas líneas funcionan equivalentemente. Los procedimientos son similares a las funciones, aunque más resumidos. Debido a que los procedimientos no retornan valores, no hacen uso de la sentencia return para devolver valores y no tienen tipo específico, solo void. Veamos un ejemplo: Ejemplo de procedimientos void procedimiento(int n, string nombre) { if(n == 0) { cout << "hola" << nombre; return; } cout << "adios" << nombre; } De este ejemplo podemos ver que ya no se usa un tipo sino que se pone void, indicando que no retorna valores, también podemos ver que un procedimiento también puede recibir parámetros o argumentos. JAVA Un método es una estructura del lenguaje Java que nos sirve para encapsular cierta funcionalidad, la cual podamos llamar desde diferentes sitios y así no tener que repetir el código. Para la creación de un método en Java debemos conocer la estructura del mismo: En la siguiente sintaxis podemos darnos cuenta la forma en la que se llevan a cabo la creación de una sintaxis para un método en Java. Public void Nombre (argumentos …) { // todo lo que hará
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Return; }
En Variables / Métodos: estudiante, i, epsilon, piso_grande Las variables y los métodos se parecen. Esto es lógico, puesto que una variable se puede sustituir por un método. Las variables y los métodos deben ser escritos en minúsculas, que empiecen por una letra, y que contengan cualquier carácter alfanumérico o el guion bajo. Por ej: piso_grande. Sin embargo, las clases deben empezar por mayúscula. Además, a diferencia de los métodos/variables, no se usa el guion bajo para nombres compuestos. Por ej: PisoGrande. Las clases deben empezar por mayúscula. Además, a diferencia de los métodos/variables, no se usa el guion bajo para nombres compuestos. Constantes: PDF_KEY, R2D2, PERSONA_VIAJE Las constantes sólo se pueden definir una vez. Las constantes deben ser escritas en letras mayúsculas. Variables de objeto: @nombre, @maximo, @hora_comer Las variables de objeto (o variables de instancia) sólo pueden ser leídas/escritas por el propio objeto. Variables de clase: objeto, llave_maestra Las variables de clase no pertenecen a los objetos, si no a la clase. Existen únicamente en la clase, y son compartidas por todos los objetos. Variables globales: $global, $1, $contador El uso de las variables globales ha sido declarado un crimen capital por la escuela del buen diseño. Símbolos: :nombre, :edad, :Clase Los símbolos son identificadores únicos que los encontraremos en varios sitios.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
Elemento C++ Java Ruby FUNCIONES, PROCEDIMIENTOS O MÉTODOS. Y LAS REGLAS PARA SU CONSTRUCCIÓN La declaración de una función tiene el siguiente cuerpo: tipo-de-retorno nombre-de- función(parámetros) { declaraciones proposiciones } Si la función no retorna un valor el tipo de retorno es void. Si la función no tiene parámetros se escribe myfunc(void). La estructura más usual de un programa en C es la siguiente: /* los comentarios comienzan por “/” y acaban con “/” / #include archivo / inclusión archivos cabecera / #define CONST / declaración de constantes/ tipo variable; / declaración de variables globales / tipo funcion (argumentos); / declaración de cabeceras de funciones / main() { tipo variable; / declaración de variables locales / cuerpo del programa } tipo funcion (argumentos) / declaración de funciones */ [acceso] [modificador] tipo nombreFuncion([tipo nombreArgumento,[tipo nombreArgumento]...]) { return valor; } Ejemplo de los métodos. int metodoEntero() { int suma = 5+5; return suma; //Acá termina la ejecución del método //return 5+5;//Este return nunca se ejecutará //Intenta intercambiar la línea 3 con la 5 //int x = 10; //Esta línea nunca se ejecutará } Ejemplo de procedimientos. void procedimiento(int n, String nombre) //Notar el void { if(n > 0 && !nombre.equals(""))//usamos los dos parámetros { System.out.println("hola " + nombre); return; //Si no ponemos este return se mostraría hola y luego adiós } //También podríamos usar un else en vez del return System.out.println("adios"); } MÉTODOS Nacidos <= 1945 - la gran generación Nacidos entre 1946 y 1964
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Nombre: Aguilera Barajas Jose Joshua Grupo 5601 Asignatura Lenguajes y automatas II Fecha 17/11/ Actividad No. 20 firma Joshua Objetivo de la práctica: Realizar investigación sobre funciones, procedimientos o métodos Competencia a desarrollar: Aprender sobre la estructura^ sintáctica de funciones, procedimientos o métodos ¿Qué ventajas y desventajas conlleva la Generación de código intermedio de estos elementos? La ventaja es que escribimos un pequeño fragmento de código que se puede llamar en diferentes partes del programa en lugar de repetir el mismo código en diferentes lugares del programa. Evitamos copiar / pegar y obtenemos legibilidad y simplificación del código. Además, nos ayuda a reducir el tiempo total de entrega del proyecto. Si el problema está en proceso de ser llamado, entonces podemos encontrar el error una vez y eliminarlo rápidamente. Cuando el mismo código se repite en varios lugares, es difícil depurar los cambios en todo el código. Si hacemos cambios en una parte, pero no repetimos los cambios en otro código, es fácil causar confusión. Conclusión Los procesos son pequeños programas que realizan tareas específicas. Se puede recibir desde cero a más valores en el programa de llamada y este devolverá cero o más valores al programa. Los métodos y funciones son funcionalmente iguales, pero su diferencia radica en el contexto en el que existen. Los métodos también pueden recibir valores, realizar operaciones sobre ellos y devolver valores, sin embargo, en los métodos asociados con objetos, los métodos son básicamente funciones que pertenecen a objetos o clases, y la función en sí existe sin usar un objeto. Y el proceso es básicamente un conjunto de instrucciones que se ejecutan sin devolver ningún valor, algunas personas dicen que el proceso no recibe valores ni parámetros, pero no hay nada en la definición que lo impida. Esta investigación abarco 3 diferentes lenguajes de programación, con lo que me di cuenta de que existen muchas diferencias entre uno y otro lenguaje ya que todos se emplean y generan de una forma diferente, aunque se hable del mismo tema, me voy con un amplio conocimiento de las diferentes sitaxis.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Nombre_ Galván Espinosa Diego Grupo 5601 Asignatura Lenguajes y autómatas II Fecha 17/11/ Actividad No. 20 firma Diego Objetivo de la práctica: Tener conocimiento del uso de funciones y métodos en la programacion. Competencia a desarrollar: Conocimiento para llevar a cabo dichas tareas.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Nombre_ PRINTI HERNANDEZ PRISCILA Grupo 5601 Asignatura LENGUAJE Y AUTOMATAS 2 Fecha 17/11/ Actividad No. 20 firma PRIANTI HDEZ PRISCILA Objetivo de la práctica: Realizar investigación sobre funciones, procedimientos o métodos Competencia a desarrollar: Aprender sobre la estructura sintáctica de funciones, procedimientos o métodos
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2