5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

BASICでこんなプログラム作れるの?

1 :音楽好き中学生:04/10/09 13:53:29
こんな問題見つけたんですけど、ホントに作れるんですか?

10人の身長と体重を測定する。(身長は小数点第1位まで表記)
身長170cm以上の人の人数と体重の平均。
体重 68kg未満の人の人数と身長の平均。
(ただし、170.0cmの人を1人入れよ)

できればお願いします。

2 :デフォルトの名無しさん:04/10/09 13:54:39
余裕で2ゲトズサー
 ̄ ̄V ̄ ̄ ̄ ̄ ̄
  ∧ ∧
⊂(゚Д゚⊂⌒^つ≡3


3 :デフォルトの名無しさん:04/10/09 13:56:01
>>1
簡単
工房でもわかるぞ

4 :デフォルトの名無しさん:04/10/09 14:01:03
身長体重を測るための制御プログラムも必要ですか?

5 :デフォルトの名無しさん:04/10/09 14:01:06
身長と体重を測定するのが至難の業。
どうやってソフトで計測するのか。

6 :音楽好き中学生:04/10/09 14:01:27
分かる人教えてください。
どうしても実行しても答えが出ません。(0人とかなったり・・・)

皆さんお願いしますm(_ _)m

7 :デフォルトの名無しさん:04/10/09 14:12:20
>>6
オナニーが終わって暇してるから教えてあげる。
まずはここまでに書いたコードを出せば?

8 :デフォルトの名無しさん:04/10/09 14:21:59
>>1>>6
今回は偶然機嫌の良い人が居たから良かったが、
普段は単発の質問スレ立てると、物凄く怒られるし荒らされる。
今回は運が良かったんだろうが、次からは止めておけ。

次にスレ立てる時はローカルルール読んでこいよ。

9 :デフォルトの名無しさん:04/10/09 14:23:53
>>1に言い忘れ。
荒らされたくなければ、メール欄にはsageと入れておく事をおすすめする。

10 :デフォルトの名無しさん:04/10/09 15:15:46
LET NUMBER=4 !人数
DIM HEIGHT(NUMBER) !身長を格納する配列
DIM WEIGHT(NUMBER) !体重を格納する配列

PRINT NUMBER;"人の身長と体重を入力します。"
PRINT "身長は小数点第1位まで表記してね!"
PRINT "身長170.0cmの人を1人入れてね!"
FOR I=1 TO NUMBER
PRINT I;"人目いきまーす。"
INPUT PROMPT "身長は? ":HEIGHT(I)
INPUT PROMPT "体重は? ":WEIGHT(I)
NEXT I

PRINT "身長170cm以上の人の人数と体重の平均を求めます。"
LET HNUM=0 !身長170cm以上の人の人数
LET WSUM=0 !体重の合計
FOR I=1 TO NUMBER
IF HEIGHT(I)>=170 THEN !身長170cm以上なら
LET HNUM=HNUM+1 !人数を加算
LET WSUM=WSUM+WEIGHT(I) !体重を加算
END IF
NEXT I
LET WAVG=WSUM/HNUM !体重の平均
PRINT "身長170cm以上の人は";HNUM;"人です。"
PRINT "その人たちの体重の平均は";WAVG;"kgです。"

11 :デフォルトの名無しさん:04/10/09 15:16:10

PRINT "体重68kg未満の人の人数と身長の平均を求めます。"
LET WNUM=0 !体重68kg未満の人の人数
LET HSUM=0 !身長の合計
FOR I=1 TO NUMBER
IF WEIGHT(I)<68 THEN !体重68kg未満なら
LET WNUM=WNUM+1 !人数を加算
LET HSUM=HSUM+HEIGHT(I) !身長を加算
END IF
NEXT I
LET HAVG=HSUM/WNUM !身長の平均
PRINT "体重68kg未満の人は";WNUM;"人です。"
PRINT "その人たちの身長の平均は";HAVG;"cmです。"

END

12 :デフォルトの名無しさん:04/10/09 15:16:44
画像処理で身長と体重を測定するのか?そいつはむずかしいぜ

13 :デフォルトの名無しさん:04/10/09 15:22:19
測定も難しいが、
>(ただし、170.0cmの人を1人入れよ)
要求定義不能。

14 :デフォルトの名無しさん:04/10/09 15:24:40
>10-11
これ、何BASIC?
!以降はコメントなんだよね。

15 :音楽好き中学生:04/10/09 15:29:50
教えていただいて、ありがとうございます。
解説もついててホントに分かりやすいです。

しかし、身長は入力式じゃなくて、最初に10人分任意で設定しておいて、READ で読み込む方法なのですが、できますか?

説明不足でホントに申し訳ありません。

16 :デフォルトの名無しさん:04/10/09 15:34:19
>>14
(仮称)十進BASIC
http://www.vector.co.jp/vpack/browse/pickup/pw3/pw003203.html

17 :デフォルトの名無しさん:04/10/09 15:44:33
>>15
身長と体重の入力部分を↓こんな風に変えればいいじゃん。

REM 10人の身長と体重を測定する。(身長は小数点第1位まで表記)
REM (ただし、170.0cmの人を1人入れよ)
REM 身長データ
DATA 170.0,150.0,160.0,169.9,170.5,180.6,190.5,200.6,300.9,400.5
READ HEIGHT(1),HEIGHT(2),HEIGHT(3),HEIGHT(4),HEIGHT(5)...(ry
REM 体重データ
(ry

あるいは
REM 1人目
DATA 170.0,69
READ HEIGHT(1), WEIGHT(1)
REM 2人目
(ry

HEIGHT,WEIGHTはもっと短い変数でもいいかもね。

あと、配列の基数がデフォルトで1でない環境では
DIM HEIGHT(1 TO 10) みたいに宣言するか、
FOR I=1 TO NUMBER-1 みたいにしなきゃいけません。

18 :デフォルトの名無しさん:04/10/09 15:49:39
>>17
>あと、配列の基数がデフォルトで1でない環境では
>DIM HEIGHT(1 TO 10) みたいに宣言するか、
>FOR I=1 TO NUMBER-1 みたいにしなきゃいけません。

訂正。

配列の基数がデフォルトで1でない環境では
(1) DIM HEIGHT(1 TO 10) みたいに宣言するか、
(2) OPTION BASE 1 と宣言するか、
(3) プログラム中の1で始まっている部分をすべて0に
しなきゃいけません。
例: FOR I=1 TO NUMBER → FOR I=0 TO NUMBER-1
  HEIGHT(1) → HEIGHT(0), HEIGHT(10) → HEIGHT(9) 等

19 :デフォルトの名無しさん:04/10/09 16:00:57
LET NUMBER=10 !人数
DIM HEIGHT(NUMBER) !身長を格納する配列
DIM WEIGHT(NUMBER) !体重を格納する配列

REM 10人の身長と体重を測定する。(身長は小数点第1位まで表記)
REM (ただし、170.0cmの人を1人入れよ)
REM 身長データ
DATA 170.0,150.0,160.0,169.9,170.5,180.6,190.5,200.6,300.9,400.5
READ HEIGHT(1),HEIGHT(2),HEIGHT(3),HEIGHT(4),HEIGHT(5),HEIGHT(6),HEIGHT(7),HEIGHT(8),HEIGHT(9),HEIGHT(10)
REM 体重データ
DATA 10,20,30,40,50,60,70,80,90,100
READ WEIGHT(1),WEIGHT(2),WEIGHT(3),WEIGHT(4),WEIGHT(5),WEIGHT(6),WEIGHT(7),WEIGHT(8),WEIGHT(9),WEIGHT(10)

としたら

身長170cm以上の人の人数と体重の平均を求めます。
身長170cm以上の人は 7 人です。
その人たちの体重の平均は 65.7142857142857 kgです。
体重68kg未満の人の人数と身長の平均を求めます。
体重68kg未満の人は 6 人です。
その人たちの身長の平均は 166.833333333333 cmです。

となりました。宿題じゃなかったら小数点以下を切りつめたいところ。

> LET WAVG=WSUM/HNUM !体重の平均
→ LET WAVG=ROUND(WSUM/HNUM,2) !体重の平均
> LET HAVG=HSUM/WNUM !身長の平均
→ LET HAVG=ROUND(HSUM/WNUM,2) !身長の平均

とかね。

20 :1:04/10/09 17:48:26
お前らの言ってる事が難しすぎる

21 :音楽好き中学生:04/10/10 02:16:32
できました!
皆さん本当にありがとうございました。
皆さんすごいですね。
僕も、皆さんみたいに頭がよくなりたいです。

22 :デフォルトの名無しさん:04/10/10 02:34:18
>>21
体重68kg未満の人が0人だったら
> LET HAVG=HSUM/WNUM !身長の平均
のところで 0 で除算したとかいうエラーが出ないか?

試していないが。

23 :デフォルトの名無しさん:04/10/10 03:03:24
>>15
あとから問題の条件増やすな。
回答者に迷惑かけることになる。

>>21
みんな親切な人でよかったな。


24 :デフォルトの名無しさん:04/10/10 09:57:17
考えりゃ小学生でもできるのに。

これからまぁ精進しなされ。

25 :デフォルトの名無しさん:04/10/10 17:31:15
このスレは用済みなので
MMRが乗っ取ってもいいんですね?

26 :デフォルトの名無しさん:04/10/10 18:00:54
ワクチンが乗っ取ってどーすんの。

27 :デフォルトの名無しさん:04/10/11 12:22:59

      ,.ィ , - 、._     、
.      ,イ/ l/       ̄ ̄`ヽ!__
     ト/ |' {              `ヽ.            ,ヘ
    N│ ヽ. `                 ヽ         /ヽ /  ∨
   N.ヽ.ヽ、            ,        }    l\/  `′
.  ヽヽ.\         ,.ィイハ       |   _|
   ヾニー __ _ -=_彡ソノ u_\ヽ、   |  \  MMRはワクチンじゃなくて 
.      ゙̄r=<‐モミ、ニr;==ェ;ュ<_ゞ-=7´ヽ   > マガジンで連載されていた漫画の名前だ!
.       l    ̄リーh ` ー‐‐' l‐''´冫)'./ ∠__ このAAは事実を元にしたフィクションです! 
       ゙iー- イ'__ ヽ、..___ノ   トr‐'    /    
       l   `___,.、     u ./│    /_ 
.        ヽ.  }z‐r--|     /  ト,        |  ,、
           >、`ー-- '  ./  / |ヽ     l/ ヽ   ,ヘ
      _,./| ヽ`ー--‐ _´.. ‐''´   ./  \、       \/ ヽ/
-‐ '''"  ̄ /  :|   ,ゝ=<      /    | `'''‐- 、.._
     /   !./l;';';';';';';\    ./    │   _
      _,> '´|l. ミ:ゝ、;';';_/,´\  ./|._ , --、 | i´!⌒!l  r:,=i   
.     |     |:.l. /';';';';';|=  ヽ/:.| .|l⌒l lニ._ | ゙ー=':| |. L._」 ))
      l.    |:.:.l./';';';';';';'!    /:.:.| i´|.ー‐' | / |    |. !   l
.     l.   |:.:.:.!';';';';';';';'|  /:.:.:.:!.|"'|.   l'  │-==:|. ! ==l   ,. -‐;
     l   |:.:.:.:l;';';';';';';';| /:.:.:.:.:| i=!ー=;: l   |    l. |   | /   //
       l  |:.:.:.:.:l;';';';';';';'|/:.:.:.:.:.:.!│ l    l、 :|    | } _|,.{::  7 ))
        l  |:.:.:.:.:.:l;';';';';'/:.:.:.:.:.:.:.:| |__,.ヽ、__,. ヽ._」 ー=:::レ'  ::::::|;   7
.      l |:.:.:.:.:.:.l;';';'/:.:.:.:.:.:.:.:.:.|. \:::::\::::: ヽ  ::::::!′ :::|   .:/

28 :デフォルトの名無しさん:04/10/11 12:37:48
ageんな。

MRSAにでも感染して氏ね。

29 :デフォルトの名無しさん:04/10/11 22:31:24
なんか昔みたサンプルプログラムで

0〜9までをランダムにとりだす(たとえば3,7,9,1,2,4,5,0,6,8とか列挙させる)

というのがあって、最も能率のいい方法っていうのがどんなだったか
いまだにわからん。うまく組める人いたら教えてください。

すくなくともいちいち0〜9をランダムに候補にあげて、
それがすでに列挙済みかどうか判定して、列挙済みだったら候補をあげなおすって言う
のではないはず。ていうかそうしなくてももっとうまい方法があるっていう問題だった。

30 :29:04/10/11 22:38:34
ゴメン

「0〜9までをランダムに、ただし同じ数字が重複しないように全部とりだす」

だなたぶん。

まぁべつに範囲は0〜9じゃなくても100でも1000でもなんでもいいんだろうけど。

31 :デフォルトの名無しさん:04/10/11 22:51:10
「数字 重複 ランダム 取り出し」
でぐぐったらそれらしいのがいくつかあったよー

32 :29:04/10/11 22:56:36
>>31

ググッた

>1. 配列の要素を1〜9でそれぞれ初期化する。
>2. 1〜9の乱数Rを取り出し、R番目と9番目の要素を入れ替える。
>3. 1〜8の乱数Rを取り出し、R番目と8番目の要素を入れ替える。
>4. 1〜7の乱数Rを取り出し、R番目と7番目の要素を入れ替える。
>(中略)
>9. 1〜2の乱数Rを取り出し、R番目と2番目の要素を入れ替える。

こういう方法か・・・
これなら範囲分の回数だけループを繰り返すだけだから
おそらく最も効率がいいっすね。いや、数学的なことはよくわからないですが。

33 :デフォルトの名無しさん:04/10/12 06:18:29
>>32
それやると一様な乱数にならず偏りが出てくる

34 :デフォルトの名無しさん:04/10/13 02:06:07
>>33
実験して精度しらべてみたけど均等にできたよ。いちおうCのソース上げとく
(実はCで組んだのこれが初めてなんで、おかしかったらどんどん指摘して欲しい)

//シャッフルの精度を調べるプログラム

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define RANGE 10
#define LOOP 100000

int main()
{
srand( (unsigned)time( NULL ) );
unsigned int i,j,k,r,tmp1;
unsigned int num[RANGE+1];
unsigned long count1[RANGE+1][RANGE+1];

//配列初期化
for (i=0; i<=RANGE; i++)
for (j=0; j<=RANGE; j++)
count1[j][i] = 0;

//ループ
for (j=0; j<LOOP; j++)
{
//1から整列して代入
for (i=1; i<=RANGE; i++)
num[i]=i;


35 :続き:04/10/13 02:07:57
//シャッフル
for (i=RANGE; i>=1; i--)
{
r=(int)(rand() / (double)(RAND_MAX + 1) * i)+1;
tmp1=num[r];
num[r]=num[i];
num[i]=tmp1;
//printf ("r:%2d,num[%2d]:%2d ",r,i,num[i]);
}

//シャッフルのデータの集計
for (i=1; i<=RANGE; i++)
{
count1[i][num[i]]++;
}
}

//最終的なデータの統計表示
printf ("\n");
for (k=1; k<=RANGE; k++)
{
for (i=1; i<=RANGE; i++)
printf ("num[%d]が%dだった回数 : %d\n",k,i,count1[k][i]);
printf("\n");
}

printf("範囲 = 1 〜 %d\n",RANGE);
printf("\n繰り返した回数 = %d\n\n",j);

}

36 :デフォルトの名無しさん:04/10/13 03:00:02
あちゃー
残念だがスレ違いだ


37 :デフォルトの名無しさん:04/10/13 11:17:45
>34-35
BASICのスレだけどツッコミキボンヌのようなので
・Cの場合コメントは//使わず/*〜*/にした方が吉。
・int main()なんだから最後にreturn 0とか入れましょう。

さて、んじゃVBで実装してみますか。

38 :デフォルトの名無しさん:04/10/13 15:27:14
>>36
重々承知してますがもはやBASIC使える環境じゃないんでw
慣れないCでやったってわけです
>>37
勉強になります。thx

39 :デフォルトの名無しさん:04/10/13 23:35:33
basicではなかったと思うが、高校生対象のコンテストで、
○○ソートを少ないステップ数で効率的に行え。といった問題があった。(どのようなソートだったかは覚えていない)

大賞に選ばれたものは(確かCだった)数行のものでしたが、いくらか追っかけてもなぜこれが??でした。
アルゴがわかっていたって、とても自分には作成できないものでした。

上には上がいるものだな。と思った以上に
BASIC、C、アセンブラなどといった言語の優位性などはとてもチープと思いました

40 :デフォルトの名無しさん:04/11/17 16:39:08
誰か、N88BASICでこのプログラム作ってください。お願いします。

正六角形の中心から対角線方向を選んで進むランダム・ウォークを行うプログラムを次の二通りで作成する。
 1) サイコロで方向を決め、IF文で各方向に移動距離を計算するプログラム。
 2) 最初に6方向の移動距離を計算して配列(DIM)に保存し、利用するプログラム。



