プログラミング言語「ドリトル」

大阪電気通信大学 兼宗研究室

ユーザ用ツール

サイト用ツール


ouj18

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
最新リビジョン 両方とも次のリビジョン
ouj18 [2018/05/24 20:07]
kanemune [繰り返しで「不思議な図形」プログラム(13分頃)]
ouj18 [2018/06/06 17:17]
kanemune [放送大学「コンピュータとソフトウェア('18)」]
ライン 1: ライン 1:
 # 放送大学「コンピュータとソフトウェア('​18)」 # 放送大学「コンピュータとソフトウェア('​18)」
-放送大学「コンピュータとソフトウェア('​18)」でのドリトルの利用について説明します。 +放送大学「コンピュータとソフトウェア('​18)」でのドリトルとサクセスの利用について説明します。 
-放送では、第8回と第10回でドリトルのプログラミングを扱っています。+放送では、第8回と第9回と第10回でドリトルのプログラミングを、第11回でサクセスとSQLのプログラミングを扱っています。
  
 番組のシラバス(2018年度):http://​www.ouj.ac.jp/​hp/​kamoku/​H30/​kyouyou/​C/​joho/​1570285.html 番組のシラバス(2018年度):http://​www.ouj.ac.jp/​hp/​kamoku/​H30/​kyouyou/​C/​joho/​1570285.html
ライン 107: ライン 107:
 </​code>​ </​code>​
  
-### 繰り返しで「不思議な図形」プログラム(13分頃)+### 繰り返しで「不思議な図形を描く」プログラム(13分頃)
 <​code>​ <​code>​
 かめた=タートル!作る (青) 線の色 ゆっくり動く。 かめた=タートル!作る (青) 線の色 ゆっくり動く。
ライン 211: ライン 211:
     }     }
 } }
 +</​code>​
 +
 +
 +----
 +## 第9回の内容
 +### 「ユークリッドの互除法」プログラム(16分頃)
 +ドリトルのプログラムは「[オンライン版](http://​jsdolittle.eplang.jp/​djs/?​src=e3818be38281e3819fefbc9de382bfe383bce38388e383abefbc81e4bd9ce3828b20efbc88e99d92efbc8920e7b79ae381aee889b220e38286e381a3e3818fe3828ae58b95e3818fe380820a)」から実行できます。左側にプログラムを書いて、「実行」を押すと、右側に結果が表示されます。
 +
 +<​code>​
 +x=125。
 +y=35。
 +「全部!(x!=y)(x>​0)(y>​0)本当」!の間「
 +    「x>​y」!なら「x=x-y」実行。
 +    「x<​y」!なら「y=y-x」実行。
 +」実行。
 +ラベル!(x)作る。
 +</​code>​
 +
 +### 「選択ソート」プログラム(21分頃)
 +
 +<​code>​
 +c=配列!6 4 3 7 1 8 2 5 作る。
 +ラベル!(c)作る 次の行。
 +n=c!要素数?​。
 +「|i|
 +  e=n-i+1。
 +  「|s|
 +    「(c!(s)読む) > (c!(e)読む)」!なら
 +      「t=(c!(s)読む)。
 +        c!(s)(c!(e)読む)上書き。
 +        c!(e)(t)上書き
 +       ​」実行。
 +  」!(e)繰り返す。
 +」!(n-1)繰り返す。
 +ラベル!(c)作る 次の行。
 +</​code>​
 +
 +
 +### 「二分探索」プログラム(28分頃)
 +
 +<​code>​
 +c=配列!1 3 4 7 8 10 12 13 15 作る。
 +n=c!要素数?​。
 +q=7。
 +start=1。
 +end=n。
 +「start<​=end」!の間「
 +  m=floor((start+end)/​2)。
 + ​「(c!(m)読む)==q」!なら「結果=q」実行。
 + ​「q<​=(c!(m)読む)」!なら「end=m-1」実行。
 + ​「(c!(m)読む)<​=q」!なら「start=m+1」実行。
 +」実行。
 +「結果==q」!なら「ラベル!(結果)作る」
 +そうでなければ「ラベル!『見つからない』作る」
 +実行。
 +</​code>​
 +
 +
 +### 「ハノイの塔」プログラム(36分頃)
 +
 +<​code>​
 +Hanoi=「
 +  |n from to work|
 + ​「n>​0」!なら「
 +     ​!(n-1) (from) (work) (to) Hanoi。
 +     ​ラベル!("​円盤"​+n+"​を"​+from+"​から"​
 +              +to+"​に移動させる。"​)作る 次の行。
 +     ​!(n-1) (work) (to) (from) Hanoi。
 +  」実行。
 +」。
 +!3 "​A"​ "​B"​ "​C"​ Hanoi。
 +</​code>​
 +
 +
 +### 「クイックソート」プログラム(40分頃)
 +
 +<​code>​
 +クイック=「|対象 ; 結果 n 閾値 小さい方
 +大きい方 v |
 +    結果=対象。
 +    n=対象!要素数?​。
 +    「n>​1」!なら「
 +        閾値=対象!(n) 読む。
 +        小さい方=配列!作る。
 +        大きい方=配列!作る。
 +        「|i|
 +            v=対象!(i)読む。
 +            「v<​閾値」!なら「小さい方!(v)書く」
 +                 ​そうでなければ「大きい方!(v)書く」
 +                 ​実行。
 +        」!(n-1)繰り返す。
 +        結果=配列!作る
 +             ​(!(小さい方)クイック)
 +             ​(閾値)
 +             ​(!(大きい方)クイック)
 +             ​連結。
 +    」実行。
 +    結果。
 +」。
 +
 +入力=配列!5 3 7 2 8 6 1 4 作る。
 +ラベル!(入力)作る 次の行。
 +ラベル!(!(入力)クイック)作る ​ 次の行。
 +</​code>​
 +
 +
 +----
 +## 第10回の内容
 +### 「出会うまでの時間」プログラム(14分頃)
 +ドリトルのプログラムは「[オンライン版](http://​jsdolittle.eplang.jp/​djs/?​src=e3818be38281e3819fefbc9de382bfe383bce38388e383abefbc81e4bd9ce3828b20efbc88e99d92efbc8920e7b79ae381aee889b220e38286e381a3e3818fe3828ae58b95e3818fe380820a)」から実行できます。左側にプログラムを書いて、「実行」を押すと、右側に結果が表示されます。
 +
 +<​code>​
 +xa=0。va=1.2。ラベル!0 作る 0 -10 位置。
 +xb=200。vb=0.9。ラベル!200 作る 200 -10 位置。
 +かめA=タートル!作る(xa)0 位置(青)線の色。
 +かめB=タートル!作る ペンなし(xb)0 位置 180 右回り "​ayumiAka.gif"​ 変身する ペンあり(赤)線の色。
 +かめA:位置表示=「「f==undef」!なら「ラベル!(((かめA!横の位置?)+(かめB!横の位置?))/​2)作る 95 40 位置。:​f=1」実行」。
 +かめA:​衝突=「時計!中断。!位置表示。」。
 +時計=タイマー!作る。
 +時計!「
 +  かめA!(va)歩く。
 +  かめB!(vb)歩く。
 +」実行。
 +</​code>​
 +
 +### 「つるかめ算」プログラム(20分頃)
 +<​code>​
 +合計=100。
 +足=342。
 +
 +「|つる|
 +  かめ=100-つる。
 +  「4*かめ+2*つる==足」!なら「つる数=つる。かめ数=かめ。」実行。
 +」!100回 繰り返す。
 +
 +ラベル!("​つるは"​+つる数+"​羽、かめは"​+かめ数+"​匹"​)作る 24 文字サイズ。
 +</​code>​
 +
 +
 +### 「四角形を描く」プログラム(25分頃)
 +<​code>​
 +vy=0。dy=-0.7。
 +かめた=タートル!作る。
 +かめた!500 歩く 500 戻る 図形を作る。
 +かめた!90 左回り 200 歩く(青)線の色。
 +かめた:衝突=「:​vy=-0.9*vy。」。
 +タイマー!作る 200 回数「
 +  vy=vy+dy。
 +  かめた!2(vy)移動する。
 +」実行。
 +</​code>​
 +
 +
 +----
 +## 第11回の内容
 +### サクセスの実習(9分頃)
 +サクセスは「[sAccess:​ データベース実習支援ツール](http://​saccess2.eplang.jp/​saccess/​index.php)」から実行できます。
 +
 +最初の画面で、左上の「クラスID」に「ouj」(半角の英字小文字)を入れて「クラス変更」をクリックしてください。
 +次に、「氏名・ニックネーム(任意)」に名前を入れてください。ニックネームや架空の名前でも構いません。
 +次に、「プリセットDB」に「コンビニ*」が表示されていることを確認して「プリセットDB選択」をクリックしてください。
 +
 +実習画面が表示されたら、左側の「操作コマンドを追加しよう」という部分にコマンドを書いて「追加」を押すと、「操作コマンド列」にコマンドが追加され、右側に実行した結果の表が表示されます。
 +
 +<​code>​
 +表示 売上データ
 +選択 時間帯 夕方
 +結合 商品データ
 +射影 商品名、時間帯、年齢層
 +</​code>​
 +
 +<​code>​
 +表示 売上データ
 +数える 時間帯
 +</​code>​
 +
 +### SQLの実習(16分頃)
 +SQLは「[SQLエディタ](http://​oecu-edu.sakura.ne.jp/​sql/​index.php)」から実行できます。
 +
 +
 +最初の画面で、左上の「クラスID」に「ouj」(半角の英字小文字)を入れて「クラス変更」をクリックしてください。
 +次に、「ユーザID」に名前を入れてください。ニックネームや架空の名前でも構いません。
 +次に、「ログイン」をクリックしてください。
 +
 +実習画面が表示されたら、「SQL実行」という部分にSQLの命令を書いて「送信」を押すと、「履歴表示」に命令が追加され、画面の下に実行した結果の表が表示されます。
 +
 +<​code>​
 +use コンビニ
 +select * from 商品データ
 +</​code>​
 +
 +<​code>​
 +use コンビニ
 +select * from 商品データ where 価格=100
 +</​code>​
 +
 +<​code>​
 +use コンビニ
 +select * from 商品データ where 価格>​=150
 +</​code>​
 +
 +<​code>​
 +use コンビニ
 +select * from 商品データ where 商品名 like '​ミルクティー'​
 +</​code>​
 +
 +<​code>​
 +use コンビニ
 +select * from 商品データ where 商品名 like '​%ミルクティー'​
 +</​code>​
 +
 +<​code>​
 +use コンビニ
 +select * from 商品データ where 商品名 like '​%茶%'​
 </​code>​ </​code>​
  
ouj18.txt · 最終更新: 2021/05/24 18:29 by klab