Pascalの宿題は俺にやらせろ!!Part3

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
教育用(?)プログラムPascalの宿題をやって頂くスレ

■丸投げOK
■全く分かってない阿呆も放置しないで優しく対応
■他言語はよそ逝け( ゚Д゚)ゴルァ
■DelphiもTurbo PascalもFreePascalも完全対応

■ Delphi ■
http://www.borland.co.jp/delphi/
■ FreePascal ■
http://freepascal.org/
■ Lazarus ■
http://www.lazarus.freepascal.org/

■ 過去スレ ■
Pascalの宿題は俺にやらせろ!!Part2
http://pc12.2ch.net/test/read.cgi/tech/1136994325/
Pascalの宿題は俺にやらせろ!!Part1
http://pc8.2ch.net/test/read.cgi/tech/1089719714/

■ 関連スレ ■
くだすれDelphi(超初心者用)その51
http://pc12.2ch.net/test/read.cgi/tech/1259667697/
【Delphi互換!?】FreePascal【GPL】
http://pc12.2ch.net/test/read.cgi/tech/1137051510/
Delphi初心者のための寺子屋
http://pc12.2ch.net/test/read.cgi/tech/1132756268/
21:2009/12/16(水) 09:14:43
わざわざ無視することもないだろうと思うので
FreePascalとLazarusもテンプレに追加しました。

MAC系PascalとかUCSDとかはよう知らんので
詳しい人が居たら補完よろ。
3デフォルトの名無しさん:2009/12/16(水) 17:50:36
>>1

そしてどなたかこれお願いします・・・


ターミナル上でテキストを編集するプログラムを作成せよ
以下のコマンドも使えるようにする事

i =テキスト挿入
p =単語の手前にポインタ移動
d =入力した数だけポインタの後ろの文字を消す
c =入力した文字列をポインタの後の文字列に置き換える
s =ポインタの後に空白挿入
h =ヘルプ
q =終了
4デフォルトの名無しさん:2009/12/16(水) 22:06:52
丸投げすぎて笑っちまった
5デフォルトの名無しさん:2009/12/16(水) 22:11:50
ヒドスw
6デフォルトの名無しさん:2009/12/17(木) 01:12:53
>>3
今からやってもいいけどもう少し詳細くれ
7デフォルトの名無しさん:2009/12/19(土) 05:56:47
h
8>>3:2009/12/19(土) 13:07:55
copy文を使って書くように言われました
一応友達のヒント写し
program imim(output,input)

var
i, n, ptr : integer;
command, text, new, pform : string[1000];

pform := '';
command := '';
ptr := 1;

while command <> 'q' do
begin
new := '';
write('Input command : ');readln(command);
if command = 's' then
begin
readln(n);
for i := 1 to n do
new := new + ' ';
text:= copy(text,1,ptr-1) + new +copy(text,ptr,length(new)+length(text)-ptr+1);
end;
i =テキスト挿入
p =単語の手前にポインタ移動
d =入力した数だけポインタの後ろの文字を消す
c =入力した文字列をポインタの後の文字列に置き換える
s =ポインタの後に空白挿入
q =終了

pform :=copy(text,1,ptr-1)+ '*' +copy(text,ptr,length(text));
writeln(pform);
9>>3:2009/12/19(土) 13:08:57
他になにか足りない所があれば言ってください
10デフォルトの名無しさん:2009/12/19(土) 15:28:24
仕様を詳しくという意味なんだがw

