• No results found

De software-ontwikkeling voor het meten van lijnspreidfuncties met behulp van de programmeerbare lijn generator (PLG)

N/A
N/A
Protected

Academic year: 2021

Share "De software-ontwikkeling voor het meten van lijnspreidfuncties met behulp van de programmeerbare lijn generator (PLG)"

Copied!
48
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

De software-ontwikkeling voor het meten van lijnspreidfuncties

met behulp van de programmeerbare lijn generator (PLG)

Citation for published version (APA):

Hulzebos, R. M. (1987). De software-ontwikkeling voor het meten van lijnspreidfuncties met behulp van de programmeerbare lijn generator (PLG). (IPO-Rapport; Vol. 589). Instituut voor Perceptie Onderzoek (IPO).

Document status and date: Gepubliceerd: 01/01/1987

Document Version:

Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.

• The final author version and the galley proof are versions of the publication after peer review.

• The final published version features the final layout of the paper including the volume, issue and page numbers.

Link to publication

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:

www.tue.nl/taverne

Take down policy

If you believe that this document breaches copyright please contact us at: openaccess@tue.nl

providing details and we will investigate your claim.

(2)

Instituut voor Perceptie Onderzoek Postbus 513, 5600 MB Eindhoven

Rapport no. 589

De software-ontwikkeling voor het meten van lijnspreidfuncties met behulp van de Programmeerbare Lijn Generator (PLG)

(3)

Inleiding

Het in dit rapport beschreven programma heeft dezelfde opbouw als het programma voor de Tijd Plaats Generator (TPG) beschreven in rapport: no.568 'Programma voor het automatisch meten van Contrast-uitwisselingsfuncties met de TPG' door W.G.M. Vroomen. Voor de beschrijving van de opbouw van de meting wordt daarom verwezen naar bovenvermeld rapport.

Helaas kon door verschillende oorzaken (zie slotopmerkingen) alleen het eerste deel worden ge!mplementeerd. Met het programma kan dus de hellingconstante van de psychometrische functie worden bepaald bij een stimulus van een enkele lijn. Dit gebeurt door het aanbieden van lijnen met verschillende intensiteit aan de proefpersoon. (Vergelijk de procedure Slope Determination bij de TPG).

Dit rapport geeft eerst een korte beschrijving van de procedures die voor het programma zijn geschreven/gewijzigd. Deze procedures bevinden zich in de library files: PATLIBl en EXPLIBl en in het hoofdprogramma: EXPER. Voor de rest van de procedures beschreven in de overige library files wordt verwezen naar de eerdere beschrijvingen. (o.a in handleiding no.77: 'De programmeerbare lijnengenerator' door J.G. Jonker).

Ten tweede zal in dit rapport kort beschreven worden hoe het programmma EXPER in de praktijk werkt.

Verder zal er in het kort worden ingegaan op hoe het laatste deel van het programma afgemaakt kan worden. Ook in het laatste deel kan worden uitgegaan van het bestaande TPG programma. Dit deel zal in grote lijnen hetzelfde zijn als het 'Slope Determination' gedeelte, zij het met andere 'pattern files' d.w.z. andere stimuli dan een enkele lijn.

Tot slot volgen enkele opmerkingen over de ervaringen met het programmeren in Apple Pascal en wat algemene opmerkingen over het werken als student-assistent bij het IPO.

(4)

De PATLIB3 procedures

De meeste procedures in PATLIB3 programma PLGEN. Het programma PLGEN de PLG te besturen (zie handleiding Jonker).

z1Jn overgenomen uit het is bedoeld om interactief no.77: 'De PLG' door J.G. Aangepaste procedures zijn:SENDPATTERN en STATEREQ.

Beschrijving

SENDPATTERN(N:integer;B:lines;VAR ERROR:boolean); functie:

Het overzenden van een patroon beschreven in array B:lines. Het patroon heeft als nummer N:integer.

STATEREQ(ERROR:boolean;VAR STATE:integer); functie:

Het vragen naar de toestand waarin de PLG verkeert. Het nummer van de toestand is gelijk aan STATE:integer.

(5)

De EXPLIBl procedures INIT PAR

functie:

initialiseert bepaalde experiment constanten zoals stimulusduur, achtergrondintensiteit, stijgtijd van de stimulus etc.

CURRENT PAR functie:

geeft de huidige waarden van de experiment constanten zoals in INIT PAR beschreven.

CHANGE PAR functie:

geeft de mogelijkheid om de experiment constanten (zie INIT PAR en CURRENT_PAR) te veranderen

SENDNORMAL_SEQ(STL:integer;PAU:integer;DEL:integer;

VAR ERROR:boolean); functie:

maakt een seguence-file aan en verstuurt deze naar de PLG.Deze seguence-file zorgt voor het aanbieden van een stimuluslijn gedurende de tijd STL:integer.

De tijd tussen een hoge toon (aan het begin van de een lage toon (aan het einde van de stimulus) is PAU:integer.(N.B. De generatie van bovengenoemde verzorgd door de procedure NORMAL EXP).

stimulus) en gelijk aan tonen wordt De tijd tussen de begin-toon en-het vertonen van de stimulus is gelijk aan DEL:integer;(N.B. de tijd DEL kan ook random worden gemaakt met behulp van de procedure NORMAL EXP).

De toestand van de seguencer na de stimulus is afhankelijk van het al dan niet zien van de stimulus door de proefpersoon. Hierdoor is het mogelijk om de score bij te houden met de procedure NORMAL EXP.

De procedure SENDNORMAL SEQ zorgt er tevens voor dat d.m.v. extra states te doorlopen~ de flank van de stimulus een instel-bare stijgtijd en daaltijd heeft gelijk aan RISETIME:integer. Hiertoe wordt een extra set patternfiles aangemaaktin de proce-dure SENDLINE.

SENDLINE(DEMP:real); functie:

Het aanmaken en overzenden van een patternfile behorende bij de procedure SENDNORMAL SEQ.

De stimulus lijn heeft een demping t.o.v. 'maximaal wit' gelijk aan DEMP:real.

Ten behoeve van een variabele stijgtijd van de stimuluslijn worden extra lijnen aangemaakt met een lagere intensiteit.De flank van de stimulus doorloopt in stappen van 40ms een exponen-tiële kromme.Het aantal stappen van 40ms is gelijk aan RISE-TIME:integer.Voor de daaltijd geldt hetzelfde.

(6)

NORMAL EXP functie:

deze procedure zorgt o.a voor de generatie van de begintoon en eindtoon bij elke stimulus. Tevens wordt in de random delay mode de sequencer gestopt en na een random tijdsduur weer gestart. De stimulus komt in dit geval op een 'onverwacht' moment na de begintoon.

In deze procedure wordt tevens de score bijgehouden van de proefpersoon.

Het hele programma is een rij van procedures lopend van MAIN 1 via MAIN 2 naar SLOPE_l t/m SLOPE 14.

Voor het flow-diagram wordt verwezen naar rapport no.568 het TPG programma. In de uitdraai van de programma tekst van TPG programma staan de stukken afgebakend overeenkomend met procedures MAIN_l t/m MAIN_3 en SLOPE_l t/m SLOPE_14.

over het de Deze procedures zullen dan ook worden toegelicht ervanuitgaande dat het bovengenoemde flowdiagram bekend is.

De procedures MAIN_l,MAIN_2 en SLOPE_l t/m SLOPE 8 staan in de library-file EXPLIBl. De andere procedures (MAIN_3 en SLOPE 9 t/m SLOPE_14) staan in het programma EXPER.

MAIN_l:

beschrijving:

start van het programma.

initialiseren van de IEEE besturing.

vraag of commentaar bij het doorlopen van het experiment gewenst is.

MAIN 2:

beschrijving:

vraag te kiezen tussen slope-deterrnination en main-program

ingeval van main-program vraag om de hellingconstante van proefpersoon intevoeren en sprong naar MAIN 3

ingeval van slope-deterrnination sprong naar SLOPE 1 SLOPE 1

beschrijving:

mogelijkheid tot veranderen van experiment parameters. overzenden sequencefile en achtergrondinstelling.

keuze verloop experiment afhankelijk van voorkennis over de proefpersoon: A,B,C.

SLOPE 2

beschrijving:

lezen van keuze A,B,C, A:sprong naar SLOPE_5. B:sprong naar SLOPE_4. C:sprong naar SLOPE 3.

(7)

SLOPE 3

beschrijving: (keuze C)

vraag om 5 opeenvolgende dB waarden intevoeren sprong naar SLOPE 9 via hoofdprogramma

SLOPE 4

beschrijving: (keuze B)

vraag om ondergrens en bovengrens in dB in te voeren.

SLOPE 5

beschrijving: (eerste iteratie)

aanbieden van series van vijf stimuli met dezelfde intensiteit. aantal series afhankelijk van score proefpersoon

aangeboden intensiteit ontstaat door interval-halvering en

interval verkleining

einde iteratie bij score tussen 30% en 70% of bij interval-grootte kleiner dan 6 dB.

SLOPE 6

beschrijving: (tweede iteratie)

als SLOPE 5 maar nu einde iteratie bij interval-grootte kleiner dan 1.5 dB-en aantal stimuli 10

(eerste extrapolatie)

als tweede iteratie maar nu voor een intensiteit net boven die van bij de tweede iteratie laatst aangeboden intensiteit.

SLOPE 7

beschrijving:

(tweede extrapolatie)

als eerste extrapolatie in SLOPE 6 maar nu voor een

net onder die bij de tweede iteratie laatst

intensiteit.

uitvoer van een samenvatting van de meetresultaten.

SLOPE 8

beschrijving:

vraag of herhaling van de meting gewenst is.

intensiteit aangeboden

opsplitsen van het interval tussen de dB-waarden gevonden bij de eerste en tweede extrapolatie in 4 intervallen.Toekennen van aldus ontstane waarden aan DBl t/m DB5.

sprong via hoofdprogramma naar SLOPE 9.

(8)

De procedures in het programma EXPER FIVE LINES

functie:

hetzelfde als de procedure SENDLINE nu echter voor 5 verschil-lende dB-waarden. Dus 5 verschillende stimulus lijnen met bijbe-horende set 'flankwaarden'.

FIVE_l_SEQ functie:

