pp-4. プログラミング基本用語など

273 Views

December 24, 21

スライド概要

Python とプログラミングの基本)
URL: https://www.kkaneko.jp/cc/colab/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

pp-4. プログラミング基本用語など (Python とプログラミングの基本) URL: https://www.kkaneko.jp/cc/colab/index.html 金子邦彦 1

2.

ここで学ぶこと • プログラミング,プログラム • ソースコード • プログラムの実行 • 開発環境 • ライブラリ類 • さまざまなプログラミング言語 2

3.

プログラミング (programming) • コンピュータは、プログラムで動く • プログラミングは、プログラムを設計、製作 すること • 何らかの作業を、コンピュータで実行させる ために行う プログラムの ソースコード プログラムの 実行結果 3

4.

ソースコード (source code) • プログラムを,何らかのプログラミング言語 で書いたもの • 「ソフトウエアの設計図」ということも. 人間も読み書き、編集できる • 複数のプログラミング言語を使うことも import picamera camera = picamera.PiCamera() camera.capture("1.jpg") exit() Raspberry Pi で,カメラを使って 撮影し,画像を保存するプログラムの ソースコード 4

5.

Python プログラムの実行手順例 • ソースコード Python プログラムのソース コードを,foo.py のような ファイル名で保存しておく • プログラムの起動は,シェル (Windows のコマン ドプロンプトなど)から,コマンドで行える 5

6.

プログラミングで気を付けること • コンピュータは「万能のマシン」と言われる こともある • プログラムで行わせたい「作業」について, 深い理解が必要 • プログラム中の誤り(バグ)を,コンピュー タが自動で発見してくれるわけではない. • 「プログラムが期待通りに動いているか」を 検証する、テストが必要 6

7.

開発環境とは 開発環境とは、プログラミングにおけるさまざ まなことを支援する機能をもったプログラム • プログラムの作成、編集(エディタ) • プログラム中の誤り(バグ)の発見やテストの支援 (デバッガ) • プログラムの実行 • マニュアルの表示 • プログラムが扱うファイルのブラウズ • プログラムの配布(パッケージ機能など),共有, 共同編集 • 公開,共有,共同編集 • バックアップ,バージョン管理 ※ これらが簡単に行えるようになる 7

8.

オンラインのプログラム開発環境 • プログラム開発環境の操作は,ウエブブラウザで できる • 自分のパソコンに,特別なソフトをインストール する必要がない • 機能制限がある場合が多い • 利用登録の有無と内容,利用条件,料金について は,利用者で確認のこと 8

9.

プログラム作成ができるウエブサービス (オンラインの開発環境)の例 Google Colaboratory https://colab.research.google.com/ • Python の開発環境 • 人工知能,データサイエンス,その他多数のパッケージがイ ンストール済み • コードセル,テキストセルを複数ノートブックにまとめ,保 存や公開できる • ノートブックにより,記録が簡単に残せる.ビジュアルな表 示も簡単に可能 • プログラムの共有も簡単 9

10.

プログラム作成ができるウエブサービス (オンラインの開発環境)の例 Python Tutor http://www.pythontutor.com/ • Python, C, Java, JavaScript • ステップ実行,オブジェクトの表示がビジュアルに 10

11.

プログラム作成ができるウエブサービス (オンラインの開発環境)の例 Coding Ground https://www.tutorialspoint.com/codingground.ht m • Python, C, Java, JavaScript, R, Octave/MATLAB の他にも , SQL, bash, アセンブリ言語など多数の言語 • ファイル作成,ファイル読み書きの実習も簡単にできる • 複数プログラムファイルの組み合わせも簡単にできる 11

12.

プログラム作成ができるウエブサービス (オンラインの開発環境)の例 • paiza.IO https://paiza.io/?locale=ja-jp • Python, C, Java, JavaScript, R の他にも SQL など多数の 言語 • 操作が簡単.表示は日本語. • 一定の条件下でファイル操作も可能 12

13.

ライブラリ類 • ライブラリとは 複数のプログラムが共有して使えるような 機能を持ったプログラムのこと. 多くの場合,プログラムの実行時にリンク(結 合)される • パッケージ (モジュール,インクルードファイ ルなどともいう) 複数のプログラムが共有して使えるような 機能を持ったソースコード ※ パッケージの種類、豊富は、プログラミング言語 とに違う 13

