Les sujets de maths pour la programmation

Fermé
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 - 12 nov. 2013 à 10:40
Idéophage Messages postés 43 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 23 novembre 2013 - 20 nov. 2013 à 19:36
Bonjour,

J'aimerais savoir quels sont les sujets de mathématiques à bosser quand on a pas tellement suivit les cours à l'école, et qu'on veut se mettre à la programmation. Est-ce qu'il y a des sujets de maths importants à connaitre pour débuter ?

Merci !
A voir également:

7 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 12/11/2013 à 19:08
Les "pré-requis" pour faire de la programmation pourraient être :

* Un peu d'algèbre, pour comprendre la numération binaire, les calculs modulaires et la logique booléenne.
* Quelques connaissances sur les puissances, les exponentielles, les logarithmes, afin d'aborder les chapitres sur la complexité d'un programme.
* De la trigonométrie si tu t'intéresses aux traitements du signal.
* Le raisonnement par récurrence est également important pour comprendre les concepts de récursivité.La confiance n'exclut pas le contrôle
1
scinarf Messages postés 1119 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
12 nov. 2013 à 13:19
Il s'agit pas de sujet de math proprement dit. Mais des algorithmes qui sont assez célèbres.

Vous pouvez chercher du coté des tris, il en existe un tas:
-tri à bulle
-tri pas insertion
-tri du singe
-tri par dichotomie

Après toutes les opérations sur des listes ou tableau : Recherche, suppression, tri, ajout ...

Sinon des problèmes mathématiques faciles à mettre en place :

-Calcul de n factoriel en récursif
-Calcul d'une puissance avec l'algorithme d'expo rapide

bref plein de choses a faire
0
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
14 nov. 2013 à 09:36
Ok ! Tout ça me fait dire que j'ai beaucoup à apprendre parce que rien que pour "les problèmes mathématiques faciles à mettre en place" comme :

-Calcul de n factoriel en récursif
-Calcul d'une puissance avec l'algorithme d'expo rapide

et bien j'ai pas compris la consigne xD

Vous ne connaitriez pas un livre qui regrouperait un peu tout ça ?
0
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
15 nov. 2013 à 11:40
Vous n'avez pas utilisé de livre pour apprendre tout ça vous ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scinarf Messages postés 1119 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
15 nov. 2013 à 15:59
J'ai suivi les cours donnés lors de ma formation c'est à dire prépa math spé info et école d'ingénieurs.
0
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
19 nov. 2013 à 11:30
Et ils ne t'ont pas fait acheté de livre ?
0
Idéophage Messages postés 43 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 23 novembre 2013 5
Modifié par Idéophage le 20/11/2013 à 19:47
Bonjour,

Quelles notions mathématiques maitriser pour programmer ?
L'algorithmique (on peut bien considérer ça comme des maths, n'est-ce pas ?). Pour ça, il y a un site internet francophone excellent : http://www.france-ioi.org/ ! Si tu veux un livre, en voilà : http://www.france-ioi.org/comm/aide.php#question_13 Je conseille cependant vivement de ne pas acheter de livre car il est je pense préférable de trouver les choses soi-même (ce que permet la plateforme d'entrainement de France-IOI).

D'après mon expérience, les cours à l'école sont trop souvent plus faits pour être appris que compris. Donc je ne pense pas que ce soit énormément important de ne pas avoir suivi à fond. Il suffit de quelques notions de base dans les sujets qu'a cités KX, d'un peu de papier/crayon et de beaucoup de passion.

En ce qui concerne les exercices donnés par scinarf, il s'agit de résoudre les problèmes suivants :

1) Calcul de n factorielle : la factorielle de n (notée « n! ») est le nombre de façons de ranger n pierres numérotées de 1 à n. Par exemple, si l'on a trois pierres, notées 1, 2 et 3, on peut les ranger de 6 manières différentes : (123), (132), (213), (231), (312) et (321). Il s'agit de construire un algorithme qui, étant donné le nombre de pierres, détermine le nombre de façons qu'il y a de les ranger (pour plus de détails, tu peux chercher « combinatoire énumérative », mais après avoir trouvé !).

2) Exponentiation rapide : imaginons que l'on veuille calculer le produit 2 * 2 * 2 * 2 * 2 ( = 2^5 qui se lit 2 puissance 5). De par l'associativité de la multiplication (le fait que (2*3)*4 = 2*(3*4)), on peut choisir l'ordre dans lequel on effectue les calculs. Par exemple, on peut faire (((2*2)*2)*2)*2 = ((4*2)*2)*2 = (8*2)*2 = 16*2 = 32. Mais on peut aussi faire (2*2)*((2*2)*2) = 4 * ((2*2)*2) = 4 * (4*2) = 4*8 = 32. On remarque ici que l'on a effectué deux fois le produit 2*2, et que donc on peut se contenter de ne le calculer qu'une seule fois et de réutiliser le résultat. Or, ce qui nous intéresse en algorithmique est de calculer le plus rapidement possible ! Il s'agit donc de trouver un algorithme qui calcule a^b en effectuant un nombre minimal de multiplications. Lorsque tu aura trouvé la solution (après peut-être longtemps, si tu n'y arrive pas, laisse le problème de côté et reviens-y plus tard, mais ne regarde pas la solution !), essaie de voir en quoi il s'agit de la même chose que l'algorithme que l'on utilise pour multiplier deux nombres en procédant chiffre par chiffre (ça aussi, ça peut être difficile, il faut laisser faire le temps et le travail modéré pour ensuite s'émerveiller !). En fait, ça devient trivial avec un brin d'algèbre (notion de semi-groupe). Si tu ne vois pas à quel algorithme je fais référence pour la multiplication chiffre par chiffre, c'est ici : https://fr.wikipedia.org/wiki/Fichier:Poser-une-multiplication.ogv

[edit]

Pour répondre à la question initialement posée, ce qui est important d'avoir, c'est je pense moins les concepts mathématiques (même si certains sont très présents en algorithmique) que la manière de raisonner que je serais incapable de décrire maintenant (capacité d'abstraction, de problem-solving, de hacking). D'ailleurs, le site dont j'ai parlé plus haut, France-IOI, propose une méthode de résolution de problèmes très proche de celle proposée par G. Pólya dans son livre How to solve it?. L'algorithmique est un domaine des maths, avec des liens forts et imprévisibles ! Et les maths sont une fractale (c'est beau, l'autoréférence).
0