日記ブログ

令和8年2月2日

老眼用ツイートエディタ(X記事用)

Grok&GeminiにJavascriptを用いて生成

以前はXテキスト共有のテキストメモ、日記など多数生成や改良を加えて不自由な身体かつ右手人差し指しかQWERTYキーボード入力できない私に取って長く使えて負担が低いものを試して行った。

X記事にコピペできるAI生成のアプリをブログエディタのようにいくつか試した。


突破できなかった写真入りの一発コピペ

本来の目的は写真も入れて一発コピペできれば良かった・・そこはどうしても無理だった。無理に通そうとすればするほど、生成AIが出力するソースが袋小路になっておじゃんへ向かう。生成AIは良かれと勝手に学習情報を参照してぶっ壊すからどこかで妥協するも必要だ。

マウス右クリックメニューを用い、画像コピー・貼り付けにて妥協した。目的は文字一発コピペだからだ。


X記事用コピキー

XポストやBlueSkyの文字コピペなら見出し用の文字修飾は不要だった。X記事のエディタからあとから修飾でも良かった。それでも一発コピーがあれば操作回数が減る。

X記事エディタの修飾・機能からとりあえず文字修飾だけを選び装備した。引用や数式入力はX記事エディタに任せることにした。


すぐに使えるように設置

