Pascal の初心者用の ..
950:デフォルトの名無しさん
04/06/25 02:49
>>949
大学の授業ってんならgnu-pascal(gpc)当たりが正当かと思うが、
borlandのサイトからdelphiの無償版が落とせる。
またFreePascal(fpc)というのも割りとメジャーだ。
URLリンク(www.freepascal.org)
URLリンク(www.jp.freepascal.org)
951:デフォルトの名無しさん
04/06/25 04:59
>>949
>>950が言う通りだと思うけど、その教授に自習したいから処理系教えれ!って聞くのがいいんじゃなかろうか?
学校のマシンが何かのUnix系の端末でgpcってオチが一番ありそうな気はするけども。
Cygwinあたりを突っ込んで(SFUとかU-WinとかMinGWとかでも構わんかもしれんけど)自力でgpcを入れるとかなのかな?
後、大学生なら
URLリンク(www.pascal-central.com)
あたりとりあえず眺めてみるのもお勉強になるかもね。
って、情報系でもなんでもなくてマジわけわかんね〜〜〜〜〜!!!とかだとこういう情報過多なサイトは遠慮しとくベキ?
952:デフォルトの名無しさん
04/06/25 08:03
>>949
Bloodshed Software - Dev-Pascal
URLリンク(www.bloodshed.net)
953:949
04/06/27 00:50
>>950-952
レスありがとうございます。
とりあえずFreePascal(fpc)というのを試してみます。
954:大学生
04/07/20 22:04
√cの近似値をニュートン法で求めるプログラムと、
二分法でfor文を使って求めるプログラム、
さらに二分法で求めたものを再帰的手続きにより求めるプログラムを
テストで出されるそうなのですが、まったくわかりません・・。
なんとか助けていただけないでしょうか??
よろしくお願いします!!!
955:デフォルトの名無しさん
04/07/20 23:44
車の運転ができない人に免許をとらせても世の中のためになりません。
以上
956:デフォルトの名無しさん
04/07/21 02:16
筆記試験か。すごいね。穴埋めになるのかな。
957:デフォルトの名無しさん
04/07/21 06:06
再帰的二分法。のアイデア。
function 再帰で開平を求める関数(c: real);
function 実際の再帰で開平を求める関数(範囲の最低値, 範囲の最高値: real);
var 二分点: real;
begin
二分点 := (範囲の最低地 + 範囲の最高値)/2;
if (二分点 * 二分点) < c then result := 実際の再帰で開平を求める関数(二分点, 範囲の最高値)
else (二分点 * 二分点) > c result := 実際の再帰で開平を求める関数(範囲の最低値, 二分点)
else result := 二分点;
end;
begin
実際の再帰開平を求める関数(0, c)// 初期値は 0 から c までとする。
end;
958:デフォルトの名無しさん
04/07/26 01:12
レポートが出たのですが、全く分かりません↓
LD A−Aをレジスターに格納する
ST A−レジスターの中身をAに格納
AD A−レジスターの中身とAを足して、レジスターに格納
SB A−レジスターの中身とAを足して、レジスターに格納
ML A−レジスターの中身とAを掛けて、レジスターに格納
DV A−レジスターの中身をAで割って、レジスターに格納
接尾辞表現で ABC*+DE-/(普通に書いたら(A+B*C)/(D-E))と入力して
上の指示表現を使って答えを解いていくための別のプログラムを書くとしたら
LD B
ML C
ST TEMP1
LD A
AD TEMP1
ST TEMP2
LD D
SB E
ST TEMP3
LD TEMP2
DV TEMP3
ST TEMP4
と表示できるようなプログラムをpascalで作りなさい。という内容です。
ヒント 式を順にスタックに入れていって、
最初のBC*はop2:=c;op1:=b;として、取り出していくそうです
人助けだと思ってお願いします(ToT)/~~~
959:デフォルトの名無しさん
04/07/26 08:07
オレニマカセロ!
とはいうものの、処理系手に入れるまで待ってね。
960:デフォルトの名無しさん
04/07/26 18:51
ずれてたらごめん
1→2→3→4→5→6→7→8→9→α→β→γ→δ
* + − /
A B C C X X Y D E E Z Z W
A B B A A Y D D Y Y
A A Y Y
4: (B * C -> X) => (LD B / ML C / ST TEMP1)
6: (A + X -> Y) => (LD A / AD TEMP1 / ST TEMP2)
α: (D - E -> Z) => (LD D / SB E / ST TEMP3)
γ: (Y / Z -> W) => (LD TEMP2 / DV TEMP3 / ST TEMP4)
961:デフォルトの名無しさん
04/07/27 14:16
どうもありがとうございました(*^_^*)頑張ってやってみます♪
962:デフォルトの名無しさん
04/08/09 10:05
現在、Pascalによるプログラムが実用されている所ってあるんですかね。
どっかの工場のPCで動いてるとか。
963:デフォルトの名無しさん
04/08/09 10:08
>>962
君の知らない「あそこ」で動いている。
秘主義務があるので具体的な内容は話せない。
964:デフォルトの名無しさん
04/08/09 19:37
URLリンク(matrixengine.jp)
これもPascalみたい。
体験版あるみたいなのでPascal詳しい人試してみて意見聞かせてほしいです。
965:デフォルトの名無しさん
04/08/09 23:36
> 当時は Borland(現 Inprise)の Turbo Pascal が人気のコンパイラでした。私も一時はそればかり使っていま
> した。しかし,世の中は ANSI C に移ろうとしていた頃です。私はまむしさんより一歩先に Turbo Pascal を捨
> てて Turbo C に移行しました。
URLリンク(oku.edu.mie-u.ac.jp)
966:デフォルトの名無しさん
04/08/19 22:39
>>962
私はngraphを現役で使っています。
967:デフォルトの名無しさん
04/08/20 07:21
>>966
研究室のMS-DOS機ですか?
968:966
04/08/21 22:50
一応Win95が動いているマシンです。
あとアドインプログラム書くのでコンパイラも時々動かしてます。
969:デフォルトの名無しさん
04/08/22 03:48
大学院入試のアルゴリズムとデータ構造でPascalで書かれた問題があるのですが、
Pascalは詳しくやってないのでよくわかりません。二分探索木の問題で
type tree = @node;
node = record;
element:integer;
left,right:tree;
end;
で2分木のデータ型treeを定義しているのですが、これはC言語で書くと
struct node{
int element;
struct node *right,*left;
};
struct node *tree;
といった感じのイメージでいいのでしょうか(Cの方の文法も間違ってるかも…)。
970:デフォルトの名無しさん
04/08/22 03:50
>>969
あ、Pascalの方の2行目recordと4行目treeの後ろにセミコロン;はありませんでした。
すみません。
971:デフォルトの名無しさん
04/08/22 03:51
あってるよ
972:デフォルトの名無しさん
04/08/22 03:57
ありがとうございます。ここでtree型の変数pのelementの部分にアクセスするためには
Pascalではどう書けばいいのでしょうか?
973:デフォルトの名無しさん
04/08/22 04:09
あ、あと問題の一部に(pはtree、xはintegerです)
if p=nil then begin
new(p);
with p do begin
(穴埋問題) :=x;
left :=nil;right :=nil;
end
end
ってのがあったんですが、with p って何ですか?
974:デフォルトの名無しさん
04/08/22 08:42
>>972-973
pがtree型ならそいつの指すnode型のブツをゲットする必要があるから例えば
p^.element
だな。Cの
(*p).element
に相当する書き方。
withの意味は自分で調べれよ。それで分からないところだけ質問しる。
ところで、そこの「with p」は「with p^」 が正しいと思うがどうか。
975:969=970=972=973
04/08/22 15:44
>>974
ありがとうございます。問題文を見直した所、with p と書かれています。問題の間違いですかね?
with文についてググったのですが
「Pascalでレコードのメンバーを扱うには「レコード名.メンバー名」という書式を使うが、
レコード名をある程度省略する方法がある。それにwithを使う。
withの内部では「メンバー名」を書くだけで、そのレコードのメンバーが参照できる。」とありました。
例えば穴埋問題の部分には(p^)のelementメンバにxを代入したいわけですが、
ここは「(p^).」を付けずに element := x; と書ける、ということですか?
書けるとしたら、p^.elementと書くのは間違いとなるのでしょうか?
976:上とは別人
04/08/22 16:42
>>969 のtype tree = @node;は、type tree = ^node; じゃないのかなあ…まあ、Pascalも方言多いから何とも言えんけど
with p or with p^も、Delphiなんかじゃrecordへのポインタに直接"."を続けられるから間違いとも言い切れ無さげ…
あと、withは、名前を探す順番を変えるだけなので、p^.elementももちろん書ける…私の知ってるPascalであれば…
977:デフォルトの名無しさん
04/08/22 17:08
>>976
ありがとうございました。
@については、ここ数年分見ましたが、同様の問題では全て@node;のような書き方をしていました。
別な方言なんでしょうね。
978:デフォルトの名無しさん
04/08/25 10:56
>>976
PASCALのJIS規格では「@」は「^」の代替表現なので、とりあえず
どっちで書いても同じです。Delphiでは意味が違いますが。
「with p」は規格としては「with p^」でないとまずいでしょう。
もちろん「with p」と書ける処理系は存在するかもしれませんが,
すくなくとも GNU Pascal ではだめでした。
979:デフォルトの名無しさん
04/08/31 03:47
スレさようなら
980:デフォルトの名無しさん
04/08/31 03:51
980!
981:デフォルトの名無しさん
04/08/31 14:51
落ち
982:デフォルトの名無しさん
04/08/31 22:42
夏とともに、さよなら・・・。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5391日前に更新/272 KB
担当:undef