A_spirale 70 800 2.13 360 ( 3600 -15 ) 3585 OPEN_OUTFILE 1 DEL_OLD '/tmp/spirale.out' WRITE_FILE 1 '--------------------------------------------' WRITE_FILE 1 'Berechnung archimedische Spirale mit ME10 ' WRITE_FILE 1 '--------------------------------------------' WRITE_FILE 1 ( 'Geg: Durchmesser d : ' + STR D 70 ) 'Geg: Durchmesser d : 70' WRITE_FILE 1 ( ' Lnge l : ' + STR L 800 ) ' Lnge l : 800' WRITE_FILE 1 ( ' Rohrdurchmesser s : ' + STR S 2.13 ) ' Rohrdurchmesser s : 2.13' WRITE_FILE 1 ( ' Anfangswinkel phi1: ' + STR Phi1 360 ) ' Anfangswinkel phi1: 360' WRITE_FILE 1 ( ' Endwinkel phi2: ' + STR Phi2 3585 ) ' Endwinkel phi2: 3585' WRITE_FILE 1 '----------+----------+----------+----------+' WRITE_FILE 1 'Abstand Windungen Durchmesser Lnge ' WRITE_FILE 1 '----------+----------+----------+----------+' LOOP A_rechne 1 Phi1 360 Phi2 3585 LET Sp_a ( A 1 ) 1 LET Sp_phi1 ( Phi1 360 ) 360 LET Sp_phi2 ( Phi2 3585 ) 3585 LET Sp_ab ( A 1 * 2 * PI ) 6.28318530717959 LET Sp_wi ( INT ( ( Phi2 3585 - Phi1 360 ) / 360 ) + INT ( Phi1 360 / 360 ) + 1.75 ) 10.75 LET Sp_d ( Sp_ab 6.28318530717959 * Sp_wi 10.75 * 2 ) 135.088484104361 A_rechne ( D 70 / Sp_d 135.088484104361 ) 0.518178884485241 Phi1 360 Phi2 3585 LET Sp_a ( A 0.518178884485241 ) 0.518178884485241 LET Sp_phi1 ( Phi1 360 ) 360 LET Sp_phi2 ( Phi2 3585 ) 3585 LET Sp_ab ( A 0.518178884485241 * 2 * PI ) 3.25581395348837 LET Sp_wi ( INT ( ( Phi2 3585 - Phi1 360 ) / 360 ) + INT ( Phi1 360 / 360 ) + 1.75 ) 10.75 LET Sp_d ( Sp_ab 3.25581395348837 * Sp_wi 10.75 * 2 ) 70 A_spirale_len A_spirale_l Sp_phi1 360 Sp_a 0.518178884485241 LET Phi ( Phi 360 * PI / 180 ) 6.28318530717959 LET Sbog ( A 0.518178884485241 / 2 * ( Phi 6.28318530717959 * SQRT ( 1 + Phi 6.28318530717959 * Phi 6.28318530717959 ) + LN ( Phi 6.28318530717959 + SQRT ( 1 + Phi 6.28318530717959 * Phi 6.28318530717959 ) ) ) ) 11.0145627900091 LET Sb Sbog 11.0145627900091 A_spirale_l Sp_phi2 3585 Sp_a 0.518178884485241 LET Phi ( Phi 3585 * PI / 180 ) 62.5700536839967 LET Sbog ( A 0.518178884485241 / 2 * ( Phi 62.5700536839967 * SQRT ( 1 + Phi 62.5700536839967 * Phi 62.5700536839967 ) + LN ( Phi 62.5700536839967 + SQRT ( 1 + Phi 62.5700536839967 * Phi 62.5700536839967 ) ) ) ) 1015.71898483188 LET Sp_len ( Sbog 1015.71898483188 - Sb 11.0145627900091 ) 1004.70442204187 Myformat Sp_ab 3.25581395348837 10 0 LET Wert ( Myround X 3.25581395348837 N 0 ( INT ( ( X 3.25581395348837 * 10 ^ N 0 ) + 0.5 ) / ( 10 ^ N 0 ) ) ) 3 LET Swert ( STR Wert 3 ) '3' LET Sl ( LEN Swert '3' ) 1 LET Pp ( POS Swert '3' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 0 > 0 ) 0 ELSE_IF LET Swert ( Swert '3' + An '' ) '3' LET Sl ( LEN Swert '3' ) 1 LET Vn '' IF ( M 10 - Sl 1 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 1 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '3' ) ' 3' LET W1 Swert ' 3' Myformat Sp_wi 10.75 10 2 LET Wert ( Myround X 10.75 N 2 ( INT ( ( X 10.75 * 10 ^ N 2 ) + 0.5 ) / ( 10 ^ N 2 ) ) ) 10.75 LET Swert ( STR Wert 10.75 ) '10.75' LET Sl ( LEN Swert '10.75' ) 5 LET Pp ( POS Swert '10.75' '.' ) 3 LET An '' IF ( Pp 3 = 0 ) 0 ( Sl 5 - Pp 3 <= N 2 ) 1 LET An ( RPT '0' ( ABS ( Sl 5 - Pp 3 - N 2 ) ) ) '' END_IF LET Swert ( Swert '10.75' + An '' ) '10.75' LET Sl ( LEN Swert '10.75' ) 5 LET Vn '' IF ( M 10 - Sl 5 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 5 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '10.75' ) ' 10.75' LET W2 Swert ' 10.75' Myformat Sp_d 70 10 2 LET Wert ( Myround X 70 N 2 ( INT ( ( X 70 * 10 ^ N 2 ) + 0.5 ) / ( 10 ^ N 2 ) ) ) 70 LET Swert ( STR Wert 70 ) '70' LET Sl ( LEN Swert '70' ) 2 LET Pp ( POS Swert '70' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 2 > 0 ) 1 LET An ( '.' + ( RPT '0' N 2 ) ) '.00' END_IF ELSE_IF LET Swert ( Swert '70' + An '.00' ) '70.00' LET Sl ( LEN Swert '70.00' ) 5 LET Vn '' IF ( M 10 - Sl 5 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 5 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '70.00' ) ' 70.00' LET W3 Swert ' 70.00' Myformat Sp_len 1004.70442204187 10 0 LET Wert ( Myround X 1004.70442204187 N 0 ( INT ( ( X 1004.70442204187 * 10 ^ N 0 ) + 0.5 ) / ( 10 ^ N 0 ) ) ) 1005 LET Swert ( STR Wert 1005 ) '1005' LET Sl ( LEN Swert '1005' ) 4 LET Pp ( POS Swert '1005' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 0 > 0 ) 0 ELSE_IF LET Swert ( Swert '1005' + An '' ) '1005' LET Sl ( LEN Swert '1005' ) 4 LET Vn '' IF ( M 10 - Sl 4 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 4 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '1005' ) ' 1005' LET W4 Swert ' 1005' WRITE_FILE 1 ( W1 ' 3' + '|' + W2 ' 10.75' + '|' + W3 ' 70.00' + '|' + W4 ' 1005' + '|' ) ' 3| 10.75| 70.00| 1005|' EXIT_IF ( Sp_len 1004.70442204187 <= L 800 ) 0 LET Phi2 ( Phi2 3585 - 360 ) 3225 EXIT_IF ( Phi2 3225 < 0 ) 0 END_LOOP A_rechne 1 Phi1 360 Phi2 3225 LET Sp_a ( A 1 ) 1 LET Sp_phi1 ( Phi1 360 ) 360 LET Sp_phi2 ( Phi2 3225 ) 3225 LET Sp_ab ( A 1 * 2 * PI ) 6.28318530717959 LET Sp_wi ( INT ( ( Phi2 3225 - Phi1 360 ) / 360 ) + INT ( Phi1 360 / 360 ) + 1.75 ) 9.75 LET Sp_d ( Sp_ab 6.28318530717959 * Sp_wi 9.75 * 2 ) 122.522113490002 A_rechne ( D 70 / Sp_d 122.522113490002 ) 0.571325436740137 Phi1 360 Phi2 3225 LET Sp_a ( A 0.571325436740137 ) 0.571325436740137 LET Sp_phi1 ( Phi1 360 ) 360 LET Sp_phi2 ( Phi2 3225 ) 3225 LET Sp_ab ( A 0.571325436740137 * 2 * PI ) 3.58974358974359 LET Sp_wi ( INT ( ( Phi2 3225 - Phi1 360 ) / 360 ) + INT ( Phi1 360 / 360 ) + 1.75 ) 9.75 LET Sp_d ( Sp_ab 3.58974358974359 * Sp_wi 9.75 * 2 ) 70 A_spirale_len A_spirale_l Sp_phi1 360 Sp_a 0.571325436740137 LET Phi ( Phi 360 * PI / 180 ) 6.28318530717959 LET Sbog ( A 0.571325436740137 / 2 * ( Phi 6.28318530717959 * SQRT ( 1 + Phi 6.28318530717959 * Phi 6.28318530717959 ) + LN ( Phi 6.28318530717959 + SQRT ( 1 + Phi 6.28318530717959 * Phi 6.28318530717959 ) ) ) ) 12.1442615377024 LET Sb Sbog 12.1442615377024 A_spirale_l Sp_phi2 3225 Sp_a 0.571325436740137 LET Phi ( Phi 3225 * PI / 180 ) 56.2868683768171 LET Sbog ( A 0.571325436740137 / 2 * ( Phi 56.2868683768171 * SQRT ( 1 + Phi 56.2868683768171 * Phi 56.2868683768171 ) + LN ( Phi 56.2868683768171 + SQRT ( 1 + Phi 56.2868683768171 * Phi 56.2868683768171 ) ) ) ) 906.532125679058 LET Sp_len ( Sbog 906.532125679058 - Sb 12.1442615377024 ) 894.387864141356 Myformat Sp_ab 3.58974358974359 10 0 LET Wert ( Myround X 3.58974358974359 N 0 ( INT ( ( X 3.58974358974359 * 10 ^ N 0 ) + 0.5 ) / ( 10 ^ N 0 ) ) ) 4 LET Swert ( STR Wert 4 ) '4' LET Sl ( LEN Swert '4' ) 1 LET Pp ( POS Swert '4' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 0 > 0 ) 0 ELSE_IF LET Swert ( Swert '4' + An '' ) '4' LET Sl ( LEN Swert '4' ) 1 LET Vn '' IF ( M 10 - Sl 1 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 1 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '4' ) ' 4' LET W1 Swert ' 4' Myformat Sp_wi 9.75 10 2 LET Wert ( Myround X 9.75 N 2 ( INT ( ( X 9.75 * 10 ^ N 2 ) + 0.5 ) / ( 10 ^ N 2 ) ) ) 9.75 LET Swert ( STR Wert 9.75 ) '9.75' LET Sl ( LEN Swert '9.75' ) 4 LET Pp ( POS Swert '9.75' '.' ) 2 LET An '' IF ( Pp 2 = 0 ) 0 ( Sl 4 - Pp 2 <= N 2 ) 1 LET An ( RPT '0' ( ABS ( Sl 4 - Pp 2 - N 2 ) ) ) '' END_IF LET Swert ( Swert '9.75' + An '' ) '9.75' LET Sl ( LEN Swert '9.75' ) 4 LET Vn '' IF ( M 10 - Sl 4 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 4 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '9.75' ) ' 9.75' LET W2 Swert ' 9.75' Myformat Sp_d 70 10 2 LET Wert ( Myround X 70 N 2 ( INT ( ( X 70 * 10 ^ N 2 ) + 0.5 ) / ( 10 ^ N 2 ) ) ) 70 LET Swert ( STR Wert 70 ) '70' LET Sl ( LEN Swert '70' ) 2 LET Pp ( POS Swert '70' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 2 > 0 ) 1 LET An ( '.' + ( RPT '0' N 2 ) ) '.00' END_IF ELSE_IF LET Swert ( Swert '70' + An '.00' ) '70.00' LET Sl ( LEN Swert '70.00' ) 5 LET Vn '' IF ( M 10 - Sl 5 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 5 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '70.00' ) ' 70.00' LET W3 Swert ' 70.00' Myformat Sp_len 894.387864141356 10 0 LET Wert ( Myround X 894.387864141356 N 0 ( INT ( ( X 894.387864141356 * 10 ^ N 0 ) + 0.5 ) / ( 10 ^ N 0 ) ) ) 894 LET Swert ( STR Wert 894 ) '894' LET Sl ( LEN Swert '894' ) 3 LET Pp ( POS Swert '894' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 0 > 0 ) 0 ELSE_IF LET Swert ( Swert '894' + An '' ) '894' LET Sl ( LEN Swert '894' ) 3 LET Vn '' IF ( M 10 - Sl 3 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 3 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '894' ) ' 894' LET W4 Swert ' 894' WRITE_FILE 1 ( W1 ' 4' + '|' + W2 ' 9.75' + '|' + W3 ' 70.00' + '|' + W4 ' 894' + '|' ) ' 4| 9.75| 70.00| 894|' EXIT_IF ( Sp_len 894.387864141356 <= L 800 ) 0 LET Phi2 ( Phi2 3225 - 360 ) 2865 EXIT_IF ( Phi2 2865 < 0 ) 0 END_LOOP A_rechne 1 Phi1 360 Phi2 2865 LET Sp_a ( A 1 ) 1 LET Sp_phi1 ( Phi1 360 ) 360 LET Sp_phi2 ( Phi2 2865 ) 2865 LET Sp_ab ( A 1 * 2 * PI ) 6.28318530717959 LET Sp_wi ( INT ( ( Phi2 2865 - Phi1 360 ) / 360 ) + INT ( Phi1 360 / 360 ) + 1.75 ) 8.75 LET Sp_d ( Sp_ab 6.28318530717959 * Sp_wi 8.75 * 2 ) 109.955742875643 A_rechne ( D 70 / Sp_d 109.955742875643 ) 0.636619772367581 Phi1 360 Phi2 2865 LET Sp_a ( A 0.636619772367581 ) 0.636619772367581 LET Sp_phi1 ( Phi1 360 ) 360 LET Sp_phi2 ( Phi2 2865 ) 2865 LET Sp_ab ( A 0.636619772367581 * 2 * PI ) 4 LET Sp_wi ( INT ( ( Phi2 2865 - Phi1 360 ) / 360 ) + INT ( Phi1 360 / 360 ) + 1.75 ) 8.75 LET Sp_d ( Sp_ab 4 * Sp_wi 8.75 * 2 ) 70 A_spirale_len A_spirale_l Sp_phi1 360 Sp_a 0.636619772367581 LET Phi ( Phi 360 * PI / 180 ) 6.28318530717959 LET Sbog ( A 0.636619772367581 / 2 * ( Phi 6.28318530717959 * SQRT ( 1 + Phi 6.28318530717959 * Phi 6.28318530717959 ) + LN ( Phi 6.28318530717959 + SQRT ( 1 + Phi 6.28318530717959 * Phi 6.28318530717959 ) ) ) ) 13.5321771420112 LET Sb Sbog 13.5321771420112 A_spirale_l Sp_phi2 2865 Sp_a 0.636619772367581 LET Phi ( Phi 2865 * PI / 180 ) 50.0036830696375 LET Sbog ( A 0.636619772367581 / 2 * ( Phi 50.0036830696375 * SQRT ( 1 + Phi 50.0036830696375 * Phi 50.0036830696375 ) + LN ( Phi 50.0036830696375 + SQRT ( 1 + Phi 50.0036830696375 * Phi 50.0036830696375 ) ) ) ) 797.51702102376 LET Sp_len ( Sbog 797.51702102376 - Sb 13.5321771420112 ) 783.984843881749 Myformat Sp_ab 4 10 0 LET Wert ( Myround X 4 N 0 ( INT ( ( X 4 * 10 ^ N 0 ) + 0.5 ) / ( 10 ^ N 0 ) ) ) 4 LET Swert ( STR Wert 4 ) '4' LET Sl ( LEN Swert '4' ) 1 LET Pp ( POS Swert '4' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 0 > 0 ) 0 ELSE_IF LET Swert ( Swert '4' + An '' ) '4' LET Sl ( LEN Swert '4' ) 1 LET Vn '' IF ( M 10 - Sl 1 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 1 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '4' ) ' 4' LET W1 Swert ' 4' Myformat Sp_wi 8.75 10 2 LET Wert ( Myround X 8.75 N 2 ( INT ( ( X 8.75 * 10 ^ N 2 ) + 0.5 ) / ( 10 ^ N 2 ) ) ) 8.75 LET Swert ( STR Wert 8.75 ) '8.75' LET Sl ( LEN Swert '8.75' ) 4 LET Pp ( POS Swert '8.75' '.' ) 2 LET An '' IF ( Pp 2 = 0 ) 0 ( Sl 4 - Pp 2 <= N 2 ) 1 LET An ( RPT '0' ( ABS ( Sl 4 - Pp 2 - N 2 ) ) ) '' END_IF LET Swert ( Swert '8.75' + An '' ) '8.75' LET Sl ( LEN Swert '8.75' ) 4 LET Vn '' IF ( M 10 - Sl 4 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 4 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '8.75' ) ' 8.75' LET W2 Swert ' 8.75' Myformat Sp_d 70 10 2 LET Wert ( Myround X 70 N 2 ( INT ( ( X 70 * 10 ^ N 2 ) + 0.5 ) / ( 10 ^ N 2 ) ) ) 70 LET Swert ( STR Wert 70 ) '70' LET Sl ( LEN Swert '70' ) 2 LET Pp ( POS Swert '70' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 2 > 0 ) 1 LET An ( '.' + ( RPT '0' N 2 ) ) '.00' END_IF ELSE_IF LET Swert ( Swert '70' + An '.00' ) '70.00' LET Sl ( LEN Swert '70.00' ) 5 LET Vn '' IF ( M 10 - Sl 5 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 5 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '70.00' ) ' 70.00' LET W3 Swert ' 70.00' Myformat Sp_len 783.984843881749 10 0 LET Wert ( Myround X 783.984843881749 N 0 ( INT ( ( X 783.984843881749 * 10 ^ N 0 ) + 0.5 ) / ( 10 ^ N 0 ) ) ) 784 LET Swert ( STR Wert 784 ) '784' LET Sl ( LEN Swert '784' ) 3 LET Pp ( POS Swert '784' '.' ) 0 LET An '' IF ( Pp 0 = 0 ) 1 IF ( N 0 > 0 ) 0 ELSE_IF LET Swert ( Swert '784' + An '' ) '784' LET Sl ( LEN Swert '784' ) 3 LET Vn '' IF ( M 10 - Sl 3 > 0 ) 1 LET Vn ( RPT ' ' ( M 10 - Sl 3 ) ) ' ' END_IF LET Swert ( Vn ' ' + Swert '784' ) ' 784' LET W4 Swert ' 784' WRITE_FILE 1 ( W1 ' 4' + '|' + W2 ' 8.75' + '|' + W3 ' 70.00' + '|' + W4 ' 784' + '|' ) ' 4| 8.75| 70.00| 784|' EXIT_IF ( Sp_len 783.984843881749 <= L 800 ) 1 WRITE_FILE 1 '----------+----------+----------+----------+' WRITE_FILE 1 ( ' Endwinkel phi2: ' + STR Phi2 2865 ) ' Endwinkel phi2: 2865' WRITE_FILE 1 '--------------------------------------------' WRITE_FILE 1 '' WRITE_FILE 1 'Variation des Abstandes ' WRITE_FILE 1 '--------------------------------------------' A_rechne1 Phi1 360 Phi2 2865 L 800 DISPLAY ( ' Gerechnete Abstand war ' + STR Sp_ab 4 ) ' Gerechnete Abstand war 4' LOOP READ NUMBER 'Geben sie gewnschten Abstand ein Ende <0>' D_abstand 0 EXIT_IF ( D_abstand 0 = 0 ) 1 WRITE_FILE 1 '--------------------------------------------' CLOSE_FILE 1 LET Sp_s ( S 2.13 / 2 ) 1.065 TRACE