******Programming Language Pascal******
Program Pascal(output);
Begin
Writeln('Let's make a simulation game with Pascal!!');
End.
/ヽ /ヽ
/ ヽ / ヽ
______ / ヽ__/ ヽ
| ____ / :::::::::::::::\
| | // \ :::::::::::::::|
>>1 | | | ● ● ::::::::::::::| 何このスレ・・・
| | .| :::::::::::::|
| | | (__人__丿 .....:::::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::::::::::::::::::::|
4 :
デフォルトの名無しさん:04/03/10 18:28
え。このスレってそのスレの次スレなの?
関係ないと思うけど
>>1 のやる気の無さと「Pascal の初心者用の質問・相談所」スレの
消費具合から独断で判断してみた。
「Pascal の初心者用の質問・相談所」スレが埋まってからこのスレの状況を見て
どうするか判断してもいいと思う。
Let's make a simulation game with Pascal!!
>>1 がこれじゃなぁ
8 :
デフォルトの名無しさん:04/03/11 00:53
いまどき、Pascalの優位性ってなんかあんの?
Delスレは乱立してるのに。
先生!パスカルの初心者は英語が読めないと思いまーす。
フランス語ならよめるのか?
ロシア語だな
OpenGLもやる奴はドイツ語も読めるかもしれんう
英語が読めない
英語を読めない
Delphiのソースってロシアにいっぱい転がってるけど
文字コードの変換しないといけないのが面倒だな
ロシア語で考えるんだ!
>>14 30代中盤以上だな。
映画板に逝ってこい。
ふぁい、あふぉーっ、くす
17 :
Hanzer:04/03/20 10:26
PASCAL(Philips’ Automatical Sequence Calcurator)
スイスの連邦工科大学のNiclaus Wirthが、教育用に向いた言語として,
70年代初頭に設計したコンピュータ用のプログラミング言語。
名前は数学者Pascalに由来する。現在ではISO規格にもなっている。
Algol系言語の流れを汲んで、厳密な型付け規則を持つ手続型言語であるが、
簡潔な文法ながら高度なアルゴリズム記述能力を持ち、
処理系も比較的簡単に作成できるので、計算機科学の入門を始めとして広く普及している。
ただし、当初は大型コンピュータでバッチ的に利用するように設計されていたため、
標準規格のPascal言語仕様では、インタラクティブな用途や、
ユーザーインターフェイス面でのサポート、ファイル入出力関連などのシステムインターフェイスの機能はかなり不足している。
また、ライブラリ機能(プログラムをモジュール化しておいて、後からその中の一部分だけを使う機能)
などのサポートもないため、大規模なソフトウェア開発には適していない。
実際の処理系では、これらの欠点を改良した各種のインプリメントがあるが(パソコン用ではBorlandのTurbo Pascalシリーズが有名)
拡張仕様に互換性がないため、処理系間でのソースプログラムの移植性は低い。
18 :
Hanzer:04/03/20 10:46
>>7 Pascalはまだクラスを取ってるだけで全く初心者と変わらんかも。。。
ちなみに元々C/C++やってました。
シミュレーションではなく、パスカル発(初)の新感覚ボードゲーム(将棋なども含む)
を作りたいと思うが。どうかな?
まず簡易なAIが作れないとできそうになさそうだ。
ま、AIといってもまず専門家の知識と解決手段をプログラム化して
ある問題に対する問題解決や意思決定を行わせるわけだが。。。
これを一人でやるのはどうやらできなさそうなので何とか手分けしてできたらと思う。
諸君の意見を聞きたい。
氏んでくれ
半蔵氏ね
今時Pascalでエキスパートシステムですか。
20年前に1T
ここで他板のあるスレを紹介すると間違いなくスレ建て逃げに10ペリカ
23 :
Hanzer:04/03/21 09:49
>>19-22 まぁその気持ちは分からんでもない。
だがそもそもできそうにないことを可能にするのが俺たちじゃ無かったか?
ちなみに俺は自慢だが初期のCにしてAIの元祖、
言語解析ツールの基礎を作り上げたものだったが。
>>Hanzer
腰抜けな自分が言うのもなんだが2chでやるなら先に少しでもいいから作っておいて、それから始めたほうが良いと思うよ。。。
でもまぁ頑張れ!
Pascalが教育用言語として開発されたと聞いて
学んでみようと思ったのならそれは間違い。
今はJavaとSchemeが教育用言語の主流です。
Scheme採用してる大学なんて聞いたことねぇよ
27 :
デフォルトの名無しさん:04/03/21 16:53
>>25は
MITは採用してますが何か?
とかほざくのかなww
自分ペパーダインに留学してたけどSchemeの演習が確かにありましたよ。
>>23 いや、重複スレと呼んでも過言ではないスレがあるんだな、他板に。
しかも、そちらではちゃんと物ができてる
すべては
>>1次第
31 :
Hanzer:04/03/22 10:23
>>24 >>30 確かに何にでも言えることだが、ことプログラムに関して初期設計を
はっきりさせておかないと何を言っても説得力が無い。
ということでとりあえず構想を練る時間を数日欲しい。
C/C++で考えて、Pascalに置き換えてみるよ。
日本人の英語の学び方っぽいな
>>31 じゃあ初期設計できるまで上げないでくれ。
.がキモイ
begin
endで締めてんだから
.は不要だろ。
.がキモイんだよ
Scheme使えよ低学歴ども
スレ違いですよ。低脳
37 :
デフォルトの名無しさん:04/09/10 18:17:26
で?
38 :
デフォルトの名無しさん:04/09/14 22:29:42
crtて、"C" Runtimeの略ですよね?
どういうつもりですか?
3chで月曜夜11時半からやってるフランス語講座のappartment出演者にパスカルがいたな。
41 :
デフォルトの名無しさん:04/10/22 08:22:18
?
42 :
デフォルトの名無しさん:04/10/26 01:24:21
今人いる?
43 :
デフォルトの名無しさん:04/10/26 01:26:16
>42 いるよ
繰り返し文を用いて掛け算九九の表を作るのがわからんぽ(´;ω;`)
1 2 3 4 ~
2 4 6 8
3 6 9 12
~
ってな感じの
授業でPascal言語の概要を聞いただけの初心者です(;´Д`)
>>46 おお、よしよし可愛そうに。
今教えてあげるから待っておいで。。
こんなんでいいんでは?
久しぶりに Delphi さわった。
program Test66;
var
i: Integer;
j: Integer;
begin
for i := 1 to 9 do
begin
for j := 1 to 9 do
begin
Write((i*j) : 3);
end;
WriteLn('');
end;
end.
Delphiではないんですけど、これを参考にしてちょっといじってみます
できました!
教えてくださってありがとうございました!
配列から配列に渡すfunctionがわかんねぇええさhふぁlhふぁk
オープン配列っちゅうのつかうのか?
>>51 ここじゃなくて Delphi スレで聞いたほうが
答えてくれる人多いかもね。
整合配列は Delphi では扱いがちがうからどうかな?
というか
>>51 が整合配列についてきいているのかどうなんだかわからん。
Pascalって3次元配列できる?
var
unko : array of array of array of integer;
>>54 出来るよ。
次元数は言語上特に規定していなかったような気がする。
メモリとかコンパイラとかでの制限はあると思うけど。
array ofなんてネーヨ
配列の大きさを実行時に入力させた大きさにしたいんですが可能でしょうか?
>>57 すなおに動的配列を使うか、
ポインタを使って自前でメモリ確保して配列もどきを作るか
とかすると可能。
まあ、そういう質問するぐらい何だから、簡単な動的配列使いなよ。
59 :
デフォルトの名無しさん:04/12/07 23:06:54
c言語の{ }が生理的に嫌いで、pascalスレにに来ました。
>>59 #define begin {
#define end }
61 :
助けて☆:04/12/09 15:52:33
只今授業中で頭悪いので苦戦してます。
(課題)
入力されたn個の数を大きい順に並び替えるプログラムを作れ。
誰か解いてください(>_<)
「ソート アルゴリズム」で検索しような!w
>>61 脳内でどれだけ動作をシミュレートできるかが大切だよ
>>61は韓国の受験生。教えた香具師もタイーホニダ。
66 :
デフォルトの名無しさん:04/12/13 12:23:48
BEGIN
BEGIN
BEGIN
END
BEGIN
BEGIN
END
BEGIN
BEGIN
BEGIN /\___/ヽ ヽ
END / ::::::::::::::::\ つ
BEGIN . | ,,-‐‐ ‐‐-、 .:::| わ
BEGIN | 、_(o)_,: _(o)_, :::|ぁぁ
END . | ::< .::|あぁ
END \ /( [三] )ヽ ::/ああ
END /`ー‐--‐‐―´\ぁあ
BEGIN
END
END
BEGIN
BEGIN
END
END
END
BEGIN
END
END
END
67 :
デフォルトの名無しさん:04/12/13 16:33:39
WilthがPascalに参照型を採用した功罪について教えてください。
宿題だとしたら何を答に要求してるのかいまいちよくわからないけど
参照型は機能としては別に罪はないだろ。
ただfoo(a)が値渡しなのか参照渡しなのかがわからないという問題はあるね。
Cならポインタ渡しでfoo(&a)とはっきりわかる。
C#では参照渡しにfoo(ref a)とrefを明示するようになってる。
69 :
デフォルトの名無しさん:04/12/13 23:04:00
PascalはALGOL60->ALGOL68の影響を受けた言語だと理解しています。
メインフレームにALGOLマシンを目指したスタックコンピュータが
作られた時代に、あえて教育用言語にポインターを導入したことの
総括を聞きたい、ということです。宿題ではありませんが。
Pascal の構造データ型は実質上 Wirth が Pascal の前につくった
Algol W とほとんどおなじです(構文はちがいますが)。ビットシー
ケンスを集合型にとりかえたくらい。
ガーベジコレクションのない言語で複雑なデータ構造をあつかおう
とすればポインタをつかうことになるのは自然だとおもいます。
Pascalの型システムの欠陥としてよくあげられるのは、ポインタでは
なくてCASE タグつきのレコード型ですね。
>>61 program sort(input,output);
var
n : array[1..10] of integer;
i,r,sort1 : integer;
begin
{ Input data }
write('Please enter (MAX10) : ');
readln(i);
for r:=1 to i do
begin
write('Please enter the number : ');
readln(n[r])
end;
{ Processing }
for r:=1 to i do
begin
if n[r]<n[r+1] then
>>71 続き
begin
sort1:=n[r];
n[r]:=n[r+1];
n[r+1]:=sort1;
end;
end;
for r:=1 to i do
begin
writeln(n[r]);
end;
{ Ending }
writeln;
writeln('End of Job.');
end.
Free Pascal 2.0リリースおめ
>>74 ヽ( ´ー`)ノ おめ〜
Delphi死すともPascal死なず。
pascalに動的配列ってありますか?
>>76 ISO 10206 拡張Pascalではパラメタつきの型が使えるので
type T(Max:Integr) = array [0..Max] of Integer;
var P : ^T;
として「New(P, 100)」で 100個の要素をもつ配列を作ることができる。
またこの型を引数として渡して、下のように書くことができる。
function Sum(A:T):Integer;
var R, I: Integer;
begin R := 0;
for I := 0 to A.Max do R := R + A[I];
Sum := R
end;
いっぽう Delphi では上限を決めずに下のように書ける。
var X : array of Integer;
この場合、下限は 0 に決めうちになるが、上限は「SetLength(X,100)」
のようにして設定できる。上の Sum は Delphi では下のようになる。
function Sum(A:array of Integer):Integer;
var R, I: Integer;
begin R := 0;
for I := Low(A) to High(A) do R := R + A[I];
Sum := R
end;
>>74 の Free Pascal 2.0 も Delphi とおなじ方式が使える。
Delphiはオブジェクト指向言語だけど
オブジェクト指向で組むと、上司からソース追えないと言われる不思議な言語だ。
Delphiは、楽して適当にやってりゃいい。
FreePascalで例外処理のやり方が分かりません。
read(i); // iは整数型
とかして、実数をキーボードから入力するとRuntimeErrorで止まっちゃうのが嫌なんです。
入力が数字なら実数型でreadしてroundでいいけど、文字とか入れられた時は、文字列でreadして…。
そうすると、入力できる桁数の制限が…とか、考えることが増えまくるじゃないですか。
それで、例外処理したいなぁと。
ネットで調べたら
try
except
って書いてあるの見たけど、これはDelphiじゃないとだめぽってコンパイルエラーになるので、FreePascalではやり方が分からなくて…。
だれか教えてください。おねがいします。m(_ _)m
>>79 Free Pascal 2.0 では Delphi 互換(-Sd)オプションをつけることで try が
使えるようになります。
uses SysUtils;
...
try Readln(f,s); ...
except
on ex: Exception do begin
Writeln(ex.Message); ...
end;
end;
伝統的な方法は、{$I-} を使うことでファイル関係のエラーで止まらなくなります。
このときエラーがおきたかどうかを調べるには IOResult を使います。
81 :
79:2005/06/15(水) 15:19:09
-Sdでやっても通らなかったので調べてみたらFreePascal1.9.8のコンパイラでした。
2.0のでやったらできました。
どうもありがとうございました。
伝統的な方法も、いまから調べてみます。
82 :
79:2005/06/15(水) 15:23:55
>>80 できました。
ありがとうどざいます。
伝統的な方法の方も今から調べてやってみます。
83 :
79:2005/06/15(水) 20:24:40
2回も書いてしまった…
リロードしても表示されなかったんです…
キャッシュしてないのに…
しかも2回目書き間違えてるよぉ…orz
84 :
alfalfa:2005/07/24(日) 02:28:37
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄ ̄
(~)
ノ,,
∋oノハヽo∈
( ´D`)(夏 ) <Pascalファンのみなしゃん暑中お見舞いれす
─ (^*フ鹵y'*_O
\\ (*ノ =メ=ヽ \
 ̄|| ̄ソ *ソ *ノ ̄ ̄||
85 :
デフォルトの名無しさん:2005/07/25(月) 10:17:32
加減乗除だけで平方根の近似値を求めるってのをpascalで表示したいのですが、どうすればよいでしょうか?
小数第一位まで求めるようにしたいです。
hint
newton method
87 :
デフォルトの名無しさん:2005/10/27(木) 01:02:41
Pascalの構文に基づいて記述された以下のアルゴリズムを考える。
while not ((x = 0) and empty) do
if x = 0 then
begin x := pop; y := y+1 end
else
if y = 0 then
begin x := x-1; y := 1 end
else
begin push(x-1); y := y-1 end;
z := y+1
このアルゴリズムは整数型の変数x,y,zと共にスタックを1つ使用していて、
pushを「実引数として与えられたデータをスタックにプッシュする手続き」、
popを「スタックからデータをポップして返す関数」、emptyを「スタックが
空のときにTRUEそうでない時にFALSEを返す関数」と仮定して使用している。
また、非負整数m,nに対して、スタックを空の状態にしてx,yにそれぞれm,n
を与えて上のアルゴリズムを実行した時の最終的なzの値をA(m,n)として部分
関数Aを定義する。(特に、計算が停止しなければzの値は未定義なのでA(m,n)
の値も未定義となる。)これについて以下の問に答えよ。
88 :
デフォルトの名無しさん:2005/10/27(木) 01:11:04
(1)スタックを空の状態にしてx,yにそれぞれ2,1を与えて上のアルゴ
リズムを実行した時に、各変数の値とスタック状態がどのように
推移するか説明して最終的なzの値を答よ。
(2)スタックに非負整数l(小文字のエル)が1つ保存されている状態
で、x,yにそれぞれ非負整数m,nを与えて上のアルゴリズムを実行し
たときの最終的なzの値をAを用いて表せ。
(3)Aの再帰的な定義を与えよ。またAは全ての非負整数に対して値が定
義されていることを証明せよ。
(4)A(3,n)=2^(n+3)-3であることを証明せよ。
Pascalは学部時代に少しやっていたのですが、もう忘れてしまいました。orz
今度、とある試験を受けることになったのですが、そこで出題されていた
過去問なんですけど、さっぱり判りません。
どなたか教えてください。よろしくお願いいたします。
89 :
デフォルトの名無しさん:2005/10/27(木) 01:32:05
ついでにもう一問。
以下のプログラムはいわゆる「エラトステネスのふるい」というアルゴ
リズムによって整数2からN(今は10000に設定)までの素数の判
定を行うプログラムの核心部をPascalで書き出したものである。このア
ルゴリズムについてはプログラムを読むことによってどういうものか理
解してほしい。Boolean型配列aの添字に対応する数字が素数であればTR
UEを、そうでなければFALSEを設定することで判定結果を保存する。
1. var a:array[1..1000000] ;
2. var i,j,N : integer ;
3. N := 10000 ;
4.
5. a[1] :=false ;
6. for i:=2 to N do a[i] :=true ;
7. for i :=2 to N div 2 do
8. for j :=2 to N div i do
9. a[i*j] := false ;
90 :
デフォルトの名無しさん:2005/10/27(木) 01:40:15
(1)今このプログラムをある計算機で実行させるとNが10000で750
×10^3単位、Nが1000000で1000×10^3単位の時間が
費やされた。ではNが500000だとどのくらいの単位の時間が消費
されるだろうか。上記程度の精度の数字で示し、その根拠を示せ。
(2)上記のプログラムは冗長な部分がある。これを正し最適化せよ。最適化
した部分はオリジナルの行番号を参照してどのような改変を加えたか具
体的に示せ。
(3)この変更によって250×10^3単位程度の時間でNがどの程度までの
範囲で素数判定ができるか答え、根拠を示せ。
以上です。よろしくお願いいたします。
>>88 (1)
x y スタック
2 1 [ ]
2 0 [1]
1 1 [1]
1 0 [0 1]
0 1 [0 1]
0 2 [1]
1 3 [ ]
1 2 [0]
1 1 [0 0]
1 0 [0 0 0]
0 1 [0 0 0]
0 2 [0 0]
0 3 [0]
0 4 [ ]
z=5
93 :
PASCAL:2005/11/06(日) 14:00:30
次の問題を疑似言語PASCALで記述せよ。
2.車種、数量、新車ー中古車の区分、の組からなる売り上げデータを多数
入力し、新車、中古車をそれぞれの数量合計を求めて出力する。入力のストッパ
は、車種が"END"であるとする。
(入力例) (出力例)
civic 1 2 古 新車 7
sunny 8 古 中古車 20
splinter 7 新
END 0 0
94 :
PASCAL:2005/11/06(日) 14:15:59
次の問題を疑似言語PASCALで記述せよ。
1.学生番号と身長(cm)の組を多数入力し、入力したデータをそのまま出力する。
ただし、身長が180以上の場合だけ。”tail"という文字を横につけ加える。
入力データのストッパは、学生番号=身長=0とする。
(入力例) (出力例)
1001 168 1001 168
1002 176 1002 176
1004 182 1004 182 tail
0 0
ここはいつから宿題やってスレになったのだ?
97 :
デフォルトの名無しさん:2006/03/19(日) 20:19:07
TurboPascal Ver.3 のコンパイラのソースコードとかって流れてないの?
本体自体はボーランドで落とせるけどさ。
>>97 gpcかFree Pascal辺りで我慢しれ。
99 :
デフォルトの名無しさん:2006/04/14(金) 03:52:14
誰か教えてくれませんか?
時、分、秒で表した時間の和を計算するプログラムを作成したい。 但し、以下の条件を
満たすように作成しなさい。
データは日、時間、分、秒を表す整数型のフィールド名 day, hour, minute, second のレコード型で定義し、
レコード名を time とせよ。秒と分の計算課程は同一であるため、 その個所は手続きを使って表現せよ。
入力として、時、分、秒の 3個のデータを 2セット入力し、その和を出力せよ。
もし、 hour の値が 24 以上であれば day に1の値を、 24未満であれば零にせよ。
宿題はスレ違いだろ多分