Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
|
|
@ -0,0 +1,11 @@
|
|||
lincomb←{
|
||||
fmtco←{
|
||||
mul←(⍵≠1)/(⍕|⍵),'*'
|
||||
mul,'e(',(⍕⍺),')'
|
||||
}
|
||||
|
||||
co←⊃¨fmtco/¨(⍵≠0)/(⍳⍴,⍵),¨|⍵
|
||||
sgn←'-+'[1+(×⍵)/×⍵]
|
||||
lc←(('+'=⊃)↓⊢)∊sgn,¨co
|
||||
0=⍴lc:'0' ⋄ lc
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
100 READ UX,UY
|
||||
110 DIM SCALARS(UX,UY)
|
||||
120 FOR N = 1 TO UX
|
||||
130 FOR M = 1 TO UY
|
||||
140 READ SCALARS(N,M)
|
||||
150 NEXT M,N
|
||||
160 DATA10,4
|
||||
170 DATA1,2,3,0,0,1,2,3
|
||||
180 DATA1,0,3,4,1,2,0,0
|
||||
190 DATA0,0,0,0,0,0,0,0
|
||||
200 DATA1,1,1,0,-1,-1,-1,0
|
||||
210 DATA-1,-2,0,-3,-1,0,0,0
|
||||
220 FOR N = 1 TO UX
|
||||
230 CADENA$ = ""
|
||||
240 FOR M = 1 TO UY
|
||||
250 SCALAR = SCALARS(N,M)
|
||||
260 IF SCALAR THEN CADENA$ = CADENA$ + CHR$ (44 - SGN (SCALAR)) + MID$ ( STR$ ( ABS (SCALAR)) + "*",1,255 * ( ABS (SCALAR) < > 1)) + "E" + STR$ (M)
|
||||
270 NEXT M
|
||||
280 IF CADENA$ = "" THEN CADENA$ = "0"
|
||||
290 IF LEFT$ (CADENA$,1) = "+" THEN CADENA$ = RIGHT$ (CADENA$, LEN (CADENA$) - 1)
|
||||
300 PRINT CADENA$
|
||||
310 NEXT N
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
100 dim scalars(10,4)
|
||||
110 scalars(1,1) = 1 : scalars(1,2) = 2 : scalars(1,3) = 3
|
||||
120 scalars(2,1) = 0 : scalars(2,2) = 1 : scalars(2,3) = 2 : scalars(2,4) = 3
|
||||
130 scalars(3,1) = 1 : scalars(3,2) = 0 : scalars(3,3) = 3 : scalars(3,4) = 4
|
||||
140 scalars(4,1) = 1 : scalars(4,2) = 2 : scalars(4,3) = 0
|
||||
150 scalars(5,1) = 0 : scalars(5,2) = 0 : scalars(5,3) = 0
|
||||
160 scalars(6,1) = 0
|
||||
170 scalars(7,1) = 1 : scalars(7,2) = 1 : scalars(7,3) = 1
|
||||
180 scalars(8,1) = -1 : scalars(8,2) = -1 : scalars(8,3) = -1
|
||||
190 scalars(9,1) = -1 : scalars(9,2) = -2 : scalars(9,3) = 0 : scalars(9,4) = -3
|
||||
200 scalars(10,1) = -1
|
||||
210 cls
|
||||
220 for n = 1 to ubound(scalars)
|
||||
230 cadena$ = ""
|
||||
240 scalar = 0
|
||||
250 for m = 1 to ubound(scalars,2)
|
||||
260 scalar = scalars(n,m)
|
||||
270 if scalar <> 0 then
|
||||
280 if scalar = 1 then
|
||||
290 cadena$ = cadena$+"+e"+str$(m)
|
||||
300 else
|
||||
310 if scalar = -1 then
|
||||
320 cadena$ = cadena$+"-e"+str$(m)
|
||||
330 else
|
||||
340 if scalar > 0 then
|
||||
350 cadena$ = cadena$+chr$(43)+str$(scalar)+"*e"+str$(m)
|
||||
360 else
|
||||
370 cadena$ = cadena$+str$(scalar)+"*e"+str$(m)
|
||||
380 endif
|
||||
390 endif
|
||||
400 endif
|
||||
410 endif
|
||||
420 next m
|
||||
430 if cadena$ = "" then cadena$ = "0"
|
||||
440 if left$(cadena$,1) = "+" then cadena$ = right$(cadena$,len(cadena$)-1)
|
||||
450 print cadena$
|
||||
460 next n
|
||||
470 end
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
include "cowgol.coh";
|
||||
|
||||
sub abs(n: int32): (r: uint32) is
|
||||
if n < 0
|
||||
then r := (-n) as uint32;
|
||||
else r := n as uint32;
|
||||
end if;
|
||||
end sub;
|
||||
|
||||
sub lincomb(scalar: [int32], size: intptr) is
|
||||
var first: uint8 := 1;
|
||||
var item: uint8 := 1;
|
||||
|
||||
sub print_sign() is
|
||||
if first == 1 then
|
||||
if [scalar] < 0 then print("-"); end if;
|
||||
else
|
||||
if [scalar] < 0
|
||||
then print(" - ");
|
||||
else print(" + ");
|
||||
end if;
|
||||
end if;
|
||||
end sub;
|
||||
|
||||
sub print_term() is
|
||||
if [scalar] == 0 then return; end if;
|
||||
print_sign();
|
||||
if abs([scalar]) > 1 then
|
||||
print_i32(abs([scalar]));
|
||||
print("*");
|
||||
end if;
|
||||
print("e(");
|
||||
print_i8(item);
|
||||
print(")");
|
||||
first := 0;
|
||||
end sub;
|
||||
|
||||
while size > 0 loop
|
||||
print_term();
|
||||
scalar := @next scalar;
|
||||
size := size - 1;
|
||||
item := item + 1;
|
||||
end loop;
|
||||
|
||||
if first == 1 then
|
||||
print("0");
|
||||
end if;
|
||||
print_nl();
|
||||
end sub;
|
||||
|
||||
var a1: int32[] := {1, 2, 3}; lincomb(&a1[0], @sizeof a1);
|
||||
var a2: int32[] := {0, 1, 2, 3}; lincomb(&a2[0], @sizeof a2);
|
||||
var a3: int32[] := {1, 0, 3, 4}; lincomb(&a3[0], @sizeof a3);
|
||||
var a4: int32[] := {1, 2, 0}; lincomb(&a4[0], @sizeof a4);
|
||||
var a5: int32[] := {0, 0, 0}; lincomb(&a5[0], @sizeof a5);
|
||||
var a6: int32[] := {0}; lincomb(&a6[0], @sizeof a6);
|
||||
var a7: int32[] := {1, 1, 1}; lincomb(&a7[0], @sizeof a7);
|
||||
var a8: int32[] := {-1, -1, -1}; lincomb(&a8[0], @sizeof a8);
|
||||
var a9: int32[] := {-1, -2, 0, 3}; lincomb(&a9[0], @sizeof a9);
|
||||
var a10: int32[] := {-1}; lincomb(&a10[0], @sizeof a10);
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
proc abs(int n) int: if n<0 then -n else n fi corp
|
||||
|
||||
proc write_term(word index; int scalar; bool first) void:
|
||||
if first then
|
||||
if scalar<0 then write("-") fi
|
||||
else
|
||||
write(if scalar<0 then " - " else " + " fi)
|
||||
fi;
|
||||
if abs(scalar)>1 then
|
||||
write(abs(scalar), '*')
|
||||
fi;
|
||||
write("e(",index,")")
|
||||
corp
|
||||
|
||||
proc lincomb([*]int terms) void:
|
||||
bool first;
|
||||
word index;
|
||||
first := true;
|
||||
|
||||
for index from 0 upto dim(terms,1)-1 do
|
||||
if terms[index] /= 0 then
|
||||
write_term(index+1, terms[index], first);
|
||||
first := false
|
||||
fi
|
||||
od;
|
||||
|
||||
writeln(if first then "0" else "" fi)
|
||||
corp
|
||||
|
||||
proc main() void:
|
||||
[3]int a1 = (1,2,3);
|
||||
[4]int a2 = (0,1,2,3);
|
||||
[4]int a3 = (1,0,3,4);
|
||||
[3]int a4 = (1,2,0);
|
||||
[3]int a5 = (0,0,0);
|
||||
[1]int a6 = (0);
|
||||
[3]int a7 = (1,1,1);
|
||||
[3]int a8 = (-1,-1,-1);
|
||||
[4]int a9 = (-1,-2,0,3);
|
||||
[1]int a10 = (-1);
|
||||
lincomb(a1); lincomb(a2); lincomb(a3); lincomb(a4);
|
||||
lincomb(a5); lincomb(a6); lincomb(a7); lincomb(a8);
|
||||
lincomb(a9); lincomb(a10)
|
||||
corp
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
100 DIM SKLS(10, 4)
|
||||
110 SKLS(1, 1) = 1: SKLS(1, 2) = 2: SKLS(1, 3) = 3
|
||||
120 SKLS(2, 1) = 0: SKLS(2, 2) = 1: SKLS(2, 3) = 2: SKLS(2, 4) = 3
|
||||
130 SKLS(3, 1) = 1: SKLS(3, 2) = 0: SKLS(3, 3) = 3: SKLS(3, 4) = 4
|
||||
140 SKLS(4, 1) = 1: SKLS(4, 2) = 2: SKLS(4, 3) = 0
|
||||
150 SKLS(5, 1) = 0: SKLS(5, 2) = 0: SKLS(5, 3) = 0
|
||||
160 SKLS(6, 1) = 0
|
||||
170 SKLS(7, 1) = 1: SKLS(7, 2) = 1: SKLS(7, 3) = 1
|
||||
180 SKLS(8, 1) = -1: SKLS(8, 2) = -1: SKLS(8, 3) = -1
|
||||
190 SKLS(9, 1) = -1: SKLS(9, 2) = -2: SKLS(9, 3) = 0: SKLS(9, 4) = -3
|
||||
200 SKLS(10, 1) = -1
|
||||
210 CLS
|
||||
220 FOR N = 1 TO 10
|
||||
230 CAD$ = ""
|
||||
240 SCL = 0
|
||||
250 FOR M = 1 TO 4
|
||||
260 SCL = SKLS(N, M)
|
||||
270 IF SCL <> 0 THEN IF SCL = 1 THEN CAD$ = CAD$ + "+e" + STR$(M) ELSE IF SCL = -1 THEN CAD$ = CAD$ + "-e" + STR$(M) ELSE IF SCL > 0 THEN CAD$ = CAD$ + CHR$(43) + STR$(SCL) + "*e" + STR$(M) ELSE CAD$ = CAD$ + STR$(SCL) + "*e" + STR$(M)
|
||||
280 NEXT M
|
||||
290 IF CAD$ = "" THEN CAD$ = "0"
|
||||
300 IF LEFT$(CAD$, 1) = "+" THEN CAD$ = RIGHT$(CAD$, LEN(CAD$) - 1)
|
||||
310 PRINT CAD$
|
||||
320 NEXT N
|
||||
330 END
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
DIM scalars(1 TO 10, 1 TO 4)
|
||||
scalars(1, 1) = 1: scalars(1, 2) = 2: scalars(1, 3) = 3
|
||||
scalars(2, 1) = 0: scalars(2, 2) = 1: scalars(2, 3) = 2: scalars(2, 4) = 3
|
||||
scalars(3, 1) = 1: scalars(3, 2) = 0: scalars(3, 3) = 3: scalars(3, 4) = 4
|
||||
scalars(4, 1) = 1: scalars(4, 2) = 2: scalars(4, 3) = 0
|
||||
scalars(5, 1) = 0: scalars(5, 2) = 0: scalars(5, 3) = 0
|
||||
scalars(6, 1) = 0
|
||||
scalars(7, 1) = 1: scalars(7, 2) = 1: scalars(7, 3) = 1
|
||||
scalars(8, 1) = -1: scalars(8, 2) = -1: scalars(8, 3) = -1
|
||||
scalars(9, 1) = -1: scalars(9, 2) = -2: scalars(9, 3) = 0: scalars(9, 4) = -3
|
||||
scalars(10, 1) = -1
|
||||
|
||||
CLS
|
||||
FOR n = 1 TO UBOUND(scalars)
|
||||
cadena$ = ""
|
||||
scalar = 0
|
||||
FOR m = 1 TO UBOUND(scalars, 2)
|
||||
scalar = scalars(n, m)
|
||||
IF scalar <> 0 THEN
|
||||
IF scalar = 1 THEN
|
||||
cadena$ = cadena$ + "+e" + STR$(m)
|
||||
ELSEIF scalar = -1 THEN
|
||||
cadena$ = cadena$ + "-e" + STR$(m)
|
||||
ELSE
|
||||
IF scalar > 0 THEN
|
||||
cadena$ = cadena$ + CHR$(43) + STR$(scalar) + "*e" + STR$(m)
|
||||
ELSE
|
||||
cadena$ = cadena$ + STR$(scalar) + "*e" + STR$(m)
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
NEXT m
|
||||
IF cadena$ = "" THEN cadena$ = "0"
|
||||
IF LEFT$(cadena$, 1) = "+" THEN cadena$ = RIGHT$(cadena$, LEN(cadena$) - 1)
|
||||
PRINT cadena$
|
||||
NEXT n
|
||||
END
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
dim scalars(10,4)
|
||||
scalars(1,1) = 1: scalars(1,2) = 2: scalars(1,3) = 3
|
||||
scalars(2,1) = 0: scalars(2,2) = 1: scalars(2,3) = 2: scalars(2,4) = 3
|
||||
scalars(3,1) = 1: scalars(3,2) = 0: scalars(3,3) = 3: scalars(3,4) = 4
|
||||
scalars(4,1) = 1: scalars(4,2) = 2: scalars(4,3) = 0
|
||||
scalars(5,1) = 0: scalars(5,2) = 0: scalars(5,3) = 0
|
||||
scalars(6,1) = 0
|
||||
scalars(7,1) = 1: scalars(7,2) = 1: scalars(7,3) = 1
|
||||
scalars(8,1) = -1: scalars(8,2) = -1: scalars(8,3) = -1
|
||||
scalars(9,1) = -1: scalars(9,2) = -2: scalars(9,3) = 0: scalars(9,4) = -3
|
||||
scalars(10,1) = -1
|
||||
|
||||
for n = 1 to arraysize(scalars(),1)
|
||||
cadena$ = ""
|
||||
|
||||
for m = 1 to arraysize(scalars(),2)
|
||||
scalar = scalars(n, m)
|
||||
if scalar <> 0 then
|
||||
if scalar = 1 then
|
||||
cadena$ = cadena$ + "+e" + str$(m)
|
||||
else
|
||||
if scalar = -1 then
|
||||
cadena$ = cadena$ + "-e" + str$(m)
|
||||
else
|
||||
if scalar > 0 then
|
||||
cadena$ = cadena$ + chr$(43) + str$(scalar) + "*e" + str$(m)
|
||||
else
|
||||
cadena$ = cadena$ + str$(scalar) + "*e" + str$(m)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
next m
|
||||
if cadena$ = "" cadena$ = "0"
|
||||
if left$(cadena$, 1) = "+" cadena$ = right$(cadena$, len(cadena$)-1)
|
||||
print cadena$
|
||||
next n
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue