프로그래밍 언어 프로그래밍 언어의 개요 프로그래밍 언어의 구문 정의 변수와 영역 자료형 조건문과 반복문 부프로그램

Slides:



Advertisements
Similar presentations
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Advertisements

Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
제 5 장 구문 정의  프로그래밍 언어의 기본 문자 집합  Alphabet 문자 (A-Z) 26 개 + 아라비아 숫자 (0 - 9) 10 개  예 ) Fortran : 기본 문자 집합 + 13 개의 특수문자 (=+ - * / ( ),. $ ‘ : 공백 ) Algol60.
컴퓨터와 인터넷.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Chapter 7. 조건문.
제 9 장 구조체와 공용체.
컴퓨터 프로그래밍 기초 [Final] 기말고사
자료 구조: Chapter 3 (2)구조체, 포인터
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
2007 1학기 16 구조체.
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
23장. 구조체와 사용자 정의 자료형 2.
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
11장. 1차원 배열.
C#.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
프로그래밍 개요
5. Context-free 문법 5-1. 서 론 5-2. 유도와 유도 트리 5-3. CFG표기법.
Chap 6.Assembler 유건우.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Chapter 08. 함수.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
6.4 타입 검사 (Type Checking).
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 09. 포인터 1.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
Numerical Analysis Programming using NRs
Chapter 11 구조체.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
제 4 장 Record.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

프로그래밍 언어 프로그래밍 언어의 개요 프로그래밍 언어의 구문 정의 변수와 영역 자료형 조건문과 반복문 부프로그램 한빛미디어(주)

프로그래밍 언어 개념에 대해 살펴본다. 프로그래밍 언어의 구문을 정의하는 대표적인 표기법인 BNF에 대해 살펴본다. 변수의 개념과 영역의 개념에 대해 살펴본다. 다양한 자료형에 대해 살펴본다. 실행 순서에 변화를 가져오는 조건문과 반복문에 대해 살펴본다. 하나의 단위로 만들어진 기능인 부프로그램에 대해 살펴본다.

프로그래밍 언어 기계어 어셈블리어 컴퓨터에서 일을 수행하기 위한 명령문의 집합인 프로그램을 작성하기 위해 사용하는 기호 체계 저급 언어(low level language)와 고급 언어(high level language)로 분류 기계어 컴퓨터가 직접 이해할 수 있는 유일한 언어 효율성은 높지만 언어 자체가 복잡하고 어려움 컴퓨터의 종류에 따라 다르며, 컴퓨터에 의존적인 경향을 띄어 표준이 없음 어셈블리어 어려운 기계어의 명령들을 쉬운 기호로 나타낸 것 모든 컴퓨터들의 어셈블리어는 같지 않음 기계어에 비해 프로그램을 작성하기가 쉽고, 고급언어와는 달리 하드웨어에 직접적인 접근을 하기 때문에 수행 속도가 빠른 장점

어셈블리어 고급언어 컴파일러 : 고급언어로 작성된 프로그램을 컴퓨터는 직접 이해할 수 없으므로 기계어 프로그램으로 번역하는 소프트웨어 [그림 6-1] 어셈블러의 역할 [그림 6-2] 컴파일러의 역할

BNF(Backus-Naur Form) 프로그래밍 언어의 구문을 기술하기 위하여 가장 일반적으로 사용되는 표기법 1960년 ALGOL 60이란 언어의 구문을 정의할 때 최초로 사용 BNF 예 ‘AA2’라는 식별자가 문법에 맞는지 살펴보자.

파스 트리(parse tree) : 유도 과정을 트리로 나타낸 것 [예] 배정문 [그림 6-3] ‘AA2’에 대한 파스 트리

‘AA = B - 20’이라는 배정문이 문법에 맞는지 살펴보자. 주어진 규칙을 이용해서 ‘AA = B - 20’이 유도되므로 문법에 맞는 배정

BNF 예(2) 파스 트리 [그림 6-4] ‘AA = B - 20’에 대한 파스 트리

변수 선언문에 의해 변수 선언 다음과 같은 속성들이 모여서 변수의 개념이 형성 ① 변수 이름 : x가 된다. 변수의 이름은 약간의 규칙이 있지만 프로그래머가 임의로 정할 수 있다. ② 변수형 : 변수가 가질 수 있는 값들의 자료형으로, 변수 x는 정수형이 된다. ③ 변수 주소 : 변수가 위치하고 있는 메모리 주소인데, 다음은 변수 x가 메모리 주소 0x1000~0x1003에 위치함을 의미한다. [그림 6-5] 변수 x의 주소

