投稿

ラベル(N88-BASIC)が付いた投稿を表示しています

N88-BASICでnのn乗の和 (2回目)

イメージ
202 5 / 12/2(火 ) N88-BASICでnのn乗の和 (2回目)   ( summation )   ■   nのn乗の和の1の位 ▼   問題 Σ n=1 10 n 100   = 1 100   + 2 100   + 3 100   + … + 10 100   の 1の位はいくつか   ▼   参照   nのn乗の和の1の位 (2回目)   より Σ n=1 10 n 100   = 1 100   + 2 100   + 3 100   + … + 10 100   ≡ 3 (mod 10) (1の位は3)     ■   多桁演算 (正の整数の和積) ▼   設計 Σ n=1 10 n 100   = 1 100   + 2 100   + 3 100   + … + 10 100   < 10 100 ・ 10 = 10 101   (102桁) より 文字変数 (最大255文字)で1文字1桁に対応させて足りるので 正の整数 255桁(文字)同士の和積を実装し計算する   n = 1~10までの各結果の下2桁を表示し 最後に Σ n=1 10 n 100   の結果と計算時間を表示しています   ▼   結果 Σ n=1 10 n 100   = 1 100   + 2 100   + 3 100   + … + 10 100   = 10000265616025915085580987810979861492643890241086 46749449153743033415896167749949249632000590464813 3 … (101桁)で 1の位は3という結果になりました     V L, NL ,XL -BASICとdlg~.zip( sum002 .bas)は このブログ (以下のリンク)からダウンロードできます https:/...

N88-BASICでnのn乗の和

イメージ
202 5 / 11/8(土 ) N88-BASICでnのn乗の和   ( summation )   ■   nのn乗の和の1の位 ▼   問題 Σ n=1 100 n n   = 1 1   + 2 2   + 3 3   + … + 100 100   の 1の位はいくつか   ▼   参照 https://ulprojectmail.blogspot.com/2025/11/nn1summation.html nのn乗の和の1の位   より Σ n=1 100 n n   = 1 1   + 2 2   + 3 3   + … + 100 100   ≡ 0 (mod 10) (1の位は0)     ■   多桁演算 (正の整数の和積) ▼   設計 Σ n=1 100 n n   = 1 1   + 2 2   + 3 3   + … + 100 100   < 100 100 ・ 100 = 10 202   (203桁) より 文字変数 (最大255文字)で1文字1桁に対応させて足りるので 正の整数 255桁(文字)同士の和積を実装し計算する   n = 1~100までの各結果の下2桁を表示し 最後に Σ n=1 100 n n   の結果と計算時間を表示しています   ▼   結果 Σ n=1 100 n n   = 1 1   + 2 2   + 3 3   + … + 100 100   = 10037111574617644535170121071336194152854686194907 35145420151724372365800346347469712449437881324601 50776779198800002366059871900041784732217539059306 4838349778659735767513458533859817194489690276419...

N88-BASICで斜面投射

イメージ
202 5 / 10/10 ( 金 ) N88-BASICで斜面投射   ( slope )   ■   斜面投射 ▼   問題 傾斜角 θの摩擦のある斜面に沿って斜方投射するとその軌跡はどうなるか   ▼   運動方程式 動摩擦力 F' = μ'N = μ'mgcosθ 傾斜面に垂直な方向の重力加速度の成分 gsinθ 加速度ベクトル a (t)   = (a x (t), a y (t)) 速度ベクトル  v (t)   = (v x (t), v y (t)) とすると   a (t) = -(0,   gsinθ )   - { v (t)/| v (t)| } μ'gcosθ   ▼   数値計算 a (t) = -(0,   gsinθ )   - { v (t)/| v (t)| } μ'gcosθ この微分方程式を 位置ベクトル x (t ) = (x(t), y(t)) について解くのは困難なので近似値を数値計算する   時間の増分を ⊿tとし a (t) = -(0,   gsinθ )   - { v (t)/| v (t)| } μ'gcosθ v (t + ⊿t ) = v ( t )   + a (t) ⊿t x (t + ⊿t ) = x ( t )   + v (t) ⊿t という大雑把な式で計算しています ⊿tが小さいほど精度が上がり計算時間が増えます     ▼   動作 初速度 v 0   = (v x , v y )を入力すると軌跡を描画します     V L, NL-BASICとdlg~.zip( slop001 .bas)は このブログ (以下のリンク)からダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICで二次方程式の解の公式 (2回目)

