Aller au contenu

Module:Infobox/Algorithme

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 3 mai 2020 à 19:04 et modifiée en dernier par Suaudeau (discuter | contributions) (test17). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Algorithme.


-- Ceci est en cours de construction
local general = require "Module:Infobox/Fonctions"
local localdata = require "Module:Infobox/Localdata"
local wikidata = require "Module:Wikidata"

local p = {}

function p.meilleurCas()
	return {
		type = 'row',
		label = 'Meilleur-cas',
		value = 'temps min',
		property = 'P3753',
	}
end
function p.pireCas()
	return {
		type = 'row',
		label = 'Pire-cas',
		value = 'temps max',
		property = 'P3752',
	}
end
function p.casMoyen()
	return {
		type = 'row',
		label = 'Moyen',
		value = 'temps moyen',
		property = 'P3754',
	}
end
function p.min_moy_max(arg) -- Retourne la valeur minimale, moyenne et maximale. Ne retourne pas la valeur moyenne si min=max
	-- Pire cas
	local pire_cas = localdata['temps max'] or wikidata.formatStatements{entity = localdata.item, property = "P3752"}
	local meilleur_cas = localdata['temps min'] or wikidata.formatStatements{entity = localdata.item, property = "P3753"}

	return {
			p.pireCas(),
			function()
				--if tostring(pire_cas) ~= tostring(meilleur_cas) then
					return p.casMoyen()
				--end
			end,
			--{type = 'row', label = "Moyen", value = "temps moyen", property = 'P3754'},
			--{type = 'row', label="test", value = function() return tostring(tostring(pire_cas) == tostring(meilleur_cas)) end },
			p.meilleurCas(),
	}
end


p.maincolor = "#ddd"
p.thirdcolor = "#000"
p.parts = {
	general.title("informatique"),
	general.logo(),
	general.mainimage('Article à illustrer Algorithme'),
	{type = 'table', rows = {
			{type = 'row', label = "Découvreur ou inventeur", plurallabel = "Découvreurs ou inventeurs", value = "decouvreur", property = 'P61'},
			{type = 'row', label = "Date", value = "date", property = 'P575'},
			{type = 'row', label = "Problème lié", plurallabel = "Problèmes liés", value = "problème", property = 'P31'},
			{type = 'row', label = "Structure des données", plurallabel = "Structures des données",value = "structure des données", property = 'P2283'},
	}},
	{type = 'table', title = "[[Complexité en temps]]", rows =  p.min_moy_max() 	},
	{type = 'table', title = "[[Complexité en espace]]", rows = {
			{type = 'row', label = "Pire cas", value = "espace max", property = 'P3755'},
			{type = 'row', label = "Moyenne", value = "espace moyen", property = 'P3757'},
			{type = 'row', label = "Meilleur cas", value = "espace min", property = 'P3756'},
	}},

	general.website(),
}

return p