プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1....

27
プログラミング入門 01ガイダンス,開発環境

Upload: others

Post on 09-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

プログラミング入門

第01回

ガイダンス,開発環境

Page 2: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

講義を始める前に

自己紹介

名前: 毛利 元昭

出身: 岐阜県

担当: 情報系と数学系

研究: データ解析

趣味: 雑学収集と雑談

居室: 本館9階M903

連絡: [email protected]

プログラミング入門

来室したい場合は必ず事前に連絡を!

2

感染拡大防止のため,不在

Page 3: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

自宅自習用の環境の準備

Eclipse/Pleiadesのことが分かる人!

このスライドはスルーで構いません

分からない人

Macユーザ: 配布サイトに従う

自力でやる人: 手順解説サイトに従う

楽がいい人: 毛利のスクリプトを保存して実行ただし,Windows10の64bit版が前提持ってない人は・・・買ってきてください

プログラミング入門 3

感染拡大防止のため,今学期は自宅自習がメイン自宅にJavaプログラミング環境を整えることが必須!

いずれにしても時間がかかるので覚悟しましょう

Page 4: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

インストール用スクリプトの使い方

1. まずはスクリプトを保存(ダウンロード)

2. スクリプトを保存したフォルダを開く

3. install_pleiades_64bit.bat を実行(ダブルクリック)

4. 「WindowsによってPCが保護されました」と出た場合は「詳細情報」をクリックした後で「実行」をクリック

5. 「何かキーを押してください」に対しては,Enterキー

6. 解凍ソフト 7-Zip がインストールされていない場合は「デバイスに変更を加えることを許可」の画面が表示され「はい」を押した後に「Install」

7. Pleiadesがダウンロード&インストールされるので終わるまでPCをスリープさせずに放置

プログラミング入門 4

Page 5: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

オンラインでのサポート体制

火曜4,5限にはMoodleのチャット機能

対応は即時だが,殺到して待たされる可能性は大

状況によってはTeamsの画面共有を利用

クラスの時限が合致している人を優先

それ以外の時限にはMoodleのフォーラム機能

対応は遅いが,個別に追いつつ対応

他の人に見られたくない質問等はメールあるいはTeamsのチャット機能

ただし,後回し

プログラミング入門 5

同様の質問・トラブルへの回答がないかチャットやフォーラムを確認してから

Page 6: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

授業について

授業形式

資料を基にあらかじめ自宅自習

授業時間帯(火曜4,5限)に質問対応

空いた時間に演習課題をこなし,提出

評価

課題の提出状況と,内容による加点

ウェブサイト

https://halo.aichi-u.ac.jp/~mouri/pgn/

資料やファイルの配布

課題の提出,評価の確認

今学期はMoodleも利用

プログラミング入門 6

Page 7: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

授業のサイトを使ってみる

1. ログイン

学籍番号とパスワードは大学のPCと同じ

2. ユーザの新規登録

氏名と連絡先を正しく入力

合言葉はMoodleに

3. 講義資料一覧から今日の資料を閲覧

2020プログラミング入門01.pdf を新しいウィンドウで開く

2020プログラミング入門01-x.ppsx をダウンロード(音声付きスライドショーの分割版,-xは分割後の番号)

mklnk_ws_pgn.bat を実行

プログラミング入門 7

半角小文字で空白なし

初回分のみMoodleにも掲載次回以降は原則サイトのみ

Page 8: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

教科書・参考書,参考サイト

教科書 「Java 第2版 入門編ゼロからはじめるプログラミング」三谷 純(著),翔泳社

参考書 「楽しく学ぶアルゴリズムとプログラミングの図鑑」森 巧尚(著),マイナビ出版

参考サイト(ごく一部)

一番かんたんなJava入門

マンガで分かる Java入門講座

プログラミング入門 8

プログラミングはウェブ記事を参考に自学自習し手を動かしながら学んだ方が手っ取り早い

ぶっちゃけ

↑アルゴリズム学習用(買う必要はない)

Page 9: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

注意書き

予習・復習をし,授業時間外にも課題をこなすこと

苦手なら努力をしなければ授業についていけるわけがない

授業は12回だが資料・課題のボリュームは15回分

課題は期限までに提出すること

不備があっても,こちらからは連絡しない

期限後の提出は評価減

今学期は期限後に正答例が出るものも

