목차
알고리즘 프로그래밍 과제 #1
프로그래밍 과제 보고서
프로그래밍 과제 보고서
본문내용
알고리즘
프로그래밍 과제 #1
교재 5장의 Recursive Descent Interpreter 프로그램의 기능을 확장하여 다음과 같이 벡터(vector) 타입의 변수들을 다룰 수 있도록 하라.
1. 모든 변수는 scalar 타입이거나 혹은 vector 타입이다. scalar 타입의 변수는 하나의 실수를 값으로 가지고, 벡터 타입의 변수는 여러 개의 실수를 값으로 가진다. 각 벡터 변수가 가질 수 있는 값의 개수를 그 변수의 차원(dimension)이라고 부른다.
2. 교재에서와는 달리 모든 변수는 사용되기 전에 먼저 선언되어야 한다. 변수의 선언은 변수의 "이름"과 "차원"을 지정한다.
dim vect1 4; // 벡터 변수 vect1의 차원은 4이다.
dim vect2 4;
dim vect3 4;
dim scalar1 1; // 스칼라 변수 scalar1의 차원은 1이다.
3. 선언된 벡터 타입의 변수는 다음과 같이 사용될 수 있다.
vect1 = [ 2, 24, 0, 5 ];
vect2 = vect1;
vect3 = 2 * vect2 + [ 1, 2, 10-5, 0 ];
print vect3;
vect3 = [ 5, 50, 5, 10 ];
4. 각 벡터 변수의 차원은 선언될 때 정해지고 변경되지 않는다. 벡터 변수에 대해서는 같은 차원의 벡터를 더하기, 같은 차원의 벡터를 빼기, scalar 값을 곱하기, 같은 차원의 벡터 변수에 치환하기 연산이 허용된다. 벡터 간의 곱셈이나 나눗셈은 허용하지 않는다. 차원이 다른 벡터간의 치환은 허용되지 않는다.
5. 벡터의 한 성분(component)를 다음과 같이 <> 기호를 사용하여 엑세스하여 사용할 수 있다. 추출된 성분은 하나의 스칼라 값으로 사용된다.
scalar1 = vect3<2>; // 인덱스는 0, 1, 2...
print scalar1;
scalar1 = 5; // 인덱스가 0부터 시작되므로 50이 아닌 5임
dim scalar2 1;
scalar2 = 2*scalar1 + vect3<1> + vect3<3>;
print scalar2;
scalar2 = 70;
dim vector4 4;
vector4 = [scalar1*(scalar1+vect3<2>), scalar2, vect3<2>, 2*vect3<3>+3];
print vector4;
vector4 = [ 50, 70, 5, 23 ];
6. 위에서 설명한 문법에 대한 recursive definition을 첨부한 "보고서 양식 4절"에 기술하여 제출한다.
해당자료는 한글2002나 워디안 자료로 한글97에서는 확인하실 수 없으십니다.
프로그래밍 과제 #1
교재 5장의 Recursive Descent Interpreter 프로그램의 기능을 확장하여 다음과 같이 벡터(vector) 타입의 변수들을 다룰 수 있도록 하라.
1. 모든 변수는 scalar 타입이거나 혹은 vector 타입이다. scalar 타입의 변수는 하나의 실수를 값으로 가지고, 벡터 타입의 변수는 여러 개의 실수를 값으로 가진다. 각 벡터 변수가 가질 수 있는 값의 개수를 그 변수의 차원(dimension)이라고 부른다.
2. 교재에서와는 달리 모든 변수는 사용되기 전에 먼저 선언되어야 한다. 변수의 선언은 변수의 "이름"과 "차원"을 지정한다.
dim vect1 4; // 벡터 변수 vect1의 차원은 4이다.
dim vect2 4;
dim vect3 4;
dim scalar1 1; // 스칼라 변수 scalar1의 차원은 1이다.
3. 선언된 벡터 타입의 변수는 다음과 같이 사용될 수 있다.
vect1 = [ 2, 24, 0, 5 ];
vect2 = vect1;
vect3 = 2 * vect2 + [ 1, 2, 10-5, 0 ];
print vect3;
vect3 = [ 5, 50, 5, 10 ];
4. 각 벡터 변수의 차원은 선언될 때 정해지고 변경되지 않는다. 벡터 변수에 대해서는 같은 차원의 벡터를 더하기, 같은 차원의 벡터를 빼기, scalar 값을 곱하기, 같은 차원의 벡터 변수에 치환하기 연산이 허용된다. 벡터 간의 곱셈이나 나눗셈은 허용하지 않는다. 차원이 다른 벡터간의 치환은 허용되지 않는다.
5. 벡터의 한 성분(component)를 다음과 같이 <> 기호를 사용하여 엑세스하여 사용할 수 있다. 추출된 성분은 하나의 스칼라 값으로 사용된다.
scalar1 = vect3<2>; // 인덱스는 0, 1, 2...
print scalar1;
scalar1 = 5; // 인덱스가 0부터 시작되므로 50이 아닌 5임
dim scalar2 1;
scalar2 = 2*scalar1 + vect3<1> + vect3<3>;
print scalar2;
scalar2 = 70;
dim vector4 4;
vector4 = [scalar1*(scalar1+vect3<2>), scalar2, vect3<2>, 2*vect3<3>+3];
print vector4;
vector4 = [ 50, 70, 5, 23 ];
6. 위에서 설명한 문법에 대한 recursive definition을 첨부한 "보고서 양식 4절"에 기술하여 제출한다.
해당자료는 한글2002나 워디안 자료로 한글97에서는 확인하실 수 없으십니다.
추천자료
VISUAL C++을 이용한 디지털 영상 처리 구현
병렬처리 컴퓨터 시스템
탐색(Search)에 관해
정보통신 네트웍 용어
(입체영상 장비) 가상현실 장비의 사용처 및 기술현황과 우리나라의 현황
Project 3 &#8211; Cheese using Prolog
소프트웨어의 위기와, 소프트웨어의 생명주기
다중지능-논리수학적지능
다중지능-논리수학지능, 수학지능의 이해, 특성, 수학적 학습과정, 학습 환경의 구성, 논리, ...
입출력장치
학사관리 시스템 데이터베이스 쿼리
robocode 제안서
2017년 2학기 빅데이터의이해 중간시험과제물 공통(데이터과학자, 빅데이터, 빅데이터사례)
소개글