Programación funcional: tipos de funciones

Las funciones son de dos tipos:

  • Funciones predefinidas
  • Funciones definidas por el usuario

En este capítulo, discutiremos en detalle sobre las funciones.

Funciones predefinidas

Estas son las funciones que están integradas en Language para realizar operaciones y se almacenan en la biblioteca de funciones estándar.

For Example - 'Strcat' en C ++ y 'concat' en Haskell se usan para agregar las dos cadenas, 'strlen' en C ++ y 'len' en Python se usan para calcular la longitud de la cadena.

Programa para imprimir la longitud de la cadena en C ++

El siguiente programa muestra cómo puede imprimir la longitud de una cadena usando C ++ -

#include <iostream> 
#include <string.h> 
#include <stdio.h> 
using namespace std;  

int main() {     
   char str[20] = "Hello World"; 
   int len; 
   len = strlen(str); 
   cout<<"String length is: "<<len; 
   return 0; 
}

Producirá la siguiente salida:

String length is: 11

Programa para imprimir la longitud de la cadena en Python

El siguiente programa muestra cómo imprimir la longitud de una cadena usando Python, que es un lenguaje de programación funcional:

str = "Hello World"; 
print("String length is: ", len(str))

Producirá la siguiente salida:

('String length is: ', 11)

Funciones definidas por el usuario

Las funciones definidas por el usuario las define el usuario para realizar tareas específicas. Hay cuatro patrones diferentes para definir una función:

  • Funciones sin argumento y sin valor de retorno
  • Funciones sin argumento pero con un valor de retorno
  • Funciones con argumento pero sin valor de retorno
  • Funciones con argumento y valor de retorno

Funciones sin argumento y sin valor de retorno

El siguiente programa muestra cómo definir una función sin argumento y sin valor de retorno en C++ -

#include <iostream> 
using namespace std; 

void function1() { 
   cout <<"Hello World"; 
}  
int main() { 
   function1(); 
   return 0; 
}

Producirá la siguiente salida:

Hello World

El siguiente programa muestra cómo puede definir una función similar (sin argumento y sin valor de retorno) en Python -

def function1():    
   print ("Hello World") 
    
function1()

Producirá la siguiente salida:

Hello World

Funciones sin argumento pero con un valor de retorno

El siguiente programa muestra cómo definir una función sin argumento pero con un valor de retorno en C++ -

#include <iostream> 
using namespace std; 
string function1() { 
   return("Hello World"); 
}  

int main() { 
   cout<<function1(); 
   return 0; 
}

Producirá la siguiente salida:

Hello World

El siguiente programa muestra cómo puede definir una función similar (sin argumento pero con un valor de retorno) en Python -

def function1(): 
   return "Hello World" 
res = function1() 
print(res)

Producirá la siguiente salida:

Hello World

Funciones con argumento pero sin valor de retorno

El siguiente programa muestra cómo definir una función con argumento pero sin valor de retorno en C++ -

#include <iostream> 
using namespace std; 
void function1(int x, int y) {    
   int c; 
   c = x+y;  
   cout<<"Sum is: "<<c; 
}  

int main() { 
   function1(4,5); 
   return 0; 
}

Producirá la siguiente salida:

Sum is: 9

El siguiente programa muestra cómo puede definir una función similar en Python -

def function1(x,y): 
   c = x + y 
   print("Sum is:",c) 
function1(4,5)

Producirá la siguiente salida:

('Sum is:', 9)

Funciones con argumento y valor de retorno

El siguiente programa muestra cómo definir una función en C ++ sin argumento pero con un valor de retorno:

#include <iostream> 
using namespace std; 
int function1(int x, int y) {    
   int c; 
   c = x + y;  
   return c;    
} 

int main() {  
   int res; 
   res = function1(4,5); 
   cout<<"Sum is: "<<res; 
   return 0; 
}

Producirá la siguiente salida:

Sum is: 9

El siguiente programa muestra cómo definir una función similar (con un argumento y un valor de retorno) en Python -

def function1(x,y): 
   c = x + y 
   return c  

res = function1(4,5) 
print("Sum is ",res)

Producirá la siguiente salida:

('Sum is ', 9)