代表的なプログラミング言語の学習事項

代表的なプログラミング言語の学習事項

プログラミング言語を学ぼうとすると、どの言語でも最初に「変数」「配列(リスト)」「文字列」「演算子」「条件分岐」「ループ」「関数(メソッド)」などの概念が出てきます。

この7つを覚えれば、それなりにプログラムが書けるようになります。複雑な画像処理などは無理ですが、例えば「オセロ」や「五目並べ」などの簡単なゲームであれば、これらの概念を習得した後に四苦八苦すれば、なんとか書けるようになるでしょう。

プログラミング言語を学ぶ際は、こうした独特の概念を理解することと、標準ライブラリと呼ばれるプログラミング言語にセットで付いてくる、様々な便利機能の使い方を覚えることから始まります。勘の良い人であれば、1ヶ月かからずにオセロを作ることもできるようになるでしょう。

「変数」や「配列」などはプログラミング以外の分野ではあまり出てこない概念なので、理解するまでに苦労することもあるかも知れません。1つずつ、焦らずに理解していきましょう。

今回はプログラムの初歩を体感してもらうために、こうした概念の中から「変数」と「条件分岐」を紹介します。

ちなみにプログラムを学ぶ上でオセロというのはなかなかに良い題材です。ルールがそれほど複雑ではなく、人間同士で打つプログラムを作る分には簡単。しかし人間対コンピュータで対戦できるようなプログラムを作ろうとすると、どこに石を置くかをコンピュータに考えさせる処理を書く必要が出てきて、なかなかに難しくなります。オセロや麻雀、トランプなどのゲームの制作にのめり込むと、初歩的な内容から上級問題まで、様々な命題と出会えて勉強になります。

変数について

プログラムは基本的に、情報をメモリに入れて、何らかの処理を加えて、出力する、という流れで処理を行うことが多いです。この時、情報を一時的に入れておく場所が「変数」です。

下記は変数を使って

  1. 「x」という変数に「3」という数値を入れる
  2. 「y」という数値に「6」という数値を入れる
  3. 「x」と「y」を足しあわせた値を画面に出力する(9と出力される)

という処理を行っています。

<script type="text/javascript">
  var x = 3;
  var y = 6;
  document.write(x + y);
</script>

上の記述を見ていると、なんとなく中学生の頃に勉強した連立方程式を思い出しませんか? xは3である。yは6である。x + yは9である。初歩のプログラムは、このように少し中学数学チックな記述になることが多いです。内容的にも、高度なプログラムを書こうと思わない限り、中学1年生の数学以上の知識を求められることはほとんどありません。

図4: 変数を使って3 + 6を行う

これだけの例だと分かりづらいと思うので、今度はユーザーが入力した情報を変数に保存するという処理を書いてみます。

下記は

  1. 「a」という変数には「あなたの名前は」という文字を入れておく
  2. 「b」という変数にユーザーが入力した文字を格納する
  3. 最後に2つの文字列をつなげて表示する

という処理を行っています。

<script type="text/javascript">
  var a = "あなたの名前は";
  var b = prompot("名前を入力してください", "")
  document.write(x + y);
</script>

このソースを実行すると、最初に「名前を入力してください」という画面が出てきます。そこに名前を入力すると「あなたの名前は○○」という内容が画面に表示されます。

図5:変数を使ってユーザーが入力した文字を扱う

このように変数は、ユーザーが入力した文字や、ファイルなどから読み込んだ文字などを受け取る際にも利用できます。

複雑なプログラムは、たくさんの変数に、様々な値を保持し、そこに様々な処理を加えて、目的の結果を得る、ということをやっています。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30