これからはじめる「情報」の基礎
<プログラミングとアルゴリズム>

[表紙]これからはじめる「情報」の基礎 <プログラミングとアルゴリズム>

紙版発売
電子版発売

B5変形判/240ページ

定価2,640円(本体2,400円+税10%)

ISBN 978-4-297-13645-1

電子版

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

書籍の概要

この本の概要

高校でも正規授業として必修化され,社会人にとっても一般教養になったと言えるような状況が生まれている「情報とプログラミング」に焦点を当てた入門書の決定版として本書をお贈りします。もちろん内容的には,高校生にとどまらず社会人のプログラミング入門にも十分に応え得るものです。何らかの言語の入門ではなくプログラミングの「考え方の入門」であることから,まったく何の知識もない方にも抵抗なく入っていただけます。まずは本書を読んで,プログラミングとはどういうものか,どういう考え方をすればよいのかを理解したうえで,Pythonなど具体的な言語の入門書を手に取るなりして次のステップに進んでいただくのが,遠回りなようで実は最も効率的な学習方法なのです。前提知識は必要ありません。今後社会で活躍する人に必ず求められるはずの基礎知識(=プログラミング)を獲得するための第一歩として,本書をご活用ください。

こんな方におすすめ

  • これからプログラミングを勉強する(または,しなければならない)方
  • 情報科目でプログラミングに触れた高校生
  • 社会人や大学生を含むプログラミング入門者

この書籍に関連する記事があります!

著者の一言

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

サンプル画像5

目次

第1章 情報とコンピュータ

1 「情報を処理する」ってどういうこと?

2 情報×コンピュータ=快適な暮らし

  • 2.1 リモコンが情報を処理する?
  • 2.2 姿の見えないコンピュータ
  • 2.3 苦手なことはロボットにおまかせ
  • 2.4 コンピュータが知能を持った?
  • 2.5 つながることで広がる世界

第2章 コンピュータのしくみ

1 コンピュータが情報を処理する方法

  • 1.1 コンピュータが数を数える方法
    • 豆知識 10進法と2進法,16進法
  • 1.2 文字の表し方
    • COLUMN 文字コードの種類
  • 1.3 画像の扱い方
    • COLUMN 写真の質を決める要素
  • 1.4 色の表現方法
    • 豆知識 コンピュータが使う大きさの単位
  • 1.5 音の扱い方
    • COLUMN 見えないものを数値にする方法
  • 1.6 アナログ情報とデジタル情報

2 コンピュータってどんな機械?

  • 2.1 コンピュータの構成要素
    • COLUMN コンピュータの五大装置
  • 2.2 プログラムとは?
    • COLUMN アプリとプログラム
  • 2.3 コンピュータが動くしくみ

3 プログラミングのすすめ

  • 3.1 プログラミングって何をすること?
  • 3.2 プログラムには何が書いてあるの?
  • 3.3 プログラミング言語って何?
    • COLUMN プログラミング言語から0と1のプログラムへ
  • 3.4 プログラミングを勉強して何かイイことがあるの?
  • 3.5 もうすぐAIがプログラムを作る時代がくるんでしょう?
  • 3.6 ところでプログラミング的思考って何?

第3章 プログラムを書こう!

1 コンピュータへの命令のしかた

  • 1.1 コンピュータの性格(その1) ── いわれたことしかできない
  • 1.2 コンピュータの性格(その2) ── 曖昧な表現は理解できない
  • 1.3 コンピュータの性格(その3) ── 長文読解は苦手
  • 1.4 コンピュータの性格(その4) ── すぐに忘れる

2 日本語の指示書の役割

3 日本語の指示書を作ろう(その1)── ロボボのお使いプログラム

  • 3.1 我が家にロボットがやってきた!
  • 3.2 仕事の内容を決める
  • 3.3 最適な順番を考える
  • 3.4 ロボボのお使いプログラム
  • 3.5 指示書を確認する

4 日本語の指示書を作ろう(その2)── 秘密の暗号プログラム

  • 4.1 プログラムのゴールを決める
  • 4.2 内容を考える
    • 豆知識 フローチャート
  • 4.3 秘密の暗号プログラム

5 これからのこと

6 ところで「アルゴリズム」って何?

第4章 データの入れ物

1 値を入れる箱 ── 変数

  • 1.1 変数とは?
  • 1.2 変数名の付け方
    • 豆知識 定数とは?

2 箱の使い方

  • 2.1 箱を用意する ── 変数の宣言
  • 2.2 箱の中を掃除する ── 初期化
  • 2.3 箱に値を入れる ── 代入
    • COLUMN 日本語の指示書はどうする?

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

  • 3.1 データ型とは?
  • 3.2 変数の宣言の役割
    • COLUMN 変数の宣言方法
  • 3.3 数値を入れる箱 ── 整数型/実数型
    • 豆知識 浮動小数点数
  • 3.4 箱に入れられる数値の範囲
    • 豆知識 正の数と負の数
  • 3.5 文字の集まりを入れる箱 ── 文字列型
    • COLUMN 文字を並べた文字列
  • 3.6 「はい」か「いいえ」を入れる箱 ── 論理型

第5章 コンピュータの演算

1 変数に値を入れる ── 代入

  • 1.1 代入のしかた ── 代入演算子
  • 1.2 変数に値を入れるときに注意すること

2 コンピュータを使って計算する ── 算術演算

  • 2.1 計算に使う記号 ── 算術演算子
  • 2.2 a=a+1の意味
  • 2.3 計算の順番
    • COLUMN 計算式を読みやすくするための()
  • 2.4 コンピュータの計算間違い?
  • 2.5 コンピュータにもできない計算

