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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 00:45:25 ]
教育用(?)プログラムPascalの宿題をやって頂くスレ

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

【本家】

www.borland.co.jp/delphi/

【前スレ】

pc8.2ch.net/test/read.cgi/tech/1089719714

【関連スレ】

くだすれDelphi(超初心者用)その15
pc5.2ch.net/test/read.cgi/tech/1087823906/l50

Pascal の初心者用の質問・相談所
pc5.2ch.net/test/read.cgi/tech/1009903617/l50

【Delphi初心者】今から始めるDelphi Part01
pc5.2ch.net/test/read.cgi/tech/1062422335/l50


231 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 05:04:10 ]
>>228
program test1(input);
var o,e : file of integer; i:integer;begin
Assign(o,'oddsequence');Rewrite(o);
Read(i);while i <> 0 do begin Write(o,i); Read(i); end;
Assign(e,'evensequence');Rewrite(e);
Read(i);while i <> 0 do begin Write(e,i); Read(i); end;
Close(o);Close(e);end.

program test2(output);
var o,e,s : file of integer; i,j:integer;begin
Assign(o,'oddsequence');Reset(o);
Assign(e,'evensequence');Reset(e);
Assign(s,'sequence');Rewrite(s);i := 0; j := 0;
while not (eof(o) and eof(e) and (i = 0) and (j = 0)) do begin
if not eof(o) and (i = 0) then Read(o,i);
if not eof(e) and (j = 0) then Read(e,j);
if (i <> 0) and (i < j) then begin Write(s,i); i := 0;
end else if j <> 0 then begin Write(s,j); j := 0; end; end;
Reset(s); while not eof(s) do begin Read(s,i);Write(i);Write(' ');
end;Close(o);Close(e);Close(s);end.

232 名前:デフォルトの名無しさん [2006/04/22(土) 17:02:18 ]
はあ?

233 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 18:09:59 ]
>>229
夜遅くにご苦労様です。
そこにif入れればよかったのか。

234 名前:デフォルトの名無しさん [2006/04/24(月) 05:32:37 ]
フィボナッチ数列の項は、その直前の連続する二つの項の和である。
f( n ) = f( n - 1 ) + f( n - 2 )
但し、 f(0) = 0, f(1) = 1 である。
フィボナッチ数列の連続する項の差の比
z = { f( n - 1 ) - f( n - 2 ) }/ { f( n ) - f( n - 1 ) }
は、 n が大きくなれば、ある値に収束する。この値の近似値を求める プログラムを書き、その値を示せ。この値は黄金分割比と呼ばれる。
フィボナッチ数列は関数 fibonacci を作って求め、項は配列に表せ。まず 30 項まで求め、黄金分割比の値が収束していく様子を出力して
確かめよ。収束判定のために定数 dif = 1.0 e -6 を宣言し、 連続する z の差の絶対値が dif 以下になったとき、
収束したとして計算を終了するプログラムを作り、プログラムとその 計算結果を提出せよ

235 名前:デフォルトの名無しさん [2006/04/24(月) 05:34:47 ]
コンパイルはできるんだけど、何かがおかしいです。
すみませんがわかる方教えてくれませんか?

program pe1_2(input,output);
const dif = 1.0e-6;
var i,m, g : integer;
f, z,q : array [0..500] of real;
function fibonacci(n: integer):integer;
begin
if (n >=0) and (n <=1) then fibonacci:=n
else fibonacci:=fibonacci(n-1)+fibonacci(n-2);
end; { fibonacci }
begin
f[i]:=fibonacci(i);
writeln('30項まで求めます ');
for i :=1 to 30 do
begin
writeln('f(',i:2,')=',f[i]:1);
end;
write('m=');
readln(m);
for i:= 3 to m do
repeat z[i]:=(f[i-1]-f[i-2])/(f[i]-f[i-1]);
until dif >= z[i]-z[i-1];
writeln(z[i]);
{writeln('z(',i:3,')=',z[i]:1,','); }
end.

