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

マークアップ言語

N/A
N/A
Protected

Academic year: 2021

シェア "マークアップ言語"

Copied!
60
0
0

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

全文

(1)

東北大学全学教育科目

情報基礎

B

1

セメスター 金曜 2 講時

工学部

15, 16 組

JAVA

JAVA

言語初級プログラム(基本)

言語初級プログラム(基本)

    

    

建築・社会環境工学科

(2)

プログラミング

コンピュータの言語は「

0」と「1」で書かれる

例えば・・・

1 + sin 50 = ???

+」や「sin」,「50」を 0 と 1 で命令しなければならない・・

このような命令文を『ソフトウェア』あるい

は『プログラム』と呼ぶ

人がわかる言語

(プログラム言語)

機械がわかる言語

(「0」と「1」の数字列)

高級言語

低級言語

プログラム言語

(Java言語やFORTRAN言語など)を用い

て,人がわかり易い表現で命令文を作り,それを機械語

(3)

機械語への変換

ニーモニック言語:  「

アセンブル

する」

Java や FORTRAN や C:

              「

コンパイル

する」

BASIC:     「

インタープリット

する」

人がわかる言語

(プログラム言語)

機械がわかる言語

(「

0」と「1」の数字列)

高級言語

低級言語

機械語

普通の人は「

高級言語

」でしかプログラミングができな

い.だから,それを機械語に「

変換

」する必要がある.

変換

(4)

プログラミング

目的:

計算のフロー制御や判断を正確にコンピュータに命

令するプログラムを作るための基礎を学ぶ.

※この授業では

Java言語を用いるが,これは単な

るプログラム言語の一例としてである.

多分将来は

C や FORTRAN を使うことになる.

Java のシステムはインターネットでダウンロードでき

るので,自宅の

PC にインストールして利用したい場

合は,例えば

http://www.smg.co.jp/seminar/java/

(5)

UNIX コマンドの復習

コンソールを立ち上げて,プログラムファイルを作成する

(6)

コンソールを立ち上げて,プログラムファイルを作成する

ディレクトリ直下のファイル情報の表示

(7)

コンソールを立ち上げて,プログラムファイルを作成する

ディレクトリの新規作成

Java のプログラムを作るディレ

クトリを別に作っておこう.

UNIX コマンドの復習

(8)

コンソールを立ち上げて,プログラムファイルを作成する

子ディレクトリへ移動

(9)

コンソールを立ち上げて,プログラムファイルを作成する

Kwriteの実行

必ずバックグラウンドで実行

そうでないとコンパイルができなくなる

UNIX コマンドの復習

(10)

プログラムの実行方法(練習)

以前ダウンロードした『

3ple.html』より,最初の簡単な

プログラムをコピー・ペーストを用いてテキストエディタ

(Kwrite) に貼り付ける.

(11)

以前ダウンロードした『

3ple.html』より,最初の簡単な

プログラムをコピー・ペーストを用いてテキストエディタ

(Kwrite) に貼り付ける.

2. ファイル名を『joho.java』で保存する.

プログラムの実行方法(練習)

Java のプログラムファイルは,

拡張子を『

.java』にする.

(12)

プログラムの実行方法

ソースファイル

  プログラム言語

(Java 言語など)でテキストエディ

タを使って作ったプログラムファイル.

コンパイル

:人が理解できる言語からコンピュータ

が理解できる言語へ変換すること.

クラスファイル

:ソースファイルをコンパイルして作ら

ソースファイルをコンパイルする

(13)

プログラムの実行方法

ソースファイルをコンパイルする

javac joho.java」と入力しエンターを押す

コンパイルをするためのコマンド

コンパイル対象のソースファイル

(14)

プログラムの実行方法

ソースファイルをコンパイルする

クラスファイルができる.

(15)

プログラムの実行方法

プログラムを実行する

java joho」と入力しエンターを押す.

クラスファイルを読み,プログラムを実行するコマンド

クラスファイルのファイル名

(注意;『.class』は抜かす)

(16)

プログラムの実行方法

プログラムを実行する

プログラムが実行され,ここでは『

Hello

 

Java World!』と表示された.サンプ

ルはちょっと違って 『

Hi, I am OK!』とな

ると思うが・・・

(17)
(18)

ソースファイルの基本形

(19)

ソースファイルの基本形

本体以外の部分は決まり文句

!!

(20)

ソースファイルの基本形

本体以外の部分は決まり文句

!!

(21)

練習

プログラムを変更して,別の一文を表示させてみよう.

1) 出力する文字を変更したら,ファイル保存をし

2) コンパイルし直し,(javac joho.java)

3) 実行する.(java joho)

自分が指定した一文が表示されるかどうか確認する!!

(22)

エラー

(23)

エラー

コンパイルができず,警告文が出る.

わざとファイル名とクラス名を違うものにすると・・・

