N88-BASIC、Cで初心者向けプログラミング (3回目)

2022/2/5(土)
N88-BASIC、Cで初心者向けプログラミング (3回目)
 
制御命令(条件による分岐)
 
平成の年を入力し平成又は令和を表示する
 
BASICでは、
10 INPUT "平成"; Y
20 WHILE Y > 0
30   IF Y > 30 THEN PRINT "令和";: Y = Y - 30 ELSE PRINT "平成";
40   IF Y =  1 THEN PRINT " 元 年" ELSE PRINT Y; "年"
50   PRINT
60   INPUT "平成"; Y
70 WEND
 
C言語では、
#include <stdio.h>
void main(void)
{
    int y;
 
    printf("平成? ");
    scanf("%d", &y);
    while (y > 0)
    {
        if (y > 30) { printf("令和"); y -= 30; } else printf("平成");
        if (y == 1)
        {
            printf(" 元 年\n");
        }
        else
        {
            printf(" %d 年\n", y);
        }
        printf("\n");
        printf("平成? ");
        scanf("%d", &y);
    }
}
 
BASICの説明
IF Y > 30 THEN PRINT "令和";: Y = Y - 30 ELSE PRINT "平成";
IF 条件式 THEN .. ELSE .. は1つの行に
書かなければいけません
条件式は0が偽、0以外が真で、真ならTHEN以降を
偽ならELSE以降を実行します
31 > 30は-1(真)、30 > 30は0(偽)になります
..の部分に複数の命令を書くときは:で区切ります
PRINT "令和"; の;は改行しないという意味です
 
C言語の説明
If (条件式) { ... } else { ... }
条件式は0が偽、0以外が真です
{}内の命令が1つり時は{}を省略
できますまた、複数行に分けて
書くことができます
31 > 30は1(真)、30 > 30は0(偽)になります
scanfがエラーならscanf_sにして下さい
 
実行すると31は令和 元 年とでます
0を入力すると終了します
 
条件式のいろいろ
BASIC
1≦x≦9は、1 <= X AND X <= 9
x<1,x>9は、X < 1 OR X > 9
x ≠ 5は、X <> 5またはNOT X = 5
 
C言語
1≦x≦9は、1 <= x && x <= 9
x<1,x>9は、x < 1 || x > 9
x ≠ 5は、x != 5または!(x == 5)
 
演算子の優先順位によって()が必要
になります優先順位が分からない
ときぱ、無駄でも()を付けた方が
分かりやすいと思います

NOT (X = 5)など、
NOTと(の間は空白が必要です
(実機では違うかもしれません)
AND ORの前後にも空白が必要です
 
NL-BASICとblg~.zip(prog003.bas、prog003.c)
は、このブログ(以下のリンク)からダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい












 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)