Processingなら簡単! はじめてのプログラミング『超』入門
書籍情報
発売日 : 2021/03/12
著者/編集 : 宮田 章裕
出版社 : 科学情報出版
発行形態 : 単行本
ページ数 : 253p
書籍説明
内容紹介
本書について
プログラムという言葉を聞いたことがあるでしょう。プログラムとは、コンピュータを意図どおりに動かすための命令のことです。現在の社会は、非常に多くのものがプログラムによって動いています。たとえば、駅や牛丼屋の券売機について考えてみましょう。券売機は、ユーザからの入金を確認すると選択肢を表示し、ユーザが選択肢の1 つを選ぶと発券を行います。 このような、目標を達成するための手続き( これをアルゴリズムと呼びます) を記述したものがプログラムです。 本書は、このようなプログラムを「使う側」から、「作る側」になるための入門書です。プログラムを作る行為のことを、プログラミングといいます。プログラミングとは、より具体的には、プログラミング言語を用いてコードを書くことです。プログラミング言語とは、プログラムを作成するための人工言語です。 本書では、Java に基づいて作られたProcessing というプログラミング言語を用いてプログラミングの基礎を学びます。Processing は無料で利用できるオープンソースの言語です。容易に描画やインタラクティブアニメーションを実現できるのが特徴です1。同時に、より複雑なプログラミング言語であるJava やC 言語と似た文法で、簡単にプログラムが書けるため、プログラミング初心者の勉強用途にも適しています。
対象読者
本書の対象読者は、初めてプログラミングを学修する方々です。典型的には、理工系学部・ 学科の大学1 年生を想定しています。一方で、数年程度のプログラミング経験があり、かつ、Processing を使いこなすための技術を修得したい方には本書は適していません。本書はあくまで、Processing をいうプログラミング言語を用いて、プログラミングの基礎を身につけたい方に向けて書いています。
動作環境
Processing はmacOS、Windows、Linux で動作します。より詳細な動作環境は公式ドキュメント2 を参照してください。現在、Processing の最新安定バージョンは3.5.4 です。本書で紹介するコードは、上記のどのOS でも、バージョン3 以降のProcessing なら問題無く動作するはずです。 本書の構成 本書は2 部構成となっています。第1 部では、初めてプログラミングを経験する方々を想定し、プログラミングの概念、計算と描画、変数、条件分岐、繰り返し、配列などのプログラミングの基礎項目を扱います。第2 部では、上記の内容をふまえた上で、より効率的に複雑な問題を解くために必須である、関数について扱います。
プログラムという言葉を聞いたことがあるでしょう。プログラムとは、コンピュータを意図どおりに動かすための命令のことです。現在の社会は、非常に多くのものがプログラムによって動いています。たとえば、駅や牛丼屋の券売機について考えてみましょう。券売機は、ユーザからの入金を確認すると選択肢を表示し、ユーザが選択肢の1 つを選ぶと発券を行います。 このような、目標を達成するための手続き( これをアルゴリズムと呼びます) を記述したものがプログラムです。 本書は、このようなプログラムを「使う側」から、「作る側」になるための入門書です。プログラムを作る行為のことを、プログラミングといいます。プログラミングとは、より具体的には、プログラミング言語を用いてコードを書くことです。プログラミング言語とは、プログラムを作成するための人工言語です。 本書では、Java に基づいて作られたProcessing というプログラミング言語を用いてプログラミングの基礎を学びます。Processing は無料で利用できるオープンソースの言語です。容易に描画やインタラクティブアニメーションを実現できるのが特徴です1。同時に、より複雑なプログラミング言語であるJava やC 言語と似た文法で、簡単にプログラムが書けるため、プログラミング初心者の勉強用途にも適しています。
対象読者
本書の対象読者は、初めてプログラミングを学修する方々です。典型的には、理工系学部・ 学科の大学1 年生を想定しています。一方で、数年程度のプログラミング経験があり、かつ、Processing を使いこなすための技術を修得したい方には本書は適していません。本書はあくまで、Processing をいうプログラミング言語を用いて、プログラミングの基礎を身につけたい方に向けて書いています。
動作環境
Processing はmacOS、Windows、Linux で動作します。より詳細な動作環境は公式ドキュメント2 を参照してください。現在、Processing の最新安定バージョンは3.5.4 です。本書で紹介するコードは、上記のどのOS でも、バージョン3 以降のProcessing なら問題無く動作するはずです。 本書の構成 本書は2 部構成となっています。第1 部では、初めてプログラミングを経験する方々を想定し、プログラミングの概念、計算と描画、変数、条件分岐、繰り返し、配列などのプログラミングの基礎項目を扱います。第2 部では、上記の内容をふまえた上で、より効率的に複雑な問題を解くために必須である、関数について扱います。
目次
第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 本章のまとめ
2.6 演習問題
3 変数
3.1 本章の概要
3.2 変数の必要性
3.3 変数とは
3.4 型変換
3.5 本章のまとめ
3.6 演習問題
4 描画
4.1 本章の概要
4.2 Window
4.3 単純な図形の描画
4.4 変数を用いた描画
4.5 本章のまとめ
4.6 演習問題
5 条件分岐
5.1 本章の概要
5.2 真偽値と比較演算子
5.3 if文
5.4 else文
5.5 else if文
5.6 論理演算子
5.7 入れ子構造のif文
5.8 本章のまとめ
5.9 演習問題
6 繰り返し
6.1 本章の概要
6.2 高度な代入演算子
6.3 インクリメント/デクリメント演算子
6.4 while文
6.5 for文
6.6 while文とfor文の比較
6.7 本章のまとめ
6.8 演習問題
7 配列
7.1 本章の概要
7.2 配列変数の宣言・代入・参照
7.3 配列の走査
7.4 配列の基本的な利用例
7.5 配列の応用的な利用例
7.6 本章のまとめ
7.7 演習問題
8 アニメーション
8.1 本章の概要
8.2 アニメーションの原理
8.3 単純なアニメーション
8.4 インタラクティブアニメーション
8.5 本章のまとめ
8.6 演習問題
第2部:関数を用いるプログラミング
9 関数入門
9.1 本章の概要
9.2 関数の基礎知識
9.3 引数・返り値がない関数
9.4 引数があり、返り値がない関数
9.5 返り値がある関数
9.6 変数のスコープ
9.7 複数の関数の利用
9.8 関数設計のガイドライン
9.9 本章のまとめ
9.10 演習問題
10 関数による処理の再利用
10.1 本章の概要
10.2 重複処理の関数化
10.3 汎用処理の関数化
10.4 本章のまとめ
10.5 演習問題
11 関数による処理の抽象化
11.1 本章の概要
11.2 複雑な処理の関数化
11.3 本質的でない処理の関数化
11.4 本章のまとめ
11.5 演習問題
12 再帰関数
12.1 本章の概要
12.2 再帰関数の概念
12.3 返り値がない再帰関数
12.4 返り値がある再帰関数
12.5 本章のまとめ
12.6 演習問題
1 プログラミング入門
1.1 本章の概要
1.2 はじめてのプログラミング
1.3 バグ
1.4 コメント
1.5 本章のまとめ
1.6 演習問題
2 計算
2.1 本章の概要
2.2 基本的な計算
2.3 演算子の優先順位
2.4 高度な計算
2.5 本章のまとめ
2.6 演習問題
3 変数
3.1 本章の概要
3.2 変数の必要性
3.3 変数とは
3.4 型変換
3.5 本章のまとめ
3.6 演習問題
4 描画
4.1 本章の概要
4.2 Window
4.3 単純な図形の描画
4.4 変数を用いた描画
4.5 本章のまとめ
4.6 演習問題
5 条件分岐
5.1 本章の概要
5.2 真偽値と比較演算子
5.3 if文
5.4 else文
5.5 else if文
5.6 論理演算子
5.7 入れ子構造のif文
5.8 本章のまとめ
5.9 演習問題
6 繰り返し
6.1 本章の概要
6.2 高度な代入演算子
6.3 インクリメント/デクリメント演算子
6.4 while文
6.5 for文
6.6 while文とfor文の比較
6.7 本章のまとめ
6.8 演習問題
7 配列
7.1 本章の概要
7.2 配列変数の宣言・代入・参照
7.3 配列の走査
7.4 配列の基本的な利用例
7.5 配列の応用的な利用例
7.6 本章のまとめ
7.7 演習問題
8 アニメーション
8.1 本章の概要
8.2 アニメーションの原理
8.3 単純なアニメーション
8.4 インタラクティブアニメーション
8.5 本章のまとめ
8.6 演習問題
第2部:関数を用いるプログラミング
9 関数入門
9.1 本章の概要
9.2 関数の基礎知識
9.3 引数・返り値がない関数
9.4 引数があり、返り値がない関数
9.5 返り値がある関数
9.6 変数のスコープ
9.7 複数の関数の利用
9.8 関数設計のガイドライン
9.9 本章のまとめ
9.10 演習問題
10 関数による処理の再利用
10.1 本章の概要
10.2 重複処理の関数化
10.3 汎用処理の関数化
10.4 本章のまとめ
10.5 演習問題
11 関数による処理の抽象化
11.1 本章の概要
11.2 複雑な処理の関数化
11.3 本質的でない処理の関数化
11.4 本章のまとめ
11.5 演習問題
12 再帰関数
12.1 本章の概要
12.2 再帰関数の概念
12.3 返り値がない再帰関数
12.4 返り値がある再帰関数
12.5 本章のまとめ
12.6 演習問題
著者情報
宮田 章裕
宮田章裕(みやた あきひろ)
2008年慶應義塾大学大学院後期博士課程修了。
日本電信電話株式会社(NTT研究所)などを経て、2016年より日本大学文理学部情報科学科准教授。
ヒューマンコンピュータインタラクションの研究に従事し、IoT、ニューラルネットワークなどを駆使して「人にやさしいコンピュータ」の実現を目指して情熱的に研究に取り組んでいる。
ACM会員、情報処理学会シニア会員。
博士(工学)。