236 名前:デフォルトの名無しさん [2006/04/24(月) 06:10:31 ]
こんな感じじゃないのか?

program pe1_2(input,output);
const
 dif = 1.0e-6;
var
 i : integer;
 f,z : array [1..30] of real;

function fibonacci(n: integer):integer;
begin
 if (n >=0) and (n <=1) then fibonacci:=n
 else fibonacci:=fibonacci(n-1)+fibonacci(n-2);
end; { fibonacci }

begin
 writeln('30項まで求めます');
 for i :=1 to 30 do
 begin
  f[i]:=fibonacci(i);
  writeln('f(',i:2,')=',f[i]:1);
 end;

 for i:= 3 to 30 do
 begin
  z[i]:=(f[i-1]-f[i-2])/(f[i]-f[i-1]);
  writeln('z(',i:2,')=',z[i]);
  if (i > 3) and (dif >= abs(z[i]-z[i-1])) then
   break;
 end;
end.

237 名前:デフォルトの名無しさん [2006/04/24(月) 23:06:40 ]
>>236
言われたとおりにしましたが前と同じ結果でした。
コンパイル結果
f(1)=0.0e+00
   :
   :
f(27)=0.0e+00
f(28)=0.0e+00
f(29)=0.0e+00
f(30)=0.0e+00
m=30

この後何も動きませんでした。
どこがおかしいのでしょうか?
わかる人教えてくれませんか?

238 名前:デフォルトの名無しさん mailto:sage [2006/04/24(月) 23:28:52 ]
if (n <=1) then fibonacci:=n

239 名前:デフォルトの名無しさん [2006/04/25(火) 04:27:48 ]
あんまり変わってないんじゃない?




240 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 06:56:08 ]
⇒ if (n >=0) and (n <=1) then fibonacci:=n
>但し、 f(0) = 0, f(1) = 1 である。
   if (n <=1) then fibonacci:=1;

としても、ゼロになるというのは変だね
もしかして ちゃんとループさせてないんじゃないの? >>236をそのまま実行させてないでしょ

それから integerのビット幅はいくら? 16bitだとビット数が不足するよ


function fibonacci(n: real):real;
begin
  if (n >=0) and (n <=1) then fibonacci:=1
  else fibonacci:=fibonacci(n-1)+fibonacci(n-2);
end; { fibonacci }

begin
  writeln('30項まで求めます');
  for i :=1 to 30 do
  begin
  f[i]:=fibonacci(i);
  writeln('f(',i:2,')=',f[i]:10:0);
  end;

 for i:= 3 to 30 do
 begin
  z[i]:=(f[i-1]-f[i-2])/(f[i]-f[i-1]);
  writeln('z(',i:2,')=',z[i]);
  if (i > 3) and (dif >= abs(z[i]-z[i-1])) then
   break;
 end;
end.

241 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 15:18:46 ]
function fibonacci(n: integer):real;

242 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 23:23:49 ]
program kadai(input , output);

type intri = ^real;

var ip : intri;
a : real;

begin
new( ip );
write(  `値:` );
readln( a );
ip^ := a;
writeln( ip );
dispose( ip )
end.

簡単なやつなんですが実行しても入力した値そのままが出力せず、5桁の数字が出力してしまうという状況です。
ご指摘お願いします。

243 名前:デフォルトの名無しさん [2006/04/26(水) 23:53:19 ]
program kadai(input , output);

type intri = ^real;

var ip : intri;
a : real;

begin
  new( ip );
  write( '値: ' );
  readln( a );
  ip^ := a;
  writeln( ip^ );
  dispose( ip );
  readln;
end.

244 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 21:58:58 ]
>>243
ポインタをまだ理解しきれてなかったみたいです。
ありがとうございました。

245 名前:デフォルトの名無しさん [2006/05/04(木) 16:37:24 ]
本当に初歩的な質問なんですが…
x:=6*(1+3div2)mod5
とあったら、6×(1+1)÷5=2...2より、答えは2でいいんでしょうか?
また、m:=((x>z)and(y<z))
とあって、これはfalse and falseとなるんですが、
このあとは具体的にどうすればいいんでしょう?
ちなみにmは整数です。
助けていただければ幸いです…。

