English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderás a usar funciones para resolver diferentes métodos de un solo problema.
Para entender mejor los parámetros y el valor de retorno de las funciones, las funciones definidas por el usuario se pueden clasificar como:
Considere una situación en la que debe verificar los números primos. A través de lo siguiente4Hay diferentes formas de definir funciones definidas por el usuario para resolver los siguientes problemas.
#include <iostream> using namespace std; void prime(); int main() { // No se pasan parámetros a prime() prime(); return 0; } // El tipo de retorno de la función es void, porque no se devuelve ningún valor. void prime(); { int num, i, flag = 0; cout << "Ingrese un entero positivo para verificar: "; cin >> num; for(i = 2; i <= num/2; ++i) { if (num % i == 0) { flag = 1; break; } } if (flag == 1) { cout << num << " no es primo."; } else { cout << num << " es un número primo."; } }
En el programa anterior, se llama a prime() en main(), pero sin parámetros.
La función prime() se utiliza para obtener un número entero positivo del usuario y verificar si el número es primo.
Dado que el tipo de retorno de prime() es void, esta función no devuelve ningún valor.
#include <iostream> using namespace std; int prime(); int main() { int num, i, flag = 0; // No se pasa ningún parámetro a prime() num = prime(); for (i = 2; i <= num/2; ++i) { if (num % i == 0) { flag = 1; break; } } if (flag == 1) { cout << num << " no es un número primo."; } else { cout << num << " es un número primo."; } return 0; } // El tipo de retorno de la función es int int prime() { int n; printf("Ingrese un entero positivo para verificar: "); cin >> n; return n; }
En el programa anterior, se llama a la función prime() desde main() sin parámetros.
La función prime() obtiene un entero positivo del usuario. Dado que el tipo de retorno de la función es int, devuelve el número ingresado al llamar a la función main().
Luego, en el mismo main(), se verifica si el número es primo y se imprime en la pantalla.
#include <iostream> using namespace std; void prime(int n); int main() { int num; cout << "Ingrese un entero positivo para verificar: "; cin >> num; // El parámetro num se pasa a la función prime() prime(num); return 0; } // La llamada a la función no devuelve ningún valor. Por lo tanto, el tipo de retorno de la función es void. */ void prime(int n) { int i, flag = 0; for (i = 2; i <= n/2; ++i) { if (n % i == 0) { flag = 1; break; } } if (flag == 1) { cout << n << " no es primo."; } else { cout << n << " es primo."; } }
En el programa anterior, primero se pide al usuario que ingrese un número positivo, que se almacena en la variable num.
Luego, se pasa num a la función prime(), donde se verifica e imprime si el número es primo o no.
Porque, el tipo de retorno de prime() es void, la función prime() no devuelve ningún valor.
#include <iostream> using namespace std; int prime(int n); int main() { int num, flag = 0; cout << "Ingrese un entero positivo para verificar: "; cin >> num; // El parámetro num se pasa a la función check() flag = prime(num); if(flag == 1) cout << num << " no es primo."; else cout << num << " es primo."; return 0; } /* Esta función devuelve un valor entero. */ int prime(int n) { int i; for(i = 2; i <= n/2; ++i) { if(n % i == 0) return 1; } return 0; }
En el programa anterior, se pregunta al usuario por un entero positivo y se almacena en la variable num.
Luego, se pasa num a la función prime(), donde se verifica si el número es primo o no.
Dado que el tipo de retorno de prime() es int, por lo tanto se1O 0 se devuelve a la función de llamada main(). Si el número es primo, se devuelve1. Si no es así, se devuelve 0.
En la función main(), el valor devuelto1O 0 se almacena en la variable flag y el texto correspondiente se imprime en la pantalla.
Todos los cuatro programas proporcionan el mismo resultado de salida y técnicamente son programas correctos.
No hay especificación estricta para la elección del método.
Elija el método específico según la situación específica y la forma en que desee resolver el problema.