「擬似コード」を含む日記 RSS

はてなキーワード: 擬似コードとは

2023-11-28

擬似コード必要性

いらなくないか

細かな記法定義が人によって違うのが原因で、実際に実装してみると厳密さに欠けていることに気付くことが結構ある。

2023-10-06

anond:20231006231447

今まさにアルゴリズム説明を読んでたんだよ。

https://qiita.com/ngtkana/items/d7fc4463e56b966d1ebf#%E7%96%91%E4%BC%BC%E3%82%B3%E3%83%BC%E3%83%89

学術的な文章とか教育目的とかで言語に囚われない記法をする必要があるなら擬似コードで書く必要があると思うけど、そうでないならそのままソースコードを載せれば良いのでは?って思った。

2019-01-17

anond:20190117080240

そういうことだったのか

厚い本とかに出てくる擬似コードは根っこに数学があるから普通に1始まりだし訳がわからんかった

どこ由来の作法なのか謎だった

anond:20190117073041

forの処理の違いではなくrangeの記述のしかたと処理の違いじゃないかな。

擬似コードすら書かれてないからなんとも言えんが。

2018-06-25

anond:20180625041934

ビビるぐらい適当に回答した感があったので補足を、言語習得するには向き不向きがあるので、最低限のプログラミングセンス必要です。

このあたりはやってみて確認してください。ドキュメントを読んで思った処理が書けるならプログラミングセンスとしては十分です。

もし働くって観点で、ステップアップを望むなら、数学力が必要になります。もし理系出身数学センス下地があるなら、数学科に行く必要はないです。

アルゴリズムの数式を理解できれば良いので最低限は代数行列計算です。その他は特化した数学を都度身につけていけばいいです。

数学知識完璧でなくていいです。確認して理解できれば十分。

言語習得擬似コードフローチャート英語など、必要ものはほかにもあるのでバランス良くね。

言語勉強も入門レベルを終えたら、本やブログなどに頼るのではなくて、APIドキュメントを読んで勉強するようにしてください。

2014-07-01

http://anond.hatelabo.jp/20140701114643

"sudo code"

検索上位、ほとんど擬似コードの話してるだろーが。

いや、そもそも"sudo code"で検索してるんだからそれが出てくるだろ。。。

sudo codeに別の意味があるわけでもないんだから。。。

それくらいは理解しようよ。。。

pseudoをsuu dooって読んでて、そのままsudoって書く人結構いるんだってぐらいの話だろ?

少なくとも上がってるsudo codeで検索した上位陣の方ではほとんどがpseudoだよね?的な指摘を受けてる感じだが。

確かにお前みたいに英語が出来ないバカが間違えてる奴が多いのか、スルーして"そのpseudocodeは。。。"みたいに言い直してる人もいるが。

それが、結構いるんだろ、って話って言ってるけど、それ、

knifeをnifeと勘違いしてるのと同じレベルの間違いだから。それくらい恥ずかしい話だから

http://anond.hatelabo.jp/20140701113957

そいつは決してpesudoを言い方おかしからsudoってしてるわけじゃないだろ。

知らんがな。

pseudoをsuu dooって読んでて、そのままsudoって書く人結構いるんだってぐらいの話だろ?

"sudo code"

検索上位、ほとんど擬似コードの話してるだろーが。

あとオレは元増田じゃねーって。

http://anond.hatelabo.jp/20140701111238

えーと、よく知らんのだが、

アスペ増田を無理やりにでもその後の発言から解釈してあげようとすると、

どこか英語フォーラムで、明らかに擬似コードの話をしている所で、

"sudo code"と表していた、ということでよろしいか?



とりあえず、そう書いてあるページのリンクの1つでも貼って確かにお前の言うとおりなら皆納得すると思うよ。

そうでない限りお前は恥ずかしいだけだよ。

きちんとリンク貼れば皆が恥ずかしい思いするからお前は上から笑えるわけだし、見たページを出せば良いだけだから簡単でしょ?


ちなみにお前の最初論理意味分からんってのがなんでかと説明すると、

あくまで"sudo"というコマンドがあって、それを"pesudo"と読む人がいる、っていうだけで、

決して"pseudo"を"sudo" (soo-doo)の様に読む、という話だからだぞ?

"sudo"コマンドってのが他のユーザーに成り代わってコマンドを実行するので、pseudoユーザーとしてのコマンド、的な意味にも取れるから

語源をそれだ!と思ってたりする人もいるってこと。で、語源のまま発音してる人も居るってこと。

sudosuper user doとする人もいるけど、一番強そうなのはsuコマンドも含めて"switch user" doみたいだけど(super user以外にもなれるので)。




