投稿

ラベル(雑学)が付いた投稿を表示しています

メモ (5回目)

2024/3/3(日) メモ (5回目)   昼の12時は午前12:00?それとも午後12:00?   日本では 午前0~11~12と考えて午前12時は昼 午後0~11~12と考えて午後12時は夜   欧米では 午前12~1~11AMで0は12表記なので12AMは夜 午後12~1~11PMで0は12表記なので12PMは昼   つまり 夜中の12:00は午後12:00、12:00AM(a.m.) 昼間の12:00は午前12:00、12:00PM(p.m.) です   しかし 正午~(午後)を午前12:00~午前12:59~午後1:00~と 表示すると午後なのに午前表示となり混乱しますが   正午~(午後)を午後12:00~午後12:59~午後1;00~と 表示するとしっくりきます (または午後0:00~午後0:59~午後1;00~と表示するか)   アナログ時計やデジタル時計の12時間表記では 0~11時表記ではなく12~1~11時の表記になり しかもデジタル時計では昼間の12時を午後12:00と 表記されますので 個人的には 昼を午前12:00とする日本の法律を変えて 昼を午後12:00とした方が良いと思います     過去記事 https://ulprojectmail.blogspot.com/2021/11/n88-basicclock1.html N88-BASICでアナログ時計  

メモ (4回目)

2024/2/29(木) メモ (4回目)   BASICの行番号やGOTO文について   ■  N88-BASIC互換VL,NL,XL-BASICの行番号について Windowsのメモ帳等のスクリーンエディタで 行番号の無いプログラムを書き(ラベル使用、ERL不使用) LOAD命令で読込ませると行番号が自動付加されます SAVE "ファイル名",N で行番号を取り除いて保存できます     ■ BASICの行番号について BASICが作られた頃のはメモリーや速度などの 制限でラインエディタ(1行入力方式)が主流でした   MS-DOS時代以降のスクリーンエディタ(画面入力方式) なら行番号入力は必要有りませんが ラインエディタでは編集する行を知るために 行番号が必要でした 現在の恵まれた環境からは想像しにくいですが     ■ GOTO文について(BASIC, C, アセンブラ) CPU (コンピュータ) は機械語 ( アセンブラ ) で 動いています アセンブラ は 条件分岐 ( BASI CのIFとGOTO) が無ければ CPUを制御 できません   BASICにはGOTOに 代わる 命令FORやWHILEなど も 用意されており アセンブラよりも分かり易い プログラムが書けます (構造化プログラミング)   GOTOよりFORやWHILEを使う方が分かり易い プログラム が 書 けるという意味が いつのまにか GOTO自体が 悪者扱いされるようになり ました   アセンブラやBASICは 書き方によってた 分かり易くも 悪く も出来ます GOTO(分岐命令)は悪者ではなく 使い方 次第 です  

メモ (3回目)

2024/2/28(水) メモ (3回目)   個人的感想     頭の中で「KO N BA N WA」と発音しながら かな入力すると「こんばんは」と正しく打て ローマ字入力すると「こんばんわ」と間違いがち なので かな入力派です     住所や日付は日本ではビッグエンディアン (欧米ではリトルエンディアン)なので PCもビッグエンディアン派ですが PC-98はリトルエンディアンなので残念に思っています (X68000はビッグエンディアン) https://ulprojectmail.blogspot.com/2022/12/endian.html エンディアン(個人的感想)     レトロPCは直接ハードウェアを操作できたので 楽しかったのだと思います モダンPCはブラックボックスだらけで 便利だけれどもつまらなく思う     昔C++が便利で良く遊んでいましたが 同じ動作をCで書くと実行速度が1.?倍に アセンブラだとさらに1.?倍に アセンブラは大変なのでCに落ち着きました     BASICは簡単な事が簡単にできる利点があります LINE(0,0)-(100,10),7 のように1命令で線が引く事ができますが 他の言語では線を引くだけでも大変です     BASICのMMLのオクターブ操作の >は大なりなので高く(o4→o5) <は小なりなので低く(o4→o3) と考えていましたが >は鍵盤の→側(高く) <は鍵盤の←側(低く) の説得力に目から鱗です 太い管は低い>細い管は高いという イメージも当てはまります     過去を見る事は出来るが未来を見る事は出来ない 未来へ行くことは出来るが過去へ行くことは出来ない と思う  

メモ (2回目)