41 :デフォルトの名無しさん:04/11/17 20:15:14
座標軸をちょっと変換すれば
移動方向は (1,0) (-1,0) (0,1) (0,-1) (1,1) (-1,-1) の6つだろ。
いちいち移動距離なんて計算すんなよ。


42 :デフォルトの名無しさん:04/11/18 08:31:06
宿題は宿題スレへ

43 :デフォルトの名無しさん:04/11/19 16:48:37
→ ← ↓ ↑ / \

\ |
 \|
ーー+ーー
  |\
  | \

六角家まずぃ。

44 :デフォルトの名無しさん:04/11/22 00:06:37
>>39
クイックソートなら、ふつーのBASICには再帰がないので
どうあがいても無理。



45 :デフォルトの名無しさん:04/11/22 00:42:50
>44
クイックソートは再帰使わなくてもループで実装できた希ガス。
コード忘れたけどorz

46 :デフォルトの名無しさん:04/11/22 14:48:01


47 :デフォルトの名無しさん:04/11/22 16:45:23
全ての再帰はループに置き換え可能です。

48 :デフォルトの名無しさん:04/11/23 00:29:27
>>47
無限に続く漸化式も一つの式にまとめられるように
全ての再帰もループに置き換えが効くな。


49 :デフォルトの名無しさん:04/11/26 12:16:15
>>48
テーラー展開とか?

