Le Programmateur

Les programmes du Programmateur !

Aller au contenu | Aller au menu | Aller à la recherche

Scheme

Le concept principal de la programmation fonctionnelle n'est pas ce que l'on pourrait croire : les parenthèses, mais le fait que dans la programmation fonctionnelle, tout est fonction.

Cela signifie que vous pouvez passer une fonction en paramètre d'une autre, etc. 

Tous les petits programmes présentés dans cette catégorie ont été développés sous Dr Scheme. 

Fil des billets - Fil des commentaires

23nov.

Modélisation d'un circuit électrique en Scheme

Cet article présente un programme dont le but est de modéliser un circuit électrique. On commence par définir les notions de résistance, d'inductance, puis petit à petit, on définit un circuit électrique. On peut alors connaître la résistance du circuit... tout ça avec si peu de paranthèses ! :-)

Lire la suite

23nov.

Nombres de Hamming et séries alternées en Scheme

Un petit programme sur les nombres de Hamming et les séries alternées.

(display "1. Preludio")
(define 
  (remove-factors n p)
  (if (zero? (remainder n p))
      (remove-factors (quotient n p) p)
      n))

Lire la suite

21nov.

Gestion du temps en Scheme

Voici un programme permettant d'effectuer diverses fonctions en lien avec la gestion du temps, en Scheme.

(define (duration? x)
  (and (list? x) (pair? (cadr x))
       (integer? (car x)) (>= (car x) 0)
       (integer? (caadr x)) (>= (caadr x) 0) (< (caadr x) 60)
       (integer? (cdadr x)) (>= (cdadr x) 0) (< (cdadr x) 60)))
(duration? 2006)
(duration? '(a . b))
(duration? '(11 (100 . 0)))
(duration? '(11 (0 . 0)))

Lire la suite

21nov.

Conversion d'unités et calcul de surface en Scheme

Tout est expliqué dans le titre et commenté dans le code !

(display "1) Calcul de surfaces simples")
 
(define pi (* 4 (atan 1)))
pi
(define (simple-surface r f) (f (* r r)))

Lire la suite

21nov.

Les listes en Scheme

Exemple de possibilités de travail sur les listes en Scheme :

(define (neg->zero x)
  (if (< x 0)
      0
      x))
(define (quasi2pred n)
  (if (< n 2)
      (cons 0 0)
      (cons (- n 1) (- n 2))))

Lire la suite

21nov.

Fonctions récursives en Scheme

Je présente ici un exemple de définition et d'utilisation de fonctions récursives en Scheme.

(display "Somme des chiffres")
(newline)
(define (digit-sum nb) 
  (if (< nb 10)
      nb
      (+ (digit-sum (quotient nb 10)) (remainder nb 10))))
(display "Essai avec 198")
(digit-sum 198)

Lire la suite

21nov.

Débuts en Scheme

Voici un petit programme présentant quelques fonctions de base en Scheme. Définition et utilisation d'une variable :

(define pi (* 4 (atan 1)))
(+ (* 4.1 9.8) (/ (* 2 pi) 3))

Lire la suite