hetzelfde als de procedure SENDNORMAL_SEQ nu echter voor 5 verschillende dB-waarden. Dus opeenvolging van 5 verschillende stimulus-lijnen. Na elke stimulus is de toestand van de sequencer afhankelijk van het al dan niet waarnemen door de proefpersoon. Het antwoord kan dus aan de toestand worden afgelezen per verschillende stimulus (dit gebeurt in de procedure FIVE EXP). Opm. De procedure FIVE_2_SEQ maakt deel uit van deze procedure. FIVE_2_SEQ

zie FIVE l_SEQ. FIVE EXP

functie:

zoals de procedure NORMAL_EXP maar nu voor 5 verschillende dB-waarden. De scores worden per dB-waarde bijgehouden. Dus afhankelijk van de toestand van de sequencer na de stimulus wordt 1 van de vijf score-tellers opgehoogd.

SLOPE 9

beschrijving:

zend sequence-file en pattern-file naar de PLG bied 10 maal 5 verschillende stimuli aan

berekent score-percentage van elke stimulus afzonderlijk SLOPE 10

beschrijving:

voert de resultaten uit naar het scherm. SLOPE 11

beschrijving:

voert de resultaten uit naar de outfile

selecteerd de bruikbare meetresultaten voor het bepalen van de hellingsconstante.

(9)

SLOPE 12

beschrijving:

als het aantal bruikbare punten in SL0PE 11 twee of wordt de hellingsconstante berekend in SLOPE 13

Is het aantal bruikbare punten nul of een dan wordt constante niet berekend.

Na het al dan niet berekenen en uitvoeren van de stante wordt er gevraagd of het experiment nogmaals uitgevoerd. Zoniet dan wordt er gesprongen naar MAIN

SLOPE 13

beschrijving:

berekening van hellingconstante

sprong via SL0PE 14 terug naar SL0PE 12.

SLOPE 14 beschrijving: groter is de hellings- hellingscon-moet worden 3 •

uitvoer naar scherm en outfile van hellingsconstante en

drempelwaarde van de psychometrische functie.

(10)

De werking in de praktijk met het programma EXPER Benodigde discs:

systemdisc:exec programdisc:exp

Bij het opstarten van het programma EXPER op de programdisc moet de PLG generator werkend aangesloten worden via de IEEE-bus.

Programmaverloop

Eerst wordt gevraagd om een file-naam op te geven. Deze file wordt op de systemdisc (met de extensie .TEXT) opgeslagen. In deze file staan de resultaten en uitkomsten van het experiment.

dus: <filenaam> CR

Dan wordt er gevraagd of er uitgebreid commentaar/toelichting gewenst is bij het verloop van het programma.

Vervolgens is er de mogelijkheid te kiezen tussen:

1. Het bepalen van de hellingsconstante van de psychometrische functie, en de drempelwaarde met de 50% waarnemingsscore, van de testpersoon bij een enkele stimulus-lijn. Het zogenaamde Slope Determination gedeelte.

2. Indien men de hellingsconstante weet kan direct met het Main Program begonnen worden (nog niet gerealiseerd).

We kiezen dus voor Slope Determination (het wel gerealiseerde gedeelte)

Er wordt dan gevraagd of er experiment parameters moeten worden veranderd. De huidige waarden worden hiervoor aangeduid.

Als verandering gewenst is (Y <CR>) dan kan een parameter nummer worden ingevoerd (parameternummer <CR>). Hierna wordt de mogelijke invoer weergegeven en kan de verandering worden ingevoerd (waarde <CR>). Na invoeren van een verandering worden wederom alle waarden weergegeven en kunnen desgewenst nog meer parameters worden aangepast. Is dit niet meer gewenst, dan moet men O <CR> intikken.

Na het al dan niet veranderen van de parameters moet de computer informatie naar de PLG sturen. Dit duurt even, en daarom wordt door de computer gevraagd even te wachten.

Vervolgens wordt er gevraagd naar een bepaálde hoeveelheid voorkennis over de proefpersoon/het experiment met betrekking tot de mogelijke intensiteit van de stimulus-lijn.

A: je weet niets, alle waarden zijn mogelijk.

B: je weet de ondergrens en bovengrens van de intensiteit die relevant is voor het experiment.

c:

je weet vijf waarden die een waarnemingsscore leveren van 50% Wordt er voor C gekozen, dan wordt na inlezen

(in dB verzwakking) het iteratie stuk van de Determination overgeslagen.

Kies je daarintegen voor A of B dan wordt er waarna men op hetzelfde deel terecht komt als gekozen. Echter de 5 dB waarden die ingeval C

9 van de 5 waarden procedure Slope wel ge!tereerd je voor C had zijn ingelezen,

(11)

worden ingeval A of B berekend uit de meetresultaten in het iteratieproces.

Wordt er dus voor B gekozen dan wordt er om een ondergrens en bovengrens gevraagd om intevoeren. Daarna vindt het iteratie proces plaats (ook bij keuze A). Bij het iteratie-proces worden 5 stimuli aangeboden totdat een relevante score is bereikt.

Om het iteratie-proces te starten moet de 'zien'-knop ingedrukt worden, waarna de eerste stimulus verschijnt. Aan het aanbieden van een stimulus gaat een hoge toon vooraf. Aan het einde van de stimulus hoort men een lage toon. Heeft men de stimulus gezien, dan dient men de knop ingedrukt te houden tot men de lage toon hoort.

Na het iteratie-proces wordt rond de gevonden waarde 10 stimuli aangeboden. Dit gebeurt zowel onder als boven de in het iteratie-proces gevonden waarde.

Hierna wordt een samenvatting gegeven over de meetresultaten en kan besloten worden om de meting nog eens over te doen.

Als je doorgaat, kom je in hetzelfde deel als waarin je rechtstreeks met keuze C terecht komt.

Er moet nu andere informatie naar de PLG verstuurd worden. Dit duurt nogal lang (+2 minuten). Als de computer klaar is, laat deze een toon horen. De volgende meting wordt dan gestart met dezelfde knop als de 'zien' knop. Hierna worden er 10 maal 5 stimulus-lijnen met verschillende intensiteit aangeboden. Deze

intensiteit is opzettelijk niet in opklimmende volgorde

geplaatst.

Na het zien van deze 50 lijnen geeft de computer een samen-vatting van de resultaten. Tevens wordt de drempelwaarde en hellingsconstante op het scherm afgebeeld.

Ook nu heeft men de mogelijkheid om de hele meting te herhalen. Als men tevreden is (en dus de meting niet wil herhalen) gaat het programma over naar het Main Program.

(12)

suggesties voor het afmaken van het programma

In het programma is rekening gehouden met de mogelijkheid om het experiment in TAF vorm te laten doorlopen. Dit kan betekenen dat er een extra set sequence-files moet worden aangemaakt. Er kan echter ook gebruik worden gemaakt van combinatie van starten en stoppen van de sequencer en aangepaste programmatekst (b.v. software tellers die de tonen besturen en de sequencer random in het eerste of tweede interval starten)

In het hoofdprogramma kan waarschijnlijk gebruik worden van dezelfde sequence-files. De pattern-files zullen moeten worden verandert.

gemaakt echter

Het hoofdprogramma start in de procedures: springt over naar MAIN 3. Vanuit MAIN 3 gewerkt. Hierbij moet men wel opletten dat boven die van MAIN 3 dienen te komen.

MAIN 1 en MAIN 2 en kan verder worden volgende procedures

