Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Kenji Azami
2,324 views
プログラミング入門
プログラミングを学びはじめる前の基礎知識としてのアルゴリズムの基礎ならびにオブジェクト指向の基礎の説明
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 16 times
1
/ 43
2
/ 43
3
/ 43
4
/ 43
5
/ 43
6
/ 43
7
/ 43
8
/ 43
9
/ 43
10
/ 43
11
/ 43
12
/ 43
13
/ 43
14
/ 43
15
/ 43
16
/ 43
17
/ 43
18
/ 43
19
/ 43
20
/ 43
21
/ 43
22
/ 43
23
/ 43
24
/ 43
25
/ 43
26
/ 43
27
/ 43
28
/ 43
29
/ 43
30
/ 43
31
/ 43
32
/ 43
33
/ 43
34
/ 43
35
/ 43
36
/ 43
37
/ 43
38
/ 43
39
/ 43
40
/ 43
41
/ 43
42
/ 43
43
/ 43
More Related Content
PDF
Ruby で学ぶプログラミング入門
by
Ryota Kameoka
PDF
WPF4.5入門
by
一希 大田
PDF
10のJava9で変わるJava8の嫌なとこ!
by
bitter_fox
PDF
1070: CUDA プログラミング入門
by
NVIDIA Japan
PPT
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
by
Haruka Ozaki
PDF
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
by
Ryota Nakamura
PDF
プログラミング
by
saireya _
PPTX
Javaプログラミング入門【第7回】
by
Yukiko Kato
Ruby で学ぶプログラミング入門
by
Ryota Kameoka
WPF4.5入門
by
一希 大田
10のJava9で変わるJava8の嫌なとこ!
by
bitter_fox
1070: CUDA プログラミング入門
by
NVIDIA Japan
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
by
Haruka Ozaki
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
by
Ryota Nakamura
プログラミング
by
saireya _
Javaプログラミング入門【第7回】
by
Yukiko Kato
Similar to プログラミング入門
PDF
勉強か?趣味か?人生か?―プログラミングコンテストとは
by
Takuya Akiba
PDF
Processing
by
Akifumi Nambu
PDF
U-16プログラミングコンテスト CHaser を利用したプログラミング指導
by
NISHIHARA Shota
PDF
[xDNCL] 配布資料
by
Ryota Nakamura
PDF
関数プログラミング入門
by
Hideyuki Tanaka
PDF
[Basic] 配布資料
by
Ryota Nakamura
KEY
Algebraic DP: 動的計画法を書きやすく
by
Hiromi Ishii
PPT
第1回java実習(helloworld)2011
by
デジタルシープラーニング
PDF
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
by
Atsushi Tadokoro
PPTX
関数型言語&形式的手法セミナー(3)
by
啓 小笠原
PPT
Pythonintro
by
Mikio Kubo
PDF
programming camp 2008, introduction of programming, algorithm
by
Hiro Yoshioka
PDF
Scalaプログラミング・マニアックス
by
Tomoharu ASAMI
PPTX
プログラミング模擬授業20180724
by
義広 河野
PDF
2019年度 若手技術者向け講座 オブジェクト指向
by
keki3
PDF
Introduction to programming competition [revised][PDF]
by
yak1ex
PDF
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
by
Ryota Nakamura
PPT
オブジェクト指向入門7
by
Kenta Hattori
PDF
10分で分かるR言語入門ver2_0906
by
Nobuaki Oshiro
PDF
[CE81] プログラミング入門教育用学習環境PEN
by
Ryota Nakamura
勉強か?趣味か?人生か?―プログラミングコンテストとは
by
Takuya Akiba
Processing
by
Akifumi Nambu
U-16プログラミングコンテスト CHaser を利用したプログラミング指導
by
NISHIHARA Shota
[xDNCL] 配布資料
by
Ryota Nakamura
関数プログラミング入門
by
Hideyuki Tanaka
[Basic] 配布資料
by
Ryota Nakamura
Algebraic DP: 動的計画法を書きやすく
by
Hiromi Ishii
第1回java実習(helloworld)2011
by
デジタルシープラーニング
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
by
Atsushi Tadokoro
関数型言語&形式的手法セミナー(3)
by
啓 小笠原
Pythonintro
by
Mikio Kubo
programming camp 2008, introduction of programming, algorithm
by
Hiro Yoshioka
Scalaプログラミング・マニアックス
by
Tomoharu ASAMI
プログラミング模擬授業20180724
by
義広 河野
2019年度 若手技術者向け講座 オブジェクト指向
by
keki3
Introduction to programming competition [revised][PDF]
by
yak1ex
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて
by
Ryota Nakamura
オブジェクト指向入門7
by
Kenta Hattori
10分で分かるR言語入門ver2_0906
by
Nobuaki Oshiro
[CE81] プログラミング入門教育用学習環境PEN
by
Ryota Nakamura
プログラミング入門
1.
プログラミング入門 担当:浅見 憲司
2.
担当者 自己紹介 • 氏名:浅見
憲司(あざみ けんじ) • 住まい:埼玉県所沢市 • 職業:フリーランス(SOHO)のSE • 職歴:(ITエンジニア歴10年ほど) ・Web系システム開発 ・スマートフォンアプリ開発 ・IT系セミナー講師、記事執筆 など
3.
今回の目的 • プログラミングに必要な 「アルゴリズム」「オブジェクト指向」について学習する • 「アルゴリズムとは何か?」から始めて、 条件分岐、繰り返しなどを学ぶ •
フローチャートでアルゴリズムを書く • 「オブジェクト指向プログラミング」の主要な要素を学ぶ
4.
アルゴリズムとは?
(なんらかの)問題を解くための手順 (wikipediaより抜粋)
5.
例)数学の公式
3cm 4cm 斜辺(一番長い辺)の長さは何cm?
6.
例)数学の公式
三平方の定理 c = b +a 2 2
7.
例)数学の公式
三平方の定理 c = b +a 2 2 a=3 を代入 b=4
8.
例)数学の公式 斜辺の長さ=
4 +3 =5 2 2 よって、5cm。
9.
例)数学の公式
329cm 463cm 斜辺(一番長い辺)の長さは、約568cm。
10.
例)数学の公式
329 + 463 ≈ 568 2 2 数が大きくなると、 人間の手で計算するのは、結構大変・・・。
11.
コンピュータを利用する 計算手順を教えれば、 高速に計算を行ってくれる
12.
① 「a」は 3
であると伝える a=3
13.
② 「b」は 4
であると伝える b=4
14.
③ 公式を伝えて、計算させる c
= b +a 2 2
15.
④ cの中身を表示させる
cを表示 5
16.
補足)コンピュータは優秀だが… •
c = b −a 2 2 と入力していたら… • aやbに間違った数字を入れてしまったら… 正しい結果が得られない(バグ)
17.
フローチャート
はじまり • アルゴリズム(手順)を図示したもの ○○する △ △する • 上から下に処理が流れる (逐次処理) □ □する おわり
18.
身近な例でフローチャートを描く 例:「お湯を沸かす」というアルゴリズム
はじまり • やかんを用意する やかんを用意する やかんに水を入れる • やかんに水を入れる 火をつける • 火をつける 沸騰するまで待つ 火をとめる • 沸騰するまで待つ • 火をとめる おわり
19.
フローチャート 練習課題 「お茶を煎れる」というアルゴリズム • 「お湯を沸かす」以降の手順を
はじまり 「おわり」まで書いてください。 お湯を沸かす ※ お湯を沸かす ○○する このマークは サブルーチン もしくは メソッド (手順が別途定義されたもの)
20.
「お茶を煎れる」というアルゴリズム
はじまり • お湯を沸かす お湯を沸かす • 湯飲みと急須を用意する 湯飲みと急須を用意する 急須に茶葉を入れる • 急須に茶葉を入れる 急須にお湯を注ぐ • 急須にお湯を注ぐ 湯飲みにお茶を注ぐ • 湯飲みにお茶を注ぐ おわり
21.
条件分岐 • ある状態(条件)のときに処理を変えたり追加したりする Yes
No < > うお座か? 太郎の:次郎の 所持金 所持金 「僕と一緒!」 「残念・・・」 = (ディスプレイに出力) 次郎がおごる 太郎がおごる ワリカン
22.
条件分岐
Yes 季節は春 「あけぼの」 季節 No 春 Yes 「あけぼの」 季節は夏 「よる」 夏 「よる」 No Yes 秋 「ゆうぐれ」 季節は秋 「ゆうぐれ」 冬 No 「つとめて」 Yes 季節は冬 「つとめて」
23.
練習課題:送料込みの価格 商品の価格が1500円以上なら送料無料、 それ未満なら送料300円がかかるものとし、 送料込みの価格を表示する。
24.
繰り返し処理 • ある処理を何回か繰り返して行う
ループ ループ 継続条件 ○○する ○○する ○○する No ○○か? ループ ループ 継続条件 Yes
25.
練習課題:すごろく サイコロを振り、奇数が出たら、そのまま。 偶数が出たら、1コマ進む。 プレイヤーが「あがったら」、終了。
ループ 「あがる」まで繰り返す
26.
変数 1つめの値を入力してください。 3 2つめの値を入力してください。 5 2つの和は 8 です。
27.
変数は、ある値の置き場(箱)
はじまり はじまり (キーボード) aに入力 3→a bに入力 5→b a + b→c a + b→c (ディスプレイ) cを出力 (ディスプレイ) おわり おわり
28.
変数は、ある値の置き場(箱) 三平方の定理
はじまり c = b +a 2 2 aに入力 (キーボード) bに入力 b +a →c 2 2 (ディスプレイ) cを出力 (ディスプレイ) おわり
29.
例:1から10の和
0→SUM 1→N ループ N>10まで SUM + N → SUM N+1→N ループ SUMを出力
30.
練習課題:税込価格 商品の単価(税抜価格)をキーボードから入力。 税込価格を計算する。 商品の税込価格が1500円以上なら送料無料、 それ未満なら送料300円がかかるものとし、 送料込みの価格を表示する。
31.
配列 「点数」という名前の配列
点数(1) 85 点数(2) 80 平均点を求める場合、 どうするか? 点数(3) 100 点数(4) 90 点数(5) 95
32.
配列
0→SUM 0→N 「点数」という名前の配列 ループ 点数(1) 85 点数(2) 80 N+1→N 点数(3) 100 SUM + 点数(N) → SUM 点数(4) 90 ループ N>=5まで 点数(5) 95 SUM / N → AVG
33.
練習課題:文字列の反転 “abcde”という文字列を”edcba”にする。 (別の配列は用意しない。)
Str(1) a Str(1) e Str(2) b Str(2) d Str(3) c Str(3) c Str(4) d Str(4) b Str(5) e Str(5) a
34.
ヒント:配列要素の交換方法 “abcde”という文字列を”edcba”にする。 (別の配列は用意しない。) Str(1)
a Str(1) e Str(2) b Str(2) d TEMP → Str(1) Str(3) c Str(3) c d b Str(1) → Str(5) Str(4) Str(4) Str(5) e Str(5) a Str(5) → TEMP
35.
オブジェクト指向の説明の前に
各自、以下の項目を答えてください。 • 名前 • 性別 • 特技 • 年齢 • 居住地 • 所属会社
36.
オブジェクト ある人、ある会社などが、ひとつのオブジェクト 例)
Aさん 「Aさん」という • 性別 = • パソコンを使う オブジェクト “男性” • プログラムを書く • 年齢 = “30” • 居住地 = “埼玉県所沢市” • 所属会社 = “B株式会社”
37.
オブジェクトが持つ性質
「Aさん」という、ひとつのオブジェクト Aさんの状態(属性) Aさん • 性別 = • パソコンを使う “男性” • プログラムを書く B株式会社 • 年齢 = (オブジェクト) “30” Aさんの振る舞い • 居住地 = “埼玉県所沢市” • 所属会社 = オブジェクト「Aさん」は “B株式会社” オブジェクト「B株式会社」に 所属している(関係性)
38.
オブジェクトが持つ性質 • 状態(属性)
・・・各オブジェクトが内部で持っているデータ • 振る舞い ・・・各オブジェクトの動作や反応 • 関係性 ・・・あるオブジェクトと別のオブジェクトとのつながり • 識別性 ・・・ひとつのオブジェクトは唯一無二の存在である
39.
クラスとインスタンス
インスタンス クラス (「プログラマー」クラスの (「プログラマー」というクラス) 「Aさん」というインスタンス) プログラマー Aさん • 性別 • パソコンを使う • 性別 = • パソコンを使う • 年齢 • プログラムを書く “男性” • プログラムを書く • 居住地 • 年齢 = • 所属会社 実体化 “30” • 居住地 = “埼玉県所沢市” • 所属会社 = “B株式会社” 特性を定義したものがクラス、 クラスを実体化したもの(つまり、オブジェクト)がインスタンス
40.
オブジェクト指向プログラミングの特長 ① カプセル化
各オブジェクトは、内部に 「状態(属性)」と「振る舞い」を持っていて、 オブジェクトの外からは見えなくしている Aさん • 性別 = • パソコンを使う “男性” • プログラムを書く • 年齢 = “30” • 居住地 = “埼玉県所沢市” • 所属会社 = “B株式会社”
41.
オブジェクト指向プログラミングの特長 ① カプセル化
各オブジェクトは、内部に 「状態(属性)」と「振る舞い」を持っていて、 オブジェクトの外からは見えなくしている Aさん • 性別 = • パソコンを使う “男性” • プログラムを書く • 年齢 = • 年齢を言う “30” • 居住地 = 実際は何歳か、は “埼玉県所沢市” 言われないとわからない 「年齢を言う」という振る舞いで • 所属会社 = 実際の年齢がわかる “B株式会社”
42.
オブジェクト指向プログラミングの特長 ②
ポリモーフィズム(多態性) あるクラスが、別のあるクラスの性質を受け継ぐ ITエンジニア • 性別 • パソコンを使う • 年齢 親クラス • 居住地 (スーパークラス) • 所属会社 同じ「パソコンを使う」でも クラスによって振る舞い方が違う 子クラス (サブクラス) IT営業 システムエンジニア プログラマー • 性別 • パソコンを使う • 年齢 • プログラムを書く ※子クラスは、親クラスの性質を • 居住地 受け継ぐ⇒「継承」している 「プログラマー」クラスの • 所属会社 独自の振る舞い
43.
今回の内容 • プログラミングに必要な 「アルゴリズム」「オブジェクト指向」について学習しました • 「アルゴリズムとは何か?」から始めて、 条件分岐、繰り返しなどを学びました •
フローチャートでアルゴリズムを書きました • 「オブジェクト指向プログラミング」の主要な要素を学びました
Download