④ 변수 값 : 배정문에 의해 부여되는데, 'x=10;'은 변수 x에 10을 저장하는 C 언어 배정문이다 ④ 변수 값 : 배정문에 의해 부여되는데, 'x=10;'은 변수 x에 10을 저장하는 C 언어 배정문이다. 이런 변수의 값은 그 변수가 위치하고 있는 메모리 영역에 저장된 내용을 말하는 것으로, 변수 x의 값은 10이 된다. ⑤ 변수 영역 : 앞으로 살펴보자. 영역 그 이름의 사용이 허락되고 있는 프로그램 범위 정적 영역 규칙 ALGOL 60에서 도입, 현재 대부분의 언어에서 사용 이름에 해당하는 변수를 찾을 때 외향적인 구조에 따라 동작하는데, 자신을 포함하고 있는 블록에서 선언되었는지 살펴보고 아니면 그 바깥쪽 블록에서 선언되었는지를 조사

정적 영역 규칙 앞 프로그램 실행 순서 ① 02행에서 a와 b를 선언하고, 14행에서 a에 0을, b에 1을 저장한다. 15행에서 func를 호출한다. ② func를 호출하면 07~12행이 실행된다. 08행에서 변수 a와 b를 선언하는데, 02행의 변수 a, b와는 이름은 같지만 전혀 다른 변수다. 10행에서 a에 2를, b에 3을 저장하고, 11행에서 print를 호출한다. ③ print를 호출하면 03~06행을 실행하여 05행에서 a와 b의 값을 출력한다. 05행의 a와 b를 포함하고 있는 블록(03~06행)에서 a와 b를 선언하고 있는지 살펴보았는데, 선언된 부분이 없다. 그러므로 그 바깥쪽 블록(01~16행)에서 a와 b를 선언하고 있는지 살펴보았는데, 02행에서 선언하고 있는 것을 볼 수 있다. 이 블록의 14행에서 a에 0을, b에 1을 저장했으므로 0과 1이 출력된다. [그림 6-6] 프로그램 예

동적 영역 규칙 앞의 프로그램을 이용한 설명 APL, SNOBOL 4 그리고 LISP 초기 버전에서 적용된 방식 이름에 해당하는 변수를 찾을 때 외향적인 구조에 기반하지 않고, 부 프로그램들의 호출 순서에 기반 먼저 자신을 포함하고 있는 블록에서 선언되었는지를 보고 아니면 자신을 포함한 블록(부 프로그램)을 호출한 문장을 포함하고 있는 블록에서 선언된 것인지를 조사 앞의 프로그램을 이용한 설명 05행을 포함한 블록(03~06행)에서 a와 b를 선언하고 있는지를 살펴보는데, 선언된 부분이 없다. 그러면 이 블록(print)을 호출한 문장(11행)을 포함하고 있는 블록(07~12행)에서 a와 b를 선언하고 있는지를 살펴보는데, 08행에서 선언하고 있는 것을 볼 수 있다. 이 블록의 10행에서 a에 2를, b에 3을 저장했으므로 2와 3이 출력된다.

자료형 기본 자료형 수치형 저장할 수 있는 값의 집합뿐만이 아니라 수행할 수 있는 연산의 집합까지 포함 자료형은 기본 자료형, 구조적 자료형 그리고 포인터 자료형 등으로 구분 기본 자료형 수치형 정수형 int형이 short int형보다는 크기가 크거나 같고, long int형이 int형보다는 크기가 크거나 같다. 부동소수점형 : 실수를 표현하는 방식

부울형 부울형은 참과 거짓이라는 두 개의 값을 갖는데, 수식이 참인지 거짓인지를 파악할 때 사용된다. 부울형 자료에 대한 대표적인 연산으로 and, or, not이 있는데, x와 y가 부울형 일 때 다음과 같이 동작한다. [표 6-1] and, or, not 연산

