• 검색 결과가 없습니다.

우석대학교 에너지전기공학과

N/A
N/A
Protected

Academic year: 2021

Share "우석대학교 에너지전기공학과"

Copied!
13
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

전기실험회로 2 (C언어)

강의 (1)

우석대학교 에너지전기공학과

이우금 교수

(2)

Ch 1. 프로그래밍의 개념 1-1. 프로그램  컴퓨터의 구성  컴퓨터 = 하드웨어 + 소프트웨어 (프로그램)  컴퓨터를 범용적으로 만드는 것이 바로 프로그램.  프로그램  왜 컴퓨터에서는 일반 가전제품처럼 바로 작동하지 않고, 불편하게 사용자가 프로그램을 설치하게 되어 있을까? 1-1. 프로그램 컴퓨터를 범용적인 기계로 만들기 위해서

(3)

 컴퓨터의 정의  컴퓨터는 단순히 계산만 하는 기계가 아니다.  컴퓨터는 프로그램 (명령어들의 리스트)에 따라 데이터를 처리하는 기계.  계산기와 컴퓨터의 차이  계산기: 정해진 기능인 계산만을 수행함.  컴퓨터: 프로그램이라는 개념을 도입하여 계산뿐 아니라 다양한 기능을 수행함.  프로그램이란?  컴퓨터가 특정한 작업을 수행하도록 설계된 명령어들의 리스트  프로그램은 우리가 하고자 하는 작업을 컴퓨터에게 전달하여 주는 역할을 함. 프로그램은 컴퓨터를 통해 특정한 작업을 하기 위한 작업지시서.  프로그램 안에는 명령어가 들어 있음. 컴퓨터는 지능을 가지고 있지 않으므로 컴퓨터가 알아들을 수 있는 언어 (즉, 기계어)로 아주 자세하고 구체적으로 일을 지시해야 함. 1-1. 프로그램

(4)

1-2. 프로그래밍 언어  컴퓨터가 이해하는 언어  프로그램은 컴퓨터에게 작업을 지시하는 문서. 그러면, 어떤 언어를 사용해야 지시된 내용을 이해 할 수 있을까?  사람의 언어인 한국 또는 영어 등으로 작업을 기술한다면 컴퓨터는 이해 못함.  기계어: 컴퓨터가 알아들을 수 있는 단 하나의 언어. • 기계어는 0과 1로 구성되어 있는‘001101110001’과 같은 2진수 • 컴퓨터는 모든 것을 0과 1로 표현하고, 0과 1에 의하여 내부 스위치 회로들이 ON/OFF 상태로 변경되면서 작업을 한다.  인간이 기계어를 직접 사용한다면?  기계어를 사용할 수는 있으나 2진수로 프로그램을 작성해야 하므로 매우 불편함.  기계어 보다 좀 더 편리한 언어의 개발이 필요함 프로그래밍 언어 1-2. 프로그래밍 언어

(5)

 프로그래밍 언어  기계어와 인간이 사용하는 언어의 중간쯤 위치함.  인간이 프로그래밍 언어로 프로그램을 작성하면, 컴파일러 라는 통역 담당 소프트웨어가 프로그램을 기계어로 변환함. 컴파일러: 프로그래밍 언어를 기계어로 통역. 1-2. 프로그래밍 언어

(6)

 프로그래밍 언어의 분류  기계어: 컴퓨터가 바로 이해 할 수 있는 단 하나의 언어.  어셈블리어: 기계어가 인간이 사용하기에 너무 힘들고 오류발생이 많아 개발한 언어. • CPU의 명령어들을 이진수(기계어)가 아닌 영어의 약자인 기호로 표기 • 기계어보다는 더 높은 수준에서 프로그램 작성 가능 (어셈블리어 예시) • 어셈블러(assembler): 기호를 이진수로 변환하는 프로그램 • 어셈블리 언어 또한 간단한 작업에도 많은 명령어가 사용되어 아직도 사용하기 번잡한 언어. 좀더 높은 수준에서 작업할 수 있는 언어가 절실히 필요함.  고급언어: 특정 컴퓨터의 구조나 프로세서에 무관하게, 독립적으로 프로그램을 작성할 수 있는 언어 • 고급언어의 종류: C, C++, JAVA, FORTRAN, PASCAL

(고급언어 예시)

• 컴파일러: 고급 언어 문장을 기계어로 변환하는 프로그램

1-2. 프로그래밍 언어

MOV AX, MIDSCORE MOV CX, FINALSCORE ADD AX CX

MOV TOTALSCORE, AX

(7)

 프로그래밍 언어의 분류  저급언어  고급언어 1-2. 프로그래밍 언어 • 기계어 • 어셈블리어

(8)

