Selection-- Making Decision

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)
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
제 3 장 변수와 자료형.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
C 5장. 제어문 #include <stdio.h> int main(void) { int num;
제3장 게임기본모듈 Page 153 ~ 182.
Introduction To Computers
Chapter 7. 조건문.
시스템 생명 주기(System Life Cycle)(1/2)
Chapter 6 Repetition.
Chapter09 JavaScript 구구단표 만들기
시스템 생명 주기(System Life Cycle)(1/2)
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Windows Server 장. 사고를 대비한 데이터 백업.
Lesson 6. 형변환.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
Chapter 3 Flow of Control
2주차: 변수, 수식, Control Flow.
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
프로그래밍 랩 – 7주 리스트.
Chapter 07. 기본 함수 익히기.
KIM HEESANG PL/SQL 2 KIM HEESANG
순서도.
4장 제어문 선택문: if 문, if – else 문, switch 문
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
13. 연산자 오버로딩.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
adopted from KNK C Programming : A Modern Approach
MATLAB
어서와 C언어는 처음이지 제14장.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
뇌를 자극하는 Windows Server 2012 R2
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
Chapter 03. 주석문과 제어문.
제 5장 제어문 Hello!! C 언어 강성호 김학배 최우영.
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
6장 JSP 페이지의 연산자, 제어문 및 한글처리 이장에서 배울 내용 : JSP페이지에서 프로그램 로직코드를 원활히 수행할 수 있도록 제공되는 연산자와 제어문에 대해 학습한다. 또한 한글처리를 전혀 지원하지 않는 톰캣을 위한 몇 가지 한글처리를 위한 코드에 대해 알아본다.
8장. 조건에 따른 흐름의 분기. 8장. 조건에 따른 흐름의 분기 8-1 흐름의 분기가 필요한 이유 상황에 따른 프로그램의 유연성 부여 그림 8-1.
Chapter 06 연산자 기본.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Chapter 08 조건문.
함수, 모듈.
제 22 강 논리식 및 논리 값 shcho.pe.kr.
Numerical Analysis Programming using NRs
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
서술형 평가 확대 한국교육과정평가원 김 소 영.
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
Presentation transcript:

Selection-- Making Decision Chapter 5 Selection-- Making Decision

Selection 지금까지 배운 제어(control)흐름은 순서대로(composition) 수행하는 것이었다. 선택은 논리적 판단에 기반한다. 그러나 C에는 논리형(logical type)이 없다. 이에 따라 모든 비트가 ‘0’이면 ‘false’, 아니면 ‘true’로 보는 방법을 취한다. 정수, 실수 등에서는 0, 문자에서는 ‘\0’가 false에 해당한다.

Figure 5-1

논리연산자(logical operator) not(!) > and(&&) > or(||)가 있음. 조심: ‘&’과 ‘|’은 추후에 배울 비트(bit)연산자이다. 그 외에 ‘^’(exclusive or)와 ‘~’(one’s complement)연산이 있다. --- 15장에서 배움 ‘!’은 ‘true’ 값은 0으로, ‘false’ 값은 1로 바꾼다. !7, !90, !1.2, !’a’

Figure 5-2

Short circuit ‘and’나 ‘or’의 구현방법 하위 expression을 모두 evaluation한 후 수행 왼쪽부터 evaluation하여 값을 알게 되면 더 이상 수행하지 않는 방법 --- short circuit 속도가 빠르고, 때에 따라서는 모든 하위식을 evaluation하면 수행될 수 없는 문장도 수행이 된다. true || …, false && …. ~a && (b/a>=1.0) x || y++

Figure 5-3

관계연산자(relational operator) 두 값의 관계를 비교하여 논리적 결과를 생성하는 연산자 less than(<), less than or equal(<=), greater than(>), greater than or equal(>=) > equal(==), not equal(!=) 보완관계: !(x < y)  x >= y !(x >= y)  x < y !(x != y)  x == y !(x == y)  x != y

Figure 5-4

Figure 5-5

