• ベストアンサー

プログラミングとかアルゴリズムとかの質問です。

こんにちは。 私はシステムエンジニア志望の大学2年生です。 プログラミングとかアルゴリズムとかの手順書に関して3つほど質問があります。 よろしくお願いします。 (1)「プログラミング」がコンピュータに対しての作業手順で、「アルゴリズム」は問題を解くための解法手順のことだと勉強しました。(間違ってたかな)   そこで質問なんですが2つの手順はどう噛み合うのでしょうか? (2)プログラミング言語を全体的・体系的に把握したいのですが、上手くまとまりません。   全部で何種類ぐらいあってどういう分類(大分類・中分類・小分類)ができるんでしょうか? (3)手順書を書く時は時系列に沿ってればいいと思い、因果関係とか時間順に書いていると頭が痛くなり気持ち悪くなります。   まっすぐ直列に書くのではなく、ツリー図みたいに並列に手順を組む方法ってありますか? もし宜しければご回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

1) 基本認識は正しいと思います。 2) 種類数を数えるなんて非合理なのは人間の自然言語と一緒です。 外部と付き合いのない部族の言語や、現代で死滅した言語に相当する、 独自言語/特殊言語/専用言語などが無数にあり、 全てを把握している人は恐らくいません。 主要な/有名な言語でも数十種類はあると思いますし マイナー言語ははいて捨てるほどあります。 また、視点によって複数の分類方法がありますので、 画一的に全ての言語を分類するのは恐らく無理があります。 自然言語で「ラテン系の」とかに相当する「ベースとなった言語」の 系譜を追うのが比較的ポピュラーな分類方法ですが、 目的別の分類やパラダイム別の分類などもまたポピュラーといえ、 捕らえ方で言語の分類結果も変わります。 # 観点が互いに直行することもあり、すべてをまとめて整理しようと # すると多分、うまくまとまらないです。 3) 「並列に手順を組む」というのが何を意味しているかが特定しかねますが、 おそらく設計図法の話でしょうか。 ペトリネットみたいなのがお望みなのかもしれませんし、 用途と好みに応じて、図表の記法も数十からありますから どれというのは難しいですが、基本的には、 ベーシックなフローチャートあたりからUMLとかを調べていくと、 お望みに近い図法が見つかるかも知れません # 往々にして設計の方法論とも関連してますが>図法

参考URL:
http://en.wikipedia.org/wiki/List_of_programming_languages

その他の回答 (2)

  • us123
  • ベストアンサー率26% (10/38)
回答No.3

参考です 「若いときに,2~3種類の異なるプログラミング・システムを学ぶことを勧めたい」。 「まったく違った特徴を持つプログラミング・システムを勉強することで視野が広がる。プログラミングとは何か,というセンスが身に付く。これが将来,とても役立つはずだ」(ケイ氏) ケイ氏は,「一つのランゲージだけ覚え,それだけで仕事をしていてはダメだ」ともコメントした。「プログラミング・システム」と「ランゲージ」を同氏は明確に区別していた。様々なプログラミング手法とその裏側にある仕組みを学ぶことで,コンピュータそのものが分かってくる。

noname#26650
noname#26650
回答No.2

> そこで質問なんですが2つの手順はどう噛み合うのでしょうか? アルゴリズムは、基本的にプログラミング言語に依存しない、 問題を解く手順のことです。 代表的なアルゴリズムには、ソート(整列)やサーチ(探索)などがあります。 プログラミングは、ある問題を解くために、既存の、もしくは新規の アルゴリズム(やデータ構造)を組み合わせて、 あるプログラミング言語を用いてコードを書くことです。 例)与えられた配列のデータを昇順に並び替えるために、 数あるソート・アルゴリズムの中から適切なものを選んで、 C言語でプログラミングする。