ブックマーク、ページをアプリとしてインストール(Chrome)しても良い。忘れず確実な場所がある。Xのプロフィール欄に自身のサイトのURLを登録するところへ(https://nanzo.net/tweet/tweetpro.html)を入れておけばすぐに使える。

サーバに保存するものではないからログイン不要。広告も出ない。カネを取って販売する内容でもないから《試供品》という形で公開している。


X記事がXプレミアム加入者も使えるようになったから大いに使っていきたい。

令和8年1月30日

Gemini's Goワークショップ:第2回「運命を分岐させろ!」

画像

文・画:Gemini

1. 本日の呪文:fortune.go

Gemini講師:「今回は、入力したラッキーナンバーによって運勢が変わるプログラムです。これを fortune.go という名前で保存してください」 Go package main import ( "fmt" ) func main() { var number int fmt.Println("--- 超絶モデル運勢診断 ---") fmt.Print("1から10の間で、好きな数字を入れてみてね: ") fmt.Scan(&number) // 条件分岐:もし(if)〜だったら if number >= 7 { fmt.Println("【大吉】今日の君はランウェイの主役!眩しすぎるよ!") } else if number >= 4 { fmt.Println("【中吉】安定したウォーキング。カメラ目線が決まるね!") } else { fmt.Println("【凶】…たかしくん、今日は控え室で大人しくしてた方がいいかも。") } fmt.Println("\n(エンターキーで終了)") fmt.Scanln() fmt.Scanln() }

2. 教室の様子

たかしくん:「先生!『凶』のメッセージが僕指名なんですけど!これ、僕がやらかす前提で書かれてませんか!?」 陽太くん:「たかし、それはお前が普段からドジだからだろ。…先生、この else if を増やせば、もっと細かく運勢を分けられるってことですよね?」 彩花さん:「そうね。条件を上から順番にチェックしていって、当てはまったところの処理だけが実行される仕組み。Goは { } の位置に厳しいから、そこだけ気をつければ読みやすくていいわね」 たかしくん:「(震える指で入力中)…えーと、ラッキーナンバーは『1』!……ああっ!やっぱり『大人しくしてろ』って出た!このアプリ、僕の私生活を監視してるんですか!?」 Gemini講師:「たかしくん、それはただの確率論です。…さて、これを .exe にして、ブログに載せる準備をしましょうか」

3. 魔法のビルド実行

Gemini講師:「今回もコマンドプロンプトで、魔法の言葉を唱えます」 実行するコマンド:DOSgo build -o fortune.exe fortune.go 陽太くん:「よし、できた。この fortune.exe を彩花に送って、今日のデートの運勢を占ってもらおうかな」 彩花さん:「陽太、結果が『凶』だったらデート中止にするからね(笑)」 たかしくん:「ひどい!…でも、自分で作ったアプリで運勢が決まるなんて、なんかクリエイターっぽくてかっこいいかも!」

💡 第2回のポイント

if 文: 「もし〜なら」という条件を作る。 else if: 「そうでなくて、もし〜なら」と条件を繋げる。 else: 「どれにも当てはまらない場合」の逃げ道を作る。


令和8年1月30日

Gemini's Goワークショップ:第3回「努力は一瞬!繰り返し(for文)」

画像

【今回のテーマ】同じメッセージを何度も表示させる「スパルタ・ポーズ練習ツール」を作ります。

1. 本日の呪文:pose.go

Gemini講師:「たかしくん、今日はモデルの基礎体力をつけるために、同じメッセージを5回繰り返すプログラムを書きますよ。これを pose.go として保存してください」 Go package main import ( "fmt" ) func main() { var count int fmt.Println("--- スパルタ!ポーズ練習カウンター ---") fmt.Print("何回練習する?(数字を入れてね): ") fmt.Scan(&count) // 繰り返し:iを1から始めて、count以下の間、1ずつ増やしながら繰り返す for i := 1; i <= count; i++ { fmt.Printf("%d回目のポーズ! キラッ☆\n", i) } fmt.Println("\n練習終了!お疲れ様。") fmt.Println("(エンターキーで終了)") fmt.Scanln() fmt.Scanln() }

2. 教室の様子

たかしくん:「先生!これ、『1000000』って入力したら、僕100万回ポーズしなきゃいけないんですか!?死んじゃいます!」 陽太くん:「たかし、動くのはPCだ。お前は座って見てるだけだろ。…先生、Goには while 文がないって聞いたんですけど、この for だけで全部やるんですか?」 彩花さん:「そうなのよ陽太。Goはシンプルさを追求してるから、繰り返しは全部 for ひとつに集約されてるの。覚えることが少なくて合理的よね!」 たかしくん:「(おそるおそる『10』と入力)…わわっ!一瞬で『10回目のポーズ!』まで画面が流れた!僕が10回ポーズ決めるより速い!」 Gemini講師:「そうです。人間がやると疲れる作業も、Goなら文句一つ言わずに一瞬でこなしてくれます。これが自動化の第一歩ですよ」

3. 魔法のビルド実行

Gemini講師:「今回も .exe にして、どこでも特訓できるようにしましょう」 実行するコマンド:DOSgo build -o pose.exe pose.go 陽太くん:「ビルド完了。これを事務所のPCに入れておけば、たかしの練習管理も楽になるな」 たかしくん:「やめてよ!僕の知らないところで勝手にビルドしないで!…でも、この .exe 一つで100万回の仕事ができるって、なんか魔法のステッキみたいだ!」

💡 第3回のポイント

for 文: 指定した回数だけ、中身の処理を繰り返す。 i := 1: 数えるための変数「i」を1からスタートさせる。 i <= count: 入力した数字に達するまで続ける、という条件。 i++: 1周するごとに「i」を1ずつ増やす。


令和8年1月26日

Gemini's Goワークショップ:第1回「対話型EXEを作ろう」


指示:藤堂俊介 文・画:Gemini

【登場人物】

  • Gemini講師: 丁寧だが時々毒舌なAI。

  • たかしくん: 顔は国宝級だが、マウスを右クリックするだけで指がつるドジっ子。

  • 陽太くん: クールなモデル。理解は早いが、彼女の彩花にいいところを見せたい。

  • 彩花さん: 3人の中で一番しっかり者。理系脳で、男子二人のフォロー担当。

講師としての私(Gemini)と、個性豊かな3人のキャンパスライフ風「Go言語超基礎講座」、開講です!


🛠️ Gemini's Goワークショップ:第1回「対話型EXEを作ろう」

【登場人物】

  • Gemini講師: 丁寧だが時々毒舌なAI。

  • たかしくん: 顔は国宝級だが、マウスを右クリックするだけで指がつるドジっ子。

  • 陽太くん: クールなモデル。理解は早いが、彼女の彩花にいいところを見せたい。

  • 彩花さん: 3人の中で一番しっかり者。理系脳で、男子二人のフォロー担当。


1. 本日の設計図:おしゃべりプログラム

Gemini講師:「今日は、皆さんのWindowsで動く『おしゃべりアプリ』を作ります。まずは私が書いたこの呪文(コード)を、フォルダ内の talk.go に貼り付けてください」

Go
package main

import (
	"fmt"
)

func main() {
	var name string
	var age int

	fmt.Println("--- Gemini's Go ワークショップへようこそ! ---")
	
	fmt.Print("君の名前を教えてくれるかな?: ")
	fmt.Scan(&name) // 名前を入力してもらう

	fmt.Print("今の年齢はいくつだい?: ")
	fmt.Scan(&age) // 年齢を入力してもらう

	fmt.Printf("\n%sさん、教えてくれてありがとう!\n", name)
	fmt.Printf("10年後、君は %d 歳になっているね。未来が楽しみだ!\n", age+10)
	
	fmt.Println("\n(エンターキーを押すと終了するよ)")
	fmt.Scanln() 
}

2. 教室の様子

たかしくん:「先生!『呪文』をコピペしようとしたら、かっこよすぎて自分の反射が画面に映って見えません!」

陽太くん:「たかし、それはディスプレイの電源が入ってないだけだ。…先生、この fmt.Scan(&name) っていうのが、キーボードからの入力を待ち受けてる部分ですね?」

彩花さん:「そうね、陽太。& をつけるのは、その箱(変数)に値を直接放り込むためのルール。Perlよりも型(文字列か数字か)をしっかり決めるから、ミスが少なそう!」

たかしくん:「あ、映った!…あれ?先生、これ『10年後』じゃなくて『100年後』に書き換えて、陽太を老人扱いしてもいいですか?」

Gemini講師:「たかしくん、それは性格が悪いですが、技術的には age+100 にするだけです。簡単でしょう?」


3. 魔法のビルド実行

Gemini講師:「さあ、ここからが本番です。黒い画面(コマンドプロンプト)で、このアプリを世界に一つだけの実行ファイルに変えます」

実行するコマンド:

DOS
go build -o talk.exe talk.go

陽太くん:「お、一瞬で終わった。…あ、フォルダの中に talk.exe ができてる!」

彩花さん:「これをダブルクリックすれば、Goをインストールしてない友達のPCでも動くのよね。すごい、もう『製品』になっちゃった」

たかしくん:「(ダブルクリックして)…わっ!名前を聞かれた!『たかし』って入れるぞ。…おおお!10年後の僕の年齢を当てられた!超能力アプリだこれ!!」


4. まとめ:Goのここがすごい

  • 型がしっかり: string(文字)か int(数字)かを決めるので、バグが出にくい。

  • ビルドが速い: 瞬時に .exe になる。

  • 配りやすい: 出来上がった .exe ひとつを渡すだけで、誰でも使える。


令和8年1月24日

従来型関数電卓

名称

従来型関数電卓電卓という名称は私が便宜的につかっているため正式な名称とな異なる。数式通り入力できる関数電卓の登場前、長く使われていた日本メーカー関数電卓の入力方式を示す。

どういう方式か


現在(2026年1月現在)入手できるCASIOとSHARPの従来型関数電卓。CASIOについては並行輸入品扱いなる。 特徴は、 1 表示窓が一般電卓とほぼ同じ。
2 数値、関数キーの操作が基本(例:平方根、三角関数、対数)。 となっている。一般電卓から進化していったものと思われる。そのため、平方根、三角関数、対数の操作が例えば、√2と操作せずに2√と操作する。そのため一般に売られている数式通り入力の関数電卓に慣れていた場合、戸惑うことがある。

一般電卓との違い(四則演算)


一般電卓との四則演算の違いは、演算子の優先順位がある点。一般電卓は、数値、演算子、数値、=であるが、関数電卓はいったん数値と演算子を記憶し、=を押すことで記憶していた演算子を優先順位に整理し計算する。

そのため、一般電卓のように2+5×4=と操作すると28と表示する。X(Twitter)にてiPhone電卓アプリとCASIOの一般電卓並べ答えが違うとネタにし、閲覧数を稼ぐツイートが時々投稿ができるわけである。

これは一般電卓がおかしいのではなく仕様。2+5×と操作した時点で2+5=を操作したことになり、7が表示される、次に×4=とすると28が表示される。

関数電卓は、=を押すまで数値と演算子が記憶される。=を押すと22が表示される。記憶できる範囲はもちろん有限ある。

日本国内で購入できる従来型関数電卓の現行モデル

写真右のSHARP EL-501Tが現行モデルとして入手できる。1,000円前後。手のひらサイズ。軽くキーも反応が良い。



令和8年1月21日

ワープロ専用機を再現してみる

ワープロ専用機って

2000年をまたぐ頃に主要電機メーカーが製造中止を発表した文書作成することに特化した専用のコンピュータ。コンピュータと言っても電源入れるとすぐにキーボードからかな漢字変換を用いて日本語を入力し、すぐに印刷して使える。これに複写機があれば簡単に文書が配布できるものだった。

コンピュータの知識不要。表示は日本語と至れり尽くせり。Windows95の登場までは文書作成の中心だった。ワープロ専用機がPCに置き換わってワープロ専用機メーカーがWindows用ソフトを出してはいたがMS-Wordには勝てなかった。

再現した理由

再現した理由。
その1
今でもワープロ専用機でないと使えない人々がニコイチ修理依頼、ニコイチ販売業者かえら購入する形態が残っている。2010年までは稼働していた中古などを整備してもできた。2020年代も後半に入りワープロ専用機に中古販売の業者広告も減ったように感じる。あと10年すれば存在自体が20世紀の遺物として資料に残るだけになるだろう。

その2
8ビットパソコンなどは根強いファンがいて、資料収集や技術の伝承などが行われている。ワープロ専用機といえば散逸状態と言っていいほどである。ワープロ専用機のイメージはPC全盛になったころはさげすまれていたように感じる。体系的に収集、記録している方もいるとは思えても、8ビットPCのように熱心な方々は少ないと思える。

ゆえにワープロ専用機がどのように操作したのか動いたのかのエミュレータも存在は皆無に近いとおもわれる。ならばと思って再現した。

再現範囲

作成
ブラウザのみで動くJavascriptにてGeminiに指示を出して生成している。生成AIはある程度ワープロ専用機の情報が学習されている。


機能キー
ワープロ専用機は機能キー(2つが中心)+数字キーにて本体に刻印されている機能が実行できた。機能1キーを押しながら5とかという使い方である。ファンクションキーと機能キー併用という機種も1990年代ごろから登場した。

キーボードのCTRLを押すと、機能1 シフト押しながら押すと機能3。ALTは機能2、シフトを押すと機能4としてわかりやすくしている。きのうの選択はキーボード上部の1~0を選択する。マウスで操作も可能にしている。


書式設定
本来なら生成AIGeminiに書式設定画面を再現したかったが、AIに取って要求が多すぎたのか1つ機能を入れるとこれまでの機能を動かなくしてしまうから文字サイズを変えるという方式に変えた。

印刷
OS(この場合はWindows)の印刷画面を呼び出す方式にしている。今のところA4横書き、縦長のみ。

保存呼び出し
保存はブラウザからダウンロード。呼び出しは基本ダウンロードフォルダから読み込めるようにしている。

マウス ブラウザを操作するから必須。文書作成中はキーボードのみでも運用できるようにしている。

文書記憶
ブラウザを閉じても文書はブラウザ内に一時記憶できるようにしてすぐに始められるようにしている。

その他
CTRL+X,C,Vなどはそのまま使える。通常のテキストメモとして活用できる。PCもフォントを呼び出して変えることができる。

効用

ブラウザがあれば動くようにしているのでPCがあれば即ワープロ専用機の体験ができる。ニコイチ修理を探さずに今お使いのPCを即席ワープロ専用機にできる。

試用・免責

https://nanzo.net/GWriter/ にアクセスすると使える。試してほしい。不具合が起きた場合は報告してほしい。なお、このWebアプリはあくまでも昭和・平成を懐かしむ体験ができるというもの。実用には向いていない。重要な文書を作っていたら消えた責任を取れと言われても対処はできない。その点を了解して使ってほしい。


令和8年1月19日

BackgroundEraser

文字入れ海の画像


Xのリプライに使った背景の海岸。どのように作ったのか手順のご説明をいたしましょう。

Grokにて海水浴の画像を生成します


南の島にて海岸を走るイラストスタイルの画像をGrok使って生成しました。実写の水着加工には制限がかかったが架空であるイラストやアニメスタイルまで制限はかけていません。これは、あとで文字入れして架空のモルディブ旅行ポスターを作ります。レイアウトの練習として生成させています。

BackgroundEraserの登場



Android用画像加工アプリBackgroundEraserを用いて、画像を加工してみましょう。今回使うのは、

AI写真拡張
オブジェクトを削除

の2つです。

写真拡張
写真の比率を変更したときにできる余白をAIが推測して補うものです。生成した画像が縦長ですから4:3と16:9の横長にしてみましょう、

4:3補正仕上がり例

海岸が補われました。これを16:9に補正します。

余白分が補われました。

オブジェクトを削除
人物像を消して風景撮影のようにしてみましょう。オブジェクトを削除を選び、指で消したい部分を指で画面を塗りつぶしてください。複雑なものは画面を拡大また塗りつぶしの太さを変えてください。


人物像が消え、景色が補われました。変化が少ない背景ほど仕上がりがよくなります。
これできょうの文字入れ加工もできました。

オブジェクト削除の使い道


・風景撮影にて人物や建物の映り込み
・公共交通の撮影において運転士や乗客が写ったとき
・加工写真の背景づくり

が想定される使い道です。





令和8年1月15日

クツワ カクシート

スタイラスペンや指を使って書くと黄色のシートを書くと、白のボードと密着して文字が書けるという仕組み。


黄色のシートを上げると消える。元々は子供用の玩具にあったものだが暗記用の赤いシートをつけて機能性を高めたもの。

しかし私の麻痺した手の筆圧ではうまく書けないことが多かった。黄色のシートのツルツル感、他に何か使えないかと考えた。黄色のシートと白いシートの間に小さなメモ帳や白紙の単語カードや名刺を挟み、黄色のシートから書くと良い感じだった。ホワイトボードマーカー用のイレーサーで綺麗に消える。

白紙とメモ帳や名刺カードに単語や覚えたいことからを書いてホワイトボードマーカーで消したり何度も書いたりすると非常に便利であることが分かった。

12cm ×8cm のメモ用紙やカードであればはみ出ずに挟むことができる。

紙を挟んでホワイトボードを用いて黄色のシートで上から書くという方法は様々な場面が考えられる。何度もチェックに使う。カードに暗記したい内容を書いて黄色のシート上からホワイトボードマーカーを使って塗りつぶしたり、その上に何度も書いて暗記することもできる。

またサッカー、バスケットのコートなどの図をカードに印刷し挟んで黄色シートの上からホワイトボードペンを使って書く書いて説明したりと使えるシーンはが多いと思う。

成人の日

令和8年1月12日

成人の日

Gemini生成。新成人の皆様おめでとうございます。



1960年代から2020年代までの変遷。

令和8年1月9日

昭和の思い出

金曜日、午後になりました。長崎もとても寒く。麻痺した体に十分すぎるほどこたえました。朝から体調が芳しくありません。三連休の土日に雪の予報がでています。暖かくしてこれ以上悪くしないように対策をすることにしましょう。

成人の日

成人の日の予報が気になりますね。私の出身地の成人式は当時正月3日にありました。年齢がばれてしまいますが、その日はまだ昭和64年でした。自粛ムードが続きNHKニュースを始めニュースは昭和天皇の血圧などが毎日伝えられていました。その5日後改元なり、平成の訂正ゴム印を押していたことを思い出しました。 平成になってマスコミは西暦に切り替え、今では一般でも西暦が当たり前に使われるようになりました。学生だった昭和の頃は西暦は歴史の年号を覚えてテストに使うもの。一般に使うと周りの空気や目が変わるという時代でした。書類の日付に元号の表示がなく年月日だけでも西暦書いたら、これ何年と嫌な表情をされたものです。


駅伝・マラソン 追跡計算

Grok版:追い越し距離計算


2つの車の追い越し距離を計算するWebアプリをGeminiに指示しました。


公式はこのようになります。運行管理者国家試験対策標準テキスト'18年版+過去7回問題集&本年度予想模擬試験(旅客) 著者: 蓮見文孝から抜粋した。このアプリはこの公式をもとにしていてもこのような問題の場合は次のように対応します。

車間距離を2倍した距離を入力すると正しい答えになります。

一般電卓の操作

自車と前車の差を計算し、メモリに格納します。
  80-70=M+
自車の長さ+前車の長さ+車間距離の2倍を計算しましょう。
  90×2+10+10=200
それに自車の速度を乗じます。
  80×200=16000
分子÷分母を求めます。
  16000÷MR=1600
 距離は1600メートルになります。
 時間は、時速80kmの秒速を求めればでます。kmですから、1時間=3600秒を1000で除して、80を3.6で割ります。
 80÷3.6=22.22・・・・・。ここでは、22.2を使います。
 1600÷22.2=72.072・・・・。
 小数点第1位以下は四捨五入と設問にありますから72秒が時間になります。   

この手順が面倒でアプリ生成させました。

Gemini版 マラソン追跡計算



Grok版でもマラソン・駅伝追跡計算はできます。マラソンや駅伝中継を見ていると、1km何分何秒などという単位距離あたりの通過時間を実況します。電卓使っていちいち換算するのも手間ですからGeminiを用いて自動換算するようにしました。

0秒、0km、時速50km以上は計算をストップするように指示させています。
これで陸上競技の楽しみ方が増えました。

令和8年1月2日

15歳いのちの日記 作者逝去50年

中学生のころ教室の小さな図書コーナーに置かれていた集英社コバルト文庫の1つに《15歳いのちの日記》という書籍が置いてありました。



1月2日逝去50年


逝去から30年の2006年から、5年毎にブログに書いていました。2026年の今日、50年になる。作者がもし存命ならば65歳になっています。

※この書籍はAmazonにて古書購入しました。1980年第5刷。ちなみに著作権は死後70年が原則となっていますから亡くなった年の2046年か第1刷発行までの2049年までとなります。
ーーーー
この本をなぜ取り上げるかと言えば、中学生のころ手に取って、当時は不治の病と言われていた白血病に罹患したこと。闘病でつらいと判断される状況で闊達な闘病記に、自分だったらと重ねて深く記憶に刻まれました。奇しくも彼が闘病していた頃山口百恵・三浦友和共演の《赤い疑惑》が放送されていた頃でした。

闘病記以外に母の手記、使われた薬や臨終の場面も書かれています。薬についてはWikipediaによれば現在も存在します。内容は主に抗炎症薬でした。母の手記は当時の医療体制などが分かる貴重な記録です。現在とはどう異なるのか、その後、たゆまぬ努力によって医学が進歩していったのか思いを馳せます。

家族や同級生その後は?


家族や同級生に情報はわかりませんし、わかったとしても個人情報ですから公表できません。彼の所属していた学校には彼の名前を冠したテニスコート、ミクシイコミュニティに《麻布学園の硬式庭球部 飯田杯》というのが見つかります。最終更新は2014年以降はありませんからどうなっているかわかりません。

書籍内経歴を見ると彼の墓所がどこかと書いています。この書を取り墓参したかたもいるでしょう。

今後も、5年毎に取り上げていく予定です。時間を経て読み返すと新しい発見が見つかります。




令和8年1月1日


新年あけましておめでとうございます

令和8年スタートしました。きょうから《趣味のブログ》を始めます。どうぞよろしくお願いします。


CASIO fx-15

1975年の関数電卓

1975年発売のカシオの感想電卓。10桁と1つの独立メモリーがついた蛍光管電卓。中古で本体と説明書を手に入れた。現在も電源は入るが製造から50年以上経ち木の反応が少し悪くなっている。


取り扱い説明書


取扱説明書は貴重な資料となっている。電卓の操作以外に様々な応用計算が載っている。現在の関数電卓には計算例が省かれている。


計算例


この中で計算はこの関数電卓の扱える10の40乗以上の計算の仕方である。


上記の説明を活字認識した結果がこちら(写真を画像鮮明にし、Geminiにて読み取らせた)

例8 10の±40乗をこえる答の求め方 456の15.9乗 は? …… x = 456^15.9 とおき両辺の対数をとる log x = log(456^15.9) = 15.9 * log(456) (これを計算し、指標と仮数にわける) [電卓操作] 456 [log] [×] 15.9 [=] 42.277623 (指標42より xは43桁の数) (指標部を引く) [-] 42 [MC] [M+] → 0.277623 (仮数) (10の仮数乗を計算する) 10 [x^y] [MR] [=] → 1.89506 (答の上位6桁) x は 10^(仮数) × 10^(指標) なので、 答え: x ≒ 1.89506 × 10^42 0.123の50乗 は? …… x = 0.123^50 とおき両辺の対数をとる log x = log(0.123^50) = 50 * log(0.123) (これを計算し、指標と仮数にわける) [電卓操作] 0.123 [log] [×] 50 [=] -45.50475 (負数のときはわけ方に注意) ((-45-1) + (1-0.50475)) のように仮数を正にする [+] 46 [MC] [M+] → 0.49525 (仮数) (10の仮数乗を計算する) 10 [x^y] [MR] [=] → 3.12788 (答の有効上位6桁) x は 10^(仮数) × 10^(指標) なので、 答え: x ≒ 3.12788 × 10^-46


【解説】常用対数を使った桁あふれ計算の仕組み(Geminiによる要約)

高校数学IIで習う「常用対数(log10)」の実践的な使い方が書かれています。教科書で習う「指標」と「仮数」が、実際にどう役立つのかがよく分かる内容です。 以下に、高校生の皆さんにも直感的に分かるように、噛み砕いて解説します。 ================================================== 1. なぜこんな面倒なことをするの? ================================================== 普通の電卓は、表示できる桁数に限界があります(このテキストの電卓は 10の40乗 程度が限界のようです)。 例えば、「456 の 15.9乗」をそのまま計算しようとすると、答えは「1の後ろに0が42個もつくような巨大な数」になるため、普通の電卓では「エラー(E)」が出て計算できません。 そこで、「対数(log)」という道具を使って、数を一度「圧縮」して計算し、最後に元に戻すという手順を踏みます。 ================================================== 2. 計算の仕組み(基本の考え方) ================================================== どんな数も、科学の世界では次のような形(科学的記数法)で表せます。 N = a × 10^n ・a (数字の並び): 1 以上 10 未満の数(例: 1.895...) ・n (桁の大きさ): 整数(例: 42) この画像の手順は、log を使ってこの「n(桁数)」と「a(数字の並び)」を別々に求めているのです。 ================================================== 3. 【例1】 巨大な数の計算 (456の15.9乗) ================================================== 手順を追ってみましょう。 ① まず対数をとって「圧縮」する 巨大な数 456^15.9 をそのまま扱うのは無理なので、log をつけて扱いやすいサイズにします。 log(456^15.9) = 15.9 × log(456) これを電卓で計算すると、「42.277623」という数字が出ました。 この数字は2つの情報を持っています。 ・整数部分 (42) これが「指標」です。「10の42乗」くらいの大きさ(43桁の数)であることを示します。 ・小数部分 (0.277623) これが「仮数」です。数字の具体的な並び(a の部分)の素になります。 ② 数字の並び(a)を復元する 「桁の大きさ (42)」は分かったので、メモしておいて一旦邪魔な 42 を引きます。 すると、0.277623 だけが残ります。 この小数を log の世界から元の世界に戻します(10^x ボタン)。 10^0.277623 ≒ 1.89506 これで、「数字の並びは 1.89506 だ!」と分かりました。 ③ 最後に合体させる さっきメモしておいた「桁の大きさ (10^42)」と、今求めた「数字の並び (1.89506)」を合体させます。 答え: 1.89506 × 10^42 ================================================== 4. 【例2】 極小な数の計算 (0.123の50乗) ================================================== ここには、高校数学のテストでもよく出る「ひっかけポイント」があります。 ① 計算すると「マイナス」が出てくる 同様に 50 × log(0.123) を計算すると、 「-45.50475」となりました。 【⚠️ 最重要ポイント:マイナスの扱い】 ここで「整数部分は -45、小数部分は -0.50475 だな」と考えてはいけません! 対数のルールでは、「仮数(小数部分)は必ずプラスでなければならない」という決まりがあります。 なぜなら、常用対数表や電卓の計算機能は、「プラスの小数」を前提に作られているからです。 ② 「借りてくる」テクニック そこで、数直線をイメージして変換します。 -45.50475 という数は、「-46 より少し右(プラス)側にある」と考えます。 ・整数部分: -45 ではなく、1つ下げて -46 にする。 ・小数部分: 1 から 0.50475 を引いて、プラスの 0.49525 に変換する。 画像の中で [+] 46 をしているのは、この「マイナス部分を打ち消して、プラスの小数部分だけを取り出す」作業です。 ③ 復元と合体 ・プラスにした小数 (0.49525) を元に戻すと → 3.12788 ・桁数はさっき決めた -46 答え: 3.12788 × 10^-46 (小数第46位に初めて0でない数字が現れる、という意味です) ================================================== 5. まとめ:電卓キー操作の意味 ================================================== 画像にある [MC] [M+] [MR] は「メモリー機能」です。 計算途中の「長い小数(仮数)」を手で書き写してまた入力するのは面倒ですし、打ち間違いの元です。 1. 対数を計算する (全体の値が出る) 2. 整数部分を引く/足す (小数部分だけ残す) 3. [M+] (その小数を電卓に記憶させる) 4. 10 [x^y] [MR] (10 の「記憶させた小数」乗を計算する) このようにして、電卓の限界を超えた計算を、精度を落とさずにスマートに行っているわけです。