IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Formule mathématique correspondant aux objets et fonctions


Sujet :

Mathématiques

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 54
    Points : 13
    Points
    13
    Par défaut Formule mathématique correspondant aux objets et fonctions
    Bonjour,

    Je suis nul en math, mais j'ai de l'ambition () donc je vous inflige une question cruelle.

    Voilà, en PHP on utilise les fonctions et les objets. Mais il doit bien y avoir des formules mathématiques qui sous-tendent ces fonctionnalités.

    Vrai ou fou ?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Le nettoyeur Voir le message
    Voilà, en PHP on utilise les fonctions et les objets. Mais il doit bien y avoir des formules mathématiques qui sous-tendent ces fonctionnalités.
    ?????

    Pardon ? De quelles fonctions ou de quels objets parles-tu ?

    En termes d'objets visuels, la seule "fonction" de base est un rectangle (de pixels).

    Sinon, de quelles fonctions parles-tu ? Il y a tout un tas de formules, suivant certaines fonctions.. Mais pas pour tout..

    Ta question est peu claire..

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    A moins que tu ne veuilles parler de la "théorie" de création des langages de programmation:

    - Programming language theory (PLT): syntaxe, grammaire, semantique, ...
    - Compiler theory: interpréteurs, compilateurs, ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    Salut,

    Merci pour vos réponses. Ma question est peu claire, c'est typique des néophytes.

    Bon prenons le langage PHP par exemple. Il y a des fonctions, n'est-ce pas ?
    Et bien en mathématique, on étudie aussi les fonctions, sauf erreur de ma part.

    Bon, donc le point commun, c'est l'algorythme, non ?
    Et comme tout l'informatique n'est que mathématique, les objets utilisés en POO dovient bien s'appuyer sur quelques formules mathématiques, dans leur logique. Non ? J'ai droit au peloton d'exécution ?

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par Le nettoyeur Voir le message
    Bon, donc le point commun, c'est l'algorythme, non ?
    Et comme tout l'informatique n'est que mathématique, les objets utilisés en POO dovient bien s'appuyer sur quelques formules mathématiques, dans leur logique. Non ? J'ai droit au peloton d'exécution ?
    On emploie le même terme "fonction" dans beaucoup de domaines, mais pas avec les mêmes définitions.

    Dans les langages impératifs (PHP,...), on emploie le mot fonction pour parler d'un appel de procédure (sous-routine) qui renvoie une valeur.

    Ca ressemble effectivement beaucoup à la notion mathématique y=f(x). Mais une procédure peut faire beaucoup plus de choses que de calculer la valeur de sortie. Par exemple, afficher à l'écran, écrire dans un fichier, ....

    On ne peut donc pas réduire la procédure à une formule mathématique reliant les paramètres et la valeur renvoyée.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    Bon alors une question plus générale.

    Est-ce que l'étude des algorythmes et des mathématiques en général peut être d'une quelconque utilité pour le codage de sites internet ?

  7. #7
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Absolument. Ce n'est en aucun cas une nécessité, mais ça sera toujours très utile. Mais je sais pas trop quoi ajouter… Non je pense que la vraie question est : « vas-tu éditer tes scripts web avec vi ou emacs ?».

  8. #8
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    On pourrait écrire des livres entiers sur les points communs et les différence entre l'informatique et les mathématiques.

    Dans les points communs, on pourrait citer que les preuves sont des programmes et les programmes sont des preuves (plus ou moins) par la correspondance de Curry-Howard.

    On peut aussi exprimer des tas choses "programmatiques" dans un formalisme mathématique. Ce qui permet de faire des preuves sur les programmes. Des preuves de terminaison, des preuves de correction.

    On peut par exemple voir la fonction strcat comme une application de S x S -> S. Avec S l'ensemble des chaînes de caractère.

    Dans les différences, on peut citer que la modélisation mathématique d'un programme est toujours inexacte (par définition, un modèle ne capture que ce qu'on a envie qu'il capture). Une approximation courante est de se dire que le type float des programmes représente des réels. C'est généralement suffisant, mais peut dans certains cas réserver des surprises.

    Et une grosse partie de l'ingénierie logiciel ne fait pas parti des maths. Par exemple, trouver des pattern de POO, se dire que l'approche composant c'est bien, qu'on a envie de paralléliser un algo, de le faire tourner sur du GPU, etc. Tout ça, c'est pas mathématique. Mais on peut à postériori l'exprimer mathématiquement.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    Salut, merci pour vos réponses.


    Bon, sans me noyer dans la théorie, fort intéressante au demeurant, que me conseilleriez-vous précisément d'étudier en mathématique, qui puisse me servir ensuite en programmation ?



    Note : pas compris vi ou emac, j'utilise pspad

  10. #10
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Tout dépend de ce que tu veux faire.

    La seule chose indispensable, c'est d'être doté d'un cerveau rationnel.
    C'est à dire comprendre que tout est logique et explicable.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    Eh bien, je souhaite mieux programmer, en utilisant les fonctions par exemple.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Le nettoyeur Voir le message
    Eh bien, je souhaite mieux programmer, en utilisant les fonctions par exemple.
    Je crois que tu as un grand flou dans tes expressions, et donc ce que tu sous-tend par les mots...


    Des fonctions dans des programmes, il y en a autant que tu veux.. Certaines mathématiques, d'autres non..

    Par exemple, on peut vouloir faire une fonction pour changer la couleur d'un widget dans une appli... Aucune mathématique là-dedans. La fonction ne fait qu'appeller le setter/getter de la propriété associée..

    On peut vouloir faire une fonction qui calcule une transformée de Fourier sur un ensemble de points, ou la distance entre 2 points.. Là il y a des mathématiques..


    Faire une interface graphique ne demande aucune mathématique, et toutes les "fonctions" appelées ne feront jamais référence à des maths.

    Faire un programme qui lisse une image, ou qui affiche un film, ou qui calcule le taux d'intérêt à 3 mois, là il y aura des mathématiques...


    Bref, tes notions (et donc tes questions et conclusions) sont totalement erronées et décorrélées...



    Et c'est totalement indépendant du langage.. PHP, Fortran, C, Java, .net, ou n'importe quel langage....

  13. #13
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 395
    Points : 23 756
    Points
    23 756
    Par défaut
    Bonjour,

    Citation Envoyé par Le nettoyeur Voir le message
    Bon alors une question plus générale.

    Est-ce que l'étude des algorithmes et des mathématiques en général peut être d'une quelconque utilité pour le codage de sites internet ?
    Peu probable a priori parce que l'étude que tu vas en faire va concerner l'informatique théorique et te donner un savoir qui ne sera pas directement applicable à ce contexte. Être programmeur web, c'est un vrai métier, mais qui nécessite surtout une connaissance de l'état actuel des technologies en la matière, ainsi que « l'usage » qui est fait du web par ses utilisateurs, en particulier la Netiquette. C'est un peu comme si tu nous demandais « dois-je devenir linguiste pour rédiger des manuels techniques ? ».

    En outre, les langages du web comme le PHP ont la réputation d'être faciles d'accès puisqu'ils sont conçus pour réduire au minimum les considérations purement techniques : typage faible, tableaux associatifs, procédures automatisées, profils par défaut, etc. Toutes ses choses qui vont te permettre de retomber sur tes pattes même si tu ne suis pas la même voie à chaque fois.

    Pour le reste, en revanche, ta question est loin d'être anodine, car l'informatique est assurément mathématique, et il existe de nombreuses filières d'ingénierie qui la concernent. Cependant, c'est une toute petite branche de l'édifice qui s'est développée au point de devenir considérable et cela a engendré un problème de société méconnu : les gens jusque là doués en mathématiques pouvaient pratiquement tout faire : toutes les sciences dures, dont la physique et l'astronomie, les statistiques, l'économie et les finances, ce qui leur donnaient l'accès aux postes de dirigeants. L'informatique est venue chambouler tout cela car la méthode de pensée traditionnelle n'est que peu applicable au cas les plus courants alors que, parallèlement, n'importe qui ou presque peut se mettre en autodidacte à écrire des programmes parfois conséquents, à une époque où le contrôle de l'information est devenu un enjeu stratégique.

    Pour répondre à ta question initiale : les fonctions en mathématiques en général et en informatique en particulier sont deux facettes d'un même concept. Une fonction est une expression évaluable, et dont la valeur « est fonction » d'un paramètre, contrairement à une constante. Au sein d'une formule, une fonction accompagné de son ou ses paramètres est donc un seul terme, qui peut éventuellement apparaître plusieurs fois. Ainsi « cos(π÷3) vaut ½ » de la même façon que « π ≈ 3,141592653589… ». La grande différence entre un mathématicien et un informaticien va venir du fait que dans le premier cas, on ne se soucie pas de la façon dont on arrive au résultat. Une équation est l'expression d'un fait et d'une réalité mathématique, depuis laquelle on peut déduire d'autres choses. Un programmeur, en revanche, a en principe notion du coût en ressource de ses opérations et ceci va le conduire à adopter différentes approches en fonction du compromis entre ce qu'il veut obtenir et ce qu'il est possible de faire en un temps raisonnable. Exprimer une série de 0 à l'infini est courant sur le papier mais par nature impossible à calculer.

    Toujours est-il qu'au final, quand on en est à évaluer la fonction, il faut suspendre le cours du programme principal, sauter vers une procédure prédéfinie, mettre le résultat à disposition quelque part, restaurer le contexte initial puis poursuivre là où on s'était arrêté. Ce procédé s'appelle un sous-programme. C'est donc en utilisant un sous-programme que l'on calcule une fonction sur un ordinateur et, réciproquement, on implémente les sous-programmes en définissant des fonctions. Mais ce dernier cas n'a pas toujours été une évidence : en BASIC, on utilisait GOSUB vers un numéro de ligne. Il existait bien DEFFN sur certaines versions, mais cela ne permettait de déclarer qu'une expression mathématique habituelle et pas un programme entier. En outre, en Pascal, on distinguait « fonctions » et « procédures ».

    C'est surtout le langage C qui a rendu populaire l'approche actuelle, en confondant les notions de fonctions et de procédures. Il n'y avait aucune raison, au fond, d'introduire volontairement des incompatibilités entre les deux puisqu'en interne, elles étaient gérées de la même façon. Une fonction invoquée seule, sans affectation ou comparaison, est évaluée dans tous les cas et sa valeur retournée. Le fait que cette valeur soit immédiatement perdue juste après importe peu.

    Donc, à ce stade, les mathématiques interviennent peu. Par contre, elles vont prendre une place importante lorsque tu vas évoluer vers des langages plus scientifiques ou si tu t'intéresses à l'informatique théorique.

    Le meilleur exemple reste les expressions régulières, traditionnellement présentées comme l'exemple-même de recherche théorique en informatique bien conduite et dont les applications ont été très concrètes. Aujourd'hui, on les utilise pratiquement tout de suite lorsque l'on fait du web mais il faut généralement attendre l'enseignement supérieur pour découvrir qu'elles existaient avant les micro-ordinateurs, qu'on peut s'en servir pour reconnaître des motifs insoupçonnés, etc.

Discussions similaires

  1. formulation mathématique de mise en correspondance
    Par aymench1985 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 30/04/2014, 22h00
  2. Passer des fonctions aux objets ?
    Par thibaud74 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/02/2010, 21h20
  3. Réponses: 2
    Dernier message: 13/04/2007, 02h22
  4. [TGroupBox] Accès aux objets
    Par JediKerian dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2003, 14h34
  5. évaluateur de formule mathématique
    Par lyrau dans le forum Générateurs de compilateur
    Réponses: 5
    Dernier message: 28/03/2003, 22h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo