For/While Syntax & Practice!!

Slides:



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

2014 가을학기 계산 입문 연습 #4 지도교수 : 박성우 조교 : 이다훈. Python 을 설치합시다.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
Power Java 제6장 조건과 반복.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
C 5장. 제어문 #include <stdio.h> int main(void) { int num;
프로그래밍실습 제 5 강.
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
10장 예외 Lab 10-1.
김진식 destiny738.tistory.com
7장 배열 ②.
Chapter 04 C 연산자의 이해.
어서와 Java는 처음이지! 제3장선택과 반복.
Java practice If Syntax Kim Jinsik... destiny738.tistory.com.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
C 언어 연습문제 (formatted I/O)
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
두근두근 파이썬 수업 3장 계산해봅시다..
KIM HEESANG PL/SQL 2 KIM HEESANG
순서도.
13. 연산자 오버로딩.
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
Chapter 09 반복문.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express Slide 1 (of 27)
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
MATLAB
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
어서와 C언어는 처음이지 제15장.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 11회차 강사 : 박영민.
에어 조건문.
2장. 변수와 타입.
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
2007 1학기 08 반복문.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
계산기.
6장 연습 문제 풀이 학번 : 이름 :조 재한.
2nd day Indexing and Slicing
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
문자열 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
함수, 모듈.
TVM ver 최종보고서
제 22 강 논리식 및 논리 값 shcho.pe.kr.
Numerical Analysis Programming using NRs
실습 UBLAB.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
제 10 강 문자 입출력.
Presentation transcript:

For/While Syntax & Practice!! Kim Jinsik destiny738.tistory.com

목차 1. For/While Syntax 2. 문제 소개 3. 문제 풀이 4. 설계 문서 1

For/While Syntax 1 1. Syntax 2 사용처 주의점 반복적인 행위가 필요할 경우 사용자에게 반복적으로 값을 입력 받을 경우 특정 상태가 올 때까지 프로그램이 반복돼야 하는 경우 우리를 반복문으로 만들어줘 주의점 while과 do-while의 차이 나가는 시점 정의(증감연산, if문 사용) 조건에 실수값 사용 자제 while ( expression ){ expression is true; } expression is false ------------------------------------------------ for ( initialization ; expression ; statement ){ 초기 연산 초기 연산 F 조건 실행문 증감연산 T T 실행문 증감 연산 조건 F 2

For/While Syntax 1 2. Caution 3 while과 do-while의 차이 While문에서 하는 행위를 while문 이전에도 할 경우 do-while을 사용하는 것이 좋다. example) 사용자에게 숫자를 입력 받는다. 5이상의 숫자를 입력 받는 경우 프로그램은 종료된다. * while/for int i = 0; while( i < 5 ) i++; ------------------------------ for ( int i = 0 ; i < 5 ; i++ ) ; int number; Scanner s = new Scanner(System.in); number = s.nextInt(); System.out.println(“Your input : “+ number); while ( number < 5 ) { } System.out.println(“Program END”); int number; Scanner s = new Scanner(System.in); do { number = s.nextInt(); System.out.println(“Your input : “+ number); } while ( number < 5 ) ; System.out.println(“Program END”); 3

