CoddityTeam / movaicode

Concours mensuel du Pire Développeur de France
123 stars 10 forks source link

Avec Matlab on utilise des matrices ! #286

Open NicolasParis1 opened 1 year ago

NicolasParis1 commented 1 year ago

L'astrologie étant aussi mystique que le traitement du signal, Matlab était tout indiqué pour cette application. Matlab c'est vraiment super ! On peut manipuler des matrices très facilement et ça tombe bien les matrices sont parfaites pour contenir un bon nombre de données. Je vous rassure, aucune convolution n'a été nécessaire ici.

% Comme tout fichier matlab qui se respecte, celui-ci commence par un mur
% de commentaire qui décrira la fonction dudit fichier, son utilisation, sa
% version, son autour et son signe astrologique.
%
% Description : Ce fichier est utilisé par Mme. Irma entre deux FFT
% discrètes afin de retrouver le signe astrologique d'une personne
% quelconque.
%
% Paramètres : Aucun, ce programme demande à l'utilisateur les informations
% pertinentes.
% 
% Utilisation : F5, ou lancer le programme section par section grâce à ses
% compartiments ergonomiques.
%
% Auteur : Mme. Irma
% 
% Version : V2 finale révision 4 finale
% 
% Signe astrologique : Ce programme est vierge. 
% 
% Nous rappelons que le résultat fourni par ce programme n'est en aucun cas
% garanti et qu'une consultation avec Mme. Irma est tout de même nécessaire.

%% Déclaration des variables
signes=["Bélier","Taureau","Gémeaux","Cancer","Lion","Vierge","Balance","Scorpion","Sagittaire","Capricorne","Verseau","Poissons"];

MatriceDeVerite=[ % Matrice de la voyante, donne le signe selon le jour
   %J  F  M  A M J J A S O N D
    10 11 12 1 2 3 4 5 6 7 8 9  % 1
    10 11 12 1 2 3 4 5 6 7 8 9  % 2
    10 11 12 1 2 3 4 5 6 7 8 9  % 3
    10 11 12 1 2 3 4 5 6 7 8 9  % 4
    10 11 12 1 2 3 4 5 6 7 8 9  % 5
    10 11 12 1 2 3 4 5 6 7 8 9  % 6
    10 11 12 1 2 3 4 5 6 7 8 9  % 7
    10 11 12 1 2 3 4 5 6 7 8 9  % 8
    10 11 12 1 2 3 4 5 6 7 8 9  % 9
    10 11 12 1 2 3 4 5 6 7 8 9  % 10
    10 11 12 1 2 3 4 5 6 7 8 9  % 11
    10 11 12 1 2 3 4 5 6 7 8 9  % 12
    10 11 12 1 2 3 4 5 6 7 8 9  % 13
    10 11 12 1 2 3 4 5 6 7 8 9  % 14
    10 11 12 1 2 3 4 5 6 7 8 9  % 15
    10 11 12 1 2 3 4 5 6 7 8 9  % 16
    10 11 12 1 2 3 4 5 6 7 8 9  % 17
    10 11 12 1 2 3 4 5 6 7 8 9  % 18
    10 12 12 1 2 3 4 5 6 7 8 9  % 19
    10 12 12 1 2 3 4 5 6 7 8 9  % 20
    11 12 1  2 3 3 4 5 6 7 8 9  % 21
    11 12 1  2 3 4 4 5 6 7 8 10 % 22
    11 12 1  2 3 4 5 6 7 8 9 10 % 23
    11 12 1  2 3 4 5 6 7 8 9 10 % 24
    11 12 1  2 3 4 5 6 7 8 9 10 % 25
    11 12 1  2 3 4 5 6 7 8 9 10 % 26
    11 12 1  2 3 4 5 6 7 8 9 10 % 27
    11 12 1  2 3 4 5 6 7 8 9 10 % 28
    11 12 1  2 3 4 5 6 7 8 9 10 % 29
    11 12 1  2 3 4 5 6 7 8 9 10 % 30
    11 12 1  2 3 4 5 6 7 8 9 10 % 31
   ];
    %Note: MATLAB ne supporte pas les caractères non ASCII donc pas de matrice
    %d'émoji :(

%% Acquisition des données 

jour = input("En quelle année êtes vous né ?");
annee = input("En quel mois êtes vous né ?");
mois = input("En quel jour êtes vous né ?");

%% Traitement des données
MatriceDeNaissance=zeros(31,12);
MatriceDeNaissance(mois,annee)=1;    % Nombre de naissance, forcément vous êtes né une fois le jour de votre naissance et 0 fois les autres jours

Matrice=MatriceDeNaissance.*MatriceDeVerite;    % Masquage
signe_zodiac=signes(max(max(Matrice)));

%% Affichage des résultats
disp("Vous êtes assurément")
disp(signe_zodiac)