2024/2/27(火) メモ (2回目)   教育問題     7本/人 × 2人 = 2人 × 7本/人 = 14本 である事を理解していない大人がけっこういる以上 掛け算に順序があるという教え方は良くないのではと 思います     χ + χ は 2χ と書ける事が分からないというので χが2個なので 2 × χ と説明をすると それは χ × 2 であって 2 × χ の順だと間違いだと 習ったというので それは間違ったことを教えられていたのだと 説得した     10円/本 × 5本 = 5本 × 10円/本 = 50円 である事を 割り算(円/本)を理解してから 教え直すべきだと思います     1cm ÷ 5mm = 2 は正しいと思うのですが 個人的には 分量単位(接頭語+基本単位)をそろえた途中式も書いて 1cm ÷ 5mm = 10mm ÷ 5mm = 2 とする方が間違いにくく親切で良いと思います   過去記事 https://ulprojectmail.blogspot.com/2023/11/multiplication.html 掛け算の順序問題  

メモ (1回目)

2024/2/26(月) メモ (1回目)   科学と哲学     科学は事実を追究する学問 哲学は空想を追究する学問   うわさは事実より空想の方が広まりやすい事を考えると 科学(事実)より哲学(空想)の方が 人の心を動かしやすいのかも知れません   個人的には空想(哲学)より事実(科学)に心を動かされます     哲学は人知を人知で理解する学問 人間が考えた法則を知る学問 信仰などもかかわってくるもの   科学は人知を超えた存在を人知で理解する学問 人知を超えた存在(自然)が作った法則を知る学問 信仰するものではなく事実を知る事     哲学をやめる事は思考停止すること 答えがなくとも考え続けないと 他人の空想が正しいと思わされてしまう   科学をやめる事は事実を諦める事 事実を諦めると事実とは異なる空想が 事実だと思わされてしまう  

エンディアン(個人的感想)

2022/12/12(月) エンディアン(個人的感想)   ビッグエンディアンとリトルエンディアン (Big endian,Little endian)   ビッグエンディアン(MC68000系)と リトルエンディアン(i8086系)は バイトオーダー(バイト順)で使われている用語です   コンピュータの場合の例 メモリー1000(h)からC言語の文字列"AB"が 入っているとすると        +0 +1 +2 1000:41 42 00   となっています   これを16bitのレジスタで1000(h)の内容を読み取ると ビッグエンディアン(68000系)では4142(h) ("AB"の順) リトルエンディアン( 8086系)では4241(h) ("BA"の順) となります   個人的には このリトルエンディアン( 8086系)では逆になる という感覚で混乱する事が多いので ビッグエンディアン(68000系)に統一してほしい と思っています     日常でもこのオーダー順が存在します   ビッグエンディアン(大きい順)(68000系)の例   算用数字(桁の大きい順) 日本などの住所(広さの大きい順) 日本などの日付(期間の大きい順)   リトルエンディアン(小さい順)(8086系)の例   欧米などの海外の住所、日付     ここで A市のC町とD町、B市のC町とD町 2021年の11月と12月、2022年の11月と12月 を並び替え(Sort)すると   ビッグエンディアン(大きい順)(68000系)では A市C町 A市D町 B市C町 B市D町 (同じ市が集まる) 2021/11 2021/12 2022/11 2022/12 (古い順に並ぶ)   リトルエンディアン(小さい順)(8086系)では C町A市 C町B市 D町A市 D町B市 (同じ市が集まらない) 11/2021 11/2022 12/2021 12/2022 (古い順にならない) 海外では、こちらが主流なので リトルエンディアンが優勢になり易かったのかも と思っています   個人的には もちろん慣れているというのもありますが 日常でも ビッグエンディアン(大きい順)(68000系) の方が便利な気がしますし N88-BASIC(PC

数学(算数)雑学 (5回目)

イメージ
2022/11/28(月) 数学(算数)雑学 (5回目)   三角関数 図1. 単位円(半径1の円)   図1.の様に sinθは円の弦の部分なので、正弦 cosθは弦への垂線で、   余弦 tanθは円の接線なので、  正接   弦の方向が正、弦と垂直な方向が余 になっているようです   N88-BASICでは 以下の0の部分を2π(=360°)などの ラジアン単位の角度を指定し ? sin(0) Enterキー ? cos(0) Enterキー ? tan(0) Enterキー で表示できます   N88-BASIC互換?VL,NL,XL-BASICは 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

数学(算数)雑学 (4回目)

2022/11/26(土) 数学 (算数)雑学 (4回目)   連立方程式   加減法   2x + y = 5 -) x + y = 3 ------------   x     = 2   y     = 3 - x = 3 - 2 = 1   コンピュータに解かせる場合 行列 |2 1||x| = |5| |1 1||y|   |3|          ↓1に |2 1 5| = |1 1/2 5/2| = |1 1/2 5/2| |1 1 3|   |1 1   3  | = |0 1/2 1/2|                   ↑0に             ↓0に |1 1/2 5/2| = |1 0 2| |0 1   1  | = |0 1 1|   ↑1に   |1 0||x| = |2| |0 1||y|   |1| |x| = |2| |y|   |1|   つまり、対角線上を1、れ以外を0にする (最終列以外を単位行列にする) と最終列が答えになります   対角線を1に出来ない場合は 解けませんので 出来るように行を入れ替えておく 必要があります N88-BASIC互換?VL,NL,XL-BASICは 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

