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