Nothing Special   »   [go: up one dir, main page]

Algoritmos, Investigación Tema 6

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

1

Instituto Tecnológico de México

Campus Zacatepec

Investigación desarrollada sobre funciones en algoritmos y lenguaje de programación

Algoritmos y lenguaje de programación

Docente: Hernández Mandujano Mario Alberto

Canseco Tun Cintia Sarai C200991049

Córdova García Yaretzi Lizbhett 23090158

Hernández Ramírez Jesús Medardo 22090819

Navarro Rodríguez Grecia C21090462

Rodríguez Ruíz Leslie Llamile 23090167

Santiago Ávila Verónica 23090162


2

Tabla de contenido

Funciones ...................................................................................................................................................... 3
Introducción .............................................................................................................................................. 3
Características principales..................................................................................................................... 4
Pasos para declarar una función. ........................................................................................................... 5
Funciones estándar .................................................................................................................................... 6
Entrada y salida de datos........................................................................................................................... 8
Funciones definidas por el usuario.......................................................................................................... 12
Pase por valor.......................................................................................................................................... 14
Pase por referencia .................................................................................................................................. 17
Elaboración de programas....................................................................................................................... 19
3

Funciones

También conocido como una subrutina o subprograma, como idea general, se presenta
como un Sub-algoritmo que forma parte del algoritmo principal, el cual permite resolver una
tarea específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan
el nombre función para referirse a subrutinas que devuelven un valor.
Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y se
dirija a ejecutar el código de la subrutina, en cambio cuando se llama a una macro, el compilador
toma el código de la macro y lo implanta donde fue llamado, aumentando así el código fuente y
por consiguiente, el objeto.
Una función puede llamarse múltiples veces e incluso llamarse a sí misma (función recurrente).

Introducción

Una función es un conjunto de instrucciones o “bloques” diseñados para realizar una tarea

específica y que puede ser reutilizado en diferentes partes de un programa.

Permiten dividir un programa en partes más pequeñas y manejables, lo que facilita la comprensión,

el mantenimiento y la reutilización del código.

Estos utilizan datos de entrada llamados parámetros que permiten el intercambio o relación de

datos entre el llamado de la función y la ejecución misma, en este texto se busca desarrollar una

investigación profunda sobre las diferentes funciones y el desarrollo de estas, con el objetivo de

poder llevar a cabo la ejecución de un programa como resultado final de lo aprendido.


4

Características principales

Sintaxis básica:

En la mayoría de los lenguajes de programación, la sintaxis básica para definir una función incluye

la palabra clave def (o equivalente) seguida del nombre de la función y paréntesis que pueden

contener los parámetros de entrada.

Nombre y parámetros:

El nombre de la función es cómo se la identifica y se llama más adelante en el código.

Los parámetros son variables que la función espera recibir cuando se llama, y son utilizados dentro

del cuerpo de la función para realizar operaciones.

Cuerpo de la función:

Es el bloque de código inventado que define las operaciones que la función realiza cuando se

llama.

Puede contener declaraciones, expresiones y otras llamadas a funciones.

Llamada a la función:

Después de definir la función, puedes llamarla desde otras partes del código proporcionando los

argumentos necesarios.

Llamada a la función

Reutilización de código:

Las funciones permiten escribir código modular y reutilizable, ya que puedes definir una tarea

específica en una función y luego llamarla en diferentes partes de tu programa según sea necesario.
5

Documentación de funciones:

Es una buena práctica incluir comentarios que describan el propósito de la función, los parámetros

que acepta y el valor que devuelve.

Retorno de valores:
Las funciones pueden devolver resultados utilizando la palabra clave return. Esto es opcional, y

una función puede no devolver ningún valor.

Pasos para declarar una función.


Aunque la sintaxis específica para declarar funciones puede variar entre diferentes lenguajes de

programación, hay conceptos generales que se aplican a la mayoría de ellos.

• Definir la función: Decide qué tarea debe realizar tu función y da un nombre descriptivo a

la función. Este nombre debería indicar claramente qué hace la función.

• Declarar parámetros (si es necesario): Si tu función necesita información para realizar su