문자열형 문자열과 관련된 연산 PL/Ⅰ : 문자열을 값으로 가질 수 있는 변수를 선언할 수 있는 최초의 언어 길이가 10인 문자열 변수 A를 선언 문자열과 관련된 연산 |는 문자열과 문자열을 연결 LENGTH(A)는 문자열 A의 길이를 반환 SUBSTR(A, I, J)는 문자열 A의 I번째 문자로 시작해서 J개의 문자열을 추출 INDEX(A, B)는 문자열 A에서 문자열 B의 위치를 찾음 VERIFY(A, B)는 문자열 A에서 문자열 B에 속하지 않는 첫 번째 문자의 위치를 찾음 TRANSLATE(A, B, C)는 문자열 A에서 C에 있는 문자들을 B에 있는 문자들로 교체

구조적 자료형 배열 여러 자료를 묶어서 하나의 단위로 처리하는 자료형 배열은 집합체에서의 위치로 원소를 식별하는 동질형 자료의 모임, 레코드는 이름으로 원소를 식별하는 이질형 자료의 모임 배열 이름, 배열의 차원, 배열 원소의 형, 첨자 범위 등으로 특징 FORTRAN, Ada에서는 이름이 A이고 크기가 2×3인 2차원 배열을 다음과 같이 소괄호를 이용해서 나타냄 ALGOL 60, Pascal 등 대부분의 언어는 다음과 같이 대괄호를 이용해서 나타냄 이름이 A, 크기가 5 그리고 원소의 형이 정수형인 1차원 배열을 선언(C 언어) [그림 6-7] 배열 A의 구조

레코드 이질형 자료의 모임 1960년대 초기에 COBOL에서 도입 C 언어의 구조체(structure) 정의된 구조체인 struct student형의 변수 선언 필드에 접근 [그림 6-8] 구조체형 변수 A의 구조

조건문 양자택일문 조건문은 조건에 따라 둘 또는 그 이상의 실행 경로 중에서 하나를 선택할 수 있는 수단을 제공 양자택일문과 다자택일문 으로 구분 양자택일문 양자택일문을 처음 도입한 언어 : ALGOL 60 C 언어의 if-else 구조 [그림 6-9] if-then-else 구조 if-else 구조에서 다음과 같은 경우에 else가 첫 번째 if와 연결되는 것인지 두번째 if와 연결되는 것인지 해석이 어려운 경우가 발생

만약 참이거나 거짓인 경우에 실행되어야 하는 문장이 여러 개인 경우 가장 가까이 있는 if와 연결되므로 두번째 if와 연결되는 것이다. 만약 첫번째 if와 연결을 시키려면 중괄호를 이용

양자택일문 else-if 구조 [그림 6-10] else-if 구조

다자택일문 ALGOL-W의 case 문이 처음 도입된 다자택일문 C 언어는 switch 문

반복문 while 문 특정 부분을 반복해서 실행하는 구조 FORTRAN의 DO 문 만약 반복하고자 하는 문장이 여러 개인 경우 [그림 6-11] while 구조

do-while 문 다음과 같이 중괄호로 묶는 것이 바람 직하다 [그림 6-12] do-while 구조

for 문 초기식, 조건식, 변환식 등 수식은 생략해도 되지만 수식을 생략할 경우라도 세미콜론(;)은 생략이 불가능 초기식을 생략할 경우 [그림 6-13] for 구조

기능A를 하나의 단위로 만든 프로그램 구조 : 부프로그램

부프로그램 부프로그램A를 ‘부프로그램 정의’ 부분이라 하고, 부프로그램이 실행되도록 명령하는 문장을 ‘부프로그램 호출’이라 함 부프로그램이 있는 프로그램의 실행 순서 [그림 6-16] 부프로그램이 있는 프로그램 구조 [그림 6-17] 부프로그램이 있는 프로그램의 실행 순서

부프로그램의 종류 서브루틴(subroutine)과 함수(function)로 구분 함수가 있는 프로그램의 동작 [표 6-2] 부프로그램의 종류와 차이점 [그림 6-18] 함수가 있는 프로그램의 동작

매개변수 매개변수를 이용하면 실행될 부프로그램에게 값을 전달할 수 있음 부프로그램의 형식 호출 형식 C 언어에서 function이라는 함수를 정의하는 예 함수를 호출

매개변수 전달 방식 (C 언어) 값에 의한 전달 실 매개변수의 값을 형식 매개변수에 저장해서 동작하는 방식 [그림 6-19] 값에 의한 전달

주소에 의한 전달 실 매개변수의 주소를 형식 매개변수에 저장해서 동작하는 방식 [그림 6-20] 주소에 의한 전달에서의 실 매개변수와 형식 매개변수 [그림 6-21] 주소에 의한 전달