2024.01.20
「a = a + 1」とは?
はじめに
プログラムを作らない人にとって「a = a + 1」という式は、aを求める方程式です。
「a」と「a+1」の間に「=」(等しい、イコール)があるので、「a = a + 1」は「aと(a+1)は等しい」となります。
以下に書いた式のように「=」の両辺の値が等しいと考えるのは正しいことです。
3 = 3 10 = 5 × 2 6 ÷ 2 = 1 + 2 a = a a × 0 = 0
方程式「a = a + 1」を解いてみる
それでは、「a = a + 1」を満たすaが有るのか、実際に解いてみましょう。
解き方は、まず右辺のaを左辺に移行して左辺にaをまとめます。
この場合は、「=」の左と右の両方からaを引くと考えても良いです。
a = a + 1 … 元の式 a - a = 1 … 右辺のaを左辺に移行
次に、左辺のa-aを計算します。
0 = 1 … 左辺のa - aを計算
aの方程式を解いた結果、 両方の辺からaがなくなり「解なし」となりました。
「a = a + 1」だけではなく、「a = a + 3」や「a = a - 10」などの方程式も同様に「解なし」となります。
ソースコードの中の「a = a + 1」
a ← a + 1
例えば、a = 10の場合に「a = a + 1」の処理が実行されると、a = 11となります。