こりゃダメかもな
11デフォルトの名無しさん:2009/12/19(土) 16:28:19
>>10
申し訳ない
月曜まで待ってくだされ
12デフォルトの名無しさん:2009/12/19(土) 22:45:58
>>11
誰かは名乗りませんが、ここは一応監視してますので、そのまま提出したらどうなるか想像してくださいね
13デフォルトの名無しさん:2009/12/20(日) 10:29:34
>>3の指導教官キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
14デフォルトの名無しさん:2009/12/20(日) 22:53:35
他の言語ならともかくPascalの質問ができるところなんて限られてるから、
確かに監視はしやすいだろうなw
15デフォルトの名無しさん:2009/12/20(日) 23:10:04
この板のPascal/Delphi関連スレと
Delphi MLあたりだけで充分だろうな。  >監視対象
16>>3:2009/12/21(月) 23:43:24
abcdefgh
例えばこのeの直前にbbbを挿入したい場合、挿入コマンドを使いbbbと入力する。
コンピュータはコマンドを受けると、ポインタを合わせる文字の直前に*印をつけてポインタの位置を示す。
コンピュータ command:
ユーザー i (「挿入せよ」と言う意味)
コンピュュータ Insert what?
ユーザー abcdefgh
コンピュータ *abcdefgh
コンピュータ command:
ユーザー p (「ポインタを合わせよ」という意味)
コンピュータ Point to what?
ユーザー def (ポインタは入力された文字列の最初の文字に*印を付ける)
コンピュータ  abc*defgh
コンピュータ command :
...
必要な動作は繰り返し行う
入力コマンド
実行コマンド
入力コマンド
実行コマンド
入力コマンド



など
17デフォルトの名無しさん:2009/12/22(火) 14:29:07
で?
18デフォルトの名無しさん:2009/12/26(土) 05:59:38
ho
19デフォルトの名無しさん:2009/12/29(火) 21:54:02
シロツメクサの花が咲いたらさあ行こうPascal
六月の風が渡る道をロックリバーへ遠乗りしよう(キンコンカーン)
神様ありがとう僕に友達をくれて
Pascalに会わせてくれて
Pascalに会わせてくれて
ありがとう僕の友達
Pascalに会わせてくれて
20デフォルトの名無しさん:2009/12/29(火) 23:08:05
     ,へ、        /^i
     | \〉`ヽ-―ー--< 〈\ |
     7   , -- 、, --- 、  ヽ
    /  /  \、i, ,ノ    ヽ  ヽ
    |  (-=・=-  -=・=-  )  |
   /  <  / ▼ ヽ    >   、
  く彡彡   トェェェェイ   ミミミ ヽ
   `<   ヘェェェェノ    ミミ彳ヘ
      >       ___/   \
     /         7      \
     |        /
21デフォルトの名無しさん:2009/12/31(木) 17:26:48
あらいぎまパスカル
22デフォルトの名無しさん:2010/01/20(水) 01:32:34
次のゲームを考える
・二人のプレイヤーA、Bにそれぞれ持ち点m点を与える
・コイントスをして表が出たらAからBへ、裏が出たらBからAへ、1点渡す
・コイントスをくりかえして先に持ち点がなくなったほうが負け

一個の自然数mをキーボード入力から読み取ってこのゲームをたとえば1000ゲーム繰り返して、
平均何回のコイントスで勝負がつくか、シュミレーションして求めるプログラムを作成してください。
ただしコイントスを10000回繰り返しても勝負がつかない場合があるかもしれないので、それは回数オーバーとして別にカウントしてください。


お願いします。
23デフォルトの名無しさん:2010/01/20(水) 13:06:41
シミュレーションならできるんだけどシュミレーションはちょっと分からないです
すみません
24デフォルトの名無しさん:2010/01/20(水) 14:38:00
俺はレーションを食うのが趣味だが何か?
25デフォルトの名無しさん:2010/01/22(金) 16:48:45
26デフォルトの名無しさん:2010/01/26(火) 13:48:29
>>25
ありがとうございました。
27ゆみこ:2010/02/04(木) 16:09:33
学校で宿題が出たんですけど、私の力では解けなくて・・・

微分方程式の境界値問題

y''(x) = f(y(x)), 0<x<1, y(0)=y(1)=0

の解を数値的に求める方法のひとつとして、射的法(shooting method)
があります。自然数nを与えて、区間[0,1]をn等分して、ykをy(k/n)
の近似式として、漸化式(ここから下のyの後ろのカッコの中身は添え字と思え)

y(0) = 0, y(1)= t,
y(k+1) = 2y(k) - y(k-1) + 1/n²f(y(k)), k=1,2,…,2n-1,