For/While Syntax 1 2. Caution 4 나가는 시점 정의 / 조건에 실수값 사용 자제 반복문이 무한 반복이 돌지 않도록 주의 하자! 조건을 향해 움직여야 한다. 조건에 사용되는 변수는 정수를 권장하며, ==, != 연산은 쓰지 않는 것이 좋다. 특히, 반복문 내부에서 조건에 사용되는 변수가 사용될 경우는 ==, !=은 사용하지 말자! example) 무한 반복하는 하지 않는 구문을 고르시오. double loopCounter = 0; while ( loopCounter != 1.0 ) loopCounter = loopCounter + 0.1; } 실수 사용 조건에서 멀어지고 있음 for ( int count = 0 ; count > 0 ; count++ ) ; 의도적 무한 Loop for ( int i = 1 ; i != 20 ; i++ ) { i = i * 2; } while ( true ) { //statements; } ==, != 사용 내부에서 변수 변환 4

문제소개 2 1. 문제소개 5 한 대학교 앞에 할인 마트가 있다. 이 가게의 모든 상품 가격은 500원 이하이다. 고객이 이 가게에서 물건 한 개를 사고 500원을 낼 때 거스름돈을 계산하는 프로그램을 설계하고 작성하라. 거스름돈은 반드시 100원, 10원, 1원짜리 동전으로 주어야 한다. 또한 동전의 개수를 최소화해야 한다. 다음과 같은 포맷(물건의 가격을 입력으로 받는다.)을 사용하라. 구매 금액을 입력하세요 [0-500] : 122 378원의 거스름돈은 다음과 같다: 100원짜리 동전 3개 10원짜리 동전 7개 1원짜리 동전 8개 Hint : 378/100 = 3, 378 % 100 = 78 5

문제 풀이 3 1. 변수 설계 Step 1. 프로그램의 목적 Step 2. 목적과 관련된 것 6 한 대학교 앞에 할인 마트가 있다. 이 가게의 모든 상품 가격은 500원 이하이다. 고객이 이 가게에서 물건 한 개를 사고 500원을 낼 때 거스름돈을 계산하는 프로그램을 설계하고 작성하라. 거스름돈은 반드시 100원, 10원, 1원짜리 동전으로 주어야 한다. 또한 동전의 개수를 최소화해야 한다. 다음과 같은 포맷(물건의 가격을 입력으로 받는다. )을 사용하라. 거스름돈 : change Step 2. 목적과 관련된 것 한 대학교 앞에 할인 마트가 있다. 이 가게의 모든 상품 가격은 500원 이하이다. 고객이 이 가게에서 물건 한 개를 사고 500원을 낼 때 거스름돈을 계산하는 프로그램을 설계하고 작성하라. 거스름돈은 반드시 100원, 10원, 1원짜리 동전으로 주어야 한다. 또한 동전의 개수를 최소화해야 한다. 다음과 같은 포맷(물건의 가격을 입력으로 받는다. )을 사용하라. 각 동전의 개수 : countOnehundred. countTen. countOne. 6

문제 풀이 3 1. 변수 설계 Step 3. 입출력 변수 Step 4. 변수 검토 7 한 대학교 앞에 할인 마트가 있다. 이 가게의 모든 상품 가격은 500원 이하이다. 고객이 이 가게에서 물건 한 개를 사고 500원을 낼 때 거스름돈을 계산하는 프로그램을 설계하고 작성하라. 거스름돈은 반드시 100원, 10원, 1원짜리 동전으로 주어야 한다. 또한 동전의 개수를 최소화해야 한다. 다음과 같은 포맷(물건의 가격을 입력으로 받는다. )을 사용하라. 물건의 가격 : price Step 4. 변수 검토 거스름돈 : change 각 동전의 개수 : countOnehundred. countTen. countOne. 물건의 가격 : price ※ 포맷을 참조하니 정수형(int)으로 설계하는 하였다. 7

문제 풀이 3 2. 알고리즘 설계 8 동전의 개수를 최소화해야 한다. 동전의 개수를 최소화 하기 위해서는 가격이 높은 동전일 수록 많이 주면 된다. 이를 이용하여 동전의 가치가 큰 것부터 계산을 한다. 다음과 같은 포맷을 사용하라. 구매 금액을 입력하세요 [0-500] : 122 378원의 거스름돈은 다음과 같다: 100원짜리 동전 3개 10원짜리 동전 7개 1원짜리 동전 8개 포맷을 이용하여 알고리즘의 순서를 생각하자. 구매 금액을 사용자에게 입력 받는다. 거스름 돈을 계산한 후 출력한다. 100원 개수 = 거스름 돈 / 100 100원 이후 잔금(거스름 돈) = 거스름 돈 % 100 10원 개수 = 거스름 돈 / 10 10원 이후 잔금(거스름 돈) = 거스름 돈 % 10 1원 개수 = 거스름돈 / 1 출력 문에 맞춰서 각각의 동전의 개수를 출력해준다. 8

countOnehundred = change / 100 문제 풀이 3 3. Flow chart start 구매 금액을 사용자에게 입력 받는다. 거스름 돈을 계산한 후 출력한다. 100원 개수 = 거스름 돈 / 100 100원 이후 잔금(거스름 돈) = 거스름 돈 % 100 10원 개수 = 거스름 돈 / 10 10원 이후 잔금(거스름 돈) = 거스름 돈 % 10 1원 개수 = 거스름돈 / 1 출력 문에 맞춰서 각각의 동전의 개수를 출력해준다. 반복문?? <input> price change = 500 - price countOnehundred = change / 100 change = change % 100 countTen = change / 10 change = change % 10 countOne = change / 1 <output> countOnehundred countTen countOne end 9

문제 풀이 3 4. 재설계 Step 4. 변수 검토 10 거스름돈 : change 각 동전의 개수 : countOnehundred. countTen. countOne. 물건의 가격 : price ※ 포맷을 참조하니 정수형(int)으로 설계하는 하였다. 구매 금액(price)을 사용자에게 입력 받는다. 거스름 돈을 계산(change = 500-price)한 후 출력한다. 100원 개수 = 거스름 돈 / 100 100원 이후 잔금(거스름 돈) = 거스름 돈 % 100 10원 개수 = 거스름 돈 / 10 10원 이후 잔금(거스름 돈) = 거스름 돈 % 10 1원 개수 = 거스름돈 / 1 출력 문에 맞춰서 각각의 동전의 개수를 출력해준다. 100 → 10 → 1 (돈의 가치가 0.1배씩 떨어진다.) 동전의 개수를 저장하지 말고 바로 출력하자. 각 동전의 개수를 저장하는 변수가 필요 없다. 현재 거스름돈의 단위를 계산하는 동전만 알면 된다. * 새로운 변수 - change(거스름돈), price(가격) - setMoney(현재 거스름돈 단위) 10

문제 풀이 3 4. 재설계 Step 4. 변수 검토 11 거스름돈 : change 물건의 가격 : price 현재 거스름돈 단위 : setMoney ※ 포맷을 참조하니 정수형(int)으로 설계하는 하였다. 구매 금액(price)을 사용자에게 입력 받는다. 거스름 돈을 계산(change = 500-price)한 후 출력한다. 100원 개수 = 거스름 돈 / 100 100원 이후 잔금(거스름 돈) = 거스름 돈 % 100 10원 개수 = 거스름 돈 / 10 10원 이후 잔금(거스름 돈) = 거스름 돈 % 10 1원 개수 = 거스름돈 / 1 출력 문에 맞춰서 각각의 동전의 개수를 출력해준다. 구매 금액(price)을 사용자에게 입력 받는다. 거스름 돈을 계산(change = 500-price)한 후 출력한다. setMoney를 100으로 저장 후 setMoney가 1보다 크면 다음을 반복한다. change / setMoney 값을 출력 change = change % setMoney setMoney = setMoney * 0.1; End Program 11

change = change % setMoney 문제 풀이 3 5. 재설계 - Flow chart 구매 금액(price)을 사용자에게 입력 받는다. 거스름 돈을 계산(change = 500-price)한 후 출력한다. setMoney를 100으로 저장 후 setMoney가 1이상이면 다음을 반복한다. change / setMoney 값을 출력 change = change % setMoney setMoney = setMoney * 0.1; End Program start <input> price change = 500 - price setMoney = 100 <output> change / setMoney T change = change % setMoney setMoney = setMoney * 0.1 setMoney >= 1 F end 12

설계 문서 4 1. 예시 13

KIND ACTION

THANK YOU