ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:C_is_Best CASL 長考
困り度:
  • 困っています
C言語からCASLに切り替えようと1週間ほど 取り組みました
素直な問題が多く なんとか 解けるようになってきました

それでも一問を解くのに1時間以上を費やしてしまいます
なにかCASL問題を早く解読するコツはありますでしょうか?

慣れしかないのでしょうか?
質問投稿日時:07/09/07 13:57
質問番号:3323497
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

 

回答者:erimochic 私が去年CASLを勉強した時の方法なのであくまでも参考にしていただきたいのですが、
1.勉強し始めは1行1行どういったことをやっているのかメモ(例えば「JPL ○○」だと「プラスのとき」ここに移動と矢印を書いたり)
2.GRの内容を個別に書き出し(問題に例があればそれを使用したり、自分で1つ例を作って内容変更の履歴を残していく)
3.同じ問題を繰り返し解く
4.どうしてもわからない場合には、選択肢は必ず与えられているので1個1個入れてやってみる(一番いいのは選択肢を見ず、自分で考えてみることですが)

これを毎日やっていました。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:07/09/08 00:00
回答番号:No.3
この回答へのお礼地道に努力します
時間との勝負ですね

回答

良回答20pt

回答者:noname#50176 C_is_Best さんは、C言語、CASL言語ができないのではなく
あるフローチャートやアルゴリズムは問題なく理解できるものの
言語特有の「クセ」につまずいてしまうのではないでしょうか?

C_is_Best さんはC言語のほうが理解の器が高いはずです。
ただ、試験で出るプログラムの複雑な表記が歯止めを掛けているのかと思います。
本来、CASLより冗長的なアルゴリズムが表記されるC言語に
せっかく慣れたのですから、その知識を活用しましょう。
CASLプログラムを解読するのではなく、
「ある処理の流れをCASLで書けるようにする」
これを徹底すれば格段に速くリストを理解できます。

例えば、私の経験では

A.1から入力した数値nまでの、和(1+2+...+n)を求めるプログラム
(ただし、等差数列を利用せず、ループ処理で)
B.入力した文字列から数字だけを削除し切り詰めるプログラム
C.順列 nPr を求めるプログラム

をCASLで組みます。
特にCASLの必勝ポイントは「スタック」と「アドレッシング」
ですから、
「現在プログラムカウンタポイント(現在の実行位置)
はどこのスタックを参照し、どのアドレスメモリからの情報を必要
としているか」
これが理解できればCASLは非常に簡単です。
そこでC.の順列プログラムが(階乗)組めれば、ほぼ問題はないかと
思いますよ。

あと来月の本試験では当然のことですが、
「C言語、CASL、簡単な方を選んでください」
実際、簡単なC言語問題があれば、長文なCASL問題も
ありますから。
私は・・・その時決めます…。
C_is_Best さん、本試験ではC言語2問避けて、CASL2問で
いきますか・・・?
経験上ですが、ゲーム系のプログラムは言語問わず気をつけて下さい。
非常に出題者のクセがでるものですからややこしいのです。
私も今回の試験でゲーム系が出ないことを祈ってます・・・。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:07/09/07 21:22
回答番号:No.2
この回答へのお礼貴重なアドバイスありがとうございます
実践にやくにたたせたいと思います

回答

 

回答者:noname#39970 はっきり言って慣れ。
Cとは構造がそもそも違うし、処理の手法が相当原始的であるので見た目の処理の数が多くなり理解しにくい事が殆ど。
Cでは1つの式でできた事がCASL(アセンブラ)ではいくつにも命令が別れて演算されるのでそこがややこしいと感じるのだろうと思う。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:07/09/07 14:42
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示良回答のみ表示