{***********************************************************************} {* *} {* TRANSFORM ** A DATA TRANFORMATION PROGRAM *} {* copyright (c) 1985 by Larry Marshall *} {* *} {* This program may be used for noncommercial purposes only. *} {* No commercial use of TRANSFORM may be made without the *} {* author's expressed written permission. *} {* *} {***********************************************************************} { This program will allow transformation of data for the purposes } { of normalization. The input file must contain only the variable } { to be transformed. The input & output files are not defined by the } { program and are supplied by the user when prompted } Program ArcSine (input,output); Var Sine,Cosine,Tangent,Val,Tval : real; Datain,Dataout : text; FileName1,FileName2 : String[14]; Choice : integer; Begin Writeln(' ***********************************************'); Writeln(' * *'); Writeln(' * ** Transform Choices ** *'); Writeln(' * *'); Writeln(' * (1) Arc-sine transformation *'); Writeln(' * *'); Writeln(' * (2) Log-normal transformation *'); Writeln(' * *'); Writeln(' * (3) Square root tranformation *'); Writeln(' * *'); Writeln(' ***********************************************'); Writeln(' Type the number of your choice & '); Readln(choice); Clrscr; Writeln;writeln;writeln;writeln;writeln; Write(' Name of input file: '); Readln(FileName1); Writeln; Write(' Name of output file: '); Readln(FileName2); Assign(Datain,FileName1); Assign(Dataout,FileName2); Reset (Datain); Rewrite(Dataout); Case Choice of 1 : While not EOF(datain) do Begin Readln(Datain,Val); Sine:=SQRT(Val); If Sine = 1 then Begin Sine:=0.99999999999; end Else Begin { Cosine:=SQRT((1-SQR(Sine))); } { Tangent:=Sine/Cosine; } { Tval:=Arctan(Tangent); } Tval:=arctan(val/sqrt(-val*val+1)); End; Writeln(Dataout,Tval:4:4); End; 2 : While not EOF(datain) do Begin Readln(Datain,Val); Tval:=LN(Val+1); Writeln(Dataout,Tval:4:4); End; 3 : While not EOF(datain) do Begin Readln(Datain,Val); Tval:=SQRT(Val+0.5); Writeln(Dataout,Tval:4:4); End; End; Close(Datain); Close(Dataout); End.