全8件 (8件中 1-8件目)
1
用意したものは、Borland C++ 5.5のmakeと、PL/I-86です。PL/I-86の実行ファイル一式はc:\pli86\binに入っています。--- Makefile ---PLIBINPATH=c:\pli86\binSYSFILE=pli0.ovr pli1.ovr pli2.ovrLIBFILE=plilib.l86PROG=tensort${PROG}.exe: ${PROG}.obj ${LIBFILE} link86 ${PROG},${LIBFILE}${PROG}.obj: ${PROG}.pli ${SYSFILE} pli ${PROG}pli0.ovr: copy ${PLIBINPATH}\$@ .pli1.ovr: copy ${PLIBINPATH}\$@ .pli2.ovr: copy ${PLIBINPATH}\$@ .plilib.l86: copy ${PLIBINPATH}\$@ .clean: -del ${PROG}.obj ${PROG}.sym ${SYSFILE} ${LIBFILE}clobber: -del ${PROG}.exe ${PROG}.obj ${PROG}.sym ${SYSFILE} ${LIBFILE}--- tensort.pli --- TENSORT: PROCEDURE OPTIONS(MAIN); DECLARE 1 KYOKA(5), 2 NAME CHARACTER(6), 2 TEN FIXED(15); DECLARE GOKEI FIXED(15); DECLARE I FIXED(15); DECLARE J FIXED(15); NAME(1)='KOKUGO'; NAME(2)='SUGAKU'; NAME(3)='RIKA'; NAME(4)='SHAKAI'; NAME(5)='EIGO'; DO I=1 TO 5 BY 1; PUT LIST (NAME(I),': TEN ? '); GET LIST(TEN(I)); END; DO I=1 TO 5-1 BY 1; DO J=1+1 TO 5-I+1 BY 1; IF TEN(J)>TEN(J-1) THEN CALL SWAP(ADDR(KYOKA(J)),ADDR(KYOKA(J-1))); END; END; GOKEI=0; DO I=1 TO 5 BY 1; PUT SKIP LIST(NAME(I),':',TEN(I)); GOKEI=GOKEI+TEN(I); END; PUT SKIP LIST('GOKEI ',':',GOKEI); RETURN; SWAP: PROCEDURE(K1,K2); DECLARE K1 POINTER; DECLARE K2 POINTER; DECLARE 1 KYOKA1 BASED(K1), 2 K1NAME CHARACTER(6), 2 K1TEN FIXED(15); DECLARE 1 KYOKA2 BASED(K2), 2 K2NAME CHARACTER(6), 2 K2TEN FIXED(15); DECLARE TMPNAME CHARACTER(6); DECLARE TMPTEN FIXED(15); TMPNAME=K1NAME; K1NAME=K2NAME; K2NAME=TMPNAME; TMPTEN=K1TEN; K1TEN=K2TEN; K2TEN=TMPTEN; END SWAP; END TENSORT;実行すると、社会、数学、 国語、理科、英語の点数をきいてくるので、入力すると、得点が高い順に一覧を出して、最後に合計点を出します。--- 実行例 ---C:\home\neko\src\tensort>tensortKOKUGO : TEN ? 90SUGAKU : TEN ? 100RIKA : TEN ? 98SHAKAI : TEN ? 60EIGO : TEN ? 85SUGAKU : 100RIKA : 98KOKUGO : 90EIGO : 85SHAKAI : 60GOKEI : 433End of ExecutionC:\home\neko\src\tensort>SWAPプロシジャではポインタを使ってみました。融通は利くけど、わかりにくくなりますね。
2010年03月10日
コメント(2)
用意したものは、Borland C++ 5.5のmakeと、PL/I-86です。--- Makefile ---PLIBINPATH=c:\pli86\binSYSFILE=pli0.ovr pli1.ovr pli2.ovrLIBFILE=plilib.l86PROG=stone${PROG}.exe: ${PROG}.obj ${LIBFILE} link86 ${PROG},${LIBFILE}${PROG}.obj: ${PROG}.pli ${SYSFILE} pli ${PROG}pli0.ovr: copy ${PLIBINPATH}\$@ .pli1.ovr: copy ${PLIBINPATH}\$@ .pli2.ovr: copy ${PLIBINPATH}\$@ .plilib.l86: copy ${PLIBINPATH}\$@ .clean: -del ${PROG}.obj ${PROG}.sym ${SYSFILE} ${LIBFILE}clobber: -del ${PROG}.exe ${PROG}.obj ${PROG}.sym ${SYSFILE} ${LIBFILE}--- stone.pli --- STONE: PROCEDURE OPTIONS(MAIN); DECLARE STONES FIXED(15); DECLARE TAKE FIXED(15); START: PUT SKIP LIST('STONES(1-30) ? '); GET LIST(STONES); IF (STONES < 1) ! (STONES > 30) THEN DO; PUT LIST('ERROR'); GO TO START; END; PUT LIST('*** START ***'); LOOP: PUT SKIP LIST('STONES = ', STONES, ' :'); IF STONES = 1 THEN PUT LIST('TAKE(1) ? '); ELSE IF STONES = 2 THEN PUT LIST('TAKE(1-2) ? '); ELSE PUT LIST('TAKE(1-3) ? '); GET LIST(TAKE); IF (TAKE < 1) ! (TAKE > 3) ! (TAKE > STONES) THEN DO; PUT LIST('ERROR'); GO TO LOOP; END; STONES = STONES - TAKE; IF STONES = 0 THEN DO; PUT SKIP LIST('*** I WIN.'); GO TO FINISH; END; TAKE = STONES - ((STONES / 4) * 4) - 1; IF TAKE < 0 THEN TAKE = 3; IF TAKE = 0 THEN TAKE = 1; PUT LIST('STONES = ', STONES, ' : I TAKE ', TAKE); STONES = STONES - TAKE; IF STONES = 0 THEN DO; PUT SKIP LIST('*** YOU WIN.'); GO TO FINISH; END; GO TO LOOP; FINISH: END STONE;ルールは、プレイヤーとコンピュータが交互に1~3個の石を取っていって、最後の1個を取った人が負けです。最初に石の数を聞いてくるので、1~30の数を入力します。あとは、石をいくつ取るか聞いてくるので、1~3の数を入力します。プレイヤーが石を取ると、次にコンピュータが石を取ります。石がなくなるとゲーム終了で、どちらが勝ったかを表示します。PL/I-86は、コンパイルでエラーになってもOBJファイルが残ってしまうことがあって、エラー発生時はmakeを繰り返し実行するだけではうまくEXEファイルを作れません。makeで失敗したら、make cleanかmake clobberしてからmakeし直す必要があります。
2010年02月04日
コメント(2)
録画用に使っているパソコン、会社から帰るとなぜか電源が切れていました。普通にスイッチを押したら、いつもは緑色に光るはずのランプがオレンジ色。電源が壊れてしまったのかもしれません。小型の電源なので、同じ物があるかどうか。困りました。
2009年05月15日
コメント(0)
今までOpenOffice.org 2.4.1を使っていたんですが、3.0にバージョンアップしました。変化は、あまりない感じです。OpenOffice.org、ワープロや表計算などのソフトが無料で使えるので気に入っています。こちらから。http://ja.openoffice.org/
2008年10月18日
コメント(4)
ノートパソコンの設定をしていて、yahooのメールをメールソフトで送受信する設定をしていたら、送信ができなくて困っていました。そしたら、SMTPサーバのポート番号を587にしていないのに気付いて、解決。ポート25を閉じたのは迷惑メール対策らしいですが、迷惑メール、本当に迷惑ですね。
2008年09月23日
コメント(0)
東芝のノートパソコンを使っているんですが、ハードディスクが壊れてしまったので、250GBのハードディスクを買ってきて自分で交換しました。交換は簡単だったんですが、そのあとのインストールし直しが大変。やっとちゃんと動くようになってきたという感じです。
2008年09月22日
コメント(4)
VMware PlayerでFedora 8をインストールしてみたら、ちゃんと動きました。Fedora Core 3では止まってしまったんですが。X Windowもちゃんと動いて、ワープロやゲームも動きました。これで、会社のコンピュータと同じような使い方ができそうです。
2007年12月06日
コメント(0)
会社で友達(男性)に薦められて、もらってきましたが……。使い方がよくわかりません。とりあえずFedora Core 3(古いですが)をインストールしようとしたら、ハードディスクがないって言われてしまいました。その人はLinuxをインストールして使っていると言うので、どこかの設定が悪いんだと思いますが……。英語だし、専門用語だらけだし、難しいです。
2007年11月23日
コメント(8)
全8件 (8件中 1-8件目)
1