最終期限は8月4日21時

プログラミング入門 9

授業時間の前に自習しておいて質問をあらかじめ投稿しておくことが望ましい(オンライン形式で十分な対応が困難)

Page 10: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

この授業の目的

様々なプログラミング言語に対応できる下地作り

コードを読んでプログラムの動きを理解できる

システムエンジニアには必須技能

ソフトウェア作成の体験

コンピュータの便利さと融通の利かなさを実感

相手が理解できる言葉で説明する力

問題解決力の養成

問題の概念化,解決方法の手順化,実施結果の検証

プログラミング入門 10

プログラミングとアルゴリズムの基本を学ぶ

Page 11: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

プログラミング(コンピュータ)とは

コンピュータへの指示をまとめて記述すること

プログラミング入門 11

(1) 一の位どうしを掛け算(2) (1)の結果を記録(3) 1つ目の数の十の位と2つ目の数を掛け算(4) (3)の結果を1桁上げて記録(5) (2)と(4)を足し算

2桁×1桁を筆算で行う(足し算と1桁の掛け算は暗算)

EIH

GF

ED

C

BA

アルゴリズム(処理の手順)

データ構造(情報の表現形式)

コンピュータが理解できる形で記述

Page 12: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

プログラミング言語

プログラムの記述に使われる人工の言語

コンピュータが真に解釈できるのはそのコンピュータに固有の機械語

人間が理解できて,機械語に自動翻訳できる言語

限られた命令(単語)と厳密な規則(文法)で構成

曖昧さは可能な限り排除

定義をすれば新しい命令を利用可能

単語と文法は多くのプログラミング言語で類似=1つ覚えると他を覚えやすい

プログラミング入門 12

ソースコード コンパイル

0と1の列で表現

Page 13: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

Java

様々なプログラミング言語を参考に設計

メモリ管理の自動化など安全な設計

オブジェクト指向

現場での利用率も高め

希望開発言語ランキングNo.1

他: C/C++, JavaScript, PHP, Pythonなど

同一のアプリが様々なOS(Win, Mac, Android等)上で,そのまま動作

中間コードにコンパイル

OSごとに用意された仮想マシン(VM)上で動作

プログラミング入門 13

OS

VM

アプリ

OS

VM

アプリ

Page 14: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

開発環境(IDE)

プログラミングを効率よく行うためのシステム

コンパイル,実行,テスト,デバッグの補助

単語の色分け,アウトラインの表示

入力補完機能,記述ミスのチェック

プロジェクト,パッケージ,バージョンの管理

Eclipse

様々なプログラミング言語,OSに対応

プラグインで機能拡張可能

日本語化済みのパッケージ(Pleiades)

チーム開発もサポート(CVS, GitHub)

多くの企業・開発者が導入

プログラミング入門 14

Page 15: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

画面の見方

プログラミング入門 15

ファイル等の管理以降,PXと略記

プログラムの全体像や実行設定

ソースコードの編集

実行結果やエラーの表示

レイアウトがおかしくなったら「ウィンドウ」→「パースペクティブ」→「パースペクティブのリセット」

Page 16: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

プロジェクトの作成

Eclipseは「プロジェクト」の単位でプログラムを管理

作成方法

1. 「ファイル」→「新規」→「プロジェクト」→「Javaプロジェクト」

2. プロジェクト名を小文字で入力例: pgn011

3. 「完了」

4. module-infoは「作成しない」

PX上で操作することが前提

プログラミング入門 16

Page 17: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

ソースファイルの作成

Javaのソースコードは「クラス」という単位で構成

作成方法

1. PX上で対象のパッケージを右クリック→「新規」→「クラス」

2.ソース・フォルダー欄とパッケージ欄を確認

3.名前にクラス名を入力例: MyClass

4. public … にチェック

5. 「完了」

プログラミング入門 17

Page 18: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

Javaのプログラム構成の基本(1/2)

クラス名は英数とアンダースコア(_)で自由に設定

一部,利用できない名前も(予約語)

頭文字を大文字にするのが通例例: Example

public static void main(String[] args) { }の{と}の中に命令文を記述

プログラミング入門

public class クラス名 {public static void main(String[] args) {

命令文}

}

18

Page 19: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

Javaのプログラム構成の基本(2/2)

命令文の末尾にはセミコロン(;)を記述