tarea, especifica los parámetros que aceptará. Los parámetros son como variables que la

función usará durante su ejecución.

• Especificar el tipo de retorno (si es necesario): Decide si tu función debería devolver algún

valor al final de su ejecución. Si es así, especifica el tipo de valor que la función devolverá

(por ejemplo, un número entero, una cadena de texto, etc.).

• Escribir el cuerpo de la función: Aquí es donde defines las instrucciones específicas que la

función llevará a cabo. Este es el lugar para incluir cualquier lógica o cálculos necesarios

para realizar la tarea de la función.

• Gestionar el ámbito de las variables: Asegúrate de entender y gestionar correctamente el

ámbito de las variables dentro de la función. Las variables pueden ser locales (solo visibles

dentro de la función) o globales (visibles en todo el programa).


6

• Manejar excepciones (si es necesario): Si tu función puede encontrar situaciones

excepcionales, como errores o condiciones inesperadas, considera cómo manejar esas

situaciones mediante la gestión de excepciones.

• Documentar la función: Proporciona una documentación clara para tu función. Incluye

información sobre su propósito, los parámetros que acepta, el tipo de valor que devuelve

(si lo hace) y cualquier otra información relevante.

• Probar la función: Antes de utilizar la función en tu programa principal, pruébala por

separado para asegurarte de que funcione como se espera. Esto facilitará la detección y

corrección de posibles errores.

Funciones estándar

Las funciones estándar son aquellas que vienen predefinidas en los lenguajes de programación.

Estas funciones facilitan tareas comunes como operaciones matemáticas, manipulación de cadenas

y manejo de archivos. Por ejemplo, en C++, funciones como sqrt() para calcular la raíz cuadrada

o printf() para imprimir en la consola son funciones estándar.

También conocido como una subrutina o subprograma, como idea general, se presenta como un

Sub - algoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea

específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan el

nombre función para referirse a subrutinas que devuelven un valor. Una subrutina al ser llamada

dentro de un programa hace que el código principal se detenga y se dirija a ejecutar el código de

la subrutina, en cambio cuando se llama a una macro, el compilador toma el código de la macro y

lo implanta donde fue llamado, aumentando así el código fuente y por consiguiente el objeto. Las

funciones son casi exactamente iguales que los procedimientos con respecto a la forma en que se
7

los llama y se los crea o declara en el código, en cómo se le pasa los parámetros etc... La diferencia

fundamental con respecto a los procedimientos o subrutinas es que estos, luego de ejecutar el

código que tengan en su interior, al final retornan un valor, y este valor luego lo podemos utilizar

para una determinada tarea. En cambio, los procedimientos, solo ejecutan el código que contienen

y luego mueren por decirlo de alguna manera.

Algunos ejemplos de las funciones estándar más comunes en diferentes lenguajes de programación

son los que se presentan a continuación, cabe aclarar que la disponibilidad y la implementación de

estas funciones pueden variar dependiendo del lenguaje y la versión utilizada.

• Lenguaje C

1. printf(): Imprime texto y variables en la pantalla.

2. scanf(): Lee entrada del usuario y almacena en variables.

3. pow(): Calcula la potencia de un número.

4. sqrt(): Calcula la raíz cuadrada de un número.

5. abs(): Calcula el valor absoluto de un número.

• Lenguaje C++

1. cout: Imprime texto y variables en la pantalla.

2. cin: Lee entrada del usuario y almacena en variables.

3. pow(): Calcula la potencia de un número.

4. sqrt(): Calcula la raíz cuadrada de un número.

5. abs(): Calcula el valor absoluto de un número.


8

• Lenguaje Java

1. System.out.println(): Imprime texto y variables en la pantalla.

2. Scanner: Lee entrada del usuario y almacena en variables.

3. Math.pow(): Calcula la potencia de un número.

4. Math.sqrt(): Calcula la raíz cuadrada de un número.

5. Math.abs(): Calcula el valor absoluto de un número.

• Lenguaje Python

1. print(): Imprime texto y variables en la pantalla.

2. input(): Lee entrada del usuario y almacena en variables.

3. pow(): Calcula la potencia de un número.