関連するQ&A

  • 時系列処理に悩んでます。

    逐次処理というか直列に並ぶ、プログラミングや作業手順が苦手です。前後に組み合わせたり、真っ直ぐに並べようと考えると気持ち悪くなります。 そこで質問なのですが、時系列や作業手順を分散処理や並列処理に変換する考え方ってありますか? 例えば、読書で次にこれ読んで次にその次のページみたいな順序を自分で決めたり、他人に逐次的に言われると弱いです。 逆を言うと、分散処理や並列処理を一本化するやり方に悩んでるのかもしれないです。時系列処理を簡単にできる方法がわかりません。 直列のものをツリー構造で書けたらいいなと考えてます。 ご回答の程、宜しくお願いします。

  • 2分木?についての質問です。

    「直線や時系列なんかのまっすぐなものをツリー構造や並列(2分木?)に書くとこんな感じ(下の図)になるよ」と友達に紙に書いてもらい説明受けたのですが正しいのかどうかもさっぱりわかりません。何を頭に思い描いて言ってるのか?どの辺勉強したらいいのか?もしわかる方がいらしたらご教授よろしくお願いします。 図)              0        / \        0 1       / \   0 1   / \   0 1   /│\   0 1 1   / \     0 1   / \ / \  0 10' 1' / 0 

  • プログラミング?

    証券会社などのシステムで実際のレート(価格)をリアルに表示するのはどんな技術が必要ですか?またそのレートを1分、5分、10分、30分などの始値、高値、安値、終値を時系列形式でエクセルなどに自動で保存するのはどんな技術が必要なのでしょうか? エクセルのクリエを使えばできることなのですが、Web上に必要な時系列が無いので自分で作ろうと思っています。 自分で調べたのですがプログラミング技術が必要なのではないかと思うのですがどうでしょうか? また、C、JAVA、スクリプト言語などはなにが違うのでしょうか? 素人な質問ですみません。 ご教授お願いします。

  • 質問の解答よろしくお願いします。

    物理の電気に関して質問します。 『二個の豆電球と電池一つをつないだ時、直列と並列ではどちらが長持ちするか?(Vは一定)またその理由。と、どちらがよく光るか?またその理由。』 困ってます。よろしくお願いします。

  • 直並列回路

    直並列回路の問題について質問です。自分なりにといてみましたが、この解法以外に簡単な解法があったらご教示ください。 m個直列つなぎの内部抵抗が2オームの電池が,n列並列つなぎであるとする、さらにもうひとつ4オームの抵抗を並列つなぎしてこの抵抗に最大の電流を流す為のmを求めよ。という問題で、私の解法はm*n=18, m>1,という式を導きさらに、m,n,r,E,Iの表を作り6通りのm,nの組み合わせの中から、Iの一番大きいのを探り当てるという方法です。m=6でした。他に簡単な解法があったらご教示ください。

  • 直並列回路(やや難)

    直並列回路の問題について質問です。自分なりにといてみましたが、この解法以外に簡単な解法があったらご教示ください。 18個の電池を使って、m個直列つなぎの内部抵抗が2オームの電池が,n列並列つなぎであるとする、さらにもうひとつ4オームの抵抗を並列つなぎしてこの抵抗に最大の電流を流す為のmを求めよ。という問題で、私の解法はm*n=18, m>1,という式を導きさらに、m,n,r,E,Iの表を作り6通りのm,nの組み合わせの中から、Iの一番大きいのを探り当てるという方法です。m=6でした。他に簡単な解法があったらご教示ください。

  • ホームページビルダーV8で、オプションメニューを連動(リンク)させたいのですが・・・

    もしかすると同様の質問があったかもしれませんが、教えて頂ければ幸いです。 ホームページビルダーV8のオプションメニューを連動させてたいと考えています。 (OKWAVEの“投稿カテゴリー”のように、大分類の中から中分類を選択し、その中分類の中から小分類を選択する・・・ というイメージです) 連動は4つ(区分→大分類→中分類→小分類)させたいのですが、ホームページビルダーのオプションメニューではどのようにしたらいいのでしょうか? スクリプトを使うようだ! というところまでは、ボンヤリ分かるのですが、いろいろ試しても連動のさせ方が分かりません。 詳しく手順を聞きたいので、宜しくお願いします。

  • 直並列回路(難問)

    直並列回路の問題について質問です。自分なりにといてみましたが、この解法以外に簡単な解法があったらご教示ください。 18個の電池を使って、m個直列つなぎの内部抵抗が2オームの電池が,n列並列つなぎであるとする、さらにもうひとつ4オームの抵抗を並列つなぎして、この4オームの抵抗に最大の電流を流す為のmを求めよ。という問題で、私の解法はm*n=18, m>1,という式を導きさらに、m,n,r,E,Iの表を作り6通りのm,nの組み合わせの中から、Iの一番大きいのを探り当てるという方法です。m=6でした。他に簡単な解法があったらご教示ください。 また解答に4オームの抵抗に最大電流を流すには内部抵抗を4オームにすると書いてありましたが、どういう理由からでしょうか?

  • 脳と言語とプログラミング

    ※先に申し上げますが、私にはほとんどプログラミングの知識はありません… コンピュータを使いこなすにはプログラミング能力を身につける、つまり 機械言語を使いこなす必要があると聞きます。 そして人の脳はコンピュータとよく似ていると言われております。 ならば、脳を使いこなすには、コンピュータにとっての機械言語、即ち、 自然言語の能力を鍛えることは効果的なのでしょうか。 例えば甘いものを我慢したいときに自分に言い聞かせるとしたら、   「我慢しないと!」 という文章よりも、   「今この一口を食べると、一生、つまり風邪でも    口内炎の時でも甘いものを食べ続けなければならない呪いにかかる」 という文章の方が効果的だそうです。 ※「スタンフォード大学の自分を変える教室」という本にありました。  自分でも試してみましたが効果があると思います。 この2つの文章は、いうなれば「下手なプログラミング」と「上手なプログラミング」に 分類できるのでしょうか。 また、「上手なプログラミング」ができるようになる、つまり言語能力を鍛えれば 脳を使いこなせるようになるのでしょうか。 稚拙な質問かもしれませんが、どなたかご意見頂けないでしょうか。

  • ばねに関する問題です.

    ばねについての問題です. (1)図1のようにばねが二本直列になっている.ばね定数k1=5N/mmでk2=20N/mmとする.10kgの質量をぶら下げた時何mm下がるか答えよ.また固有角振動数を求めなさい. (2)図2並列直列の三本のばねの組み合わせと等価なばねのばね定数kを求めよ. 詳しい解法をいただけると嬉しいです宜しくお願いします.

専門家に質問してみよう