N88-BASIC、Cで初心者向けプログラミング (2回目)
2022/2/2(水)
N88-BASIC、Cで初心者向けプログラミング (2回目)
繰り返し
1から10まで足すといくつ?
ここでは、n(n+1)/2を使わずに
計算させてみましょう
(因みに、10(10+1)/2 = 55)
BASICでは、
10 S = 0
20 FOR I=1 TO 10
30 S = S + I
40 NEXT
50 PRINT S
C言語では、
#include <stdio.h>
void main(void)
{
int i, s;
s = 0;
for (i = 1; i <= 10; i++)
{
s = s + i;
}
printf("%d\n", s);
}
BASICの説明
FOR I=1 TO 10
NEXT
は簡単に言うとI=1~10まで
1ずつ増やしながら
FOR,NEXT間を繰り返した後、
次の命令に行きます
1回目 S = S + IはS = 0 + 1 = 1
2回目 S = S + IはS = 1 + 2 = 3
3回目 S = S + IはS = 3 + 3 = 6
4回目 S = S + IはS = 6 + 4 = 10
5回目 S = S + IはS = 10 + 5 = 15
6回目 S = S + IはS = 15 + 6 = 21
7回目 S = S + IはS = 21 + 7 = 28
8回目 S = S + IはS = 28 + 8 = 36
9回目 S = S + IはS = 36 + 9 = 45
10回目 S = S + IはS = 45 + 10 = 55
で、PRINT Sで55と表示されます
C言語の説明
int i, s;は、整数型変数iとsを作ります
for (i = 1; i <= 10; i++)
{
}
はi = 1を実行後、
i <= 10なら{}内を実行し
i++(iを1増す)を実行しi <= 10
が成り立っている間繰り返します
i <= 10でないなら}の次に行き、
printf("%d\n", s);
でsの内容が表示されます
printfは第1回を見てください
もう1つの繰り返し文
WHILEを使って同じものを
作ると、
BASICでは、
10 S = 0
20 I = 1
30 WHILE I <= 10
40 S = S + I
50 I = I + 1
60 WEND
70 PRINT S
C言語では、
#include <stdio.h>
void main(void)
{
int i, s;
s = 0;
i = 1;
while (i <= 10)
{
s = s + i;
i = i + 1;
}
printf("%d\n", s);
}
WHILE,WEND間やwhile {}の{}内を、
I <= 10が成り立っている間、
繰り返します
C言語では
s = s + i;は、s += i;
i = i + 1;は、i++;
と書いても同じです
比較演算子は以下の通りです
= ≠ ≧ ≦ > <
C言語 == != >= <= > <
BASIC = <> >= <= > <
次に、階乗を求めてみましょう
3人の並べ方は3!=3×2×1=6通りです
先頭は3人から1人選ぶので3通り、
2番目は残り2人なので2通り、
3番目は残り1人なので1通り、
3通りそれぞれに2通りの選び方が
あるので、3×2×1=6通りになります
1~nまでの積をn!(nの階乗)と言います
n人の並べ方は、n!通りあり、
5人の並べ方は、5!=120通りあります
nを入力してn!を表示します
BASICでは、
10 INPUT "n"; N
20 K = 1
30 FOR I=1 TO N
40 K = K * I
50 NEXT
60 PRINT "n! ="; K
C言語では、
#include <stdio.h>
void main(void)
{
int i, k, n;
printf("n? ");
scanf("%d”, &n);
k = 1;
for (i = 1; i <= 10; i++)
{
k = k * i;
}
printf("n! = %d\n", k);
}
BASICの説明、
INPUT "n"; N
n ?を表示し入力された数値をNに入れます
;(セミコロン)の代わりに,(カンマ)を使用
すると ?(スペースと?)は表示されません
K = 0だと答は0になるので要注意です
*は×の事で、÷は/と書きます
C言語の説明
scanf("%d”, &n);は入力された値を整数
としてnに代入します
&nはnが存在する場所(メモリのアドレス)
で、scanfはその場所に値を入れます
今のところ関数に値を入れてもらうときは
&が必要と覚えておいてください
printfとscanfのフォーマットは、
整数%d, 単精度%f, 倍精度%lfです
Visual Cを使用していて画面がすぐ消える
時は、第1回の最後を読んで下さい
scanfがエラーになるときは、scanf_sを
使用してください
N88-BASIC、Cで初心者向けプログラミング (2回目)
繰り返し
1から10まで足すといくつ?
ここでは、n(n+1)/2を使わずに
計算させてみましょう
(因みに、10(10+1)/2 = 55)
BASICでは、
10 S = 0
20 FOR I=1 TO 10
30 S = S + I
40 NEXT
50 PRINT S
C言語では、
#include <stdio.h>
void main(void)
{
int i, s;
s = 0;
for (i = 1; i <= 10; i++)
{
s = s + i;
}
printf("%d\n", s);
}
BASICの説明
FOR I=1 TO 10
NEXT
は簡単に言うとI=1~10まで
1ずつ増やしながら
FOR,NEXT間を繰り返した後、
次の命令に行きます
1回目 S = S + IはS = 0 + 1 = 1
2回目 S = S + IはS = 1 + 2 = 3
3回目 S = S + IはS = 3 + 3 = 6
4回目 S = S + IはS = 6 + 4 = 10
5回目 S = S + IはS = 10 + 5 = 15
6回目 S = S + IはS = 15 + 6 = 21
7回目 S = S + IはS = 21 + 7 = 28
8回目 S = S + IはS = 28 + 8 = 36
9回目 S = S + IはS = 36 + 9 = 45
10回目 S = S + IはS = 45 + 10 = 55
で、PRINT Sで55と表示されます
C言語の説明
int i, s;は、整数型変数iとsを作ります
for (i = 1; i <= 10; i++)
{
}
はi = 1を実行後、
i <= 10なら{}内を実行し
i++(iを1増す)を実行しi <= 10
が成り立っている間繰り返します
i <= 10でないなら}の次に行き、
printf("%d\n", s);
でsの内容が表示されます
printfは第1回を見てください
もう1つの繰り返し文
WHILEを使って同じものを
作ると、
BASICでは、
10 S = 0
20 I = 1
30 WHILE I <= 10
40 S = S + I
50 I = I + 1
60 WEND
70 PRINT S
C言語では、
#include <stdio.h>
void main(void)
{
int i, s;
s = 0;
i = 1;
while (i <= 10)
{
s = s + i;
i = i + 1;
}
printf("%d\n", s);
}
WHILE,WEND間やwhile {}の{}内を、
I <= 10が成り立っている間、
繰り返します
C言語では
s = s + i;は、s += i;
i = i + 1;は、i++;
と書いても同じです
比較演算子は以下の通りです
= ≠ ≧ ≦ > <
C言語 == != >= <= > <
BASIC = <> >= <= > <
次に、階乗を求めてみましょう
3人の並べ方は3!=3×2×1=6通りです
先頭は3人から1人選ぶので3通り、
2番目は残り2人なので2通り、
3番目は残り1人なので1通り、
3通りそれぞれに2通りの選び方が
あるので、3×2×1=6通りになります
1~nまでの積をn!(nの階乗)と言います
n人の並べ方は、n!通りあり、
5人の並べ方は、5!=120通りあります
nを入力してn!を表示します
BASICでは、
10 INPUT "n"; N
20 K = 1
30 FOR I=1 TO N
40 K = K * I
50 NEXT
60 PRINT "n! ="; K
C言語では、
#include <stdio.h>
void main(void)
{
int i, k, n;
printf("n? ");
scanf("%d”, &n);
k = 1;
for (i = 1; i <= 10; i++)
{
k = k * i;
}
printf("n! = %d\n", k);
}
BASICの説明、
INPUT "n"; N
n ?を表示し入力された数値をNに入れます
;(セミコロン)の代わりに,(カンマ)を使用
すると ?(スペースと?)は表示されません
K = 0だと答は0になるので要注意です
*は×の事で、÷は/と書きます
C言語の説明
scanf("%d”, &n);は入力された値を整数
としてnに代入します
&nはnが存在する場所(メモリのアドレス)
で、scanfはその場所に値を入れます
今のところ関数に値を入れてもらうときは
&が必要と覚えておいてください
printfとscanfのフォーマットは、
整数%d, 単精度%f, 倍精度%lfです
Visual Cを使用していて画面がすぐ消える
時は、第1回の最後を読んで下さい
scanfがエラーになるときは、scanf_sを
使用してください
は、このブログ(以下のリンク)からダウンロードできます