이신플러스의 달콤쌉싸름한 낙원

반응형

プログラム言語及演習1

第1回資料 



주요 단어 정리

-시험 준비





はじめに

プログラミング: コンピュータがきちんと計算を行えるように命令の手 順を決め、その命令手順を記述した「プログラム」を 作成する作業。

プログラムはプログラミング言語を用いて記述。

プログラミング言語: コンピュータが処理しやすいように設計された人工 的な言語。C言語もその中のひとつ。

처음으로
프로그래밍:컴퓨터가 제대로 계산하도록 명령의 순서를 정하고 그 명령 순서를 기술한 "프로그램"을 작성하는 작업.
프로그램은 프로그래밍 언어를 사용하여 기술.
프로그래밍 언어:컴퓨터가 처리하기 쉽게 설계 인공적인 언어.C언어 그 중하나.


プログラミングの習得に求められること

• プログラミング言語の文法の知識 • アルゴリズムの知識 • 全体の流れを決め、最適なコードを組み立てる力 • デバッグ能力 • 慣れ

프로그래밍 습득에 요구되는 것
·프로그래밍 언어의 문법 지식·알고리즘 지식·전체 흐름을 결정하는 최적의 코드를 조립하는 ·디버깅 능력·습관


コンピュータのしくみを理解する

ハードウェア=プロセッサ+メモリ+I/O

PCのふたを開けるとたくさんのICが 詰め込まれている。

ICの内部には数十個~数百万個の 小さなトランジスタが入っており、それ らを組み合わせることで、コンピュー タのさまざまな機能が実現される。

컴퓨터 구조를 이해한다
하드웨어=프로세서+메모리+I/O
PC 뚜껑을 열면 많은 IC이 녹아들어 있다.
IC 내부에는 수십개~수백 만개 작은 트랜지스터 있었고, 이것들을 조합하는 것으로 컴퓨  다양한 기능이 실현된다.


コンピュータのしくみを理解する

ハードウェア=プロセッサ+メモリ+I/O

ICには多くの種類がある。機 能的に分類すると「プロセッ サ(CPU)」、「メモリ」、「I/O ( Input/Output= 入出力装 置)」の3種類に大別できる。 大雑把に言えば、PCのハー ドウェアは、プロセッサ、メモ リ、I/Oから構成されている。

컴퓨터 구조를 이해한다
하드웨어=프로세서+메모리+I/O
IC에는 여러 종류가 있다.계기 능력적으로 분류하면"프로셋사(CPU)","메모리","I/O(Input/Output=입출력 장치 둔다)" 3종류로 구분할 수 있다. 대충 말하PC 하티 웨어는 프로세서, 메모거나 I/O로 구성되어 있다.

プロセッサはコンピュータの頭脳。 プログラムの内容を解釈して実行する機能を有する。 プロセッサは内部または外部に接続されたクロック(水晶 発信器)のカチカチという電気信号に合わせて動作する。 1GHz(ギガヘルツ)で動作するプロセッサなら1秒間に10 億回のカチカチ信号を受けている。
프로세서 컴퓨터 두뇌 프로그램 내용을 해석하고 실행하는 기능을 갖는다.프로세서 내부 또는 외부에 접속 클락(수정 발신기) 똑딱똑딱 전기 신호에 맞추어 동작한다. 1GHz(기가 헤르츠)에서 동작하는 프로세서라면 1초에 10억회 째깍 째깍 신호를 받고 있다.

メモリも頭脳の一部だが、作業に必要な一時記憶を担う。 プログラム(命令とデータ)を記録する機能を有する。 例えば64MBの記憶容量のメモリが、あるコンピュータに 装備されているとする。メガは10の6乗=100万。1バイ ト=8ビットで半角1文字を記録できるので、64MBのメモ リでは6400万文字分のプログラムを記録できる。
메모리도 두뇌 일부지만, 작업에 필요한 일시 기억을 담당한다. 프로그램(명령과데이터)를 기록하는 기능을 갖는다. 예를 들면 64MB 기억 용량의 메모리가  컴퓨터에 장비되고 있다며. 메가는 10 6제곱=100만.1바이 =8비트 반각 1문자를 기록할 수 있기 때문에 64MB 메모 에서는 6400 문자  프로그램을 기록할 수 있다.

