프로그래밍 언어론 - C언어와 Pascal(파스칼)언어의 비교
본 자료는 9페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
해당 자료는 9페이지 까지만 미리보기를 제공합니다.
9페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

프로그래밍 언어론 - C언어와 Pascal(파스칼)언어의 비교에 대한 보고서 자료입니다.

목차

1. 언어 소개
 가. Pascal------------------------------------- 2
 나. C언어 ------------------------------------- 3
2. 프로그램 개요
 가. Pascal------------------------------------- 5
 나. C언어------------------------------------- 10
3. 자료유형과 연산자, 변수
 가. 자료유형의 종류 ------------------------------------ 12
 나. 연산자------------------------------------- 15
 다. 변수------------------------------------- 15
4. 실행 제어
 가. 선택구조 ------------------------------------- 16
 나. 반복구조 ------------------------------------- 17
5. 데이터 구조
 가. 데이터형의 정의 ------------------------------------ 19
 나. 열거형------------------------------------- 20
 다. 배열------------------------------------- 21
 라. 구조형------------------------------------- 21
6. 프로시저와 함수
 가. 함수------------------------------------- 23
 나. 프로시저 ------------------------------------- 23
 다. 표준함수의 비교 ------------------------------------ 24
7. 포인터
 가. 포인터형의 선언 ------------------------------------ 25
 나. 포인터형의 할당과 반환 ------------------------------ 25
 다. 포인터변수에 의한 참조 ------------------------------ 25
맺음말, 참고문헌 ------------------------------------- 26

본문내용

