synapse perceptron_synapse : std_synapse { /* ... s. Aufgabe 8.2 ... */ } neuron perceptron_neuron : std_neuron { /* ... s. Aufgabe 8.1 ... */ } network perceptron : std_network { input: real ext_input[42]; /* ... Eingang fuer Lehrersignal, s. Aufgabe 8.3 ... */ output: /* ... Ausgang der Neuronenschicht, s. Aufgabe 8.3 ... */ private: perceptron_neuron layer[10]; perceptron_synapse net = {full,ext_input,layer, /* ... Verschaltung der Synapsen, s. Aufgabe 8.3 ... */ }; int total_error; public methods: void init(void) { net.init(); layer.init(); } real learn(void) { total_error = 0; while (read_inputs_next() != -1) { net.prop(); layer.learn(); total_error = total_error + reduce(+,layer.abs_error); write_outputs(); net.learn(); } trace_real(total_error,8,6); return(total_error); } }