Programowanie funkcjonalne - typy funkcji

Funkcje są dwojakiego rodzaju -

  • Predefiniowane funkcje
  • Funkcje zdefiniowane przez użytkownika

W tym rozdziale omówimy szczegółowo funkcje.

Predefiniowane funkcje

Są to funkcje wbudowane w język do wykonywania operacji i są przechowywane w standardowej bibliotece funkcji.

For Example - „Strcat” w C ++ i „concat” w Haskell są używane do dołączania dwóch ciągów, „strlen” w C ++ i „len” w Pythonie są używane do obliczenia długości łańcucha.

Program do drukowania długości łańcucha w C ++

Poniższy program pokazuje, jak można wydrukować długość łańcucha przy użyciu 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; 
}

Wytworzy następujący wynik -

String length is: 11

Program do drukowania długości łańcucha w Pythonie

Poniższy program pokazuje, jak wydrukować długość łańcucha za pomocą Pythona, który jest funkcjonalnym językiem programowania -

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

Wytworzy następujący wynik -

('String length is: ', 11)

Funkcje zdefiniowane przez użytkownika

Funkcje zdefiniowane przez użytkownika są definiowane przez użytkownika w celu wykonywania określonych zadań. Istnieją cztery różne wzorce definiowania funkcji -

  • Funkcje bez argumentu i wartości zwracanej
  • Funkcje bez argumentu, ale zwracana wartość
  • Funkcje z argumentem, ale bez wartości zwracanej
  • Funkcje z argumentem i wartością zwracaną

Funkcje bez argumentu i wartości zwracanej

Poniższy program pokazuje, jak zdefiniować funkcję bez argumentu i wartości zwracanej w C++ -

#include <iostream> 
using namespace std; 

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

Wytworzy następujący wynik -

Hello World

Poniższy program pokazuje, jak można zdefiniować podobną funkcję (bez argumentu i bez wartości zwracanej) w Python -

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

Wytworzy następujący wynik -

Hello World

Funkcje bez argumentu, ale zwracana wartość

Poniższy program pokazuje, jak zdefiniować funkcję bez argumentu, ale wartość zwracaną w C++ -

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

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

Wytworzy następujący wynik -

Hello World

Poniższy program pokazuje, jak można zdefiniować podobną funkcję (bez argumentu, ale wartość zwracaną) w Python -

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

Wytworzy następujący wynik -

Hello World

Funkcje z argumentem, ale bez wartości zwracanej

Poniższy program pokazuje, jak zdefiniować funkcję z argumentem, ale bez wartości zwracanej w 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; 
}

Wytworzy następujący wynik -

Sum is: 9

Poniższy program pokazuje, jak zdefiniować podobną funkcję w Python -

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

Wytworzy następujący wynik -

('Sum is:', 9)

Funkcje z argumentem i wartością zwracaną

Poniższy program pokazuje, jak zdefiniować funkcję w C ++ bez argumentu, ale wartość zwracaną -

#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; 
}

Wytworzy następujący wynik -

Sum is: 9

Poniższy program pokazuje, jak zdefiniować podobną funkcję (z argumentem i wartością zwracaną) w Python -

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

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

Wytworzy następujący wynik -

('Sum is ', 9)