자.
function tan(x : real) : real;
begin
tan : = sin(x)/cos(x)
end;
위의 코드는 Pascal의 함수 선언이다. (x : real)은 인수를 실수형으로 선언한 것이고 바로 뒤의 real은 반환할 결과값의 자료형이다. 여기서 sin(x)와 cos(x)는 Pascal의 표준함수이다. 함수를 호출하는 방법은 C나 Pascal이나 거의 똑같은 방식이다. 예 -> a : = tan(x);
나. 프로시저 (procedure)
다음은 x와 y의 값을 교체하는 프로시저를 C와 Pascal로 작성한 것이다.
C언어의 함수 정의:
void swapdouble(double x, double y)
{
double temp;
temp = x;
x = y;
y = temp;
}
파스칼의 프로시저 정의:
procedure swapreal(var x, y : real)
var temp : real;
begin
temp := x;
x := y;
y := temp
end;
위에서도 언급했듯이 함수는 주로 수식의 계산에 이용되고, 프로시저는 그 외의 용도로 사용된다는 점에서 차이가 있고, 워드 기호에 차이가 있을 뿐 형식은 거의 비슷하다.
다. 표준 함수의 비교
C언어에서 지원되는 함수의 종류는 무척 많다. 상대적으로 Pascal의 함수의 양은 매우 작다고 할 수 있는데, 여기서는 Pascal에 있는 표준 함수(15개만)와 C언어에서 같은 기능을 가진 함수를 비교해 보았다.
기 능
Pascal
C언어
sine 함수
sin(x)
sin(x)
cosine 함수
cos(x)
cos(x)
역tangent 함수
arctan(x)
atan(x), atan2(x, y)
지수 함수 (ex)
exp(x)
exp(x)
자연 대수 함수 (logex)
ln(x)
log(x)
제곱근
sqrt(x)
sqrt(x)
절대값
abs(x)
abs(x)
제곱
sqr(x)
pow(x, y)
x에 대응하는 정수값
ord(x)
x에 대응하는 문자
chr(x)
실수 x의 정수화(내림)
trunc(x)
floor(x)
실수 x의 정수화(반올림)
round(x)
ceil(x)(올림)
정수 x의 홀수 판정
odd(x)
ord(a)=ord(x)+1을 만족하는 a
succ(x)
ord(a)=ord(x)-1을 만족하는 a
pred(x)
7. 포인터
가. 포인터형의 선언
포인터형의 변수를 선언하는 방법은 다음과 같다.
float *p; (C언어)
var p : ^real (Pascal)
위에서 보는 바와 같이, C에서는 '*' 연산자를 사용하여 포인터형을 선언하고, Pascal에서는 '^' 연산자를 사용하여 선언한다.
나. 포인터형의 할당과 반환
포인터형 변수를 선언했다고 해서 포인터를 사용할 준비가 완전히 다 끝난 것은 아니다. 포인터를 선언하고 나서는 포인터에 가용 메모리를 할당해 주어야 한다.
C언어, Pascal 모두 메모리를 할당하는 함수들을 갖고 있다. 앞 절에서 선언한 변수들을 가지고 메모리를 할당하는 작업은 다음과 같다.
p = malloc(float); (C언어)
new(p); (Pascal)
변수들을 모두 사용하고 나면 메모리를 다시 반환하여야 하는데, 이때에도 미리 정의된 함수를 사용한다. 프로그래밍 언어에 따른 반환 함수는 다음과 같다.
free(p); (C언어)
dispose(p); (Pascal)
다. 포인터 변수에 의한 참조
포인터 변수는 할당(Assignment)과 역참조(Dereferencing)라는 두 가지의 기본적인 연산을 제공한다. 할당은 포인터 변수가 저장되어 있는 메모리 주소를 가리키는 것이고, 역참조는 변수가 바운드된 메모리 주소에 담긴 값(혹은 객체)을 가리키는 것이다. 다시 말하면, 포인터가 가리키고 있는 것은 메모리 주소이고, 이 메모리 주소에 포인터 변수의 실제 값이 들어 있는 것이다. 이를 그림으로 표현해 보면,
프로그램을 수행할 때에 원하는 결과물을 얻기 위해서는 변수가 저장된 주소가 필요한 것이 아니라 메모리에 저장된 값이 필요하다. 그렇다면, 이 값은 어떻게 참조할 수 있는 것인지 알아본다.
*p = 15.0; (C언어)
p^ : = 15.0; (Pascal)
C언어에서는 '*' 기호를 변수 앞에 붙여주면, p가 가리키고 있는 주소를 가진 저장 장소에 15.0이라는 실수를 저장하라는 것이다. Pascal 에서는 '^' 기호를 붙이면 된다. 이는 저장되어 있는 값을 가져올 때에도 마찬가지이다.
그러나 변수에 어떠한 기호도 붙이지 않고 변수 이름 자체만을 사용하게 되면, 그것은 포인터 변수가 가리키는 주소값을 의미한다. 예를 들어
value : = p; (Pascal)
과 같은 문장의 의미는, 'value'에 p가 가리키고 있는 주소값을 할당하라는 것이다. 만약 위의 그림과 같이 p가 가리키고 있는 주소값이 1000번지라면, 'value'에 저장되는 값은 1000이 되는 것이다. C언어에서는 변수의 이름 앞에 '&' 연산자를 사용하여 변수의 주소값을 돌려주게 된다.
맺음말 and 참고 문헌
Pascal은 이미 오래전부터 거의 사용이 중지되다시피 한 언어라서 참고 자료를 찾기가 쉽지 않았습니다. 인터넷으로도 거의 찾을 수 없고, 그나마 검색이 되면 대부분 오브젝트 파스칼이나 델파이에 관련된 내용뿐이고 도서관서도 볼 수가 없더군요.
거의 한권한권 다 열어본 끝에 Pascal 관련된 걸 찾긴 찾았습니다만 오래된 책이다 보니, 보면서 공부하기가 쉽지 않더군요.
30 ~ 50장을 쓸려고 했지만 시간적으로 여유가 부족하고 내용면으로도 자세한 내용을 쓰기가 힘들더군요. C는 모든 프로그래머가 다 아는 건데 C를 중점으로 써나갈 수도 없는 노릇이구요.
그러다 보니 주로 Pascal에 관한 내용을 많이 썼고, 자료구조와 같은 것들은 문법만 틀리지 개념은 같으니 생략했습니다. 그리고 얼마 없지만 C프로그램 소스는 제가 직접 코딩해서 올렸습니다.
- 참고문헌
학술정보. 강환수, 강환일 공저. 2003.
<프로그램 작성법>(Pascal) 홍릉과학 출판사. Kawai Satoru 저. 1998.
  • 가격3,300
  • 페이지수26페이지
  • 등록일2014.04.11
  • 저작시기2014.4
  • 파일형식한글(hwp)
  • 자료번호#912886
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니