50 :デフォルトの名無しさん:04/11/26 15:04:46
>>1
なんでそんな勉強してるの?
なんでもかんでも手続き型でやってると、
ホスト系馬鹿みたいになっちゃって設計センスまで馬鹿になっちゃうから、
最初っからデータベースでやるべし。

51 :デフォルトの名無しさん:04/11/26 15:12:15
高校数学のコンピュータって確かBASICだよね

52 :デフォルトの名無しさん:04/11/26 15:39:55
対角線って頂点から出るものだから、中心から選ぶのは難しいね。


53 :デフォルトの名無しさん:04/11/26 15:50:35
>>1の宿題の手伝いを必死でするスレはここですか?

54 :デフォルトの名無しさん:04/11/26 17:58:25
>>44
配列を使ってスタックを自前で実装すれば可能。

スタック領域が少ない組み込みで
再帰処理を非再帰バージョンに書き直すのはわりと
ありがちな状況

ちなみにローカル変数が使えるVBとかなら
再帰可能だからふつーに組める。


55 :デフォルトの名無しさん:04/11/27 07:12:50
ああ、疲れてるんだな。
>>10-11のLETで笑いが止まらねえ。

56 :デフォルトの名無しさん:04/11/27 11:01:40
JavaのsetterもLETとそんなに変わらんがな。
BASICはJavaより30年進んでんだよ。

