エクセル指向プログラミング(Excel Oriented Programming、EOP)は、ノンプログラマにとって最も直感的で習得が容易なプログラミングスタイルです。
ブログラマは難解な言語機能を覚えることなく、拡張が容易なソフトウェアを、簡単に開発することができます。
プログラムのすべてのデータは長さ可変の二次元配列の上で管理されます。この二次元配列を「シート」といい、配列の各要素を「セル」と言います。
シートはシングルトンオブジェクトです。すなわち、EOPでは単一のグローバル変数を上書きすることでプログラムの状態を更新します。
構造化データはすべて配列で表します。データ型などのスキーマはありません。どの行・どの列がなんのデータを表すのかは、その場その場で変更することができます。
行方向または列方向に連続するセルが一つのデータ構造を表します。したがって、構造化データの読み取りは
while(cell) {
// do something
cell = sheet[r][c++];
}
のように書けます。使い終わった領域は0またはnullで初期化しておきます。
ネストされた構造化データは、セルへの参照をセルに書き込みます。たとえば、多重配列を表現する場合は、ネストされた配列の先頭要素の座標をセルに書き込みます。
EOPでは、プログラマは好きなときに好きなデータ構造を使用することができます。既存のプログラミングスタイルのように、データ型やメソッドのシグネチャに、データ構造が制限されることがありません。
エクセル指向プログラミング
2024/03/26(火) 17:12:59.08ID:e/0sucGI
2024/03/26(火) 19:59:23.04ID:e/0sucGI
EOPでは、シートを用いてデータ構造をシンプルかつ柔軟に扱えるだけではなく、シートは手続きを表現することもできます
以下のプログラムは、4つのコマンド
ADD
PRINT
を持ちます
ADDを呼ぶと、引数の数が合計値に加算されます
PRINTを呼ぶと、現在の合計値が表示されます
r = 0;
sum = 0;
while(cell) {
if (cell == "ADD") {
sum += sheet[r][cmd + 1];
}
if (cell =="PRINT") {
print(sheet[r][cmd + 1]);
}
cell = sheet[++r][cmd];
}
以下のプログラムは、4つのコマンド
ADD
を持ちます
ADDを呼ぶと、引数の数が合計値に加算されます
PRINTを呼ぶと、現在の合計値が表示されます
r = 0;
sum = 0;
while(cell) {
if (cell == "ADD") {
sum += sheet[r][cmd + 1];
}
if (cell =="PRINT") {
print(sheet[r][cmd + 1]);
}
cell = sheet[++r][cmd];
}
2024/03/27(水) 05:40:00.84ID:Ln/fAIz6
言語何使ってんのコレ
2024/03/27(水) 14:53:16.09ID:8k2YrkW2
なんかオライリーみたいな導入
2024/03/29(金) 14:55:32.56ID:hQjfrr6D
ID:e/0sucGI
こいつろくにプログラミングしたことないんだろうなぁ
こいつろくにプログラミングしたことないんだろうなぁ
10デフォルトの名無しさん
2024/03/29(金) 16:33:00.75ID:4yVHOK9w ネタスレにマジレス
2024/03/30(土) 19:46:50.28ID:lpdJhGw+
あれだけ連投してるのにネタスレでごまかすのは無理でしょ
まぁ足りない頭を絞って書いたものを正論で潰されるのは可哀相っちゃ可哀相だけど…
まぁ足りない頭を絞って書いたものを正論で潰されるのは可哀相っちゃ可哀相だけど…
12デフォルトの名無しさん
2024/03/30(土) 22:25:41.35ID:2vvOizF3 うわぁ……
2024/03/31(日) 05:30:13.50ID:mCr6Yy4A
>>1があれ以降書き込んでないのがお察し
どんな反応求めてたんだろう
どんな反応求めてたんだろう
14デフォルトの名無しさん
2024/03/31(日) 10:58:19.19ID:bHunl/8X15デフォルトの名無しさん
2024/03/31(日) 11:12:10.16ID:AFDVA+e4 一次元の配列指向プログラミングならセルの参照は1個のパラメータだけで済むからより効率的
16デフォルトの名無しさん
2024/04/02(火) 15:32:40.58ID:CQMIJaVM 1次元配列ならジャンプ先のアドレスの指定は変数1個で済む
2024/04/02(火) 15:41:03.62ID:x3qRw97u
多次元配列だって計算すれば同じだよ
変数一つで実現できる
逆に一次元配列を多次元配列とみなして使う方法だってあるんだし
変数一つで実現できる
逆に一次元配列を多次元配列とみなして使う方法だってあるんだし
18デフォルトの名無しさん
2024/04/02(火) 19:06:12.99ID:5dwwFNXN C言語なら、ポインタ型変数1個だけ使えばいいな
2024/04/02(火) 19:09:22.44ID:7yjlHQas
>>18
ポインタ理解できてないだろ
ポインタ理解できてないだろ
20デフォルトの名無しさん
2024/04/02(火) 19:10:55.75ID:5dwwFNXN >>19
?
?
2024/04/02(火) 19:18:03.35ID:JgXYUviJ
>>20
ポインタ型変数一つじゃ実現不可って話
ポインタ型変数一つじゃ実現不可って話
2024/04/02(火) 19:22:08.05ID:kERS+9TD
・配列の先頭アドレスを指すポインタ
・行数,列数を表す符号なし整数
・↑をまとめた構造体
・行数,列数を表す符号なし整数
・↑をまとめた構造体
2024/04/02(火) 19:38:20.00ID:JgXYUviJ
それをポインタ型変数1個って言うか?
24デフォルトの名無しさん
2024/04/02(火) 19:51:06.70ID:oY83wibz >>21
なぜ?
なぜ?
25デフォルトの名無しさん
2024/04/02(火) 19:55:08.71ID:vNvRaytj ネタスレで、そのネタを下回る知能のやつがああだこうだ言っているという地獄
26デフォルトの名無しさん
2024/04/02(火) 19:57:07.31ID:GZPLkX8A ポインタ1個と即値だけでいけるがな
2024/04/02(火) 20:11:35.84ID:abcHw/BD
スタックポインタはいるだろ
28デフォルトの名無しさん
2024/04/02(火) 20:20:15.30ID:rNuJc/A1 スタックは要るな
29デフォルトの名無しさん
2024/04/02(火) 20:22:17.68ID:rNuJc/A1 いや、いらんわ
戻り先のアドレスは紙にでも書いときゃいい
戻り先のアドレスは紙にでも書いときゃいい
2024/04/02(火) 20:33:07.24ID:edguWIiV
以外に伸びたなとおもったら違う方向か
2024/04/03(水) 11:24:36.72ID:07nBP01A
エクセルでプログラムとかメンテナンス性が最悪だからおすすめしない
32デフォルトの名無しさん
2024/04/04(木) 03:34:46.18ID:GlxXdEjq ぬるぽ
33デフォルトの名無しさん
2024/04/04(木) 03:48:45.01ID:2O67KOQT データの読み書きは
while(cell = *p++) {
// do something
}
データ構造を扱いたい時は
1つのオブジェクトがいくつのフィールドを持つか決めておき
while(cell = *(p + size)) {
// do something
}
のようにする
途中で構造を変えたくなった時のために、
sizeは3つか4つ余分に確保しておくのがベストプラクティス
データ構造を入れ子にする場合や、サブルーチンを使う場合は、スタックを使う
C言語とか忘れた
while(cell = *p++) {
// do something
}
データ構造を扱いたい時は
1つのオブジェクトがいくつのフィールドを持つか決めておき
while(cell = *(p + size)) {
// do something
}
のようにする
途中で構造を変えたくなった時のために、
sizeは3つか4つ余分に確保しておくのがベストプラクティス
データ構造を入れ子にする場合や、サブルーチンを使う場合は、スタックを使う
C言語とか忘れた
2024/04/04(木) 11:19:31.47ID:AaDBa930
つまんねーC言語モドキじゃなくて
Excel4マクロみたいに独自性を出していこうよ
Excel4マクロみたいに独自性を出していこうよ
レスを投稿する
ニュース
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張 [夜のけいちゃん★]
- BreakingDown 前日会見で対戦予定選手から不意打ちビンタ→後頭部強打で失神した選手、くも膜下出血と報告「脳内に出血が発見され…★2 [Anonymous★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 [蚤の市★]
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★2 [夜のけいちゃん★]
- コメ「余っている」年明けに下落も? 大量の在庫が倉庫を圧迫、赤字の恐れ…業者「値下げするしか…」 ★3 [Hitzeschleier★]
- 【海外/米国】トランプ大統領、合成麻薬フェンタニルを大量破壊兵器に指定 [あずささん★]
- 1年後おれら「ったくあのメモリの異常高騰なんだったんよ。慌てて買うんじゃなかった」 可能性ある? [531674905]
- トランプ大統領「スタンド・バイ・ミーの監督が亡くなった。トランプ妄想症候群(TDS)という重度の妄想癖で狂ったのが死因らしい笑」 [935793931]
- 給食無償化、近く合意へ…全国民が毎年5000円負担する計算。これケンモジさんはどう思ってるの? [973343483]
- ぼく、レスバ最強。
- 元一流迷惑系ユーチューバー「パンダに頼る動物園もよくない。別にパンダがいなくても楽しめますから」 [309323212]
- 【急募】日本ドラマ史上最高傑作WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
