clear all;

N = ... % TODO %
Z0 = ... % TODO %

% [Exercise a] [MONTE CARLO] Uniformly distributed RANDOM values between 0 and 1
X1 = rand(N); % gives NxN matrix with random values between 0 and 1 %
X1 = X1(:, 1);

% [Exercise b] Uniformly distributed values between 0 and 1
X2 = (0:1:N-1) / N;

% Choose method - Monte Carlo or uniformly distributed values
X = X1; % X1 or X2

% approximation = (1/N)*sum(function(Z0+exp(2*pi*i*X)))
%                                   |               |
%                                            ||
%                                            \/
%                                        argument

argument = ... % TODO %

% The two functions [f1(z), f2(z)]
f1 = @(z) ... % TODO %
f2 = @(z) ... % TODO %

% The integral approximation
value_f1 = (1/N)*sum(f1(argument));
value_f2 = (1/N)*sum(f2(argument));

disp(["Approximation for the first function: ",value_f1]);
disp(["Approximation for the second function: ",value_f2]);