57 :デフォルトの名無しさん:04/12/03 11:45:50
BASICでOS。これ最強。

58 :デフォルトの名無しさん:04/12/04 03:25:18
Disk BASIC とか?

59 :デフォルトの名無しさん:04/12/04 03:40:28
考えてみればROM BASICって立派なOSだよなぁ。
……いやまぁそりゃしょぼいけどさ……

60 :デフォルトの名無しさん:04/12/06 14:20:15
MZ-80シリーズはテープからBASICロードしてたからさらにOSぽ

61 :デフォルトの名無しさん:04/12/06 23:15:35
>60
懐かしいなぁ〜
クリーンコンピュータってのが売りだったんだよねー
その気になればテープからUNIXEN読み込ませて……てのもありだったのかなw

62 :デフォルトの名無しさん:04/12/08 11:37:47
そういえば AhSKI!(ASCII のパロディ版)でUNI×(ユニクロス)っていう
BASIC で実現したUNIX風のファイル管理ソフトがありましたね。
これこそまさに「BASICでこんなプログラム作れるの?」という
話題にふさわしいネタかも知れない。
昔は目の前にはBASICしか無かったんだから全ての欲望は
BASIC で解決するしかなかったからなぁ……


63 :デフォルトの名無しさん:04/12/09 01:46:56
>62
何を言う。そこでハンドアセンブルの密林に分け入る道もあっただろう。