の解の数値的y(n)=0 を満たすものを、上の問題の近似解として求める方法です。yn=0となる数列を求めるために、ynを未知パラメータtの関数とみなして、tに関する二分法を使います。

正の実数aを適当に定めて、
f(y) = ay(1 - y)
の場合の近似解y(k)を、誤差10-6の範囲で求めるプログラムを作成してください。
自然数nは適当に決めてください。(2のベキ乗にするのが無難です)
実数あの値は、とりあえず20にしてみてください。
(注意:a≧10でないと…)


お前ら解ける?w
28デフォルトの名無しさん:2010/02/04(木) 16:18:18
>>27
ゆみこという名前と

>お前ら解ける?w

この文が矛盾し過ぎるんだが
29ゆみこ:2010/02/05(金) 12:22:34
やっぱり解けない馬鹿だらけだなw
30ゆみこ:2010/02/05(金) 12:23:14
釣りだと気付かないとかあわれすぎるw
31デフォルトの名無しさん:2010/02/05(金) 12:30:28
自分で解けるんなら自分で解けやカス
32デフォルトの名無しさん:2010/02/07(日) 18:14:06
hou
33デフォルトの名無しさん:2010/02/22(月) 15:20:38
問題
楕円内の定点Aより光が出て楕円にぶつかり反射する。
反射した光はまた楕円にぶつかり反射する。
この操作を繰り返すとき、光の通った跡を直線として描くと
楕円の内部を埋め尽くすか否かシミュレーションせよ。

