- ベストアンサー
プログラミングとかアルゴリズムとかの質問です。
こんにちは。 私はシステムエンジニア志望の大学2年生です。 プログラミングとかアルゴリズムとかの手順書に関して3つほど質問があります。 よろしくお願いします。 (1)「プログラミング」がコンピュータに対しての作業手順で、「アルゴリズム」は問題を解くための解法手順のことだと勉強しました。(間違ってたかな) そこで質問なんですが2つの手順はどう噛み合うのでしょうか? (2)プログラミング言語を全体的・体系的に把握したいのですが、上手くまとまりません。 全部で何種類ぐらいあってどういう分類(大分類・中分類・小分類)ができるんでしょうか? (3)手順書を書く時は時系列に沿ってればいいと思い、因果関係とか時間順に書いていると頭が痛くなり気持ち悪くなります。 まっすぐ直列に書くのではなく、ツリー図みたいに並列に手順を組む方法ってありますか? もし宜しければご回答をよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1) 基本認識は正しいと思います。 2) 種類数を数えるなんて非合理なのは人間の自然言語と一緒です。 外部と付き合いのない部族の言語や、現代で死滅した言語に相当する、 独自言語/特殊言語/専用言語などが無数にあり、 全てを把握している人は恐らくいません。 主要な/有名な言語でも数十種類はあると思いますし マイナー言語ははいて捨てるほどあります。 また、視点によって複数の分類方法がありますので、 画一的に全ての言語を分類するのは恐らく無理があります。 自然言語で「ラテン系の」とかに相当する「ベースとなった言語」の 系譜を追うのが比較的ポピュラーな分類方法ですが、 目的別の分類やパラダイム別の分類などもまたポピュラーといえ、 捕らえ方で言語の分類結果も変わります。 # 観点が互いに直行することもあり、すべてをまとめて整理しようと # すると多分、うまくまとまらないです。 3) 「並列に手順を組む」というのが何を意味しているかが特定しかねますが、 おそらく設計図法の話でしょうか。 ペトリネットみたいなのがお望みなのかもしれませんし、 用途と好みに応じて、図表の記法も数十からありますから どれというのは難しいですが、基本的には、 ベーシックなフローチャートあたりからUMLとかを調べていくと、 お望みに近い図法が見つかるかも知れません # 往々にして設計の方法論とも関連してますが>図法
その他の回答 (2)
- us123
- ベストアンサー率26% (10/38)
参考です 「若いときに,2~3種類の異なるプログラミング・システムを学ぶことを勧めたい」。 「まったく違った特徴を持つプログラミング・システムを勉強することで視野が広がる。プログラミングとは何か,というセンスが身に付く。これが将来,とても役立つはずだ」(ケイ氏) ケイ氏は,「一つのランゲージだけ覚え,それだけで仕事をしていてはダメだ」ともコメントした。「プログラミング・システム」と「ランゲージ」を同氏は明確に区別していた。様々なプログラミング手法とその裏側にある仕組みを学ぶことで,コンピュータそのものが分かってくる。
> そこで質問なんですが2つの手順はどう噛み合うのでしょうか? アルゴリズムは、基本的にプログラミング言語に依存しない、 問題を解く手順のことです。 代表的なアルゴリズムには、ソート(整列)やサーチ(探索)などがあります。 プログラミングは、ある問題を解くために、既存の、もしくは新規の アルゴリズム(やデータ構造)を組み合わせて、 あるプログラミング言語を用いてコードを書くことです。 例)与えられた配列のデータを昇順に並び替えるために、 数あるソート・アルゴリズムの中から適切なものを選んで、 C言語でプログラミングする。