イメージ
202 5 / 9/10 ( 水 ) N88-BASICで 二次方程式の解の公式   (2回目)   ( quadratic )   ■   二次方程式の解の公式 ▼   式 https://ulprojectmail.blogspot.com/2025/08/quadratic-2.html 二次方程式の解の公式 (2回目) より ax 2   + bx + c = 0 x = {-b±√(b 2   - 4ac)}/(2a) または x = -c/b   x = -2c / {b±√(b 2   - 4ac)} は未使用     ■   説明 ▼   動作 ax 2   + bx + c = 0 の a,b,cを入力し計算結果を表示します (今回は分数と複素数表示に対応しました)   ▼   例題 2xx + x - 6 = 0, (2x - 3)(x + 2) = 0, x = -2, 3/2   xx + 4 = 0, x = ±2i   4xx + 12x + 25 = 0, x = (-12±√(144-400))/8 = (-12±√(-256))/8 = (-12±16i)/8 = (-3±4i)/2   -2xx - 2x + 5 = 0, x = (2±√(44))/(-4) = (-2±2√(11))/4 = (-1±√(11))/2     VL,NL-BASICとdlg~.zip( quad202 .bas)は このブログ (以下のリンク)から ダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICで二次方程式の解の公式 (1回目)

イメージ
202 5 / 9/5 ( 金 ) N88-BASICで 二次方程式の解の公式   (1回目)   ( quadratic )   ■   二次方程式の解の公式 ▼   式 https://ulprojectmail.blogspot.com/2025/08/quadratic-2.html 二次方程式の解の公式 (2回目) より ax 2   + bx + c = 0 x = {-b±√(b 2   - 4ac)}/(2a) x = -2c / {b±√(b 2   - 4ac)}     ■   説明 ▼   動作 ax 2   + bx + c = 0 の a,b,cを入力すると(a = 0も可能) x = -2c / {b±√(b 2   - 4ac)} の計算結果を表示します (残念ながら分数ではなく小数表示になります)     VL,NL-BASICとdlg~.zip( quad201 .bas)は このブログ (以下のリンク)から ダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい

N88-BASICで懸垂線(改訂版)

イメージ
202 5 / 8 / 25 ( 月 ) N88-BASICで 懸垂線 (改訂版)   ( c atenary) 懸垂線 ( カテナリー、紐を垂らしたときの曲線 )   ■   前提 https://ulprojectmail.blogspot.com/2025/08/catenary-8.html 懸垂線 (改訂版) (8回目) より   ▼   定義 g   : 重力加速度 [ m/s 2 ] ρ   :紐の線密度 [kg/m] L   : 紐の長さ [ m ] (0 < √(x 1 2   + y 1 2 ) < L) x 1   : 紐の両端間の水平距離 [ m ] y 1   : 紐の左端に対する右端の高さ [ m ] が分かっている   H   :水平張力[N] (紐の頂点での張力) x 0   : 左端から紐の底までの水平距離 [ m ] y   : 紐の高さ [m] ( 紐の 左端を原点と する xの関数 )   ▼   H H = ρ g λ   ▼   y(x)のグラフ λを ニュートン法 で求める α = log{(1   +   y 1 /L) /(1   -   y 1 /L) }と置く β  = (1 /L)cosh( α / 2 ) と置く f( λ ) = 2 β sin h(x 1 / ( 2 / λ ) )  - 1/ λ   = 0 f ' ( λ ) = (1/λ 2 ){1 - β x 1 cos h(x 1 / ( 2 λ ) ) }   初期値 λ 0   = x 1 /[2√{ 6 /( β x 1 ) - 6 }]        … 近似式 Δ λ n  = f( λ n )/f ' ( λ n ) λ n+1  = λ n   -   Δ λ n   λ  = λ n +1  (if |Δ λ n | ...

懸垂線(改訂版) (4回目)

202 5 / 7 / 30 ( 水 ) 懸垂線 (改訂版)   ( 4 回目 )   ( c atenary) 懸垂線 ( カテナリー、紐を垂らしたときの曲線 )   ■ 前提 ▼   定義 g   : 重力加速度 [ m/s 2 ] ρ   :紐の線密度 [kg/m] x 0  : 紐の底の x 座標 [m] H   :水平張力[N] (紐の頂点での張力) y   : 紐の高さ [m] ( 紐の 左端を原点と する xの関数 ) y '   : 紐の 傾き   ▼   懸垂線 λ  = H/(ρg) と置く y (x) = λ { cosh(x / λ - x 0 / λ) -   cosh(x 0 / λ) } y '(x)   = sinh(x / λ - x 0 / λ)   ▼   問題 L   : 紐の長さ [ m ] (√(x 1 2   + y 1 2 ) < L) x 1  : 紐の右端の x 座標 [m]   (2) L を g,ρ, x 0 , x 1 , H   で表せ     ■ (2)Lの 導出 ▼   定義 d s     : x~x +dx 間 (点 A,B 間 )の紐の長さ (m)     ▼ 紐の微小長さ ds y '(x)   = sinh(x / λ - x 0 / λ)   ds  = √ (dx 2  + dy 2 )   = dx √ {1 + (dy/dx) 2 }   = dx √ ( 1 + y ' 2 ) = dx √ { 1 + sinh 2 (x / λ - x 0 / λ) } = dx √ cosh 2 (x / λ - x 0 / λ) = cosh (x / λ - x 0 / λ) dx ▼   紐の長さ L ds = cosh(x / λ - x 0 / λ)dx   を積分 L  = ∫ 0 x1 ds =...