246 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 16:47:42 ]
1、四則演算はカッコが最優先、乗除算がその次だからあってると思うよ

2、pascal は型に厳しいから 論理型を整数型に代入できないと思うのだが?


247 名前:デフォルトの名無しさん [2006/05/04(木) 16:57:42 ]
ご回答ありがとうございます。
最初は合ってましたか…よかった。
次なんですが(すいません書くならば正しくはfalse and trueでした)
mは整数、x,y,zは変数で、
具体的には m:=((2>10) and (5<10))
なんですが、これは…どうすればいいんでしょうか…。。。

248 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 17:05:19 ]
申し訳ありません。見間違えていました…
mがbooleanでx,y,zが整数でした。本当にすいません…
そうしたら結局mはfalseということでよいのでしょうか?

249 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 18:25:24 ]
and だから false だよね



250 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 21:24:02 ]
どうもありがとうございました。そそっかしくてすいません…

251 名前:デフォルトの名無しさん [2006/05/11(木) 19:39:47 ]
2個の1次方程式が入力されたとき、その和を 出力するプログラムを作成しなさい。ただし、変数名はアルファベット1文字とし、 その係数値は整数1文字とせよ。

たとえば、2 x - 5 y を1文字ずつ入力(改行で区切る)し、ピリオド '.'が入力 されたならば、次の式、 - 9 y + 2 z を同じように入力する。プログラムはそれら の和、2 x - 14 y + 2 z を出力する。



252 名前:モグラ介 [2006/05/11(木) 19:49:23 ]
すべてのパスワードを解読するプログラムがあったらすごい・・・
ありえないか。

253 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 20:03:30 ]
すべてのって言うのが引っかかりますが、
総当りでやればいいんじゃないのか?

254 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 20:07:22 ]
総当りならどんな難解なパスワードも必ず解析できるね。






何百年とか掛かるかもしれないけど。

255 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 21:00:59 ]
まともなシステムなら連続で複数回間違えた時点でパスワードが無効になるような対策がなされているから無理

256 名前:デフォルトの名無しさん [2006/05/12(金) 00:39:03 ]
しばらくしたら正規のユーザーが管理者に申告して復活するでしょ

257 名前:デフォルトの名無しさん [2006/05/12(金) 21:57:42 ]
>>251 の答えまーだ?

258 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 00:35:23 ]
キーボードからいくつもの「文字」を入力した時、各文字が何回入力されたかを結果として返すプログラムを、入力データの記憶にリスト構造を利用して作れ。なお、入力は1文字ずつ return で区切って入力し、その終了は '.' (ピリオド) で示すものとする。


と、


課題4 - 1を参考にして、2個の1次方程式が入力されたとき、その和を出力するプログラムを作成しなさい。ただし、変数名はアルファベット1文字とし、その係数値は整数1文字とせよ。

たとえば、2 x - 5 y を1文字ずつ入力(改行で区切る)し、ピリオド '.'が入力されたならば、次の式、 - 9 y + 2 z を同じように入力する。プログラムはそれらの和、2 x - 14 y + 2 z を出力する。


2つの問題お願いします。

259 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 09:29:22 ]
>>251
なんか良く判らんけど 適当に

{構造体の定義}
type TData=record c:char;a:Integer;next:Pointer;end;
type PData=^TData;
var root:PData;

{リストの印刷}
procedure writes;
var p:PData;
begin
p:=root;
while p<>nil do begin
if p^.a>0 then write('+');
write(p^.a,p^.c);
p:=p^.next;
end;
writeln;
end;