4. sqrt(): Calcula la raíz cuadrada de un número.

5. abs(): Calcula el valor absoluto de un número.

Entrada y salida de datos

Entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección

de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de

procesamiento de información para comunicarse unas con otras, o las señales (información)

enviadas a través de esas interfaces. Las entradas son las señales recibidas por la unidad, mientras

que las salidas son las señales enviadas por ésta. Las cajas de dialogo son ventanas con controles

que podemos visualizar en el instante que necesitemos hacer una entrada o salida de datos.
9

Entrada de dato. Consiste en obtener información que el programa necesita para funcionar. Esta

información puede ser proporcionada por el usuario, leída de un archivo o capturada desde algún

dispositivo.

Tipos de entrada de datos:

1°- Entrada por teclado: Es el método más común en aplicaciones básicas.

Se utiliza para recibir datos directamente del usuario.

Ejemplo:

nombre = input("Introduce tu nombre: ")

print( "Hola, " + nombre)

2°- Entrada desde archivos: Se utiliza cuando los datos ya están almacenados en un archivo.

Ejemplo:

with open("datos.txt", "r") as archivo:

contenido = archivo.read()

print(contenido)

Entrada desde dispositivos: En algunos casos, se leen datos de sensores, cámaras, o dispositivos

externos.
10

Salida de datos. Es la forma en que el programa presenta los resultados o información procesada

al usuario o a otro sistema.

Tipos de salida de datos:

1°- Salida en consola: Es la manera más común en programas básicos.

Ejemplo:

print("Hola, mundo")

2°- Salida en archivos: Los datos procesados se escriben en un archivo para su posterior uso.

Ejemplo:

with open("salida.txt" , "w") as archivo:

archivo.write("Este es un resultado")

Salida gráfica: En aplicaciones avanzadas, los resultados se muestran mediante gráficos o

interfaces visuales.

Ejemplo completo de entrada y salida

Problema: Calcular el área de un rectángulo.

# Entrada

base = float ( input ( "Introduce la base del rectángulo: " ))

altura = float ( input ( "Introduce la altura del rectángulo: " ))


11

# Procesamiento

area = base * altura

# Salida

Print ( f"El área del rectángulo es: {area}" )

Las operaciones de entrada y salida son fundamentales para la comunicación de un algoritmo con

su entorno. Practicar estos conceptos te ayudará a desarrollar programas más dinámicos y

funcionales

También Visual Basic tiene cajas de dialogo predefinidas que nos permiten realizar opciones de

E/S con muy poco esfuerzo. Por ejemplo, la función inputbox visualiza una caja de dialogo

presentando información o resultados.

Entrada de datos: InputBox, presenta un mensaje al usuario, permitiéndole ingresar un valor en

una caja de texto:

Esta presenta un cuadro de diálogo donde el usuario puede ingresar un texto y luego aceptar o

cancelar dicho cuadro de diálogo. Los parámetros principales de esta función son: InputBox

(Promt,Title, Default)

• El parámetro Prompt específica la leyenda que mostrará la caja de mensajes.

• El parámetro Title especifica el título que llevará el cuadro de diálogo.


12

• El parámetro Default es el texto que mostrará la caja de texto. El aspecto más importante de

InputBox es que nos devuelve una cadena con lo que haya ingresado el usuario en la caja de texto.

Luego podemos realizar una tarea específica dependiendo del valor devuelto.

Funciones definidas por el usuario

Al igual que las funciones en los lenguajes de programación, las funciones definidas por el

usuario de MicrosoftSQL Server son rutinas que aceptan parámetros, realizan una acción, como

un cálculo complejo, y devuelven el resultado de esa acción como un valor. El valor devuelto

puede ser un valor escalar único o un conjunto de resultados.

Ventajas de las funciones definidas por el usuario.

• Permiten una programación modular.

Puede crear la función una vez, almacenarla en la base de datos y llamarla desde

el programa tantas veces como desee. Las funciones definidas por el usuario se pueden

modificar, independientemente del código de origen del programa.


13

• Permiten una ejecución más rápida.

Al igual que los procedimientos almacenados, las funciones definidas por el usuario