PC本体とキーボードやディスプレイなどの周辺装置を接 続する機能を持ったICが、I/O。 I/Oは周辺装置の種類ごとに専用のものが使用される。 PC本体のコネクタの奥には、それぞれ専用のI/Oが存在 する。 ネットワークカードやサウンドボードなどの新しい周辺装 置をPCに追加する場合には、I/Oを装備した拡張ボードを PCに装着することになる。
PC본체와 키보드나 디스플레이  주변 장치를  계속하는 기능을 갖춘 IC I/O.I/O 주변 장치의 종류마다 전용 것이 사용된다. PC본체의 커넥터안쪽에는 각각 전용 I/O가 존재한다. 네트워크 카드와 사운드 보드  새로운 주변 장치  PC 추가하는 경우에는 I/O 장비한 확장 보드를 PC에 장착하게 된다.

コンピュータの動作はとてもシンプル
ICが持つ個々のピンは、電源供給、データ授受、アドレ ス指定、動作制御のいずれかの役割を持つ。必要な ICを買ってきて、個々のピンを相互に正しく接続すれば、 誰でもコンピュータを作ることができる。
컴퓨터 동작은 간단하다
IC가 갖는 개개의  전원 공급, 데이터 수수, 아도레  지정 동작 제어하나 역할을 한다.필요한 IC을 사다가 각각의 핀을 서로 올바르게 접속하누구 컴퓨터를 만들 수 있다.



フォン・ノイマン型 アーキテクチャ 
プログラムカウンタ(PC) 次に読み込む命令のメモリ上の位置、つま りアドレスを示している。プロセッサはPCに 示されたアドレスの位置にある命令をメモリ から読み出す。 命令レジスタ(IR) メモリから読み込まれた命令を置いておくと ころ。プロセッサはここに置かれた命令を解 読(デコード)して、それに応じた処理を行う。 フラグレジスタ(FR) 命令の処理結果の状態を保持するためのレジスタ。 その後の命令はフラグレジスタの状態によって処 理の内容を変更する。 算術論理演算ユニット(ALU) 加算や減算などの算術演算や、ANDやORなどの 論理演算を行うところ。レジスタから取り出された データがALUの中を通ると適切な演算がなされ、そ の結果が再びレジスタに戻される。 プログラムとデータはともにメモリ上に記憶されてい る。プロセッサはメモリから一つひとつ命令を取り出 し、その命令に応じて処理を実行。 データレジスタ(R0からR31) メモリから取り出したデータ をプロセッサ内部で記憶して おくための場所。レジスタは、 メモリより高速に読み書きで きるので、一時的な値はレジ スタに記憶しておくことで計 算を素早く行うことができる。 

 노이만형 아키텍처 
프로그램 카운터(PC)다음 읽기 명령 메모리상 위치, 아내 혼자 주소를 나타내고 있다. 프로세서 PC에 제시된 주소 위치에 있는 명령을 메모리로부터 읽어 낸다. 
명령 레지스터(IR)메모리에서 가져온 명령을 놓아두면 시절.프로세서 여기에 놓인 명령을 해 (복호화) 하고 그것에 따른 처리를 한다.

플래그 레지스터(FR)명령 처리 결과 상태를 유지하기 위한 레지스터. 그 후의 명령은 플래그 레지스터 상태  이치 내용을 변경한다. 

산술 논리연산 유닛(ALU)덧셈이나 뺄셈  산술 연산이나, AND, OR 논리 연산을 하는 곳. 레지스터에서 선정된 데이터가 ALU사이를 지나면 적절한 연산이이루어지고  결과가 다시 레지스터에 돌아온다. 프로그램과 데이터는 동시 메모리상 기억되어 있다. 프로세서 메모리로부터 일일이 명령을 , 명령에 따라 처리를 실행 

데이터 레지스터(R0에서 R31)메모리로부터 꺼낸 데이터를 프로세서 내부에서 기억하기 위한 장소.레지스터 메모리보다고속으로 게 써 일시적인 값은 계산대 수타 기억함으로써 모두 계산을 재빠르게 실시할 수 있다.

メモリは実行中のプログラムとプログ ラムが使用するデータを記憶しておく ための装置。 メモリ上のデータの格納場所には、そ れぞれアドレス(番地)が割り振られて いる。メモリにデータを書き込むときは、 書き込み信号とともにアドレスとデータ を一斉に送る。すると、アドレスで指定 されたメモリ上の場所にデータが記憶 される。逆にメモリからデータを読み込 むときは、読み込み信号とアドレスをメ モリに送る。すると、指定されたアドレ スに記憶されたデータがメモリから出 力される。 アドレスを指定することで、メモリ上の どの位置でも自由に読み書きできる。
메모리는 실행 중인 프로그램과 뿌로구 램이 사용하는 데이터를 기억하기 위한 장치. 메모리 상의 데이터의 격납 장소에는, 그리고 이거  주소(번지)배정되고 있다. 메모리에 데이터를 쓸 때  신호와 함께 주소와 데이터를한꺼번에 보낼. 그러면 주소로 지정된 메모리상 장소에 데이터가 기억한다.반대로 메모리로부터 데이터를  는, 읽은 신호로 주소를 메일 모리보낸다.하면 지정된 아도레  기억된 데이터가 메모리에서 나오는 이다.주소를 지정함으로써 메모리상의 어떤 위치에서도 자유롭게 읽고 쓴다.

