제 22 강 논리식 및 논리 값 shcho.pe.kr.

Slides:



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

제철고 프로그래밍언어 2015 가을학기 연습 #1 Python 연산식 이다훈 POSTECH 컴퓨터공학과 2015 년 9 월 23 일.
제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
2014 가을학기 계산 입문 연습 #4 지도교수 : 박성우 조교 : 이다훈. Python 을 설치합시다.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
Add Your Text 5. 지수함수와 로그함수 1. 지수함수 2. 로그함수 · 지수함수와 그 그래프 · 지수방정식과 지수부등식 · 로그 함수와 그 그래프 · 로그방정식과 로그부등식.
이진 나무 구조 강윤섭 2008년 5월 23일.
재료수치해석 HW # 박재혁.
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.
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
수치해석 6장 예제문제 환경공학과 천대길.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
7장 배열 ②.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Chapter 04 C 연산자의 이해.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
C 언어 연습문제 (formatted I/O)
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
2007 1학기 11 프로젝트 기초 실습.
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
Tail-recursive Function, High-order Function
Chapter 07. 기본 함수 익히기.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
C#.
1.4 중첩된 한정기호 (Nested Quantifiers) 이산수학 (Discrete Mathematics)
MATLAB
어서와 C언어는 처음이지 제14장.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
자바 5.0 프로그래밍.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
복습.
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
Chapter08 JavaScript 시작하기
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
2장 함수의 활용 p.268 함수 사용자가 필요로 하는 값을 쉽게 구할 수 있도록 특정한 값에 대해선 미리 함수로 만들어져 있다.  사용자는 함수를 이용하여 편리하게 원하는 값을 얻을 수 있다. 점수가 60점이상이면 “통과” 60미만이면 “탈락”으로 하고싶다면? 85점이상이면.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
Flow Diagram IV While.
[INA240] Data Structures and Practice
상관계수.
엔화 대환/대출 자금용도 대상 이자 차액 효과 (A,B,C) 환율 리스크 헷징 (A,B) 엔화의 평균환율 (A,B,C)
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
수치해석 ch3 환경공학과 김지숙.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
수학 2 학년 1 학기 문자와 식 > 미지수가 2개인 연립방정식 ( 1 / 1 ) 연립일차방정식의 해.
제 16 강 변수의 선언, 배정, 수식 shcho.pe.kr.
제 10 강 문자 입출력.
Presentation transcript:

제 22 강 논리식 및 논리 값 shcho.pe.kr

C 언어의 논리식: 어떠한 수식도 논리식으로 사용될 수 있음. 논리:logic, 2분 논리, 참-거짓, 흑백논리 C 언어의 논리식: 어떠한 수식도 논리식으로 사용될 수 있음. 산술 연산, 비교 연산, 논리 연산 값이 0이면 false (거짓) 그렇지 않으면 참으로 해석한다. if, while, for 등에 사용

예 while (2>1){ ... } while(1) printf(“Hello.\n”); if (0.1) … for (i=0; i<10; i++) sum+= i; n=6; while (n){ sum += n; n--; }

비교 연산 <,>,<=,>= ==,!= no spaces in between 비교연산 식의 값: (a==b) 옳음 (a= =b) 그름 비교연산 식의 값: 참이면 1, 아니면 0 * 비고: 0이면 false, 아니면 참

Confused ? 1 과 0 ? non-zero 와 zero ? 각종 논리 연산의 결과는 0 또는 1이 됨 임의의 수식을 true/false로 해석해야 한다면 non-zero는 true로 해석하고 0는 false로 해석함

예제 Q: (1==1) A: 1 Q: int a=24; (a != 23) Q: 3<3 A: 0 Q: 3 == 3.0/10.0*10 ??

다음 shcho.pe.kr

Q22_01

산술 연산과 섞어 쓰기 int a,b; a+b < c+d ≡ (a+b) < (c+d) 즉, 산술 연산을 비교 연산 보다 먼저 계산. 1<2 + 3<4 ≡ ?

논리값은 정수 printf(“%d\n”, 1==1); printf(“%d\n”, 1==1+1); printf(“%d\n”, 1>=2); printf(“%d\n”, (1==2)<1); printf(“%d\n”, (1!=2)>(1==1)); printf(“%d\n”, (2>1)/2);

수학에서의 식과 차이 3<4<5  true ,  1? 그러나… 3<4<5 ≡ (3<4)<5 ≡ 1 < 5 ≡ 1 4<3<5 ≡ (4<3)<5 ≡ 0 < 5 ≡ 1  절대 쓰지 말 것 수학에서의 a<b<c 는  (a<b) && (b<c)

다음 shcho.pe.kr

Q22_02

논리 연산 함수: 논리 값  논리값 x y x && y x || y !x 1

실습 lab22_01/rectangle.c 사각형을 left, right, top, bottom의 4개 값으로 나타내자. 사각형의 4개 좌표를 scanf로 입력 받는다. 새로운 점의 x와 y 값을 입력 받는다. 이 점이 사각형의 내부에 있는 지 (경계선 포함) 그렇지 않은 지 판단하여 “내부” 또는 “외부”로 출력하는 프로그램을 작성하라. 여러 조건을 동시에 만족하는지를 테스트하기 위해서는 &&를 사용한다. 파일명: rectangle.c left right x top * 주의: 컴퓨터에서는 y 값은 아래로 갈수록 큰 수가 된다. bottom y

실습 lab22_02/rectangle2.c lab23_01과 같은 일을 하는 프로그램을 작성하되 이번에는 &&를 전혀 쓰지 않고 대신 ||를 사용하라. Hint: 안에 있는가를 묻지 않고 바깥에 있는가를 물으면 된다. 파일명: rectangle2.c

실습 lab22_03/side.c 22_03.txt i=j=k=0; if ((i-- >0) && (j-- >0)) k++; printf("%d %d %d\n",i,j,k); i=j=k=1; 프로그램을 하기 전에 출력 값을 예측해보자. 여기서 알 수 있는 것은 어떤 사실인가 생각하여보라 (22_03.txt 에 작성)

Short-circuit evaluation f1 && f2  f1이 true일 때만 f2를 evaluate 한다 f1 || f2  f1이 false일 때 만 f2를 evaluate 한다 순서는 좌에서 우로 !

&& , || 와 연속된 if if(A && B) { ... } if (A){ if (B) { ... } } if (A || B) {...} if (A){...} else if (B){...}

lab22_04/side2.c if ( (i-- >0) && (j-- >0) ) printf("둘 다 0보다 크다."); printf("i=%d j=%d\n", i, j); 위의 코드를 수정하여 && 대신 두 개의 if로 바꾸어서 프로그램을 완성하라. i, j의 값은 scanf로 입력한다.

논리 부정 !(논리식)은 논리 값의 반대를 형성 !1은 0 !!1은 1 !0은 1 !!0은 0 !99는? !!99는 반대의 반대니까 99?

Summary 정수 값을 논리 값으로 조건의 참/거짓으로 사용 조건의 만족 여부: zero/non-zero 각종 논리 연산의 결과: 1/0으로 나온다 대소 비교, 동등 비교, 논리 합/곱 정수 연산과 섞어 쓸 수 있다 수학에서의 비교 식과 혼돈은 금물

제 22 강 끝. shcho.pe.kr