数学(算数)雑学 (3回目)

イメージ
2022/11/15(火) 数学(算数)雑学 (3回目)   分数の足算   1/2 + 1/3 = ? なぜ通分するのか?   □:存在しない、■:存在する として分数を表すと    |■ ■ ■|□ □ □|  …  1/2 (=3/6) + |□ □|□ □|■ ■|  …  1/3 (=2/6) = |■|■|■|□|■|■|  …  5/6   3/6 + 2/6 = 5/6 つまり、分母が同じでないと 足すのは困難   なので 通分が必要です     もう一つの例 図1. 1/2 + 1/4 = 3/4 … (2/4 + 1/4)   これをN88-BASICで計算させるには   ? 1/2 + 1/4 Enterキーで 0.75が表示されます(3/4=0.75)     分数のまま計算させるには 最小公倍数で通分して 結果を約分するプログラムをつくる必要があります   最小公倍数は分母の積/最大公約数または 素因数分解を利用すれば求める事ができます 最大公約数はユークリッドの互除法などを 利用すれば求める事ができます   https://ulprojectmail.blogspot.com/2021/11/n88-basicprime-2.html N88-BASICで素数 (2回目) (素因数分解)   https://ulprojectmail.blogspot.com/2022/02/n88-basiceuclid.html N88-BASICでユークリッドの互除法 (最大公約数で約分)     N88-BASIC互換?VL,NL,XL-BASICは 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

数学(算数)雑学 (2回目)

2022/11/9(水) 数学(算数)雑学 (2回目)   掛算の順序   問題 1個50円のりんご6個でいくらか?   50 × 6 = 300の意味は 50円/個 × 6個 = 300円   6 × 50 = 300の意味は 6個 × 50円/個 = 300円   つまり 50 × 6 と 6 × 50 は 同じです   けっして 50円 × 6個 = 300円 6個 × 50円 = 300個 ではありません   この式の正しい答えの単位は 50円 × 6個 = 300円個 = 300個円 6個 × 50円 = 300個円 = 300円個 となり円個や個円なんて単位見た事がなく 単位の付け方が間違っている事が分かります しかし順番を入替えても同じ答えになります   ただし 行列の積、ベクトルの外積、四元数の積など 掛算の順番を変えると値が変わるものも 存在します   詳しくは   https://ulprojectmail.blogspot.com/2021/06/n88-basicmatrix-1.html N88-BASICで行列(matrix) (1回目) (行列の積) https://ulprojectmail.blogspot.com/2021/06/n88-basicmatrix-2.html N88-BASICで行列(matrix) (2回目) (ベクトルの外積)   https://ulprojectmail.blogspot.com/2021/06/n88-basicquaternion-1.html N88-BASICでクォータニオン(quaternion) (1回目) (四元数の積)     N88-BASICでは 50 × 6 = 300は ? 50 * 6 Enterキーで 300が表示されます   当然 ? 6 * 50 Enterキー も300が表示されます     N88-BASIC互換?VL,NL,XL-BASICは 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

数学(算数)雑学 (1回目)

イメージ
2022/11/5(土) 数学(算数)雑学 (1回目)   分数での割算   6 ÷ 3 = 2 ですが、これは 6個 ÷ 3人 = 2個/人 つまり 6 ÷ 3 = □ ÷ 1 (6 : 3 = □ : 1) の□を計算する事になります (1人分を求める事になる)   2 ÷ 1/3 = □ ÷ 1 (2 : 1/3 = □ : 1) で□ = 6になります 2個を1/3人で分けると、1人分は6個です   また ある数を3で割る事と、1/3倍(逆数倍)する事は同じ なので ある数を1/3で割る事と、3倍(逆数倍)する事は同じ です (逆数は分子分母を入れ替えた数 2/3の逆数は3/2、1/3の逆数は3/1)   問題   4個の☆を2皿で分けると1皿分の☆は何個?   4 ÷ 2 = 2  …  ( 4個 ÷ 2皿 = 2個/皿 ) 2個の☆を1/2皿で分けると1皿分の☆は何個?   2 ÷ 1/2 = 2 × 2 = 4   ( 2個 ÷ 1/2皿 = 2個 × 2(/皿) = 4個/皿 )     以下、この2問の図解です 図1. 分数での割算(割算は1皿分を求める事)の図   N88-BASICでは 4 ÷ 2 = 2は ? 4 / 2 Enterキーで 2が 2 ÷ 1/2 = 4は ? 2 / (1/2) Enterキーで 4が表示されます   ? 2 / 1/2 だと 2 ÷ 1 ÷ 2 = 1になりますので 注意が必要です   N88-BASIC互換?VL,NL,XL-BASICは 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい