<aside> ❗ Nota : vous sauverez vos fichiers .m dans un répertoire dédié à l’examen (par exemple CC1)

</aside>

Question 1 : Assurance (6 pts)

Une personne souhaite s’assurer à partir du 1er janvier 2023. Elle a le choix entre deux formules de contrat.

Ecrivez un programme qui permet de connaître le gain à l’issue d’un an de contrat et de déterminer quel est le meilleur contrat.

Nota : Les valeurs décimales seront arrondies, si nécessaire, au centime près

clear
close

n = 1 % Nombre d'années

contrat1 = 200; % Contrat 1 - Paiement de base
contrat2 = 15; % Contrat 2 - Paiement de base

contrat1M = 200; % Paiement de 200€ tout les ans
contrat2M = 15; % Paiement de 15€ le premier mois, puis augmentation de 3% par mois

for i=1:12*n-1 % On va de janvier à décembre
  if mod(i,12) == 0 % Une fois par an (contrat 1)
    contrat1 = contrat1 + 200;
  endif

  % Tout les mois (contrat 2)
  contrat2M = 1.03 * contrat2M; % Augmentation mensuelle de 3%
  contrat2 = contrat2 + contrat2M;
endfor

printf('Au bout d\\'un an \\n');
printf('\\tContrat 1 : %.2f€\\n', contrat1); % 200€
printf('\\tContrat 2 : %.2f€\\n', contrat2); % 212.88€

Question 2 : Calcul et affichage (8 pts)

On cherche à calculer :

$$ 4\displaystyle\sum_{n=0}^{+\infin}\frac{(-1)^n}{2n+1} $$

Et

$$ \sqrt{6\sum_{n=1}^{+\infin}\frac{1^n}{n²}} $$

  1. Ecrire une fonction f(n) et g(n) permettant de calculer ces sommes (3 + 3 pts)
  2. Ecrire un script qui permette d’afficher dans deux figures d’une même fenêtre (subplot) en rouge et bleu le résultat des 500 premiers termes pour chacune des fonctions centrées sur les mêmes valeurs (entre 3 et 3,3 en y). (2 pts)
function y=f(n)
  if n==0
    y = 4;
  else
    % On stocke toutes les valeurs dans une liste (y[k] est la valeur de la somme pour n=k)
    y = 1 + (-1)^1 / (2*1 + 1); % Deux premiers termes de la somme

    for i = 2:n
      y(i) = y(i-1) + ((-1)^i)/(2*i+1);

    endfor

    y = 4 .* y; % On applique le facteur 4 sur tout les termes
  endif
end
function y=g(n)
	% On stocke toutes les valeurs dans une liste (y[k] est la valeur de la somme pour n=k)
  y = [1]; % Premier terme de la somme

  for i = 2:n
    y(i) = y(i-1) + (1^i)/(i^2);

  endfor

  y = sqrt(6 .* y);
end
clear
close

yF = f(500);
yG = g(500);

subplot(2,1,1)
plot([1:500],yF)
title('f(n)');
axis([1 500 3 3.3])

subplot(2,1,2)
plot([1:500],yG)
title('g(n)');
axis([1 500 3 3.3])

untitled.png