• 検索結果がありません。

プログラミング

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミング"

Copied!
60
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング A

第1回 Javaの基本

2013422 東邦大学 金岡 晃

(2)

この授業について

講義科目名称

プログラミングA プログラミング演習A

英文科目名称

– Programming A

– Programming Exercise A

開講期間

春学期

配当年

– 1学年

単位数

プログラミングA2

プログラミング演習A2

科目必選区分 必修

担当教員

金岡 晃、菊地 賢一、白石 路雄、古谷 立美

開講日時

月曜日3 月曜日4

2014/4/14

1 プログラミングA

(3)

担当と講義資料

• 担当

– 金岡 晃(かなおか あきら)

• E-mail : [email protected]

• 居室:理学部 IV 号館 6 階 4621 室 – ティーチングアシスタント( TA )

• 大庭怜於奈

• 綿貫達也

• 講義資料

– 教科書:やさしい Java 第 5 版

– USB メモリは毎回持参すること

(4)

授業概要

• 授業の目的と学習概要

– コンピュータを用いて計算処理を行うには、プログラムが必要 不可欠である。本授業では、プログラムの作成方法を初歩から 学び、プログラミングの基礎力を身につけることを目標とする。

プログラミング言語としては、広く用いられている Java 言語を使 用する。

– プログラミングAの授業で習った内容に対して、プログラミン グ演習を行うことにより、プログラミングの理解を深めること を到達目標とする。

2014/4/14

3 プログラミングA

(5)

評価方法とオフィスアワー

• 評価方法

– プログラミング A 、プログラミング演習 A 共通

• 平常点: 50 点

– 出席および中間試験

• 定期試験(期末試験、 4 クラス合同): 50 点 – 合計 60 点以上を合格とする

• オフィスアワー

– オフィスアワーについてはメールで個別に時間を予約するもの とする

• 連絡先: [email protected]

(6)

講義 / 演習の進め方と中間試験

• 講義 / 演習の進め方

– 講義 → 演習というスタイルで進めます – 内容やみなさんの進捗度合によって柔軟

に変更します

– 授業の最後に課題を出すようにします

• 課題の提出をもって、出席のカウント とします

• 中間試験

– 第 8 回目( 6 月 9 日)に実施します

– 内容は第 1 回目から第 7 回目までの内容

5

講義

演習

講義

演習

課題

提出)

2014/4/14 プログラミングA

(7)

授業用 Web サイト

• http://www.klab.is.sci.toho-u.ac.jp/classes/

• 金岡が受け持っている講義の資料(この講義 以外も)をアップロードしています

• 「プログラミング A 」のページも作成しまし た

• 講義資料を PDF 化してすべて載せていきます。

閲覧方法の詳細はあとで行います

(8)

7

Agenda

• 講義 / 演習の進め方

• 評価について

• 今回の内容

– プログラムとは?

– プログラムを実行するまで

– 実際にプログラムを作成してみる – メールを送信してみる

2014/4/14 プログラミングA

(9)

プログラムとは

(10)

プログラムとは?

9 2014/4/14 プログラミングA

プログラム

「計算機(コンピュータ)に何かをやら せたい」というときに、その動作を指示 するもの

コンピュータへの指示

そのコンピュータに応じた機械語で命令 を書き、指示する。

詳しくは秋学期の「コン ピュータアーキテクチャ」

で学びます 人間が

機械語で

指示するの? NO

(11)

プログラム言語

コンピュータと人間を結ぶ、

コンピュータに指示するための言語

さまざまな言語

C

Java C++

C#

Visual Basic Ruby

Python

Perl

Prolog

FORTRAN

COBOL

Pascal

(12)

言語処理系

2014/4/14 プログラミングA

11

エディタ

ソース プログラム

ソース プログラム

コンパイラ

コンパイラ

目的 プログラム

目的 プログラム

リンケージ エディタ

実行時 ライブラリ

実行 プログラム

実行 デバッガ

コンパイル 機械語

(に近い)ゾーン 我々が

作るプログラム

詳しくは3年春学期(選択)の

「コンパイラとプログラミング言語」で学べます

(13)