260 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 09:31:29 ]
procedure func(s:string);
var w:TData;
var p:PData;
var sgn:-1..1;
var num:string;
begin
sgn:=1; w.next:=nil; num:='';
while s<>'' do begin
w.c:=s[1]; delete(s,1,1);
case w.c of
'+': begin sgn:= 1;num:=''; end;
'-': begin sgn:=-1;num:=''; end;
'0'..'9': begin
num:=num+w.c;
end;
'a'..'z','A'..'Z': begin
if num<>'' then w.a:=sgn*StrToInt(num) else w.a:=sgn;
p:=root;
while p<>nil do begin
if p^.c=w.c then begin p^.a:=p^.a+w.a; break; end;
p:=p^.next;
end;
if p=nil then begin w.next:=root; root:=@w; func(s); exit; end;
end;
'.': writes;
end;
end;
writes; readln(s);  if s<>'' then func(s); {続けて処理するなら}
end;

261 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 09:33:13 ]
なんか、改行が多すぎますが厄介だなあ
で、呼び出し部

var s:string;
begin
root:=nil;
readln(s);
func(s);
end;

素直に、ヒープか配列使った方がいいかもね

262 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 19:27:11 ]
このコード提出した奴からは、動作説明させるからな

263 名前:デフォルトの名無しさん [2006/05/13(土) 22:59:34 ]
偽者はだまれ!自分独り占めにするな!
本物ならここに書き込まず裏で減点しているわ!

264 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 23:22:26 ]
でも、単にメモリ確保の為にわざわざ再帰してるようなコードは、ちょっと目立つぞ

265 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 01:01:30 ]
だれかエラトステネス篩について、具体例を交えながら分かりやすく解説してくれませんか?
もう訳が分かりません…

266 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2006/05/14(日) 01:24:54 ]
エラトステネスの篩の概念は、次のようになります。
1  2  3  4  5  6  7  8  9  10 11 12 13 ...
このような数値列を用意して
まず最初の2は素数としてチェックして
2の倍数は素数じゃないから、フラグを立てます。
1  2  3  4  5  6  7  8  9  10 11 12 13 ...
  O    X    X    X    X    X   
次に素数の可能性のある3は素数としてチェックして、
3の倍数はやはり素数じゃないから、フラグを立てます
1  2  3  4  5  6  7  8  9  10 11 12 13 ...
  O    X    X    X    X    X   
    O      X      X      X
4にはすでに×がついているので、素数ではなく
次に素数だと思われる5は素数としてチェック。
5の倍数は素数ではないフラグを立てて…
1  2  3  4  5  6  7  8  9  10 11 12 13 ...
  O    X    X    X    X    X   
    O      X      X      X
        O          X
と続けていくとチェックされていない所に
〇がつき、素数列が求まるという手法です。

267 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2006/05/14(日) 01:29:05 ]
具体例を交えながらわかりやすく解説するほど
労力をかけたくないから、適当に勉強汁

www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E3%81%B5%E3%82%8B%E3%81%84&num=50

上記例では、1〜13の箱を用意するために
Booleanの配列を定義して
1〜13全部をTrueにしてから
4,6,8,10,12の箱をFalseにして、
6,9,12の箱をFalseにして、
という処理をする方法よ。


268 名前:265 mailto:sage [2006/05/14(日) 13:48:56 ]
どうもありがとうございました。
プログラムで読んだ時、なにがtrueやfalseなのかがよく分からなかったんですが、
やっとなんとかわかりました。ありがとうございました。

269 名前:269 mailto:sage [2006/05/20(土) 16:27:59 ]
キーボードからいくつもの「文字」を入力した時、 各文字が何回入力されたかを結果として返すプログラムを、 入力データの記憶に2分木を利用して作れ。 なお、入力の終了は '.' (ピリオド) で示すものとし、 結果はアルファベット順に出力するものとする。



program bi( input , output );

type tree = ^node;
node = record
moji : char; kaisu : integer; left , right : tree; end;

var p , head : tree; a : char;

procedure append(var t : tree; x : char );

begin
if t = nil then begin
new( t );
t^.moji := x;
t^.kaisu := 1;
t^.left := nil;
t^.right := nil
end
else if t^.moji = x then
t^.kaisu := t^.kaisu + 1
else if ord( t^.moji ) > ord( x ) then
append( t^.left , x )
else
append( t^.right , x )
end; { append }



