質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

2回答

1660閲覧

アルゴリズムの疑似言語で一旦紙に落としてみるやり方

kazu-.

総合スコア34

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2018/09/26 14:32

疑似言語などを書くと一度ノートに手順を書いていくといいと言われるのですがそのやり方がわかりません。どうノートに書けば良いのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

そんな難しいことをしないでも、
日本語で書いていけばいいです

#BNF記法とかALGOL記法とかありますが。

投稿2018/09/26 14:34

y_waiwai

総合スコア87784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自分が書きやすいと思う方法で良いです。

とはいえ、参考例がないとわかりづらいと思うので、適当に色々なサイトから引用してみます。

if クレジットカード番号が有効
番号と注文で取引をする
else
エラーを表示する
end if

[擬似コード - Wikipedia](https://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E3%82%B3%E3%83%BC%E3%83%89)

 

C style pseudo code:

void function fizzbuzz {
for (i = 1; i <= 100; i++) {
set print_number to true;
If i is divisible by 3 {
print "Fizz";
set print_number to false; }
If i is divisible by 5 {
print "Buzz";
set print_number to false; }
If print_number, print i;
print a newline;
}
}

 

mathematical-style pseudocode

algorithm ford-fulkerson is input: Graph G with flow capacity c, source node s, sink node t output: Flow f such that f is maximal from s to t (Note that f(u,v) is the flow from node u to node v, and c(u,v) is the flow capacity from node u to node v) for each edge (u, v) in GE do f(u, v) ← 0 f(v, u) ← 0 while there exists a path p from s to t in the residual network Gf do let cf be the flow capacity of the residual network Gf cf(p) ← min{cf(u, v) | (u, v) in p} for each edge (u, v) in p do f(u, v) ← f(u, v) + cf(p) f(v, u) ← −f(u, v) return f ```> [Pseudocode - Wikipedia](https://en.wikipedia.org/wiki/Pseudocode)

 

repeat
set a flag to False
for each pair of keys
if the key are in the wrong order them
swap the keys
set the flag to True
end if
next pair
until flag is not set.

疑似コード - 大人になってからの再学習


わりと英語風に書いてあったりすることも多いですが、自分が思考に使う分には日本語で構いません(もちろん英語の方が考えが捗るというのであれば英語でも構いません)。

ある程度現実の言語の構文に寄せて書くことも多いのですが(すべて自然言語でうまいこと書こうとするよりそうした方が楽なのですが)、めんどうくさければ適当に端折って構いません。C言語風に書くと決めたとして、行末のセミコロンとかどう考えても不要ですよね。

ループの条件とかを細く考える必要も(そこが本質的なアルゴリズムだ、というケース以外では)ありません。「配列の先頭から末尾までループ」の一言で十分です。

あと、「紙に書け」という人もいますが、普通にテキストエディタを開いてパソコンで書いた方が大抵は便利です。行を足したくなるたびに、消しゴムで下を消すor丸ごと書き直すor行間に挿入記号で挿入して汚くなるのを厭わない、という方であれば紙でも構いませんが。

投稿2018/09/29 22:36

編集2018/09/29 22:36
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問