(24)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f);

四則演算

注意

 大文字と小文字は異なる

文字として区別される.

 英数字は全角でなく,半

角で入力する.

(25)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); System.out.println(g);

四則演算

整数変数の宣言

  

a,b,c,d,e,f, g を整

数の変数として定義

(26)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f);

四則演算

a=7,b=3と定義

(27)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); System.out.println(g);

四則演算

四則演算の実施

 + 

x+y xとyの加算

 - 

x-y xとyの除算

 * 

x×y xとyの乗算

 / 

x÷y xとyの除算

 % 

x%y yで割った余り

(28)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f);

四則演算

a,b,c,d,e,f, g をディ

スプレイ表示

(29)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); System.out.println(g);

四則演算

注意:一つ一つのコマンドの終わり

にはセミコロン“;”が付く!

(30)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f);

四則演算

注意:スペース(

半角

!)や改行はプ

ログラムの内容へは影響しない.

「見やすさ」「間違いの見つけやすさ」の

ために,適宜スペース(半角)や改行を

する.

(31)

import java.io.*; public class joho {

public static void main(String args[]) throws IOException { int a,b,c,d,e,f,g; a=7; b=3; c=a+b; d=a-b; e=a*b; f=a/b; g=a%b; System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); System.out.println(g);

四則演算:実行すると・・・

割り算注意:あとで説明

(32)

変数の宣言

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a,b,c;

a=10.0;

b=3.0;

c=a/b;

System.out.println(c);

}

}

実数変数の宣言

  

a,b,c を実数の変数

として定義

(33)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a,b,c;

a=10.0;

b=3.0;

c=a/b;

System.out.println(c);

}

}

実数変数の宣言

  

a,b,c を実数の変数

として定義

変数の宣言

今度は小数点以下も覚えてくれる

(34)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double kyori,zikann,sokudo;

kyori=10.0;

zikann=3.0;

sokudo=a/b;

System.out.println(sokudo);

}

}

宣言する変数は一文字

でなくても大丈夫!

変数の宣言

(35)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

int a,b,c;

a=10;

b=3;

c=a/b;

System.out.println(c);

}

}

整数変数とすると・・・

変数の宣言

(36)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

int a,b,c;

a=10;

b=3;

c=a/b;

System.out.println(c);

}

}

整数変数とすると・・・

a,b,c は整数として扱われ,小数点以

下は

捨てられて

しまう.さっきと同じ!

⇒ わざとそうしたい場合でなければ,

変数の宣言

(37)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

int a,b,c;

a=10;

b=3;

c=a/b;

String d;

d="a/b";

System.out.println(d);

System.out.println(c);

}

}

文字列の宣言

変数の宣言

(38)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

int a,b,c;

a=10;

b=3;

c=a/b;

String d;

d="a/b";

System.out.println(d);

System.out.println(c);

}

}

文字情報は『

"』で挟む

変数の宣言

(39)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

int a,b,c;

a=10;

b=3;

c=a/b;

String d;

d="a/b";

System.out.println(d);

System.out.println(c);

}

}

変数の宣言

(40)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a=10.0;

double b=2.0;

double c=a/b/b;

System.out.println(c);

c=c/b;

System.out.println(c);

}

}

変数の宣言と他の命令を一文

でまとめて行っても良い.

変数の宣言

(41)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a=10.0;

double b=2.0;

double c=a/b/b;

System.out.println(c);

c=c/b;

System.out.println(c);

}

}

変数の宣言と算術代入文

同じ変数を再定義することもできる.

同じ変数を何度使っても良い

代入文は最初は難しいよ!

(42)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a=10.0;

double b=2.0;

double c=a/b/b;

System.out.println(c);

c=c/b;

System.out.println(c);

}

}

変数の宣言:実行すると・・・

(43)

import java.io.*; public class dainyu {

public static void main(String args[]) throws IOException { int a; a=1; a=a+2; System.out.println(a); a=a*5; System.out.println(a); } }

算術代入文:大学生最初の

挫折

果たして? 表示される

a の値は?

ここと!

ここ!

(44)

import java.io.*; public class dainyu {

public static void main(String args[]) throws IOException { int a; a=1; a=a+2; System.out.println(a); a=a*5; System.out.println(a); } }

算術代入文:最初の挫折

つまり! ある変数の最後の値がメモリの中に「

保持さ

れている

」ことと,右辺の結果が左辺の変数に「

代入さ

(45)

もう一度!代入文の不思議

右辺にも

a があり,左辺にも a がある.

      これは一体?????

右辺の結果は

CPU のレジスタに一時的に置かれる

  それがメモリの

a の値に重ね書きされるまでは

       

a の値は不変!

代入文とは「

a のメモリにレジスタの結果を書き込むこと」

(46)

演算の優先順位

