• ベストアンサー

高校数学 「計算とコンピュータ」

今、僕の学校ではセンター試験での選択範囲を狭めないように、「計算とコンピュータ」を授業してもらっています。例えば1から10まで掛けたらいくら?という問題なら、 100 A=1 110 B=2 120 A=A*B 130 IF B=10 THEN 160 140 B=B+1 150 GOTO 120 160 PRINT A 170 END と書くようなものです。ですが、いざ問題を出されて、プログラムを書いてと言われると書けません。理解力と発想力に乏しいです。そこでこんなことを解説したり説明したりしているHPはないでしょうか?あれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

VBでない古いBASICですね。 数学Bとかにありますが、ほとんど学校で教えませんね。 以下のサイトはどうでしょうか?

参考URL:
http://www.nikonet.or.jp/spring/mathA/mathA_0.htm
Hermet
質問者

お礼

おぉ~!ありがとうございます。 これなら無知な僕でも理解できそうです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

昔のBASICですね。 アルゴリズムの勉強をしたほうがいいのかな?

参考URL:
http://www5c.biglobe.ne.jp/~ecb/algorithm/1_1.html
Hermet
質問者

お礼

専門的なレベルまでは行かなくても良いですが、 流れ図の考え方がわかりやすく説明されいて良いです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 08年センター試験本試数学Bコンピュータ

    以下はユークリッドの互除法という自然数x,yの最大公約数を求めるためのプログラムです。 センター試験の問題では、130~150行目が空欄になっていて、その部分に当てはまるものは何か問うていました。 私は勉強不足で、高校で学ぶコンピュータプログラミングを知りません。 ユークリッドの互除法といえば、130~150行目は 130 LET Z=X 140 LET X=Y 150 LET Y=Z と、即答できねばいけないものなのでしょうか。 それともこの部分は考えて求められるものなのでしょうか。 もし後者であれば、その考える道筋を解説していただきたいです。 100 INPUT "x=";X 110 INPUT "y=";Y 120 IF X<Y THEN 130 LET Z=X 140 LET X=Y 150 LET Y=Z 160 END IF 170 IF Y=0 THEN 180 PRINT X 190 GOTO 270 200 END IF 210 LET R=X 220 LET R=R-Y 230 IF R>=Y THEN GOTO 220 240 LET X=Y 250 LET Y=R 260 GOTO 170 270 END

  • 十進ベーシックのプログラムの間違いを教えてください。

    誰か次のプログラムの間違いを直してください。入力を間違えても次に進めるようにするにはどこをどう変えたらよいのですか? RESTORE 30 READ a$ 40 INPUT b$ IF a$=b$ THEN IF a$<>b$ THEN GOTO 40 PRINT a$ GOTO 30 DATA i,x,d,k,k,h,end END IF END

  • サブルーチン

    下は身長の平均を求めるプログラムですけど、身長の高い順、低い順に並び替えしたいんですがどうしたらいいかわからないので、よかったら誰か教えていただけませんか                   REM プログラム     10            DIM A(12) 20 PRINT "メニュー” 30 PRINT "身長入力...1" 40 PRINT "身長出力...2" 50 PRINT "終了" 60 PRINT "どれにしますか" 70 INPUT B 80 IF B=1 THEN GOSUB300 ELSE 110 90 GOTO 30 100 IF B=2 THEN GOSUB500 ELSE 130 110 GOTO 30 120 IF B=3 THEN GOSUB700 ELSE 30 130 END 140 A(11)=B 300 FOR I=1 TO 10 310 PRINT i;: PRINT "人目" 315 INPUT C 320 A(I)=C 330 PRINT "これでいいですか?" 340 PRINT "1.YES 2.NO" 345 INPUT D 350 IF D=1 THEN 380 ELSE 370 360 IF D=2 THEN 315 ELSE 340 370 A(11)=A(11)+A(I) 380 NEXT I 390 RETURN 400 IF C=1 THEN 520 500 PRINT "先に入力してください" 510 GOTO 30 515 FOR I=1 TO 12 520 PRINT A(I) 530 NEXT I 540 RETURN 550 PRINT "これで身長の平均を求めるのを終わります"700 RETURN 710  

  • プログラムの組み方について

    ウインドウズ98とエクセルとワードを使っていますが、 かつてのBASICのようなプログラムを組んで実行 させることは可能なのでしょうか?例えば 10 A=1 20 A=A+1:IF A>9 THEN 50 30 FOR B=1 TO A:PRINT B 40 GOTO 20 50 PRINT A 60 END というような簡単なものでいいのですが・・・。 どなたか教えて下さい。よろしくお願いします。

  • ultra Basic Ver.2 「IF THEN」について

    今、高校で『ultra Basic Ver.2』のプログラミング実習をしています。 それで下記の問題がどうしてこうなるのか全く分かりません。詳しく分かる方はご指導お願いします。 (1) 1~1000までの合計値を求めるプログラムを作りなさい。      ちなみにプログラムは下記のようになるようです。 10 A=0 20 B=0 30 B=B+A 40 IF A=1000 THEN GOTO 70 50 A=A+1 60 GOTO 30 70 PRINT "合計";B 80 END 合計 500500

  • 以下は、N88BASIC エラー・

    >10 ANSWER = INT(RND(1)*10)+1 >20 INPUT "GUESS (1-10)? ", GUESS >30 IF GUESS > ANSWER THEN PRINT "TOO HIGH!" : GOTO 20 >40 IF GUESS < ANSWER THEN PRINT "TOO LOW!" : GOTO 20 >50 IF GUESS = ANSWER THEN PRINT "YOU GOT IT!" : END 以上はN88BASICWINDOWS95互換プログラムで作成した、簡単な数あてゲーム しかし、実行しようとすると「文法エラー」とでる。 どこが問題か?

  • 空欄に不等号が入るのですが・・・

    添付の図のようなフローチャートをbasicでプログラムすると次のようになる 130行目の空欄を等号ないし不等号ないし等号つき不等号で埋め 条件式を完成させよという問題がありました。 100 INPUT N 110 FOR I=1 TO N 120 LET A=I 130 IF (A+1)^2 (空欄) N THEN GOTO 190 140 NEXT I 150 IF A<=1 THEN GOTO 190 160 PRINT A 170 LET N=N-A^2 180 IF N>=1 THEN GOTO 110 190 END ここで入れるべきものはA^2がNを「超えない」なので>=ですよね? 解答を見ると>となっているのですが 解答の条件式でN=4として実行すると2が出力されるのでおかしな気がします。 解答が正しいのでしょうか?それとも間違っているのでしょうか?

  • 日付入力と日数計算

       A       B      1 開始日  H24/4/1       2 終了日  H24/4/30 3  日数     30     上のような表で、 ・B1とB2に日付を入力すると、B3にB1からB2の日数が返ってくる ・B1に日付、B3に日数を入れると、B2にB1からB3日後の日付が返ってくる ・B2に日付、B3に日数を入れると、B1にB2からB3日前の日付が返ってくる ・B列から複数列同じ処理をする というようなことがしたくて、下記のような記述をしました。 (今のところ単列処理ですが・・) Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo error Dim a As Range For Each a In Target If a.Address = "$B$1" Then If Range("B2") > 0 Then Range("B3") = Range("B2") - Range("B1") ElseIf Range("B3") > 0 Then Range("B2") = Range("B1") + Range("B3") - 1 End If End If Next a Dim b As Range For Each b In Target If b.Address = "$B$2" Then If Range("B1") > 0 Then Range("B3") = Range("B2") - Range("B1") + 1 ElseIf Range("B3") > 0 Then Range("B1") = Range("B2") - Range("B3") - 1 Else Range("B2") = "" End If End If Next b Dim c As Range For Each c In Target If c.Address = "$B$3" Then If Range("B1") > 0 Then Range("B2") = Range("B1") + Range("B3") + 1 ElseIf Range("B2") > 0 Then Range("B1") = Range("B2") - Range("B3") - 1 Else Range("B2") = "" End If End If Next c error: End Sub これだと、例えば B1に日付を入力して、B3に日数を入力すると、 B2に日付が返ってくるのですが、B2に日付が返った瞬間にループ処理してしまいます。 (『WorksheetChenge』なので当然なのですが…) どうすればうまくいくか、ご教示お願いいたします。 また、この計算を複数列で行いたいので、それもあわせて 教えていただけると幸いです。 よろしくお願いします。

  • 高校数学 センター試験のコンピュータ 新課程?

    社会人で大学を受けようと思っています。センター試験でコンピュータという分野があったのですが、 勉強したことがありません。本屋で数学のチャート(参考書/問題集)を見てみたのですが、コンピュータ という分野は一切載っていませんでした。しかし、センター試験ではその分野が確実に存在しています。 これはどういうことなのでしょうか?回答よろしくおねがいします。

  • 高校数学 コンピューターの範囲

    高校数学に含まれるコンピューターですが、私が通う学校では完全に飛ばしています。 大学入試に出てこないから・・・という理由で飛ばしていますが、実際センターにもバリハリ出ていることに気付きました。 また、自分が受けようと考えている大学の入試問題にも出ていました。 そのことを学校に相談すると、正直コンピューターを完璧に教えられる先生がいない・・・と言われました。 学校の開き直りにはがっかりしましたが、独学で進めることにしました。 数A・Bの教科書を読んでは見たのですが、コンピューターということもあって、プログラムが今一分かりません。 そこでお聞きしたいのですが、大学受験レベル(教科書レベル)をクリアできる程度のコンピューター(プログラム)の本でお勧めはないでしょうか? 御教授宜しくお願い致します。