프로그래밍 원리 Chapter 07 선택논리(1) 신한대학교 IT융합공학부 박 호 균
이번 장에서는 무엇을 다룰까요? 선택논리(1)
강의 주제 및 목차 강의 주제 선택논리(1) 1 제어 구조 목 차 2 if문을 이용한 선택문 3 제출문제
1. 제어구조
제어구조 제어문(Control Statement) if문, switch문, for문, while문 등 프로그램의 실행 흐름이 순서대로 실행되지 않고 조건에 따라 실행 흐름이 변경되는 문장조건에 따라 실행 흐름을 선택적으로 수행하는 선택문, 조건에 따라 특정 문장을 반복 수행하는 반복문이 있다.
2. if문을 이용한 선택문
단일 선택 if문 선택문 주어진 조건식을 판단하여 그 결과에 따라 수행할 문장이 선택된다. ☞ 조건식은 참(true) 또는 거짓(false) 값으로 산출되는 식으로 주로 관계식과 논리식으로 구성 단일 선택 if문 조건식을 판별해서 참일 때만 하나의 명령문을 수행하고 거짓일 경우에는 어떠한 문장도 수행하지 않는 문장 구조. if (조건식) 명령문;
단일 선택 if문 조건식(num > 0)을 판별하여 조건식이 참이면, document.write(num + “은 양수입니다.”); 문장을 수행하는 if문을 작성하시오. 점수(score)가 60 ~ 100점 일 경우 '합격'이라 출력하는 문장을 수행하는 if문을 작성하시오. - 조건식을 (60 <= score <= 100)라 작성하면 문법 오류가 발생 - 조건식을 ((score >= 60) && (score <= 100)) 로 작성 if (num > 0) document.write(num +”은 양수입니다.”); if (60 <= score <= 100) document.write(“합격”); (X) if ((score >= 60) && (score <= 100)) document.write(“합격”); (O)
단일 선택 if문 위 형식은 조건식을 판별하여 - 참이면, 명령문1을 수행한 후 if문을 벗어나 다음 문장인 명령문2를 수행한다. - 거짓이면, if문을 벗어나 명령문2를 수행한다. 즉, 위 문장의 구조는 if문과 명령문2로 구성 if (조건식) 명령문1; 명령문2;
단일 선택 if문 조건식(num > 0)을 판별하여 조건식이 참이면, “○○은 양수입니다”를 출력하는 문장을 수행한 후, if문을 벗어나 “프로그램을 종료합니다.”를 출력하시오. 그러나 조건식이 거짓이라면 그냥 if문을 벗어나 “프로그램을 종료합니다.”만을 출력하시오. 위 문장을 아래와 같이 코딩한다면… - 논리상 서로 다른 문장은 아니나 언뜻 보면 조건식이 참일 경우 두 문장을 수행하고, 거짓이면 어떠한 문장도 수행하지 않는 논리구조인 것처럼 보이므로 문장의 들여쓰기가 필요하다. if (num > 0) document.write(num +”은 양수입니다.”); document.write(“프로그램을 종료합니다.”); if (num > 0) document.write(num +”은 양수입니다.”); document.write(“프로그램을 종료합니다.”);
단일 선택 if문 블록구조 : 조건식이 참일 때 수행해야 할 문장이 여러 문장일 경우에는 블록 기호인 { 와 } 안에 명령문을 작성한다. 블록은 한 덩어리로 생각하면 되며, 블록 안에 지정된 문장들은 순차적으로 수행된다. 예) if (조건식) { 명령문1; 명령문2; : } if (num > 0) { document.write(“결과 : “); document.write(num +”은 양수입니다.”); }
단일 선택 if문 실습 7-1) 신장(Cm)과 체중(Kg)을 정수 값으로 입력 받아 표준체중(Kg)과 비만도(%)를 구하시오. 단, 체중이 60Kg이상인 경우에 한하여 연산결과를 출력한다. 표준체중(Kg)과 비만도(%)를 구하는 공식은 아래와 같다. 표준체중 = (신장 – 100) * 0.9 비만도 = [(체중 – 표준체중) / 표준체중] * 100 ① 입력 자료와 변수 설정 ② 조건식 입력자료 변수명 식 신장 height parseInt(prompt(“당신의 신장(Cm)은? “)); 체중 weight parseInt(prompt(“당신의 체중(Kg)은? “)); 조건식 비고 if (weight >= 60) 체중이 60 이상이라면
((weight – std_Weight) / std_Weight) * 100 단일 선택 if문 ③ 연산 처리 ④ 출력형식과 변수 처리자료 변수명 식 표준체중 std_Weight (height – 100) * 0.9 비만도 bmi ((weight – std_Weight) / std_Weight) * 100 출력자료 출력형식 변수명 표준체중 “표준체중(Kg) : “ std_Weight 비만도 “비만도(%) : “ bmi
단일 선택 if문 소스 프로그램 (체중 60Kg 이상자만 비만도 구하기) – 교재 219쪽 var height, weight, std_Weight, bmi; height = parseInt(prompt("당신의 신장(Cm)은? ")); // 신장입력 weight = parseInt(prompt("당신의 체중(Kg)은? ")); // 체중입력 if (weight >= 60) { // 체중이 60 이상 이라면 std_Weight = (height - 100) * 0.9; // 표준체중 계산 bmi = ((weight - std_Weight) / std_Weight) * 100; // 비만도 계산 document.write("신장 : " +height +"(Cm)<br>"); document.write("체중 : " +weight +"(Kg)<br>"); document.write("--------------------------<br>"); document.write("표준체중 : " +std_Weight +"(Kg)<br>"); document.write("비만도 : " +bmi +"(%)<br>"); }
단일 선택 if문 실습 7-2) 출석, 중간, 기말 점수를 입력 받아 합계를 구하는 프로그램을 작성하려 한다. 이때 출석이 9점 이상일 경우에만 합계를 출력하시오. 또한, 출력의 맨 마지막에는 출석 점수에 상관 없이 “감사합니다.”라고 출력한다. var attend, midterm, finals, total; attend = parseInt(prompt("출석점수(<=20) 입력? ")); // 출석점수입력 midterm = parseInt(prompt("중간점수(<=40) 입력? ")); // 중간점수입력 finals = parseInt(prompt("기말점수(<=40) 입력? ")); // 기말점수입력 document.write("출석 : " +attend +"<br>"); document.write("중간 : " +midterm +"<br>"); document.write("기말 : " +finals +"<br>"); if(attend >= 9) { // 출석점수가 9이상이라면 블록 안의 문장들을 수행 total = attend + midterm + finals; // 출석, 중간, 기말 점수 합계 계산 document.write("합계 : " +total +"<br>"); // 합계 출력 } document.write("감사합니다.<br>");
단일 선택 if문 조건식이 참일 때 수행할 명령문이 하나일 경우에도 블록 안에 작성해도 무방하다. 예) 아래 두 문장은 같은 문장이다. if (조건식) { 명령문1; } if (num > 0) { document.write(num +”은 양수입니다.”); } if (num > 0) document.write(num +”은 양수입니다.”);
단일 선택 if문 실습 7-3) 하나의 정수를 입력 받아 짝수인지 홀수 인지를 출력하는 프로그램을 작성하시오. 순서도
단일 선택 if문 소스 프로그램 - % 는 나머지를 구하는 연산자. (예 : 10 % 4 → 2) var num; 소스 프로그램 - % 는 나머지를 구하는 연산자. (예 : 10 % 4 → 2) var num; num = parseInt(prompt("정수 입력 : ")); if(num % 2 == 0) { // num을 2로 나누었을 때 나머지가 0이라면 document.write(num +" : 짝수"); } if(num % 2 != 0) { // num을 2로 나누었을 때 나머지가 0이 아니라면 document.write(num +" : 홀수");
단일 선택 if문 소스 프로그램 - 위 프로그램을 6장에서 학습한 조건연산자를 이용하면 아래와 같이 작성할 수 있다. 소스 프로그램 - 위 프로그램을 6장에서 학습한 조건연산자를 이용하면 아래와 같이 작성할 수 있다. var num, res; num = parseInt(prompt("정수 입력 : ")); if(num % 2 == 0) { // num을 2로 나누었을 때 나머지가 0이라면 res = “짝수"; } if(num % 2 != 0) { // num을 2로 나누었을 때 나머지가 0이 아니라면 res = “홀수"; document.write(num +" : “ +res); var num, res; num = parseInt(prompt("정수 입력 : ")); res = (num % 2 == 0) ? “짝수“ : “홀수"; // 조건연산자 document.write(num +" : “ +res);
단일 선택 if문 실습 7-4) 어느 한 업체에서 시간당 수당은 8,450원이다. 이번 달 근무 시간을 입력 받아 급여를 출력하는 프로그램을 작성하시오. 단, 월 근무 시간이 100시간 초과된 근로자에게는 초과된 시간에 대하여 시간당 수당의 20%를 성과급으로 급여에 추가하여 지급한다. 구분 조건식 처리내용 입력 시간당수당 = 8450; 성과급 = 0; 월근무시간 = parseInt(prompt(“월 근무시간 입력 : ”)); 연산 (월근무시간 > 100) 시간당성과급 = 시간당수당 * 0.2; 성과급 = (월근무시간 – 100) * 시간당성과급; 급여 = (시간당수당 * 월근무시간) + 성과급; 출력 document.write(“급여 : “ +급여);
단일 선택 if문 ① 입력 자료와 변수 설정 ② 연산 처리 ③ 출력 형식과 변수 입력자료 변수명 값 시간당수당 h_pay 월근무시간 hour hour = parseInt(prompt(“월 근무시간 입력 : ”)); 조건식 처리자료 변수명 식 if(hour > 100) 시간당성과급 h_bonus h_bonus = h_pay * 0.2; 성과급 bonus bonus = (hour – 100) * h_bonus; 급여 salary salary = (h_pay * hour) + bonus; 출력자료 출력형식 변수명 급여 “급여 : “ salary
단일 선택 if문 소스 프로그램 (급여 계산하기) – 교재 222쪽 var salary, hour, bonus, h_pay, h_bonus; h_pay = 8450; //시간당 수당 초기값 bonus = 0; //성과급 초기값 hour = parseInt(prompt("월 근무시간 입력 : ", "Hour")); if(hour > 100) { h_bonus = h_pay * 0.2; //시간당 성과급 bonus = (hour - 100) * h_bonus; //성과급 = 초과근무시간 * 시간당 성과급 } salary = (h_pay * hour) + bonus; //급여 document.write("근무시간(Hour) : " +hour +"<br>"); document.write("성과급 : " +bonus +"<br>"); document.write("급여 : " +salary +"<br>");
이중 선택 if문 이중 선택 if문 (if ~ else문) 조건식의 결과가 참 또는 거짓에 따라 프로그램의 흐름이 두 방향 중 한 방향을 선택하여 수행하는 문장 구조 if~else문의 구조 조건식을 판단하여 그 결과가 참이면 명령문1; 문장을 수행하고, 만약 거짓이라면 명령문2; 문장을 수행 if (조건식) 명령문1; else 명령문2; ☞ else; 와 같이 else다음에 세미콜론(;)을 작성하는 경우가 문법오류(syntax error)가 발생하니 주의바람.
이중 선택 if문 예) 입력 받은 정수(num)를 2로 나누어 나머지가 0이면 “짝수”라고 출력하고, 그렇지 않으면 “홀수”라고 출력하시오. 아래 문장과 같이 변수 num의 초기값을 0으로 할당한 후 if문을 수행하였다. 조건식 (num = 10)의 결과가 참인지 거짓인지를 판단하여 보자. if (num % 2 == 0) document.write(num +” : 짝수”); else document.write(num +” : 홀수”); var num = 0; if (num = 10) document.write(“변수 num의 값은 10 입니다.”); else document.write(“변수 num의 값은 10이 아닙니다.”);
이중 선택 if문 앞의 예제는 언뜻 보면 변수 num에 0이 저장되어 있으므로 조건식(num = 10)의 결과가 거짓처럼 보일 수 있다. 그러나 조건식(num = 10)의 문장은 배정문이다. 즉, 변수 num에 10을 저장하라는 문장이다. 따라서 if(num = 10)은 if(10)과 동일한 문장이 된다. 조건식은 연산 결과가 0 이면 거짓, 0 이 아니면 참으로 판단한다. 따라서 if(10)은 참으로 판단된다. [출력 결과] 변수 num의 값은 10 입니다. var num = 0; if (10) document.write(“변수 num의 값은 10 입니다.”); else document.write(“변수 num의 값은 10이 아닙니다.”);
이중 선택 if문 만약 조건식에서 변수 num에 저장된 값과 정수 10이 같은지를 판단하려면 관계연산자중 동등연산자(==)를 사용하여야 한다. 위 예제는 조건식이 거짓이 되어 출력 결과는 다음과 같다. [출력 결과] 변수 num의 값은 10이 아닙니다. var num = 0; if (num == 10) document.write(“변수 num의 값은 10 입니다.”); else document.write(“변수 num의 값은 10이 아닙니다.”);
이중 선택 if문 실습 7-5) 하나의 정수를 입력 받아 그 수가 짝수인지 홀수인지를 출력하는 프로그램을 작성하시오. 실습 7-5) 하나의 정수를 입력 받아 그 수가 짝수인지 홀수인지를 출력하는 프로그램을 작성하시오. 소스 프로그램 var num; num = parseInt(prompt("정수 입력 : ")); if(num % 2 == 0) document.write(num +" : 짝수"); else document.write(num +" : 홀수");
이중 선택 if문 실습 7-6) 두 정수를 입력 받고, 그 수를 비교하여 큰 값을 출력하는 프로그램을 작성하시오. 순서도
이중 선택 if문 소스 프로그램 var num1, num2; num1 = parseInt(prompt("정수1를 입력 : ", "정수 입력")); num2 = parseInt(prompt("정수2를 입력 : ", "정수 입력")); document.write("Input Number : " +num1 +", " +num2 +"<br>"); if(num1 > num2) document.write("Maximum Value : " +num1 +"<br>"); else document.write("Maximum Value : " +num2 +"<br>");
이중 선택 if문 if문의 조건식이 참 또는 거짓일 때 수행될 문장이 여러 문장일 경우 앞에서 설명하였듯이 블록 기호( { 와 } )내에 명령문들을 작성한다. 또한, 수행될 명령문이 하나일 경우에도 블록 기호를 표시하여 작성해도 상관없다. if (조건식) { 명령문1; } else { 명령문2; } if (조건식) { 명령문1; 명령문2; : } else { 명령문a; 명령문b; }
이중 선택 if문 예) 입력받은 정수(num)를 2로 나누어 나머지가 0이면 “짝수”라고 출력하고, 그렇지 않으면 “홀수”라고 출력하시오. 두 수를 입력 받아 큰 수와 작은 수를 출력하시오. if (num % 2 == 0) { document.write(num +” : 짝수”); } else { document.write(num +” : 홀수”); } if (num1 > num2) { document.write(“Maximum Value : “ +num1 +”<BR>”); document.write(“Minimum Value : “ +num2 +”<BR>”); } else { document.write(“Maximum Value : “ +num2 +”<BR>”); document.write(“Minimum Value : “ +num1 +”<BR>”); }
이중 선택 if문 실습 7-7) 1년은 365일이다. 그러나 윤년은 2월의 하루가 더 많아 366일이 된다. 연도를 입력 받아 윤년인지 아닌지를 출력하는 프로그램을 작성하시오. 윤년은 연도가 4로 나누어지면서 100으로 나누어 떨어지지 않으면 윤년이다. 또한, 연도가 400으로 나누어 떨어져도 윤년이다. 소스 프로그램 var year; year = parseInt(prompt("연도를 입력시오 : ")); if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { document.write(year +"년은 윤년입니다.<BR>"); } else { document.write(year +"년은 윤년이 아닙니다.<BR>"); }
이중 선택 if문 실습 7-8) 핸드백과 같은 물품을 해외직구를 통해 구매할 때 지불해야 할 총세금과 물품의 총금액을 계산하는 프로그램을 작성하시오. 세금의 종류는 관세, 부가세, 특소세가 있으며, 이들 세율은 물품가격이 200만원을 기준으로 아래 표와 같이 책정되어 있다. 물품가격 관세 부가세 특소세 200만원 이하 7% 10% 0% 200만원 초과 8% 20% 구분 조건식 처리내용 입력 물품가격 = parseInt(prompt(“물품가격 입력 : ”)); 연산 (물품가격 <= 2000000) 관세 = 물품가격 * 0.07; 부가세 = 물품가격 * 0.1; (물품가격 > 2000000) 관세 = 물품가격 * 0.08; 특소세 = 물품가격 * 0.2
이중 선택 if문 ① 입력 자료와 변수 설정 ② 연산 처리 구분 조건식 처리내용 연산 총세금 = 관세 + 부가세 + 특소세; 총금액 = 물품가격 + 총세금; 출력 document.write(“총세금 : “ +총세금+”<BR>”); document.write(“총금액 : “ +총금액+”<BR>”); 입력자료 변수명 값 물품가격 price price = parseInt(prmpt(“물품가격 입력 : “)); 조건식 처리자료 변수명 식 (price <= 2000000) 관세 duty duty = price * 0.07; 부가세 vat vat = price * 0.1; 특소세 special special = 0;
단일 선택 if문 ② 연산 처리 ③ 출력 형식과 변수 조건식 처리자료 변수명 식 (price > 2000000) 관세 duty duty = price * 0.08; 부가세 vat vat = price * 0.1; 특소세 special special = price * 0.2; 총세금 tax tax = duty + vat + special; 총금액 pay pay = price + tax; 출력자료 출력형식 변수명 총세금 “총세금 : “ tax 총금액 “총금액 : “ pay
이중 선택 if문 소스 프로그램 var price, tax, duty, vat, special; special = 0; price = parseInt(prompt("핸드백 가격(원)은? ")); vat = price * 0.1; if(price <= 2000000) { //물품가격이 200만원 이하일 경우 duty = price * 0.07; } else { //물품가격이 200만원 초과할 경우 duty = price * 0.08; special = price * 0.2; } tax = duty + vat + special; //총세금 = 관세 + 부가세 + 특소세 pay = price + tax; //총금액 = 물품가격 + 총세금 document.write("핸드백 : " +price +"원<br><br>"); document.write("관세: " +duty +"원<br>"); document.write("부가세 : " +vat +"원<br>"); document.write("특소세 : " +special +"원<br>"); document.write("--------------------------<br>"); document.write("총세금 : " +tax +"원<br><br>"); document.write("총금액 : " +pay +"원<br>");
3. 제출문제
제출문제 02 입력 받은 숫자가 양수, 0, 음수인지를 판별하는 프로그램을 조건연산자를 이용하여 작성하시오. 02 입력 받은 숫자가 양수, 0, 음수인지를 판별하는 프로그램을 조건연산자를 이용하여 작성하시오. result = (num == 0) ? “0(zero)” : ((num > 0) ? “양수” : “음수”) 소스 프로그램 - 출력 예시 var num, result; num = parseInt(prompt("양수, 0, 음수중 하나를 입력하세요")); Result = (num == 0) ? "0(zero)" : ((num > 0) ? "양수" : "음수"); document.write("입력된 수 " +num +"은(는) " +result +"입니다.");
distance = parseInt(prompt(“주행거리(미터)를 입력하세요”)); 제출문제 03 택시의 기본요금의 거리는 2,000미터이며 기본요금은 4,800원이다. 기본요금에 해당되는 거리 이동 후에는 180미터마다 100원씩 올라간다. 손님의 주행거리(미터)를 입력했을때 택시요금을 계산하는 프로그램을 작성하시오. 0 2,000m 4,800원 ① 입력 자료와 변수 설정 180미터 이동시 100원 상승 입력자료 변수명 값 주행거리 distance distance = parseInt(prompt(“주행거리(미터)를 입력하세요”)); 기본요금 basicFee basicFee = 4800; 기본거리 basicDis basicDis = 2000;
제출문제 ② 연산처리 ③ 출력 형식과 변수 조건식 처리자료 변수명 식 distance <= 2000 추가요금 overPay =0 택시요금 taxiPay = basicFee + overPay; distance > 2000 = parseInt((distance – basicDis) / 180) * 100; 출력자료 출력형식 변수명 주행거리 “주행거리(m) : “ distance 택시요금 “택시요금(원) : “ taxiPay
제출문제 소스 프로그램 var distance, basicFee, basicDis, overPay, taxiPay; distance = parseInt(prompt("주행거리(미터)를 입력하세요")); if(distance <= basicDis) { // if(주행거리 <= 2000) 라면 overPay = 0; // 추가요금 = 0 } else { overPay = parseInt((distance - basicDis) / 180) * 100; } taxiPay = basicFee + overPay; // 택시요금 = 기본요금 + 추가요금 document.write("주행거리 : " +distance +"미터<BR>"); document.write("기본요금 : " +basicFee +"원<BR>"); document.write("추가요금 : " +overPay +"원<BR>"); document.write("택시요금 : " +taxiPay +"원<BR>");
cc = parseInt(prompt(“자동차 배기량(CC)을 입력하세요”)); 제출문제 05 자동차 세금은 자동차세와 지방교육세로 구성된다. 자동차세는 배기량(CC)이 1000CC 미만일 경우에는 CC당 80원이 부과되며, 1000CC 이상일 경우에는 CC당 110원이 부과된다. 또한, 지방교육세는 배기량에 관계없이 모두 자동차세의 30%가 부과된다. 배기량을 입력 받아 자동차 세금을 출력하는 프로그램을 작성하시오. ① 입력 자료와 변수 설정 입력자료 변수명 값 배기량 cc cc = parseInt(prompt(“자동차 배기량(CC)을 입력하세요”));
제출문제 ② 연산처리 ③ 출력 형식과 변수 조건식 처리자료 변수명 식 cc < 1000 자동차세 carTax carTax = cc * 80; 지방교육세 eduTax eduTax = carTax * 0.3; cc >= 1000 (배기량이 1000CC 이상) catTax carTax = cc * 110; 입력자료 변수명 값 자동차세금 totTax totTax = carTax + eduTax;
제출문제 소스 프로그램 var cc, carTax, eduTax, totTax; cc = parseInt(prompt("자동차 배기량(CC)을 입력하세요")); if(cc < 1000) { carTax = cc * 80; // 배기량이 1000CC 미만일 때, 자동차세 = 배기량 * 80 } else { carTax = cc * 110; // 배기량이 1000CC 이상일 때, 자동차세 = 배기량 * 110 } eduTax = carTax * 0.3; // 지방교육세 = 자동차세 * 30% totTax = carTax + eduTax; // 자동차세금 = 자동차세 + 지방교육세 document.write("자동차 배기량 : " +cc +"CC<BR>"); document.write("자동차세 : " +carTax +"원<BR>"); document.write("지방교육세 : " +eduTax +"원<BR>"); document.write("자동차 세금 : " +totTax +"원");
count = parseInt(prompt(“전원단추 누른 횟수 입력 : ”)); 제출문제 06 스탠드를 끄거나 켤 때 ◎ 단추를 사용한다. 스탠드가 꺼진 상태에서 ◎ 단추를 누르면 ‘ON’상태로 바뀌고, 스탠드가 ‘ON’상태일 때 ◎ 단추를 누르면 ‘OFF’가 된다. 키보드에서 전원단추(◎)의 횟수를 입력 받아 스탠드의 상태를 출력하는 프로그램을 작성하시오. 단, 스탠드의 전원은 꺼져있다. ① 입력 자료와 변수 설정 ② 연산 처리 입력자료 변수명 값 횟수 count count = parseInt(prompt(“전원단추 누른 횟수 입력 : ”)); 조건식 처리자료 변수명 식 count % 2 == 0 전원 power power = “Power OFF” count % 2 == 1 power = “Power ON”
제출문제 소스 프로그램 var count, power; count = parseInt(prompt("전원단추 누른 횟수 입력 : ")); if(count % 2 == 0) { power = "Power OFF"; } else { power = "Power ON"; } document.write("전원버튼 누른 횟수 : " +count +"<BR>"); document.write("스탠드 전원 상태 : " +power);
제출문제 10 편의점 멤버십카드에 포인트가 10,000점이 적립되어 있다. 물건을 구입한 후 포인트 적립을 원하면 구입가격의 10%가 적립되며, 적립을 원하지 않으면 구입가격의 6%가 포인트 차감되어 할인된다. 구입가격과 적립유무(Y/N)를 판단하여 포인트 점수와 결제금액을 출력하는 프로그램을 작성하시오. (단, 현재 포인트 차감 범위 내에서 물건 구입을 한다고 가정한다.) ① 입력 자료와 변수 설정 입력자료 변수명 값 구입가격 price price = parseInt(prompt(“물건 구입 가격(원)을 입력하시오”)); 결제구분 saving saving = prompt(“Y-포인트 적립 / N-포인트 차감 : ”); 포인트 point point = 10000;
제출문제 ② 연산처리 ③ 출력 형식과 변수 조건식 처리자료 변수명 식 saving == “Y” (포인트 적립) 포인트 point = point +(price * 0.1); 결제금액 payment payment = price saving == “N” (포인트 차감) point = point – (price * 0.06); payment = price – (price * 0.06); 출력자료 출력형식 변수명 포인트 “포인트 : “ point 결제금액 “결제금액 : “ payment
제출문제 소스 프로그램 var price, saving, point, payment; point = 10000; price = parseInt(prompt("물건 구입 가격(원)을 입력하시오")); saving = prompt("Y-포인트 적립 / N-포인트 차감?"); if((saving == "Y") || (saving == “y”)) { division = "포인트 적립"; point = point + (price * 0.1); payment = price; } else { division = "포인트 차감"; point = point - (price * 0.06); payment = price - (price * 0.06); } document.write("구입가격 : " +price +"원<BR>"); document.write("결제구분 : " +division +"<BR>"); document.write("포인트 : " +point +"점<BR>"); document.write("결제금액 : " +payment +"원<BR>");
토론 및 질문하기 오늘 배운 내용을 옆의 학우와 간단히 이야기를 나누어 보세요!