プログラミングa - 学校法人東邦大学...2018/04/09 · – programming exercise a •...
TRANSCRIPT
プログラミングA第1回 Javaの基本
2018年4月9日
東邦大学 金岡 晃
この授業について• 講義科目名称
– プログラミングA– プログラミング演習A
• 英文科目名称– Programming A– Programming Exercise A
• 開講期間– 春学期
• 配当年– 1学年
• 単位数– プログラミングA:2– プログラミング演習 A:2
• 科目必選区分– 必修
• 担当教員– 菊地賢一、山内長承、金岡晃、木村大輔
• 開講日時– 月曜日3限– 月曜日4限
2018/4/91 プログラミングA
担当と講義資料
• 担当
– 金岡 晃(かなおか あきら)
• E-mail:[email protected]
• 居室:理学部IV号館6階 4621室
– ティーチングアシスタント(TA)
• 菅井琢(M2)、立川彰宏(M2)、今井宏謙(M1)
• 講義資料
– 教科書:やさしいJava 第6版
– USBメモリは毎回持参すること
2 2018/4/9 プログラミングA
授業概要
• 授業の目的と学習概要
– コンピュータを用いて計算処理を行うには、プログラムが必要不可欠である。本授業では、プログラムの作成方法を初歩から学び、プログラミングの基礎力を身につけることを目標とする。プログラミング言語としては、広く用いられているJava言語を使用する。
– プログラミングAの授業で習った内容に対して、プログラミング演習を行うことにより、プログラミングの理解を深めることを到達目標とする。
2018/4/93 プログラミングA
評価方法とオフィスアワー
• 評価方法
– プログラミングA、プログラミング演習A 共通
• 平常点:50点
– 出席および中間試験
• 定期試験(期末試験、4クラス合同):50点
– 合計60点以上を合格とする
• オフィスアワー
– オフィスアワーについてはメールで個別に時間を予約するものとする
• 連絡先:[email protected]
2018/4/94 プログラミングA
講義/演習の進め方と中間試験
• 講義/演習の進め方
– 講義→演習というスタイルで進めます
– 内容やみなさんの進捗度合によって柔軟に変更します
– 授業の最後に課題を出すようにします
• 課題の提出をもって、出席のカウントとします
• 中間試験
– 第7回目(5月28日)に実施します
– 内容は第1回目から第6回目までの内容
5
講義
演習
講義
演習
課題
提出
2018/4/9 プログラミングA
授業用Webサイト
• https://www.klab.is.sci.toho-u.ac.jp/classes/
• 金岡が受け持っている講義の資料(この講義以外も)をアップロードしています
• 「プログラミングA」のページも作成しました
• 講義資料をPDF化してすべて載せていきます。
2018/4/96
閲覧方法の詳細はあとで行います
プログラミングA
7
Agenda
• 講義/演習の進め方
• 評価について
• 今回の内容
– プログラムとは?
– プログラムを実行するまで
– 実際にプログラムを作成してみる
– メールを送信してみる
2018/4/9 プログラミングA
プログラムとは
8 2018/4/9 プログラミングA
プログラムとは?
9 2018/4/9 プログラミングA
プログラム
「計算機(コンピュータ)に何かをやらせたい」というときに、その動作を指示するもの
コンピュータへの指示
そのコンピュータに応じた機械語で命令を書き、指示する。
詳しくは秋学期の「コンピュータアーキテクチャ」で学びます
人間が機械語で指示するの?
NO
プログラム言語
10 2018/4/9 プログラミングA
コンピュータと人間を結ぶ、コンピュータに指示するための言語
さまざまな言語
C
JavaC++
C#
VisualBasic
Ruby
Python
Perl
Prolog
FORTRAN
COBOL
PascalSwift
Objective-C
言語処理系
2018/4/9 プログラミングA11
エディタ
ソースプログラム
ソースプログラム
・・・
コンパイラ
コンパイラ
目的プログラム
目的プログラム
リンケージエディタ
実行時ライブラリ
実行プログラム
実行デバッガ
コンパイル 機械語(に近い)ゾーン
我々が作るプログラム
詳しくは3年春学期(選択)の「コンパイラとプログラミング言語」で学べます
• コンパイラを各計算機の環境ごとにつくらないといけない• 目的プログラムは各環境に応じたものを用意しなければならない• 実行プログラムは各環境に応じたものになる
Javaと仮想計算機
2018/4/9 プログラミングA12
エディタ
ソースプログラム
ソースプログラム
・・・
コンパイラ
コンパイラ
目的プログラム
目的プログラム
リンケージエディタ
実行プログラム
コンパイルした環境と同じ計算機環境で実行するようにコンパイルされる
環境に依存しない仮想的に考えられた計算機(バーチャルマシン、仮想計算機)と、仮想計算機用のプログラムを実行可能なソフトを計算機とOSの組ごとに作成すれば、プログラム作成者は1つのプログラムを作るだけで様々な環境でプログラムが実行できる
Java:プログラム作成から実行まで
2018/4/913
ソースプログラム
バイトコード
コンパイラ
プログラミングA
インタプリタ
実行
****.java というファイル
****.class というファイル
エディタ
2018/4/914
ソースプログラムの作成時に利用するソフトウェア
Eclipse
秀丸エディタ
Visual Studio
プログラミングA
JCpad
実習室PCを立ち上げてみよう
2018/4/9 プログラミングA15
ここのボタン(電源ボタン)を押す
ログオンしてみよう
2018/4/9 プログラミングA16
ログイン情報
自分のIDとパスワードで
ログオンしてみよう
2018/4/9 プログラミングA17
ログオン後の画面
プログラムを見てみよう
• 一番簡単なプログラム
18 2018/4/9 プログラミングA
class HelloWorld{ public static void main(String[] args){
System.out.println(“Hello World!”); }
}
• 動画:mpeg, avi, mp4など• 音楽:mp3, wmvなど• 文書:docx, txt など• スライド:pptxなど• 表:xlsxなど
JCPadの使い方…の前に
19
Windows上のデータ
• データは「ファイル」という単位でコンピュータ内に保存されている。• さまざまなタイプの「ファイル」がある
画像、動画、音楽、文書、スライド、表
区別するためにファイルの名前に「拡張子」を付ける
kanaoka.jpg拡張子
2018/4/9 プログラミングA
JCPadの使い方…の前に
20
ファイルをしまう構造
• 1つのエリアにすべてのファイルを置くと混乱する• 小分けをする
「フォルダ」
フォルダ
• フォルダは入れ物• フォルダの中にファイルを入れる。• フォルダに名前を付ける、とわかりやすい。
学年ごと、授業ごと、用途ごと、ファイル種類ごと……等々
2018/4/9 プログラミングA
JCPadの使い方…の前に
21
エクスプローラ
• ファイルやフォルダの閲覧などの取り扱いをする
2018/4/9 プログラミングA
エクスプローラを立ち上げよう
2018/4/9 プログラミングA22
このアイコンをダブルクリック
JCPadの使い方…の前に
23
USBメモリを挿す ※初回はしばらく待てばUSBメモリが認識される
2018/4/9 プログラミングA
JCPadの使い方…の前に
2018/4/9 プログラミングA24
ブラウザでWebを見よう
「すべてのプログラム」をクリック
「Internet Explorer」をクリック
ブラウザを立ち上げよう
2018/4/9 プログラミングA25
このアイコンをダブルクリック
JCPadの使い方…の前に
2018/4/9 プログラミングA26
JCPadの使い方…の前に
2018/4/9 プログラミングA27
授業用Webサイトを見よう
ここに
https://www.klab.is.sci.toho-u.ac.jp/classes/と入力し、Enterキーを押そう
JCPadの使い方…の前に
2018/4/9 プログラミングA28
JCPadを使おう
29 2018/4/9 プログラミングA
USBメモリの中身を見る
「リムーバブルディスク」をダブルクリック
JCPadを使おう
30 2018/4/9 プログラミングA
JCPadを起動
「jcpad.bat」をダブルクリック
JCPadを使おう
31 2018/4/9 プログラミングA
ここにプログラムを書いていく
入力してみよう
2018/4/9 プログラミングA32
class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello World!”);
}
}
プログラムを作ったら
33 2018/4/9 プログラミングA
保存(セーブ)
• なによりもまずセーブ
このアイコンをクリック
保存場所
2018/4/9 プログラミングA34
USBメモリの中のフォルダへ 通常はこのままで良い
ファイルの名前を付ける
2018/4/9 プログラミングA35
「ファイル名」のゾーンに名前を入力
入力が終わったら「保存」を押す
ファイルを保存する
2018/4/9 プログラミングA36
[新規1] だったものがHelloWorldに変わっていることを確認
保存されたファイルをエクスプローラで確認する
2018/4/9 プログラミングA37
プログラムを作ったら
38 2018/4/9 プログラミングA
コンパイル
このアイコンをクリック
コンパイル
2018/4/9 プログラミングA39
成功すると
失敗するとエラーメッセージが出る
コンパイルが成功すると
2018/4/9 プログラミングA40
.classファイルが生成される
実行させてみよう
41 2018/4/9 プログラミングA
コンパイル+実行
このアイコンをクリック
実行すると
2018/4/9 プログラミングA42
練習1
43 2018/4/9 プログラミングA
Hello World!を作ってコンパイル、実行してみよう!
プログラムの中身を見る
44
クラスの宣言
main()メソッドの開始部分
実行されるメソッド
main()メソッドの終了部分
2018/4/9 プログラミングA
メソッド
2018/4/9 プログラミングA45
• 直訳すると方法。• 1つのプログラムの中に、さまざまなメソッドをつくって、それらを有
機的に結合していって1つのプログラムにしていける
たとえば
「画像を画面に出力して、加工して、ファイルに保存する」というプログラムを作りたい!
画面に出力、というメソッド
画像を加工、というメソッド
ファイルに保存、というメソッド
○3つのメソッドを作っておく
メインメソッド
3つのメソッドを順に呼ぶ
クラス名
46 2018/4/9 プログラミングA
ルールがある
• “-”などの記号は使えない• 空白を入れてはいけない• 推奨されないものもある
• 大文字で始まっていない• アンダースコア ( _ ) 使う• 日本語のクラス名
ファイル保存のときはクラス名と同じファイル名
class HelloWorld だったら HelloWorld.java で保存
System.out.println
47 2018/4/9 プログラミングA
「標準出力」に出力する
標準出力? プログラムが作り出したものを出力する出し先にはいろいろな可能性がある
画面ボタン
電灯
フォルダ
コンピュータ
出力の指定を特にしない場合に、最初から決まっているもの、それが標準出力
ここでは「コンソール」と呼ばれる画面
練習2:キーボード入力の読み込み
48 2018/4/9 プログラミングA
下のプログラムを作ってコンパイル、実行してみよう!
実行結果
2018/4/9 プログラミングA49
実行結果
2018/4/9 プログラミングA50
実行結果
2018/4/9 プログラミングA51
メールを送ろう
52 2018/4/9 プログラミングA
まずブラウザを開く「Webメール」をクリック
メールを送ろう
2018/4/9 プログラミングA53
WebMailシステムにログイン
メールを送ろう
2018/4/9 プログラミングA54
ログイン後の画面
※注:画面は教員用のものなので学生用は細部が異なる可能性があります
メールを送ろう
2018/4/9 プログラミングA55
メールを作成「メール作成」をクリック
メールを送ろう
2018/4/9 プログラミングA56
メール作成画面
メールを送ろう
2018/4/9 プログラミングA57
メール作成画面
メールを送ろう
2018/4/9 プログラミングA58
ファイルを添付
「参照」をクリック
メールを送ろう
2018/4/9 プログラミングA59
添付するファイルを選択
メールを送ろう
2018/4/9 プログラミングA60
メールを送ろう
2018/4/9 プログラミングA61
「メール送信」をクリック
メールを送ろう
2018/4/9 プログラミングA62
送信完了
課題:ソースプログラムのメール添付と送信
63 2018/4/9 プログラミングA
今日作った2つのプログラムをメールに添付して金岡に送ろう