改訂3版 これからはじめるプログラミング 基礎の基礎

[表紙]改訂3版 これからはじめるプログラミング 基礎の基礎

紙版発売
電子版発売

A5判/304ページ

定価2,618円(本体2,380円+税10%)

ISBN 978-4-297-10118-3

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

定評あるプログラミングの入門書『これからはじめるプログラミング 基礎の基礎』の改訂第3版です。この本で特に重要な物の例えを現在の読者にわかりやすく見直したほか、取り上げたプログラミング環境/言語のアップデートも行い、より理解しやすくなるよう配慮しました(読者が目指すべきゴール設定は旧版と同じです)。最初の版でも10刷を大きく超え、前回の改訂からもすでに10刷以上を数える定番書です。類書がまったく存在しない唯一無二の、真にプログラミング入門者のために書かれた「最初に読むべき入門書」と言えます。

こんな方におすすめ

  • プログラミング初心者,特に知識ゼロの入門者
  • 子どもにプログラミングを教えたい親御さんの入門用にも

目次

  • はじめに

第1部 プログラミングへの招待
第1章 コンピュータと仲良くなろう

1 コンピュータのある暮らし

  • 1.1 携帯できるコンピュータ
  • 1.2 姿を隠したコンピュータ
  • 1.3 家庭の中のコンピュータ
  • 1.4 街角にあるコンピュータ
  • 1.5 雲の上のコンピュータ
  • 1.6 コンピュータと仲良くなろう

2 プログラミングって何のこと?

  • 2.1 そもそもコンピュータとは?
  • 2.2 いろいろな種類のコンピュータ
  • 2.3 コンピュータとプログラム
  • 2.4 プログラムには何が書かれているのか?
  • 2.5 プログラムを書くコツ

3 心の準備

  • 3.1 新しいことに興味はありますか?
  • 3.2 細かなことは得意ですか?
  • 3.3 「もしも」のときの備えがありますか?
  • 3.4 負けず嫌いですか?
  • 3.5 「こだわり」はありますか?

第2章 コンピュータが動く仕組み

1 コンピュータ徹底解剖

  • 1.1 ハードウェアとソフトウェア
  • 1.2 パソコンを構成する装置たち
  • 1.3 パソコン本体を構成する部品たち
  • 1.4 パソコンが動く仕組み

2 コンピュータの仕事の流儀

  • 2.1 コンピュータにできること
  • 2.2 コンピュータの得意分野と苦手分野
  • 2.3 コンピュータが数を数える方法
  • 2.4 コンピュータが扱う大きさの単位
  • 2.5 コンピュータも計算を間違える

3 プログラム徹底解剖

  • 3.1 いろいろな種類のプログラム
  • 3.2 パソコンはプログラムを読めない?
  • 3.3 プログラミング言語の生い立ち
  • 3.4 プログラミング言語と機械語の溝を埋めるプログラム

4 プログラマーへの道

  • 4.1 まずは1つの言語をマスターする
  • 4.2 小さな目標をたくさん作る

第3章 日本語でプログラミング

1 プログラムができるまで

  • 1.1 プログラミングの7つのステップ
  • 1.2 テーマを決める
  • 1.3 あらすじを作る
  • 1.4 シナリオを書く
  • 1.5 プログラミング言語に翻訳する
  • 1.6 動かしてみる
  • 1.7 確認する
  • 1.8 バージョンアップ

2 あらすじとシナリオを書くためのヒント

  • 2.1 データの変化を考える
  • 2.2 処理の流れを考える

3 掃除は頼んだよ

  • 3.1 お掃除ロボットがやってきた
  • 3.2 マムの仕事内容を決める
  • 3.3 掃除の順番を決める
  • 3.4 マムのお掃除プログラム

4 プログラムの考え方を身につけるには

第2部 プログラミングの基礎知識
第4章 「1+1」のプログラム

1 値を入れる箱 ──変数

  • 1.1 変数とは?
  • 1.2 変数名の付け方
  • 1.3 変数を利用する方法

2 箱の大きさ ──データ型

  • 2.1 データ型とは?
  • 2.2 整数型/実数型
  • 2.3 文字型/文字列型
  • 2.4 論理型

3 箱の使い方 ──初期化

4 箱を満たす ──代入/代入演算子

  • 4.1 イコール(=)の役割
  • 4.2 「a=a+1」の意味