(47)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a=-10.0;

double b=5.0;

double c=Math.pow(a,b);

System.out.println(c);

System.out.println(Math.sqrt(b));

}

}

|a|

Math.abs(a)

e

a

Math.exp(a)

ln(a)

Math.log(a)

a

b

Math.pow(a,b)

⇒Math.sqrt(a)

算術演算子(関数)

a

(48)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a=-10.0;

double b=5.0;

double c=Math.pow(a,b);

System.out.println(c);

System.out.println(Math.sqrt(b));

}

}

ディスプレイ表示の命令文中でも計算可能

算術演算子(関数)

(49)

import java.io.*;

public class joho

{

public static void main(String args[]) throws IOException

{

double a=-10.0;

double b=5.0;

double c=Math.pow(a,b);

System.out.println(c);

System.out.println(Math.sqrt(b));

}

}

算術演算子(関数)

ディスプレイ表示の命令文中でも計算可能

(50)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c);

キーボード入力

(51)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c); }

キーボード入力

キーボード入力を使うときのおまじない

キーボードから入力された情報を一時的

に蓄える『

br』というバッファ(一時保管

庫)を作っておく

(52)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c);

キーボードからバッファに入力された文

字を読み込むコマンド.

一度読み込むと,次にキーボードから入

キーボード入力

(53)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c); }

キーボード入力された情報は文字列

として扱わなければならない.

キーボード入力

(54)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c);

そして,その文字列を

実数へ変換して計

算に使う・・・ちと面

キーボード入力

整数への変換:

Integer.parseInt(***)

実数への変換:

Double.parseDouble(***)

(55)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); a = br.readLine(); System.out.print("b="); b = br.readLine(); c=a/b; System.out.println("a/b=" + c); } }

キーボード入力された情報を実数型として扱うと・・・

キーボード入力 間違った方法

(56)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c is calculated"); System.out.println("a="); a = br.readLine(); System.out.print("b="); b = br.readLine(); c=a/b; System.out.println("a/b=" + c); } }

キーボード入力された情報を実数型として扱うと・・・

キーボード入力 間違った方法

コンパイル時に,エ

(57)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c); }

System.out.println

;一行の表示で改行される.

System.out.print

;一行の表示で改行されない.

コンソールへの出力(表示)

(58)

import java.io.*; public class joho2 {

public static void main(String args[])throws IOException {

double a,b,c; String strx,stry; // Object making for input

BufferedReader br =

new BufferedReader(new InputStreamReader(System.in)); System.out.println("a/c ="); System.out.println("a="); strx = br.readLine(); a= Double.parseDouble(strx); System.out.print("b="); stry = br.readLine(); b= Double.parseDouble(stry); c=a/b; System.out.println("a/b=" + c);

//~~』とすると~~は無視される

⇒プログラムを分かりやすくするた

めに用いるメモ書き.

プログラム中のコメント(メモ書き)

(59)

キーボードから二つの

整数

を読み込んで,四則計算

と余り(

a = b % c は b を c で割った余りが a に記憶

される)の計算をして,その結果を表示するプログラ

ムを作成せよ.

ダウンロードした『

3ple.html』のテンプレートから必要

な箇所をコピーして自分のファイルに貼り付けて,

Calculate.java』というファイルに保存し,引き算など

を追加した上でコンパイルして実行し,正しい結果

がでることを確認せよ.

練習

(60)

最初に

a=0 にして,1 から 10 まで足していくプログ

ラムを作り,結果が

55 になることを確認せよ.

練習

import java.io.*; public class dainyu {

public static void main(String args[]) throws IOException { int a; a=0; a=a+1; a=a+2; a=a+3; ・・・・などなど続ける.泥臭く10行のプログラムにしていい.     もっとカッコいい方法はあと学習するので・・・ System.out.println(a);

参照

関連したドキュメント

昭33.6.14 )。.

If, moreover, a and b are coprime and c is suffi- ciently large compared with a and b, then (1) has at most one solution. Diophantine equations, applications of linear forms in

By con- structing a single cone P in the product space C[0, 1] × C[0, 1] and applying fixed point theorem in cones, we establish the existence of positive solutions for a system

One can show that if C e is a small deformation of a coassociative 4–fold C of type (a) or (b) then C e is also of type (a) or (b) and thus, Theorem 1.1 implies analogous results on

[r]

We find the criteria for the solvability of the operator equation AX − XB = C, where A, B , and C are unbounded operators, and use the result to show existence and regularity

Lemma 4.1 (which corresponds to Lemma 5.1), we obtain an abc-triple that can in fact be shown (i.e., by applying the arguments of Lemma 4.4 or Lemma 5.2) to satisfy the

※ MSCI/S&P GICSとは、スタン ダード&プアーズとMSCI Inc.が共 同で作成した世界産業分類基準 (Global Industry Classification