お願いします
出発点Aの位置を変え実験せよ。(光のはじめの方向は適当でよい)
34デフォルトの名無しさん:2010/02/22(月) 15:24:17
>>33
結果をどうやって示すの?
埋め尽くすかどうかを何を基準に判定するの?
35デフォルトの名無しさん:2010/02/22(月) 16:23:28
>>34
分かりにくくてすいません。
適当にいくつかの数値を代入して、図示されればいいです。
埋め尽くすかどうか、というのはやらなくていいみたいです。
36デフォルトの名無しさん:2010/02/22(月) 16:39:53
>>35
図示するツールは何にするの?
線分の頂点をテキストファイルに吐き出せば、そっちで処理できる?
37デフォルトの名無しさん:2010/02/22(月) 17:20:25
ごちゃごちゃうるさいなあ・・・
まず適当に作ってから聞いて下さいよ
38デフォルトの名無しさん:2010/02/22(月) 18:12:40
だめだこりゃ(´・ω・`) 自分で勝手にやれ
39デフォルトの名無しさん:2010/02/26(金) 20:49:17
可変長文字列リストから任意のものを、変数を使わず取り出すにはどうすればいいですか?
たとえば

writeln(("January__February_March____April____(略)October__November_December_")[10..18]);

とすれば固定長としては取り出せますが・・・
40デフォルトの名無しさん:2010/02/26(金) 23:32:39
本当に取り出せた?
41デフォルトの名無しさん:2010/05/23(日) 23:39:18
ちょっと見てみたけどパスカルわかんねーので。
なんかendが多すぎね?

ttp://anchorage.2ch.net/test/read.cgi/siberia/1235319741/680
> プログラミング初心者です。以下の課題が出されたのですが、まったくわかりません。助言おねがいします。
42デフォルトの名無しさん:2010/05/24(月) 01:39:53
>>41
なぜにシベリア、それにperlじゃないのかそれ?
43デフォルトの名無しさん:2010/05/24(月) 01:44:21
>>42
begin endがあったからパスカルかとおもた。すまんかった。
44デフォルトの名無しさん:2010/06/01(火) 01:09:14
>>42
perlじゃないよねRubyかな?
45デフォルトの名無しさん:2010/07/01(木) 21:57:27
以下の条件(仕様)を満たすプログラムを作成し, そのプログラム(Pascalプログラムソースファイル)とともに その解説書を提出すること.
逆ポーランド記法で入力された論理式の充足可能性を判定し, その式の値をtrueにする変数値を,通常の表記とともに出力すること.
可能な演算は論理積(and), 論理和(or), 否定(not), の3種類として, それぞれ 'a','o','n' で表現すること.
使用可能な論理変数は x0, x1, ..., x9 の10種類とし, それぞれ '0','1',...,'9' で表現すること.
例) (x1∧x2)∨(¬x1∧x3) ⇒  12a1n3ao
使用できない文字が含まれる入力に対してエラーの旨を出力すること.
入力された論理式の充足可能性を判定, 式の値を true にする変数値を出力した後, 再度入力待ち状態になり, 空の文字列を入力するとプログラムが終了すること.

これお願いします。解説も出来たらお願いします。
46デフォルトの名無しさん:2010/07/01(木) 22:15:03
すいません便乗して
[1] 授業単元:2分探索法
[2] 問題文: http://uploader.sakura.ne.jp/src/up10962.jpg
[3] 環境
 [3.1] OS: Windows
 [3.2] バージョン:pascal
 [3.3] 言語: pascal
[4] 7月2日の3時まで
[5] 特になし
リンク先に問題文をおきました。
問題が2つあるので、b1.rb b2.rb というふうにしてください。
よろしくお願いします。
47デフォルトの名無しさん:2010/07/13(火) 14:59:33
1個の自然数nを適当決めて、nチームが参加する
リーグ戦の全試合日程を表示するプログラムを書きなさい

お願いします!
48デフォルトの名無しさん:2010/08/02(月) 16:28:51
ちょっと助けてくれ。
大学の講義でプログラミングしているのだが、まったくわからん。

ガンマ線計測によって得られたスペクトルデータを読もとり、データをテキストファイルに書き込んだり、グラフに表示することを各自プログラミングしてみよう。
以下、ヒント
Var
Chn:array of LongWord;
Real_Time,Live_Time:LongWord;
Second,Channels:Word;
DateTime:array[1..12] of Char;
FileName:String;

procedure ReadFile;
Var
InFile:File;
Dummy:array[1..6] of Char;
Result:Integer;
i:Word;
lw:LongWord;

次に続く
49デフォルトの名無しさん:2010/08/02(月) 16:29:36
begin
AssignFile(InFile,FileName);
FileMode:=fmOpenRead;
Reset(InFile,1);
BlockRead(InFile,Dummy,6,Result);
BlockRead(Infile,Second,2,Result);
BlockRead(Infile,Real_Time,4,Result);
BlockRead(Infile,Live_Time,4,Result);
BlockRead(Infile,DateTime,12,Result);
BlockRead(InFile,Dummy,2,Result);
BlockRead(InFile,Channels,2,Result);
Setlength(Chn,Channels);
For i:=0 to Channels-1 do begin
BlockRead(InFile,lw,4,Result);
Chn[i]:=lw;
end;
CloseFile(InFile);
end;
 ファイルを読み込むときによくやる方法は、"TOpenDialog" コンポーネントを使い、Button コンポーネントをクリックしたときのイベントハンドラなどで、OpenDialog1.Executeを呼び出す。

グラフを書く前に、データをテキストファイルに書き出す練習をしてみよう。テキストファイルの型は、Fileではなく、TextFileを使いう。
データを書き込むファイルを指定する場合には、"TSaveDialog"コンポーネントを使う。SaveDialog1.Executeを呼び出す。書き込む前に、Rewriteを使ってファイルを開く。書き込むときには、Writeln(OutFile,Ch[i]);などのようにする。

プログラムの動きを点検するときは、次の通り
 F4キーを押すと、押されたプログラムの部分まで実行されたら、実行がストップする。F8キーで、次の行、F7キーを押すと、行内でよびだされている手続き・関数内に行って、ストップする(手続き、関数が無い場合には、F8キーと同じ)。

ちなみに、Turbo Delphiというやつを使っている。
誰か無知な我にご加護を。
50デフォルトの名無しさん:2010/08/02(月) 16:40:57
誤字脱字が多すぎ
51デフォルトの名無しさん:2010/08/02(月) 16:48:13
>>50 指摘をするときは具体的にいってもらわないと伝わらないと思うのだが。1箇所は見つけたが、あとはわからん。それに申し訳ないが、問題文を読んだ上のコピペなので、自分には訂正できない(書き込む際には可能だが)。
52デフォルトの名無しさん:2010/08/02(月) 16:56:33
何をしてもらいたいのか書いてないから何も出来ない。
無知以前にコミュニケーション能力に問題あり。
53デフォルトの名無しさん:2010/08/02(月) 17:01:05
>問題文を読んだ上のコピペなので、自分には訂正できない(書き込む際には可能だが)。
意味不明
54デフォルトの名無しさん:2010/08/02(月) 17:04:34
>>52-53 そうでしたら勝手にそう理解してください。あなた(あなた方?)に自分から言いたいことはもうありませんので。
55デフォルトの名無しさん:2010/08/02(月) 17:08:04
すまん
さっき見たときは2〜3ヶ所あったような気がしたが
今見ると1ヶ所しか見つけられない
こっそり書き直してないか?
56デフォルトの名無しさん:2010/08/02(月) 17:09:31
あー少なくとも2つあるな
57デフォルトの名無しさん:2010/08/02(月) 17:12:15
>>55 投稿は消せなくないか?一切手は加えていない。
>>56 それがどこか指摘してくれとさっきから言っているのだが。
58デフォルトの名無しさん:2010/08/02(月) 17:16:50
とりあえず2つ見っけ

>ガンマ線計測によって得られたスペクトルデータを読もとり、データをテキストファイルに書き込んだり、グラフに表示することを各自プログラミングしてみよう。

>グラフを書く前に、データをテキストファイルに書き出す練習をしてみよう。テキストファイルの型は、Fileではなく、TextFileを使いう。
59デフォルトの名無しさん:2010/08/02(月) 17:20:26
>>58 ありがとう。非常に助かる。書き直すにはどうすればいいのだろうか?
60デフォルトの名無しさん:2010/08/02(月) 19:14:28
質問してる奴もいちいち取り合ったり煽ったりすんなよな
誤字脱字を直してもらいたいだけなのか?

>>52へのレスは人間としてまちがってるな。
ここでやり取りしながら一からPascalを習うとかだったら、いつまでかかるかわからんぞ。
冷静になって、自分のレスが何をしてくれと書いてあるのかもう一度読んでみろ。
61デフォルトの名無しさん:2010/08/02(月) 19:16:59
C の宿題スレと違ってここは厳しいよねー。
62デフォルトの名無しさん:2010/08/02(月) 19:34:25
Delphi使いはほとんどが卑屈な人間だからね
63デフォルトの名無しさん:2010/08/02(月) 19:43:25
問題の中に明らかにそれと判るヒントが書いてあるのに
「まったくわからん」とかやる気がまったく感じられない
自分でやろうとしてどこまで出来て何が出来ないのか
何をして欲しいのか説明出来るようになってからまた来てね
64デフォルトの名無しさん:2010/08/02(月) 21:12:34
そして説明したらしたで、「そこまでわかっているならなぜできない」と言われる。
65デフォルトの名無しさん:2010/08/02(月) 21:27:22
手取り足取り教えてあげたいけど
いまどきTurboPascalってどうやったら入手出来るの
66デフォルトの名無しさん:2010/08/02(月) 21:31:39
まず、パンツを脱ぎます。
67デフォルトの名無しさん:2010/08/02(月) 21:35:50
>>65
ttp://edn.embarcadero.com/article/20803
というかTurboDelphiって書いてあるじゃんよ
68デフォルトの名無しさん:2010/08/02(月) 23:53:42
ああTurboDelphiか
巣で読み間違えてた
っていうかここPascal専用?
69デフォルトの名無しさん:2010/10/14(木) 04:00:09
とりあえず詳しく話せとか言ってるアホは>>1をもう1回見てくるべきだな
○投げおkなんだから理解できなかったら無視しろよ低脳ども
70デフォルトの名無しさん:2010/10/14(木) 07:40:35
丸投げの意味すらわからねーのかよ
71デフォルトの名無しさん:2010/10/14(木) 15:11:39
>>69
アホはお前だろ
情報が少なくて誰にも理解出来ないんじゃそもそも丸投げできてない
72デフォルトの名無しさん:2011/01/12(水) 02:40:02
73デフォルトの名無しさん:2011/01/14(金) 22:19:36
74デフォルトの名無しさん:2011/01/19(水) 22:59:48
75デフォルトの名無しさん:2011/01/22(土) 04:15:16
76デフォルトの名無しさん:2011/07/09(土) 23:23:06.53
77デフォルトの名無しさん:2011/11/15(火) 13:35:17.78
Delphiって開発環境高く無いですか?
C#とかJavaはタダなのに………
78デフォルトの名無しさん:2011/11/15(火) 14:17:24.40
貧乏人に用はありません
はい、次の方どうぞ
79デフォルトの名無しさん:2011/11/27(日) 16:30:29.57
ubuntuにPASCALコンパイラ入れたいんですけどどうやるんでしょうか?
80デフォルトの名無しさん:2011/11/28(月) 12:03:01.41
それインストールできないなら、あきらめろ
81デフォルトの名無しさん:2011/12/01(木) 23:04:29.91
sudo apt-get install gpc fpc lazarus
82デフォルトの名無しさん:2011/12/03(土) 01:36:44.80
>>81
ありがとうございます。
やってみたのですが、パッケージ gpc が見つかりませんと出ます。
ubuntu 11.10ですが、何か別途ダウンロードが必要でしょうか?
83デフォルトの名無しさん:2011/12/03(土) 01:40:27.03
ほらな
84デフォルトの名無しさん:2011/12/03(土) 17:48:57.18
apt-cache search 検索するための文字列
を入力したらその文字列に該当するいくつかのパッケージが表示されるでしょう
その中にめぼしいものがあったら
sudo apt-get install そのパッケージ名
と入力してインストールするんですよ
85デフォルトの名無しさん:2011/12/16(金) 00:41:41.59
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
86デフォルトの名無しさん:2011/12/16(金) 05:17:57.61
ほう
87デフォルトの名無しさん:2011/12/29(木) 05:53:57.29
GPCって改行だけさせたいときに
writeln()
としても駄目なんだな
writeln('')
としたらコンパイルしてくれた。このせいでこんな時間まで起きちまったぜ。
88デフォルトの名無しさん:2011/12/29(木) 08:13:26.34
writeln;
ならどう?
89デフォルトの名無しさん:2011/12/30(金) 21:29:34.62
>>88
普通にコンパイルできた。こんなのが通るとかPASCALの仕様なのか
コンパイラの拡張なのか知らないけどスゲエ
90デフォルトの名無しさん:2012/01/10(火) 00:30:49.90
いや、それ改行の常套手段だから。

俺がPascal使い始めた22年前でも普通にやってたし、
もっともっと古い時代のソース見ても改行は普通にWriteln;でやってる。
91デフォルトの名無しさん:2012/01/10(火) 00:47:23.48
あと、滅多に使わないけど
readln;
とか
random;
とかもできるよね
92デフォルトの名無しさん:2012/01/10(火) 13:43:44.98
>>89
正式の仕様だよ。言語設計者が「改行はwriteln;」って書いているから。
93デフォルトの名無しさん:2012/02/16(木) 22:29:59.34
Toppascalでlabelを宣言しようとしたら「Declaration expected Invalid qalifier!」って怒られるんですがToppascalだとlabelは使えないんですかね?
94デフォルトの名無しさん:2012/03/08(木) 07:03:30.63
TurboPascal(1983年〜)を超える最強プログラミング言語が現れない件
http://engawa.2ch.net/test/read.cgi/poverty/1331134546/
95デフォルトの名無しさん:2012/03/10(土) 10:53:58.23
どなたかご協力お願いします。
1からmまでの整数の集合 A = {nは自然数|1≦n≦m}の中からn個の整数を取り出す組み合わせすべてを生成するプログラムを作れ。また、5C3の場合を表示せよ。(Cはコンビネーションです)

組み合わせを a1,a2,a3,・・・an としていって、a1<a2<a3<・・・<an となることを利用して作ると思われるのですが、、、
96デフォルトの名無しさん:2012/03/10(土) 12:56:23.60
mCn
pascalの宿題出す大学って例えばどこ?