漏れは入り口で引き返してきたっす´`,、(´∀`)´`,、
懐かしいぜ、Z80ニーモニック表。

64 :デフォルトの名無しさん:04/12/09 09:20:32
大したことない香具師ばっかだな

65 :デフォルトの名無しさん:04/12/09 12:40:27
自慢野郎がやってきましたぜ・・・
( ´д)ヒソ(´д`)ヒソ(д` )


66 :デフォルトの名無しさん:04/12/09 14:07:09
BASICでアセンブラ作ったよ。
それで作ったアセンブラで高速化ルーチン作ったよ。
最後はオールアセンブラでアセンブラ。
でもローダーはBASICのDATA文。

懐かしい、なにもかもが、懐かしい。

67 :デフォルトの名無しさん:04/12/09 19:02:02
RST 00H

68 :デフォルトの名無しさん:04/12/20 21:35:32
POKEとPEEKでだいたいOK
ペンティアムでもOK
問題ない。

69 :デフォルトの名無しさん:04/12/20 23:07:18
EXEC&1058H

70 : あけおめ! :05/01/01 18:09:24
>>66
なんかロビンソン・クルーソーみたいですね(イイ!!意味で)

71 :デフォルトの名無しさん:05/01/30 21:26:49
積分で書いたグラフを回転させて出来たやつの体積を求めるプログラムって出来る?
FullBasicで。

72 :デフォルトの名無しさん:05/01/30 21:36:28
構造化BASIC、RATBASてあったな。
確かN88-BASIC上で動くソースリスト付き書籍があったはず。

73 :デフォルトの名無しさん:05/01/30 21:43:35
明日提出で困ってるんですがorz

74 :デフォルトの名無しさん:05/01/30 21:48:27
Cみたいに誰かがやってくれるスレはないんでつか…

75 :デフォルトの名無しさん:05/01/30 21:48:59
>>73
>明日提出で困ってるんですがorz
手遅れです。諦めましょう。

76 :デフォルトの名無しさん:05/01/30 22:17:24
せめてヒント下さい

77 :デフォルトの名無しさん:05/01/30 23:07:10
basicってどんなbasicなんだろ
グラフは最初から指定してあるのかな
どの軸で回転させるのかな〜

78 :デフォルトの名無しさん:05/01/30 23:12:03
BasicはFullBasicです。
与えた関数の式を積分してX軸を回転軸にして回転させるつもりなんですが…

79 :デフォルトの名無しさん:05/01/30 23:19:00
さらに範囲は指定できるようにしたいのですが。

80 :デフォルトの名無しさん:05/01/30 23:26:32
数式処理なのか数値積分なのか?
後者なら軸からの距離を半径とする薄い円柱の体積を足し合わせるだけなんだが

81 :デフォルトの名無しさん:05/01/30 23:30:14
検定あった。


82 :デフォルトの名無しさん:05/01/30 23:53:14
>>1
なんで出来ないのか?
それが分からない。
ネタ?


83 :デフォルトの名無しさん:05/01/31 00:04:54
>>82
>>21で解決済み

84 :デフォルトの名無しさん:05/01/31 00:19:10
多分数値積分だと思うんですが…

85 :71:05/01/31 00:20:44
PRINT "入力した値が大きすぎる場合グラフが意味を持ちません"
INPUT PROMPT "xの係数を正の値で入力してください":a
INPUT PROMPT "xの乗数を入力してください":b
INPUT PROMPT "このグラフの求めたい範囲の始点を入力してください":c
INPUT PROMPT "このグラフの求めたい範囲の終点を入力してください":d

SET WINDOW -(d+1) ,(d+1) ,-(b*50),(b*50)
DRAW GRID (1, 10)

SET LINE COLOR 2
FOR x =-50 TO 50 STEP 0.1
LET y=a*(x)^b
PLOT LINES :x,y;
NEXT x

SET LINE COLOR 1
FOR y =-(50*b) TO (50*b) STEP 0.1
LET x = c
PLOT LINES :x,y;
NEXT y
PLOT LINES


86 :71:05/01/31 00:21:28
続き

SET LINE COLOR 1
FOR y =-(50*b) TO (50*b) STEP 0.1
LET x = d
PLOT LINES :x,y;
NEXT y
PLOT LINES

LET Y0=(a*(c)^b)
LET Y1=(a*(d)^b)

SET AREA COLOR 4
PLOT AREA:c,0;c,Y0;d,y1;d,0

LET S=((a*(d^(b+1)))/(b+1))-((a*(c^(b+1)))/(b+1))

PRINT "この赤い範囲の面積は";S

END

87 :71:05/01/31 00:22:10
これを改造して作れないでしょうか?

88 :71:05/01/31 00:44:50
あうぅ

89 :71:05/01/31 00:50:36
どうしたらいいでしょうか?

90 :デフォルトの名無しさん:05/01/31 00:54:11
>LET S=((a*(d^(b+1)))/(b+1))-((a*(c^(b+1)))/(b+1))
定積分の公式のようですが、回転体の不定積分のやり方忘れちゃいました。
 ∫π*(a*x^b)^2・dx
 =π*a^2*∫x^(2*b)・dx
 =π*a^2*x^(2*b+1)/(2*b+1)
こんなんだっけ?
で、xにdとcを入れて引き算かな。

91 :71:05/01/31 01:46:01
大体出来たんですが、積分関数のグラフを書く方法が良く分かりません

92 :75:80:90:05/01/31 01:59:06
長半径y、短半径y/2の楕円を下の辺りに重ねて描くと3Dぽくなるよ。

FOR x =-50 TO 50 STEP 0.1
LET y=a*(x)^b
PLOT LINES :x,y; ←ここら辺
NEXT x

93 :71:05/01/31 02:09:48
>>92
どういうことですか?

94 :92:75:80:90:05/01/31 02:18:43
>>93
回転体の表示がしたいと勝手に解釈してました。
 y=π*a^2*x^(2*b+1)/(2*b+1)
のグラフを描きたいのでしょうか。

95 :71:05/01/31 02:22:22
>>94
回転体の表示もしたいのですが、よく分からないので求めるために回転させる部分を赤く塗りつぶしてました。
それとは別にy=ax^nを積分したもののグラフを表示したかったんです

96 :71:05/01/31 02:22:52
楕円の書き方とか分かりませんm(__)m

97 :94:92:75:80:90:05/01/31 02:37:54
>>95
y=ax^nのグラフは描けているようですので、y=ax^nを積分したy=ax^(n+1)/(n+1)のグラフを表示するのは如何でしょうか。

>>96
PLOT LINESがあるならPLOT CIRCLESとかがありそうなんですけど、FullBasicの描画命令は分かりませんです。

98 :97:94:92:75:80:90:05/01/31 02:47:24
描きたいのはy=π*a^2*x^(2*n+1)/(2*n+1)かな。

99 :71:05/01/31 02:52:19
書きたいのはy=ax^(n+1)/(n+1)なんですが何故かうまくいきません
そして回転体も書きたいんですが良く分からない感じです

100 :98:97:94:92:75:80:90:05/01/31 03:07:46
>>99
>書きたいのはy=ax^(n+1)/(n+1)なんですが何故かうまくいきません
具体的にどうなりますか?
積分すると偶関数と奇関数が入れ替わるのでx<0で積分値が負になったりするのとは違いますよね。


PLOT LINESで楕円風の多角形でも描きますか?

101 :71:05/01/31 03:48:19
グラフ書けました。
今気づいたんですが、範囲を負の数から始めていると面積がちゃんと出ないことに気付きました。
-15から15にすると面積が0に…


102 :100:98:97:94:92:75:80:90:05/01/31 03:59:00
>>101:71
おめでとう。

103 :71:05/01/31 04:04:11
面積解決しました。
定義域に負の数が入っていた場合加算にしました

104 :デフォルトの名無しさん:05/02/01 01:19:04
>>103
絶対値ではあかんのですか?

105 :デフォルトの名無しさん:05/02/02 23:35:20
悪質なマルチポストだった罠。
http://science3.2ch.net/test/read.cgi/infosys/1097162168/

106 :デフォルトの名無しさん:05/02/27 00:39:47
100 REM
110 A=A+1
120 INPUT B
130 INPUT C
140 IF B<170 THEN GOTO 150 ELSE GOTO 160
150 D=D+1
160 E=E+1
170 IF C>68 THEN GOTO 180 ELSE GOTO 190
180 DA=DA+1
190 EA=EA+1
200 IF A=10 THEN GOTO 210 ELSE GOTO 110
210 Ave=B/10
220 Ave=C/10
230 PRINT B
240 PRINT C
250 END

107 :デフォルトの名無しさん:05/02/27 00:46:27
>160
こらまた見事なカルボナーラで。しかも冷めて固まってるよ。

108 :デフォルトの名無しさん:05/02/27 10:01:27
>>107
構造化という考え方が一般的になる前のコードだ。これが普通。
先人のせっかくの教訓が形骸化されたスローガンとなってしまって一辺倒な物の見方しかできなくなってるんですよ。その発言って。
気をつけた方がいいぞ。


109 :デフォルトの名無しさん:05/02/27 13:15:26
>160
なにこれ?
自演?


110 :デフォルトの名無しさん:05/02/27 13:29:29
>>188は>160とケコーンシル!

111 :デフォルトの名無しさん:05/02/27 18:30:26
>>106
懐かしい

112 :デフォルトの名無しさん:05/02/28 16:52:37
教科書に載ってそうな簡単なしくみだな>106

113 :デフォルトの名無しさん:05/03/02 23:09:44
簡単ですね

114 :デフォルトの名無しさん:05/03/05 12:13:44
だな

115 :デフォルトの名無しさん:05/03/05 18:16:38
call -151

116 :デフォルトの名無しさん:05/03/06 16:48:52
>>1
>(ただし、170.0cmの人を1人入れよ)
この命題の意味がよくわからないな。その条件を除けば、

教科書的には、上のようなものなんだろうが8086系の実践では、かのように単純
ではうまくいかないだろうな。例えば人間の手動計算で0.05になるものがCPU内部では、
0.05未満の数値(0.0499・・・)で扱われるといったようなことが起きることがある。

90 CLEAR
100 DEFINT B,I,J
110 DEFDBL W,A
120 '
130 FOR I=0 TO 9
140 INPUT A(I)'身長
150 INPUT B(I)'体重
160 IF A(I)>=170 THEN
170 IANIN=IANIN+1
180 IB=IB+B(I)
190 ENDIF
200 IF B(I)<68 THEN
210 IBNIN=IBNIN+1
220 WA=WA+A(I)
230 ENDIF
240 NEXT I
250 IBHEI=int(IB/IANIN+.501)'-整数一桁目を桁落ちさせないための丸め処理
260 WAHEI=int((WA/IBNIN+.0501)*10)/10'-少数点一桁目を桁落ちさせないための丸め
270 PRINT "170cm以上の身長の人数、平均体重";IANIN;" ";IBHEI
280 PRINT "68kgs以下の体重の人数、平均身長";IBNIN;" ";WAHEI
(こんなところかな。テストはしてないが。)


117 :デフォルトの名無しさん:05/03/06 16:50:08
END が抜けた。

118 :デフォルトの名無しさん:05/03/08 07:37:14
BASICのエミュってどこにあるの?

119 :デフォルトの名無しさん:05/03/08 07:42:30
MSXのエミュどっかにあったな

120 :デフォルトの名無しさん:05/03/08 16:09:54
N88BASICでcドライブにある画像をBLOADで表示するには
どうゆう書き方すりゃいいの?

1 bload "(ファイル名)":c ←こんな感じ?

さっぱりわからんから誰か教えてー!!!!!

121 :デフォルトの名無しさん:05/03/12 06:56:18
まだ>>1の答えが出てないのかw

122 :デフォルトの名無しさん:05/03/12 11:40:52
単発質問スレでしたか・・・

123 :デフォルトの名無しさん:05/03/12 22:39:46
>121
スレ頭から全部読んだか? とっくに答え出てるぞ。

124 :デフォルトの名無しさん:05/03/19 18:30:08
>>120
ドライブ名はファイル名に入れろ

 1 BLOAD "C:TEKITO.BAS"

こんな感じで。


125 :デフォルトの名無しさん:05/03/20 22:29:05
100 REM
110 A=A+1
120 INPUT B
130 INPUT C
140 IF B<170 THEN GOTO 150 ELSE GOTO 160
150 D=D+1
160 E=E+1
170 IF C>68 THEN GOTO 180 ELSE GOTO 190
180 DA=DA+1
190 EA=EA+1
200 IF A=10 THEN GOTO 210 ELSE GOTO 110
210 Ave=B/10
220 Ave=C/10
230 PRINT B
240 PRINT C
250 END


126 :デフォルトの名無しさん:05/03/20 23:08:23
誰か125のD、E、DA、EA、Aveが
何に使われているのか教えてくれなさい

' てか、変数にまず0入れてないと気持ち悪く感じるってのはC系の言語に染まっちまったなぁ
' MSX-BASICに取り組んでいたあの日が懐かすぃ

127 :デフォルトの名無しさん:2005/03/21(月) 07:23:07
VB6.0ヘルプでみたけど"Ave"という演算子も関数もないんだけど・・・
そういった演算子、関数類があったとしても、要求されている平均身長(小数点1桁)と
平均体重(整数)の精度は違うから、同じ計算式というのはおかしいと思うが。

平均身長に関してだけ言えば、>>125の210行、220行は、Aveが使われた変数を精度は小数点2桁以上
で計算して小数点1桁に丸めて代入するという演算子、関数の類でなければ意味がないだろ。





31 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)