見出し画像

プログラミング学習記録【1日目】

プログラミングの勉強がしたいと思い、学習の記録を付けるためにnoteを利用することにした。
競技プログラミングを行いたいため、学習する言語はしばらくC++。
テキスト代わりにAtcoder Programming Guide for beginners(APG4b)を用いることに決定。

4章構成、各章15,6,6,5個のトピックがあるので無理のないペースで取り組もうと思う。
ここでは作ったコードと新しく学習したことを確認用として書いていこうと考えている。

講義でCとJavaの初歩、個人的な興味でPythonは触ったことがあるので、理想は2週間以内に終わらせたい。
コードはVisualStadioCodeでコンパイルチェックができるところまでは作ってコピペで提出。早速1章から。1.0.0は流石に割愛。

1.01.出力とコメント

#include <bits/stdc++.h>
using namespace std;

頭につけるいつもの奴。
上はC++の昨日を全部読み込むためのもの、下の行はプログラムを短く書くための機能、らしい。

 cout << "Hello, world!" << endl;

文字列の出力はcout(シーアウト)。<<で出力するイメージ。
endl; は調べたらバッファ内の出力とか改行&命令の終了、みたいなのが出てきた。

EX1-コードテストと出力の練習

こんにちは
AtCoder
って出力するプログラム。

    #include <bits/stdc++.h>
   using namespace std;
    
   int main() {
     cout << "こんにちは" << endl;
     cout << "AtCoder" << endl;
    
   }

でコンパイルするとなんと…

縺薙s縺ォ縺。縺ッ
AtCoder

あー、文字化け…
UTF-8での記述だったためひとまずターミナル内のPowerShellでchcp 65001を実行…もう一度プログラムをコンパイル&実行して

こんにちは
AtCoder

治ったー。
んで提出。

画像1

すごい。すぐ評価してくれた。次。

1.02.プログラムの書き方とエラー

エラーが出たときに考えうる対処法がたくさん書いてあった。

EX2-エラーの修正

いつも2525
AtCoderくん
と出力したいのに

   #include <bits/stdc++.h>
   using namespace std;
    
   int main() {
     cout << "いつも << 252 << endl;
     cout << "AtCoderくん" << endl
   }

と書いてしまったので修正せよとのこと。
見てみると全角スペースやらセミコロンのつけ忘れやら…
他の言語でもおなじみの頭を悩ませる奴らだったので早速。

#include <bits/stdc++.h>
using namespace std;
int main()
{
   cout << "いつも2525" << endl;
   cout << "AtCoderくん" << endl;
}

画像2

次。

1.03.四則演算と優先順位

親にしっかり学校に通わせてもらったので理解できました。

EX3-計算問題

1/2 × 100 × (100+1) をプログラムで書いて計算結果を導け、とのこと。

#include <bits/stdc++.h>
using namespace std;

int main()
{
   cout << 100 * (100 + 1) / 2 << endl;
}

実行結果は5050。あってそうなので提出。

画像3

やったー。次。

1.04.変数と型

変数の型は整数ならint、小数ならdouble、文字列ならstring。
数字で始まる名前、_以外の記号が使われてる名前、C++が予約済みの名前は使えない。

EX4.○年は何秒?

1年、2年、5年、10年はそれぞれ何秒かを一行ずつ表示するプログラム。
うるう年等は考慮しない。

    #include <bits/stdc++.h>
   using namespace std;
    
   int main() {
     // 一年の秒数
     int seconds = 365 * 24 * 60 * 60;
    
     cout << seconds << endl;
     cout << 2 * seconds << endl;
     cout << 5 * seconds << endl;
     cout << 10 * seconds << endl;
   }

実行結果

31536000
63072000
157680000
315360000

提出。

画像4

次。

1.05.実行順序と入力

プログラムは上から下に向かって実行していくよ、変数の代入とか気をつけようね。
入力は

cin >> x;

たくさん一気に代入するときは

cin >> a >> b >> c;

EX5.A足すB問題

入力によりAとBを与えられ、その和を出力するプログラム。A,Bは整数。
入力のときに複数データを入れるときは改行、スペースでデータを区切って代入してくれる。

#include <bits/stdc++.h>
using namespace std;
int main()
{
   int A, B;
   cin >> A >> B;
   cout << A + B << endl;
}

実行結果

199 321
520
1632
3212
4844

提出。

画像5

今日は以上で!

この記事が気に入ったらサポートをしてみませんか?