目次
- はじめに
第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 人の意見に耳を傾けよう