1-3. C언어

 C언어의 역사

 1970년대 초 AT&T의 Dennis Ritchie 에 의하여 개발  UNIX 운영 체제 개발에 필요해서 만들어짐  처음부터 전문가용 언어로 출발  C언어의 특징  장점 • 간결하다. • 효율적이다. • C언어는 하드웨어를 직접 제어하는 하는 저수준의 프로그래밍 및 고수준의 프로그래밍도 가능. • C언어는 이식성이 뛰어나다.  단점 • 초보자가 배우기가 어렵다. 1-3. C언어

(9)

1-4. 알고리즘  알고리즘 이란?  컴퓨터를 이용하여 문제를 풀기 위해 컴퓨터가 수행해야 할 단계적 절차를 기술한 것.  알고리즘은 요리법(recipe)에 비유됨. (예시) 1부터 10까지의 합을 구하는 알고리즘 (3가지 방법)  알고리즘1) 1부터 10까지 직접 하나씩 더한다.  알고리즘2) 두수의 합이 11이 되도록 숫자를 그룹핑하여 그룹의 수 5와 11을 곱한다.

(1 + 10) = 11

(2 + 9) = 11

3 + 8 = 11 5 × 11 = 55

(4 + 7) = 11

(5 + 6) = 11

 알고리즘3) 공식을 이용하여 계산 10 1-4. 알고리즘

(10)

1-4. 알고리즘  알고리즘의 기술  프로그래머는 프로그래밍 전에 문제를 어떻게 해결할 것인가(알고리즘)를 충분히 생각해야 함.  알고리즘을 기술하는 데는 다음과 같이 3가지 방법이 있음. • 영어나 국어 등의 자연어 (natural language) • 순서도 (flowchart) • 의사코드 (pseudo-code)  순서도 (flowchart)  입문단계에서 가장 많이 사용되는 방법으로 흐름도라고도 함.  프로그램에서의 논리 순서 또는 작업순서를 그림으로 표현하는 방법. 1-4. 알고리즘 - 수행의 시작/종료 - 처리 - 판단 - 연결자(흐름도가 너무 커서 한 페이지에 나타낼 수 없을 때, 어디로 가라는 표시 - 입출력

(11)

 순서도 예시  프린터 고장을 처리하기 위한 순서도 1-4. 알고리즘 - 수행의 시작/종료 - 처리 - 판단 - 연결자 - 입출력

(12)

 알고리즘 만드는 방법  주어진 문제를 한번에 해결하려고 하지 말고, 더 작은 크기의 문제로 분해한다.  분해된 여러 개의 문제가 충분히 작아질 때까지 계속해서 분해한다. 예시) 집안을 청소하는 알고리즘 1-4. 알고리즘 (1) 방을 청소한다. (2) 거실을 청소한다. (3) 부엌을 청소한다. (1) 환기를 시킨다. (2) 물건들을 정리한다. (3) 진공 청소기를 돌린다. (4) 걸레질을 한다. (1) … (2) … (3) … (1) … (2) … (3) … (4) … (1) … (2) … (3) … (1) … (2) …

(13)

(예제) 3개의 숫자 중 최대값 찾기 알고리즘  2개의 숫자 중 최대값 찾기는 매우 쉬움. 두 숫자를 비교해서 큰 것을 찾으면 됨.

 3개의 숫자 (A, B, C) 중 최대값을 찾기 위한 알고리즘. (step1) A와 B를 비교해서, A가 B보다 크면

A와 C를 비교해서, 큰 수가 최대값 (step2) A와 B를 비교해서, B가 A보다 크면 B와 C를 비교해서, 큰 수가 최대값  3개의 숫자 (A, B, C) 중 최대값을 찾기 위한 알고리즘의 흐름도. 1-4. 알고리즘 - 시작/종료 - 처리 - 판단 - 연결자 - 입출력

참조

관련 문서

• 아이들은 어떠한 특별한 도움없이도 그들이 노출되는 언어 자극을 뛰어넘어 복잡한 문법을 습득함.. • 이것이 가능한 것은 그들이 UG를 활용할 수 있는

언어 혹은 사고의 우월성을 확인할 수 있는 한국어 문 화권의 예는 무엇이 있는가. 사고에서 활용되는 언어외적

과학의 언어와 시의 언어가 이와 같이 좋은 대조를 보이는 것은 그 양자가 언어 전달의 양극단을 이루고 있기 때문이지 과학의 언어 를 포함한 보통의 언어와 시의 언어를 엄연히

 Porter의 산업구조분석 기법은 진입장벽이 높은 산업의 수익률이 높은 이유는 설명해 주지만 진입장벽이 높은 산업에 진출할 수 있는 방법은 제시하지 못함..

● 중소기업이 ①「중소기업기본법」의 규정에 따른 중소기업 외의 기업과 합병하는 경우 ②유예 기간 중에 있는 기업과 합병 ③독립성기준의 요건을 충족하지 못하게

[r]

[r]

설교나 공과공부할 때 천국과 지옥의 문제만큼 아이들에게 크게 감화를 줄 수 있는 강렬한 종교적인 언어가 많지 않다 그런 부분이 있고, 이제 그래서 성 경의 내용,