Transact-SQL reducen el costo de compilación del código Transact-SQL almacenando

los planes en la caché y reutilizándolos para ejecuciones repetidas. Esto significa que no es

necesario volver a analizar y optimizar la función definida por el usuario con cada uso, lo que

permite obtener tiempos de ejecución mucho más rápidos.

Las funciones CLR ofrecen una ventaja de rendimiento importante sobre las funciones

Transact-SQL, para tareas de cálculo, manipulación de cadenas y lógica empresarial. Las

funciones Transact-SQL se adecuan mejor a la lógica intensiva del acceso a datos.

• Pueden reducir el tráfico de red.

Una operación que filtra datos basándose en restricciones complejas que no se puede

expresar en una sola expresión escalar se puede expresar como una función. La función

se puede invocar en la cláusula WHERE para reducir el número de filas que se envían al

cliente.

Componentes de una función definida por el usuario.

Las funciones definidas por el usuario se pueden escribir en Transact-SQL, o en cualquier

lenguaje de programación .NET. Para obtener más información acerca del uso de lenguajes .NET

en funciones, vea Funciones CLR definidas por el usuario.


14

Todas las funciones definidas por el usuario tienen la misma estructura de dos partes: un

encabezado y un cuerpo. La función toma cero o más parámetros de entrada y devuelve un valor

escalar o una tabla.

El encabezado define:

• Nombre de función con nombre de propietario o esquema opcional

• Nombre del parámetro de entrada y tipo de datos

• Opciones aplicables al parámetro de entrada

• Tipo de datos de parámetro devueltos y nombre opcional

• Opciones aplicables al parámetro devuelto.

El cuerpo define la acción o la lógica que la función va a realizar. Contiene:

• Una o más instrucciones Transact-SQL que ejecutan la lógica de la función

• Una referencia a un ensamblado .NET

Pase por valor

Existen diferentes formas en las que los datos de los parámetros se pueden pasar dentro y fuera de

los métodos y funciones. Supongamos que se llama a una función B() desde otra función A() . En

este caso, A se denomina «función de llamador» y B se denomina «función de llamado o función

de llamado». Además, los argumentos que A envía a B se denominan argumentos reales y los

parámetros de B se denominan argumentos formales.

Terminología
15

Parámetro Formal: Una variable y su tipo tal como aparecen en el prototipo de la función o método.

Parámetro real: la variable o expresión correspondiente a un parámetro formal que aparece en la

llamada de función o método en el entorno de llamada.

Modos:

IN: pasa información de la persona que llama a la persona que llama.

SALIDA: El destinatario escribe valores en el llamante.

ENTRADA/SALIDA: La persona que llama le dice al destinatario el valor de la variable, que

puede ser actualizado por el destinatario.

Métodos importantes de paso de parámetros

Pasar por valor: este método utiliza semántica en modo. Los cambios realizados en el parámetro

formal no se transmiten de vuelta a la persona que llama. Cualquier modificación a la variable de

parámetro formal dentro de la función o método llamado afecta solo a la ubicación de

almacenamiento separada y no se reflejará en el parámetro real en el entorno de llamada. Este

método también se llama llamada por valor.


16

C
17

CPP

Producción:

Pase por referencia

Una llamada por referencia ocurre cuando no pasamos el nombre de la variable, sino su dirección. En este
caso no se crea una nueva variable.
18

Modifiquemos la función para que ahora reciba el puntero o apuntador a una variable, no una variable en
sí. Quedaría así:
int incrementar(int *numero){
//Incrementar en 1
(*numero) = (*numero) + 1;
}

Ahora recibiremos direcciones de variables. Y al incrementar, incrementamos el valor que haya en la


dirección que dijimos.
Corremos el programa con esto:
#include<stdio.h>

// Es una buena práctica definir el prototipo de las funciones aquí arriba


// ojo: sólo el prototipo, no el cuerpo
int incrementar(int *numero);

int main(int argc, char const *argv[])


{
int numero = 10;
printf("Antes de llamar a la funcion, numero es %d\n", numero);

// Con el operador & obtenemos la dirección de numero


incrementar(&numero);
printf("Despues de llamar a la funcion, numero es %d", numero);
}

