投稿

ラベル(初心者)が付いた投稿を表示しています

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

イメージ
2023/1/3(火) N88-BASIC、Cで初心者向けプログラミング (5回目)   温度の単位変換 [2 021/4/16(金)~4/18(日) の記事です]   N88-BASIC(VL,NL,XL-BASIC)とC言語で 温度゚CをK,゚Fに変換する簡単な プログラムを作ります   セルシウス度(摂氏)をC(゚C) ケルビン(絶対温度)をK( K) = C + 273.15 ファーレンハイト度 (華氏)をF(゚F) = (9/5)C + 32   行番号 命令(Enterキー) でプログラムが記憶されます 以下、(Enterキー)の記述を省略しますが 1行毎に入力して下さい   RUN  で、行番号の小さい順に実行されます LIST  で、プログラムが表示されます SAVE "ファイル名"  で、プログラムをファイル名.basファイルに保存できます LOAD "ファイル名"  で、プログラムを読込みます   行番号は後から間に入れられるように 10,20,30...または100,110,120... の様に10ずつ増やすと良いでしょう   10 INPUT C  で、? が表示され入力状態にできます 10 INPUT ,C  で、? を消すことが出来ます 10 INPUT "摂氏(゚C) = "; C  で文字表示も出来ます (;の代わりに,を使うと? が消えます)   四則演算(×÷+-)は、* / + - を使います   左辺 = 右辺 は、等しい事の定義ではなく 右辺の計算結果を左辺の変数に代入する と言う意味になります   K = C + 273.15 F = (9/5)C + 32 = C×9÷5+32 はBASICでは   20 K = C + 273.15 30 F = C * 9 / 5 + 32  (スペースは見やすくするためでなくても可)   40 PRINT C;  でCの値を表示できます  (;がないと改行されます) 40 PRINT C; "゚C"  でCの値と文字列゚Cを表示できます  (;と"の間のスペースは無くても同じです)   今回は  0 ゚C = 273.15 K = 32 ゚F と表示するため 40 PRINT C; "

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

イメージ
2022/2/6(日) N88-BASIC、Cで初心者向けプログラミング (4回目)   配列と文字列   BASICの配列 DIM A(10)で A(0)~A(10)の変数が作られます I = 5ならA(I)はA(5)になります DIMを省略してA(0)などを使用すると DIM A(10)とした時と同じになります DIM B(2, 1)は B(0, 0) B(1, 0) B(2, 0) B(0, 1) B(1, 1) B(2, 1) が作られます   BASICの文字列 "で囲まれた文字の列を文字列といい、 最後に$を付ければ文字変数になります A $ = "abc" B$ = A$ + "efg" PRINT B$ でabcdefと表示されます 文字列の長さは0~255文字までです   C言語の配列 int a[10];で a[0]~a[9]の変数が作られます i = 5ならa[i]はa[5]になります int b[3][2]は b[0][0] b[0][1] b[1][0] b[1][1] b[2][0] b[2][1] が作られます   C言語の文字列 char b;でbは文字変数になります b = 'a';文字は'で囲みます char a[10];で9文字の文字列に なります char d[] = "abc"; は、宣言時のみ代入可能で、 a = "abc"などはエラーになります char d[4]; d[0] = 'a'; d[1] = 'b'; d[2] = 'c'; d[3] = '\0'; と同じです  '\0'は文字コード0で、文字列の 最後を意味します 255より多い文字数も可能です   何月かを入力し英語を表示する 月以外の数値の入力で終了する   BASICでは、 100 DIM M$(11) 110 M$(0) = "January": M$( 1) = "February": M$( 2) = "March" 120 M$(3) = "April"  : M$(

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以外

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の内容が表示されま

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

イメージ
2022/1/31(月) N88-BASIC、Cで初心者向けプログラミング (1回目)   式で、 a = 5 b = 3 c = a + b と書けば c は 8 です   BASICだと、 10 A = 5 20 B = 3 30 C = A + B   となり、C言語だと、 void main(void) {     int a, b, c;       a = 5;     b = 3;     c = a + b; } となります   BASICは、BASICを起動した画面で、1行打つごとに enterキーを押すと記憶してくれます (BASICはenterで反応するようになっています)   LIST(enterを忘れないように、以下省略) でプログラムを見ることができます 小文字は大文字に変換されます RUN でプログラムが走ります ? C で、8が表示されます ?はPRINTと同じです 40 PRINT C を追加すれば8を表示できます SAVE "test" でtest.basに保存できます LOAD "test" で読み込めます     C言語では、1番初めに呼ばれるのが、 関数mainで、{}の中に命令を書きます 3行目のint a, b, c;は変数の宣言で 整数型変数a,b,cを作ります   変数には型があり                    C言語      BASIC 整数型             int    a;  A% 単精度浮動小数点型 float  a;  A! , A 倍精度浮動小数点型 double a;  A# となります ここでは、詳しく説明しませんが 整数型は整数のみ、 単精度は桁が少ない実数(7桁位) 倍精度は桁が多い実数(16桁位) です   命令の最後は;が必要です 上記main関数のvoidは空という 意味で、void mainは戻り値が無い関数、 main(void)は引数がない関数です 引数は数学の関数f(x)のパラメータxに 当たるもので、戻り値はf(x)の値です   このプログラムをtest.cというファイルに 保存してCコンパイラーでコンパイルし、 リンクするとtest.exeが作られ、これを実行 (ダブルクリック)すると、表示していないので 見ることはでき