270 名前:269 mailto:sage [2006/05/20(土) 16:28:56 ]
procedure printl(t : tree );
begin
if t <> nil then begin
writeln( t^.moji , t^.kaisu );
printl( t^.left );
end
end; { printl }
procedure printr(t : tree );
begin
if t <> nil then begin
writeln( t^.moji , t^.kaisu );
printr( t^.right );
end
end; { printr }
begin
new( head );
new( p );
head := nil;
p := head;
repeat
write( '文字: ');
readln( a );
append( p , a )
until a = '.';
printl( head );
write( p^.moji , p^.kaisu );
printr( head );
dispose( head );
dispose( p )
end.

271 名前:269 mailto:sage [2006/05/20(土) 16:35:39 ]
キーボードから「整数」を読込み、 入力データを2分探索木に書込め。 書き込んだ結果を出力せよ。 なお、整数は正または負のデータとし、入力の終了は '0' (ゼロ) で 示すものとする。同じ値が入力されることはないものとせよ。

program kadai5no2( input , output );
type tree = ^node;   node = record  kazu : integer; left , right : tree; end;
var p , root : tree; a : integer;
procedure data(var t : tree; x : integer );
begin
if t = nil then begin
new( t );
t^.kazu := x;
t^.left := nil;
t^.right := nil
end
else if t^.kazu > x then
data( t^.left , x )
else
data( t^.right , x )
end; { data }
procedure printl(t : tree );
begin
if t <> nil then begin
if t^.right <> nil then begin
write( t^.right );
printl( t^.right )
end
else begin
write( t^.kazu );
printl( t^.left )
end
end
end; { print }

272 名前:269 mailto:sage [2006/05/20(土) 16:36:48 ]
begin
new( root );
new( p );
root := nil;
p := root;
repeat
write( ' 数: ');
readln( a );
data( p , a);
until a = 0;
printl( p );
dispose( p );
dispose( root )
end.
としたのですがどちらも出力をどうすればいいか分かりません。出力の他にも変なところがあれば指摘してくれると嬉しいです。

273 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 18:28:02 ]
とりあえず上はそれだと白丸のところが出力されないはず
   ●
   /\
  ● ●
 /|  |\


○ ○ ●

火曜提出でしょ?
もう少し悩んでみてもいいと思われ。

あと線形リストや二分木の先頭だけdisposeすると、
2番目以降は解放じゃなくて参照不可になるんじゃなかったっけ?

274 名前:273 mailto:sage [2006/05/21(日) 18:28:57 ]
ウホッ、ずれまくったorz

275 名前:デフォルトの名無しさん [2006/05/23(火) 18:55:46 ]
キーボードから「英文」を読込み、空白(スペース)を英単語の 区切りと見做して、英単語辞書を整順リストの形式で作成するプログラム を作りなさい。

なお、入力の終了は '.' (ピリオド) で示すものとし、 同じ英単語が入力される場合は辞書に登録してはいけない。

a. 英文はアルファベット小文字のみの単語、スペース、ピリオドだけで 作られている場合を、まず考えよ。各単語の文字数は20文字以内とせよ。

b. 次に、大文字が含まれる場合には、その文字を小文字に変換するよう に拡張せよ。

c. 最後に、数字、疑問符?、感嘆符!、クオート’、ダブルクオート"、 ハイフン-、コロン:、セミコロン;などの特殊文字が含まれている文 などを処理できれば完全である。

276 名前:デフォルトの名無しさん [2006/05/23(火) 18:56:56 ]
英単語辞書の問題において、 整順リストを2分木表現とするプログラムを作成せよ。

ポーランド記法で入力した四則演算式を2分木で表現し、 演算式の係数値を入力したときに、その計算結果を出力する プログラムを作れ。但し、演算式はアルファベット一文字の 変数と四則演算子のみで表現されている。

a.演算式が定数は含まない場合を考えよ。

b.整数の定数を含む場合に拡張せよ。

277 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 02:38:31 ]
課題丸投げ早すぎw