14.

さまざまなプログラミング言語 • Python •C • Java • JavaScript ここで行う作業 1.20 より大きければ「big」、 さもなければ「small」と表示 2.0 + 1 + 2 + 3 + 4 + 5 を求める •R • Octave • Scheme など 14

15.

なぜプログラミング言語は たくさんあるのでしょうか? それぞれ 特徴があ る Java R SQL MATLAB / Octave どのコン 初心者向 コン ピュータ け.その ピュータ でも同じ おかげで, の性能を 「データ 処理」に 特化した 「データ ベース」 に特化し 「数値計 算」, 「信号処 プログラ 多数の拡 最大限引 ムが動く. 張機能も. き出す. コマンド 言語 たコマン ド言語 理」など に特化し たコマン ド言語 普及度は トップレ ベル. Python C / C++ 15

16.

Python プログラム見本 x = 100 if (x > 20): print("big") else: print("small") • すぐに実行できる • さまざまな「パッケージ」で 機能を拡張できる • Windows でも Linux でも,ほ ほ同じプログラムで動く s=0 for i in [1, 2, 3, 4, 5]: s=s+i print(s) 16

17.
[beta]
Java プログラム見本
public class Main {

public static void main(String[] args) throws Exception {
int x = 100;
if (x > 20) {
System.out.printf("big\n");

• Windows でも Linux でも
Android アプリでも,同じプロ
グラムで動く

} else {
System.out.printf("small\n");
}
int s = 0;
for(int i = 1; i <= 5; i++) {
s = s + i;

}
System.out.printf("%d\n", s);
}

}

17

18.
[beta]
C プログラム見本
#include <stdio.h>
int main(void){

・コンピュータの決め細かなコ
ントロール

int x, s, i;

・高速実行できるチューニング

x = 100;
if (x > 20) {
printf("big\n");
} else {
printf("small\n");
}
s = 0;
for(i = 1; i <= 5; i++) {
s = s + i;

}
printf("%d\n", s);
return;

}

18

19.
[beta]
JavaScript プログラム見本
process.stdin.resume();

Webアプリに向く

process.stdin.setEncoding('utf8');
var util = require('util');

var x = 100;
if (x > 20) {
process.stdout.write('big\n');
} else {
process.stdout.write('small\n')
}
var s = 0;
for(var i = 1; i <= 5; i++) {
s = s + i;
}

process.stdout.write(util.format('%d\n', s));

19

20.
[beta]
R プログラム見本
x <- 100

データ専門家向け

if (x > 20) {
print("big")
} else {
print("small")
}
s <- 0
for (i in c(1,2,3,4,5)) {
s <- s + i

}
print(s)

20

21.

Octave プログラム見本 x = 100 行列計算,信号処理など if (x > 20) に向く printf("big\n") else printf("small\n") endif s=0 for i = [1 2 3 4 5] s=s+I endfor printf("%d", s) 21

22.

Scheme プログラム見本 (define (decide x) 関数型言語 (cond ((> x 20) "big") (else "small"))) (define (sum n) (cond ((= n 0) 0) (else (+ (sum (- n 1)) n)))) (begin (print (decide 100)) (print (sum 5))) 22

23.

全体まとめ • プログラミングは,プログラムを設計,製作する こと • プログラム開発環境とは,プログラミングにおけ るさまざまなことを支援する機能をもったプログ ラム • プログラミング言語は多数ある 23

24.

関連資料 • Python まとめページ https://www.kkaneko.jp/cc/python/index.html • Python とプログラミングの基本 Google Colaboratory を使用. https://www.kkaneko.jp/cc/colab/index.html • Python 入門(全6回) Google Colaboratoryを使用. https://www.kkaneko.jp/cc/pf/index.html • Python プログラミング演習(全9回) Python Tutor, VisuAlgo を使用 https://www.kkaneko.jp/cc/po/index.html • さまざまな Windows アプリケーションのインストールと設定 https://www.kkaneko.jp/cc/tools/index.html 24