5 Q&A

  • Q1 変数って本当に必要なの?
  • Q2 変数を宣言しないとどうなるの?
  • Q3 データ型を間違えるとどうなるの?
  • Q4 初期化していない変数を計算に使うとどうなるの?
  • Q5 変数に次々に値を入れたらどうなるの?

第5章 計算間違いの正体

1 計算に使う記号 ──算術演算/算術演算子

2 塵も積もれば山となる ──計算誤差

  • 2.1 計算誤差が生じるワケ
  • 2.2 計算誤差を減らす工夫

3 式の書き方で答えが変わる ──優先順位

  • 3.1 1+2×3の答え
  • 3.2 算術演算子の優先順位
  • 3.3 計算の順番を変更する方法

4 原因は入れ物にあり? ──データ型

  • 4.1 オーバーフロー
  • 4.2 型変換

5 答えが見つからない割り算 ──ゼロ除算

6 Q&A

  • Q1 「( )」は1つしか使えないの?
  • Q2 1つの式に複数の「( )」があったらどうなるの?
  • Q3 「( )」の中に「( )」があったらどうなるの?
  • Q4 割り算の答えがおかしいんだけど……?
  • Q5 データ型が違う2つの値で計算するとどうなるの?

第6章 プログラムの流れを作る

1 流れ方は3種類 ──制御構造

  • 1.1 わかりにくいプログラム
  • 1.2 構造化プログラミング

2 「もしも」のときのプログラム ──条件判断構造

  • 2.1 もしも~なら
  • 2.2 もしも~なら……,それ以外なら
  • 2.3 「もしも」がたくさんあるとき
  • 2.4 条件判断構造を作るときに注意すること
  • 2.5 条件判断のネスト

3 同じことの繰り返し ──繰り返し構造

  • 3.1 回数を決めて繰り返す
  • 3.2 回数がわからないけれど繰り返す
  • 3.3 前判断と後判断の違い
  • 3.4 繰り返し構造を作るときに注意すること
  • 3.5 無限ループ
  • 3.6 繰り返しのネスト

4 流れを変えるきっかけ ──比較演算/比較演算子

  • 4.1 2つの値を比較する
  • 4.2 「以上」と「より大きい」の違い
  • 4.3 条件式を判断した結果
  • 4.4 きっかけを用意する

5 あれもこれもいっしょに比較 ──論理演算/論理演算子

  • 5.1 論理積
  • 5.2 論理和
  • 5.3 排他的論理和
  • 5.4 論理否定
  • 5.5 真理値表 160

6 Q&A

  • Q1 TrueとFalse ってどんな値?
  • Q2 条件判断構造を利用するときは,どこに注意すればいいの?
  • Q3 繰り返し処理をするときは,どこに注意すればいいの?
  • Q4 繰り返しを途中で止めることはできるの?
  • Q5 カウンタの初期値は「0」? それとも「1」?

第7章 データの入れ物

1 同じ種類の箱を並べて使う ──配列

  • 1.1 配列とは?
  • 1.2 配列に入れられるデータ
  • 1.3 配列を利用する方法
  • 1.4 それぞれの箱を識別する方法
  • 1.5 配列を使うと便利になること
  • 1.6 配列を使うときに注意すること

2 箱を縦横に並べて使う ──2次元配列

  • 2.1 配列の限界
  • 2.2 2次元配列とは?
  • 2.3 それぞれの箱を識別する方法
  • 2.4 2次元配列の扱い方

3 関連する情報をまとめて扱う ──構造体/レコード

  • 3.1 構造体とは?
  • 3.2 構造体のメンバーを参照する方法
  • 3.3 構造体を使うと便利になること
  • 3.4 構造体と配列の違い
  • 3.5 構造体を利用する方法

4 メモリの番地を利用する ──ポインタ/アドレス

  • 4.1 アドレスとは?
  • 4.2 ポインタの仕組み
  • 4.3 ポインタを利用する方法
  • 4.4 ポインタを使うと便利になること
  • 4.5 ポインタを使うときに注意すること

5 値に名前を付けて使う ──定数

  • 5.1 定数の使い方
  • 5.2 定数を使うと便利になること
  • 5.3 変数と定数の違い

6 大事なデータを入れる場所 ──ファイル

  • 6.1 ファイルの構造
  • 6.2 シーケンシャルアクセス
  • 6.3 ランダムアクセス
  • 6.4 ファイルを利用する方法

