![Page 1: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/1.jpg)
FORTRAN(1957)
プログラミング言語論
マッキン
![Page 2: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/2.jpg)
FORTRAN
• 1957年、世界初の高級言語(高水準言語)
• FORmula TRANslation (数式翻訳)に由来
• 科学技術計算に向いた手続型プログラミング言語
![Page 3: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/3.jpg)
コンピュータの歴史 • 1937ごろから、アメリカ・ヨーロッパを中心に、コンピュータの研究が進められた
– 1937 [アメリカ] アタナソフ&ベリー・コンピュータ(Atanasoff-Berry Computer)
– 1941 [ドイツ] Zuse Z3
– 1946 [アメリカ] ENIAC(エニアック、Electronic Numerical Integrator and Computer)
– 1947 [イギリス] Manchester Mark I
![Page 4: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/4.jpg)
初のデジタル電子計算機
1937 [アメリカ] アタナソフ&ベリー・コンピュータ(Atanasoff-Berry Computer)
![Page 5: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/5.jpg)
初のプログラム内蔵式コンピュータ
• Manchester Small-Scale Experimental Machine (SSEM) [イギリス]
• 1948年に最初のプログラムが動作した
![Page 6: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/6.jpg)
IBM 704
• 1954 IBM 704
• 世界初の浮動小数点演算ハードウェア採用
• 毎秒40,000個の命令を実行できる
• 1955年から1960年までに123台が販売された
![Page 7: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/7.jpg)
アセンブリ言語
• 10110000 01100001 (2進表記)
• B0 61 (16進表記)
• MOV AL, 61h (アセンブラ表記)
AL レジスタに61(hex)を入れる
• ニューモニックを用いて、マシン語を記述しやすくしたもの。
• CPU毎にマシン語も違い、アセンブリ言語も違う。
![Page 8: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/8.jpg)
アセンブリ言語に代わる言語
• ジョン・バッカスによる発明
• The IBM Mathematical Formula Translating System 1954年 仕様作成
• 1957年 コンパイラ作成
![Page 9: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/9.jpg)
FORTRANの変革
• FORTRAN(I) 32の命令
• FORTRAN II~IV, FORTRAN66
• FORTRAN77 手続型言語
• Fortran90 モジュラープログラミング、配列演算、ユーザ定義総称関数
• Fortran95 High Performance Fortran (並列計算)
• Fortran2003 オブジェクト指向
• Fortran2008 コンカレント・コンピューティング(並行計算)
![Page 10: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/10.jpg)
FORTRAN 77の特徴
• コンパイラ型
• 手続型言語(サブルーチン)
• 複素数型(虚数)が組み込まれている
• 固定形式
![Page 11: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/11.jpg)
パンチカード
• 当初はコンピュータへの入力はパンチカードを用いた
• カードは80桁(カラム)
![Page 12: FORTRAN(1957) - TUISmackin/lang/fortran.pdf · FORTRANの変革 •FORTRAN(I) 32の命令 •FORTRAN II~IV, FORTRAN66 •FORTRAN77 手続型言語 •Fortran90 モジュラープログラミング、配列演算、](https://reader034.vdocuments.pub/reader034/viewer/2022042621/5f6e373bf5783c784a4577aa/html5/thumbnails/12.jpg)
固定形式
• 大文字のA-Z(the 26 upper-case letters)と0-9(the 10 digits)と特殊文字13個(+-*/ =().,':$)のみ利用可能
–ブランクと空白は全てプログラムとして無視される。
• カラム1-5はラベルフィールド
• カラム6はcontinuation markerフィールド
• カラム7-72はステートメントフィールド
• カラム73-80はカード番号