[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 09:01 / Filesize : 272 KB / Number-of Response : 983
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pascal の初心者用の質問・相談所



1 名前:デフォルトの名無しさん [02/01/02 01:46]
Pascal の初心者用の質問・相談所
コンソールのみ。GUI は扱いません。
「Cをやったけど難しいので、やっぱりPascalからぼちぼちやるぅ」という人向け。

コンパイラダウンロード
www.vector.co.jp/vpack/filearea/win95/prog/pascal/index.html

ちなみにDelphiは
「モナーの *やさしい* Delphi質問スレ」
pc.2ch.net/test/read.cgi/tech/1003113413/

304 名前:デフォルトの名無しさん [02/04/08 22:22]
Schemeは一応やったんですけど、exeが作れないので飽きました。


305 名前:Delフサギコ ◆zE1iiRdQ mailto:sage [02/04/08 22:38]
   ∧,,∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ミ,,゚Д゚彡 < 何がやれるのか自体がわからなかったので
   U  つ   \飽きました。
 @ミ  ミ       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪ 
      言語とは難しいですね。

306 名前:デフォルトの名無しさん [02/04/08 22:50]
でもPascalの本、またちまちま読んでる。
アマゾンでJavaの本、注文したけど、届くまで1ヶ月かかるから。
それまでの間、Pascal の勉強するつもり。
もし時間がそれでも余ったら、VBとDelphiの勉強する。
本は買ってあるから。

307 名前:デフォルトの名無しさん [02/04/18 22:57]
おい、お前ら。
pascalの中で、UNIXコマンド使う方法教えてください。

308 名前:307 mailto:sage [02/04/18 23:45]
UNIX版で聞いてきます。

309 名前:デフォルトの名無しさん [02/04/19 12:11]
    pc.2ch.net/test/read.cgi/tech/1019185100/

310 名前:デフォルトの名無しさん mailto:sage [02/04/21 21:33]
test

311 名前:デフォルトの名無しさん mailto:sage [02/05/10 04:00]
保守sage

312 名前:デフォルトの名無しさん [02/05/22 12:13]
age



313 名前:デフォルトの名無しさん [02/05/30 14:02]
age

314 名前:デフォルトの名無しさん [02/06/01 05:47]
age

315 名前:デフォルトの名無しさん mailto:sage [02/06/01 05:59]
寒いスレだな

316 名前:デフォルトの名無しさん [02/06/01 06:49]
例題が豊富な解説書のお勧めはないでしょうか?

delphiは扱ったことがないので純粋なpascalの本を探しています。


317 名前:デフォルトの名無しさん mailto:sage [02/06/02 06:19]
Pascalに限らないけど純粋なPascalの本となると昔の物が多いので
とりあえず図書館で探してみてはいかがでしょう。

答えになってないですけど。

318 名前:困ったさん [02/06/18 21:39]
Pascalで多項式を2次式で割るプログラムを書けといわれたんですけど、
どうもうまくかけません。誰か教えてください。

319 名前:困ったさん [02/06/18 23:38]
age

320 名前:デフォルトの名無しさん mailto:sage [02/06/18 23:47]
>>318
数学の問題

321 名前:デフォルトの名無しさん mailto:sage [02/06/19 01:03]
const
 Jisu = 5; // 次数(これは5次の場合)
var
 tako: array[0..Jisu]of Real; // 多項式
 niji: array[0..2]of Real; // 二次式
 ans: array[0..Jisu-2]of Real; // 答え


 for i := Jisu-2 downto 0 do begin
  ans[i] := tako[i+2] / niji[2];
  for j := 2 downto 0 do
   tako[i+j] := tako[i+j] - ans[i]*niji[j];
 end;


これで、ans に商となる多項式、 tako に剰余となる1次式が入るかな。
ゼロ除算とかのエラーは考えてないので、その辺よろしく。

322 名前:困ったさん [02/06/19 04:09]
とても参考になりました。ありがとうございます。




323 名前:デフォルトの名無しさん [02/06/23 11:29]
Double を Integer に入れたいんですけど、どうすればいいですか?

324 名前:デフォルトの名無しさん mailto:sage [02/06/23 11:32]
>>323
kyasuto

325 名前:デフォルトの名無しさん mailto:sage [02/06/23 11:34]
どのようにキャストすればいいんですか?

326 名前:デフォルトの名無しさん [02/06/23 11:37]
windowsで使えるpascal→C言語コンバータはないですか?

327 名前:デフォルトの名無しさん mailto:sage [02/06/23 11:48]
>>323
Round関数

328 名前:デフォルトの名無しさん [02/06/24 18:33]
何だここの"PASCAL"って?
biz.ascii24.com/biz/news/article/2002/06/20/636664-000.html

329 名前:323 mailto:sage [02/06/24 22:27]
>>327
ありがとうございました!

330 名前:デフォルトの名無しさん [02/06/28 18:02]
Code worrierでpascalコンパイルする必要がでてきました。
使ってるひと居ませんか?

Code worrierは既にpascalの対応が終了していて、
本家(あめりか?)で最終pluginがでてるみたいなんですけど、
これって日本語版の最新Code worrierで動くのでしょうか?

OSはMac9です。
よろしくおねがいします。

331 名前:デフォルトの名無しさん [02/06/28 20:25]
>330
使えたよ。
ただしVer.7までだけどね。
それとCarbonは駄目っぽ。

332 名前:デフォルトの名無しさん [02/06/28 20:28]
図書館でPASCALの本を探したら開架は全滅だった。
仕方ないから書庫から持ってきてもらった。
もう需要が無いんだね。
まだ出てから10年も経っていない本だって……



333 名前:デフォルトの名無しさん [02/06/28 20:52]
Code worrierといえば、PocketStudioとか言う、DelphiライクなPalmの
開発環境があるみたいだね。
開発環境じゃなくて、Palmで動くPascalの処理系があるとうれしいかも。
Pascalの勉強用に。
でも、グラフィティでソースコード入力するのもちょっと面倒か。(w


334 名前:330 mailto:sage [02/06/30 04:12]
>331
日本語版は最新が7みたいだからこれで逝けるわけですね。
Carbonはとりあえず必要ないです。
ありがとー

335 名前:デフォルトの名無しさん [02/07/01 11:46]
>334
ビルドする時にBuild Allを選択すればCARBONも使えるようになります。(人に指摘されるまで気付かなかった)

336 名前:330 [02/07/02 02:47]
フォローさんくすです。
で、CW7日本語版アカデミックをゲトして
Pascal Pluginつっこんだら、とりあえず処理はできてる模様。
だけど、目的のコードはbuild出来ない罠。

実はNIH-ImageをソースからMakeしてるんだけど、

type mismach
SFPutFile(〜)

とか、いろいろとおこられるよヽ(`Д´)ノウワァァン!!

337 名前:デフォルトの名無しさん [02/07/02 03:10]
>>330
1.62ならCWP2でMakeしたのを持ってる。たしかあれからファイルマネージャあたりは
激変したから、大変じゃない?

でも褌EDITがウプデートされるくらいだからな...

338 名前:330 mailto:sage [02/07/02 03:31]
でも真の目的はNIHimage(改)のbuildなのですよ。
とりあえず手始めにそのままのをやってみようかと。
そのまま使うだけなら配布されてますしね。

(´-`).。oO(古いCWをとりよせたほうが早いのかなぁ)

339 名前:337 [02/07/02 03:41]
>>338
古いヘッダならADCのサイトにあるような。あ、けど合うのをさがすのがたいへんだね。

340 名前:330 mailto:sage [02/07/05 03:28]
入ってる(新しい)ヘッダをみながら、エラーが出る個所を無理矢理それっぽく直したら、
なんとかNIH-image(1.62)がmakeできたよ。一見ちゃんと動いてるみたいだけど、どうだろう。

PascalもCWもはじめてなんだけど、それ以前にMacの初心者なのが辛いトコロ。
AppleEventを効かすと刺さるんだけど、これって切っちゃっていいものなんだろうか…

ところで、>>1にGUI不可って書いてあることに今気づいたよ。
スレ違いスマソ。
親切な方、誘導きぼんぬ。

341 名前:デフォルトの名無しさん [02/07/13 08:17]
age。
DAT落ちは阻止じゃ。

342 名前:デフォルトの名無しさん [02/07/16 22:46]
>>341
んだ



343 名前:デフォルトの名無しさん mailto:sage [02/07/17 06:14]
このスレでFreePascalの話題出てますか?
え? ここ何処の板? 過去ログ読め?
ショボーン

344 名前:デフォルトの名無しさん [02/07/20 00:29]
生きろ!

345 名前:デフォルトの名無しさん [02/07/30 20:46]
PASCAL CENTRALにはFREEのPASCALコンパイラも置いてあるぞ!

346 名前:デフォルトの名無しさん mailto:age [02/08/17 20:54]
AGE

347 名前:デフォルトの名無しさん [02/08/18 03:00]
何気なくパスカルのソースコードを検索してたらこんなのあったぞ。
home.planet.nl/~mike.wiering/mario/
TurboPascal5.5・6.0・7.0でスーパーマリオを作ってる。
まだソース見てないけど、ちょっと面白そうだ。

348 名前:デフォルトの名無しさん mailto:sage [02/08/18 05:01]
Pascalが
Philips’ Automatical Sequence Calcurator
の略だったなんて初めて知ったよ

349 名前:デフォルトの名無しさん mailto:sage [02/08/18 05:11]
>>347
ジャンプしながらファイアボールを撃つと、
フルスクリーンに関らずシステムメニューが出てしまう…
このキー配列どうにかならないものか…

350 名前:デフォルトの名無しさん mailto:sage [02/08/18 05:16]
>>349
ソースファイルあるんだから、変更できそうだけどな。
生憎TPがないや。本家に行ってDLしてこようかな。

351 名前:デフォルトの名無しさん [02/08/24 16:14]
ObjectPascalの日本語で読める本って何か良いのある?
このスレでリンクしてある「Object Pascal/Delphi(Kylix) プログラミング入門」
はDelphiでの使用に限定しているようなので汎用的なものを……

352 名前:デフォルトの名無しさん mailto:sage [02/08/25 19:22]
>>351
Object Pasca lは Turbo Pascal/Delphi でしか使っていないのだから、汎用的と言っても意味ないと思う。

標準 Pascal ならあるけど、文字列型も分割コンパイルもない「教育言語」だから、今更覚える必要も無いとも思われ。



353 名前:デフォルトの名無しさん [02/09/04 18:40]
CodeWarriorでもObjectPascalは使えます。
ボーランドがLinux用に出してるもう一つの製品でも使えるよ。

354 名前:デフォルトの名無しさん [02/09/04 19:21]
それだけじゃない
www.freepascal.org/
compatible with TP 7 as well as most versions of Delphi

355 名前:352 mailto:sage [02/09/06 20:51]
>>353-354
あ、Kylix はそうでしたね。失念しておりました。

CodeWarrior と Freepascal は知りませんでした。私は最近の動向をよく分かっていない
ようです(というか、Delphi で事足りているから、追いかける気がしないだけ)。

あと、標準化の中には「ISO Pascal」ってのもあったと言うことを思い出しました。Borland
はこの規格の裁定に入っていないから、気にもしていないけど。

それはそうと、「Object Pascal というのは紛らわしいから?Delphi Language に変える」
という話もあるようだけど、Kylix もあるとしたら、なおさら紛らわしいような気もするんだけ
ど...

356 名前:デフォルトの名無しさん [02/09/07 19:05]
誰かMetrowerksの
Pascal Language Reference
Pascal Library Reference
Error Reference
を持っている人居ない?
ObjectPascalを使ってみようと思ってCodeWarriorCDを探してみたのですが見つからないのです。
Pascal Compilers Ref.pdfによるとCodeWarriorPro5のDocumentationフォルダの中にあるはずなんだけど、
いくら探してみ見つからないんです。
Sherlock2で検索かけてもPascal Compilers Ref.pdf以外は見つからなくて……。
Pro7にはPascalのDocumentなんて元から入っていないし……

357 名前:デフォルトの名無しさん [02/09/10 21:26]
Metrowerksに問い合わせたらメール添付で送ってくれました。
原文の方しかないらしく、送って来たのは英語……。
しかも200頁超や300頁超でした。
はぁ、頑張って訳すか。

358 名前:アライグマPascal [02/09/19 08:16]
仕事が忙しくてネタがないのですが、(HPまだ作れていません)
すみませんageます。



359 名前:デフォルトの名無しさん [02/09/20 21:49]
レコード型の可変部がイマイチ良く分からん。
Var r : record
case byte of
0 : ( i : Longint );
1,9: ( a : extended);
(1) : ( b :array[0..9] of byte );
end;
とかくとき、
iやa,bなどは変数ということは分かるのだけれどその前に書く0や1,9がなんなのか良く分からない。

360 名前:デフォルトの名無しさん mailto:sage [02/09/20 22:08]
Pascalは知らんが、Cでいう共用体(union)ってやつだな。
番号はどの構造をとるかっていう構造識別番号みたいな奴で、byte型なわけだ。
無名だから使ってないみたいだけど、定義の時は必ず適当に決めなきゃならんのかも?

361 名前:デルファイの名無しさん mailto:sage [02/09/20 22:11]
Var r : record
case TAG: byte of
0 : ( i : Longint );
1,9: ( a : extended);
(1) : ( b :array[0..9] of byte );
end;

のように、タグフィールドを入れられるのですが、これは省略可能なのです。
この場合、TAGが0ならaとbにアクセスするとエラーになるPascal実装もあった…かな?
(DelphiだとTAGは単なるメンバ以上の意味を持ちませんが)

362 名前:デフォルトの名無しさん [02/09/22 11:48]
なるほど共用体か。(Cも少しやっていたので分かる)
それで先頭のアドレスをそろえているのか。
持っているPASCAL入門の本は可変部の説明がなおざりだったんで何の事か良く分からなかったよ。




363 名前:デフォルトの名無しさん [02/09/22 21:56]
function(関数)とprocedure(手続き)の違いは返り値の有無と考えても問題ない?

364 名前:デフォルトの名無しさん mailto:sage [02/09/22 22:19]
問題ないです。

365 名前:デフォルトの名無しさん [02/09/23 07:29]
そいえばたまにわざわざダミーの返り値を使ってなんでもかんでもfunctionにしてるソースを見ることがあるな。
C出身者が書くとそうなりがちなのかも。


366 名前:デフォルトの名無しさん [02/09/23 07:57]
>>365
Cにはvoidがある。
そんなソースを書くのはDQNだけ。

367 名前:デフォルトの名無しさん [02/09/23 11:32]
単にprocedure(手続き)を宣言するのが面倒臭かったのでは?

368 名前:デフォルトの名無しさん mailto:sage [02/09/23 11:38]
>>367
> 単にprocedure(手続き)を宣言するのが面倒臭かったのでは?

意味わからん。function の方が面倒と思うが...。

369 名前:デフォルトの名無しさん mailto:sage [02/09/23 13:53]
まさか・・・これを・・・?
if A then B else C
A && B || C

370 名前:デフォルトの名無しさん mailto:sage [02/09/23 22:53]
コンポーネントパスカルをダウンロードしたけど、なにげによさげ
でも英語できないから難しい。だれか邦訳してくれ言語リファレンス。

371 名前:デフォルトの名無しさん mailto:sage [02/09/23 22:55]
www.fit.qut.edu.au/PLAS/ComponentPascal/

372 名前:デフォルトの名無しさん [02/10/05 15:00]
大分下がって来たので揚げ




373 名前:デフォルトの名無しさん [02/10/24 23:37]
そろそろ保守

374 名前:デフォルトの名無しさん mailto:sage [02/10/25 00:34]
Pascalの参考書探してる人は図書館いってみ。
TPとか、Pascalのがタマーにあったりしてうれしい。

あとは、大学に忍び込んで生協にあったりなかったり。


375 名前:デフォルトの名無しさん [02/10/26 16:03]
{$ }で囲まれている部分は何をする為に付けられるもの?
確か{ }で囲まれた部分はコメント部分で、コンパイル時には無視される部分だと記憶しているのだけれど。

{$I PascalOverrides.p}や{$unused ( inCallRef, inUserData ) }などのようにコメントにしては不自然な気がしてならない。
他にも
{$IFC UNDEFINED __TRANSLATION__}
{$I Translation.p}
{$ENDC}
なんて記述がある。

376 名前:デフォルトの名無しさん mailto:sage [02/10/26 16:27]
コンパイラに対する命令

377 名前:デフォルトの名無しさん mailto:sage [02/10/26 17:39]
>>375
ヘルプ嫁。

378 名前:デフォルトの名無しさん [02/10/26 17:54]
コマンドラインで指定するコンパイルオプションと同じ。

しかし、コマンドラインでオプションを指定するとそのソース全部に一括してそのオプションが適用されてしまう。
コンパイラ指令としてソース中に記述すれば部分的な適用もできるし、IFなどの制御構造を使った複雑な指定もできる。

例えば、コマンドラインで「 -$O+ 」と指定すると、それはそのプログラム全体が最適化オプションが適用されてしまうが、
ソース中に「 {$O+} 」と書いて指定すれば手続き一つだけについて最適化オプションを適用することもできる。


379 名前:375 [02/10/26 21:21]
>376-378
コンパイラ疑似命令かぁ。
どうりでPASCAL入門の何所にも書かれていないわけだ。

380 名前:デフォルトの名無しさん mailto:age [02/10/27 02:14]
古本屋いけ。

381 名前:デフォルトの名無しさん [02/11/03 17:27]
四個の変数 a,b,c,dの最小値を求める
IF文だけを用いたプログラムと
中間状態を用いたプログラムを書いてくれませんか?



382 名前:デフォルトの名無しさん mailto:sage [02/11/03 17:42]
FUNCTION GetMinimum(a, b, c, d: Integer): Integer;
BEGIN
IF a < b THEN IF a < c THEN IF a < d THEN GetMinimum := a
ELSE GetMinimum := d ELSE IF c < d THEN GetMinimum := c
ELSE GetMinimum := d ELSE IF b < c THEN IF b < d THEN GetMinimum := b
ELSE GetMinimum := d ELSE IF c < d THEN GetMinimum := c
ELSE GetMinimum := d
END;



383 名前:デフォルトの名無しさん mailto:sage [02/11/03 17:46]
FUNCTION GetMinimum2(a, b, c, d: Integer): Integer;
BEGIN
IF a < b THEN b := a;
IF c < d THEN d := c;
IF a < d THEN GetMinimum := a
ELSE GetMinimum := d
END;

384 名前:381 [02/11/03 18:12]
>>382>>383
Pascalを習い始めたばかりなのです。
助かりました。有難うございました。

385 名前:デフォルトの名無しさん mailto:sage [02/11/12 17:45]
保守

386 名前:デフォルトの名無しさん [02/11/13 17:38]
age

387 名前:デフォルトの名無しさん [02/11/24 21:46]

 function intersection(S1,S2:list):list;
var s,p:list;
begin
interlist(S);p:=S1↑.next;
while p≠nil do begin
if search(p↑.item,S2)≠nil then insert(S,p↑.item);
p:=p↑.next;
end
intersection:=S
end

と言うプログラムが本に載ってたんだけど、これってどういう手順で共通集合を出してるかわかんないです。
分かる人いたら、解説キボンヌ


388 名前:デフォルトの名無しさん mailto:sage [02/11/24 21:53]
>>387
こりは Pascal 言語の形を借りたアルゴリズムの説明コードだから、説明してくれと
言われても、このコードを読んで。としかいえないような。

集合 (a,c,d,f) と (b,c,f,g) の共通部分を取得するときに、人間ならどうやるか。
ってことをそのまま実装しているだけだぞ。

389 名前:387 [02/11/24 22:31]
>>388
begin以下がどのような手順によってS1,S2の共通部分を取得してるかわからないんス。
p:=S1↑.nextってとこはpにS1のどの値を代入?


390 名前:デフォルトの名無しさん mailto:sage [02/11/24 22:35]
まずS1の先頭の要素をpに入れる。
pが指す値(item)と同じ値のがリストS2に在るかどうか調べる(search)
もしなければ最後まで行ってしまうのでnilになる。
あったら、その値をSにくっつける。
以下、S1の末尾に行くまで繰り返す。

こんなところかな。

391 名前:387 [02/11/24 22:52]
>>390
解説サンクスベリーマッチョです

S1の先頭の要素をpに入れてから、ループになりますよね?
ループの条件はpが空集合でないときで、ってやっていって、S1はいつ先頭の要素から、先頭の次の要素に変わってるのかが分からないです。


392 名前:デフォルトの名無しさん [02/11/24 23:07]
データは線型リスト構造だよ。



393 名前:392 [02/11/24 23:30]
線型リストの1個の要素はこんな形式
【[データ本体][次の要素へのポインタ]】


これが一次元に繋がってるのが線型リスト。

[先頭をさすポインタ]

→【[データ1][要素2へのポインタ]】
            ↓
←←←←←←←←←←←←←

→【[データ2][要素3へのポインタ]】
            ↓
←←←←....←←←←←

→【[データn][nil〔終端〕]】

知ってたらスマソ。

394 名前:デフォルトの名無しさん mailto:sage [02/11/24 23:32]
その教科書のどこかにある list 型構造体の定義を見直してみてくれ。

395 名前:デフォルトの名無しさん mailto:sage [02/11/24 23:33]
>>391
>ループの条件はpが空集合でないときで

じゃなくて、pが指す先が存在するかどうかってこと。
392さんの図で指すものがなくなったらend

396 名前:392 [02/11/24 23:45]
Pascalの集合型と混同してるのかな。このプログラムは集合型は関係ないよ。

397 名前:392 [02/11/25 00:17]
ポインタ型の変数は>>393

【[データ本体][次の要素へのポインタ]】

みたいな構造体を指し示すタイプの変数だ。
もっと詳しくいえば、その構造体の存在するメモリ上のアドレスを保持している。
このタイプの変数は、その変数の後ろに「↑」をつけることによって
そのレコードの内容にアクセスできる。
※コーディング時には「↑」は「^」を使う。

ポインタ p が例えば2番目のレコードのアドレスを保持しているなら
p^.item と書くことによって
2番目のレコードの item フィールドを参照しているのと同じ結果になる。
(整数が入っているなら writeln(p^.item); などと書ける。)

p にはポインタ型の価を代入できる。
p := (3番目の要素のアドレス)
みたいに代入すれば、今度は
p^.item で3番目の要素の item フィールドを参照できる。

【[データ本体][次の要素へのポインタ]】
この構造体の[次の要素へのポインタ]というフィールドも、またポインタ型だ。
この値で p の値を更新すれば
 p := p^.next;
p を使って次のレコードを参照できる。
こんなふうに使っていくのが線型リスト。(本読んだ方がいいと思うけど)

398 名前:デフォルトの名無しさん [02/11/25 18:53]
どうしてPascalのポインタは↑なのにTurbo Pascalのポインタは^なんですか?

399 名前:デフォルトの名無しさん mailto:sage [02/11/25 19:56]
単に、キーボードと印刷の都合と思ふ

400 名前:398 [02/11/25 19:59]
Turbo Pascalの^と標準Pascalの↑はどちらが一般的なんですか?


401 名前:399 mailto:sage [02/11/25 20:03]
同じ文字なんだけど、キーボード上に↑は無いので^を使ってるし、
印刷して^は見にくいので↑になっていると思ふ
Pascalが生まれた頃は2バイト文字なんて一般的じゃ無かった筈だし

402 名前:398 [02/11/25 20:24]
普通のPascalの↑は、かな変換でのを使用していいってことですよね?



403 名前:デフォルトの名無しさん mailto:sage [02/11/25 21:22]
アフ?

404 名前:デフォルトの名無しさん [02/11/25 21:23]
 






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef