|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 20352 (0x4f80)
Types: TextFile
Notes: Mikados_K
Names: »FFTDEMO.K«
└─⟦d110b5765⟧ Bits:30005308 Eksamensopgave i dynamiske systemer med FFT
└─⟦this⟧ »FFTDEMO.K«
PROGRAM FFTDEMO;
(*********************************************
ENDELIG VERSION AF PROGRAMMET FFTDEMO 1/9-80
FORUDSAETTER FILERNE:
FFTPLOT (INDEHOLDENDE PROCEDUREN FFTPLOT)
MIT (-----"------ -----"---- MIT)
FFT2 (-----"------ -----"---- FFT2)
KONVERT (---"----- -----"---- KONVERTERING)
********************************************)
CONST TOPI=6.283185307179;
PI=3.141592653489;
PIHALV=1.570796326794;
REOGIM='real- og imaginaerdelen';
AOGF='amplituden og fasen';
TYPE CHECK=(OK,IKKEOK);
VEKTOR =ARRAY (0..255) OF REAL;
OVERSKRIFT=STRING(40);
SIGNALFORM=STRING(3);
SYMBOLER=ARRAY (1..2) OF CHAR;
PUNKTER=ARRAY(1..256,1..2) OF REAL;
VAR SIG1I,SIG1R,SIG2R,SIG2I : VEKTOR;
X,Y:PUNKTER;
DEL,NUMSIG: ARRAY (1..4) OF STRING(15);
M,N,MTEST,S,SIG,D,I,IHE,N1 :INTEGER;
A,B :REAL;
ART,SVAR :SIGNALFORM;
CASETEGN,SPTYPE:CHAR;
TEGN:SYMBOLER;
TEST,FORTSAT,PLOT :BOOLEAN;
SVARTEST:CHECK;
SIGNAL:SIGNALFORM;
(*$IFFTPLOT*)
(*$IFFT2*)
(*$IMIT*)
(*$IKONVERT*)
SEGMENT FUNCTION JANEJ(SP0RGSMAAL:STRING):BOOLEAN;
(* DENNE PROCEDURE UDSKRIVER 'SP0RGSMAAL' OG LAESER
SVARET. DEN ER TRUE HVIS SVARET ER 'J' ELLER 'JA'
OG FALSE HVIS DET ER 'NEJ' ELLER 'N'. *)
BEGIN
REPEAT
SVARTEST:=OK;
WRITE(SP0RGSMAAL);
READLN; READ(SVAR);
IF (SVAR<>'JA') AND (SVAR<>'NEJ') AND
(SVAR<>'J') AND (SVAR<>'N') THEN
BEGIN
WRITELN('Det indtastede: ',SVAR,' er ikke lovligt.');
WRITELN('Kun JA,NEJ,J,N er lovlige svar');
SVARTEST:=IKKEOK;
END;
UNTIL SVARTEST=OK;
JANEJ:=SVAR(1)='J';
END;
SEGMENT PROCEDURE SIGNALPLOT(D:INTEGER;
SIGNALNR:INTEGER;
SKALA:BOOLEAN;
TEKST:OVERSKRIFT);
(* DENNE PROCEDURE UDTEGNER SIGNAL/SPEKTRUM.
D ER 1 FOR REALDELEN OG 2 FOR IMAGINAERDELEN.
SIGNALNR ER 1 FOR DET F0RSTE SIGNAL OG 2 FOR DET ANDET.
3 FOR BADE REAL- OG IMAGINAER DEL AF 1. SIGNAL
4 -"- --"- --"-- " ----"---- " " 2. --"---
SKALA TRUE NAAR X-AKSEN ER -N/2 TIL N/2 OG FALSE NAAR
DEN SKAL VAERE 0 TIL N-1.
TEKST ER EN TEKST SOM BESKRIVER HVAD DER PLOTTES. *)
VAR S:INTEGER;
BEGIN
CASE SIGNALNR OF
1: CASE D OF
1: FOR I:=0 TO N1 DO Y(I+1,1):= SIG1R(I);
2: FOR I:=0 TO N1 DO Y(I+1,1):=SIG1I(I);
END;
2: CASE D OF
1: FOR I:=0 TO N1 DO Y(I+1,1):= SIG2R(I);
2: FOR I:=0 TO N1 DO Y(I+1,1):=SIG2I(I);
END;
3: FOR I:=0 TO N1 DO
BEGIN
IHE:=I+1;
Y(IHE,1):=SIG1R(I);
Y(IHE,2):=SIG1I(I);
END;
4: FOR I:=0 TO N1 DO
BEGIN
IHE:=I+1;
Y(IHE,1):=SIG2R(I);
Y(IHE,2):=SIG2I(I);
END;
END;
IF (SIGNALNR >= 3) THEN
BEGIN
S:=2;
TEGN(1):='r';
TEGN(2):='i';
END
ELSE
BEGIN
S:=1;
TEGN(1):=TEKST(1);
END;
IF SKALA THEN
FOR I:=0 TO N1 DO X(I+1,1):=I-N DIV 2
ELSE
FOR I:=0 TO N1 DO
BEGIN
IHE:=I+1;
X(IHE,1):=I;
X(IHE,2):=I;
END;
WRITELN;
WRITELN('Her kommer ',TEKST);
WRITELN('Tryk RETURN naar kurven ikke skal vises mere');
FFTPLOT(S,N,X,Y,TEGN,TRUE);
READLN;
END;
SEGMENT PROCEDURE TABEL(X,Y:VEKTOR;
HOVED:OVERSKRIFT;
KOLNAVN1,KOLNAVN2:OVERSKRIFT);
(* DENNE PROCEDURE UDSKRIVER TABEL MED VEKTORERNE X OG Y
HOVED ANGIVER HVAD TABELLEN INDEHOLDER.
KOLNAVN1 ER INDHOLDET AF F0RSTE KOLONNE.
KOLNAVN2 " ----"---- " ANDEN ---"--- *)
VAR TL,LINIE,NR:INTEGER;
BEGIN
NR:=0;
REPEAT
LINIE:=1;
CLEARSCREEN;
GOTOXY(13,1); WRITELN('Tabel over ',HOVED);
GOTOXY(13,2); FOR I:=1 TO 11+LENGTH(HOVED) DO WRITE('*');
WRITELN;
GOTOXY(4,4); WRITE('i');
GOTOXY(13,4); WRITE(KOLNAVN1);
GOTOXY(36,4); WRITE(KOLNAVN2);
GOTOXY(1,5); FOR I:=1 TO 51 DO WRITE('-');
WRITELN('-');
REPEAT
TL:=1;
REPEAT
WRITELN(' ',NR,' ',X(NR),' ',Y(NR));
LINIE:=LINIE+1;
TL:=TL+1;
NR:=NR+1;
UNTIL (TL>=5) OR (NR>N1);
WRITELN;
UNTIL(NR>N1) OR (LINIE>=12);
WRITE('Tryk RETURN naar der skal fortsaettes.');
READLN;
UNTIL (NR>=N1);
END; (*SLUT TABEL*)
SEGMENT PROCEDURE SIGFKT(VAR ST:VEKTOR;
A,B:REAL;
SI:SIGNALFORM);
(* HER UDREGNES SIGNALET BESTEMT VED SI OG AFLEVERES
I VEKTOREN ST. A OG B ER PARAMETRE TIL SIGNALERNE. *)
VAR H,HELP,F,XMAX,DXM:REAL;
I,J,X,OVRE,DX,BMAX,ETTER,NULLER:INTEGER;
CASETEGN:CHAR;
PROCEDURE INDSAT(MAXANTAL:INTEGER;
VAERDI:REAL);
(* DENNE PROCEDURE INDSAETTER TALLET VAERDI I VEKTOREN
ST, FRA HVOR X PEGER OG TIL X+MAXANTAL (X ER INDEKS I
VEKTOREN) *)
VAR ANTAL:INTEGER;
BEGIN
ANTAL:=1;
WHILE (ANTAL<=MAXANTAL) AND (X<=N1) DO
BEGIN
ST(X):=VAERDI;
X:=X+1;
ANTAL:=ANTAL+1;
END;
END;
BEGIN
CASETEGN:=SI(1);
CASE CASETEGN OF
'T': BEGIN
H:=-4*A/N/N;
HELP:=N1/A;
DXM:=HELP/2;
XMAX:=0.0;
X:=0;
F:=0.0;
REPEAT
I:=1;
XMAX:=XMAX + DXM;
H:=-H;
WHILE (X<=XMAX) AND (X<=N1) DO
BEGIN
ST(X):=H*(X-F);
X:=X+1;
I:=I+1;
END;
I:=1;
H:=-H;
XMAX:=XMAX + DXM;
F:=F+HELP;
WHILE (X<=XMAX ) AND (X<=N1) DO
BEGIN
ST(X):=H*(X-F);
X:=X+1;
I:=I+1;
END;
IF X=N1 THEN ST(X):=H*(X-F);
UNTIL X>=N1;
END;
'S': BEGIN
A:=TOPI*A/N;
CLEARSCREEN;
WRITE('Punkt nr.');
FOR X:=0 TO N1 DO
BEGIN
ST(X):= SIN(A*X);
GOTOXY(10,1);
WRITE(X);
END;
GOTOXY(1,2);
END;
'C': BEGIN
A:=TOPI*A/N;
CLEARSCREEN;
WRITE('Punkt nr.');
FOR X:=0 TO N1 DO
BEGIN
ST(X):=COS(A*X);
GOTOXY(10,1);
WRITE(X);
END;
GOTOXY(1,2);
END;
'F': BEGIN
X:=0;
BMAX:=TRUNC(B);
NULLER:=TRUNC(N/2/A);
ETTER:=NULLER-2;
IF BMAX>0 THEN
BEGIN
FOR X:=0 TO BMAX DO ST(X):=0.0;
X:=BMAX+1;
END;
REPEAT
ST(X):=0.5;
X:=X+1;
INDSAT(ETTER,1.0);
IF (X<=N1) THEN ST(X):=0.5;
X:=X+1;
INDSAT(NULLER,0.0);
UNTIL (X>=N1);
END;
'I': BEGIN
DX:=TRUNC( N/(A+1) );
FOR X:=0 TO N1 DO ST(X):=0.0;
FOR I:=1 TO TRUNC(A) DO
BEGIN
X:=DX*I;
ST(X):=1.0;
END;
END;
'K': FOR X:=0 TO N1 DO ST(X):=A;
'M': MIT(A,ST,D);
END;
END;
SEGMENT PROCEDURE TOSIGNAL;
(* DENNE PROCEDURE LAVER LINIARKOMBINATIONEN ELLER
PRODUKTET AF DE TIDLIGERE DEFINEREDE SIGNALER *)
VAR RE1,IM1,RE2,IM2:REAL;
BEGIN
REPEAT
SVARTEST:=OK;
WRITELN;
WRITELN('Hvordan skal de to signaler "kombineres"?');
WRITELN;
WRITELN('Indtast:');
WRITELN('1 for A*SIGNAL1 + B*SIGNAL2');
WRITELN('2 for A*SIGNAL1*SIGNAL2');
WRITELN;
WRITE('Indtast det oenskede: ');
READLN; READ(ART);
IF (ART<>'1') AND (ART<>'2') THEN
BEGIN
WRITELN('Det indtastede: ',ART,' er ikke lovligt.');
WRITELN('Kun 1,2 er lovlige svar.');
SVARTEST:=IKKEOK;
END;
UNTIL SVARTEST=OK;
WRITE('Indtast A:');
READ(A);
CASETEGN:=ART(1);
CASE CASETEGN OF
'1': BEGIN
WRITE('Indtast B:'); READ(B);
FOR I:=0 TO N1 DO
BEGIN
SIG1R(I):=A*SIG1R(I) + B*SIG2R(I);
SIG1I(I):=A*SIG1I(I) + B*SIG2I(I);
END;
END;
'2': FOR I:=0 TO N1 DO
BEGIN
RE1:=SIG1R(I);
IM1:=SIG1I(I);
RE2:=SIG2R(I);
IM2:=SIG2I(I);
SIG1R(I):=A*(RE1*RE2-IM1*IM2);
SIG1I(I):=A*(RE1*IM2+RE2*IM1);
END;
END;
IF JANEJ(CONCAT('0nskes plot af ',DEL(1),'?') ) THEN
SIGNALPLOT(1,1,FALSE,DEL(1));
IF JANEJ( CONCAT('0nskes plot af ',DEL(2),'?') ) THEN
SIGNALPLOT(2,1,FALSE,DEL(2));
IF JANEJ( CONCAT('0nskes tabel over ',REOGIM) ) THEN
TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2)) ELSE ;
END;
SEGMENT PROCEDURE SIGNALDEFINITION;
(* DENNE PROCEDURE GIVER LISTE OVER DE MULIGE STANDARD-
SIGNALER, OG CHECKER SVARENE PAA SP0RGSMAALENE OM
REAL OG IMAGINAERDELEN AF SIGNAL NR. 1 EVT. OGSAA NR. 2
KALDER SAA SIGFKT SOM LEVERER SIGNALET. *)
BEGIN
FOR SIG:=1 TO S DO
BEGIN
FOR D:=1 TO 2 DO
BEGIN
REPEAT
SVARTEST:=OK;
WRITELN;
WRITELN('Hvordan skal ',DEL(D),' af det ',NUMSIG(SIG),' signal',
' vaere?');
WRITELN('Der er flg. svarmuligheder:');
WRITELN;
WRITELN('aTRE betyder trekantsignal');
WRITELN('aFIR ---"--- firkantsignal');
WRITELN('aIMP ---"--- impulssignal (diskret delta fkt)');
WRITELN('aCOS ---"--- cosinus signal');
WRITELN('aSIN ---"--- sinus signal');
WRITELN('kKST ---"--- konstanten k');
WRITELN('xMIT ---"--- brugerdefineret signal i proceduren MIT');
WRITELN;
WRITELN('a betegner et reelt, positivt tal som angiver,');
WRITELN(' hvormange gange det valgte signal gentages');
WRITE('Indtast det oenskede:');
READ(A); READ(SIGNAL);
IF (A<=0) AND (SIGNAL<>'KST') AND (SIGNAL<>'MIT') THEN
BEGIN
WRITELN('Det indtastede a: ',A,' er ikke lovligt.');
WRITELN('a skal vaere positiv!');
SVARTEST:=IKKEOK;
END;
IF (SIGNAL<>'TRE') AND (SIGNAL<>'FIR') AND (SIGNAL<>'IMP')
AND
(SIGNAL<>'COS') AND (SIGNAL<>'SIN') AND (SIGNAL<>'KST')
AND (SIGNAL<>'MIT')
THEN
BEGIN
WRITELN('Det indtastede signal: ',SIGNAL,' er ikke lovligt');
SVARTEST:=IKKEOK;
END;
IF (SIGNAL='FIR') THEN
BEGIN
WRITE('Hvad skal forskydningen vaere?');
READ(B);
IF B<0 THEN
BEGIN
WRITELN('b skal vaere ikke negativ');
SVARTEST:=IKKEOK;
END;
END;
UNTIL SVARTEST=OK;
CASE SIG OF
1: CASE D OF
1: SIGFKT(SIG1R,A,B,SIGNAL);
2: SIGFKT(SIG1I,A,B,SIGNAL);
END;
2: CASE D OF
1: SIGFKT(SIG2R,A,B,SIGNAL);
2: SIGFKT(SIG2I,A,B,SIGNAL);
END;
END; (* CASE SIG *)
IF JANEJ( CONCAT('0nskes plot af ',DEL(D),'?') ) THEN
SIGNALPLOT(D,SIG,FALSE,DEL(D));
END;
IF JANEJ(CONCAT('0nskes plot af ',REOGIM,'?')) THEN
SIGNALPLOT(1,SIG+2,FALSE,REOGIM);
IF JANEJ(CONCAT('0nskes tabel over ',REOGIM,'?')) THEN
CASE SIG OF
1: TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2));
2: TABEL(SIG2R,SIG2I,REOGIM,DEL(1),DEL(2));
END;
END;
END;
SEGMENT PROCEDURE NSP0RGSMAAL;
(* HER STILLES ? OM N (ANTALLET AF SAMPLES) OG SVARET
CHECKES. DER FINDES OGSAA M SAA 2**M=N.
ENDELIG ? OM SIGNALET SKAL LAVES MED ET ELLET TO SIGNALER *)
BEGIN
REPEAT
SVARTEST:=OK;
WRITE('Hvormange samples (N) oenskes? ÆN<=256Å :');
READ(N);
M:=-1;
MTEST:=2*N;
IF N>=2 THEN
REPEAT
MTEST:=MTEST DIV 2;
M:=M+1;
UNTIL (MTEST=1) OR ((MTEST MOD 2)=1);
IF MTEST<>1 THEN
BEGIN
WRITELN('Det indtastede N=',N,' er ikke en potens af 2');
SVARTEST:=IKKEOK;
END;
IF N>256 THEN
BEGIN
WRITELN('Det indtastede N=',N,' er for stort. (N<=256 )');
SVARTEST:=IKKEOK;
END;
IF N<2 THEN
BEGIN
WRITELN('Det indtastede N= ',N,' er for lille. (N>=2)');
SVARTEST:=IKKEOK;
END;
UNTIL SVARTEST=OK;
N1:=N-1;
REPEAT
SVARTEST:=OK;
WRITELN;
WRITE('0nskes der anvendt 1 eller 2 signaler?');
READ(S);
IF (S<>1) AND (S<>2) THEN
BEGIN
WRITELN('Det angivne antal signaler: ',S,' er ikke lovligt');
SVARTEST:=IKKEOK;
END;
UNTIL SVARTEST=OK;
END;
SEGMENT PROCEDURE VINDUE;
(* PROCEDUREN DEFINERER VINDUE, SOM KAN GANGES PAA DET
FAERDIGE SIGNAL *)
VAR V1,V2:INTEGER;
PROCEDURE READHELTAL(A:CHAR;
VAR H:INTEGER);
(* LAESER HELTALLET VED NAVN 'A' IND I DEN VARIABLE H
OG CHECKER OM DET ER INTERVALLET Æ0;N-1Å *)
BEGIN
REPEAT
SVARTEST:=OK;
WRITE('Indtast ',A,':');
READ(H);
IF (H<0) OR (H>N1) THEN
BEGIN
WRITELN('Det indtastede ',A,'= ',H,' er ikke lovligt');
WRITELN(A,' skal vaere i intervallet Æ0;',N1,'Å');
SVARTEST:=IKKEOK;
END;
UNTIL SVARTEST=OK;
END;
BEGIN
WRITELN('PT. Kun en mulighed for efterbehandling af signalet');
WRITELN('Nemlig anvendelse af et firkantet vindue');
WRITELN('dvs. signalet ganges med flg. funktion.');
WRITELN(' 1 for a<x<b ');
WRITELN('F(X)= o.5 for x=a og x=b ');
WRITELN(' 0 ellers');
WRITELN('Hvor a,b,x er hele tal i intervaller Æ0;',n1,'Å');
WRITELN('og a<=b');
READHELTAL('a',V1);
REPEAT
SVARTEST:=OK;
READHELTAL('b',V2);
IF V2<V1 THEN
BEGIN
WRITELN('b skal vaere stoerre end a');
SVARTEST:=IKKEOK;
END;
UNTIL SVARTEST=OK;
FOR I:= 0 TO V1 DO
BEGIN
SIG1R(I):=0.0;
SIG1I(I):=0.0;
END;
SIG1R(V1):=0.5*SIG1R(V1);
SIG1I(V1):=0.5*SIG1I(V1);
SIG1R(V2):=0.5*SIG1R(V2);
SIG1I(V2):=0.5*SIG1I(V2);
FOR I:=V2+1 TO N1 DO
BEGIN
SIG1R(I):=0.0;
SIG1I(I):=0.0;
END;
END;
SEGMENT PROCEDURE SPEKTRUM(TEKST:OVERSKRIFT);
(* DENNE PROCEDURER STILLER ?? OM HVORDAN 'TEKST'
F.EKS. SPEKTRET SKAL PRAESENTERES *)
FUNCTION READSVAR(VAR TEGN:CHAR):CHECK;
BEGIN
READLN; READ(TEGN);
IF (TEGN<>'1') AND (TEGN<>'2') AND (TEGN<>'3') THEN
BEGIN
WRITELN('Det indtastede: ',TEGN,' er ikke lovligt.');
WRITELN('Kun 1,2,3 er lovlige svar.');
READSVAR:=IKKEOK;
END;
END;
BEGIN
REPEAT
SVARTEST:=OK;
PLOT:=FALSE;
WRITELN('Hvad skal plottet af ',TEKST,' indeholde?');
WRITELN('Der er flg. valgmuligheder:');
WRITELN;
WRITELN('1 Plot af ',REOGIM);
WRITELN('2 -"-- af ',AOGF);
WRITELN('3 Begge dele');
WRITE('Indtast nummeret paa det oenskede: ');
SVARTEST:=READSVAR(SPTYPE);
UNTIL SVARTEST=OK;
IF (SPTYPE<>'1') THEN
BEGIN
KONVERT(SIG1R,SIG1I,SIG2R,SIG2I);
PLOT:=TRUE;
END;
CASE SPTYPE OF
'1': FOR D:=1 TO 2 DO
BEGIN
SIGNALPLOT(D,1,FALSE,DEL(D));
END;
'2': FOR D:=1 TO 2 DO
BEGIN
SIGNALPLOT(D,2,TRUE,DEL(D+2));
END;
'3': BEGIN
FOR D:=1 TO 2 DO SIGNALPLOT(D,1,FALSE,DEL(D));
FOR D:=3 TO 4 DO SIGNALPLOT(D-2,2,TRUE,DEL(D));
END;
END;
IF (JANEJ(CONCAT('0nskes tabel over ',TEKST,' ?') )) THEN
BEGIN
REPEAT
SVARTEST:=OK;
WRITELN('Hvad skal tabellen indeholde?');
WRITELN;
WRITELN('Der flg. valgmuligheder:');
WRITELN('1 Tabel over ',REOGIM);
WRITELN('2 --"-- -"-- ',AOGF);
WRITELN('3 Baade og');
WRITE('Indtast nummeret paa det oenskede:');
SVARTEST:=READSVAR(SPTYPE);
UNTIL SVARTEST=OK;
IF (SPTYPE<>'1') AND (NOT PLOT) THEN
KONVERT(SIG1R,SIG1I,SIG2R,SIG2I);
CASE SPTYPE OF
'1': TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2));
'2': TABEL(SIG2R,SIG2I,AOGF,DEL(3),DEL(4));
'3': BEGIN
TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2));
TABEL(SIG2R,SIG2I,AOGF,DEL(3),DEL(4));
END;
END;
END;
END;
BEGIN
DEL(1):='realdelen';
DEL(2):='imaginaerdelen';
DEL(3):='amplituden';
DEL(4):='fasen';
NUMSIG(1):='f0rste';
NUMSIG(2):='andet';
TEST:=FALSE;
REPEAT
NSP0RGSMAAL;
SIGNALDEFINITION;
IF S=2 THEN TOSIGNAL;
IF JANEJ('0nskes signalet efterbehandlet?') THEN VINDUE;
FFT2(SIG1R,SIG1I,N,M);
SPEKTRUM('spektret');
FORTSAT:=(NOT JANEJ('0nskes behandlet flere signaler?'));
UNTIL FORTSAT;
WRITE('TAK FOR IDAG ');
END.
0x0000…0012 Line {l1=0x10, l2=»PROGRAM FFTDEMO;«, l3=0x10}
0x0012…0042 Line {l1=0x2e, l2=»(*********************************************«, l3=0x2e}
0x0042…0049 Line {l1=0x05, l2=» «, l3=0x05}
0x0049…0079 Line {l1=0x2e, l2=» ENDELIG VERSION AF PROGRAMMET FFTDEMO 1/9-80«, l3=0x2e}
0x0079…0081 Line {l1=0x06, l2=» «, l3=0x06}
0x0081…009a Line {l1=0x17, l2=» FORUDSAETTER FILERNE:«, l3=0x17}
0x009a…00c9 Line {l1=0x2d, l2=» FFTPLOT (INDEHOLDENDE PROCEDUREN FFTPLOT)«, l3=0x2d}
0x00c9…00f1 Line {l1=0x26, l2=» MIT (-----"------ -----"---- MIT)«, l3=0x26}
0x00f1…011a Line {l1=0x27, l2=» FFT2 (-----"------ -----"---- FFT2)«, l3=0x27}
0x011a…014b Line {l1=0x2f, l2=» KONVERT (---"----- -----"---- KONVERTERING)«, l3=0x2f}
0x014b…017c Line {l1=0x2f, l2=» ********************************************)«, l3=0x2f}
0x017c…0198 Line {l1=0x1a, l2=»CONST TOPI=6.283185307179;«, l3=0x1a}
0x0198…01b2 Line {l1=0x18, l2=» PI=3.141592653489;«, l3=0x18}
0x01b2…01d0 Line {l1=0x1c, l2=» PIHALV=1.570796326794;«, l3=0x1c}
0x01d0…01f9 Line {l1=0x27, l2=» REOGIM='real- og imaginaerdelen';«, l3=0x27}
0x01f9…021c Line {l1=0x21, l2=» AOGF='amplituden og fasen';«, l3=0x21}
0x021c…0223 Line {l1=0x05, l2=» «, l3=0x05}
0x0223…023c Line {l1=0x17, l2=»TYPE CHECK=(OK,IKKEOK);«, l3=0x17}
0x023c…0262 Line {l1=0x24, l2=» VEKTOR =ARRAY (0..255) OF REAL;«, l3=0x24}
0x0262…027f Line {l1=0x1b, l2=» OVERSKRIFT=STRING(40);«, l3=0x1b}
0x027f…029b Line {l1=0x1a, l2=» SIGNALFORM=STRING(3);«, l3=0x1a}
0x029b…02c0 Line {l1=0x23, l2=» SYMBOLER=ARRAY (1..2) OF CHAR;«, l3=0x23}
0x02c0…02ea Line {l1=0x28, l2=» PUNKTER=ARRAY(1..256,1..2) OF REAL;«, l3=0x28}
0x02ea…02f3 Line {l1=0x07, l2=» «, l3=0x07}
0x02f3…031b Line {l1=0x26, l2=»VAR SIG1I,SIG1R,SIG2R,SIG2I : VEKTOR;«, l3=0x26}
0x031b…032d Line {l1=0x10, l2=» X,Y:PUNKTER;«, l3=0x10}
0x032d…035a Line {l1=0x2b, l2=» DEL,NUMSIG: ARRAY (1..4) OF STRING(15);«, l3=0x2b}
0x035a…0384 Line {l1=0x28, l2=» M,N,MTEST,S,SIG,D,I,IHE,N1 :INTEGER;«, l3=0x28}
0x0384…0394 Line {l1=0x0e, l2=» A,B :REAL;«, l3=0x0e}
0x0394…03af Line {l1=0x19, l2=» ART,SVAR :SIGNALFORM;«, l3=0x19}
0x03af…03ca Line {l1=0x19, l2=» CASETEGN,SPTYPE:CHAR;«, l3=0x19}
0x03ca…03de Line {l1=0x12, l2=» TEGN:SYMBOLER;«, l3=0x12}
0x03de…03ff Line {l1=0x1f, l2=» TEST,FORTSAT,PLOT :BOOLEAN;«, l3=0x1f}
0x03ff…0414 Line {l1=0x13, l2=» SVARTEST:CHECK;«, l3=0x13}
0x0414…042c Line {l1=0x16, l2=» SIGNAL:SIGNALFORM;«, l3=0x16}
0x042c…0433 Line {l1=0x05, l2=» «, l3=0x05}
0x0433…0437 Line {l1=0x02, l2=» «, l3=0x02}
0x0437…0446 Line {l1=0x0d, l2=»(*$IFFTPLOT*)«, l3=0x0d}
0x0446…0452 Line {l1=0x0a, l2=»(*$IFFT2*)«, l3=0x0a}
0x0452…045d Line {l1=0x09, l2=»(*$IMIT*)«, l3=0x09}
0x045d…046c Line {l1=0x0d, l2=»(*$IKONVERT*)«, l3=0x0d}
0x046c…0470 Line {l1=0x02, l2=» «, l3=0x02}
[…0x1…]
0x0474…04a9 Line {l1=0x33, l2=» SEGMENT FUNCTION JANEJ(SP0RGSMAAL:STRING):BOOLEAN;«, l3=0x33}
0x04a9…04ae Line {l1=0x03, l2=» «, l3=0x03}
0x04ae…04e4 Line {l1=0x34, l2=» (* DENNE PROCEDURE UDSKRIVER 'SP0RGSMAAL' OG LAESER«, l3=0x34}
0x04e4…051b Line {l1=0x35, l2=» SVARET. DEN ER TRUE HVIS SVARET ER 'J' ELLER 'JA'«, l3=0x35}
0x051b…054c Line {l1=0x2f, l2=» OG FALSE HVIS DET ER 'NEJ' ELLER 'N'. *)«, l3=0x2f}
0x054c…0554 Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x0554…055d Line {l1=0x07, l2=» REPEAT«, l3=0x07}
0x055d…056f Line {l1=0x10, l2=» SVARTEST:=OK;«, l3=0x10}
0x056f…0586 Line {l1=0x15, l2=» WRITE(SP0RGSMAAL);«, l3=0x15}
0x0586…05a0 Line {l1=0x18, l2=» READLN; READ(SVAR);«, l3=0x18}
0x05a0…05ca Line {l1=0x28, l2=» IF (SVAR<>'JA') AND (SVAR<>'NEJ') AND«, l3=0x28}
0x05ca…05f4 Line {l1=0x28, l2=» (SVAR<>'J') AND (SVAR<>'N') THEN«, l3=0x28}
0x05f4…0600 Line {l1=0x0a, l2=» BEGIN«, l3=0x0a}
0x0600…063c Line {l1=0x3a, l2=» WRITELN('Det indtastede: ',SVAR,' er ikke lovligt.');«, l3=0x3a}
0x063c…066d Line {l1=0x2f, l2=» WRITELN('Kun JA,NEJ,J,N er lovlige svar');«, l3=0x2f}
0x066d…0685 Line {l1=0x16, l2=» SVARTEST:=IKKEOK;«, l3=0x16}
0x0685…0690 Line {l1=0x09, l2=» END;«, l3=0x09}
0x0690…06a5 Line {l1=0x13, l2=» UNTIL SVARTEST=OK;«, l3=0x13}
0x06a5…06bb Line {l1=0x14, l2=» JANEJ:=SVAR(1)='J';«, l3=0x14}
0x06bb…06c2 Line {l1=0x05, l2=» END;«, l3=0x05}
0x06c2…06c7 Line {l1=0x03, l2=» «, l3=0x03}
0x06c7…06f1 Line {l1=0x28, l2=» SEGMENT PROCEDURE SIGNALPLOT(D:INTEGER;«, l3=0x28}
0x06f1…0722 Line {l1=0x2f, l2=» SIGNALNR:INTEGER;«, l3=0x2f}
0x0722…0750 Line {l1=0x2c, l2=» SKALA:BOOLEAN;«, l3=0x2c}
0x0750…0782 Line {l1=0x30, l2=» TEKST:OVERSKRIFT);«, l3=0x30}
0x0782…07b1 Line {l1=0x2d, l2=» (* DENNE PROCEDURE UDTEGNER SIGNAL/SPEKTRUM.«, l3=0x2d}
0x07b1…07e4 Line {l1=0x31, l2=» D ER 1 FOR REALDELEN OG 2 FOR IMAGINAERDELEN.«, l3=0x31}
0x07e4…0821 Line {l1=0x3b, l2=» SIGNALNR ER 1 FOR DET F0RSTE SIGNAL OG 2 FOR DET ANDET.«, l3=0x3b}
0x0821…085e Line {l1=0x3b, l2=» 3 FOR BADE REAL- OG IMAGINAER DEL AF 1. SIGNAL«, l3=0x3b}
0x085e…089b Line {l1=0x3b, l2=» 4 -"- --"- --"-- " ----"---- " " 2. --"---«, l3=0x3b}
0x089b…08d6 Line {l1=0x39, l2=» SKALA TRUE NAAR X-AKSEN ER -N/2 TIL N/2 OG FALSE NAAR«, l3=0x39}
0x08d6…08fb Line {l1=0x23, l2=» DEN SKAL VAERE 0 TIL N-1.«, l3=0x23}
0x08fb…0938 Line {l1=0x3b, l2=» TEKST ER EN TEKST SOM BESKRIVER HVAD DER PLOTTES. *)«, l3=0x3b}
0x0938…093e Line {l1=0x04, l2=» «, l3=0x04}
0x093e…0952 Line {l1=0x12, l2=» VAR S:INTEGER;«, l3=0x12}
0x0952…095d Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x095d…0975 Line {l1=0x16, l2=» CASE SIGNALNR OF«, l3=0x16}
0x0975…098b Line {l1=0x14, l2=» 1: CASE D OF«, l3=0x14}
0x098b…09c3 Line {l1=0x36, l2=» 1: FOR I:=0 TO N1 DO Y(I+1,1):= SIG1R(I);«, l3=0x36}
0x09c3…09fa Line {l1=0x35, l2=» 2: FOR I:=0 TO N1 DO Y(I+1,1):=SIG1I(I);«, l3=0x35}
0x09fa…0a0b Line {l1=0x0f, l2=» END;«, l3=0x0f}
0x0a0b…0a16 Line {l1=0x09, l2=» «, l3=0x09}
0x0a16…0a2c Line {l1=0x14, l2=» 2: CASE D OF«, l3=0x14}
0x0a2c…0a64 Line {l1=0x36, l2=» 1: FOR I:=0 TO N1 DO Y(I+1,1):= SIG2R(I);«, l3=0x36}
0x0a64…0a9b Line {l1=0x35, l2=» 2: FOR I:=0 TO N1 DO Y(I+1,1):=SIG2I(I);«, l3=0x35}
0x0a9b…0aac Line {l1=0x0f, l2=» END;«, l3=0x0f}
0x0aac…0aba Line {l1=0x0c, l2=» «, l3=0x0c}
0x0aba…0ad8 Line {l1=0x1c, l2=» 3: FOR I:=0 TO N1 DO«, l3=0x1c}
0x0ad8…0aec Line {l1=0x12, l2=» BEGIN«, l3=0x12}
0x0aec…0b04 Line {l1=0x16, l2=» IHE:=I+1;«, l3=0x16}
0x0b04…0b26 Line {l1=0x20, l2=» Y(IHE,1):=SIG1R(I);«, l3=0x20}
0x0b26…0b48 Line {l1=0x20, l2=» Y(IHE,2):=SIG1I(I);«, l3=0x20}
0x0b48…0b5b Line {l1=0x11, l2=» END;«, l3=0x11}
0x0b5b…0b5e Line {l1=0x01, l2=» «, l3=0x01}
0x0b5e…0b7b Line {l1=0x1b, l2=» 4: FOR I:=0 TO N1 DO«, l3=0x1b}
0x0b7b…0b8f Line {l1=0x12, l2=» BEGIN«, l3=0x12}
0x0b8f…0ba7 Line {l1=0x16, l2=» IHE:=I+1;«, l3=0x16}
0x0ba7…0bc9 Line {l1=0x20, l2=» Y(IHE,1):=SIG2R(I);«, l3=0x20}
0x0bc9…0beb Line {l1=0x20, l2=» Y(IHE,2):=SIG2I(I);«, l3=0x20}
0x0beb…0bfe Line {l1=0x11, l2=» END;«, l3=0x11}
0x0bfe…0c0a Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x0c0a…0c19 Line {l1=0x0d, l2=» «, l3=0x0d}
0x0c19…0c38 Line {l1=0x1d, l2=» IF (SIGNALNR >= 3) THEN«, l3=0x1d}
0x0c38…0c47 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x0c47…0c56 Line {l1=0x0d, l2=» S:=2;«, l3=0x0d}
0x0c56…0c6d Line {l1=0x15, l2=» TEGN(1):='r';«, l3=0x15}
0x0c6d…0c84 Line {l1=0x15, l2=» TEGN(2):='i';«, l3=0x15}
0x0c84…0c91 Line {l1=0x0b, l2=» END«, l3=0x0b}
0x0c91…0c9d Line {l1=0x0a, l2=» ELSE«, l3=0x0a}
0x0c9d…0cac Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x0cac…0cbb Line {l1=0x0d, l2=» S:=1;«, l3=0x0d}
0x0cbb…0cd7 Line {l1=0x1a, l2=» TEGN(1):=TEKST(1);«, l3=0x1a}
0x0cd7…0ce5 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x0ce5…0ce8 Line {l1=0x01, l2=» «, l3=0x01}
0x0ce8…0cfd Line {l1=0x13, l2=» IF SKALA THEN«, l3=0x13}
0x0cfd…0d2c Line {l1=0x2d, l2=» FOR I:=0 TO N1 DO X(I+1,1):=I-N DIV 2«, l3=0x2d}
0x0d2c…0d38 Line {l1=0x0a, l2=» ELSE«, l3=0x0a}
0x0d38…0d53 Line {l1=0x19, l2=» FOR I:=0 TO N1 DO«, l3=0x19}
0x0d53…0d62 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x0d62…0d75 Line {l1=0x11, l2=» IHE:=I+1;«, l3=0x11}
0x0d75…0d8b Line {l1=0x14, l2=» X(IHE,1):=I;«, l3=0x14}
0x0d8b…0da1 Line {l1=0x14, l2=» X(IHE,2):=I;«, l3=0x14}
0x0da1…0daf Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x0daf…0dbf Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x0dbf…0de4 Line {l1=0x23, l2=» WRITELN('Her kommer ',TEKST);«, l3=0x23}
0x0de4…0e24 Line {l1=0x3e, l2=» WRITELN('Tryk RETURN naar kurven ikke skal vises mere');«, l3=0x3e}
0x0e24…0e47 Line {l1=0x21, l2=» FFTPLOT(S,N,X,Y,TEGN,TRUE);«, l3=0x21}
0x0e47…0e56 Line {l1=0x0d, l2=» READLN;«, l3=0x0d}
0x0e56…0e60 Line {l1=0x08, l2=» END;«, l3=0x08}
0x0e60…0e67 Line {l1=0x05, l2=» «, l3=0x05}
0x0e67…0e8e Line {l1=0x25, l2=» SEGMENT PROCEDURE TABEL(X,Y:VEKTOR;«, l3=0x25}
0x0e8e…0ebb Line {l1=0x2b, l2=» HOVED:OVERSKRIFT;«, l3=0x2b}
0x0ebb…0ef5 Line {l1=0x38, l2=» KOLNAVN1,KOLNAVN2:OVERSKRIFT);«, l3=0x38}
0x0ef5…0efd Line {l1=0x06, l2=» «, l3=0x06}
0x0efd…0f3a Line {l1=0x3b, l2=» (* DENNE PROCEDURE UDSKRIVER TABEL MED VEKTORERNE X OG Y«, l3=0x3b}
0x0f3a…0f69 Line {l1=0x2d, l2=» HOVED ANGIVER HVAD TABELLEN INDEHOLDER.«, l3=0x2d}
0x0f69…0f99 Line {l1=0x2e, l2=» KOLNAVN1 ER INDHOLDET AF F0RSTE KOLONNE.«, l3=0x2e}
0x0f99…0fd1 Line {l1=0x36, l2=» KOLNAVN2 " ----"---- " ANDEN ---"--- *)«, l3=0x36}
0x0fd1…0fed Line {l1=0x1a, l2=» VAR TL,LINIE,NR:INTEGER;«, l3=0x1a}
0x0fed…0ff6 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x0ff6…1002 Line {l1=0x0a, l2=» NR:=0;«, l3=0x0a}
0x1002…100e Line {l1=0x0a, l2=» REPEAT«, l3=0x0a}
0x100e…101f Line {l1=0x0f, l2=» LINIE:=1;«, l3=0x0f}
0x101f…1033 Line {l1=0x12, l2=» CLEARSCREEN;«, l3=0x12}
0x1033…1066 Line {l1=0x31, l2=» GOTOXY(13,1); WRITELN('Tabel over ',HOVED);«, l3=0x31}
0x1066…10a7 Line {l1=0x3f, l2=» GOTOXY(13,2); FOR I:=1 TO 11+LENGTH(HOVED) DO WRITE('*');«, l3=0x3f}
0x10a7…10b7 Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x10b7…10d8 Line {l1=0x1f, l2=» GOTOXY(4,4); WRITE('i');«, l3=0x1f}
0x10d8…10ff Line {l1=0x25, l2=» GOTOXY(13,4); WRITE(KOLNAVN1);«, l3=0x25}
0x10ff…1126 Line {l1=0x25, l2=» GOTOXY(36,4); WRITE(KOLNAVN2);«, l3=0x25}
0x1126…1159 Line {l1=0x31, l2=» GOTOXY(1,5); FOR I:=1 TO 51 DO WRITE('-');«, l3=0x31}
0x1159…116e Line {l1=0x13, l2=» WRITELN('-');«, l3=0x13}
0x116e…117c Line {l1=0x0c, l2=» REPEAT«, l3=0x0c}
0x117c…118c Line {l1=0x0e, l2=» TL:=1;«, l3=0x0e}
0x118c…119c Line {l1=0x0e, l2=» REPEAT«, l3=0x0e}
0x119c…11d0 Line {l1=0x32, l2=» WRITELN(' ',NR,' ',X(NR),' ',Y(NR));«, l3=0x32}
0x11d0…11e9 Line {l1=0x17, l2=» LINIE:=LINIE+1;«, l3=0x17}
0x11e9…11fc Line {l1=0x11, l2=» TL:=TL+1;«, l3=0x11}
0x11fc…120f Line {l1=0x11, l2=» NR:=NR+1;«, l3=0x11}
0x120f…1232 Line {l1=0x21, l2=» UNTIL (TL>=5) OR (NR>N1);«, l3=0x21}
0x1232…1242 Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x1242…1266 Line {l1=0x22, l2=» UNTIL(NR>N1) OR (LINIE>=12);«, l3=0x22}
0x1266…129e Line {l1=0x36, l2=» WRITE('Tryk RETURN naar der skal fortsaettes.');«, l3=0x36}
0x129e…12ad Line {l1=0x0d, l2=» READLN;«, l3=0x0d}
0x12ad…12c2 Line {l1=0x13, l2=» UNTIL (NR>=N1);«, l3=0x13}
0x12c2…12dc Line {l1=0x18, l2=» END; (*SLUT TABEL*)«, l3=0x18}
0x12dc…12e1 Line {l1=0x03, l2=» «, l3=0x03}
0x12e1…130d Line {l1=0x2a, l2=» SEGMENT PROCEDURE SIGFKT(VAR ST:VEKTOR;«, l3=0x2a}
0x130d…1333 Line {l1=0x24, l2=» A,B:REAL;«, l3=0x24}
0x1333…135f Line {l1=0x2a, l2=» SI:SIGNALFORM);«, l3=0x2a}
0x135f…1399 Line {l1=0x38, l2=» (* HER UDREGNES SIGNALET BESTEMT VED SI OG AFLEVERES«, l3=0x38}
0x1399…13d8 Line {l1=0x3d, l2=» I VEKTOREN ST. A OG B ER PARAMETRE TIL SIGNALERNE. *)«, l3=0x3d}
0x13d8…13f7 Line {l1=0x1d, l2=» VAR H,HELP,F,XMAX,DXM:REAL;«, l3=0x1d}
0x13f7…1427 Line {l1=0x2e, l2=» I,J,X,OVRE,DX,BMAX,ETTER,NULLER:INTEGER;«, l3=0x2e}
0x1427…143d Line {l1=0x14, l2=» CASETEGN:CHAR;«, l3=0x14}
0x143d…1440 Line {l1=0x01, l2=» «, l3=0x01}
0x1440…1466 Line {l1=0x24, l2=» PROCEDURE INDSAT(MAXANTAL:INTEGER;«, l3=0x24}
0x1466…1488 Line {l1=0x20, l2=» VAERDI:REAL);«, l3=0x20}
0x1488…14c2 Line {l1=0x38, l2=» (* DENNE PROCEDURE INDSAETTER TALLET VAERDI I VEKTOREN«, l3=0x38}
0x14c2…14fe Line {l1=0x3a, l2=» ST, FRA HVOR X PEGER OG TIL X+MAXANTAL (X ER INDEKS I«, l3=0x3a}
0x14fe…1512 Line {l1=0x12, l2=» VEKTOREN) *)«, l3=0x12}
0x1512…1528 Line {l1=0x14, l2=» VAR ANTAL:INTEGER;«, l3=0x14}
0x1528…1531 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x1531…153e Line {l1=0x0b, l2=» ANTAL:=1;«, l3=0x0b}
0x153e…1568 Line {l1=0x28, l2=» WHILE (ANTAL<=MAXANTAL) AND (X<=N1) DO«, l3=0x28}
0x1568…1573 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x1573…1587 Line {l1=0x12, l2=» ST(X):=VAERDI;«, l3=0x12}
0x1587…1594 Line {l1=0x0b, l2=» X:=X+1;«, l3=0x0b}
0x1594…15a9 Line {l1=0x13, l2=» ANTAL:=ANTAL+1;«, l3=0x13}
0x15a9…15b3 Line {l1=0x08, l2=» END;«, l3=0x08}
0x15b3…15bb Line {l1=0x06, l2=» END;«, l3=0x06}
0x15bb…15c0 Line {l1=0x03, l2=» «, l3=0x03}
0x15c0…15c9 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x15c9…15dd Line {l1=0x12, l2=» CASETEGN:=SI(1);«, l3=0x12}
0x15dd…15f1 Line {l1=0x12, l2=» CASE CASETEGN OF«, l3=0x12}
0x15f1…1600 Line {l1=0x0d, l2=» 'T': BEGIN«, l3=0x0d}
0x1600…1616 Line {l1=0x14, l2=» H:=-4*A/N/N;«, l3=0x14}
0x1616…162b Line {l1=0x13, l2=» HELP:=N1/A;«, l3=0x13}
0x162b…1641 Line {l1=0x14, l2=» DXM:=HELP/2;«, l3=0x14}
0x1641…1655 Line {l1=0x12, l2=» XMAX:=0.0;«, l3=0x12}
0x1655…1664 Line {l1=0x0d, l2=» X:=0;«, l3=0x0d}
0x1664…1675 Line {l1=0x0f, l2=» F:=0.0;«, l3=0x0f}
0x1675…1685 Line {l1=0x0e, l2=» REPEAT«, l3=0x0e}
0x1685…1696 Line {l1=0x0f, l2=» I:=1;«, l3=0x0f}
0x1696…16b3 Line {l1=0x1b, l2=» XMAX:=XMAX + DXM;«, l3=0x1b}
0x16b3…16c5 Line {l1=0x10, l2=» H:=-H;«, l3=0x10}
0x16c5…16ef Line {l1=0x28, l2=» WHILE (X<=XMAX) AND (X<=N1) DO«, l3=0x28}
0x16ef…1700 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x1700…171b Line {l1=0x19, l2=» ST(X):=H*(X-F);«, l3=0x19}
0x171b…172e Line {l1=0x11, l2=» X:=X+1;«, l3=0x11}
0x172e…1741 Line {l1=0x11, l2=» I:=I+1;«, l3=0x11}
0x1741…1751 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x1751…1760 Line {l1=0x0d, l2=» I:=1;«, l3=0x0d}
0x1760…1770 Line {l1=0x0e, l2=» H:=-H;«, l3=0x0e}
0x1770…178b Line {l1=0x19, l2=» XMAX:=XMAX + DXM;«, l3=0x19}
0x178b…179f Line {l1=0x12, l2=» F:=F+HELP;«, l3=0x12}
0x179f…17c8 Line {l1=0x27, l2=» WHILE (X<=XMAX ) AND (X<=N1) DO«, l3=0x27}
0x17c8…17d9 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x17d9…17f4 Line {l1=0x19, l2=» ST(X):=H*(X-F);«, l3=0x19}
0x17f4…1807 Line {l1=0x11, l2=» X:=X+1;«, l3=0x11}
0x1807…181a Line {l1=0x11, l2=» I:=I+1;«, l3=0x11}
0x181a…182a Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x182a…1850 Line {l1=0x24, l2=» IF X=N1 THEN ST(X):=H*(X-F);«, l3=0x24}
0x1850…1866 Line {l1=0x14, l2=» UNTIL X>=N1;«, l3=0x14}
0x1866…1874 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x1874…1883 Line {l1=0x0d, l2=» 'S': BEGIN«, l3=0x0d}
0x1883…1899 Line {l1=0x14, l2=» A:=TOPI*A/N;«, l3=0x14}
0x1899…18af Line {l1=0x14, l2=» CLEARSCREEN;«, l3=0x14}
0x18af…18cc Line {l1=0x1b, l2=» WRITE('Punkt nr.');«, l3=0x1b}
0x18cc…18e7 Line {l1=0x19, l2=» FOR X:=0 TO N1 DO«, l3=0x19}
0x18e7…18f8 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x18f8…1915 Line {l1=0x1b, l2=» ST(X):= SIN(A*X);«, l3=0x1b}
0x1915…192e Line {l1=0x17, l2=» GOTOXY(10,1);«, l3=0x17}
0x192e…1943 Line {l1=0x13, l2=» WRITE(X);«, l3=0x13}
0x1943…1953 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x1953…1969 Line {l1=0x14, l2=» GOTOXY(1,2);«, l3=0x14}
0x1969…1977 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x1977…1986 Line {l1=0x0d, l2=» 'C': BEGIN«, l3=0x0d}
0x1986…199c Line {l1=0x14, l2=» A:=TOPI*A/N;«, l3=0x14}
0x199c…19b2 Line {l1=0x14, l2=» CLEARSCREEN;«, l3=0x14}
0x19b2…19cf Line {l1=0x1b, l2=» WRITE('Punkt nr.');«, l3=0x1b}
0x19cf…19ea Line {l1=0x19, l2=» FOR X:=0 TO N1 DO«, l3=0x19}
0x19ea…19fb Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x19fb…1a17 Line {l1=0x1a, l2=» ST(X):=COS(A*X);«, l3=0x1a}
0x1a17…1a30 Line {l1=0x17, l2=» GOTOXY(10,1);«, l3=0x17}
0x1a30…1a45 Line {l1=0x13, l2=» WRITE(X);«, l3=0x13}
0x1a45…1a55 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x1a55…1a6b Line {l1=0x14, l2=» GOTOXY(1,2);«, l3=0x14}
0x1a6b…1a79 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x1a79…1a88 Line {l1=0x0d, l2=» 'F': BEGIN«, l3=0x0d}
0x1a88…1a97 Line {l1=0x0d, l2=» X:=0;«, l3=0x0d}
0x1a97…1ab0 Line {l1=0x17, l2=» BMAX:=TRUNC(B);«, l3=0x17}
0x1ab0…1acf Line {l1=0x1d, l2=» NULLER:=TRUNC(N/2/A);«, l3=0x1d}
0x1acf…1ae9 Line {l1=0x18, l2=» ETTER:=NULLER-2;«, l3=0x18}
0x1ae9…1b01 Line {l1=0x16, l2=» IF BMAX>0 THEN«, l3=0x16}
0x1b01…1b12 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x1b12…1b3d Line {l1=0x29, l2=» FOR X:=0 TO BMAX DO ST(X):=0.0;«, l3=0x29}
0x1b3d…1b53 Line {l1=0x14, l2=» X:=BMAX+1;«, l3=0x14}
0x1b53…1b63 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x1b63…1b73 Line {l1=0x0e, l2=» REPEAT«, l3=0x0e}
0x1b73…1b8a Line {l1=0x15, l2=» ST(X):=0.5;«, l3=0x15}
0x1b8a…1b9d Line {l1=0x11, l2=» X:=X+1;«, l3=0x11}
0x1b9d…1bbb Line {l1=0x1c, l2=» INDSAT(ETTER,1.0);«, l3=0x1c}
0x1bbb…1be2 Line {l1=0x25, l2=» IF (X<=N1) THEN ST(X):=0.5;«, l3=0x25}
0x1be2…1bf5 Line {l1=0x11, l2=» X:=X+1;«, l3=0x11}
0x1bf5…1c14 Line {l1=0x1d, l2=» INDSAT(NULLER,0.0);«, l3=0x1d}
0x1c14…1c2c Line {l1=0x16, l2=» UNTIL (X>=N1);«, l3=0x16}
0x1c2c…1c3a Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x1c3a…1c49 Line {l1=0x0d, l2=» 'I': BEGIN«, l3=0x0d}
0x1c49…1c68 Line {l1=0x1d, l2=» DX:=TRUNC( N/(A+1) );«, l3=0x1d}
0x1c68…1c8f Line {l1=0x25, l2=» FOR X:=0 TO N1 DO ST(X):=0.0;«, l3=0x25}
0x1c8f…1cb0 Line {l1=0x1f, l2=» FOR I:=1 TO TRUNC(A) DO«, l3=0x1f}
0x1cb0…1cc1 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x1cc1…1cd5 Line {l1=0x12, l2=» X:=DX*I;«, l3=0x12}
0x1cd5…1cec Line {l1=0x15, l2=» ST(X):=1.0;«, l3=0x15}
0x1cec…1cfc Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x1cfc…1d0a Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x1d0a…1d2f Line {l1=0x23, l2=» 'K': FOR X:=0 TO N1 DO ST(X):=A;«, l3=0x23}
0x1d2f…1d36 Line {l1=0x05, l2=» «, l3=0x05}
0x1d36…1d4c Line {l1=0x14, l2=» 'M': MIT(A,ST,D);«, l3=0x14}
0x1d4c…1d52 Line {l1=0x04, l2=» «, l3=0x04}
0x1d52…1d5a Line {l1=0x06, l2=» END;«, l3=0x06}
[…0x1…]
0x1d62…1d65 Line {l1=0x01, l2=» «, l3=0x01}
0x1d65…1d86 Line {l1=0x1f, l2=» SEGMENT PROCEDURE TOSIGNAL;«, l3=0x1f}
0x1d86…1dbd Line {l1=0x35, l2=» (* DENNE PROCEDURE LAVER LINIARKOMBINATIONEN ELLER«, l3=0x35}
0x1dbd…1df6 Line {l1=0x37, l2=» PRODUKTET AF DE TIDLIGERE DEFINEREDE SIGNALER *)«, l3=0x37}
0x1df6…1dfc Line {l1=0x04, l2=» «, l3=0x04}
0x1dfc…1e1b Line {l1=0x1d, l2=» VAR RE1,IM1,RE2,IM2:REAL;«, l3=0x1d}
0x1e1b…1e1f Line {l1=0x02, l2=» «, l3=0x02}
0x1e1f…1e2a Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x1e2a…1e38 Line {l1=0x0c, l2=» REPEAT«, l3=0x0c}
0x1e38…1e4f Line {l1=0x15, l2=» SVARTEST:=OK;«, l3=0x15}
0x1e4f…1e61 Line {l1=0x10, l2=» WRITELN;«, l3=0x10}
0x1e61…1ea0 Line {l1=0x3d, l2=» WRITELN('Hvordan skal de to signaler "kombineres"?');«, l3=0x3d}
0x1ea0…1eb2 Line {l1=0x10, l2=» WRITELN;«, l3=0x10}
0x1eb2…1ed0 Line {l1=0x1c, l2=» WRITELN('Indtast:');«, l3=0x1c}
0x1ed0…1f02 Line {l1=0x30, l2=» WRITELN('1 for A*SIGNAL1 + B*SIGNAL2');«, l3=0x30}
0x1f02…1f30 Line {l1=0x2c, l2=» WRITELN('2 for A*SIGNAL1*SIGNAL2');«, l3=0x2c}
0x1f30…1f42 Line {l1=0x10, l2=» WRITELN;«, l3=0x10}
0x1f42…1f6c Line {l1=0x28, l2=» WRITE('Indtast det oenskede: ');«, l3=0x28}
0x1f6c…1f89 Line {l1=0x1b, l2=» READLN; READ(ART);«, l3=0x1b}
0x1f89…1fb5 Line {l1=0x2a, l2=» IF (ART<>'1') AND (ART<>'2') THEN«, l3=0x2a}
0x1fb5…1fc6 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x1fc6…2006 Line {l1=0x3e, l2=» WRITELN('Det indtastede: ',ART,' er ikke lovligt.');«, l3=0x3e}
0x2006…2036 Line {l1=0x2e, l2=» WRITELN('Kun 1,2 er lovlige svar.');«, l3=0x2e}
0x2036…2053 Line {l1=0x1b, l2=» SVARTEST:=IKKEOK;«, l3=0x1b}
0x2053…2063 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x2063…207d Line {l1=0x18, l2=» UNTIL SVARTEST=OK;«, l3=0x18}
0x207d…2099 Line {l1=0x1a, l2=» WRITE('Indtast A:');«, l3=0x1a}
0x2099…20a9 Line {l1=0x0e, l2=» READ(A);«, l3=0x0e}
0x20a9…20c2 Line {l1=0x17, l2=» CASETEGN:=ART(1);«, l3=0x17}
0x20c2…20da Line {l1=0x16, l2=» CASE CASETEGN OF«, l3=0x16}
0x20da…20ed Line {l1=0x11, l2=» '1': BEGIN«, l3=0x11}
0x20ed…211a Line {l1=0x2b, l2=» WRITE('Indtast B:'); READ(B);«, l3=0x2b}
0x211a…2139 Line {l1=0x1d, l2=» FOR I:=0 TO N1 DO«, l3=0x1d}
0x2139…214e Line {l1=0x13, l2=» BEGIN«, l3=0x13}
0x214e…2180 Line {l1=0x30, l2=» SIG1R(I):=A*SIG1R(I) + B*SIG2R(I);«, l3=0x30}
0x2180…21b2 Line {l1=0x30, l2=» SIG1I(I):=A*SIG1I(I) + B*SIG2I(I);«, l3=0x30}
0x21b2…21c6 Line {l1=0x12, l2=» END;«, l3=0x12}
0x21c6…21d8 Line {l1=0x10, l2=» END;«, l3=0x10}
0x21d8…21f7 Line {l1=0x1d, l2=» '2': FOR I:=0 TO N1 DO«, l3=0x1d}
0x21f7…220c Line {l1=0x13, l2=» BEGIN«, l3=0x13}
0x220c…222a Line {l1=0x1c, l2=» RE1:=SIG1R(I);«, l3=0x1c}
0x222a…2248 Line {l1=0x1c, l2=» IM1:=SIG1I(I);«, l3=0x1c}
0x2248…2266 Line {l1=0x1c, l2=» RE2:=SIG2R(I);«, l3=0x1c}
0x2266…2284 Line {l1=0x1c, l2=» IM2:=SIG2I(I);«, l3=0x1c}
0x2284…22b2 Line {l1=0x2c, l2=» SIG1R(I):=A*(RE1*RE2-IM1*IM2);«, l3=0x2c}
0x22b2…22e0 Line {l1=0x2c, l2=» SIG1I(I):=A*(RE1*IM2+RE2*IM1);«, l3=0x2c}
0x22e0…22f4 Line {l1=0x12, l2=» END;«, l3=0x12}
0x22f4…2300 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x2300…233c Line {l1=0x3a, l2=» IF JANEJ(CONCAT('0nskes plot af ',DEL(1),'?') ) THEN«, l3=0x3a}
0x233c…2363 Line {l1=0x25, l2=» SIGNALPLOT(1,1,FALSE,DEL(1));«, l3=0x25}
0x2363…23a0 Line {l1=0x3b, l2=» IF JANEJ( CONCAT('0nskes plot af ',DEL(2),'?') ) THEN«, l3=0x3b}
0x23a0…23c7 Line {l1=0x25, l2=» SIGNALPLOT(2,1,FALSE,DEL(2));«, l3=0x25}
0x23c7…2403 Line {l1=0x3a, l2=» IF JANEJ( CONCAT('0nskes tabel over ',REOGIM) ) THEN«, l3=0x3a}
0x2403…243b Line {l1=0x36, l2=» TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2)) ELSE ;«, l3=0x36}
0x243b…2443 Line {l1=0x06, l2=» END;«, l3=0x06}
0x2443…2447 Line {l1=0x02, l2=» «, l3=0x02}
0x2447…244c Line {l1=0x03, l2=» «, l3=0x03}
0x244c…2450 Line {l1=0x02, l2=» «, l3=0x02}
0x2450…2455 Line {l1=0x03, l2=» «, l3=0x03}
0x2455…247b Line {l1=0x24, l2=» SEGMENT PROCEDURE SIGNALDEFINITION;«, l3=0x24}
0x247b…24b6 Line {l1=0x39, l2=» (* DENNE PROCEDURE GIVER LISTE OVER DE MULIGE STANDARD-«, l3=0x39}
0x24b6…24ee Line {l1=0x36, l2=» SIGNALER, OG CHECKER SVARENE PAA SP0RGSMAALENE OM«, l3=0x36}
0x24ee…252c Line {l1=0x3c, l2=» REAL OG IMAGINAERDELEN AF SIGNAL NR. 1 EVT. OGSAA NR. 2«, l3=0x3c}
0x252c…255e Line {l1=0x30, l2=» KALDER SAA SIGFKT SOM LEVERER SIGNALET. *)«, l3=0x30}
0x255e…2567 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x2567…257d Line {l1=0x14, l2=» FOR SIG:=1 TO S DO«, l3=0x14}
0x257d…2588 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x2588…259e Line {l1=0x14, l2=» FOR D:=1 TO 2 DO«, l3=0x14}
0x259e…25a9 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x25a9…25b5 Line {l1=0x0a, l2=» REPEAT«, l3=0x0a}
0x25b5…25ca Line {l1=0x13, l2=» SVARTEST:=OK;«, l3=0x13}
0x25ca…25da Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x25da…2622 Line {l1=0x46, l2=» WRITELN('Hvordan skal ',DEL(D),' af det ',NUMSIG(SIG),' signal',«, l3=0x46}
0x2622…263d Line {l1=0x19, l2=» ' vaere?');«, l3=0x19}
0x263d…266c Line {l1=0x2d, l2=» WRITELN('Der er flg. svarmuligheder:');«, l3=0x2d}
0x266c…267c Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x267c…26ac Line {l1=0x2e, l2=» WRITELN('aTRE betyder trekantsignal');«, l3=0x2e}
0x26ac…26dc Line {l1=0x2e, l2=» WRITELN('aFIR ---"--- firkantsignal');«, l3=0x2e}
0x26dc…271f Line {l1=0x41, l2=» WRITELN('aIMP ---"--- impulssignal (diskret delta fkt)');«, l3=0x41}
0x271f…274e Line {l1=0x2d, l2=» WRITELN('aCOS ---"--- cosinus signal');«, l3=0x2d}
0x274e…277b Line {l1=0x2b, l2=» WRITELN('aSIN ---"--- sinus signal');«, l3=0x2b}
0x277b…27a8 Line {l1=0x2b, l2=» WRITELN('kKST ---"--- konstanten k');«, l3=0x2b}
0x27a8…27f0 Line {l1=0x46, l2=» WRITELN('xMIT ---"--- brugerdefineret signal i proceduren MIT');«, l3=0x46}
0x27f0…2800 Line {l1=0x0e, l2=» WRITELN;«, l3=0x0e}
0x2800…2842 Line {l1=0x40, l2=» WRITELN('a betegner et reelt, positivt tal som angiver,');«, l3=0x40}
0x2842…2882 Line {l1=0x3e, l2=» WRITELN(' hvormange gange det valgte signal gentages');«, l3=0x3e}
0x2882…28a9 Line {l1=0x25, l2=» WRITE('Indtast det oenskede:');«, l3=0x25}
0x28a9…28c9 Line {l1=0x1e, l2=» READ(A); READ(SIGNAL);«, l3=0x1e}
0x28c9…2908 Line {l1=0x3d, l2=» IF (A<=0) AND (SIGNAL<>'KST') AND (SIGNAL<>'MIT') THEN«, l3=0x3d}
0x2908…2917 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2917…2955 Line {l1=0x3c, l2=» WRITELN('Det indtastede a: ',A,' er ikke lovligt.');«, l3=0x3c}
0x2955…2980 Line {l1=0x29, l2=» WRITELN('a skal vaere positiv!');«, l3=0x29}
0x2980…299b Line {l1=0x19, l2=» SVARTEST:=IKKEOK;«, l3=0x19}
0x299b…29a9 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x29a9…29eb Line {l1=0x40, l2=» IF (SIGNAL<>'TRE') AND (SIGNAL<>'FIR') AND (SIGNAL<>'IMP')«, l3=0x40}
0x29eb…29f9 Line {l1=0x0c, l2=» AND«, l3=0x0c}
0x29f9…2a3b Line {l1=0x40, l2=» (SIGNAL<>'COS') AND (SIGNAL<>'SIN') AND (SIGNAL<>'KST')«, l3=0x40}
0x2a3b…2a5a Line {l1=0x1d, l2=» AND (SIGNAL<>'MIT')«, l3=0x1d}
0x2a5a…2a68 Line {l1=0x0c, l2=» THEN«, l3=0x0c}
0x2a68…2a77 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2a77…2abe Line {l1=0x45, l2=» WRITELN('Det indtastede signal: ',SIGNAL,' er ikke lovligt');«, l3=0x45}
0x2abe…2ad9 Line {l1=0x19, l2=» SVARTEST:=IKKEOK;«, l3=0x19}
0x2ad9…2ae7 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x2ae7…2b05 Line {l1=0x1c, l2=» IF (SIGNAL='FIR') THEN«, l3=0x1c}
0x2b05…2b14 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x2b14…2b46 Line {l1=0x30, l2=» WRITE('Hvad skal forskydningen vaere?');«, l3=0x30}
0x2b46…2b58 Line {l1=0x10, l2=» READ(B);«, l3=0x10}
0x2b58…2b6d Line {l1=0x13, l2=» IF B<0 THEN«, l3=0x13}
0x2b6d…2b7e Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x2b7e…2baf Line {l1=0x2f, l2=» WRITELN('b skal vaere ikke negativ');«, l3=0x2f}
0x2baf…2bcc Line {l1=0x1b, l2=» SVARTEST:=IKKEOK;«, l3=0x1b}
0x2bcc…2bdc Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x2bdc…2bea Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x2bea…2c04 Line {l1=0x18, l2=» UNTIL SVARTEST=OK;«, l3=0x18}
0x2c04…2c07 Line {l1=0x01, l2=» «, l3=0x01}
0x2c07…2c1a Line {l1=0x11, l2=» CASE SIG OF«, l3=0x11}
0x2c1a…2c30 Line {l1=0x14, l2=» 1: CASE D OF«, l3=0x14}
0x2c30…2c59 Line {l1=0x27, l2=» 1: SIGFKT(SIG1R,A,B,SIGNAL);«, l3=0x27}
0x2c59…2c5f Line {l1=0x04, l2=» «, l3=0x04}
0x2c5f…2c88 Line {l1=0x27, l2=» 2: SIGFKT(SIG1I,A,B,SIGNAL);«, l3=0x27}
0x2c88…2c99 Line {l1=0x0f, l2=» END;«, l3=0x0f}
0x2c99…2ca2 Line {l1=0x07, l2=» «, l3=0x07}
0x2ca2…2cb8 Line {l1=0x14, l2=» 2: CASE D OF«, l3=0x14}
0x2cb8…2ce2 Line {l1=0x28, l2=» 1: SIGFKT(SIG2R,A,B,SIGNAL);«, l3=0x28}
0x2ce2…2ce9 Line {l1=0x05, l2=» «, l3=0x05}
0x2ce9…2d13 Line {l1=0x28, l2=» 2: SIGFKT(SIG2I,A,B,SIGNAL);«, l3=0x28}
0x2d13…2d24 Line {l1=0x0f, l2=» END;«, l3=0x0f}
0x2d24…2d41 Line {l1=0x1b, l2=» END; (* CASE SIG *)«, l3=0x1b}
0x2d41…2d7e Line {l1=0x3b, l2=» IF JANEJ( CONCAT('0nskes plot af ',DEL(D),'?') ) THEN«, l3=0x3b}
0x2d7e…2da7 Line {l1=0x27, l2=» SIGNALPLOT(D,SIG,FALSE,DEL(D));«, l3=0x27}
0x2da7…2db1 Line {l1=0x08, l2=» END;«, l3=0x08}
0x2db1…2de9 Line {l1=0x36, l2=» IF JANEJ(CONCAT('0nskes plot af ',REOGIM,'?')) THEN«, l3=0x36}
0x2de9…2e10 Line {l1=0x25, l2=» SIGNALPLOT(1,SIG+2,FALSE,REOGIM);«, l3=0x25}
0x2e10…2e4a Line {l1=0x38, l2=» IF JANEJ(CONCAT('0nskes tabel over ',REOGIM,'?')) THEN«, l3=0x38}
0x2e4a…2e5b Line {l1=0x0f, l2=» CASE SIG OF«, l3=0x0f}
0x2e5b…2e8c Line {l1=0x2f, l2=» 1: TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2));«, l3=0x2f}
0x2e8c…2ebd Line {l1=0x2f, l2=» 2: TABEL(SIG2R,SIG2I,REOGIM,DEL(1),DEL(2));«, l3=0x2f}
0x2ebd…2ec9 Line {l1=0x0a, l2=» END; «, l3=0x0a}
0x2ec9…2ed1 Line {l1=0x06, l2=» END;«, l3=0x06}
[…0x1…]
0x2ed9…2edd Line {l1=0x02, l2=» «, l3=0x02}
0x2edd…2eff Line {l1=0x20, l2=» SEGMENT PROCEDURE NSP0RGSMAAL;«, l3=0x20}
0x2eff…2f38 Line {l1=0x37, l2=» (* HER STILLES ? OM N (ANTALLET AF SAMPLES) OG SVARET«, l3=0x37}
0x2f38…2f66 Line {l1=0x2c, l2=» CHECKES. DER FINDES OGSAA M SAA 2**M=N.«, l3=0x2c}
0x2f66…2fa9 Line {l1=0x41, l2=» ENDELIG ? OM SIGNALET SKAL LAVES MED ET ELLET TO SIGNALER *)«, l3=0x41}
0x2fa9…2fb2 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x2fb2…2fbc Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x2fbc…2fcf Line {l1=0x11, l2=» SVARTEST:=OK;«, l3=0x11}
0x2fcf…3009 Line {l1=0x38, l2=» WRITE('Hvormange samples (N) oenskes? ÆN<=256Å :');«, l3=0x38}
0x3009…3017 Line {l1=0x0c, l2=» READ(N);«, l3=0x0c}
0x3017…3023 Line {l1=0x0a, l2=» M:=-1;«, l3=0x0a}
0x3023…3034 Line {l1=0x0f, l2=» MTEST:=2*N;«, l3=0x0f}
0x3034…3046 Line {l1=0x10, l2=» IF N>=2 THEN«, l3=0x10}
0x3046…3052 Line {l1=0x0a, l2=» REPEAT«, l3=0x0a}
0x3052…306d Line {l1=0x19, l2=» MTEST:=MTEST DIV 2;«, l3=0x19}
0x306d…307c Line {l1=0x0d, l2=» M:=M+1;«, l3=0x0d}
0x307c…30a7 Line {l1=0x29, l2=» UNTIL (MTEST=1) OR ((MTEST MOD 2)=1);«, l3=0x29}
0x30a7…30bd Line {l1=0x14, l2=» IF MTEST<>1 THEN«, l3=0x14}
0x30bd…30ca Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x30ca…310b Line {l1=0x3f, l2=» WRITELN('Det indtastede N=',N,' er ikke en potens af 2');«, l3=0x3f}
0x310b…3124 Line {l1=0x17, l2=» SVARTEST:=IKKEOK;«, l3=0x17}
0x3124…3130 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x3130…3143 Line {l1=0x11, l2=» IF N>256 THEN«, l3=0x11}
0x3143…3150 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x3150…3193 Line {l1=0x41, l2=» WRITELN('Det indtastede N=',N,' er for stort. (N<=256 )');«, l3=0x41}
0x3193…31ac Line {l1=0x17, l2=» SVARTEST:=IKKEOK;«, l3=0x17}
0x31ac…31b8 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x31b8…31c9 Line {l1=0x0f, l2=» IF N<2 THEN«, l3=0x0f}
0x31c9…31d6 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x31d6…3216 Line {l1=0x3e, l2=» WRITELN('Det indtastede N= ',N,' er for lille. (N>=2)');«, l3=0x3e}
0x3216…322f Line {l1=0x17, l2=» SVARTEST:=IKKEOK;«, l3=0x17}
0x322f…323b Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x323b…3251 Line {l1=0x14, l2=» UNTIL SVARTEST=OK;«, l3=0x14}
0x3251…325d Line {l1=0x0a, l2=» N1:=N-1;«, l3=0x0a}
0x325d…3264 Line {l1=0x05, l2=» «, l3=0x05}
0x3264…326e Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x326e…3281 Line {l1=0x11, l2=» SVARTEST:=OK;«, l3=0x11}
0x3281…328f Line {l1=0x0c, l2=» WRITELN;«, l3=0x0c}
0x328f…32c5 Line {l1=0x34, l2=» WRITE('0nskes der anvendt 1 eller 2 signaler?');«, l3=0x34}
0x32c5…32d3 Line {l1=0x0c, l2=» READ(S);«, l3=0x0c}
0x32d3…32f2 Line {l1=0x1d, l2=» IF (S<>1) AND (S<>2) THEN«, l3=0x1d}
0x32f2…32ff Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x32ff…3344 Line {l1=0x43, l2=» WRITELN('Det angivne antal signaler: ',S,' er ikke lovligt');«, l3=0x43}
0x3344…335d Line {l1=0x17, l2=» SVARTEST:=IKKEOK;«, l3=0x17}
0x335d…3369 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x3369…337f Line {l1=0x14, l2=» UNTIL SVARTEST=OK;«, l3=0x14}
0x337f…3387 Line {l1=0x06, l2=» END;«, l3=0x06}
0x3387…338a Line {l1=0x01, l2=» «, l3=0x01}
0x338a…338f Line {l1=0x03, l2=» «, l3=0x03}
0x338f…33ac Line {l1=0x1b, l2=» SEGMENT PROCEDURE VINDUE;«, l3=0x1b}
0x33ac…33e7 Line {l1=0x39, l2=» (* PROCEDUREN DEFINERER VINDUE, SOM KAN GANGES PAA DET«, l3=0x39}
0x33e7…3401 Line {l1=0x18, l2=» FAERDIGE SIGNAL *)«, l3=0x18}
0x3401…3406 Line {l1=0x03, l2=» «, l3=0x03}
0x3406…341c Line {l1=0x14, l2=» VAR V1,V2:INTEGER;«, l3=0x14}
0x341c…343c Line {l1=0x1e, l2=» PROCEDURE READHELTAL(A:CHAR;«, l3=0x1e}
0x343c…3464 Line {l1=0x26, l2=» VAR H:INTEGER);«, l3=0x26}
0x3464…349d Line {l1=0x37, l2=» (* LAESER HELTALLET VED NAVN 'A' IND I DEN VARIABLE H«, l3=0x37}
0x349d…34d1 Line {l1=0x32, l2=» OG CHECKER OM DET ER INTERVALLET Æ0;N-1Å *)«, l3=0x32}
0x34d1…34d8 Line {l1=0x05, l2=» «, l3=0x05}
0x34d8…34e1 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x34e1…34eb Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x34eb…34fe Line {l1=0x11, l2=» SVARTEST:=OK;«, l3=0x11}
0x34fe…351c Line {l1=0x1c, l2=» WRITE('Indtast ',A,':');«, l3=0x1c}
0x351c…352a Line {l1=0x0c, l2=» READ(H);«, l3=0x0c}
0x352a…3547 Line {l1=0x1b, l2=» IF (H<0) OR (H>N1) THEN«, l3=0x1b}
0x3547…3554 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x3554…3593 Line {l1=0x3d, l2=» WRITELN('Det indtastede ',A,'= ',H,' er ikke lovligt');«, l3=0x3d}
0x3593…35cd Line {l1=0x38, l2=» WRITELN(A,' skal vaere i intervallet Æ0;',N1,'Å');«, l3=0x38}
0x35cd…35e6 Line {l1=0x17, l2=» SVARTEST:=IKKEOK;«, l3=0x17}
0x35e6…35f2 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x35f2…3608 Line {l1=0x14, l2=» UNTIL SVARTEST=OK;«, l3=0x14}
0x3608…3610 Line {l1=0x06, l2=» END;«, l3=0x06}
0x3610…3614 Line {l1=0x02, l2=» «, l3=0x02}
0x3614…361d Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x361d…3660 Line {l1=0x41, l2=» WRITELN('PT. Kun en mulighed for efterbehandling af signalet');«, l3=0x41}
0x3660…3698 Line {l1=0x36, l2=» WRITELN('Nemlig anvendelse af et firkantet vindue');«, l3=0x36}
0x3698…36cf Line {l1=0x35, l2=» WRITELN('dvs. signalet ganges med flg. funktion.');«, l3=0x35}
0x36cf…36f1 Line {l1=0x20, l2=» WRITELN(' 1 for a<x<b ');«, l3=0x20}
0x36f1…371a Line {l1=0x27, l2=» WRITELN('F(X)= o.5 for x=a og x=b ');«, l3=0x27}
0x371a…3738 Line {l1=0x1c, l2=» WRITELN(' 0 ellers');«, l3=0x1c}
0x3738…3777 Line {l1=0x3d, l2=» WRITELN('Hvor a,b,x er hele tal i intervaller Æ0;',n1,'Å');«, l3=0x3d}
0x3777…378e Line {l1=0x15, l2=» WRITELN('og a<=b');«, l3=0x15}
0x378e…37a5 Line {l1=0x15, l2=» READHELTAL('a',V1);«, l3=0x15}
0x37a5…37af Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x37af…37c2 Line {l1=0x11, l2=» SVARTEST:=OK;«, l3=0x11}
0x37c2…37db Line {l1=0x17, l2=» READHELTAL('b',V2);«, l3=0x17}
0x37db…37ee Line {l1=0x11, l2=» IF V2<V1 THEN«, l3=0x11}
0x37ee…37fb Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x37fb…3829 Line {l1=0x2c, l2=» WRITELN('b skal vaere stoerre end a');«, l3=0x2c}
0x3829…3842 Line {l1=0x17, l2=» SVARTEST:=IKKEOK;«, l3=0x17}
0x3842…384e Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x384e…3864 Line {l1=0x14, l2=» UNTIL SVARTEST=OK;«, l3=0x14}
0x3864…387a Line {l1=0x14, l2=» FOR I:= 0 TO V1 DO«, l3=0x14}
0x387a…3885 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x3885…3899 Line {l1=0x12, l2=» SIG1R(I):=0.0;«, l3=0x12}
0x3899…38ad Line {l1=0x12, l2=» SIG1I(I):=0.0;«, l3=0x12}
0x38ad…38b7 Line {l1=0x08, l2=» END;«, l3=0x08}
0x38b7…38d4 Line {l1=0x1b, l2=» SIG1R(V1):=0.5*SIG1R(V1);«, l3=0x1b}
0x38d4…38f1 Line {l1=0x1b, l2=» SIG1I(V1):=0.5*SIG1I(V1);«, l3=0x1b}
0x38f1…390e Line {l1=0x1b, l2=» SIG1R(V2):=0.5*SIG1R(V2);«, l3=0x1b}
0x390e…392b Line {l1=0x1b, l2=» SIG1I(V2):=0.5*SIG1I(V2);«, l3=0x1b}
0x392b…3943 Line {l1=0x16, l2=» FOR I:=V2+1 TO N1 DO«, l3=0x16}
0x3943…394e Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x394e…3962 Line {l1=0x12, l2=» SIG1R(I):=0.0;«, l3=0x12}
0x3962…3976 Line {l1=0x12, l2=» SIG1I(I):=0.0;«, l3=0x12}
0x3976…3980 Line {l1=0x08, l2=» END;«, l3=0x08}
0x3980…3988 Line {l1=0x06, l2=» END;«, l3=0x06}
0x3988…398d Line {l1=0x03, l2=» «, l3=0x03}
0x398d…39c0 Line {l1=0x31, l2=» SEGMENT PROCEDURE SPEKTRUM(TEKST:OVERSKRIFT);«, l3=0x31}
0x39c0…39c6 Line {l1=0x04, l2=» «, l3=0x04}
0x39c6…39fe Line {l1=0x36, l2=» (* DENNE PROCEDURER STILLER ?? OM HVORDAN 'TEKST'«, l3=0x36}
0x39fe…3a2d Line {l1=0x2d, l2=» F.EKS. SPEKTRET SKAL PRAESENTERES *)«, l3=0x2d}
0x3a2d…3a5a Line {l1=0x2b, l2=» FUNCTION READSVAR(VAR TEGN:CHAR):CHECK;«, l3=0x2b}
0x3a5a…3a65 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x3a65…3a81 Line {l1=0x1a, l2=» READLN; READ(TEGN);«, l3=0x1a}
0x3a81…3abb Line {l1=0x38, l2=» IF (TEGN<>'1') AND (TEGN<>'2') AND (TEGN<>'3') THEN«, l3=0x38}
0x3abb…3ac8 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x3ac8…3b05 Line {l1=0x3b, l2=» WRITELN('Det indtastede: ',TEGN,' er ikke lovligt.');«, l3=0x3b}
0x3b05…3b33 Line {l1=0x2c, l2=» WRITELN('Kun 1,2,3 er lovlige svar.');«, l3=0x2c}
0x3b33…3b4c Line {l1=0x17, l2=» READSVAR:=IKKEOK;«, l3=0x17}
0x3b4c…3b58 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x3b58…3b62 Line {l1=0x08, l2=» END;«, l3=0x08}
0x3b62…3b67 Line {l1=0x03, l2=» «, l3=0x03}
0x3b67…3b70 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x3b70…3b7a Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x3b7a…3b8d Line {l1=0x11, l2=» SVARTEST:=OK;«, l3=0x11}
0x3b8d…3b9f Line {l1=0x10, l2=» PLOT:=FALSE;«, l3=0x10}
0x3b9f…3bda Line {l1=0x39, l2=» WRITELN('Hvad skal plottet af ',TEKST,' indeholde?');«, l3=0x39}
0x3bda…3c07 Line {l1=0x2b, l2=» WRITELN('Der er flg. valgmuligheder:');«, l3=0x2b}
0x3c07…3c15 Line {l1=0x0c, l2=» WRITELN;«, l3=0x0c}
0x3c15…3c39 Line {l1=0x22, l2=» WRITELN('1 Plot af ',REOGIM);«, l3=0x22}
0x3c39…3c5b Line {l1=0x20, l2=» WRITELN('2 -"-- af ',AOGF);«, l3=0x20}
0x3c5b…3c7a Line {l1=0x1d, l2=» WRITELN('3 Begge dele');«, l3=0x1d}
0x3c7a…3cad Line {l1=0x31, l2=» WRITE('Indtast nummeret paa det oenskede: ');«, l3=0x31}
0x3cad…3cce Line {l1=0x1f, l2=» SVARTEST:=READSVAR(SPTYPE);«, l3=0x1f}
0x3cce…3ce4 Line {l1=0x14, l2=» UNTIL SVARTEST=OK;«, l3=0x14}
0x3ce4…3cfd Line {l1=0x17, l2=» IF (SPTYPE<>'1') THEN«, l3=0x17}
0x3cfd…3d08 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x3d08…3d2f Line {l1=0x25, l2=» KONVERT(SIG1R,SIG1I,SIG2R,SIG2I);«, l3=0x25}
0x3d2f…3d40 Line {l1=0x0f, l2=» PLOT:=TRUE;«, l3=0x0f}
0x3d40…3d4a Line {l1=0x08, l2=» END;«, l3=0x08}
0x3d4a…3d5c Line {l1=0x10, l2=» CASE SPTYPE OF«, l3=0x10}
0x3d5c…3d76 Line {l1=0x18, l2=» '1': FOR D:=1 TO 2 DO«, l3=0x18}
0x3d76…3d85 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x3d85…3dac Line {l1=0x25, l2=» SIGNALPLOT(D,1,FALSE,DEL(D));«, l3=0x25}
0x3dac…3dba Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x3dba…3dd4 Line {l1=0x18, l2=» '2': FOR D:=1 TO 2 DO«, l3=0x18}
0x3dd4…3de3 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x3de3…3e0b Line {l1=0x26, l2=» SIGNALPLOT(D,2,TRUE,DEL(D+2));«, l3=0x26}
0x3e0b…3e19 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x3e19…3e28 Line {l1=0x0d, l2=» '3': BEGIN«, l3=0x0d}
0x3e28…3e62 Line {l1=0x38, l2=» FOR D:=1 TO 2 DO SIGNALPLOT(D,1,FALSE,DEL(D));«, l3=0x38}
0x3e62…3e9c Line {l1=0x38, l2=» FOR D:=3 TO 4 DO SIGNALPLOT(D-2,2,TRUE,DEL(D));«, l3=0x38}
0x3e9c…3ea8 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x3ea8…3eb0 Line {l1=0x06, l2=» END;«, l3=0x06}
0x3eb0…3eee Line {l1=0x3c, l2=» IF (JANEJ(CONCAT('0nskes tabel over ',TEKST,' ?') )) THEN«, l3=0x3c}
0x3eee…3ef9 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x3ef9…3f05 Line {l1=0x0a, l2=» REPEAT«, l3=0x0a}
0x3f05…3f18 Line {l1=0x11, l2=» SVARTEST:=OK;«, l3=0x11}
0x3f18…3f47 Line {l1=0x2d, l2=» WRITELN('Hvad skal tabellen indeholde?');«, l3=0x2d}
0x3f47…3f55 Line {l1=0x0c, l2=» WRITELN;«, l3=0x0c}
0x3f55…3f7f Line {l1=0x28, l2=» WRITELN('Der flg. valgmuligheder:');«, l3=0x28}
0x3f7f…3fa6 Line {l1=0x25, l2=» WRITELN('1 Tabel over ',REOGIM);«, l3=0x25}
0x3fa6…3fcb Line {l1=0x23, l2=» WRITELN('2 --"-- -"-- ',AOGF);«, l3=0x23}
0x3fcb…3fe8 Line {l1=0x1b, l2=» WRITELN('3 Baade og');«, l3=0x1b}
0x3fe8…401a Line {l1=0x30, l2=» WRITE('Indtast nummeret paa det oenskede:');«, l3=0x30}
0x401a…403b Line {l1=0x1f, l2=» SVARTEST:=READSVAR(SPTYPE);«, l3=0x1f}
0x403b…4051 Line {l1=0x14, l2=» UNTIL SVARTEST=OK;«, l3=0x14}
0x4051…407b Line {l1=0x28, l2=» IF (SPTYPE<>'1') AND (NOT PLOT) THEN«, l3=0x28}
0x407b…40a4 Line {l1=0x27, l2=» KONVERT(SIG1R,SIG1I,SIG2R,SIG2I);«, l3=0x27}
0x40a4…40b8 Line {l1=0x12, l2=» CASE SPTYPE OF«, l3=0x12}
0x40b8…40ec Line {l1=0x32, l2=» '1': TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2));«, l3=0x32}
0x40ec…411e Line {l1=0x30, l2=» '2': TABEL(SIG2R,SIG2I,AOGF,DEL(3),DEL(4));«, l3=0x30}
0x411e…412f Line {l1=0x0f, l2=» '3': BEGIN«, l3=0x0f}
0x412f…4161 Line {l1=0x30, l2=» TABEL(SIG1R,SIG1I,REOGIM,DEL(1),DEL(2));«, l3=0x30}
0x4161…4191 Line {l1=0x2e, l2=» TABEL(SIG2R,SIG2I,AOGF,DEL(3),DEL(4));«, l3=0x2e}
0x4191…419f Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x419f…41a9 Line {l1=0x08, l2=» END;«, l3=0x08}
[…0x1…]
0x41b3…41bb Line {l1=0x06, l2=» END;«, l3=0x06}
0x41bb…41ca Line {l1=0x0d, l2=» «, l3=0x0d}
0x41ca…41d1 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x41d1…41e7 Line {l1=0x14, l2=»DEL(1):='realdelen';«, l3=0x14}
0x41e7…4202 Line {l1=0x19, l2=»DEL(2):='imaginaerdelen';«, l3=0x19}
0x4202…4219 Line {l1=0x15, l2=»DEL(3):='amplituden';«, l3=0x15}
0x4219…422b Line {l1=0x10, l2=»DEL(4):='fasen';«, l3=0x10}
0x422b…4241 Line {l1=0x14, l2=»NUMSIG(1):='f0rste';«, l3=0x14}
0x4241…4256 Line {l1=0x13, l2=»NUMSIG(2):='andet';«, l3=0x13}
0x4256…4267 Line {l1=0x0f, l2=» TEST:=FALSE;«, l3=0x0f}
0x4267…426f Line {l1=0x06, l2=»REPEAT«, l3=0x06}
0x426f…427f Line {l1=0x0e, l2=» NSP0RGSMAAL;«, l3=0x0e}
0x427f…4294 Line {l1=0x13, l2=» SIGNALDEFINITION;«, l3=0x13}
0x4294…42ad Line {l1=0x17, l2=» IF S=2 THEN TOSIGNAL;«, l3=0x17}
0x42ad…42e9 Line {l1=0x3a, l2=» IF JANEJ('0nskes signalet efterbehandlet?') THEN VINDUE;«, l3=0x3a}
0x42e9…4304 Line {l1=0x19, l2=» FFT2(SIG1R,SIG1I,N,M);«, l3=0x19}
0x4304…431d Line {l1=0x17, l2=» SPEKTRUM('spektret');«, l3=0x17}
0x431d…4321 Line {l1=0x02, l2=» «, l3=0x02}
0x4321…435e Line {l1=0x3b, l2=» FORTSAT:=(NOT JANEJ('0nskes behandlet flere signaler?'));«, l3=0x3b}
0x435e…436e Line {l1=0x0e, l2=»UNTIL FORTSAT;«, l3=0x0e}
0x436e…4387 Line {l1=0x17, l2=»WRITE('TAK FOR IDAG ');«, l3=0x17}
0x4387…438d Line {l1=0x04, l2=»END.«, l3=0x04}
0x438d…43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
0x43a0…43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
[…0x5d…]
0x4f60…4f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 ┆ c┆