7 Q&A

  • Q1 変数と配列は,どのように使い分けるの?
  • Q2 用意した配列の要素数よりもデータ数が少ないとどうなるの?
  • Q3 用意した配列の要素数よりもデータ数が多いとどうなるの?
  • Q4 配列と構造体は,どのように使い分けるの?
  • Q5 ポインタを初期化せずに使うとどうなるの?

第8章 プログラムを部品化する

1 部品になったプログラム ──関数

  • 1.1 関数とは?
  • 1.2 関数徹底解剖
  • 1.3 関数を使うと便利になること
  • 1.4 プログラムの流れ
  • 1.5 関数の定義
  • 1.6 関数の呼び出し
  • 1.7 標準関数

2 情報の受け渡し ──引数

  • 2.1 引数とは?
  • 2.2 仮引数と実引数
  • 2.3 引数の受け渡しで注意すること
  • 2.4 引数の渡し方
  • 2.5 引数と変数の違い

3 結果の受け取り ──戻り値/リターン値

  • 3.1 戻り値とは?
  • 3.2 結果を受け取るときに注意すること

4 情報を共有する方法 ──ローカル変数/グローバル変数

  • 4.1 ローカル変数
  • 4.2 グローバル変数
  • 4.3 変数を使うときに注意すること

5 Q&A

  • Q1 どんなときに関数にするの?
  • Q2 引数の個数や順番を間違えるとどうなるの?
  • Q3 戻り値の受け取り方を間違えるとどうなるの?
  • Q4 引数や戻り値のない関数もあるの?
  • Q5 同じ名前の変数を使ってもいいの?

第9章 モノを基準に組み立てる

1 プログラムが動くきっかけ ──イベント

  • 1.1 イベントとは?
  • 1.2 イベントの種類
  • 1.3 イベント駆動型のプログラミング

2 モノを中心に部品を作る ──オブジェクト指向プログラミング

  • 2.1 オブジェクトとは?
  • 2.2 オブジェクト指向とは?
  • 2.3 オブジェクトとクラス
  • 2.4 プロパティとメソッド
  • 2.5 再び,クラスとは?

3 Q&A

  • Q1 イベントがないとプログラムは動かないの?
  • Q2 アラームとかリマインダーとか,何も操作していないのに通知がくるのはなぜ?
  • Q3 「プログラム」と「アプリケーション」はどう違うの?
  • Q4 オブジェクトとかクラスとか,なんだかよくわからないんだけど……
  • Q5 オブジェクトを中心に考えるって,どういうこと?

第3部 次のステージへ
第10章 何を作るか考えよう

1 アプリケーションの種類

  • 1.1 GUIアプリケーションとコンソールアプリケーション
  • 1.2 ネイティブアプリケーションとWebアプリケーション

2 アプリケーションの組み立て方

  • 2.1 コンソールアプリケーション
  • 2.2 GUIアプリケーション

3 Webのプログラム

  • 3.1 Webのプログラムが動く仕組み
  • 3.2 Webページの種類
  • 3.3 クライアント側でプログラムを動かす
  • 3.4 サーバー側でプログラムを動かす
  • 3.5 Webのプログラムを作る前に

第11章 道具を揃えよう

1 プログラミング言語の種類

  • 1.1 低水準言語
  • 1.2 高水準言語

2 いろいろなプログラミング言語

  • 2.1 教育用
  • 2.2 一般アプリケーション用
  • 2.3 モバイルアプリ用
  • 2.4 組み込みシステム用
  • 2.5 Webページ作成用
  • 2.6 Webアプリケーション用
  • 2.7 人工知能用
  • 2.8 その他

3 Cプログラミングに必要な道具

  • 3.1 プログラムの開発手順
  • 3.2 エディタ
  • 3.3 コンパイラ
  • 3.4 リンカ

第12章 一歩前へ踏み出そう

1 プログラムが思いどおりに動かないとき

  • 1.1 エラーの種類
  • 1.2 バグの見つけ方 ──日本語のプログラムを利用する
  • 1.3 バグの見つけ方 ──スピーカーやモニターを利用する
  • 1.4 エラートラップ

2 プログラマーの心得 五箇条

  • 2.1 「どうして?」を口癖にしよう
  • 2.2 紙と鉛筆を持ち歩こう
  • 2.3 ポイントをはっきりさせよう
  • 2.4 プログラムの先にいる人の顔を思い浮かべよう
  • 2.5 人の意見に耳を傾けよう