コンパイラを各計算機の環境ごとにつくらないといけない

目的プログラムは各環境に応じたものを用意しなければならない

実行プログラムは各環境に応じたものになる

Java と仮想計算機

エディタ

ソース プログラム

ソース プログラム

コンパイラ

コンパイラ

目的 プログラム

目的 プログラム

リンケージ

エディタ 実行

プログラム

コンパイルした環境と同じ計算機環境で実行するようにコンパイルされる

環境に依存しない仮想的に考えられた計算機(バーチャルマシン、仮想計算機)と、

仮想計算機用のプログラムを実行可能なソフトを計算機とOSの組ごとに作成すれば、

プログラム作成者は1つのプログラムを作るだけで様々な環境でプログラムが実行できる

(14)

Java :プログラム作成から実行まで

2014/4/14 13

ソースプログラム

バイトコード コンパイラ

プログラミングA

インタプリタ

実行

****.java というファイル

****.class というファイル

(15)

エディタ

ソースプログラムの作成時に 利用するソフトウェア

JCpad Eclipse

秀丸エディタ

Visual Studio

(16)

プログラムを見てみよう

• 一番簡単なプログラム

15

class HelloWorld{

public static void main(String[] args){

System.out.println(“Hello World!”);

} }

2014/4/14 プログラミングA

(17)

• 動画:mpeg, avi, mp4など

• 音楽:mp3, wmvなど

• 文書:docx, txt など

• スライド:pptxなど

• 表:xlsxなど

JCPad の使い方 … の前に

Windows上のデータ

• データは「ファイル」という単位でコンピュータ内に保存されている。

• さまざまなタイプの「ファイル」がある

 画像、動画、音楽、文書、スライド、表

区別するためにファイルの名前に「拡張子」を付ける

kanaoka.jpg

拡張子

(18)

JCPad の使い方 … の前に

17

ファイルをしまう構造

• 1つのエリアにすべてのファイルを置くと混乱する

• 小分けをする

「フォルダ」

フォルダ

• フォルダは入れ物

• フォルダの中にファイルを入れる。

• フォルダに名前を付ける、とわかりやすい。

学年ごと、授業ごと、用途ごと、ファイル種類ごと……等々

2014/4/14 プログラミングA

(19)

JCPad の使い方 … の前に

エクスプローラ

• ファイルやフォルダの閲覧などの取り扱いをする

(20)

JCPad の使い方 … の前に

2014/4/14 プログラミングA

19

スタートボタンから「コンピュータ」を選択

(21)

JCPad の使い方 … の前に

USBメモリを挿す ※初回はしばらく待てばUSBメモリが認識される

(22)

JCPad の使い方 … の前に

2014/4/14 プログラミングA

21

ブラウザでWebを見よう

「すべてのプログ ラム」をクリック

「Internet Explorer」 をクリック

(23)

JCPad の使い方 … の前に

(24)

JCPad の使い方 … の前に

2014/4/14 プログラミングA

23

授業用Webサイトを見よう

ここに

http://www.klab.is.sci.toho-u.ac.jp/classes/

と入力し、Enterキーを押そう

(25)

JCPad の使い方 … の前に

(26)

JCPad を使おう

25 2014/4/14 プログラミングA

USBメモリの中身を見る

「リムーバブルディスク」

をダブルクリック

(27)

JCPad を使おう

JCPadを起動

「jcpad.dat」

をダブルクリック

(28)

JCPad を使おう

27 2014/4/14 プログラミングA

ここにプログラムを書いていく

(29)

入力してみよう

class HelloWorld{

public static void main(String[] args){

System.out.println(“Hello World!”);

}

}

(30)

プログラムを作ったら

29 2014/4/14 プログラミングA

保存(セーブ)

• なによりもまずセーブ

このアイコンをクリック

(31)

保存場所

USBメモリの中のフォルダへ 通常は

このままで良い

(32)

ファイルの名前を付ける

2014/4/14 プログラミングA

31

「ファイル名」のゾーンに名前を入力

入力が終わったら

「保存」を押す

(33)

ファイルを保存する

[新規1] だったものが

HelloWorldに変わっている ことを確認