278 名前:デフォルトの名無しさん [2006/05/24(水) 22:20:26 ]
>>277
そんな突っ込みより
答えキボンヌ。

279 名前:デフォルトの名無しさん [2006/05/25(木) 20:51:54 ]
電通大C科乙w



280 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 22:08:22 ]
>>279
去年につづきまたあそこか
馬鹿しかいないのか?

281 名前:デフォルトの名無しさん [2006/05/25(木) 22:36:28 ]
馬鹿が教えてるからしょうがない。

282 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 22:46:23 ]
>>281
言えてる…。

283 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 02:25:45 ]
>>278
ヒント

program database( input , output );
type a = ^b ; b = record c : packed array [1..20] of char ; d : a ;
var e, f : packed array [1..20] of char ;
bagin
readln(e);
readln(f);
if e < f then
begin writeln( e , f ); end else begin writeln( f , e ); end;
end.

2単語入力のみ対応

284 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 03:29:15 ]
電通大生なんだが・・評判落とすような事はやめてくれ!
少しは考えろよ!!
言っておくが、これくらい普通に出来ないと後々の課題なんて出来ないぞ!
その時はまた写すのか?
お前それでいいのか?

285 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 03:39:15 ]
>>284

       、--‐冖'⌒ ̄ ̄`ー-、
     /⌒`         三ミヽー-ヘ,_
   __,{ ;;,,             ミミ   i ´Z,
   ゝ   ''〃//,,,      ,,..`ミミ、_ノリ}j; f彡
  _)        〃///, ,;彡'rffッ、ィ彡'ノ从iノ彡
  >';;,,       ノ丿川j !川|;  :.`7ラ公 '>了
 _く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)
  ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;)
  く .:.:.:.:.:!ハ.Yイ  ぇ'无テ,`ヽ}}}ィt于 `|ィ"~
   ):.:.:.:.:|.Y }: :!    `二´/' ; |丶ニ  ノノ
    ) :.: ト、リ: :!ヾ:、   丶 ; | ゙  イ:}    逆に考えるんだ
   { .:.: l {: : }  `    ,.__(__,}   /ノ
    ヽ !  `'゙!       ,.,,.`三'゙、,_  /´   「電通大の課題が 2ch ねらーのヒマ潰しになっている」と
    ,/´{  ミ l    /゙,:-…-〜、 ) |
  ,r{   \ ミ  \   `' '≡≡' " ノ        考えるんだ
__ノ  ヽ   \  ヽ\    彡  ,イ_
      \   \ ヽ 丶.     ノ!|ヽ`ヽ、
         \   \ヽ `¨¨¨¨´/ |l ト、 `'ー-、__
            \  `'ー-、  // /:.:.}       `'ー、_
          `、\   /⌒ヽ  /!:.:.|
          `、 \ /ヽLf___ハ/  {
              ′ / ! ヽ

286 名前:デフォルトの名無しさん [2006/05/26(金) 08:48:45 ]
>>283

b a g i n

287 名前:デフォルトの名無しさん [2006/05/26(金) 08:50:54 ]
>>283
ほとんどヒントになってないし。
リスト構造も木構造も実装されてないし。
読み込み部分にしたって、
空白区切りをまったく無視してくれちゃってるし。
まったく、なにやってるんだか。

288 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 20:00:58 ]
>>287
丸写しするお馬鹿さんには関係ないこと。成績表を見て泣くだけ。

289 名前:デフォルトの名無しさん mailto:sage [2006/05/27(土) 10:12:38 ]
up.nm78.com/data/up080235.jpg



290 名前:デフォルトの名無しさん [2006/05/28(日) 21:18:58 ]
答えまーだ?

291 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 02:07:04 ]
やっと落ち着いたか

292 名前:デフォルトの名無しさん [2006/06/04(日) 09:06:23 ]

Javaなどの新しい言語がある中で、電通大が未だにPascalを使ってプログラミングの講義をしているのは一種の男気の現れですか?

293 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 09:31:21 ]
教えるヒトがそれ以外の言語を知らないので仕方がないのです。

