情報処理技術者試験シリーズ基本情報技術者 らくらく突破 Python

[表紙]基本情報技術者 らくらく突破 Python

紙版発売
電子版発売

A5判/416ページ

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

ISBN 978-4-297-12279-9

ただいま弊社在庫はございません。

電子版

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

書籍の概要

この本の概要

好評をいただいている午後対策の定番書「らくらく突破」シリーズに,新たに「Python」の対策書が加わりました。
Pythonは,最近注目を集めているAIやデータサイエンスの分野でよく使われている他,アプリケーションや組み込みソフトウェアの開発など様々な分野で利用できる汎用的なプログラミング言語です。Pythonは,構文がシンプルでわかりやすいので,はじめてプログラミングを学ぶ人にとても適しています。敷居が低くて奥が深い言語なのです。
本書は,はじめてプログラミングを学ぶ方を想定し,「そもそもプログラムとは何か」という根本的な説明からはじめて,Pythonによるプログラミングの知識を少しずつ丁寧に説明していきます。また,理解を助けるイラストや概念図も豊富に掲載し,わかりやすい例と練習問題でPythonの基礎の定着を図り,章末の確認問題で理解度を確認しながら学習を進められます。本書で取り上げているプログラミング例は自分で実際に手を動かして入力して動作を確認してみましょう。理解がぐんと深まります。
本書の目標は,基本情報技術者試験に出題されるレベルのPythonのプログラムを読み取れるようになること。IPA発表のサンプル問題を取り上げ,実際にどうやって問題を読み解いて,取り組んでいったらいいのか,実践的な解説も行っています。
著者は,数多くのプログラミング解説書や基本情報技術者の対策書を手掛け,講師としての指導経験も豊富な矢沢久雄氏。「なぜそうなっているのか」「なぜそうするのか」から解きほぐしていくわかりやすい解説には定評があります。
午後試験の25%という大きな配点を占めるプログラミング言語問題。本書でPythonをマスターして,午後試験を突破しましょう!

こんな方におすすめ

  • 午後の言語選択でPythonを選択する受験者
  • 文系の初学者
  • プログラムを書いたことのない人,言語問題が苦手な人

目次

はじめに

  • Pythonで午後試験を突破しよう!

第1章 プログラミングとPythonの超々入門

01 プログラムとは何か?

  • ハードウェアとソフトウェアの関係
  • コンピュータの五大装置の機能
  • パソコンにおけるコンピュータの五大装置
  • ハードウェアがわかればプログラムとは何かがわかる
  • プログラマ脳の視点

02 処理の種類

  • 入力,演算,出力の3つの処理を考える
  • 与えられたテーマから入力,演算,出力の処理を見出す

03 流れの種類

  • 順次,分岐,繰り返しの3つの流れを考える
  • 与えられたテーマから処理の流れを見出す
  • 分岐と繰り返しの流れを見出す

04 プログラム部品の形式

  • プログラム部品の形式と選び方
  • 関数のイメージをつかむ
  • クラスのイメージをつかむ
  • 関数とクラスを作るときに考えること

05 プログラムの作成と実行方法

  • Pythonプログラムの作成と実行に必要なもの
  • Pythonの実行モード(ソースファイルの作成)
  • Pythonの実行モード(プログラムの実行)
  • Pythonの対話モード(プログラムの入力と実行)

章末確認問題

第2章 Pythonプログラミングの基礎

06 変数,関数,算術演算子

  • 「英語だ」「数式だ」と思ってプログラムを見る
  • 変数への代入と関数の呼び出し
  • 入力と出力を行う関数
  • 演算子と演算式
  • 算術演算子
  • 複合代入演算子

07 予約語,命名規約,コメント

  • Pythonの予約語
  • Pythonの命名規約
  • コメント
  • 【コラム】プログラミングをマスターするコツ[その1]
     英語と数式だと思って,プログラムを音読する!

08 データ型の種類

  • Pythonのデータ型の種類
  • Pythonの変数には何でも代入できる
  • id関数でデータの識別情報を確認する