Programmeren in Apple Pascal dwingt tot het maken van korte procedures. Als procedures te lang zijn geeft dit bij compileren een foutmelding (error #253)

Lange compilaties kunnen worden voorkomen door het aanmaken van libraries. Hoe dit moet staat uitvoerig in de manual beschreven.

Als je het PLG programma vergelijkt met het TPG programma dan zie je dat het PLG programma zoveel mogelijk identiek is gemaakt aan het TPG programma. Bestudering van het TPG programma verdient dus alle aanbeveling bij verdere programmering.

Mocht er tijd 'over' zijn dan verdient het aanbeveling om de snelheid tussen Apple en PLG optevoeren door herzien van de verantwoordelijke procedures.

Wegschrijven naar de outfile tussen stimuli door moet zoveel mogelijk vermeden worden. Dit kan namelijk uit fase lopen van de computer en de PLG veroorzaken.

(13)

Slotopmerkingen

Bij het programmeren viel de bruikbaarheid van de (als

voorbereiding bedoelde) bestaande procedures in PATLIBl en PATLIB2 tegen. De procedures in PATLIB2 waren niet bruikbaar. Deze procedures waren namelijk bedoeld voor het aanmaken van pattern-files en sequence-files op floppydisc. Omdat echter de

intensiteit van de lijnen afhangt van de scores van de

testpersoon, moeten deze ad hoc worden aangemaakt.

Het overzenden van pattern-files vergt veel tijd. Mocht dit als hinderlijk worden ervaren bij het experiment, dan moeten de daarvoor verantwoordelijke procedures (o.a. in PATLIBl) worden verbeterd. Immers gezien de clocksnelheid van de computer moet dit aanzienlijk sneller kunnen.

Het naar miJn mening opvallendste nadeel van Apple Pascal is de beperkte procedure/programma grootte. Hierdoor moet het programma worden opgesplitst in subprocedures en libraries. Opsplitsen in subprocedures geeft vooral problemen bij recursieve statements. Het aanmaken van libraries versnelt het compileren van het hoofdprogramma. Maar het wijzigen van een procedure in een library vergt veel tijd. Dit kost veel tijd omdat opnieuw een systeem-library moet worden aangemaakt en het hoofdprogramma opnieuw moet worden gecompileerd.

Omdat het TPG-programma veel overeenkomsten vertoonde met het te realiseren PLG-programma leek mij het overzetten van VAX naar Apple wenselijk. Informatie over het overzetten van VAX naar Apple werd nauwelijks gegeven (gedeeltelijk door onbekendheid en

gedeeltelijk door onwil 'geen tijd?'). Bij herhaaldelijk

(vergeefs) proberen met de mondjesmaat aangeleverde informatie kwam ik tot inzien dat overzetten van VAX naar Apple in dit geval niet ideaal was. Er zou namelijk teveel moeten worden gewijzigd in het TPG programma.

De Apple computer waaraan de PLG is gekoppeld was niet altijd beschikbaar. Deze werd namelijk samen met mij door 2 stagiaires gebruikt. Een andere vrije computer was nauwelijks aantekomen en had als nadeel dat het programma niet gedraaid kon worden vanwege het ontbreken van de PLG.

Over het geheel genomen vond ik het maken van het programma voor de PLG boeiend. Vooral vanwege het feit dat bepaalde problemen opgelost moesten worden om de communicatie tussen de Apple en PLG correct en snel te laten verlopen.

Werken als student-assistent bij het IPO was voor mij een kennismaking met het zuiver wetenschappelijk onderzoek. Het was dan ook een goede aanvulling bij een eerder gelopen bedrijfsstage bij het TNO, waar het accent meer op de toepassing van onderzoek ligt.

Tot slot wil ik speciaal Bart van den Braak bedanken voor het altijd beschikbaar zijn voor vragen/problemen.

(14)

Bijlage 1: PATLIBl

(15)

<

Cc~y;.!g~~ +!

("' !PO !9~5 .. ) !• RMW GERP.!TSEN • )

(. PROCE!J1...'P.ES OM EEN' PATT~N P.E~O'!='.D F.r.N IT r·Hîr'.EN + ;, (• L!SRARY F!LE • !

1. 9 ;~r-1:_r~~r !927:4-.~

,: .. !:-:'. ... ~ )

UNIT PATL!Bl; INTR!NS!C CODE 18 1 INTERFACE (• PUBLIC DECLARAT!Q~S • l CONS: MAXEUFFE~S I?E " 4'2!SS;

TYPE !:YTE\ = r,, ... __ ?::::C' _,_,.,

L I ~JES ARRAY[0 .. 5!! J OF EYTE\; (• EEN VOLLEDIG BEELD VAN 2 + 255 LIJNEN• )

RA5 = '~ .• :?; •:• ~ : RP.~TEP. 1 ; 1: RASTEP. 2; 2: EE!QEN •)

PATBUFFER = AR~AY[0 .. MAXBUFFERSIZEl OF BYTE!; (• ALLE PATTERNS • ) PP.OCEDUPE

FUNCT!ON

FUNCT!ON

SHOWERROR!COOE : INTEGER!: ,~,Ann IA R • RVTi::-1,, O'vTi::-1. ..,_,,...,'-' ',., , ... ...., ,

.

-

.

, ...

-

.

·-.'

CLSUB(A,E: !:YTE!l: EYTE!; FU~!CTJON CL~UL.T1

:~'. : P.E~.L; A : EYTEl ) : 8YTE1;

FUNCT!OM PATMEAN(P.ASTEP. : RAS: VAR 8 ! LINES! : REAL;

F R0:':EDUP.E PATBAR( RASTER: RAS; H!TENS: BYTE 11 START", STOP :-fMTEGEF.; 1.'AR B: L!NES l; PROCEDURE PATEAC~GROUN~<RASTER: R~S1 INTENS : BYTE!; VAR 8 : LINES); PPOCEDURE PATCLEAR!PASTER : RAS; VAR 8 : L!NESI;

PROCEDURE PATCOPY(RASA, RASB 1 RAS1 UAR A,E -: L!NES);

ocnrc:-n,1ci: PATf".CD!P.ASA,Rf.58 : RAS~ 1.Jr.P. A·,s•· :;LJ!'H:S·); PROCEDURE PATSUB<RASA,RASB : RAS; VAR A,9 : L!NESl1 F~OCE00RE PATSH!FT<RASTEP. : RAS: SHIFT : INTE5ER; VAR B PROCEDURE PATSWAPRASTER!VAR B : LINES!;

PROCEDURE PATERAYSCALE!VAR 8 : LINESl: pon, i:-nrnn:· PATMUL T(RA5TEP. : RAS; ~'.

IJAR e : L r NES ) : PROCëDURE IN!TBUFFER!VAR euc:-FER : PATBUi:-FER ); PF.O'CECTURE REAU[lROÇVAR S=CHAF: i;

PROCErUR~ READSETAL(M!N,M~j:INTESER; VAR D : INTEGER ); !MPLEMENTATI ON

PROCEDURE SHOWERRCR; EEGHl

0 ; ~" AL.LES or:. • )

2 1.,1R ITELN ( . BAD DEt.'! CE NIJ!"!BER. l; 3 ~1F:ITEL!·l:: '!LL.EGAL OPEP.~TI-Jr-r··);

S \\1RITEUH'LO:T DE'.l!CE -- ND LmlGER ON LINE' );

Ë ~'P!TELN< 'L.Q;T FILE -- Fl~E !5 J,Jc LONEER"'IN-DIREC·TOP.Y' );

7 \JRITEL!1!( , Ef:ü TITLE -- ILLESAL F!LENA~E,);

2 1.-.1RI1ELN°: 'NO P.QüM -- !NSUFF!C:IEN"! SPf\CE ON [1!S~'.ETTE' ); 9 l1P!TEL(•!'. ·~·)0 DEt.'ICE -- 1,1C,Ll1!'1E IS NOT ON LINE ' );

10 1 ... 1RITEU,)( 'NO S!JC.H FILE ON SFEC-!'FIED 1Jü!..."UME' .1 ; · ' 11 \.'~ITELN( '[1UPL.ICATE FILE TITLE ' !;

l? \..1RITELN( . ATTEMPT TO OPEN AN ALREADY OPEN FILE. ) ; 13 li.1;:;;!TELN•: . r-:TTEM?T Te ACCESS A CLOSEO FlLE. J:

L!NES l;

1 4 WP.ITEL!'l': . BAD INPUT FORMAT -- ERROR IN READING REAL OR INTEGER'); 15 \..1P.ITELN( 'EIM'.: B'~'c:-Frn 01.'ERFL0.'..1 - - INPUT ARRIVING TIJO FAST' ); l5 t~1R!TE~_M( '\HETE-PP.O:ECT ER?.OP. -- DISV.ETTE !S l-1P.ITE-PP.OTECTE!J ' ); 54 \.'F:!TEUJ( , DE;ncE E~:ROR -- EAD ADDRESS OR DATA ON DE,!-'.ETTE. ) ; EMC'; ( .,_ CASE • )

c:-r,1n. 1" c:wn1.1c:-o;:;no • >

_, ... ' ' ..,., ...

_

. .,, ... ·,,

FL'~!C T IQ~! CLAD!:1;

(16)

E!...SE C!...fl.!JD:=A·H?;

END: (• CLIPPING SUM OF A+B TO MAXIMUM OF 255 •) c:-11~;r'TTr1~, r1 ~ilP,

1 \ -1 • . _ I • ._.,. t..•._ - ... f

EE~I~l IF B-f.<l T~EN C!...SUE:·=r ELS~ LLS-U5:çf-n;

E ~ !C· ; ( • C !... I P P I!'! ·:3 5 ;"1 S :: T.: f: C TJ :'.) ~J A · 8 TO M I f; H:U l'1 0 F 0 "' ) F'~1flCTI ON C!...MUU;

VAR HULP : INTEGER;

!F HU!...P)25~ THEN CLMULT:s255;

!F HULP<! THEN CLMULT:•0 ELSE CLMULT:-HULP;

FQR I:=0 TO 511 DO

IF <RASTER=2 l OR <RASTER•(! MOD 2)1 THEN HULP:•HULP+B[IJ; !F R:".STER=:? THEN PAT~EAN, = HULP /5 ! 2 ELSE Pf'.TMEAN: =HV!...P.'25E;

PP/'\rr.-n1 iPC:- PATC::.:.~, , f •' -.... _ . . . , W t ,. _ t I t • c.,,,"' 1

VAR I : INTEGER;

BEGIN FOR l:=START TO STOP DO

IF !RASTER=2l OR <RhSTER•!! MOD 2)) THEN 9[!]:= !NTENS; Et

.

-i, n .... '

Pt:::nr-::::n1 IOC PATO.ll("~'r.:.r::>n111,m •

, ' ... _ . _ . _,, __ • ' ' ... ,._,,...,, -... , ... t'

BEGIN PATB~PU::AS TER, INTENS.~ ,511 ,e ); END;

BEGIN PATSAP.<RASTEP.,0,0,S! l ,B >

c:: ~,r, .

_

,

....

, POt,, .... ~rc1 i~c FATCOPY: 1 iM::> .,, .. , .. 1 , V . . . • Tt, . .lTC::,'.:, _ . . , . _ ,.C-P • , f 1-.' ■ = ! r.>i"O.û..C'A.,.CA::P. ,, .. , 1,., , ,,, . . . , ,, , ,,, ,._ • ....,' [1Ct 8[2•I+lJ:=A[2:ttIJ;-· DO e:::S.IN B[2•I+! J:=A[2•!J;

5[2•1}::cf'if:?•l}; EN!J; 10 FOR I:•0 TO 255 DC B[2•IJ:=A[:?•!+! J;

fOR I :===0 TC 2SS

11 FC1~: !:=0 TC1 25S "QC! er·z•r~·12:=~.[Z•I+!J;·

12 FC}f:; !:=0 ;e '?=c:: [1C1 BEG!~~ E[2•!]:=Ar:•!+!];