(34)

保存されたファイルをエクスプローラで確認する

2014/4/14 プログラミングA

33

(35)

プログラムを作ったら

コンパイル

このアイコンをクリック

(36)

コンパイル

2014/4/14 プログラミングA

35

成功すると

失敗すると

エラーメッセージが出る

(37)

コンパイルが成功すると

.classファイルが生成される

(38)

実行させてみよう

37 2014/4/14 プログラミングA

コンパイル+実行

このアイコンをクリック

(39)

実行すると

(40)

練習 1

39 2014/4/14 プログラミングA

Hello World!を作ってコンパイル、実行してみよう!

(41)

プログラムの中身を見る

クラスの宣言

main()メソッド の開始部分

実行されるメソッド

main()メソッド の終了部分

(42)

メソッド

2014/4/14 プログラミングA

41

• 直訳すると方法。

• 1つのプログラムの中に、さまざまなメソッドをつくって、それらを有 機的に結合していって1つのプログラムにしていける

たとえば

「画像を画面に出力して、加工して、ファイルに保存する」という プログラムを作りたい!

画面に出力、というメソッド 画像を加工、というメソッド ファイルに保存、というメソッド

○3つのメソッドを作っておく

メインメソッド

3つのメソッドを順に呼ぶ

(43)

クラス名

ルールがある

• “-”などの記号は使えない

• 空白を入れてはいけない

• 推奨されないものもある

• 大文字で始まっていない

• アンダースコア ( _ ) 使う

• 日本語のクラス名

ファイル保存のときはクラス名と同じファイル名

class HelloWorld だったら HelloWorld.java で保存

(44)

System.out.println

43 2014/4/14 プログラミングA

「標準出力」に出力する

標準出力? プログラムが作り出したものを出力する出し先 にはいろいろな可能性がある

画面

ボタン

電灯

フォルダ

コンピュータ

出力の指定を特にしない場合に、最初から決まって いるもの、それが標準出力

ここでは「コンソール」と呼ばれる画面

(45)

練習 2 :キーボード入力の読み込み

下のプログラムを作ってコンパイル、実行してみよう!

(46)

実行結果

2014/4/14 プログラミングA

45

(47)

実行結果

(48)

実行結果

2014/4/14 プログラミングA

47

(49)

メールを送ろう

まずブラウザを開く 「Webメール」を クリック

(50)

メールを送ろう

2014/4/14 プログラミングA

49

WebMailシステムにログイン

(51)

メールを送ろう

ログイン後の画面

※注:画面は教員用のものなので学生用は細部が異なる可能性があります

(52)

メールを送ろう

2014/4/14 プログラミングA

51

メールを作成 「メール作成」を

クリック

(53)

メールを送ろう

メール作成画面

(54)

メールを送ろう

2014/4/14 プログラミングA

53

メール作成画面

(55)

メールを送ろう

ファイルを添付

「参照」を クリック

(56)

メールを送ろう

2014/4/14 プログラミングA

55

添付するファイルを選択

(57)

メールを送ろう

(58)

メールを送ろう

2014/4/14 プログラミングA

57

「メール送信」を クリック

(59)

メールを送ろう

送信完了

(60)

課題:

ソースプログラムのメール添付と送信

59 2014/4/14 プログラミングA

今日作った2つのプログラムをメールに添付して金岡に送ろう

参照

関連したドキュメント

public static void main(String args[]) { Point p = new Point(10, 20);?.

public static void main(String[] args) throws Exception { Socket socket = new Socket("localhost", 7000);. DataInputStream

public class ShowDateImpl extends Activatable implements ShowDate { public static void main(String argv[]){.

mainメソッドが存在しません public static void main(String[]) が存在していない。

public class ShowDateImpl extends Activatable implements ShowDate { public static void main(String argv[]){.

mainメソッドが存在しません public static void main(String[]) が存在していない。

public static void main ( String args[] ) throws IOException {. } // main処理の終了 } // Prog1プログラムの終了 変数宣言

public static void main(String[] args) throws IOException { BufferedReader reader =. new BufferedReader(new InputStreamReader(System.in)); int