Algorithme récursifUn algorithme récursif est un algorithme qui résout un problème en calculant des solutions d'instances plus petites du même problème. L'approche récursive est un des concepts de base en informatique. Les premiers langages de programmation qui ont autorisé l'emploi de la récursivité sont LISP et Algol 60. Depuis, tous les langages de programmation généraux réalisent une implémentation de la récursivité. Pour répéter des opérations, typiquement, un algorithme récursif s'appelle lui-même.
Tours de HanoïLes tours de Hanoï (originellement, la tour d'Hanoï) sont un jeu de réflexion imaginé par le mathématicien français Édouard Lucas, et consistant à déplacer des disques de diamètres différents d'une tour de « départ » à une tour d'« arrivée » en passant par une tour « intermédiaire », et ceci en un minimum de coups, tout en respectant les règles suivantes : on ne peut déplacer plus d'un disque à la fois ; on ne peut placer un disque que sur un autre disque plus grand que lui ou sur un emplacement vide.
Diviser pour régner (informatique)thumb|652x652px|Trois étapes (diviser, régner, combiner) illustrées avec l'algorithme du tri fusion En informatique, diviser pour régner (du latin , divide and conquer en anglais) est une technique algorithmique consistant à : Diviser : découper un problème initial en sous-problèmes ; Régner : résoudre les sous-problèmes (récursivement ou directement s'ils sont assez petits) ; Combiner : calculer une solution au problème initial à partir des solutions des sous-problèmes.
RécursivitéLa récursivité est une démarche qui fait référence à l'objet même de la démarche à un moment du processus. En d'autres termes, c'est une démarche dont la description mène à la répétition d'une même règle.
Course-of-values recursionIn computability theory, course-of-values recursion is a technique for defining number-theoretic functions by recursion. In a definition of a function f by course-of-values recursion, the value of f(n) is computed from the sequence . The fact that such definitions can be converted into definitions using a simpler form of recursion is often used to prove that functions defined by course-of-values recursion are primitive recursive.
Dynamic loadingDynamic loading is a mechanism by which a computer program can, at run time, load a library (or other ) into memory, retrieve the addresses of functions and variables contained in the library, execute those functions or access those variables, and unload the library from memory. It is one of the 3 mechanisms by which a computer program can use some other software; the other two are static linking and dynamic linking.
Disquettethumb|Lecteur de disquette . Une disquette est un support de stockage de données informatiques amovible. La disquette est aussi appelée disque souple (floppy disk en anglais) en raison de la souplesse des premières générations () et par opposition au disque dur. Une disquette est composée d'un fin disque de plastique souple renforcé en son centre sur lequel est apposé un substrat magnétique. Ce disque est enveloppé d'une coque de protection en matière plastique comprenant une couche interne ouatée améliorant la rotation du disque et son nettoyage et une couche externe rigide ou semi-rigide.
ItérationEn mathématiques, une itération désigne l'action de répéter un processus. Le calcul itératif permet l'application à des équations récursives. Le terme itération est issu du verbe latin iterare qui signifie « cheminer » ou de iter « chemin ». Le processus d'itération est employé fréquemment en algorithmique. Une itération en mathématiques peut se référer au processus d'itération d'une fonction, c'est-à-dire, appliquer une fonction à plusieurs reprises, en utilisant la même itération à la sortie qu'à l'entrée.
Programmation dynamiqueEn informatique, la programmation dynamique est une méthode algorithmique pour résoudre des problèmes d'optimisation. Le concept a été introduit au début des années 1950 par Richard Bellman. À l'époque, le terme « programmation » signifie planification et ordonnancement. La programmation dynamique consiste à résoudre un problème en le décomposant en sous-problèmes, puis à résoudre les sous-problèmes, des plus petits aux plus grands en stockant les résultats intermédiaires.
Récursion mutuelleEt mathématiques et en informatique, la récursion mutuelle est une récursion où deux (ou plus) fonctions mathématiques ou programmatiques sont définies l'une en termes de l'autre. En informatique, cependant, on utilise plus souvent le terme "récursivité croisée". Par exemple, deux fonctions A(x) and B(x) définies comme suit : La récursion mutuelle est très commune dans le style de programmation fonctionnelle et est souvent utilisée pour la programmation en LISP, Scheme, ML et celle de langages similaires.
Disque compactUn disque compact, le plus souvent désigné par son sigle anglais CD – abréviation de Compact Disc – est un disque optique utilisé pour stocker des données sous forme numérique. Le Compact Disc a été développé par Sony et Philips et commercialisé à partir de décembre 1982 (mars 1983 en France). Au début des années 1990, il se démocratise, et petit à petit, finit par remplacer les supports analogiques (disque microsillon, cassette audio). vignette|Creux sur la surface d'un CD vu au microscope à balayage.
Iterative and incremental developmentIterative and incremental development is any combination of both iterative design or iterative method and incremental build model for development. Usage of the term began in software development, with a long-standing combination of the two terms iterative and incremental having been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167 mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time.
Dynamic linkerIn computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at "run time"), by copying the content of libraries from persistent storage to RAM, filling jump tables and relocating pointers. The specific operating system and executable format determine how the dynamic linker functions and how it is implemented.
Fonction itéréeEn mathématiques, une fonction itérée est une fonction obtenue par composition répétée d’une autre fonction avec elle-même un certain nombre de fois. La procédure consistant à appliquer la même fonction à plusieurs reprises s’appelle itération. Les fonctions itérées apparaissent en informatique, dans les systèmes dynamiques, les groupes de renormalisation et sont à la base des fractales. L’itérée, plus précisément la deuxième itérée, d’une fonction f , définie sur un ensemble X et à valeurs dans ce même ensemble X, est la fonction où note la composition de fonctions.
Récursion terminaleEn informatique, la récursion terminale, aussi appelée, récursion finale, est un cas particulier de récursivité assimilée à une itération. Une fonction à récursivité terminale est une fonction où l'appel récursif est la dernière instruction à être évaluée. Cette instruction est alors nécessairement « pure », c'est-à-dire qu'elle consiste en un simple appel à la fonction, et jamais à un calcul ou une composition. Par exemple, dans un langage de programmation fictif : fonction récursionTerminale(n) : // ...
Langage de programmation dynamiqueCet article traite d'une classe des langages de programmation. Pour la méthode consistant en la réduction du temps d'exécution d'un algorithme, voir programmation dynamique On utilise le terme langage de programmation dynamique en informatique pour décrire une classe de langages de haut niveau qui exécutent au moment de l'exécution des actions que d'autres langages ne peuvent exécuter que durant la compilation.
Disque protoplanétairethumb|Plusieurs disques protoplanétaires dans la nébuleuse d'Orion. thumb|Disque protoplanétaire autour de l'objet HH30, à une distance d'environ (), observé par le télescope spatial Hubble. (NASA/ESA/STScI) thumb|Image de L1527 IRS prise en 2022 par le télescope spatial James-Webb. Au centre, on observe son disque protoplanétaire. Un disque protoplanétaire est un constitué de gaz et de poussières à partir duquel se forment les corps (planètes, planètes naines, petits corps et leurs satellites).
Processus unifiéLe processus unifié (PU), ou « unified process (UP) » en anglais, ou « Unified Software Development Process (USDP) » est une famille de méthodes de développement de logiciels orientés objets. Elle se caractérise par une démarche itérative et incrémentale, pilotée par les cas d'utilisation, et centrée sur l'architecture et les modèles UML. Elle définit un processus intégrant toutes les activités de conception et de réalisation au sein de cycles de développement composés d'une phase de création, d'une phase d'élaboration, d'une phase de construction et d'une phase de transition, comprenant chacune plusieurs itérations.
Disque optiquethumb|right|CD en vrac. Dans les domaines de l'informatique, de l'audio et de la vidéo, un disque optique, aussi appelé disque optique numérique ou DON, est un disque plat servant de support de stockage amovible. Un disque optique est habituellement constitué de polycarbonate. En informatique, les disques optiques sont utilisés comme mémoires de masse. La norme ISO 9660 définit le système de fichiers utilisé sur les CD-ROM et DVD-ROM. Les CD, les DVD et les Blu-ray sont les disques optiques les plus connus.
Processeur basé sur la pileCertains processeurs utilisent non pas des registres pour conserver les données, mais une ou plusieurs piles. Les instructions prennent alors pour opérandes les premiers éléments de la pile. Dans un tel processeur, les instructions (addition, multiplication, chargement d'une valeur en mémoire...) utilisent généralement les deux premiers éléments de la pile. On trouve aussi des instructions de manipulation de pile, par exemple permettant de supprimer un élément, ou d'inverser certains d'entre eux.