-
투자노트 금융공학 퀀트 프로그래밍 과정 5주차금융공학 퀀트 프로그래밍 과정 2020. 4. 19. 20:13
# 제출안내
1. 방법 : 본인 블로그에 작성 후 본 게시판에 링크를 업로드
또는 본 게시판에 작성. 제목은 '투자노트 금융공학 퀀트 프로그래밍 과정 x주차과제' 등으로 작성
(※ 본 게시판에 작성한 내용은 주기적으로 삭제 및 정리되오니 강의 내용을 가지고
있으시려면 본인 블로그에 작성하시오)
2. 양 : 최종과제 스크린샷 1장 이상 첨부. 스크린샷을 반드시 첨부하시오.
3. 기한 : 매주 일요일 오후 12시 전까지
# 기본과제 및 제출 양식
1. if의 사용방법은
if(조건식)
실행문;
의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오. https://dojang.io/mod/page/view.php?id=118 를 참조하시오. (0.5시간 소요)
가. c언어에서 비교연산자(조건식)에 대해 조사하고, 표를 스크린샷으로 넣으시오.
관계 연산자(비교 연산자)는 대소와 동등의 관계를 따지는 연산자이다. 조건을 만족하면 1, 만족하지 않으면 0을 반환한다.
나. int형 변수 a를 선언하여 1을 넣으시오.
int a = 1;
다. int형 변수 b를 선언하여 2를 넣으시오.
int b = 2;
라. a=1이라면 "1이 들어있습니다."를 출력하는 프로그램을 작성하시오. 한편, 이 메시지가 나오는 것을 확인하시오.
if (a == 1) {
printf("a는 1입니다.");
}
마. b=1이라면 "1이 들어있습니다."를 출력하는 프로그램을 작성하시오. 실행하면 아무것도 나오지 않음을 확인하고 그 이유를 쓰시오.
if (b == 1) {
printf("b는 1입니다.");
}
※ 주의 : x와 y 가 같은지 확인하는 연산은 x=y가 아니라 x==y임.
2. if else의 사용방법은
if(조건식)
실행문;
else
실행문;
의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오.
http://tujanote.cafe24.com/bbs/board.php?bo_table=pds2&wr_id=59&sca=C&page=1 를 참조하시오. (1시간 소요)
가. int형 변수 a를 scanf하시오.
int a = 0;
scanf("%d", &a);
나. 2로 나누었을때 나머지가 1인지 검사하는 코드 조건식에 넣으시오.
if(a%2)
다. if의 실행문은 "홀수입니다."로 printf 하시오.
if (a%2) {
printf("a는 홀수니다.");
}
라. else의 실행문은 "짝수입니다."로 printf 하시오.
else {
printf("a는 짝수입니다.");
}
마. 프로그램을 실행한 뒤 임의의 홀수를 scanf에 넣어 "홀수입니다."가 나오는지 확인하시오.
바. 프로그램을 실행한 뒤 임의의 짝수를 scanf에 넣어 "짝수입니다."가 나오는지 확인하시오.
3. if elseif else의 사용방법은
if(조건식)
실행문;
else if(조건식)
실행문;
else
실행문;
의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오. 문항 해결을 위해서 else if가 여러개 필요함을 연구해 보시오. (1시간 소요)
가. 100점 만점인 시험점수를 저장하는 변수를 선언하고, scanf로 점수를 받으시오.
int s = 0
printf(“점수 입력”);
scanf(“%d”, &s);
나. 90점 이상이면 A를 출력하는 프로그램을 짜시오.
if (s >= 90) {
printf("A입니다.");
}
다. 90점 이상은 아니지만 80점 이상이면 B를 출력하는 프로그램을 짜시오.
else if (s >= 80) {
printf("B입니다.");
}
라. 80점 이상은 아니지만 70점 이상이면 C를 출력하는 프로그램을 짜시오.
else if (s >= 70) {
printf("C입니다.");
}
마. 70점 이상은 아니지만 60점 이상이면 D를 출력하는 프로그램을 짜시오.
else if (s >= 60) {
printf("D입니다.");
}
바. 60점 미만이면 F를 출력하는 프로그램을 짜시오.
else {
printf("F입니다.");
}
4. 삼항연산자의 사용법은
값을받을변수 = 조건식 ? 참일때 할당값 : 거짓일때 할당값;
의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오. (1시간 소요)
가. 임의의 두 수 a,b를 scanf로 받으시오.
int a = 0;
int b = 0;
printf("a : ");
scanf("%d", &a);
printf("b : ");
scanf("%d", &b);
나. 두수 중 큰수를 저장할 변수 max를 만드시오.
int max;
다. 조건식에 두 수의 크기를 비교하는 문장을 쓰시오.
라. max에 참일때 할당값을 a,b중 골라 넣으시오.
마. max에 거짓일때 할당값을 a,b중 골라 넣으시오.
max = (a > b) ? a : b;
바. 두 수중 더 큰수가 잘 찾아지는지 확인하시오.
# 심화과제 제출 양식( 안해도 됨 )
1. ax+b=0의 형태의 일차방정식을 푸시오.
가. a와 b가 모두 0이 아닐때 x를 구하시오.
나. a=0이고 b는 0이 아닐때 x는 불능이다. "불능"을 출력하시오.
다. a=0이고 b=0이면 x는 부정이다. "부정"을 출력하시오.
라. a와 b를 scanf로 입력받은 후 가~다의 경우의 수에 대해 해가 찾아지는지 확인하시오.
main() {
double a=0, b=0, x;
printf("a : ");
scanf("%lf", &a);
printf("b : ");
scanf("%lf", &b);
x = -b / a;
if (a == 0 && b !=0) {
printf("x는 불능이다.");
}
else if (a == 0 && b == 0) {
printf("x는 부정이다.");
}
else {
printf("x = %lf", x);
}
return 0;
}
2. ax^2 + bx + c = 0 형태의 이차방정식을 푸시오.
가. a=0 이면 이차식이 아니라 일차식이다. 이 때, 1번 문항의 풀이를 이용하여 일차식을 푸시오.
나. math.h를 include하시오.
다. 판별식 b^2 - 4ac >0일때, 근의공식에 따라 두 근을 소수둘째자리까지 구하고 이를 출력하시오.
라. 판별식이 0일때, 근의 공식을 적용하면 루트부분이 없어지고 오직 하나의 해가 얻어진다. 이를 출력하시오.
마. 판별식이 0 미만이면 "실근이 없다"를 출력하시오.
바. 실근이 없을 경우 A + Bi 형태의 복소근을 구하고 이를 출력하시오. A와 B를 구하여 printf를 이용하여 출력하면 됨.
사. a,b,c를 scanf로 입력받은후 가,다,라,마,바에 대해 해가 찾아지는지 확인하시오.
main() {
double a = 0, b = 0, c = 0, x1, x2;
printf("a : ");
scanf("%lf", &a);
printf("b : ");
scanf("%lf", &b);
printf("c : ");
scanf("%lf", &c);
if (a == 0) {
x1 = -b / c;
if (b == 0 && c != 0) {
printf("x는 불능이다.");
}
else if (b == 0 && c == 0) {
printf("x는 부정이다.");
}
else {
printf("x = %lf", x1);
}
}
else {
double D = pow(b,2) - 4 * a * c;
if (D > 0) {
x1 = -b / (2 * a) + sqrt(D) / (2 * a);
x2 = -b / (2 * a) - sqrt(D) / (2 * a);
printf("x1 = %.2lf, x2 = %.2lf", x1, x2);
}
else if (D == 0) {
x1 = -b / (2 * a);
printf("x = %.2lf", x1);
}
else {
double A, B;
A = -b / (2 * a);
B = sqrt(-D) / (2 * a);
printf("x1 = %.2lf + %.2lfi, x2 = %.2lf - %.2lfi", A, B, A, B);
}
}
return 0;
}
'금융공학 퀀트 프로그래밍 과정' 카테고리의 다른 글
투자노트 금융공학 프로그래밍 과정 7주차 (0) 2020.05.03 투자노트 금융공학 퀀트 프로그래밍 과정 6주차 (0) 2020.04.26 투자노트 금융공학 퀀트 프로그래밍 과정 4주차 과제 (0) 2020.04.12 투자노트 금융공학 퀀트 프로그래밍 3주차 과제 (0) 2020.04.05 투자노트 금융공학 퀀트 프로그래밍 과정 2주차 과제 (0) 2020.03.28