// Ahora sí definimos la función con todo y cuerpo


//Notar el * antes de numero
int incrementar(int *numero){
//Incrementar en 1
(*numero) = (*numero) + 1;
}
19

Notemos por favor el operador & que se encarga de obtener la dirección de memoria de una variable.

Cuando ejecutamos el programa, la salida es:

Antes de llamar a la función, número es 10

Después de llamar a la función, número es 11

Como vemos ahora sí se ha incrementado el número.

Elaboración de programas

Análisis

En esta fase se establece el producto a desarrollar, siendo necesario especificar los procesos y

estructuras de datos que se van a emplear. Debe existir una gran comunicación entre el usuario y

el analista para poder conocer todas las necesidades que precisa la aplicación.

Diseño

En esta fase se alcanza con mayor precisión una solución optima de la aplicación, teniendo en

cuenta los recursos físicos del sistema (tipo de ordenador, periféricos, comunicaciones, etc…) y

los recursos lógicos. (sistema operativo., programas de utilidad, bases de datos, etc…)

Fases o Etapas

Análisis.

Diseño.

Codificación o construcción.

Implantación o explotación.
20

Mantenimiento.

Explotación

En esta fase se realiza la implantación de la aplicación en el sistema o sistemas físicos donde van

a funcionar habitualmente y su puesta en marcha para comprobar el buen funcionamiento.

Actividades a tener en cuenta o realizar:

Instalación del/los programa/s.

Pruebas de aceptación al nuevo sistema.

Conversión de la información del antiguo sistema al nuevo (si hay una aplicación antigua)

Eliminación del sistema anterior.

Mantenimiento

Esta es la fase que completa el ciclo de vida y en ella nos encargaremos de solventar los posibles

errores o deficiencias de la aplicación. Existe la posibilidad de que ciertas aplicaciones necesiten

reiniciar el ciclo de vida.

Tipo de Mantenimiento

Mantenimiento Correctivo: Consiste en corregir errores no detectados en pruebas anteriores y que

aparezcan con el uso normal de la aplicación. Este mantenimiento puede estar incluido en la

garantía o mantenimiento de la aplicación.

Mantenimiento Preventivo: Es el destinado a la conservación de equipos o instalaciones mediante

la realización de revisión y reparación que garanticen su buen funcionamiento y fiabilidad. El

mantenimiento preventivo se realiza en equipos en condiciones de funcionamiento, por oposición


21

al mantenimiento correctivo que repara o pone en condiciones de funcionamiento aquellos que

dejaron de funcionar o están dañados.

Codificación

Consiste en traducir los resultados obtenidos a un determinado lenguaje de programación, teniendo

en cuenta las especificaciones obtenidas en el cuaderno de carga. Se deben de realizar las pruebas

necesarias para comprobar la calidad y estabilidad del programa.


22

Referencias:

Greyrat, R. (2022, 5 julio). Técnicas de paso de parámetros en C/C++ – Barcelona Geeks.

https://barcelonageeks.com/tecnicas-de-paso-de-parametros-en-c-c/#google_vignette

Apinemark. (2024, 11 junio). FUNCIONES en programación. Definición y ejemplos!! ApInEm

Marketing Digital. https://www.apinem.com/funciones-en-programacion/#2-principales-

caracteristicas-de-las-funciones-en-la-programacion

Ieda. (s. f.). 2. Entrada y salida de datos | Programación: Metodologías y entornos de desarrollo de

software. https://edea.juntadeandalucia.es/bancorecursos/file/8c93da26-e9cd-47f6-a954-

bf9b2474cba0/1/es-

an_2019012112_9123621.zip/2_entrada_y_salida_de_datos.html?temp.hn=true&temp.hb

=true

ALGORITMOS - 3.9 Elaboración de programas. (s. f.). https://sites.google.com/view/gerardo-

isaias-espinoza-leal/unidad-3/3-9-elaboraci%C3%B3n-de-programas

IBM Db2 Warehouse on Cloud. (s. f.). https://www.ibm.com/docs/es/db2woc?topic=functions-

user-defined

También podría gustarte