3 コンピュータを使った計算の宿命

  • 3.1 誤差が生じる理由
  • 3.2 誤差を減らす工夫
    • COLUMN 誤差の種類

4 2つの値を比較する ── 比較演算

  • 4.1 値を比較する方法 ── 比較演算子
    • COLUMN 誤差はどこまで許せる?
    • COLUMN 文字列の比較
  • 4.2 値を比較した結果
  • 4.3 実数を比較するときに注意すること
  • 4.4 値の比較を使う場面

5 TrueとFalseを使った演算 ── 論理演算

  • 5.1 身近にある論理演算
  • 5.2 論理演算とは?
  • 5.3 論理積 ── AとBの両方に該当する
  • 5.4 論理和 ── AまたはBのどちらかに該当する
    • 豆知識 TrueとFalseが3つ以上あるとき
  • 5.5 論理否定と排他的論理和
    • 豆知識 論理演算とインターネット検索

6 演算子の優先順位

第6章 命令を実行する順番

1 プログラムの流れは3通り ── 制御構造

2 分かれ道を作る ── 条件判断構造

  • 2.1 条件とは?
  • 2.2 もしも〜ならば
  • 2.3 もしも〜ならば……,それ以外なら
    • COLUMN 「ロボボのお使いプログラム」 ── 条件判断構造
  • 2.4 「もしも」がたくさんあるとき
  • 2.5 「もしも」の処理を作るときに注意すること
  • 2.6 条件判断構造のネスト
    • COLUMN 条件判断構造のネストと論理演算
  • 2.7 分かれ道を作る「きっかけ」を用意する

3 同じ道を何度も通る ── 繰り返し構造

  • 3.1 回数を指定して繰り返す
  • 3.2 カウンタの初期値と最後の値
  • 3.3 回数を決めずに繰り返す
    • 豆知識 カウンタの増分
  • 3.4 繰り返しを判断するタイミング ── 前判断と後判断
  • 3.5 繰り返しを途中でやめる
  • 3.6 繰り返し構造を利用するときに注意すること ── 無限ループ
    • COLUMN 「ロボボのお使いプログラム」 ── 繰り返し構造
  • 3.7 繰り返し構造のネスト

4 改訂版:ロボボのお使いプログラム

第7章 データをまとめて入れる箱

1 同じ種類のデータを並べて入れる ── 配列

  • 1.1 配列とは?
  • 1.2 配列の使い方 ── 配列の宣言と参照方法
  • 1.3 配列を使うと便利になること
  • 1.4 配列を使うときに注意すること
  • 1.5 配列に入れられるデータ
  • 1.6 文字列型の変数と配列
    • 豆知識 配列とよく似た入れ物
    • COLUMN 秘密の暗号プログラム ── 複数の文字を暗号に変換する

2 縦横に並べた箱にデータをまとめて入れる ── 二次元配列

  • 2.1 二次元配列とは?
  • 2.2 二次元配列の使い方
  • 2.3 二次元配列と繰り返し構造
  • 2.4 二次元配列と表計算

3 関連するデータをまとめて入れる ── 構造体

  • 3.1 構造体とは?
  • 3.2 構造体を使うと便利になること
  • 3.3 構造体の使い方
    • COLUMN 構造体を配列にすると……

4 大事なデータを保存する ── ファイル

  • 4.1 ファイルとは?
  • 4.2 ファイルの構造
    • 豆知識 ファイルの拡張子
  • 4.3 テキストファイルの扱い方
  • 4.4 バイナリファイルの扱い方
  • 4.5 ファイルを利用する方法

第8章 プログラムの部品を作る

1 プログラムを入れる箱 ── 関数

  • 1.1 ロボボが「歩く」しくみ
  • 1.2 関数とは?
    • 豆知識 ロボボの「歩く」関数には引数も戻り値もない?
  • 1.3 関数を使うと便利になること
  • 1.4 標準関数とユーザー定義関数
  • 1.5 命令の実行順序

2 関数を定義する

  • 2.1 関数を作るときに決めること
  • 2.2 関数を作ろう(その1) ── 指定の歩幅で歩く
  • 2.3 関数を作ろう(その2) ── 暗号に変換する

3 関数を利用する

  • 3.1 関数の使い方
  • 3.2 値を渡すときに注意すること
  • 3.3 値渡しと参照渡し

4 プログラムで使う「箱」を整理しよう

  • 4.1 「箱」の種類
    • COLUMN プログラムを保存したファイルの呼び方
  • 4.2 「プログラムの箱」の中だけで使える変数 ── ローカル変数
  • 4.3 プログラム全体で使える変数 ── グローバル変数
    • COLUMN プログラムを書く順番
  • 4.4 変数を使うときに注意すること

5 改訂2版:ロボボのお使いプログラム

第9章 日本語からプログラミング言語へ

1 プログラミング言語の選び方

  • 1.1 プログラムが動く楽しさを体験したい
  • 1.2 プログラミングを勉強したい
  • 1.3 スマートフォンのアプリを作りたい

2 これからの勉強のしかた

  • 2.1 ひとつの言語をしっかりマスターする
  • 2.2 日本語の指示書から始めてみる
  • 2.3 命令の調べ方

第10章 情報を整理する力

1 間違いはどこにある?

2 AIが出した答えは本当に正しい?

3 コンピュータにできること,人間がすべきこと

4 おわりに

著者プロフィール

谷尻かおり(たにじりかおり)

データベースから画像認識・画像処理,機械学習まで手掛ける現役のプログラマー。それぞれの分野に関する入門的解説書から数学やプログラミングの入門書まで数多くの書籍や雑誌記事の執筆も手掛けてきており,誰にとってもわかりやすい,その優しい語り口には定評がある。