294 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 17:23:42 ]
今まさにPascal習ってる電通大生ですよっと
Pascal習う理由として、
@複数の言語を学んだほうが体系的に(で言葉あってるのか?)文法を理解できる。
APascalは教育用言語としてはふさわしい
とか言ってた気がする。

ただ、俺は大学入って初めてプログラミングに触れるようになったため、
教授の考えがきちんと伝わっていないかも知れない。
要は公式見解ではないということ

295 名前:デフォルトの名無しさん [2006/06/04(日) 17:24:00 ]
>>293

男気の正反対ですね。

296 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 17:25:52 ]

今プログラミング教育用として主流になってる言語って何ですかね?

297 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 19:11:57 ]
授業で使われている数はc/c++とJavaが圧倒的でしょう。

298 名前:デフォルトの名無しさん [2006/06/06(火) 08:27:39 ]

Javaはまだいいとして、C/C++って教育用途には向いてるんでしょうかね?

299 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 10:22:47 ]

Javaが向いてる?ご冗談を

JavaよりC/C++の方が向いてるに決まってるじゃないか




300 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 18:17:03 ]
C++がプログラミング入門用として最適の言語。










とかのたまうメルマガ鵜呑みにして強引にC++から入った俺が来ましたよ。

301 名前:デフォルトの名無しさん mailto:sage [2006/06/08(木) 08:24:55 ]
Cは良いけどC++は教育用としてはどうかとおもう

302 名前:デフォルトの名無しさん [2006/06/10(土) 23:49:37 ]
C++の方が明らかにCより使いやすいし。
教育用としても
オブジェクト指向のC++の方がいいに決まってるし。

303 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 05:55:38 ]

PerlほどじゃないけどC++のオブジェクト指向もひどいぞ

「オブジェクト指向の教育」という観点からは薦められない


304 名前:774RR mailto:sage [2006/06/12(月) 19:47:05 ]
本物のプログラマはPascalを使わない。真の漢は黙ってFORTRAN77。

305 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 20:57:38 ]
来年から電通はCになるらしいけどな
まじで頭おかしいだろあそこ

306 名前:デフォルトの名無しさん mailto:sage [2006/06/13(火) 07:31:40 ]
Rubyにすればいいのに

307 名前:デフォルトの名無しさん [2006/06/13(火) 17:53:09 ]
HSPにすればいいのに

308 名前:デフォルトの名無しさん [2006/06/15(木) 12:12:15 ]
pascalの文法には、変数名とか関数名の非終端記号があるらしんだけど
これはすべて名前(識別子)であって文法を簡単にするものであると。

原始プログラム中のその名前をみただけではどの名前であるか
判別できない。これの解決策はなにですか?

309 名前:デフォルトの名無しさん mailto:sage [2006/06/15(木) 13:35:24 ]
俺のESPを試す時がきたようだ。

例えば次のようなソースがあるとします。
if (0 < hoge) then ...
このhogeが変数なのか関数なのかはここから判別する事はできないと思います。
コンパイラはどうやっているんでしょうか?

こんな感じか?



310 名前:デフォルトの名無しさん mailto:sage [2006/06/15(木) 18:01:22 ]
ネストしたスコープの話なのかな?

311 名前:デフォルトの名無しさん mailto:sage [2006/06/16(金) 00:50:41 ]
pascalは事前に変数も関数も宣言する必要があるので問題無い。


312 名前:デフォルトの名無しさん [2006/06/26(月) 15:11:34 ]
モンテカルロ法を用いて1/3を求めよ。
そのときモンテカルロ法を試行する回数を、プログラム実行時に選択できるようにせよ。

313 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 18:50:02 ]
いやです。

314 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 19:28:36 ]
やってやらんこともないが

なぜ 1/3 なんだ?


315 名前:デフォルトの名無しさん [2006/06/27(火) 14:23:43 ]
パスカルの問題でわからないので教えて下さい。
問1
任意の人数に対してBMI(肥満度を判定する指標)を計算し、その平均値を出力させる。ここで,BMIとは
体重/身長/身長
で定義されるため,体重および身長を人数分だけ標準入力せよ。ここで,人数の最大は10名としてよい。なお,関数あるいは手続きを用いること。

