A turbo basic program to compute percentile ranks

A turbo basic program to compute percentile ranks

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 conte...

329KB Sizes 6 Downloads 109 Views

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