Presentation 2

Download Report

Transcript Presentation 2

Java practice
If Syntax
Kim Jinsik...
destiny738.tistory.com
목차
1. If syntax
2. 문제소개
3. 변수를 선택하는 방법
4. 문제 풀이
2
1. If Syntax
둘 중 한 곳으로 Input
T
- Syntax
if ( 조건문1 ) {
statement1;
} else if ( 조건문2) {
statements2;
} else if ( 조건문 3) {
statements3;
} else {
statements4;
}
우리는 한 묶음
F
T와 F 위치는 변환 가능
if문은 예외적인 상황 처리에 사용한다.
if, else if, else는 하나의 묶음이다.
if, else if, else의 비교 대상은 같아야 한다.
int a = 1;
int b = 1;
int a = 1;
int b = 1;
if ( a == 1 ) {
printf( a is one );
}else if ( b == 1 ){
printf( b is one );
}
if ( a == 1 ) {
printf( a is one );
}
if ( b == 1 ){
printf( b is one );
}
Good!
Worst!!
3
1. If Syntax
- Select correct coding!
점수의 분포에 따라 다음과 같이 성적을 준다.
90점 이상은 A,
80점 이상 90점 미만은 B,
70점 이상 80점 미만은 C.
70점 미만은 D
if ( score >= 90 ) {
grade = ‘A’;
}
if ( score >= 80 && score < 90 ) {
grade = ‘B’;
}
if ( score >= 70 && score < 80 ) {
grade = ‘C’;
}
if ( score < 70 ){
grade = ‘D’;
}
if ( score >= 90 ) {
grade = ‘A’;
}else if ( score >= 80 && score < 90 ) {
grade = ‘B’;
} else if ( score >= 70 && score < 80 ){
grade = ‘C’;
} else {
grade = ‘D’;
}
4
1. If Syntax
- Select correct coding!
점수의 분포에 따라 다음과 같이 성적을 준다.
90점 이상은 A,
80점 이상 90점 미만은 B,
70점 이상 80점 미만은 C.
70점 미만은 D
if ( score >= 90 ) {
grade = ‘A’;
}else if ( score >= 80 ) {
grade = ‘B’;
} else if ( score >= 70 ){
grade = ‘C’;
} else {
grade = ‘D’;
}
if ( score >= 90 ) {
grade = ‘A’;
}
if ( score >= 80 ) {
grade = ‘B’;
}
if ( score >= 70 ) {
grade = ‘C’;
}
if ( score < 70 ){
grade = ‘D’;
}
5
1. If Syntax
- Select correct coding!
점수의 분포에 따라 다음과 같이 성적을 준다.
90점 이상은 A,
80점 이상 90점 미만은 B,
70점 이상 80점 미만은 C.
70점 미만은 D
if ( score >= 90 ) {
grade = ‘A’;
}
if ( score >= 80 && score < 90 ) {
grade = ‘B’;
}
if ( score >= 70 && score < 80 ) {
grade = ‘C’;
}
if ( score < 70 ){
grade = ‘D’;
}
Bad Coding!
if ( score >= 90 ) {
grade = ‘A’;
}else if ( score >= 80 && score < 90 ) {
grade = ‘B’;
} else if ( score >= 70 && score < 80 ){
grade = ‘C’;
} else {
grade = ‘D’;
}
Good! But Not best!
6
1. If Syntax
- Select correct coding!
점수의 분포에 따라 다음과 같이 성적을 준다.
90점 이상은 A,
80점 이상 90점 미만은 B,
70점 이상 80점 미만은 C.
70점 미만은 D
if ( score >= 90 ) {
grade = ‘A’;
}else if ( score >= 80 ) {
grade = ‘B’;
} else if ( score >= 70 ){
grade = ‘C’;
} else {
grade = ‘D’;
}
Best!
if ( score >= 90 ) {
grade = ‘A’;
}
if ( score >= 80 ) {
grade = ‘B’;
}
if ( score >= 70 ) {
grade = ‘C’;
}
if ( score < 70 ){
grade = ‘D’;
}
Worst! Error!
7
2. 문제 소개
- 3장 프로그래밍 문제 8번
남성들과 여성들의 이상적인 체중을 계산하는 프로그램을 설계하고 작성하라.
한 연구에 따르면 여성의 이상적인 체중은 다음과 같이 계산된다.
~ 신장이 150cm를 초과한다면 ( 37.8 + 0.75 * (신장 – 150 )) kg
~ 신장이 150cm 이하라면 37.8kg이다.
남성의 이상적인 체중은 다음과 같이 계산된다.
~ 신장이 150cm를 초과한다면 ( 40 + 0.89 * ( 신장 – 150 )) kg
~ 신장이 150cm 이하라면 40kg이다.
프로그램은 사용자에게 여성의 신장과 남성의 신장을 물어보아야 한다. 그 다
음에 그 여성의 이상적인 체중과 그 남성의 이성적인 체중을 계산한 후 출력해
야 한다.
다음은
여성의
남성의
여성의
남성의
모범 출력이다.
신장을 입력하세요: 158
신장을 입력하세요: 175
이상적인 체중은 43.8kg이다.
이상적인 체중은 62.25kg이다.
8
3. 변수를 선택하는 방법
- 변수를 선택하는 3 Step!
~ 변수의 특징!! 문제의 명사에 존재한다!!
프로그램의 목표(변수/상태)를 설정한다.
목표(변수/상태)를 구하는데 필요한 값을 변수로 설정한다.
사용자 입력과 출력(필요하다면)을 변수로 설정한다.
특별한 요구사항을 파악하고, 변수를 검토한다.
9
3. 변수를 선택하는 방법
- Step 1 !!
프로그램의 목표(변수/상태)를 설정한다.
프로그램을 작성하는 목표 또는 출력해줄 값을 선택하자!
[문제 8]
남성들과 여성들의 이상적인 체중을 계산하는 프로그램을 설계하고 작성하라.
프로그램의 목표 : 이상적인 체중을 계산하는 프로그램
목표 출력 : 이상적인 체중
변수 지정 : idealWeight
10
3. 변수를 선택하는 방법
- Step 2 !!
목표(변수/상태)를 구하는데 필요한 값을
변수로 설정한다.
목표 변수를 구하는 식 또는 문장에서 관련된 명사를 찾자!
[문제 8]
한 연구에 따르면 여성의 이상적인 체중은 다음과 같이 계산된다.
~ 신장이 150cm를 초과한다면 ( 37.8 + 0.75 * (신장 – 150 )) kg
~ 신장이 150cm 이하라면 37.8kg이다.
남성의 이상적인 체중은 다음과 같이 계산된다.
~ 신장이 150cm를 초과한다면 ( 40 + 0.89 * ( 신장 – 150 )) kg
~ 신장이 150cm 이하라면 40kg이다.
체중을 구하기 위해 필요한 값 : 성별, 신장.
변수 지정 : gender(성별), height(신장)
11
3. 변수를 선택하는 방법
- Step 3 !!
사용자 입력과 출력(필요하다면)을 변수로 설정한다.
입력을 받아들일 때는 변수가 반드시 필요하다.
출력을 할 때에는 필요 할 수도, 있고 안 할 수도 있다.
[문제 8]
프로그램은 사용자에게 여성의 신장과 남성의 신장을 물어보아야 한다.
사용자로부터 받아들이는 값 : 여성의 신장, 남성의 신장.
변수 지정 : manHeight, womanHeight
12
3. 변수를 선택하는 방법
- Step 4 !!
특별한 요구사항을 파악하고, 변수를 검토한다.
특별한 요구사항과 지금까지 생성한 변수를 모두 나열한 후
생각하자!
[문제 8]
여성의 이상적인 체중과 남성의 이성적인 체중을 계산한 후 출력해야 한다.
목표 출력 : 이상적인 체중 >> 남성과 여성 동시 계산 필요
변수 지정 : idealWeight
>> idealManWeight, idealWomanWeight
체중을 구하기 위해 필요한 값 : 성별, 신장
변수 지정 : gender(성별), height(신장)
사용자로부터 받아들이는 값 : 여성의 신장, 남성의 신장.
변수 지정 : manHeight, womanHeight
>> 남성과 여성의 신장을 한 번에 받아들여 계산한다.
>> gender, height 변수를 삭제
13
4. 문제 풀이
- 3장 프로그래밍 문제 8번 설계
☞ 변수 설계
idealManWeight
: 남성의 이상적인 몸무게 계산 결과
idealWomanWeight : 여성의 이상적인 몸무게 계산 결과
manHeight
: 남성의 신장
womanHeight
: 여성의 신장
※ 키, 몸무게에 대한 입/출력 단서가 없으므로 모두 실수형으로 타입을 정했다.
14
2. 문제 소개
- 3장 프로그래밍 문제 8번 설계
☞ 알고리즘
[문제]
프로그램은 사용자에게 여성의 신장과 남성의 신장을 물어보아야 한다. 그 다음
에 그 여성의 이상적인 체중과 그 남성의 이성적인 체중을 계산한 후 출력해야
한다.
1. 여성의 신장(womanHeight)과 남성(manHeight)의 신장을 사용자로부터 받는다.
2. 여성의 신장에 따라 다음을 나눠서 시행한다.
2-1) 여성의 신장이 150cm를 초과한다면,
idealWomanWeight = 37.8 + 0.75 * ( womanHeight – 150 ));
2-2) 그렇지 않다면,
idealWomanWeight = 37.8;
3. 남성의 신장에 따라 다음을 나눠서 시행한다.
3-1) 남성의 신장이 150cm를 초과한다면,
idealManWeight = 40 + 0.89 * ( manHeight – 150 ));
3-2) 그렇지 않다면,
idealManWeight = 40;
15
4. 문제 풀이
- 3장 프로그래밍 문제 8번 설계
☞ Flow Chart
Start
<< input >>
womanHeight
manHeight
womanHeight > 150
T
idealWomanWeight
= 37.8+0.75*(womanHeight-150)
F
idealWomanWeight = 37.8
manHeight > 150
T
idealManWeight
= 40 +0.89*(manHeight-150)
F
idealManWeight = 40
<< output >>
idealManWeight
idealWomanWeight
End
16
4. 문제 풀이
- 3장 프로그래밍 문제 8번 코드
public class IdealWeight {
public static void main(String[] args){
// variable
double manHeight;
double womanHeight;
double idealManWeight;
double idealWomanWeight;
//
//
//
//
남성의
여성의
남성의
여성의
신장
신장
이상적인 몸무게 계산 결과
이상적인 몸무게 계산 결과
Scanner s = new Scanner(System.in);
// Input the data
System.out.print("여성의 신장을 입력하세요: ");
womanHeight = s.nextDouble();
System.out.print("남성의 신장을 입력하세요: ");
manHeight = s.nextDouble();
// calculator Ideal weight.
if ( womanHeight > 150 ) {
idealWomanWeight = 37.8 + 0.75 * ( womanHeight - 150 );
}else{
idealWomanWeight = 37.8;
}
if ( manHeight > 150 ) {
idealManWeight = 40 + 0.89 * ( manHeight - 150 );
}else{
idealManWeight = 40;
}
}
}
// Output the result
System.out.println("여성의 이상적인 체중은 " + idealWomanWeight +"Kg이다.");
System.out.println("남성의 이상적인 체중은 " + idealManWeight + "Kg이다.");
17
1. 문제소개
- 3장 프로그래밍 과제(10번, 11번)
<10번>
한 대학의 졸업요건은 다음과 같다.
-2 총 이수학점이 140점 이상이고,2 TOEIC 점수가 700점 이상이면 졸업한다.
-2 총 이수학점이 140점 이상이나2 TOEIC 점수가 700점 미만이면 수료만 한다.
- 총 이수학점이 140점 미만이면 졸업도 안 되고 수료도 안 된다.
학생의3총 이수학점과 TOEIC 점수를 입력 받아1졸업이나 수료 여부를 알려주
는 프로그램을 설계하고 구현하라.
4 step2와 step3 중복!!
졸업여부, 이수학점, TOEIC점수
18
1. 문제소개
- 3장 프로그래밍 과제(10번, 11번)
<11번>
신용카드 회사 고객에게 매월 보내지는1카드 이용대금 명세서를 작성하는 프로그램
을 설계하고 구현하라.3프로그램은 이전 잔고(미결제 금액)과 당월 사용금액을 입력
받아야 한다. 그 다음으로1연체이자, 새 잔고(입금해야 할 총 금액)와 최소 입금액을
계산해야 한다.2이전 잔고가 0보다 크다면 연체이자는 이전 잔고와2 당월 사용금액 합
의 2%이다. 최소 입금액은 다음과 같이 계산된다.
-2새 잔고가 100,000원보다 작으면 최소 입금액은 새 잔고이다.
-2새 잔고가 100,000원보다 이상 300,000원 이하이면 최소 입금액은 100,000원이다.
-2새 잔고가 300,000원보다 크다면 최소 입금액은 새 잔고의 20%이다.
4
step2와 step3 중복!!
연체이자, 새 잔고, 최소 입금액, 이전 잔고, 당월 사용금액
※ 잔고 : 나머지 금액. ‘나머지’, ‘잔액’으로 순화.
이전 잔고 ≒ 연체료(할부 남은 거)
새 잔고 ≒ 이 번달 내야 할 총액
19
감사합니다!
이 문서는 나눔글꼴로 작성되었습니다. 설치하기