L~ FOR !:=0 TO 5!1 DC f[IJ:=A[lJ;

PROCE~URE P~TADD; l.h~F. 1 ,t~ : INTEê·~R; ·• p ~ ,-:. T t\i M , C: l 171" w ~:: ~ ..,1... 0...:.. ,: p •..

.:... - 1 , , . ..... ' ' . 1""' ••• ,_' •. '\, ,_....,' CASE 1-: OF

00 FQR I:•0 TO 255 DO erz~IJ!~CLhDD~A[?~I1~Br2•!} !; {:·1 FC·F: I:=0 TQ 255 DC1 E[:•I+1J:=CLADC·(A[2+IJ,B[2•!+1 J);

TD CC' EE~TN Erz:.-rr!::C-LF.C:Cï:, ~r2·•I+î J ,8[2•! J :1;

e [ : .. r ~ ·1 J :

=

c LA ooi: !~ r 2 • I + 1 J , e [ 2 • r + 1 J ) ; E ~-~ ~1 ;

(17)

PROCEDURE PfTSUE: ..

C'ASE l-'. ûF

00 FC1R ! :=0 TO ?C:C 01 FOR ! : r::.''?J Tn ,~ 255

c

,

:

FOR I =(?

:o

255

DO B~2•IJ:=C·LSIJ8•:A[2•!J,8C2•I]);

DO 5[2 .. !+1 J:•CLSL18(fH2•l J ,B(2•I+1] );

GC· E'~SIN E'.2•IJ 1J:=C1...SUE(f,[2•!J,9f2•!+!) );

' EH2•I~:ëCLSU8\A['2•1J,8[2+T"J); END:

10 FOP. I:•'2· TO 253 pcy···ET2•Ij::CL5tr'EîP.!Z•I-rJJ,e-rz"rJY; 11 FC•R 1::0 TO 255 DC, E[2•!+13!•CLSU8<A(2•I ➔ 1J,9[2•!+!Jl;

: 2 FOP. I:=0 TC- 25S OC• BEST!'! Bf:•iJ:=CLSU8(f,fZ•!+!J,9[2•!J);

B(2•I+1 J: .. CLSU8(A[2•!+! J ,812•!+1) ); Et-iD;

FOR !::G TC• 511 DC' P[! J:'"'CLSUB•:P:[Jj,8[IJ:,j·

PROCEDURE PATSH!FT;

VAR!, ETART , STOP : INTEGER;

BE6Hr

!F SH!FT>0 THEN eES!N

STP:RT:•0; STOP:c51!-SHIFT;

FOR I:=STOP+! TO 5! ! DO

!F (RASTER=(! MOD 2l) OR CRAST~R•Zl THEN Bf!J:•0;

END

ELSE BEGIN

C:TADT•: -C:l-lît:"T. C:TnD•=C:11•

_ , t 1 " ' I ,o _ ., ,. , t ) - ' I ... • - < t 'f

FOR !:=0 TO START-1 DO

!F (RASTER=(! MOD 2)! OR (RASTER=2l THEN er!J:=0;

END;

UAR l T ,.iTC:-1':.t:'O.

... '

-

-

.:..

.

'' K : BYTE!; eEGIN C:TnD r,n

-

, '"". .... ,_ FDR !:=0 TO 2SS DO f,: =E [IJ; 8 [ l ~ : =8 [ 51 l -I} ; ENrJ; OATr-c~v~r.c.1 C • ' , , ' ... , ,, , . ~"--· ,-. .... ' BE.Gl'.! FOF. I:=0 TO 511 00 S[! J:=l DI'.i 2 t:" ►,tr,. _,

....

' J:~TMilT r. , '' ! , , .... .,_ , 'J B="GD·!

ff.(RASTEP.=(I M0~• : ,) OP. •'.S:ASTEP.=2 > mm B(IJ:=CU1ULTO:,B[!J);

C: ~ 1:--, •

_ , ... 1

. PR0ITC"\:.1RE PAT Hf'/E?.T; l .. JAC T • T ~ITC-1:.CC-•

, ... ... ,

---

··

.

!:ES H!

1!-=" •,F.·A~EF:=(! MG0 z.,:, OF. •:~~::E'.F.-2! ïHEi·J S(L::=255-t ~!J E!-!!J;

(18)

PROCEDURE !NITBUFFER; BEGIN !?'-.JffEP.t

e

,

J: =255 H!O; P~C1CE!:?~_'!='.~ REA~L'RC:·; l,IAR B!JS: CHA~; BEGH! 8L'S:"" 'Y. ; P.E!='E~T READ<~EYeDAP.D,S l; UNTH. S Hl 1.10 T Tt: / C ',, ,...,, ... ' ... ' ... ' F:EPEf-'.T BUS:=S; ~EFEf~T t 'Y' ,'N' }; R~6~/Wt:vonAPG C\, ,, ... , a .... • ••- , _._.," ,.., , - ' f tJ!,J T ! !... ~ ! N [ .. Y . .. N . , .. . J ~ I.IOTTt:I C: \ , . , . . . - ' - • 'r L'NT!!... S= ' ~ • SPATIE OF RETURMTOETS ! t 1 • l C: • : Pi IC. - .. ~ .... - 1 PROCEDU~E READEETAL; UAF; J, I: H!TffER; C:•rWAO, .... • . . . ,. fl I f BEGH! REPEAT T • = 1 • 4 .. • ' REPEAT OCAn1vt:vPnAP~ c::,. ~ ,,__,

.

...

.

.

(·-,.., '-' ,, ... '~

.

'

UMTI!... SIN [ '0 ' ,·1· ,·2·, ·3· .-4· , ·s· ,·e · ,-7·,-e· ,·9·1,

n •::1non1 = -,_ni::r;1 ·r,, · \ 1, .., • , v, ,..., , ._ r ._., •~• , w , , f \JRITE'. S); REPEAT P.Ef=·EAT . OCAn,~t:~R~APn C: \• ··-··- ···- ·-to.,•11•'-' ... ,, UNT!L S rwr-0· ; 1·, ·2· ,··3·,·4· ,·5·,·E','7', '8','9' ,' '); !F 1 <S mm BEGIN !F S<>' T • = 1 ... 1 • ... . ... . ' ' LIPT Tt: / C: ', , , .. 1' 4,. ' , _ . . . . , ' !J!•lTIL S :, . t:1,0 T•= 1 Tl') T-1 nn 1,10,TC'itl-JOl/7,Q \ \ , I \,.,<"• "' • • , ' - 4- 1 """..,; H • < ... 1 - • W• , , t t ~ W , • f

IF ~~C1<~I!·;:i CtR \D> ~A::)~ THEN

SES!N .. F 1:1 P. J ~ = 1 "T Q ! [: c, L·J ~: ! TE j: . . ) ; FQR J:=1 TO! DQ WR!TE!CHR!0el!; EN['~ UN7IL !!D'=M!Nl AND !D<=M~X) ); ~.1~ITE1: 0); i:-1,;n . - · ~ ... 1 BfflM

1 .IR ITEUJ( . P~T:EP.N LIS~Af=.':'

ENL.1.

(19)

Bijlage 2: PATLIB3

(20)

( • copyright *)

I• INSTITUUT VOOR PERCEPTIE ONDERZOEK 1986 •l

<• JONKER & GERRITSEN ; KURVERS & BElJ~ ; HULZEBOS • l

<• 23 JANUARI 1927 ; 7 APRIL 1987 ; 30 APRIL 1987 •>

< * $L PRINTER:* l

UNIT PATLI83:

INTRINSIC CODE 19 DATA 20;

INTERFACE

USES LABIEEE,APPLESTUFF,PATL!Pl; CONST SLOT C: 7 ;

Apple =30;

PLG ~3;

Durw,yS e::Adr =95;

OoE0l =TRUE; NoEOI zFALSE; ReadCount -=30000; WaitTil"le =0; More =TRLJE; NoMore =False; START =1; STOP

="'·

~.

ENAELE ~.;:.,; DISABL.E =4; CL.EAR ,.5;

TYPE BLOK= PAC~ED ARRAY [0 .. 511 J OF CHAR;

LN6NTGR=INTEGER[7l;

DOUBLEBLOCK=PACKEO ARRAY (0 .. 1023] OF CHAR; VAR 8YTESSENT,CHKSM:INTEGER1

PROCEDURE WR!TEERROR<STNG:STRING; ERROR:BOOLEANl;

PROCEDURE CHECKSRQ<VAR SR,ERROR:BOOLEANl;

PROCEDURE

srno

ID ( A: INTEGER; VAF: CHK SM: INTEGER; VAR ERROR: BOOLEAN);

PROCEDURE SENDS<B:BLOK; VAR CHKSM:INTEGER; VAR ERROR:BOOLEAN);

PRO~EDURE SENDB<B:LINES; VAR CHKSM:INTE6ER; VAR ERROR:BODLEAN );

PROCEDURE SENDCHKSMCCHKSM:INTEGER; VAR ERROR:BOOLEANl;

PROCEDURE SENDCMDCCMD:INTEGER; VAR ERROR:BOOLEAN I;

PROCEDURE SENDPATTERN(N:INTEGER; 8:LINES; VAR ERROR:BOOLEANI;

PROCEDURE STATEREQ<ERR □ R:SOQLEAN; VAR STATE:INTEGERI;

I MFL UiEfJTAT rnr,: PROCEDURE WriteError; 8[(:,}N I f Error THEN BEGIN ~RITELN; END; WRITEi '+++ ERROF: ,STNG,. 1. )1 END; PROCEDURE CHECKSRG;

(21)

<• IF PRESENT THEN START SERIAL POLL PROCEDURE*)

<• REPORT THE STAUS BYTE* )

VAR Status:Byte;

BEGIN

SR:=IE3SRQ;

IF :,~ THEN

BEGIN

Write( ·service request: · );

Stai us :=IE3SP0l l ( PLCJ ,FALSE ,Üu!"w,ySecAdt~ ,Error ) 1

WRITELN;WRITE< '+++ . ,CHR<07»1

CASE Status OF

65:Write( · Checksurv: error·);

67: Wr it e ( · wrong pë.\ t -t ern nul",b6r · ) ;

59:\..lrite( · unkno1,m state' );

71 :Wr-lte( ·ststus byte is ·,Status);

73:Wri.te, 'u,,knowr, ideniifie,· );

75:l.Jrite( '1llegEil pattern nurr.ber· >,

78:Wrlte( 'erriJr in filelenght )

END;

Write(· stëtusbyte = · ,<Status-64))1

Wr i teError( ' at checl'.srq · ,Errc,r) 1

END

ELSE Error:=FALSE;

END;

PROCEDURE srn □ ID;

( *

srno

THE RECORD IDENTI FIER *)

( * SPECIFIED BY 'A .• * )

( * FIRST MA~:E PLG LISTENER * )

( * AND THE APFLE TALK ER

.

)

( * PUT 'A, IN A LONGSTRING 8ECAUSE

( * THE PROCEDURE IE3SEND CAN'T * )

( . USE BYTES * )

( * IF , A, IS 255 THEN *)

( * OUTPUT THE SEOUENCE IOENTIFIER

VAR IDS:LONGSTRING;

BEGIN

IF <Not Error) THEN

BEGIN IF A<>255 THEN BEGIN SetlongStrLen(IDS,2 1; IDS( 1 J:=CHR'. 15 ); rnsr: J :=CHR( A) i Cl·H<SM: = 1 S+A; END ELSE BEGIN SETLOtJGSïRLEN( ro: , 1 ) ; IDSL 1 J:=CHF-:(51 ); CHKSM:=51; UD;

IUTall < Apple ,Er-rcr );

* )

* )

Wr-iteErr0r( at TALK rn SENDID' ,Error);

IE3Listen<[FLGJ ,TRUE,Errorl;

IE3Send!IQ5,FALSE,TRUE ,8ytesSent ,Error);

WriteErr-or( ·at SENDING IN IE3Send ID' ,Err-or );

END;

END;

1 * DEZE PROCEDURE ZENDT EEN BLOK VAN PACKEO CHAR'S OVER•)

PROCEOUï;E SEN[;S;

<• CONVERT THE 512 BYTES PACKEO ARRAY OF CHAR, 8, INTO *l

<• FOUR LONGSTR!NGS OF 128 BYTES ANO SEND THEM TO•>

( a THE PLG BY USING PROCEDURE IE3SENG *l

(22)

(* LONGSTRINGS *)

(* CALCULATE THE CHEC~SUM BY SUMMING ALL•>

( * CHARACTERS * l VAR S:Longstr1ng; J .J: INTffER: BEGIN SetLor.gStrlen(S,128); FOR I := 0 TO 127 DO S[I+l J:c8(!J;

IE35endlS,FALSE,Mcre,BytesSent,Error );

FOR !:= 128 TO 255 DO S[l-127J:=S[Il1

IE3Send(S,FALSE,More,8ytesSent ,Error);

FOR I:= 256 TO 383 DO S[I-255J:~B[IJ1

IE3Send(S,FALSE ,More,Bytes5ent ,Error);

FOR I:= 384 TO 511 DO S[I-383J:c8(I]1

I E:3:.end( S ,FALSE ,Mc:--e ,Bytes Sent ,Error> 1

FOR I:= 0 TO 511 00 CHKSM:~CCHKSM + ORP<B[IJ )l MDD 256;

END;

(* DEZE PROCEDURE ZENDT EEN BLOK VAN BYTES OVER•>

PF:OCEDURE SENOB;

(* CONVERT THE 512 BYTES ARRAY B INTO •I

(• FOUR LONGSTRINGS OF 128 BYTES AND SEND THEM TO •l

<• THE PLG BY USING PROCEDURE IE3SEND •l

(• WHICH IS THE REASON FOR MA~ING THE• 1

(* LONGSTRINGS •>

<*

CALCULATE THE CHECKSUM BY SUMMING ALL•)

<• CHARACTERS•) VAR S:Long5tring; I ,J: INTEGER; BEGIN SetLongStrlen(S,128); FOF: I := 0 TO 127 DO S[l+1J:--CHR(8[1•2J);

IE3Send<S,FALSE,More,ByteaSent ,Error)1

FOR I:= 128 TO 255 DO S[l-127J:=8HR(BLI•2J);

IE3Send(S,FALSE,More,BytesSent,Errorl;

FOR I := 0 TO 127 DO S[I+l J:.,CHR(B( I1t2+i l );

IE3Ser.d(S,FALSE,More,BytesSent ,Errorl;

FOR I:= 128 TO 255 DO S[l-12ïJ:~CHR<B(I*2+1) );

IE3Send<S,FALSE,More,BytesSent ,Error);

FOR I:= 0 TO 511 DO CHKSM:~(CHKSM + B[IJ) MOO 256;

END;

PROCEDURE SENOCHKSM;

\* CALCULATE THE CHECKSUM *) (* OF ASEN □ DATA RECORD* l (* A~D SEN □ IT TO THE PLG * 1

VAR CHS:LONGSTRING;

BEGIN IF (NCT EPROR ) THEN BEGlN SetlongSt:--Len': CHS, 1 l; CHKSM:=255-CHKSM; CHS[l J:=CHRCCHKSMl;

IE3Send( CHS ,DcEOI ,NoMore ,ByteE.Sent ,Error);

l,.lriteError( 'at 1E3Send ChedsL.irr,· ,Error);

END;

END;

PROCEDURE SENDCMD;

( •

sm □ f; C0Mf1AND TO THE PLG !t I

<

THE COMMAND IS SPECIFIED BY •I

ï • THE HJTEGER CMD • )

(23)

BEGIN

SetLongStrLen(CMDSTR,3l;

CMOSTR[ 1 J: =CHR i 187); CMOSTR( 2 J: "'CHR< CMD);

CMDSTR[3J::CHR(255-l87-CMD>;

IE3Tal~<Apple,Error J;

WriteError( · at talk' ,Error);

IE3Lideni [PLGJ ,TRUE ,Erro,~ );

WriteError(, at listen · ,Error);

IE3SendlCMOSTR,DoEOl ,NoMore,Byte55ent ,Error >1

WriteError( · at ser,d1no COMMAND ' ,Error);

END; PROCEDURE SENDPATTERN1 (* SEN □ PATTERN IN ARRAY 8 TO PLG * l VAR CHKSM:INTEGER; SRQ:BOOLEAN; BE6IN Error::FALSE; SENDIOCN,CHKSM,Errorl; SEN08(8,CHKSM,Error>1 SENDCHKSM(CHKSM,Errorl1 Checksr~CSRQ,Error)1 END; PROCEDURE STATEREQ; VAR I ,CHSM:INTEGERï OONE:BOOLEAN; ST,STR:LONGSTRJNG;

(* THIS PROCEDURE REPORTS EVERY NEW STATE,

•>

<• WHEN A STATE RECORD IS RECEIVED WITH *)

(* THE TIMES BYTE EQUAL TO 1. *)

<*

THE RECORD IS RECEIVED BY MAKIN6 THE PLG *)

(* TALKER , THE APPLE LISTENER * >

(* JUST WAIT FORA RECORD •)

(* CHECK IT ON ERRORS•>

<•

UNTALK THE PLG AGAIN *)

C• ** A PRECEDING SERVICE REQUEST CHECK IS OONE ELSEWHERE **

•>

BEGIN

IE3TALK(FLG,ERROR);

WRITEERROR( . AT PLGTALK' ,ERROR);

IE3LISTENC[APPLEJ ,TRUE,ERROR);

IE3RECVECST,4,DONE,MORE,ERROR);

IF ORDIST[3J l=l THEN

BEGIN

IE3RECVEIST,4,00NE,MORE ,ERRORl;

STATE:=ORO(STl2J ); END;

IE3COMMANO(UNT,ERROR>;

IF INOT DONE l THEN

BEGIN

WRITE( 'tJO END RECEI\JEO' l;

ERROR::FALSE;

END;

IF SH1JC CHR(240) THEN

BH,IN

WRITE< 'ERROR IN RECEil)EO lDENTIFIER' ,ORO(STR[1J));

ERRC1R: :FAL SE;

END;

CHSM:=0;

FOF. I:= i TO 4 DO

BEGIN

(24)

IF CHSM > 256 THEN CHSM:= CHSM-256;

END;

IF CHSM~> 255 THEN

BEGJN

WR ITE i 'ER.ROP. IN PECE HJED CHEC~'.SUM ' ,ORD( ST [ 1 ) ) ) ;

WRITELN( . . ,ORO<Sï(2J),· . ,ORO<SH3)), · ' ,ORD<SH4J)); ERROR:=FA!..SE;

END;

END;

BEGil'J

(25)

Bijlage 3: EXPLIBl

(26)

!• INSTITUUT VOOR PERCEPTIE ONDERZOE~ 198? • ! !• RAYMOND HULZE505 • l

( 4

::e

Vi!:'I "f 5S7 • }

l;!,rT T E.~~f ~ ! 8 i ;

INTRINSIC CODE 23 DATA 21; INTERFACE

uSES TRr'i1•!5CEM: ,LAPIEEE ,APFLESTUFF ,P-f!TLIB! ,PATLIE'Ji

UAR MON!TR,Errcr :eOOLEAN;

CH-DICE ,M'O □ E-.c, ,S ,C.f':!CH~F.; I ,J,BLOC~S.BLOCKNUMEER:INTEGER; OUTNAME: STR ! ~!G; BUCHS,BL,K:!NTEEER; SF:O: BOOLEAN; BUFFE~:PATBUFFER; E :LINES;

-REP _MAIN ,REP _SLOPE ,NOR MAL ,F.f-,DEL: BOOLEAN; ' 1

RISET!ME,BACKG,STL,DEL,PAU,!NTENS,FL,LL:INTEEER; 5T~TUS, STATE! !NTE(3.EP:;

·· SEEN ,NOT_:__SEEN DB 1 P,P! ,P2,P3,P4,PS,PE,PD,PC, :ARRAY[I .. SJ 'UF INTEGER; : AR'RAYr l -.• 5J OF REAL: 111r, , ... ·.=.--i ::n - r . .::· no~- -,r::,~ r,Rr, 1 , , , , L,, , 1 L , w r '- 1 - ""'~ , U..,. .... 1 w·w.., 1 DS1 ,DE2,DB3 ,DB4 ,QBS, o"""-~r '' ,'-'. , p r ...... ,:. ' ' vr:. ..... ,. u , ,.:: . , n.::...M. ,, P ' ' · T ,N,TOT ,L R PR·}C::!JIJRE: I!'ffT_F~R; ,-t'RDC'EDVRE. CHrfflGE_"Ff,f., :TIAL; : INTEGER; l :EOOLEAfJ;

PROCEDURE SH!C•~-!OF:MAL_SEQ( ST!... :-YNTt.!:ER';

PRQCED'....iF:E PROCEDURE PRC•C::OURE PF:OCEDUPE ~iOF::1FL_t/·p; C

..

/ ... nc:..,, ·.__..., i:- ::; • , c:1 noi:- 7 • ._ .... ...,, ... _.' S~OFE_E; .:.i 1 ... ,D~ ~ • .., - - .... f , _ ... ' c:, noc ~. - -1,..,r - . _ -f Ci ... r,pç " • ~ ....

-

-

., MA Tl-! ? • , .. , ....

_

... ,

PRCiCEGUP.E rf'l'TT PAP.

11.C.w =onP•8QQI i:-Af\l\,

(27)

DEL::20; FL:=255; LL:-=255; r,1('):::M.:.1 •=TRIit:", *'""' " " ... <> •• ·- - ' PROCEDURE CURRENT_PAR BEGIN t,1R!TELN•: . . ) ;

'.,1RITELN1: '• • • • • • • • • • • • • " • • • • CUP.RENT PARAMETERS +•♦.•••••••••••♦.+••••' );

\JR ITEU!( . . ) : '.,.'P.ITELN< ' . >;

l,1RI TELN! . NUMBER PAR~r~ETER

l•!P. ITEL!'H . . ) ;

\._IRITEL!'l( '1 •... BACt<GROUND INTENS ITY:. ( "IJL TRA eu~rn "=,;~) •••.... ,BAO:G);

WR!TELN( ·2 ... FIRST L!NE-NUMBER:, ,. , . , .... , ... ,FL >;

WR!TELN< '3 ... LAST L!NE-NUM8ER: ... ,LL);

WRITELN! '4 .••.•. STIMULUS LENGTH! ... , ... ',5TL);

WR!TELN( ·s .••...• PAUSE EETWEEN END_T0NE AND NEXT SEG!N_TONE: ... ,PAU!;

!F RADEL:TRUE THEN

8E5!N

WRITELN( ·s ... DELAY BETWEEN eEE!N_TONE AND STIMULUS !S .... RANDOM' );

\.JR!TELN( ....•...••.•.•••••••• , ••••.••••. \.J!TH A M!NIMUM OF: •••• . · ,DEL!;

E~-:r.

ELSE

l.'f~!TEU·H ·s . . . ... DELAY !?ErnE:Jl BEGIN_TONE Al,JD ST!MIJL.IJS: ... , ,DEL);

!F NORMAL:TRUE THEN

\•,1R!TE:...!'H'. ï .. . . THE E:-'.PEE IMENT MOOE IS .•••.•••••••..••.•..•. NOR!4AL' > ELSE

WR!TE[N~-7 . . . THE EXPERIMENT MODE IS , •••••...•.•.•••...•.• TAF' );

\JR FELN( . 8 ... R ! SET! ME/FA!...L. TIME OF ST! MUL US: ...•...•..•••.• ' ,RI SET !ME);

l·.'RI:ELM( , . ! ;WRITELN<. , \

.

• 1 END; PROCEDURE CHANEE_PAR; BEG!H REC:•E~T I \·.1P1:E!...N( . :, ;

hiRITEC.~J,: '•'•••~••· E?·!TER rt, FQR t·70" !':ORE 1-~-~"n::c-::

\.

, '

1,•.'P.! TELN ~ . ♦ + _..,_.,. + 4 .. + 8!TE"R P'F,R~f'!ETEF. r-tr.}MEEF" < ! ~ "e ;. : ... 4 ... ♦-♦ . . . )·;

t:'t:r."ï'i'T:C'"T~i '(1'71 -~--Phl 1 •

, ... ' ... - -'' · -. .... ~ .... 1' • • , 1

·\-.1~ITEL·N( - .. . ) ; !F PN=! THEN EE€!N

L·iP.ITELN·'. :~NTEP. B'~Ci'.,'.=~Qt•~:!:1 IN'!'ENS'ITY <0 .. 2~.,. ,1;

p, ,·cz:.-., ·r-ïr:\.,,'-..7:. 'L,._ , r.Ti.... i

,---

~.,-cc

-

, ·...ht:;:---.. ,._~,,r_ ..., ,,. '

ci . .J-;=F.-~NT _P~R; i::r,1n.

(28)

IF PN=2 THEN BEE!N

t-.1i:::ITELN( "ENTER FIRST L!f•!E-NL'!'19ER <0 •. 255>" l;

P.EADEETAL!0,255,FL!:

C1

•• JF"F.~NT FAR;

IH~rTEUf( "ENT'Ei= lAST !...HE-NU"fSEF (755 .. sn ;-, . );

P.E:=-.C•GET~L( 255 ,5 i 1 ,LL);

,~11ot:;:=-h1T PAQ,•

•- w••• ,_,_, . • - • •il; ' END;

IF PN=4 THEN BEE!N

~•RITEL.~!•: ·E~!TE? STT!'-1ULU'S. LENGTH

<

~ ..

25: .... Y;

READEETAL!©,255,STL)i

CUl:::REN:_PAR:

nJ!:.';

UR!TEU-J( -E~r!'ER ?AUSE SETWErn END_TONE AND NEXT BEGIN_TONE <0 .. 255>.

READSETAL<~.255,PAUl; CURF.E·NJ_:_PA~; ..

PlD;

. IF PN=E THEN BEGIN

ff F:ADEl'..=:F.•JE THEN SEG!N t·,1fUTELN! 'STANDARD DELf\Y? Y/N

FiEAC•1.,1P.D< ':: :;

IF S= 'Y. HEN RP:!JEL ~=FP.,L.S.E; END

.

\ .

,

.

ELSE BE5Hl WP.ITEL.N! 'RANDOM DEL.AY? Y/N . ); R~AQ\~RD( S) 1

- !F-

sx·

·

Y •• THEN R~[m_ ~=Tf.UE;

îF F.~•EL=FALSE 'THEN EE(~IN

WR!TELN! "ENTER STANDARD OELAY EETWEEN BEG!N_TONE AND STIMULUS <0 .. 255)' );

READGETAL! 0 ,2ss·;o.EL.::; END

ELSE BEGIN

, 1.1P.TT~!..N! 'ENTER MI:·! RANDO!~ DEL.AY 9ET1"1Ern Bt:SIN_TOMEAND STIMULUS <0 .. 255>' >;

R'EAübE ! ~L ,;~-, 255, DEL ! ;

;:";n • .... • • ... f CURRENT_PAR;

i:-t_,.ln 1 ... .,

IF PN=? THEN BEE!N

!F NORMAL.=TRUE THE~J BEGIN 1.JR!TELN( 'TP.,F MODE" Y/N' );

P.EAC1t.1RD ( S ) ;

1'i t.:>l:t:'t·,IT c;.:.o,

... ,:••-···-· , ... ,

IF S='Y' THEN NORMAL:=FALSE:

END

rrsr

B'f'Gf!lt !·!FTITLN( "N'GR!'!AL !"!1:TDE~· Y/N. ) ;

'P.::

A Dl,1 F: [". 5 .' ;

IF S'= -y . THE~ NOP.:~AL": = T Ri.,iE;

t:'hir,. _ ,,..., 1

!F '"P'N=9 THE!\! BEf I r·!

Ut:;! TELN( . ENTER RI SETI!"!E/F~LL TI!"!E-OF-STIMUUJS <0 •• 5:i . J;

p C' cn,:..~ï Al ·, r11 C. t: Î "::'!:"T T MC \. 1 • ' ... ' ·~-..., - . ' , ... ) ... '' .... ~ - ' .. 1 , . . _ , ' EN!:; l"l~"?, 'E"E : DOL15 LE~ L.. QC ~<: î ,-..'--'L' ~M • r:~fï":-r::.=;:;. · ~ ' ... ,. ',_, .. "'", .. ,._...,_,''

(29)

(• THIS PROCEDURE SENDS A SEQUENCEFILE OF A NORMAL EXPERIMENT; •)

<• TH!S NDRMAL EXPERIMENT !5 STAP.TED BY THE SAME BUTTON AS• )

(• THE 'SEEN'_euTTON; •)

,: • THE STIMULUS , P~TTER~J : ; HAS f,, LENGTH OF STL • )

(• THE PAUSE BETWEEN STIMULI EQ0ALS FAU •:

!• THE P.!SET!ME1c~LLT!ME EQU~LS R!EETIME • )

BEG!~! ERP.OP. :=FALSE; EE [ ~-J - C'HP< 1 '.

.

',

..

":Tf:E 1 ♦ ·' 88[ 1 J

--

CHR( 7 ,' ; BB:2 J . - CHR( 0 ~ ; ( • PATTERN ~

) BE'.[ 3 J - CHP. •: 5 \ . . ' BS: .~ ] - CHP. . 1 4 ) ; (

..

INPUT=! 4: :1AP.ï

) 88[5] .

-

CHR( 2 ) ; ( • GDTC, ST~TE 2

..

)

BE:~f: J . - CHR·: 1:: ) ; ( ~ Tt. .. ., 1i::. 1 i... T:. 1' 1 ;:; ...• .. \JA!T )

E8[1 J : "' CHP.~ 1 ) ; (

.

GOTO STF:TE !

) 85[8] . - CHR< 1 \. (

..

ELEE fOTO STATE

..

) ' 88[9] := CHP.,. 21; ( ... STATE 2 • :• 28[1e•J:= C'-!R(3); BB[ 11 J:= CHP.<0); EEf l2J:= CHR(DE!..l:

IF R!SET!ME>0 THEN B9[1ZJ:•ÇHR!El <• EOTO STATE 5 •)

ELSE BS~!3J:•CHRi3); (+ GDTO STATE 6 • )

.. E'Bf:,n:= C~P.(3); BB f 1 5} : = CHP. ,; 5 ) ; 8B[16J:= CHP.!1); EB [ 1::: = CHR ! S T!.. ) ~ ' EB(1BJ:= B5[19J:= 88[20]:= CHP( ! 4 :1; (

..

!NPL'T=14: 'SEEN ) EB[23J:= CH~( ~ )

.

1 r-uo; 1 c; ... " ' ' .

-CHR(S) : CHR ( 4 :1; r·UQ/ ':1;\. .... " ' . _, . 1 l • 1 ( ( \

..

GOTO STATE 4

..

)

..

!~lPIJT"15: 'NOTSEEN' + ) • 1:3~)TQ STATE 5 ... )

!F RISETIME>0 THEf,J 8EGH-i r• "FALLTIME,,0'+)'

eer21J:-= CHR(RISET!~E ... 1 ): '

68[25J:= CHP(!);

·eBC2~}:c CHR<P.!SET1ME+5); (• GOTO STATE R!SET!ME+S •) ELSE SEG!N 8"3[2/fJ:ë S:T2~T: = ,·i.JC/ -:;: ·,' ·- , " 1 ' - 1 f ENC1 i ~LSE ei:-,: Hl E, ... .. ,,-_.' , . t"''WPi' ~·..::ir1 \-. ""'' ' ' ' 1. ,: ..... . ' ( + EOTO STATE 2, ) r-µQ/PTC:C:-TiM::- ... 1 \ • ... , .. ,, ... _ ' .... , ... .. . , ruo, i i • ._ ... ', .' CHR!P.ISET!ME+5); (• GOTO STATE 2 • )

(30)

ELSE BEGIN FO-R . FC'c;, E!,JD; C ~~-iï, ~; C ,-i..:·;.'C /\f c,::;;•:iCt "'; • ...,._, ... .... , ... , ···-· ... ,1'' !F R!SETI~Ei0 THEN es r ( ;:: ... J ;. J: = BE[(3?."!"J ~J:= ruo, r .,__c; , • .... • " ' . . . . ' _, , 1 ,-.UPi' Ä". ~ • ... ,, , . ... , 1 (• STATE I+S •)

62Tl31!.~J;J:"' Cnf=>:IT! :; · • PATTEF.N I+1 ... )

·E·I i:3S+J >l:"' Crff11 l !;

IF"" I ~ .. RI-SETfME TiiEl .. !

B'~· r rz:;:....3 ;ij;~ [H.~ ;_ 4 1 "1-'S ~-. GC!TCi STAT~ ! +E ♦ ) ELSE BE[(35·d)J:= CHF.(3,1; t= ~" r, . ._' • ..., 1 SEi:Il'I t. : • '· ;_ I - 1 ) • 5 ) + .f: 88[!?7 ... KlJ:m CHR(l~R!SET!ME+5); i::E[\32-H-::,J:° C'hRC3:•; !F l<RISETIME THEN t:.Gï 1~ 8Br!38T~ )J:• CHR!RISETIME+!-!!; EiBf<,rnH'. )J:° CHP.!! ); esrc~r+K )J:~ CHR<I+R!SET!ME+6 ); E~ID -ELSE 9EGHJ SB[ ! 39+!1 :J p, C~P.! 0 ! ; 8~[ (40 ... K!J:= CHRCPAUl; 88[ •:<tlH'. )J:.,, ENC11 EMD: FOR I:•e TO (4!+Kl DO 8[!J:•86[ll; FC•R 1:ca(42-tr'.I TO 511 DO B[IJ:=CHR(255!; END ToJ 31· DO' B[!}':c5EfTJ; TO S!r DO B['JJ::cc·HR•:255~; FOR !:=0 TO !4!+~ ) DO 8[IJ:=CHR!255! EL.SE FQR I:=0 TO 3! DO e[I}:=CHR!255);

ci:-~n:1p ('UVCM co~~P \,

..., . _, · -- • ...., ' . . . f " . ~ '. ) .__' ' ' ' . . .. ' ' '

SEN2CH~SM!CH~SM,ER?DR l;

WR!TEERROR! "AT SEND5EQ' ,EP.RCR):

c-~.,n .

-

·

·--'

PF.TE~P\-2 1 I!·iTEf-i·; ;FL ,LL.. ,B);

ci::-1-.i r,~ATTt:"t:;r,1/ 1 t:: Ct::o,,i:; ·,,

_._, ... ' . ' ... ,.

.

. ;...., ',._, ... -·· ·- ' '

!F-R! 3E:TI:·:f>0 THE!'! BE1,;I~\J

C,Z•:= - ( 1/~:!5ETIME)"~N(0.\l! );

FOR I:=! TO PISETIME DO BEGïN

STEPS OF e•. 5

,: :=~:cr:~}N:J< INTENS••~ :1-E>-:P~ -c-0•,: I-0~ S-.i:. :, ) ;

~.C.~t.,";:.:-. "\: "'t:"i ! 1 'k ,.

(31)

Cl ~: UI CJ 2:

..

I.Jj U . >: UI 1 _ J -1: :i:: : n : Cl

~=

UJ u : :: .1 Cl UI z c_, H :::, C J l.!J ::: a: LlJ UJ o. (ll UI 1 --•t: Ul 1· · + IJ .1 ~-Lll û : ::r : ,: · , f' I ,., u: Il 1-· 1.l' . Lll Lil LIJ !-· (Il _. , 1 :

....

, :,

,

--u : il J Ul ,. 1-· u : r · • J <r: UI _J ~ · LIJ 1-· ,-, Il (l _ -.1 : 1-· IJJ 1-· z ;;_:: Q '. IJl ::J < -ll.J T. 1 -Ul

~

=)

U '. 1 -Ul Il • . • • J G J LIJ l <l C1 <1: LlJ U '. 1-· c, u .

~=

~

..

CL '. 0 a:: +

.

.., a:: tr.. tS -, w ~ Ct a:: a : l.U --1 (U <Z: Ul ,-, Ll V Cl " · u C1 .2: : : '. LIJ 1-1 Ul L~l UJ m c. , w Cl i.ll C; _ J _ _ J C l (l) :;: : Cl <I: 1--· z :L LJJ t: J 1'5:l Cl Il C 1 2:

~

=

-1 : y u (J. ~ Ll Il u . :.;: Cl LJ.J _J Ll . UI Ul UJ-Il 1-w <l: 1-i ---1.: UI i--• U1 n: Cl u-~ a.: 11 : r:1 Lü V Cf -....r llJ Il u : UJ LlJ LJJ f--► · · 1-·

~

=

,1 : <t: 1-· 1-· Ul Ul u · , Il 1-· IJ) <1 : _ J =1 UJ ► -1 .,_ . L: l 0 . 1-· <l'. :2'. UJ "2'. ►· • UJ Il '. ="; Ul z UJ UI UI 2~ lil 1-LJI C) UI

.-c. 1 1-· 1-· z

--w u :z 2: 1-· LJJ _J _j <t: 1-· UJ UJ 1-•

~=

1--· . 1-• u, 1 -,_,

...

• UI o: o: o : --:::c 3 Cl o : u: 2: z a : Cl LIJ UJ lJ.J ::r: I 1-• ... .: :,-z Ul LlJ ij -0: U.1 > - >-L.O lU

1-

·- -t- 1-<t:

·

-"

... ~ ,r : t --t · ::r : 2 I.: L.ll 1-· Ul Ul

....

(..) Q u 1-· UJ

-z A z C l v · Ul ... LJ . ,... ,-, LL. z

1

-l!J ~ .,_,. l:l l..!.l Z ~ 0 z -:c _J -w zw z Z UJt-i w .... lJj -~ w w (IJ UJ W Ul <ll ll . 1-... . Cl I _J UI UJ Z Cl ::2: '. ~'. LlJ 1--LJJ Ul U.:

=,

2'. UJ UI UJ :i : _J l'Sî 1-· UI Il UJ -.d-l:: 11 >-1 HJ 1-· =J l1J 1-· lil st : ,_, i-· o : Ul Ll . Ll . , ....

....

f" ~ 1 - --LIJ : ;-Cl lll 1--· :::: llJ ::r: w __ J n . 2: , .... 1-· c., :;: o · LIJ UJ Ll UI ..::. . 1 lll Ul ll. : : J 1 <t: r:. , UJ 1-· 1,1 Ll . C l IJl 0 2: _ J LIJ LL lfl IJ) , 1: 1-UI LlJ o : u :

=

,

::., :2 : Cl Cl _ J LJJ lil;;;: l.1.J (_J (.) ~◄ t -.. c , Cl C l (! ) •-• Cl u : z '-1 : lll ll: 2'. ll. UJ 0 . Ul 3 LIJ .:é :

....

t .! J lil Ul ~--: --.... >· l' . + 1 IJl L1J 1 -u. 2'. Cl UJ _J ::r: Ul UJ u : 0 = · , 1-· (JJ ' 4 (l_ LIJ E :c :=, L>J , n UJ :r. 1-...,, ,.. w 1---=j -i : ·-o : u1 -~ 1-u. ~ u UJ 1r : .:'. LIJ a. Cl Il C'.I J-· C! _ J --~ (J) :z: 1-· , .... z u : n . ui <1 : 0 UJ lJJ 3 o : ÜJ = 1 2'. UJ CJ . >-UJ Ul >· :r: _ J Il 1-· W Cl (.l' Cl er 1-· 2: • J : UJ _ J l.1J 1--· Cl n . 1 4 1 -:. 1 : ..-.J li HO 1-· l:iJ û : lJj ;;:: (j_ IL :::, o : ::, t-1 -s: • · ..,.. -r -J l.1.J lJo.f +

-..

C, UJ 1 -: 1 + + ➔ F J CJ C l Cl · -· LlJ Il Il Il Il Il r · J r · q x:r-Uj (l] lll U} UJ (IJ Cl t :J Cl CJ (:j 1 .: 1 ~ : lJ-1 ! ; ! "'-· µJ r--1 UI U . Cl _ _ j u-, IJl n : ·:J , .: i UI , _ , 1.) u: u .

(32)

oi::r:. Ti,I · x:;-. ... ,.

T 'F ,: E -C :, <

='::

.

T~":: h

IF C<=l2l".5 THEi'J

E:-=CfS-EL!:E E:.,126.5; DEf·1P: =E; DEE: =E;

EEfIN

SENOL!NE!DEMP );!:=0;NI:•0;

SENDCMD(ENABLE,ERRORl;

FDP T:=! TO !0 DO NORMAL_EXP1

SENDCM!J( OISABLE ,Ef::RC<P.);

~}FIEL.N(:::5:2,' dB sco~:ES ' ,P•10~:S:2, ·x· )1

\·JR!TELN( C1UTFit..E ,E ~ 5: 2, ' dB SCORES , ,P• 10~= 5 ~ 2, '~~.);

IF P)0.2 THEN BESIN 1.·JRITEUJ( ' B! :=E1E:=(81+C)/2; DEMP:,.E; EH!J' E: c:c: R:=FAL5E; , \ .

'

.

•, • EXTRAFDt.ATICiN E>C .. ) l·!RITELN! ... 5U!'1f':f\FU ... );.

~ 1RITELN(!JED:S:2,· dB "SCORE!i . ,PD+!0Q::5:2,'%' ); "

-1.~P!TELN,:OBC: 5: 2,. dB SCORES ' ,FC• l e•0: 5: 2 •. t. ) ; ' l.1RITELN(D5E:5:2,' d8 SCGRES . ,PE•1~0:5:2,·x· ); .

1.'RITELN•: . ' ) ;

l,ICTTC:I •1/(')IITC:TIC"' ' ) ~

1 ... '._ .... ,· .. ' .., ... ' ... ~ '

\JR'!1ELr\r(Ot}TFILE,.

•+••···

·

•+••••*-•

5UMMARY ....... .f . . . ) ;

10.:::ITELN<DIJTFILE,C1SD:5:2,· dB SCORES . ,P!J"100:5:2,·¾· );

t ... 1P.TTEL!'!(Ci.UTFILE.>VE:~5:2,' dB SCORES ',PC•l00:5~2··;·i· );

\..lF:T;ELi'/(iJLï:i='ILE,DBE:5:2,' dB SCORES . ,PE•l00:5:2,·x· );

SLDPE_8; El111"1 • . ... 1 PROCEDURE SLOPE_5; 1,IDTTt:I 1./{ i,lïTC T; c-· \ _. • • , ... 1 . . . ,. •, . _ , " " < 1 .&. - - J 1. C, • :-.TDI IC• ''' r ,, . .., .... 1 BEGIN

C :=\ f:1 +B ~ )/2 ;DEMP :=C; S~N[)L!NE< DEMP); I :-=0; N!: =0;

~t:"'r,1n1-·"'1:--.r' C'hit:.Pi c: ~ooni: \ .

... ~ , ... _, ,...., 1 - · · · ... , ... ",1.-.,, , ' . ,

FORT:=! TC r0-oa

Bt:i-.HI

IF NORM~L=TPUE THEN NORMAL_EIP

<•

SECOND !TERAT!ON

>

EL SE \,IF. ITE!.J,) ( . T :":F ç;:::-,:,1 Ic:1,irt:" NC,T IMPLEMENTE!J YET. ) ;

P:=!/(!~N! );PC:==P;05C::rC~

~· .. :RITEL.~J(C:5:2, · d5 SCC!RES . ,F·•!e1,Z,1:5!2,·~c· ):

(33)

1.1::: ITEL.!'i ( OUTF LE , . . ) ; D:=(A!---C)/2: !F (C-D!<=S TH~N re C·~S THEN D::(-5 ELSE D:=01 DEMP:=0;080:=D;R:=TRUE; WH!LE !R=TRLlE) AND (!C-Dl>0.75 ) DO SENDL!NE!DEMP);!:•0;N!:•~1 SENDCMO!ENABLE,ERRORl; FOR T:=1 TO !0 00 eEGIN

!F NORMAL=TRUE THEN NORMAL_EXP

,~ E!TRAPOLATION D<C • )

ELSf:. l·J~d TELN( 'Tf'.F SEQUENCE NOT IMP!...H!ENTED YET. ) ; E!,~D;

c:c1.:r11-·Mnt r, r e.c.;::,, c: c:ocric \ • ... ~...,..., .. _ ... ,, ___ ,_, .. , .... ,, 1'

P:=I/\ !+NI );P~:eP;DBD:=C':•

~.:RITELN(0:5:2,' cB SCORES ' ,P"HN~:5:~. -%' );

WRITEU·HGUff!!...E,D:S:2,' d2 SCORES ' ,P•le•0:5:2; ·~· l; IF P)0.8 THEN BEEIN E!,JD A ! : =D; D: = < A ! +C ) / 2 i DEMP:=D; ELSE R:-=Ff'LSE; ~JRITEU1'. OUTFH.E, . ) ; SLGPE_7; END; C:Jr\DC c; • ._ ... '. o:.- _ _ , EEG!N !F CM"' . Y. THE!•i 9EG!N IF NORMA!...=TRUE THEN EEG!~! EN~ ~JRITEL.N~ 1

The ex;:er-:i~e~t 16 !terted by the sa!":e bwticn a~ ~ );

1iRlE U·l< the "see:-:-bd'lcn", Thi~ buticn is connected te · );

t·.IR!TEL(•!< 'the PL.G (5:.::t:::h betuaer. il and Q:"'cwr:d). ' ); 1,;1RITELN( ·Each ~Ur::.due i~ proceeded by e H!GH-icne. , );

t·.'P.I'TE":....!'!~· .. r•n··~e~ fhe st1Muius 1s ~eer. you ha·.'e te pueh · );

'.:.1~lTELN,: the "::.een-::::uhon' ·umlL ycv hee.r a !...O\.J-'icne . . );

t,1RITE:..H•: );

EL.SE

i,REEU:( T~r: NOT I!1F ... EMEi-TTED J 1

P. : = T R 0E ; ~19 C : = ( P: 1 + E 1 ~ / 2 ; PC : = 0 . 9 9 ;

W~Il!:.U:;, .... . . ,. ·Yc-u·r-:ey etar't ·thi: ~;,;periro.ent ifr e !"lim.:te ... -); ~·.IR!TEL!'·!<' ' ,l;

C: = < A 1 +E 1 ) /2 ; DEMP: =C; SEN[!!.. INE,: DEMP ) 1 I : =0; N I: -=0;

C:C:~liiî't-<r.t c;.,1,:.c; C: J::'Ot:•."iP \, _._, ,.,_.,._ • ,-, 1 - •Tl,._,.__,._,••\._,,' f

IF !\J'CiF.!~~L=TRUE T;-!~M NORMAL_E:w:p

~L:E ti.1~:ITELN1

(34)

SENDCMD(D!S~BLE,ERRORl;

P:=!/(!+NI );PC:=P:Dec:-C;

-L·! R IT EL. N ,: C : 5 : 2 , . ::!:::' SCORES . , F-+ 1 0 ~• : 5 : 2 , ''-% . ") ;

\·}R I TE~!•i,: OtT':F} L.E /C': ~ :1 , , d'e St"C1~.~:: , p-. T-m{j: 5: 2 : . ·x, ) ;

lF { C-r-.: ELSE 1F P<0.3 THEN 81 :~C ELSE R:=FALSE1 !F C>=3 THEN Al :•C-5 EL SE A 1 : •/]: IF (B1-U<3 T~EN Cl ni:,i::- C:., ...,,___., ... - f BEGIN REPEAT !F C<=!24.E THE~ El :•C-3 ELSE 81 :-=127.5:

l-.1R!TE( 'E~-!TER LOVER BORDER/LIMIT: . i1READUJ(Al );

!F (~1<0) OR <A1 )!25.5) THEN

l~R!TELN { 'LQ~·.1ER BORDER/L!M!T OUT OF RANGE [0 .. 125.SJ. ~

UNT!L R=TRUE;

R:=FALSE;

P.EPEAT

1 •• 1P.!TE( 'P!TER UPPER :?ORO::R/LIMIT: , );F.f:AOUHBIT;

-IF <B l <f, ! ) OR <B 1 > 126. 5) H~EN

(~~I:t:LN ,; -,.J~P~ BiJROER/Lif'1fT ut.'T OF F.Ar-ï6E fLOtJEF. BORJJER/i:IMIT .. 125.5], )

' ECSE f>=:P.UE;

UNT1L P.=TRt.1E;

·--,.n:; 1 "7i::-r f\U ,~·r-r""rt!"'i r C- !-.H·C. ICF E, ) ·, ···•• f"'-'"-'''....,._ ,, . _ i - : - - \

~1RI"IT!..~!fDU:FTlE, 'LiJ\~iER BO~c:EP./~!MIT= . ·,:=, !", ' UPPER BORDER/UMIT=. ,81 ) ;

S!..OPE.:_5;

PROCEDL.1RE Cl r1DC:- -;.: •

..,i.,..;..,, ... _ . . . . , '

BEf· I !~!

t.'f:.IT5L..r·1( ., .. :::.! r -.1., ~-~·-'e te er:~er n·er unt !I OSS 5c -that

_, -r;p-c::. -,-- f? "7 t:; • \ •

..

t.,t

--

'

'

'""'.

~- ,

'

,. 1.

, '

! F { DB i

<

0 ) OP, !D~l>l:3.5) THEN WR!TELNC "DE! OUT C!F RANGE t0; :123 .• 5] . ) "t..1rrTIL -R=TR·JE;

R:=FM~SE;

REPEAT

REAC•L.H-'. GS:2 ';

- 1 EL.SE R:=TRUE;

IF •:052<DE) ) OR rns:>124.:::) T!-!EN \~RITELN( 'DB2 ['UT OF RANSE tDBl .. 124.5) , )

:::LSE R:=-TRUE: i .... 11,-i . T ' ... i i ,, c;, = T P 1 1 r.: ,

, ... .,

Referenties

GERELATEERDE DOCUMENTEN

In group A 2 midwives provided antenatal care to 97 patients; 14 delivered SGA babies, of which 12 were identified by S-F measurements

Wegbeheerder Rijkswaterstaat heeft voor een bepaald stuk snelweg een formule opgesteld voor het maximale aantal auto’s dat in een bepaalde tijd over dit stuk snelweg kan rijden,

Het is onduidelijk in hoeverre de soort zich op eigen kracht via het Rijn-Main-Donaukanaal (met meer dan 20 sluiscom- plexen) heeft verspreid of is uitgezet in het stroomgebied van

Het gaat hem niet om de studie van de Duitse ideolo- gie alleen; van veel groter belang is de vergelijking met andere nationale varianten van de moderne ideologie, die

Although no studies on the quality of emergency obstetric care including care for postpartum haemorrhage have been published from Namibia, the condition is a major cause of maternal

Kumxholo wombongo othi: 'Kuyasetyezelwana'; kwiphepha 40, nalapha umbhali uvelisa udano olungazenzisiyo kuba izinto ebelindele ukuba zenzeke azenzeki.. Amathuba emisebenzi

Werd de behandeling met dit middel voorafgegaan door 24 uur weken in water, dan werkte deze stof niet op de mate van ontkieming in het donker (7).. De werking

generalisable. b) To perhaps employ a different type of sampling method and even a larger sample size. c) In order to understand the various dimensions of forgiveness, it