空白や改行はキリの良いところに好きなだけ記述

英文のように単語ごとに区切り

大文字と小文字は区別例: Systemとsystemは別物

プログラミング入門

public class MyClass {public static void main(String[] args) {

System.out.println("こんにちは");}

}

19

Page 20: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

ブロックとインデント

{ } で囲まれた範囲を「ブロック」

{ と } は必ず1対1で対応

ブロックごとに同じ位置まで右にずらすのが通例

そのための空白を「インデント」

スペースとタブで挙動が異なることに注意

プログラミング入門

public class MyClass {public static void main(String[] args) {

System.out.println("こんにちは");}

}

20

Page 21: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

コメント文

プログラムコードの中のメモ書き

/* と */ で囲んだ範囲

// から行末まで

プログラミング入門

/* 「こんにちは」を画面に表示するプログラム作成日:2017年04月xx日

*/public class MyClass {

public static void main(String[] args) {// 画面に文字を表示するSystem.out.println("こんにちは");

}}

小まめにたくさん書くのがよい

21

Page 22: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

Javaのプログラム作成の基本

方法1: コマンドラインでコンパイルし実行

方法2: 統合開発環境の機能を利用

Eclipseの場合「実行(R)」→「実行(S)」→「2 Javaアプリケーション(2)」あるいはツールバーのボタン から

プログラミング入門

> javac MyClass.java ←コンパイル

> java MyClass ←実行

こんにちは ←実行結果

プログラムの翻訳作業

この授業ではEclipseの利用が前提

22

Page 23: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

コンパイル時のエラー

画面左下の「コンソール」エリアに表示

単語のつづり間違い

全角文字(特に全角スペース)の誤使用

似た文字の入力間違いゼロ(0),小文字のオー(o),大文字のオー(O)イチ(1),大文字のアイ(I),小文字のエル(l)セミコロン(;),コロン(:)ピリオド(.),カンマ(,)

文法間違い

行末のセミコロン(;)忘れ

カッコなどの対応不一致

プログラミング入門

内容を注意深く読みソースコードを見直しきちんと考えること

23

Page 24: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

実行可能JARファイルの作成

Javaのプログラム作成の仕上げ

作成方法

1. 「ファイル」→「エクスポート」

2.フィルター入力に「jar」

3. 「Java」→「実行可能JAR…」

4. 「次へ」

5. 「起動構成」でプロジェクト名の入ったものを選択

6. 「エクスポート先」で任意の保存先を設定

7. 「完了」

プログラミング入門 24

Page 25: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

何かがおかしい場合

プロジェクト名を間違えていた

1. PX上で対象のパッケージを右クリック→「削除」

2. 「ディスク上から~」にチェックを入れて「OK」

module-infoを作成していた

1. PX上で「module-info.java」を右クリック→「削除」

クラス名を間違えていた

1. クラス名を修正

2. 波線にマウスカーソルを置いて「Rename~」をクリック

デフォルトパッケージになっている

プロジェクト名を間違えていた場合と同様

プログラミング入門 25

Page 26: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

課題の提出

1. 授業のサイトにログイン

2. 「課題一覧」→授業01課題1の「×」をクリック

3. 「ファイルを選択」→先ほど作ったJARファイルを選択

標準では「ドキュメント>ws_pgn」の中に保存されている

JARファイルが見当たらない場合,作成し直す方が早い

4. 「提出」ボタンをクリック

5. 「合格です」を確認

合格じゃない場合,ソースと実行結果を確認して修正しJARファイルを作成し直して再提出

6. 「課題一覧」→授業01課題1が「○」であることを確認

プログラミング入門 26

課題011の作成動画

Page 27: プログラミング入門mouri/pgn/2020/docs/2020...授業のサイトを使ってみる 1. ログイン 学籍番号とパスワードは大学のPCと同じ 2. ユーザの新規登録

合格が出ない場合に確認すべき事項

提出ファイルの間違い

クラス名の間違い

必ず課題の指示に従うこと

場合によってはプロジェクトも作り直すこと

実行結果の全角・半角・記号の間違い

1文字でも違うと不合格

JARファイルエクスポート時の間違い

実行可能JARファイル

起動構成のプロジェクト名

「ライブラリー処理」は「必須ライブラリーを抽出」

「Antスクリプト」にはチェックなし

プログラミング入門 27