09 データ型の変換

  • データ型の変換が必要な場面
  • 数字列を数値に変換する
  • 数値を文字列に変換する

10 プログラムの書き方

  • プログラマ脳をプログラムで表現する
  • プログラムの様々な書き方
  • 関数の様々な使い方

章末確認問題

第3章 分岐と繰り返し

11 比較演算子と論理演算子

  • 比較演算子
  • 論理演算子
  • 複数の比較演算を論理演算でつなぐ
  • 演算子の優先順位
  • 変数の値が範囲内にあることをチェックする表現

12 if文による分岐

  • if~elseで2つに分岐する
  • インデントによるブロックの表現
  • ifだけのif文とpass文
  • if~elif~elseで3つ以上に分岐する
  • ネストしたif文
  • 二者択一の値を返すif~elseの簡略表現

13 while文による繰り返し

  • 条件がTrueである限り繰り返す
  • 繰り返しと分岐の組み合わせ
  • TrueやFalseとみなされるもの

14 for文による繰り返し

  • イテラブルから要素を順番に取り出す
  • range関数の使い方
  • ネストした繰り返し(多重ループ)

15 break文とcontinue文

  • break文で繰り返しを中断する
  • continue文で繰り返しを継続する
  • 繰り返しにおけるelseの使い方
  • while文で後判定の繰り返しを実現する

章末確認問題

第4章 要素を持つデータ型

16 イテラブルの種類と特徴

  • イテラブルの種類
  • イテラブルはオブジェクトである
  • クラスとオブジェクト
  • Pythonでは,すべてのデータがオブジェクトである

17 イテラブルの表記方法とfor文

  • 文字列の表記方法とfor文
  • リストの表記方法とfor文
  • タプルの表記方法とfor文
  • 辞書の表記方法とfor文
  • 集合の表記方法とfor文

18 イテラブルに共通した機能

  • len関数,max関数,min関数
  • in演算子とnot in演算子
  • イテラブルをリストに変換する
  • sorted関数で要素をソートする

19 シーケンスに共通した機能

  • 添字による要素の指定
  • スライスによる要素の切り出し
  • スライスによる要素の変更と削除
  • + 演算子と * 演算子
  • indexメソッドとcountメソッド
  • 【コラム】プログラミングをマスターするコツ[その2]
     実行結果を想像してから実行する!

20 イテラブルのその他の機能

  • キーを指定してバリューを読み書きする(辞書の機能)
  • 集合どうしを演算する(集合の機能)
  • タプルのアンパック(タプルの機能)
  • リストへの要素の追加,更新,削除(リストの機能)
  • 辞書への要素の追加,更新,削除(辞書の機能)
  • 集合への要素の追加と削除(集合の機能)
  • 2次元配列(イテラブルのイテラブル)

章末確認問題

第5章 標準ライブラリ

21 ライブラリの種類

  • ライブラリの基礎知識
  • 組み込み関数と組み込み型
  • 標準ライブラリの種類
  • 外部ライブラリの種類
  • 関数やメソッドの引数のバリエーション
  • 【コラム】プログラミングをマスターするコツ[その3]
     サンプルプログラムを作ったら,自分の考えで改造する!

22 組み込み関数の使い方

  • 基数を指定して整数に変換する
  • デフォルトのオブジェクト
  • イテラブルの要素に添字を割り当てる
  • 複数のイテラブルの要素をつなぐ
  • ファイルオブジェクトを生成する
  • 【コラム】プログラミングをマスターするコツ[その4]
     エラーを嫌がらない!

23 文字列の操作

  • strクラスのメソッドの種類
  • 文字列の変換
  • 文字列の消去
  • 文字列の内容チェック
  • 文字列の探索
  • 文字列の書式指定(formatメソッド)
  • 文字列の書式指定(format関数)
  • 文字列の書式指定(f文字列)

24 インポートと数学関数

  • モジュールのインポート
  • mathモジュールの使い方
  • 角度を持った線分のx座標とy座標を求める

