Interpréteur de formules de calcul en Python

L’IA générative est un allié du quotidien qui permet de créer ce qu’on imagine. Je fais mienne cette citation parce que c’est ce que je vis tous les jours… Avoir des idées c’est bien, les mettre en oeuvre, c’est mieux mais cela demande des ressources comme du temps et des compétences. Les IA génératives sont d’infatigables compagnons dans ces deux domaines.

Vous n’êtes pas encore convaincu ?

Interpréteur formules

Dernier exemple en date, je souhaitais remplacer la calculatrice Windows par une appli dotée de fonctionnalités plus abouties : un interpréteur de formules de calcul comprenant la gestion de parenthèses pour gérer les priorités des opérateurs de calcul et des fonctions personnalisées.

Calculatrice Windows

Il est vrai qu’esthétiquement, mon interpréteur n’a rien à envier à cette bonne vieille calculette Windows. Par contre question, fonctionnalités, il n’y a pas photo !

J’ai construit cette appli en échangeant plusieurs heures avec ChatGPT. Cette conversation m’a permis de créer pas-à-pas le programme qui correspond spécifiquement à mon besoin.

Extrait de la conversation avec ChatGPT :

ChatGPT échanges

ChatGPT échanges 2

A chaque étape, l’utilisateur précise son besoin et la machine répond inlassablement, fournissant au passage moult détails.

Après quelques heures de dialogue homme/machine et quelques modifications de mon cru, l’appli est pleinement opérationnelle.

Sans l’aide de ChatGPT, je ne serais a priori pas parvenu à ce résultat même avec du temps subsidiaire. ChatGPT et ses concurrents sont de formidables outils pour gagner en productivité.

Cliquer ici pour télécharger l’appli et consulter le manuel utilisateur.

Extrait du code-source :

def save_to_memory(index):
    global result_stored
    # Si un résultat est disponible, le sauvegarder dans le fichier MEMOIRE.TXT
    if result_stored is not None:
        with open("MEMOIRE.TXT", "r+") as mem_file:
            lines = mem_file.readlines()
            if len(lines) < 5:
                lines += ["\n"] * (5 - len(lines))  # Ajouter des lignes si le fichier est incomplet
            lines[index-1] = str(result_stored) + "\n"  # Sauvegarder le résultat dans la ligne correspondante
            mem_file.seek(0)
            mem_file.writelines(lines)

        # Activer le bouton RM correspondant
        recall_buttons[index-1].config(state=tk.NORMAL)

        # Mettre à jour le label d'affichage de la mémoire
        memory_labels[index-1].config(text=str(result_stored))
        
def recall_from_memory(index):
    # Effacer l'affichage du résultat
    result_label.config(text="")
    
    with open("MEMOIRE.TXT", "r") as mem_file:
        lines = mem_file.readlines()
        if len(lines) >= index and lines[index-1].strip():  # Vérifier si la mémoire est remplie
            # Insérer la valeur dans la zone de saisie à l'emplacement du curseur
            text_input.insert(tk.INSERT, lines[index-1].strip())

___

Pour la petite histoire : extrait d’un code source d’un interpréteur de formules mathématiques publié dans Science & Vie Micro dans les années 80 :

Extrait programme interpréteur formules mthématiques (SVM n° 35, janvier 1987, p. 68)Extrait du code source d'un programme d'interpréteur de formules mathématiques (SVM n° 35, janvier 1987, p. 68)

Extrait du code source d’un programme d’interpréteur de formules mathématiques (SVM n° 35, janvier 1987, p. 68)

Pour aller plus loin :

  • Se former avec le MOOC “L’intelligence artificielle générative et moi” (cours en ligne gratuit qui commence dès le 21 octobre prochain) animé par Cécile DEJOUX (CNAM) pour se former rapidement à l’IA générative et comprendre comment elle transforme notre vie de tous les jours, nos métiers et nos compétences. Renseignement et inscriptions.

IA et moi MOOC CNAM

RISQUE IA FORMATIONXL

Share Button
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Derniers articles parBenoît RIVIERE (voir tous)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.