問2
10名分のクラスの学生名前(アルファベット)を配列に保存せよ。また、最後にそれを標準出力せよ。
また、ファイル出力の場合も考えよ。
*stringを使いなさい。

316 名前:デフォルトの名無しさん [2006/06/27(火) 14:25:35 ]
パスカルの問題でわからないので教えて下さい。
問1
任意の人数に対してBMI(肥満度を判定する指標)を計算し、その平均値を出力させる。ここで,BMIとは
体重/身長/身長
で定義されるため,体重および身長を人数分だけ標準入力せよ。ここで,人数の最大は10名としてよい。なお,関数あるいは手続きを用いること。

問2
10名分のクラスの学生名前(アルファベット)を配列に保存せよ。また、最後にそれを標準出力せよ。
また、ファイル出力の場合も考えよ。
*stringを使いなさい。


317 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:08:41 ]
このスレまだあったのか

318 名前:デフォルトの名無しさん [2006/07/01(土) 08:42:13 ]
リスト構造ってむずい部類?

319 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 17:20:31 ]
>>318
リストによっては。

単純な線形ならそんなに難しくないけど、双方向になると少し難しくなって、
ツリー構造とかになると結構難しくなって。バランス木くらいになると相当
難しくなる。




320 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 01:05:23 ]
どうむずかしいの

321 名前:319 mailto:sage [2006/07/02(日) 10:29:29 ]
>>320
自分で実装してみれば分かる。

322 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 02:05:51 ]
なんで?

323 名前:デフォルトの名無しさん [2006/07/04(火) 01:23:08 ]
Delphiの課題なのですが

乱数を生成して 正方形 と 円(四分円)の面積を比較することにより,
    円周率 π の近似値を求める方法がある。
    以下は,この方法に関する問いである。

(1) 乱数によって定まる点の分布の状況を PaintBox 上に図示せよ。

(2) 円周率 π の近似値を計算せよ。

という問題が出されました
取っ掛かりからわからないという初心者ぶりです
ご教授願えませんでしょうか


324 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 01:38:04 ]
> 乱数を生成して 正方形 と 円(四分円)の面積を比較することにより,
> 円周率 π の近似値を求める方法がある。

この方法については理解してる?

325 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 01:42:41 ]
ランダムに点を打ってくんじゃなかったか?

まずアルゴリズムをはっきりさせること。

326 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 01:49:15 ]
rを半径とすると、
円の面積は Pi*r*r
正方形の面積 r*r
円の公式 x*x + y*y <= r*4

を使うんじゃないの?


327 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 01:52:04 ]
1辺の長さがRの正方形とそれに内接する四分円とを描画する。
正方形内にランダムに点を打ち、打った点の総数と、
そのうち四分円の中に入った点の数をそれぞれカウントする。
あとはその比率から円周率を近似するくらいはわかるだろう。

328 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 17:21:07 ]
もんてかるろ法だわな

329 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 23:09:09 ]
円の公式は x*x + y*y <= r*r
でした。



330 名前:323 mailto:sage [2006/07/05(水) 00:34:12 ]
ご教授レスありがとうございました。

自宅にDelphiがないのですが(学校にある)、
取り敢えずモンテカルロ法について調べてみました。

結果イメージとしては理解できたのですが
点を打つ方法、点を数える方法がともにわかりませんでした。
(乱数関係から検索したのですが)

何もしてないと言われても仕方ない有様ですが、
どうかその二つの作業の方法だけでも教えていただけませんでしょうか。




331 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 00:37:35 ]
>>330
ttp://www.wikihouse.com/DelphiVIP/index.php?%A5%B3%A5%E9%A5%E0%2F%A5%D1%A5%A4%A5%D1%A5%A4%A5%E2%A5%F3%A5%C6%A5%AB%A5%EB%A5%ED%A4%BF%A4%F3






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

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

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