Sur ce site, je parle souvent de programmation orientée-objet, de programmation procédurale et je peux donner l'impression que ce sont deux concepts opposés, l'un bien et l'autre mal, ou quelque chose de ce genre. Je vais essayer de démystifier ça en expliquant ce que c'est.
En informatique, on ne travaille pas que sur des nombres et des ensembles de nombres. On est amené à travailler sur des nombres, certes, mais aussi sur des chaînes de caractère (un bien grand mot pour dire du texte). Mais, c'est pareil. Si vous avez fait un peu de mathématiques, vous comprendrez très bien.
Une fonction sinus(angle) calculera le sinus d'un angle. Ainsi, si je dis que x = sinus(angle) alors, cela veut dire qu'on décide que la valeur x vaut sinus(angle). On parle d'affectation de sinus(angle) à x. On peut aussi écrire x = x+1. Cette déclaration, qui est fausse en mathématique, n'a pas le sens d'une comparaison ou d'une équation. Il s'agit d'une affectation. Dans x, on met la valeur de x à laquelle on a aditionné 1.
Dans la plupart des langages de programmation procédurale, il existe une fonction principale dans laquelle on met l'algorithme de notre programme (instructions à la suite) et on fait un effort particulier pour mettre dans des fonctions annexes les traitements répétitifs. Si par exemple, on doit calculer plusieurs fois un sinus, il vaut mieux créer une fonction faite pour cela et l'appeler plutôt que de répéter l'algorithme directement dans la fonction principale autant de fois que le programme principal en a besoin. Ecrire des fonctions annexes permet de factoriser les opérations et de rendre la suite d'instructions beaucoup plus lisible pour les êtres humains, et beaucoup plus facilement rédigeable pour les programmeurs.
Vous pouvez consulter un ouvrage d'algorithmique (je n'ai malheureusement pas de référence à vous proposer), ou lire l'article de Wikipédia sur la programmation procédurale. Si vous voulez une introduction à l'orienté-objet, consultez cette page