初心者です。例えば、料理にしろプラモデルにしろ、プログラミングにしろ「手順を組み立てること」について質問があります。最初に、色んな所からパーツになる様々な情報を集め、順番に並べて組み立てていく感じはわかるのですが、それ以上、先には進みません。プログラミングに携わったことのある友人曰く、「更に、情報の蜜度を上げること(情報同士を蜜にしていけばいい)につきる」と言ってました。それは、もっと情報を一箇所に集約すべきか、1つの情報に幾重にも積み重ねて追加していくべきか、2つの情報を結びつけて近づけるべきか、わからなくなりました。どっから手をつけていくべきか、初心者でもわかる手順の組み立て方法があれば教えて頂けないでしょうか?宜しくお願い致します。
No.5ベストアンサー
- 回答日時:
組み立て方法というか、自分の頭の中にあるあいまいなものを明確にしていくのが、まずはいいんじゃないでしょうか。
たとえば、
1、プログラム開始
2、前準備をする
3、メインの処理をする
4、後始末をする
5、プログラム終了
みたいな「全世界のプログラム対応チョー汎用設計」を書いて
それぞれの処理を具体的に(わかるところから)分割していく。
前準備といっても何を準備したらいいのかわからないときはそのまま放置。
メインの処理をいろいろ考えていって「先にやっといた方がいいな」と思うことがあったらそれを前準備に放り込む。
何度も同じ処理をしそうならそれをまとめて専用の処理を作ってやる。
こんな感じで作りながら少しずつ広げたりまとめたりしていくのも、慣れるためにはいいですよ。
つまり「どっから手をつけていくべきか」という問いには「(最初のうちは)思いついたところからでいい」という回答になります。
慣れてくるとトップダウンとボトムアップが入り乱れてほぼ同時に「これは必要だな」とか「こういう流れだな」とか、全体から細部までパッと思いつくようになりますから、まずは書いて・読んで・試して数をこなしてみることです。
蛇足ですが、プロの現場でも一方通行のきれいなトップダウンとかボトムアップとかは稀で、大抵は行きつ戻りつしながらブラッシュアップしていくことになります。
この回答への補足
遠回りですが、(1)手順は「静的な情報(データ)」に「時間という情報」を組み合わせることで(つながりを持たせることで)「動的な情報が(時系列的に)組み立てられる」って感じで捉えていいのでしょうか?(2)話は少し飛躍しますが、プログラミング(手順)は、「時系列的ゆえに(直列的な)縦の関係だ」と思えてしまいますが、連続する情報と情報の間に意味がなくても成立するのでしょうか?ただ、行列のできるラーメン屋のように「守るべき順番を守る」感じなんでしょうか?「FirstではAという処理→SecoundではBという処理→ThirdではCという処理をする」という形で、「A→B→C」に因果関係なしでも、みんな「うまい(処理)!」と思ってるから順番を守ってるって感じなんでしょうか?時系列って何なんでしょうか?(難しいです)最後に、(3)「後始末の処理」とはどういう感じの場合、放り込めばいいのでしょうか?検証や改善点の工夫に役立てるという感じでしょうか?後戻りするのが面倒な場合、メインの処理の中で(間違いそうミスしそうな所に)チェック的に入れてみるというのはどうでしょうか?すいません。もの凄い素人の発想で申し訳ありません。お時間のある時に是非、ご回答を伺ってもよろしいですか?よろしくお願い致します。
補足日時:2006/03/25 17:12No.7
- 回答日時:
No.1です。
追加というか補足です。私が「オブジェクト指向」の勉強を薦めたのは、
初心者が初めのころに作るプログラミングはほぼ手続き型であり、
それを「手続き型だ!」と意識するのが難しいからです。
逆に、オブジェクト指向というものを知ることで、手続き型を意識することができるようになります。
・・・と、こういう意図の発言であり、質問に対してオブジェクト指向を単に薦めたのではありません(汗
しかし、よく考えれば初心者の方にオブジェクト指向は難しいかもしれませんね・・・。むぅ・・・。
深く考えすぎないほうがいいですよ(笑)
No.6
- 回答日時:
情報を整理するのにマインドマップという方法があります。
参考URL
マインド・マップとUMLを使った要求分析支援
参考URL:http://www.atmarkit.co.jp/farc/rensai/mm01/mm01a …
No.4
- 回答日時:
>トップダウン手順の場合、「ある物事がどういう手順から構成されているか」の定型やパターンなどあるんでしょうか?
月並みな話ですが、機能分析して機能毎の分割くらいなことしか私には言えません。
パターンに当てはめるということもあるかもしれませんが、
そうした分析にこれというスタンダードなものは無いように思います。
表面的に同じ動作をするプログラムにしても機能分析の切り口が違って内部的には全然違うプログラムであるということが(もちろん)あり得ます。
No.3
- 回答日時:
いきなりトップダウンはなかなか難しいですね。
思いつくことを全部書き上げてみて、それをグループ化して順番をつけて
改めてブレークダウンしていくというのがやりやすいと思います。
No.2
- 回答日時:
質問者の言われる手順は、いわゆるボトムアップ手順のように思われます。
細分化されたものをいかに組み立てていくかということですね。
逆の考え方として、トップダウン手順があります。
ある物事がどういう手順から構成されているか細分化していくというものです。
ボトムアップの場合、方向が決まりにくいということがあります。
どちらか片方ではなくて、両方から考えるのがよろしいかと思います。
この回答への補足
>ボトムアップの場合、方向が決まりにくいということがあります。
そうそう、その通りです。トップダウン手順の場合、「ある物事がどういう手順から構成されているか」の定型やパターンなどあるんでしょうか?
あれば教えて頂けませんか?よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- 世界情勢 米国の最終目的をウクライナ防衛からロシア打倒へ方向転換。この記事どうみますか? 6 2022/04/29 14:58
- 実用・教育 般若心経の解説本に関して 2 2023/05/17 23:27
- Visual Basic(VBA) 【マクロ】表への繰り返し転記について 1 2022/11/19 16:30
- 日本語 既知・未知による ハ・ガ の使い分け 75 2022/11/11 18:09
- 日本語 きみの嫁さんは私が見つけてあげるよ。 11 2022/11/13 21:01
- その他(社会・学校・職場) 情報を教えてくれる人には情報が集まるvs他所の事をペラペラ喋らない者には本心を打明ける 正しいのは? 1 2022/08/26 21:26
- 就職 先のことが不安すぎる(主に就職活動) 3 2023/06/27 09:37
- 賃貸マンション・賃貸アパート 賃貸物件 番手 申し込みについて 4 2023/08/18 21:43
- その他(買い物・ショッピング) 商品にラベルを貼って出荷するまでのの手順にについて 2 2022/09/29 15:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
空elseの有無
-
プログラム動作時のCPU処理時間...
-
(各種言語)自作関数化の基準...
-
SQLデータベースへのアクセスが...
-
正しい五十音順について
-
C++ で、「)」が必要 というエ...
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
Excelに埋め込んだVBAのプログ...
-
VBAの再計算が反映されない件に...
-
PICマイコンのコピー(クローン...
-
排他的論理和 BCC(水平パリテ...
-
Dijkstraて
-
65536は2の何乗なのでしょうか?
-
C++でアボート(Abort)で処理が...
-
自動クエリとはどういうもので...
-
コンパイルできない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
プログラミングのコード量に関...
-
空elseの有無
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
きれいなコード vba vbaを勉強...
-
PCの時刻精度
-
VBからシャットダウンさせる方法
-
クリップボードを排他的に利用...
-
MFC,C++/CLI,C#の共存
-
逆フーリエ変換のプログラムに...
-
【VB】データグリッドビューで...
-
COBOLのCALL文がいまいちつかめ...
-
GDLでH8/3052Fのi2cプログラム...
-
プログラム動作時のCPU処理時間...
-
「ルーチン」という言葉の意味
-
例外処理があまり使われない理...
-
良いプログラムとは?
-
実行コマンドのプロセス管理
おすすめ情報