バス
データの通り道のこと。信号線の束。メモリとプロセッサ間で やりとりされるデータはすべてバスを通る。
버스
데이터의 통로이다. 신호 선의 묶음.메모리와 프로세서 간에 교환되는 데이터는 모두 버스를 지난다.

コンピュータの動作原理
コンピュータの実行サイクル コンピュータは一つの命令を実行する際に、そ の命令をいくつかのステップに分けて処理する。 この一連の処理ステップを実行サイクルと呼ぶ。 コンピュータは、この実行サイクルを1秒間に数 千万回という速さで繰り返していく。
컴퓨터 작동 원리
컴퓨터의 실행 사이클 컴퓨터는 하나 명령을 실행할 때  명령을 몇가지 단계로 나누어 처리한다. 이 일련의 처리 단계를 실행 사이클이라고 부른다. 컴퓨터는 이 실행 사이클을 1초에   만회 속도로 반복한다.


コンピュータの 動作原理 実行サイクルの各ステップ 

1.命令フェッチ プログラムカウンタ(PC)の値を用いて、 命令をメモリから命令レジスタ(IR)に読 み込む。

2.命令デコードとレジスタ読み出し 命令をデコード(解釈)する。その次にレジスタにアクセスして値を取り出す。 さらに次の命令フェッチに備えて、次の命令を指すようにPCの値を更新する。 3.命令の実行または実効アドレス生成 前のデコード結果に従いALUが演算を行う。命令がメモリアクセスの場合はア クセスするアドレスを計算し、分岐命令の場合は分岐先アドレスを計算する。 4.メモリアクセスまたは分岐完了 メモリアクセスの場合は、前に求めたアドレスに対してメモリアクセスを行い、 データをロード(読み込み)/ストア(書き込み)する。分岐の場合は、計算した 分岐アドレスをPCにセットする。 5.レジスタ書き込み ALUの出力結果をレジスタに書き込む。ロード命令の場合はロード結果をレジ スタに書き込む。

컴퓨터 작동 원리를 실행 사이클의 각 스텝 
1. 명령 페치 프로그램 카운터(PC) 값을 이용하여 명령을 메모리로부터 명령 레지스터(IR) 읽어 다.
2. 명령 디코딩 레지스터 출력 명령을 디코딩(해석) 한다.  다음 레지스터에 접근하고 값을 꺼낸다. 다음 명령 페치에 대비하 다음 명령을 가리키게PC 값을 갱신한다. 
3. 명령의 실행 또는 실효 주소 생성  디코딩 결과에 따르는 ALU 연산을 실시한다. 명령이 메모리 액세스의 경우는  크세스하는 주소를 계산하는 분기 명령 경우 분기처 주소를 계산한다
. 4. 메모리 액세스 또는 분기 완료 메모리 액세스의 경우 전에 요구한 주소에 대해서 메모리 액세스를 갖고 데이터를 로드(읽기)/스토어() 한다. 분기 경우는 계산한 분기 주소를 PC 세팅한다. 
5. 레지스터  ALU 출력 결과를 레지스터에 입력한다.로드 명령 경우는 반지 결과를 계산대 수타에 쓴다.


プログラミング言語(プログラム言語) 計算機に対し動作手順、動作方法、動作内容など を適切に指示するために用いられる、人工的に構 成された言語体系のこと。

機械語:コンピュータの中央処理装置が直接解釈で きる命令。0と1だけからなる2進数の羅列で記述さ れている。

人間には機械語を扱うのは難しい。計算機に与える 指示を、より人間にとって扱いやすい表現で与える ための手段として、プログラミング言語が用いられて いる。

