프로그래밍 원리 Chapter 07 선택논리(1) 신한대학교 IT융합공학부 박 호 균.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
누구나 즐기는 C언어 콘서트 제5장 조건문.
Power Java 제6장 조건과 반복.
재료수치해석 HW # 박재혁.
Excel 일차 강사 : 박영민.
Chapter 7. 조건문.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
Chapter09 JavaScript 구구단표 만들기
Chapter 04 C 연산자의 이해.
어서와 Java는 처음이지! 제3장선택과 반복.
Java practice If Syntax Kim Jinsik... destiny738.tistory.com.
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
For/While Syntax & Practice!!
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
Tail-recursive Function, High-order Function
Chapter 07. 기본 함수 익히기.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
Chapter 09 반복문.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
MATLAB
JA A V W. 03.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
어서와 C언어는 처음이지 제15장.
4장 순서도와 프로그램 논리 1. 절차의 표현 2. 순서도(flowchart) 3. 프로그램 논리 4. 순서 논리
Lesson 4. 수식과 연산자.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
Hello, Python! #2 <부제: 코딩은 혼자하는 것이다>
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
에어 조건문.
2장. 변수와 타입.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
2007 1학기 08 반복문.
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
VCDS 100% 활용법-2강 응 용 코딩의 방법과 학습 및 개조,변경 시리우스 이 병 수.
프로그래밍 원리 Chapter 06 순차논리 신한대학교 IT융합공학부 박 호 균.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
2nd day Indexing and Slicing
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
에어 PHP 입문.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
SPL3D Printer If 조건문.
Flow Diagram IV While.
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Homework #8 (실습 #7) [1/2] 다음을 수행하는 PHP 프로그램을 작성하여 프로그램과 결과물을 프린트하여 제출한다. sin(45º), cos(45º), tan(45º)를 출력하는 프로그램을 작성하시오. 피보나치 수를 구하는 함수 fib($n)을 작성하고,
Chapter 10 데이터 검색1.
제 22 강 논리식 및 논리 값 shcho.pe.kr.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
제어문Control Statements
9장. spss statistics 20의 데이터 변수계산
어서와 C언어는 처음이지 제21장.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
Presentation transcript:

프로그래밍 원리 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>");

토론 및 질문하기 오늘 배운 내용을 옆의 학우와 간단히 이야기를 나누어 보세요!