all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
51
Task/Vector-products/Seed7/vector-products.seed7
Normal file
51
Task/Vector-products/Seed7/vector-products.seed7
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
$ include "seed7_05.s7i";
|
||||
include "float.s7i";
|
||||
|
||||
const type: vec3 is new struct
|
||||
var float: x is 0.0;
|
||||
var float: y is 0.0;
|
||||
var float: z is 0.0;
|
||||
end struct;
|
||||
|
||||
const func vec3: vec3 (in float: x, in float: y, in float: z) is func
|
||||
result
|
||||
var vec3: aVector is vec3.value;
|
||||
begin
|
||||
aVector.x := x;
|
||||
aVector.y := y;
|
||||
aVector.z := z;
|
||||
end func;
|
||||
|
||||
$ syntax expr: .(). dot .() is -> 6;
|
||||
const func float: (in vec3: a) dot (in vec3: b) is
|
||||
return a.x*b.x + a.y*b.y + a.z*b.z;
|
||||
|
||||
$ syntax expr: .(). X .() is -> 6;
|
||||
const func vec3: (in vec3: a) X (in vec3: b) is
|
||||
return vec3(a.y*b.z - a.z*b.y,
|
||||
a.z*b.x - a.x*b.z,
|
||||
a.x*b.y - a.y*b.x);
|
||||
|
||||
const func string: str (in vec3: v) is
|
||||
return "(" <& v.x <& ", " <& v.y <& ", " <& v.z <& ")";
|
||||
|
||||
enable_output(vec3);
|
||||
|
||||
const func float: scalarTriple (in vec3: a, in vec3: b, in vec3: c) is
|
||||
return a dot (b X c);
|
||||
|
||||
const func vec3: vectorTriple (in vec3: a, in vec3: b, in vec3: c) is
|
||||
return a X (b X c);
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
const vec3: a is vec3(3.0, 4.0, 5.0);
|
||||
const vec3: b is vec3(4.0, 3.0, 5.0);
|
||||
const vec3: c is vec3(-5.0, -12.0, -13.0);
|
||||
begin
|
||||
writeln("a = " <& a <& ", b = " <& b <& ", c = " <& c);
|
||||
writeln("a . b = " <& a dot b);
|
||||
writeln("a x b = " <& a X b);
|
||||
writeln("a .(b x c) = " <& scalarTriple(a, b, c));
|
||||
writeln("a x(b x c) = " <& vectorTriple(a, b, c));
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue