Pick random element: Difference between revisions

m
No edit summary
 
(10 intermediate revisions by 8 users not shown)
Line 318:
110 DATAFOXTROT, GOLF, HOTEL, INDIA, JULIETT
</syntaxhighlight>
==={{header|Commodore BASIC}}===
<syntaxhighlight lang="qbasic">10 DIM A$(9)
20 FOR I=0 TO 9 : READ A$(I) : NEXT
30 X = RND(-TI) : REM 'PLANT A RANDOM SEED'
40 X = INT(RND(1)*10)
50 PRINT A$(X)
60 END
100 DATA ALPHA, BRAVO, CHARLIE, DELTA, ECHO
110 DATA FOXTROT, GOLF, HOTEL, INDIA, JULIETT</syntaxhighlight>
 
==={{header|BASIC256}}===
Line 336 ⟶ 327:
next i</syntaxhighlight>
 
==={{header|Chipmunk Basic}}===
{{works with|Chipmunk Basic|3.6.4}}
The [[#Commodore BASIC|Commodore BASIC]] solution works without any changes.
 
==={{header|Commodore BASIC}}===
<syntaxhighlight lang="qbasic">10 DIM A$(9)
20 FOR I=0 TO 9 : READ A$(I) : NEXT
30 X = RND(-TI) : REM 'PLANT A RANDOM SEED'
40 X = INT(RND(1)*10)
50 PRINT A$(X)
60 END
100 DATA ALPHA, BRAVO, CHARLIE, DELTA, ECHO
110 DATA FOXTROT, GOLF, HOTEL, INDIA, JULIETT</syntaxhighlight>
 
==={{header|True BASIC}}===
Line 608 ⟶ 612:
const items = ["foo", "bar", "baz"];
items[uniform(0, $)].writeln;
}</syntaxhighlight>
 
=={{header|Dart}}==
{{trans|C}}
<syntaxhighlight lang="dart">import 'dart:math';
 
void main() {
final array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
int i;
 
for (i = 1; i < 30; i++) {
var intValue = Random().nextInt(i) % 10;
print(array[intValue]);
}
}</syntaxhighlight>
 
Line 618 ⟶ 636:
=={{header|EasyLang}}==
 
<syntaxhighlight>
<syntaxhighlight lang="easyprog.online">ar$[] = [ "spring" "summer" "autumn" "winter" ]
ar$[] = [ "spring" "summer" "autumn" "winter" ]
print ar$[random len ar$[]]</syntaxhighlight>
print ar$[randint len ar$[]]
</syntaxhighlight>
 
=={{header|EchoLisp}}==
Line 630 ⟶ 650:
 
=={{header|Elena}}==
ELENA 56.0x :
<syntaxhighlight lang="elena">import extensions;
Line 636 ⟶ 656:
{
randomItem()
= self[randomGenerator.evalnextInt(self.Length)];
}
Line 751 ⟶ 771:
<syntaxhighlight lang="frink">a = ["one", "two", "three"]
println[random[a]]</syntaxhighlight>
 
=={{header|FutureBasic}}==
<syntaxhighlight lang="futurebasic">
random
 
mda(0) = {0,1,2,3,4,5,6,7,8,9}
 
print mda(rnd(10)-1)
 
HandleEvents
</syntaxhighlight>
 
=={{header|Gambas}}==
Line 863 ⟶ 894:
x := ?L # random element
end</syntaxhighlight>
 
=={{Header|Insitux}}==
 
<syntaxhighlight lang="insitux">
(rand-pick (range 100))
</syntaxhighlight>
 
=={{header|J}}==
Line 879 ⟶ 916:
<syntaxhighlight lang="javascript">var array = [1,2,3];
return array[Math.floor(Math.random() * array.length)];</syntaxhighlight>
 
=={{header|Joy}}==
<syntaxhighlight lang="joy">DEFINE pick_random == dup size rand swap rem at.
 
(* initialize random number generator *)
time 89 * clock + srand
 
["zero" "one" "two" "three" "four" "five" "six" "seven" "eight" "nine" "ten" "eleven" "twelve"]
pick_random.</syntaxhighlight>
 
=={{header|jq}}==
Line 1,436 ⟶ 1,482:
Also, the newly named elements have been incorporated into this table.
<syntaxhighlight lang="rexx">/*REXX program picks a random element from a list (tongue in cheek, a visual pun).*/
l= "Hydrogen_H Helium_He Lithium_Li Beryllium_Be Boron_B"
_= 'hydrogen helium lithium beryllium boron carbon nitrogen oxygen fluorine neon sodium'
l=l "Carbon_C Nitrogen_N Oxygen_O Fluorine_F Neon_Ne Sodium_Na"
_=_ 'magnesium aluminum silicon phosphorous sulfur chlorine argon potassium calcium'
l=l "Magnesium_Mg Aluminium_Al Silicon_Si Phosphorus_P Sulfur_S"
_=_ 'scandium titanium vanadium chromium manganese iron cobalt nickel copper zinc gallium'
l=l "Chlorine_Cl Argon_Ar Potassium_K Calcium_Ca Scandium_Sc"
_=_ 'germanium arsenic selenium bromine krypton rubidium strontium yttrium zirconium'
l=l "Titanium_Ti Vanadium_V Chromium_Cr Manganese_Mn Iron_Fe"
_=_ 'niobium molybdenum technetium ruthenium rhodium palladium silver cadmium indium tin'
l=l "Cobalt_Co Nickel_Ni Copper_Cu Zinc_Zn Gallium_Ga"
_=_ 'antimony tellurium iodine xenon cesium barium lanthanum cerium praseodymium'
l=l "Germanium_Ge Arsenic_As Selenium_Se Bromine_Br Krypton_Kr"
_=_ 'neodymium promethium samarium europium gadolinium terbium dysprosium holmium erbium'
l=l "Rubidium_Rb Strontium_Sr Yttrium_Y Zirconium_Zr Niobium_Nb"
_=_ 'thulium ytterbium lutetium hafnium tantalum tungsten rhenium osmium iridium platinum'
l=l "Molybdenum_Mo Technetium_Tc Ruthenium_Ru Rhodium_Rh"
_=_ 'gold mercury thallium lead bismuth polonium astatine radon francium radium actinium'
l=l "Palladium_Pd Silver_Ag Cadmium_Cd Indium_In Tin_Sn"
_=_ 'thorium protactinium uranium neptunium plutonium americium curium berkelium'
l=l "Antimony_Sb Tellurium_Te Iodine_I Xenon_Xe Caesium_Cs"
_=_ 'californium einsteinium fermium mendelevium nobelium lawrencium rutherfordium dubnium'
l=l "Barium_Ba Lanthanum_La Cerium_Ce Praseodymium_Pr"
_=_ 'seaborgium bohrium hassium meitnerium darmstadtium roentgenium copernicium nihonium'
l=l "Neodymium_Nd Promethium_Pm Samarium_Sm Europium_Eu"
_=_ 'flerovium moscovium livermorium tennessine oganesson ununenniym unbinvlium umbiunium'
l=l "Gadolinium_Gd Terbium_Tb Dysprosium_Dy Holmium_Ho Erbium_Er"
l=l "Thulium_Tm Ytterbium_Yb Lutetium_Lu Hafnium_Hf Tantalum_Ta"
l=l "Tungsten_W Rhenium_Re Osmium_Os Iridium_Ir Platinum_Pt"
l=l "Gold_Au Mercury_Hg Thallium_Tl Lead_Pb Bismuth_Bi"
l=l "Polonium_Po Astatine_At Radon_Rn Francium_Fr Radium_Ra"
l=l "Actinium_Ac Thorium_Th Protactinium_Pa Uranium_U"
l=l "Neptunium_Np Plutonium_Pu Americium_Am Curium_Cm"
l=l "Berkelium_Bk Californium_Cf Einsteinium_Es Fermium_Fm"
l=l "Mendelevium_Md Nobelium_No Lawrencium_Lr Rutherfordium_Rf"
l=l "Dubnium_Db Seaborgium_Sg Bohrium_Bh Hassium_Hs Meitnerium_Mt"
l=l "Darmstadtium_Ds Roentgenium_Rg Copernicium_Cn Nihonium_Nh"
l=l "Flerovium_Fl Moscovium_Mc Livermorium_Lv Tennessine_Ts"
l=l "Oganesson_Og Ununbium_Uub Ununtrium_Uut Ununquadium_Uuq"
n=words(l) /* Number of known elements */
/*----- You can't trust atoms, -----*/
/*----- they make everything up. -----*/
Parse Arg pick /* atomic number specified */
If pick>n Then Do
Say 'Element' pick 'hasn''t been discovered by now'
Exit
End
take=pick
If pick='' Then
take=random(1,n)
 
item=word(l,take) /*pick the specified or random element */
/*───── You can't trust atoms, ─────*/
Parse Var item name '_' symbol
/*───── they make everything up. ─────*/
If pick='' Then
which='Random'
Else
which='Specified'
Say which 'element: ' take name '('symbol')' /*stick a fork in it, we're all done. */</syntaxhighlight>
{{out|output}}
<pre>E:\>rexx pez
Random element: 100 Fermium (Fm)
 
E:\>rexx pez 8
#= words(_) /*obtain the number of words in list. */
Specified element: 8 Oxygen (O)
item= word(_, random(1, #) ) /*pick a random word (element) in list.*/
 
say 'random element: ' item /*stick a fork in it, we're all done. */</syntaxhighlight>
E:\>rexx pez 133
{{out|output}}
Element 133 hasn't been discovered by now</pre>
<pre>
random element: tennessine
</pre>
 
===version 2===
Line 1,490 ⟶ 1,566:
 
=={{header|RPL}}==
≪ DUP SIZE RAND * 1 + FLOORCEIL GET ≫ ‘RANDGET’‘<span style="color:blue">RANDGET</span>’ STO
 
{{in}}
{ Alpha Beta Gamma Delta } <span style="color:blue">RANDGET</span>
<pre>
{ Alpha Beta Gamma Delta } RANDGET<span style="color:blue">RANDGET</span>
{ Alpha Beta Gamma Delta } <span style="color:blue">RANDGET</span>
{ Alpha Beta Gamma Delta } RANDGET
</pre>
{{out}}
<pre>
Line 1,664 ⟶ 1,738:
 
=={{header|Wren}}==
<syntaxhighlight lang="ecmascriptwren">import "random" for Random
 
var rand = Random.new()
1,989

edits