4 つの言語で解ける 実践プログラミング問題集

ヨッツノゲンゴデトケルジッセンプログラミングモンダイシュウ

C、C++、Java、Python

4 つの言語で解ける 実践プログラミング問題集の表紙
インターネット / WEB デザイン
著者:
渡部有隆 / 西舘陽平 / 鈴木大郎 / 奥山祐市(ワタノベユタカ / ニシダテヨウヘイ / スズキタロウ / オクヤマ ユウイチ)
出版社:
近代科学社
出版日:
2021年03月01日頃
ISBN:
9784764906280
在庫:
在庫あり
0

なぜ注目されているか

インターネット / WEB デザイン
5位
総合73位 ↓ 6 ランクダウン 言及 4 件
言及数
549位

書籍紹介

1.問題解決と反復演習で楽しく学べる
2.基本文法と基礎的なアルゴリズムが、よく解る

3.4 つの言語で、比較しながら理解できる

本書は、C、 C++、 Java、 Python の 4 つのプログラミング言語それぞれで、「問題解決」をとおして、プログラミング言語の基本文法と基礎的なアルゴリズムを学ぶ。従来の「文法を確認するための単純な問題」を解いていくスタイルとは異なり、プログラミングコンテストで出題された「考えて解く」問題をとおして、思考を要する実践的なプログラミングスキルを養う。構文などを学んだが、実際のプログラムが書けずに悩んでいる読者には最適の書である。

本書は、C、 C++、 Java、 Python の 4 つのプログラミング言語それぞれで、「問題解決」をとおして、プログラミング言語の基本文法と基礎的なアルゴリズムを学ぶ。従来の「文法を確認するための単純な問題」を解いていくスタイルとは異なり、プログラミングコンテストで出題された「考えて解く」問題をとおして、思考を要する実践的なプログラミングスキルを養う。構文などを学んだが、実際のプログラムが書けずに悩んでいる読者には最適の書である。

第 1 部 準備

第 1 章 本書でプログラミングを学習するための準備

第 2 章 オンラインジャッジ

第 2 部 プログラミング入門

第 3 章 基本要素

第 4 章 条件分岐

第 5 章 繰返し処理

第 6 章 配列

第 7 章 文字列

第 8 章 関数

第 3 部 アルゴリズム入門

第 9 章 計算量

第 10 章 ソート

第 11 章 探索

第 12 章 整数

第 4 部 発想問題

第 13 章 発想問題

演習問題解答例

技書の森解説

『4 つの言語で解ける 実践プログラミング問題集』 (渡部 有隆、西舘 陽平、鈴木 大郎、奥山 祐市 著、近代科学社、2021 年 3 月刊) は、C、C++、Java、Python の 4 つのプログラミング言語それぞれで問題を解きながら、基本文法と基礎的なアルゴリズムを身につける問題集です。版元の紹介文は、文法を確認するための単純な問題を解いていく従来のスタイルとは異なり、プログラミングコンテストで出題された「考えて解く」問題を通じて実践的なスキルを養う本だと説明し、構文は学んだものの実際のプログラムが書けずに悩んでいる読者を想定しています。著者 4 名は、版元の著者紹介でいずれも会津大学の教員として紹介されています。

4 部 13 章の構成、オンラインジャッジから発想問題まで

第 1 部「準備」は、本書で学習するための準備と、オンラインジャッジのユーザー登録、問題の検索と閲覧、解答コードの提出を扱う 2 章です。第 2 部「プログラミング入門」は基本要素、条件分岐、繰返し処理、配列、文字列、関数の 6 章で、節の多くに問題の名前が付いており、その問題を解くのに必要な文法事項を節の中で学ぶ形をとっています。第 3 部「アルゴリズム入門」は計算量、ソート、探索、整数の 4 章で、O 記法による計算量の見積もりから、選択ソート、バブルソート、マージソート、全探索と線形探索と二分探索、ユークリッドの互除法やビット全探索、多倍長整数までを扱います。第 4 部「発想問題」は 8 つの問題とその解説で構成され、各章末の演習問題には巻末に解答例が付きます。版元の読者サポートには初版第 1 刷の正誤表が公開されています。

問題を先に置く学び方と、4 言語を並べる効き目

文法書を読み終えても自力でプログラムが書けない原因の多くは、構文の知識と「入力をどう受け取り、どんな手順で答えを出すか」という組み立ての力が別物である点にあります。問題から入り、必要な文法をその場で学ぶ順序にすると、知識が使う場面と結びついた状態で残ります。オンラインジャッジに解答を提出すれば、正しさだけでなく制限時間内に終わるかどうかも機械的に判定されるため、計算量 の見積もりが机上の話ではなく、提出が通るかどうかを分ける実感として身につきます。4 言語で同じ問題を扱う構成は、言語ごとの違いが表に出る点で効きます。たとえば多倍長整数は、Python では標準の整数型がそのまま大きな桁を扱えるのに対し、C や C++ では型の表現範囲を意識して自分で工夫する必要があり、Java では専用のクラスを使います。標準ライブラリを用いたソートや探索も言語ごとに書き方が異なるため、並べて比べることで、アルゴリズムそのものと言語の書き方を切り分けて理解しやすくなります。

競技プログラミングの入口としての位置づけと、向かない読者

扱うアルゴリズムの範囲は、章題と節題で見る限りソート、探索、整数の基礎までで、グラフや動的計画法といった分野は目次に現れません。競技プログラミング で上位を目指すための体系的なアルゴリズムの学習には、本書を終えたあとに別の本を重ねる必要があり、その選び方は アルゴリズム本の選び方 が参考になります。また題材はコンテスト形式の問題なので、Web アプリケーションや業務システムの作り方を学びたい人には目的が合いません。

一方で、授業や入門書で文法を一通り学んだのに、白紙のエディターを前にすると手が止まってしまう学生や新人エンジニア、あるいは複数の言語を扱う必要があって 1 つの問題を言語ごとにどう書くのかを比べたい人にとって、本書は投じた時間に見合う問題集です。第 2 部の問題を自分の得意な言語で解き、オンラインジャッジで正解を確かめてから別の言語でも書き直していけば、手順を組み立てる力と言語ごとの書き方の両方が着実に積み上がります。

言及した記事 (4 件)

この本に興味がある方におすすめ

関連する本

渡部有隆 の他の書籍

関連記事

関連用語

共有: