174
The Journal of School
Psychology
Dr. Deni stated he is not in the software retail business but offers the Observe Software Program in the context of his consultation services, which are purchased for a one-time fee of $200. If the client needs a modified version of the software. an additional negotiated fee is charged.
COMPUTER
PROGRAMS
A Turbo Basic Program to Compute Percentile Ranks Ronald A. Mad/e Laurelton
Center and The Pennsylvania
State University
A Turbo Basic program for IBM-compatible computers was developed to compute percentile ranks for standardized psychometric instruments with various means and standard deviations. The program uses a menu-driven approach that allows users to select from over 40 listed devices as well as enter additional test parameters. Additional measures can be added to the test database by using a standard word processor. An empirical test of the program output yielded almost perfect agreement with table-based values.
One task commonly performed by all psychologists who administer standardized psychometric and psychoeducational devices is the derivation of percentiles corresponding to specific standard scores on those devices. The program described in this article allows the user to select from a list of measures, after which percentile ranks corresponding to specific standard scores entered are computed. The “engine” for the program is a modification of a Pascal program presented by Sadler (1989) to compute the proportion of a normal curve between any two z scores. The program, presented below, also illustrates some of the enhanced features available in newer implementations of the BASIC programming language.
PROGRAM
DESCRIPTION
The program was written in Turbo Basic (Borland International, 1988) and should run on virtually all IBM-compatible microcomputers with at least 256K and one floppy disk drive. It will run on computers with both monochrome and color monitors. Turbo Basic programs are normally compiled and the compiled version of the program is included on the diskette. For users who have Turbo Basic the source code is also included. The actual program code is divided into several major components. Initially the number of devices in a file containing test information is loaded, and the appropriate array variables are dimensioned. Following this, the actual test parameters are read into memory, including the test name, mean, and standard deviation. The data file has been saved in standard ASCII format and can be updated to include new devices by
Address correspondence burg, PA 17844.
and reprint requests to Ronald A. Madle,
PhD,
17 Ward Way, Mifflin-
175
Computer Applications
using most standard word processors to add a new line to the file containing the test’s name, mean, and standard deviation. The main menu loop uses the Select Case command in Turbo Basic to repeatedl) loop on any command other than the acceptable ones. Other subroutines are incorporated to perform tasks such as scrolling the test list, screen handling. and computing and formating percentiles for display. PROGRAM
OPERATION
The actual operation of the program is quite easy. Since it has been compiled, the program is accessed simply by entering PERCENTL at the DOS prompt and pressing Return. The main screen is then displayed with the four screen areas shown in Figure 1. The upper right-hand section of the top line displays the permissible menu options. The remainder of the screen is divided into three windows. The bottom window displays the available tests in the TESTSTAT.DAT file, which also is contained on the diskette. These may be paged through by using the [N]ext and [Plrevious options on the menu. Each page displays 10 tests at a time. The upper right window displays the current active parameters, as well as the percentile rank results. The upper left-hand window is used for input prompts and entries. After the user locates the desired entry in the bottom window, the test is selected by pressing [vest. This provides the prompt to enter the number of the test. The test name, mean, and standard deviation are then displayed in the parameter window. There is also an option to select an unlisted test. In this case the program prompts the user to enter the mean and standard deviation of the measure. Once a desired test has been selected, choosing the [S]core option provides a prompt to enter the standard score for which a percentile rank is desired. Upon entry the
PEKCEWTILE
BANK CALCULATOR
Menu: [Tlest
Test Snter
Standard
Score
[Nlext
[PIrev
[Qluit
[SlCOre
Kaufman Assessment Battery for Children (Global Scales)
? Mean =
100
Standard Deviation
Standard Score =
0
11 Child Behavior
Percentile
Checklist (Achenbach) 12 Columbia Mental Maturity Scale 13 Detroit Tests of Learning Aptitude-P (All Scores) 14 Detroit Tests of Learning Aptitude-2 (IQ/Composite) 15 Detroit Tests of Learning Aptitude-2 (Subtests) 16 Developmental Test of Visual-Motor Integration 17 Goldman-Pristoe-Woodcock Test of Auditory Discrimination 18 Hiskey-Nebraska Test of Learning Aptitude 19 Kaufman Assessment Battery for Children (Global Scales) 20 Kaufman Assessment Battery for Children (Subtests)
Figure 1. Percentile
rank calculator screen.
= =
15 0
176
The Journal of School
Psychology
Table 1 Comparison of Percentiles Derived From the Program and Standard Percentile Rank Conversion Tables
Standard deviation
Mean 10 50 100 100
Correlarion
3 8 15 16
standard score, as well as the corresponding ter window. PROGRAM
1 00
1.00 1.00 0.99
percentile
rank is displayed in the parame-
ACCURACY
In order to determine the accuracy of the program in computing percentile ranks the normal curve function was used to generate a table of percentile ranks for standard score distributions with various commonly used means and standard deviations. The agreement between these standard scores and traditional tables of standard scores were computed and the results are presented in Table 1. As can be seen from Table 1, there was a nearly perfect agreement between the results obtained from the program and from the tables. The only exception was a very minor deviation at the extreme lower end of the last distribution (mean= 100, SD= 16). PROGRAM
AVAILABILITY
Copies of the program disk and associated instructions for using the program are available from Ronald A. Madle, PhD, Department of Staff Development and Program Evaluation, Laurelton Center, Laurelton, PA 17835. In order to defray the costs of providing the program, requests should be accompanied by a self-addressed, stamped diskette mailer and a blank double-sided, double-density diskette. REFERENCES Borland International. (1988). Turbo Bunk. Borland International, Inc. : Scotts Valley, CA. Sadler, E. (1989). From the editor. MicroPsych Network: The Psycholo~ and Behavioral Science Computerjournal, 4( 1), l-2. APPENDIX
.
l ****~*tt********ttt**“***.****“*.*****”
PROGRAH:
Percentile
’
l
I
l
.
*****t*t******.t*tt”“**********.***”.***
’
(c)
!Jcltermins
1989,
Ronald
number
OPEN “IESISTAT.DAT”
of
Rank A.
test FOR
Calculator
Hadle.
Ph.D.
entries INPUT As #l
l l
Computer Applications
NmbTstZ - 0 WHILE NOT EOF(1) INPUT il. AS.Al.AZ : INCR NmbTstZ LOOP CLOSE Cl NmbTst.2- NmbTstZ+l DIM Titl.S(NmbT~tZ).M~m(NmbT~tZ),StdDev(NmbTrtX)
’
Add information for other tests Titl&.(NmbTstX)- "Other Taat" MeanWmbTstX) - 0 : StdDwWrdaTstX) - 0
’
Input data from TESTSTAT.DAT OPEN "TESTSTAT.DAT"FORINPUT As #l FOR IX - 1 TO NmbTstX-1 INPUT 21, Titl~S~IX~.H~~~IX~,StdDev(IX) IF LEN(TitlaS(IX)) > 70 THEN TitlwZ.(IX)- LEFTS(TitleS(IX),70) END IF NEXT CLOSE I1
’
Initialize variables and set MinRowx - 1 : MuRo*x- 10 : CLS : COLOR 15.0.0 CALL SaaJpScr*~n
' Main man" loop Choices - ,,'( Do WILE Choic*$ x "Q" Do WILE NOT IISIAT :
Choic& -
up main scraan Si.& - - m
KkXIE 1.1 : WEND
UCASES(INKEYS)
SELECT CASE Choica¶ ' S9lact lctiv. teat information CASE "T" TwtX - 0 00 WSILE IestX < 1 OR TeatX > NmbTstX LCCATE 5.3 : INPUT "Enter the test by numbar";T.atX IF TastX - NmbTstX TEEN LCCATE 7.3 : INPUT "Teat H~an";Ekan(T,stX) LOCATE 8.3 : INPUT "Standard D.viation";StdD~v(T,~tX) FBD IF
StdScr - 0 : Pet1 - 0 : Si&mnS- --CALL SharV~lu~s(TItl~S(T~~tX~.~~an~T~.tX~.StdD~v~Te~tX~,StdScr,Pctl.SiSnS~ ’ Dinplay prwious pa8. of t0st.s CASE "p" IF MinRowX > 1TBEN MinRaX - MlnRowX-10 IF tlinRarX < 1THEN HinRowX - 1 MaxRowX - MinRowx+B IF
t4u~orx
a thbmx
TEEN t4db~x
CALL ListTats END IF ’ Display next pal. of tests CASE "N" IF HaxRowX < Nmb1st.XTEEN HinRowX - HinRowx+lO IF HinRowX < 1 THEN MinRowX - 1
-
thbrstx
177
178
The Journal of School
Psychology
' Enter .COT. and cornput. CASE '5" CNL ShaV~lu.~~Titl~S~T~~tZ~,fl~urtI~stI,.St~~vtI~~tI,,O,O.~-~, LOCATE 6.3 : INPUT "Enter Standard Scora ";StdScr CALL amrscr**n 2 - ~StdScr-H~~~T.~t~)~/StdD~~T.~tz~ IntmvaLSis. - (Z-(-6.0))/100 Sum! - (Fwf(-6.O)+FNf(Z))/Z.O FOR II - 1 TO 99 x - ~-6.o~+II~Int*rv~lSi~~: Sun! - Smt!+FNf(X) NMT
Fctl - (Int.rvalsir~*sum!)*100 SELECT CASE Pet1 CASE < 0.01 Pet.1- 0.01 : signs - “<” CASE > 99.99 Pctl - BQ.QB : SiSr,nS - ‘*>*’ CASE ELSE Sf& _ END
m
**_**
SELECT SharV~lu~~~Titl~S(T~~t~~,~~~T~~tl~,StdD~v~T~atZ~,StdScr,Pctl,S~6nS~
’ Quit pro~rm WE “9” CLS : EM, ’ Loop on my otha
input
CASE ELSE EXIT
SELZCT
ENDSELECT
LOOP END ' ----- FUNCTICtISAND SUBRWTINES ----’ Noma1 curv. function DEF FIJI(X)- ~Y~SPR~Z~3.1415926353~~~~~P~~-~X-2~~/?1 ’ Clear data .ntry ar.. SUB ClearScr**n FOR IZ- 3 TO 10 : CALL Me~n~6~~12,2,SPACES~31)~: NEXT END SUB
' List tostn in display ar.a SUB ListTats SEARELlTitl~SO.~inRorI.~axRaZ.PrinWlo*Z FOR II- ?4inRowZTOOowl PrintRma - (II-HinRo*Z+13) Lab*15 - SPACES~~S~IZ~lO~~+S~~IZ~+" .a Lab*15 - Lab~1S+Titl~S~II~+SPACES~70-LW~Titl~9(IX~~~ CALL nea~~6*(PrinWlax,3,L~*ls) NEXT FOR II - PrintRow:+ TO 22 CALL ~~~~a6~(12,3,SPACES(70)) N2xT END SUB
Computer Applications
LOCATE XX.YX : PRINT Messa6.S; END SUB ’ Set
up
main
scr.*n
SetUpBcr~*n n*nu: "1 CALL Mamsa6a(l,l." PERCENTILE RANK CALCULATOR CALL t4~ssa6~(1,40."111~st[Nlaxt [Plrw tSlcor* tQluit-1 CALL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FOR IX - 3 TO10 CALL ~~88~6~~IX.l.CaRS~l66~+SP~ES~31~~~179~+SP~S~45~~~~166~~ NEXT CALL M~~~~6~~11,1,~~204,+S~1N~~31,~(205~~+CBRS~207~+S~RG9~45,~~205~~+CHRS(165~ FOR IX - 12 TU 23 CALL M~~ay~~IX,l,CBRS~l66~+SPACES~77~+CBRS~l66~~ NEXT CALL M~~~~~~24,l.CrolS~200,+S~INGS~77.caRs(zos,~+CHRS~186~~ CALL MOSIa60(40, 35 "Toat") CALL b81~6~(7,35,"M.~ -") CALL H.~4~6=(7,51."St~d~rd Deviation -") CALL H.,~~6*(9,35."St~d~rd Score -"I CALL M*~~y~~9.56."P~rtmtil* 0") CALL Sho*V~lu~~~"".0.0.0,0,"-"~ CALL LintImsta END SUB
SUB
' Display currant valums SUB Sho*V~lu.~(Titl.S.H,SD.SS.Pct.InS) MaxLonX - 36 : MarkaX - 0 : LnX - LEN(Titl&) IF LnX < kluL,nX TED! BS(1) - TitlaS : &s(2) - sPACEswuL*nx) ELSE Po~itionx - MuLmx Do WgILl?nuk*rx - 0 XS - MXDS(Titl.S,PositionX,l) IF XS - CERS(32) CR X9 - CBlW45) TEEN HarkerX - PositionZ Z.(l) - LEF%(Titl.S.Hark~rX) BS(2) - RIG~S(TItl*S,LnX-~rk.rX) END IF DECR PositionX LCQP END IF CALL M~~~~6~~4.4l.BS~l~+SP~S~nuLml-LER(BS~l~~~~ CALL M~~~=6.(5,41,1)9(2)+SP~S(~~~X-~(BS(2)))) LOCATE 7.42 : PRINT USING "W;M LOCATE 7.73 : PaINT USING -#";SD LOCATS 9.52 : PRINT USING "m";ss LOCATE 9.69 : PRINT InS LOCATE 9.71 SELECT CASE Pet CASE0
PRINT USING "#H+#";Pct CASE < .Ol PRINT USING "W.W':Pct CASE B 89.9
PRINT USING 'W.+r";Pct CASE < .5 PRINT USING "H+.+";Pct CASE > 99.5 PRINT USING "W.#":Pct
179
The Journal
180
CASE ELSE END END
SUB
PRINT USING "+HW';Pct SEL!xI
of School
Psychology