プログラミング言語によって違いますが、Pascalという言語では代入を表す「a = a + 1」を
a := a + 1
と書きます。値の代入に「=」を使わずに「:=」を使います。
この書き方だと方程式に見えないので、代入と区別がつきやすいかもしれないです。
足し算(+)以外の計算
一般的なプログラミング言語では、「a = a + 1」は、a + 1をaに代入することを表しています。
「a = a - 3」、「a = a * 5」、「a = a / 10」、「a = a * 10 + 3」などの式はどうでしょうか?
「a = a - 3」は、a - 3をaに代入することを表しています。
「a = a * 5」は、aを5倍した値をaに代入することを表しています。
「a = a / 10」は、aを10で割った値をaに代入することを表しています。
「a = a * 10 + 3」は、aを10倍した値に3を足した値をaに代入することを表しています。
このように足し算(+)以外の右辺の計算値を左辺に代入します。
a * 5 = a + 6 … 左辺が変数名だけになっていない a / 2 = a * 9 … 左辺が変数名だけになっていない 0 = a + 1 … 数字だけの変数名は使えません 100 = a * 1 + a … 数字だけの変数名は使えません
変数の名前の付け方のルールは、以下の記事を参考にしてください。
以上です。
計算に関するコンテンツ
「計算」に関係があるコンテンツをまとめています。
- コンピュータの5大装置
- アルゴリズムとは
- 円弧の長さ
- 面積とは
- 面積を計算するプログラム
- 多次元配列
- 配列
- 代入演算子
- 同じマンハッタン距離の座標をプロット
- xy-座標の描画するクラス
- 2進数
- ビット演算子
- ビットシフト
- byte型をint型へ変換
- 計算結果表示プログラム
- 画像の中心座標
- 時計の短針と長針の角度
- 最も近い座標を探す
- コラッツ予想の確認
- テーブルによる色変換 その1
- 色をARGB値に分解
- 値の比較
- コンピューター
- 消費税計算
- 数学座標→画像座標変換
- 日時
- 2つのサイコロの出目の和の確率
- ゾロ目の出る確率
- 整数の桁数を求める(for文を使用)
- 整数の桁数を求める(while文を使用)
- 割り算(除算)について
- 0.0に近い値
- 整数の割り算(除算)について
- double型のもつ誤差
- エッジ(境界)検出
- 正三角形の描画
- 正三角形
- 画像の2倍拡大
- 生年月日から年齢を計算
- 黄金角とは
- 黄金比とは
- 黄金比とは
- GPU
- グラフの表示
- グラデーション
- グラデーション画像(横方向)
- グラデーション画像(放射状)
- グラデーション画像(4隅の色)
- より自然なグレースケール変換
- 時分秒変換
- 複利計算(元利合計)
- if文
- RGBの平均値
- インクリメント、デクリメント演算子
- インスタンス
- 内角
- 点が円内かを判定
- 二等辺三角形
- お札とコインの数
- Javaプログラミングの基礎
- 学習用のJavaソースコード
- Javaでいろいろ試してみる
- 九九(くく)の表を作る
- 九九(くく)の表を作る その2
- 九九(くく)の表を作る その5
- ライン(line)
- 積和演算
- マルウェア
- 数学関数(絶対値)
- 球の表面積/体積計算
- 円の面積計算
- 立方体の表面積/体積計算
- 直方体の表面積/体積計算
- 平行四辺形の面積計算
- 台形の面積計算
- 三角形の面積計算
- バビロニアの平方根
- 円周率πを計算で求める その1
- 数学関数(立方根)
- 数学関数 三角関数 cos
- 角度の正規化
- 数学関数(2点間の距離)
- 数学関数(2点間の距離 - 3次元)
- 数学定数 自然対数の底e
- 正三角形の面積計算
- 正三角形の面積計算 その2
- 数学関数(偶数・奇数)
- 階乗
- フィボナッチ数列
- フィボナッチ数列(再帰)
- フィボナッチ数列(配列)
- 最大公約数 その2
- ユークリッド互除法
- 格子座標から円周率πを計算
- 三角形の面積計算(ヘロンの公式)
- 円周率πを計算で求める その2
- 数学関数(対数)
- 中点
- 数学関数(複数の値の最小値と最大値)
- ニュートン法
- ニュートン法で平方根
- ニュートン法で平方根 その2
- ニュートン法で平方根 その3
- 数値微分
- 完全数
- 数学定数 円周率π(パイ)
- 各位(くらい)の値を求める
- 指定の位(くらい)の値を求める
- 数学関数(累乗)
- 整数の累乗
- 10のN乗かを判定
- ピタゴラスの定理
- 二次方程式の解の公式
- 角度とラジアンの相互変換
- 数学関数(乱数)
- 回転行列
- 数学関数(小数第N桁四捨五入)
- 数学関数(符号)
- 数学関数 三角関数 sin
- 値の2乗
- 数学関数(平方根)
- 整数の平方根計算
- 1からNの和
- 数学関数 三角関数 tan
- tan(タンジェント)
- 数学関数(複数の値の合計と平均)
- 三角関数 計算方法
- 数学関数(小数第N桁切り捨て)
- メソッド
- short型の掛け算(乗算)
- 足し算とビットシフトによる掛け算
- 画像をセピア色にする
- 画像を操作するクラスの作成
- N値化
- 値上げ率の計算
- 最も近い値を取得
- 画像の色反転
- ノイズ画像の作成
- 画像にノイズを加える
- 正確な割合のノイズ画像作成
- オブジェクト指向
- 演算子
- 計算の優先順位
- 象限
- 塗りつぶし円
- 円模様(円の整列)
- 円模様2(隙間の少ない整列)
- 同心円模様
- 放射状模様
- 円周上のランダムな座標を求める その1
- 円周上のランダムな座標を求める その2
- 円周上のランダムな座標を求める その3
- 極座標系
- プログラミング言語
- プログラミング
- 乱数で文字列を生成
- 長方形
- 再帰呼び出し
- 正六角形
- return文
- 利益率の計算
- キーボード入力した角度のsin、cosを計算
- キーボード入力した値の絶対値
- キーボード入力した値を2乗(自乗)
- 白銀比とは
- 画像をぼかす
- 空間フィルタリング
- 掛け算なしで平方表の作成
- 正方形
- ステンドグラス風画像
- 2つ文字列が等しいかを判定
- 文字列の作成と初期化
- 文字数字を数値に変換
- 2進数を整数に変換
- Javaのプログラム構成
- 和の公式
- 和の公式 その2
- 表面積
- 剰余(余り)計算プログラム
- 「割り切れる」とは?
- switch文
- 三項演算子
- 円を描く(テキスト版)
- 2倍と左ビットシフトの速度
- 時間計測
- 等分除(とうぶんじょ)
- 型キャスト
- 非圧縮
- ITで使われる単位
- 単位円
- 単位ベクトル
- ウサギ算
- 変数の初期値
- 無限大 Infinity
- 変数の最小値・最大値
- 非数値
- オーバーフロー・アンダーフロー
- 変数について