"Hello world" that creates a different "Hello world" program
Mathematica, 214 - 50% = 107 bytes
(a = Characters[StringJoin["helloworl", "d"]]; b = Apply[StringJoin, Tuples[Transpose[{a, ToUpperCase[a]}]], {1}]; StringReplacePart[ToString[#0, InputForm], b[[FirstPosition[b, "helloworld"] + 1]], {180, 189}]) &
I decided to optimize for string count here. This runs for 1024 programs without stopping, going through every combination of uppercase and lowercase letters. The execution can be seen here.
Pyth, 17 bytes
A different Pyth solution:
"r\"helloworld\"1
Output:
r"helloworld"1
Second output:
HELLOWORLD
Vitsy, 33 - 33*.05*(11-2) = 18.15 Bytes
Heh! Beat that! You probably will. :c
First output:
'0DV\{25^-V\}}1+{rd3*Z;helloworld ' Start capturing as a string 0DV Push 0 to the stack and set it as the final variable. \ Repeat the next item this many times. (1, 2, 3... on outputs.) { Rotate the stack leftwards. 25^ Push 32 to the stack. - Subtract the top item by it - this will make lowercase uppercase. V\ Do the next item final variable times. } Rotate the stack rightwards. } And again... 1+ Add one. This makes the 0 in this code a 1, then 2... r Reverse the stack. d3* Get the character ' Z Output all items in the stack. ; End execution. helloworld String to manipulate.
Second output:
'1DV\{25^-V\}}1+{rd3*Z;helloworlD
Third output:
'2DV\{25^-V\}}1+{rd3*Z;helloworLD
Fourth output:
'3DV\{25^-V\}}1+{rd3*Z;hellowoRLD
Fifth output:
'4DV\{25^-V\}}1+{rd3*Z;hellowORLD
Sixth output:
'5DV\{25^-V\}}1+{rd3*Z;helloWORLD
Seventh output:
'6DV\{25^-V\}}1+{rd3*Z;hellOWORLD
Eighth output:
'7DV\{25^-V\}}1+{rd3*Z;helLOWORLD
Ninth output:
'8DV\{25^-V\}}1+{rd3*Z;heLLOWORLD
Tenth output:
'9DV\{25^-V\}}1+{rd3*Z;hELLOWORLD
Eleventh output:
':DV\{25^-V\}}1+{rd3*Z;HELLOWORLD
This is the last output, as it will cause an error.