프로그래밍 언어(프로그램 언어)계산기에 대한 동작 순서, 동작 방법, 동작 내용 등을 적절하게 지시하기 위해서 이용되는 인공적으로 구성 언어 체계이다.
기계어:컴퓨터 중앙 처리 장치가 직접 해석으로 자른 명령. 0 1에서만 된 2진수의 나열로 기술되고 있다.
인간은 기계어 다루는 것은 어렵다.계산기에 미치는 지시를 더 인간에게 다루기 쉬운 표현으로 주기 위한 수단으로 프로그래밍 언어가 사용되고 있다.


機械語の数値的表現を改善するために英語的表現を取り入れ たのがアセンブリ言語。

アセンブリ言語を機械語に翻訳する作業をアセンブルといい、そ のためのソフトウェアをアセンブラと呼ぶ。

しかし、アセンブリ言語もカナやローマ字のような所詮は機械語 と1対1対応の関係。CPUに依存する。

そこで、人間とコンピュータの橋渡しをするものとして高級言語が 作られた。高級言語はCPUに依存しない。解決すべき問題に適 応した各種高級言語が産まれた。

高級言語とは、解決すべき問題への依存が強い言語を意味し、 逆にコンピュータハードウェアへの依存が強い言語を低級言語と いう。

기계어 수치적 표현을 개선하기 위해서 영어적 표현을 도입한 것 어셈블리 언어.
어셈블리어 기계어로 번역하는 작업 어셈블다는, 그리고를 위한 소프트웨어를 어셈블러라고 부른다.
그러나 어셈블리 언어 가나 로마자처럼 결국은 기계어 1 1대응 관계.CPU에 의존한다.
거기에서 인간과 컴퓨터 중개하는 으로 고급 언어가 만들어졌다. 고급 언어는 CPU에 의존하지 않는다. 해결해야 할 문제 적합 가능한 각종 고급 언어가 태어났다.
고급 언어 해결해야 할 문제에 대한 의존도가 높은 언어를 의미하고 반대로컴퓨터 하드웨어에 의존 강한 언어를 저급 언어라는.


コンピュータは機械語しか理解できないため、高級言語 で書かれたプログラムは機械語に翻訳する必要がある。

Cは高級言語のひとつ。

高級言語を低級言語に一括翻訳する作業をコンパイル といい、そのためのソフトウェアをコンパイラという。

さらに高級言語を逐一翻訳しながら同時に実行も行うソ フトウェアをインタプリタという。

具体的なコンパイラやインタプリタのプログラムを言語 処理系あるいは処理系と呼ぶ。

컴퓨터는 기계어밖에 이해할 수 없기 때문에 고급 언어 쓰인 프로그램 기계어로 번역해야 한다.
C 고급 언어 하나.



고급 언어를 저급 언어 일괄 번역하는 작업을 컴파일과 이를 위한 소프트웨어를 컴파일러와 한다.
더 고급 언어를 일일이 번역하면서 동시에 실행도 하는 서울 후토복을 인터프리터라고 한다.
구체적인 컴파일러나 인터프리터 프로그램을 언어 처리계 혹은 처리계라고 부른다.


Cによって書かれたプログラムをソースプログラムと 呼ぶ。ソースプログラムを機械語あるいはアセンブリ 言語に翻訳する作業をコンパイルと呼び、コンパイラ というソフトウェアによって行われる。

アセンブリ言語を経由する場合はここでアセンブルが 行われる。コンパイラ、あるいはアセンブラによって、 ソースプログラムから機械語の部品が作成されるが、 これは不完全なプログラムであり、まだCPUが実行で きる形式ではない。

この不完全なプログラムを、他の部品と結合して、完 全な機械語プログラム(実行可能形式プログラム)を 生成するのがリンクと呼ばれる作業である。

c에 의해서 쓰인 프로그램 소스 프로그램이라고 부른다. 소스 프로그램을기계어 혹은 어셈블리 언어로 번역하는 작업 컴파일과 부르며 컴파일러라고 하는 소프트웨어에 의해서 이루어진다.
어셈블리어를 경유하는 경우 여기에서 분해 진행된다. 컴파일러, 어셈블러에 의해서, 소스 프로그램에서 기계어 부품이 작성하는데, 이는 불완전한프로그램이며, 아직 CPU가 실행에서 업다 형식이 아닙니다.
 불완전한 프로그램을 다른 부품과 결합하여 완제  기계어 프로그램(실행가능 형식 프로그램) 생성하는 것이 링크로 불리는 작업이다.


コンパイル時とリンク時に生ずるエラーはその意味合 いが全く異なる。前者は文法、構文に関するものであ り、後者は主としてシンボル名の不整合に関するも のである。またアルゴリズムの不備に起因する不整 合は実行時エラーとして現れる。