いずれにしろ、pseudoがなんか変だからsudoって言うわ、ってのは聞いたこと無いんだが、そんな発言どっかにあった?

まあ、お前と同レベルの頭の人が居たのかもしれないけど、でも普通はその時点で周りと話が通じなくなるよな。。。

2014-06-30

何人だかは知らないけど欧米の人がネットフォーラムで「これがsudo code(擬似コード)なんだけど」って書いてるところに出くわして

あ、やっぱりお前らもpseudoっていう綴りは変だと感じてるんだ、と思った

2013-03-08

[]開発の手順

1. そうなって欲しいこと・願望・コンセプトを得る。得ようと思っても得られない。ここは偶然起こること。

2. 何をするか・What・思い付きを挙げる。ブレインストーミング

3. どうやるか・How・方法を考える。「できそう」という段階まで。

4. 必要もの・使える技術前例を集める。他人を説得できるようになる。

5. 機能クラスといった実装上の分割、役割分担など行動に移すための細分化と割り当てを行なう

6. 各機能・各クラスでやることを列挙する。

7. やること別に「そのためにやらなければならないこと」を実行順通りに書き下す。擬似言語擬似コード

8. 擬似言語設計→擬似言語フィードバック設計と擬似言語→実装

コラム ── アサーションについて】

擬似コードを書くならアサーションも一緒に書く。不要な用語や用語の重複があるとうまくアサーションを書けない(かみ合わない)。用語の最適化変数コード最適化でもある。

事前条件→事後条件をアサーションで表明、事後条件→他の事前条件へ連鎖契約によるプログラミング契約プログラミング

擬似言語でのアサーションはそのままプログラムコードでもアサーションになるか、テストコードになるか、メソッド|関数|手続きのパラメーター・戻り値コメントになる。アサーションは「実行可能なコメント」(Executable Comments)とも呼ばれている。

9. あとはセンス

RIGHT:[[:t/Prog]]

----

CC0

2009-06-15

うんコード

例えば下記の擬似コード


 i = 1;
 while( i & 7 ) {
   i++;
 }

勘弁して。いや、わかるよ。言いたいことはさ。でも俺こういう書き方慣れてないから脳内で素早く2進数変換できないの。

いや単なるイディオムとして覚えてればいい話ってのはごもっともだけど普段こういう書き方しないからパッと出てこないんだよね。

一応これがいまいちわからない人のために説明すると


 i = 1;
 while( i < 8 ) {
   i++;
 }

ってことだから。(厳密に言えば少し違うが、ここでの話はこれで良い)

なんちゅーかさ。条件が10以下とかに変わるだけで破綻するしさ。

ってかもう今時のコンパイラならコレくらいの変換勝手にやってくれるんじゃねーの?(さすがにまだまだ?この辺疎い)

そうであれば速度的は変わらないわけで単純に可読性&拡張性低下させてるだけの存在になるよね。

まあでもこれは基本的なことなんだけど、自分では書かなくても読めるようにはならないといけないってのは真なので文句を言ってるだけじゃ何も変わらない。

ということでみんなガンガンこういうコードを書いていこう。

もっともっと書いて書いて書きまくろう。

上のような処理は各ビットが全部立ってる場合に有効になるので算出方法としては


 (1 << x) - 1

となる。

つまり2の累乗から1引くと各ビットが立った数値となるわけなのです


10進数 2進数
   1 00000001
   3 00000011
   7 00000111
  15 00001111
  31 00011111
  63 00111111
 127 01111111
      :

ビットが全部立ってる数値を&で評価すると、その値を一つ超える数値、すなわち2の倍数が来るまでは常に真となるわけですね。

先ほどの処理で言うならばこういうことになります。


 i & 7 = x

(1)00000001 & (7)00000111 = 00000001
(2)00000010 & (7)00000111 = 00000010
(3)00000011 & (7)00000111 = 00000011
(4)00000100 & (7)00000111 = 00000100
(5)00000101 & (7)00000111 = 00000101
(6)00000110 & (7)00000111 = 00000110
(7)00000111 & (7)00000111 = 00000111
(8)00001000 & (7)00000111 = 00000000

という感じでiが8になった時点で7との論理演算の結果が偽となるため、ループが終了します。

正直スクリプト言語から入るとこういう低レベル計算を行うことは殆どないし、逆にこういうコードを書いてると先輩から怒られます。

なので自分で学ばない限りなかなかこれらのコードを直に理解できる状態にはならないので注意が必要です。

コードというのは「書けなくても、書かなくても、読めなければならない」これ鉄則。

プログラ増田のあなぐら

 
ログイン ユーザー登録
ようこそ ゲスト さん