ブログを作る※無料・簡単アフィリ    ブログトップ | 楽天市場
172271 ランダム
PL/I-86で簡単なサンプルを作って… (趣味・ゲーム)楽天ブログ 【ケータイで見る】 【ログイン】
記録
ホーム 日記 プロフィール オークション 掲示板 ブックマーク お買い物一覧

PR

カレンダー

2011年11月
  12345
6789101112
13141516171819
20212223242526
27282930   
<一覧へ今月次の月>

キーワードサーチ

お気に入りブログ

[メール更新]ノン…New!セイロン*ティーさん

ウォームスで試し…New!akyohomeさん

ファイナルファン…ぱに~にさん

今日の日記~music~ 小説家になろう!music さん
Happy Life 素敵… miyuta0831 さん

カテゴリ

バックナンバー

モバイル

>>ケータイに
このブログの
URLを送信!

 

うつにゃあの日記

<< 前へ次へ >>一覧コメントを書く

2010年03月10日 楽天プロフィール Add to Google XML

PL/I-86で簡単なサンプルを作ってみました
[ コンピュータ ]    

用意したものは、Borland C++ 5.5のmakeと、PL/I-86です。
PL/I-86の実行ファイル一式はc:\pli86\binに入っています。

--- Makefile ---

PLIBINPATH=c:\pli86\bin
SYSFILE=pli0.ovr pli1.ovr pli2.ovr
LIBFILE=plilib.l86
PROG=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>tensort
KOKUGO : TEN ? 90
SUGAKU : TEN ? 100
RIKA   : TEN ? 98
SHAKAI : TEN ? 60
EIGO   : TEN ? 85

SUGAKU :       100
RIKA   :        98
KOKUGO :        90
EIGO   :        85
SHAKAI :        60
GOKEI  :       433
End of Execution
C:\home\neko\src\tensort>

SWAPプロシジャではポインタを使ってみました。
融通は利くけど、わかりにくくなりますね。




最終更新日  2010年03月11日 13時25分29秒
コメント(2) | コメントを書く





■コメント

お名前
タイトル
メッセージ
・メッセージ本文は全角で800文字までです。
・書き込みに際しては楽天ブログ規約の禁止事項や免責事項をご確認ください
・ページの設定によっては、プルダウンで「顔選択」を行っても、アイコンが表示されません。ご了承ください。


こんばんは~   ぱに~にさん


Re:こんばんは~(03/10)   うつにゃあさん


<< 前へ次へ >>一覧コメントを書く一番上に戻る


Powered By 楽天ブログは国内最大級の無料ブログサービスです。楽天・Infoseekと連動した豊富なコンテンツや簡単アフィリエイト機能、フォトアルバムも使えます。デザインも豊富・簡単カスタマイズが可能!

Copyright (c) 1997-2012 Rakuten, Inc. All Rights Reserved.