Módulo:Zona de pruebas/Eloy/Q2
Este módulo no tiene página de documentación[crear]
local p={}
local elemq_ayudante={
['per']={2,10,18,36,54,86,118,
168,218}, -- Final de cada período
['series']=
{ -- Elementos,Artículo,singular,plural
['n']={{1,6,7,8,15,16,34},'No metales','no metal','no metales','#A0ffA0'},
['g']={{2,10,18,36,54,86,118},'Gas noble','gas noble','gases nobles','#C0FFFF'},
['k']={{3,11,19,37,55,87},'Alcalino','metal alcalino','metales alcalinos','#FF6666'},
['K']={{4,12,20,38,56,88},'Alcalinotérreo','metal alcalinotérreo','metales alcalinotérreos','#FFDEAD'},
['m']={{5,14,32,33,51,52,84},'Metaloide','metaloide','metaloides','#CCCC99'},
['h']={{9,17,35,53,85,117},'Halógeno','halógeno','halógenos','#FFFF99'},
['p']={{13,31,49,50,81,82,83,
113,114,115,116},'Metal del bloque p','metal del bloque p','metales del bloque p','#CCCCCC'},
['t']={{21,22,23,24,25,26,27,28,29,30,39,40,41,42,43,44,45,46,
47,48,72,73,74,75,76,77,78,79,80,104,105,106,107,108,
109,110,111,112},'Metal de transición','metal de transición','metales de transición','#FFC0C0'},
['l']={{57,58,59,60,61,62,63,64,
65,66,67,68,69,70,71},'Lantánido','lantánido','lantánidos','#FFBFFF'},
['a']={{89,90,91,92,93,94,95,96,97,
98,99,100,101,102,103},'Actínido','actínido','actínidos','#FF99CC'},
},
['series_inv']='ngkKmnnnhgkKpmnnhgkKttttttttttpmmnhgkKttttttttttppmmhgkKllllllllllllllltttttttttpppmhgkKaaaaaaaaaaaaaaatttttttttpppphg????????????????????',
}
-- Obtiene datos del elemento
function p.elemq(Z)
local elem={['Z']=Z}
local cod=string.char(elemq_ayudante.series_inv:byte(Z) or 63)
if not (nil == cod) then
local ser=elemq_ayudante.series[cod]
elem['serie']={['código']=cod,['artículo']=ser[2],['singular']=ser[3],['plural']=ser[4]}
end
for p,n in pairs(elemq_ayudante.per) do
elem['período']=p
if(Z<=n) then break end -- Por ejemplo, si Z es 3: cuando n=2 (p=1),Z no es <=n (3 no es <=2), cuando n=10 (p=2), Z<=n (3<=10) y termina.
end
return elem
end
-- Usada para crear elemq_ayudante.series_inv al modificar elemq_ayudante.series
function p.inv()
local t={}
for i=1,138 do t[i]='?' end
for nm,serie in pairs(elemq_ayudante.series) do
for _,i in pairs(serie[1]) do
t[i]=nm
end
end
return table.concat(t)
end
return p