선택문 조건문의 결과에 따라 제어흐름이 바뀜 if (조건문) …. else if (x>=0) …. else …. ;

Figure 5-6

Figure 5-7

Figure 5-8

Figure 5-9

Figure 5-10

Figure 5-11

Figure 5-12

Figure 5-13

Dangling else problem if문 안에 if문이 있고, ‘else’가 하나밖에 없을 때 … 가까운 ‘if’에 연결 벗어나려면 if (..) {if (…) } else … 로 처리

Figure 5-14

Figure 5-15

조건식(conditional expression) 3-nary operation expression ? expression1 : expression2 expression의 evaluation 결과가 ‘true’이면 ‘expression1’이 수행되고, 아니면 ‘ecpression2’가 수행된다. 예: a == b ? c-- : c++ If문과 비슷하지만 쓰임이 다름 numPerLine = (fileFlag == ‘M’ ? 10 : 15) 중첩해서 사용하지 않음이 바람직함.

Figure 5-16

GIGO(garbage-in garbage-out) void exit(int completionStatus) 프로그램의 종료 (0이 아닌 값) 운영체제에 종료이유를 알림 void abort(void) 비정상적인 프로그램의 종료

이중선택, 중첩 소득세 누진 적용 $10,000  2% $10,001 ~ $20,000  5% $20,001 ~ $30,000  7% $30,001 ~ $50,000  10% $50,001 ~  15%

Figure 5-17

Program Calculate Taxes Figure 5-18 Program Calculate Taxes Calculate taxes based on marginal tax brackets. 1 Get income data (total income, taxes paid, dependencies) 2 Calculate taxes (total tax, tax due) 3 Print information End Calculate Taxes ==================== calcTaxes ================== calcTaxes 1 taxable income = total income – dependent exemptions 2 total tax = tax for bracket 1 + tax for bracket 2 + tax for bracket 3 + tax for bracket 4 + tax for bracket 5 3 tax due = total tax – taxes paid End calcTaxes

다중선택(multiway selection) switch문 정수, enumeration형 등에 사용 특정 값일 때만 적용 default : 꼭 있어야 하지는 않지만 선택되지 않은 모든 경우를 나타냄 break: switch문 중간에서 빠져나갈 때 사용 if-else if 문 특정 값에 따른 선택을 할 때 실수값에 주로 사용하나, 정수에도 사용 가능 특정 범위 내의 값일 때 선택 switch문을 정수에 사용하지 않는 이유 오차 때문 실수에서 if(a==b/c)보다는 if(fabs(a-b/c)<0.0001)

Figure 5-19

Figure 5-20

Figure 5-21

Figure 5-22

Figure 5-23

else-if 일종의 nested-if문임. if (score >= 90) grade = ‘A’; else if (score >= 80) grade = ‘B’; else if (score >= 70) grade = ‘C’; else if (score >= 60) grade = ‘D’; else grade = ‘F’;

Figure 5-24

표준라이브러리(추가) int is… (int testChar) int to… (int oldchar) iscntrl (0…31, 127), isprint(32…126) isspace (space: 32, vTab(9), line feed(10), hTab(11), form feed(12), carriage return(13) isgraph, isalnum, ispunc, isalpha, islower, isupper, isdigit, isxdigit int to… (int oldchar) toupper, tolower

Figure 5-25

잘 조직화하여 프로그램을 작성 잘 조직화한 프로그램 작성, 쉬운 프로그램 Software Engineering 보기 좋게 프로그램…. 중첩되면 한 칸씩 들여쓰기 비교시 복잡한 부정문 사용을 줄임 사고의 흐름에 따라 선택규칙을 작성 충분히 생각하고 프로그램을 한다. Software Engineering

Figure 5-26

Figure 5-27

Figure 5-28

Figure 5-29

Figure 5-30

예습 및 실험 실험 예습 Exclusive or의 truth table 만들기 추가된 표준라이브러리 중에서 3개 구현 (toupper포함) 55번, 60번, 62번 예습 6장 16, 17, 20, 24번