25 グラフの描画

  • 折れ線グラフを描画する
  • 棒グラフを描画する
  • 散布図を描画する

章末確認問題

第6章 関数の作成と利用

26 関数の作り方と使い方

  • オリジナルの関数を作る
  • オリジナルの関数を使う
  • 引数がない関数,戻り値がない関数
  • タプルで複数の戻り値を返す
  • 【コラム】プログラミングをマスターするコツ[その5]
     バグの原因を探すことを楽しむ!

27 引数の形式

  • 位置引数とキーワード引数
  • デフォルト引数
  • タプル形式の可変長引数
  • 辞書形式の可変長引数

28 変数のスコープ

  • ローカル変数
  • グローバル変数
  • グローバル宣言

29 ジェネレータ関数

  • ジェネレータ関数とyield文
  • 繰り返し処理の中でyield文を使う
  • ジェネレータ関数の利点

30 再帰呼び出し

  • 再帰呼び出しの仕組み
  • 再帰呼び出しで階乗を求める
  • 【コラム】プログラミングをマスターするコツ[その6]
     疑問を解決するために,実験プログラムを作る!

章末確認問題

第7章 クラスの作成と利用

31 クラスの作り方と使い方

  • オリジナルのクラスを作る
  • オリジナルのクラスを使う
  • インスタンス変数とインスタンスメソッド
  • クラス変数
  • クラスメソッド

32 継承とオーバーライド

  • クラスの継承
  • メソッドのオーバーライド
  • 継承におけるcls.PIとCircle.PIの違い
  • すべてのクラスのスーパークラス

33 プロパティ

  • クラスのインスタンスが保持するデータの変更
  • プロパティで間接的にデータを読み書きする
  • リードオンリーのプロパティ
  • 【コラム】プログラミングをマスターするコツ[その7]
     気に入った教材は,何度も繰り返し学習する!

34 抽象クラスと抽象メソッド

  • 汎化と継承
  • 抽象クラスと継承
  • 抽象クラスで約束事を守らせる

35 オブジェクトの代入とコピー

  • オブジェクトの代入
  • オブジェクトのコピー
  • シャローコピーとディープコピー

章末確認問題

第8章 覚えておくべきその他の構文

36 リスト内包表記

  • 既存のイテラブルから新たなリストを効率的に作る
  • if文を使ったリスト内包表記
  • 2次元配列から2次元配列を作るリスト内包表記

37 例外処理

  • 組み込み例外
  • try文で例外を処理する
  • 例外の種類ごとに処理を分ける
  • raise文で例外を発生させる

38 関数オブジェクトと高階関数

  • 関数オブジェクト
  • 高階関数
  • filter関数の引数に関数を指定する

39 ラムダ式と高階関数

  • ラムダ式で関数を定義する
  • filter関数の引数にラムダ式を指定する
  • sorted関数の引数にラムダ式を指定する

40 その他の構文

  • 数値データの表記
  • 文字列データの表記
  • 長いプログラムを途中で改行する方法

章末確認問題

第9章 総仕上げ

  • -試験問題のプログラムを読み取る

41 Pythonサンプル問題のプログラムを読み取る

  • Pythonサンプル問題について
  • プログラムの機能
  • プログラムの全体構造
  • parse関数の処理内容
  • Markerクラスの処理内容
  • draw関数の処理内容

第10章 練習問題・章末確認問題・サンプル問題の解答と解説

巻末小冊子:Pythonサンプル問題

著者プロフィール

矢沢久雄(やざわひさお)

(株)ヤザワ 代表取締役社長
グレープシティ(株) アドバイザリースタッフ

長年に渡り様々なシステム開発に従事した後、現在は、プログラミングや情報処理技術者試験の講師業と著作業を行っている。「新・標準プログラマーズライブラリ C++ クラスと継承 完全制覇(技術評論社)」「プログラムはなぜ動くのか 第3版(日経BP社)」「基本情報技術者テキスト&問題集(翔泳社)」など、数多くの著書がある。