エラーの修正はプログラマの宿命。プログラミング初 級者はこの3つのエラー、コンパイルエラー、リンクエ ラー、実行時エラーを見極めることが第一。 もちろん、「エラーが出なければ正解」ではない。エ ラーが出なくてもプログラムは正しく動かない場合が あるので注意。

컴파일시와 링크시에 생기는 오류는  의미 밤송이가 전혀 다르다. 전자는문법, 구문에 관한 것으로어, 후자는 주로 상징 이름의 부정합에 관한 것이다. 또 알고리즘 미비에 기인하는 부정 도착 실행 시 에러가 나타난다.
에러 수정은 프로그래머 숙명. 프로그래밍  급자는  3개의 실책, 컴파일오류,  쿠에 실행 시 에러를 판별하는 것이 제일. 물론"에러가 나서지 않으면 정답" 아니다. 가 나오지 않아도 프로그램은 제대로 움직이지 않는 경우가 있어서 주의.


C言語はコンパイラ型言語

プログラミング言語の利用形態による分類 アセンブリ言語:機械語に対応する命令をシンボリッ クな表現で記述する。CPUのレベルに近い命令記述 がとられることから、機械語とともに、低級言語と呼 ばれる区分にも分類される。 コンパイラ型言語:変数名や数式などのような、人 間が読みやすい、より抽象的な表現によってプログ ラムを記述し、コンパイラを用いて機械語や中間言 語などのより低レベルの命令に変換し、目的のプロ グラムを生成する。 インタプリタ言語:実行時にその都度、命令の解釈と 実行を行う。コンパイルの過程がないか、あるいは ユーザーから隠されている形態。

C언어는 컴파일러형 언어
프로그래밍 언어 이용 형태에 의한 분류 어셈블리어:기계어에 대응하는 명령 싱보릿  표현으로 기술한다. CPU수준 가까운 명령 서술이 취하는 것에서 기계어와 함께, 저급 언어로 불리는 구분에도 분류된다. 컴파일러형 언어:변수 이름과 수식 등 같은 사람 사이 읽기 쉽고 보다 추상적인 표현에 의해서 뿌로구 을 기술하고, 컴파일러를 사용하여 기계어와 중간 말어 등 보다저급한 명령으로 변환하고, 목적 프로 그램 생성한다. 인터프리터 언어:실행시 그때마다 명령 해석과 실행한다.컴파일 과정이 없거나 사용자에게 숨기 있는 형태.



C言語は手続き型言語

プログラミング言語の構成の違いによる分類 • 手続き型言語:手続きの集まりをもとに、ジャンプ、 条件判定、繰り返しなどを制御しプログラムを構築 (Fortran、COBOL、BASIC、C言語、Pascal) • 関数型言語:関数の合成として表現 (Lisp、Scheme、F#) • 論理型言語:論理式の集まりとして表現 (Planner、Prolog) • オブジェクト指向言語:オブジェクト群とその相互作 用として表現 (Smalltalk、C++、Java、C#)

C언어는 절차형 언어
프로그래밍 언어 구성의 차이에 의한 분류·절차형 언어:절차 모임을 바탕으로 점프, 조건 판정, 반복 등을 제어하는 프로그램을 구축(Fortran, COBOL,BASIC, C언어, Pascal)·함수형 언어:함수의 합성으로 표현(Lisp, Scheme,F#)·논리형 언어:논리식 모임으로 표현(Planner, Prolog)·객체 지향 언어:객체 군과 그 상호작용으로 표현(Smalltalk, C++, Java, C#)


C言語は手続き型言語

手続き(命令)型プログラミング • 実行すべき一連の計算ステップを持つ。手続きと は記述された命令のこと。手続きはプログラム実 行中の任意の時点で呼び出すことができ、他の手 続きからの呼び出しも、自分自身からの呼び出し (再帰呼び出し)も含まれる。

手続き型プログラミング以外の方式 • 逐次型プログラミング • 非構造化プログラミング 複雑なコードを組むことは困難。保守性が悪い。

C언어는 절차형 언어
절차(명령형 프로그래밍·실행해야 할 일련의 계산 단계를 갖는. 절차는 기술된 명령 . 수속은 프로그램 사실   임의의 시점에서 불러낼 수 있고, 나머지  이어의 호출도 자신 호출(재귀 호출) 포함된다.
절차적 프로그래밍  방식·축자형 프로그래밍·비구 조적 프로그래밍 복잡한 코드를 짜는 것은 곤란.보수성이 나쁘다.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading