Chapter 5 조건문과 재귀문 프로그램의 상태에 따라 다른 코드를 실행하는 if문이 이 장의 핵심 주제이다. 그 전에 내림 나눗 셈 연산자와 나머지 연산자를 살펴보자. 5.1 내림 나눗셈과 나머지 연산자 내림 나눗셈 연산자 //는 두 수를 나누어 얻은 결과 값의 정
|
|
- 준하 안
- 5 years ago
- Views:
Transcription
1 Chapter 5 조건문과 재귀문 프로그램의 상태에 따라 다른 코드를 실행하는 if문이 이 장의 핵심 주제이다. 그 전에 내림 나눗 셈 연산자와 나머지 연산자를 살펴보자. 5.1 내림 나눗셈과 나머지 연산자 내림 나눗셈 연산자 //는 두 수를 나누어 얻은 결과 값의 정수 값을 취한다. 예를 들어, 105분 길이의 영화가 있다고 했을 때 몇 시간 짜리 영화인지 궁금할 때가 있다. 이런 경우 일반 나눗셈을 사용하면 부동소수점 값을 얻는다. >>> minutes = 105 >>> minutes / 하지만, 일반적으로 시간을 소수점으로 표현하지 않는다. 내림 나눗셈은 소수점 부분을 버리고 정수부분만 리턴한다. >>> minutes = 105 >>> hours = minutes // 60 >>> hours 1 나머지를 원하면 60분에서 계산된 시간 값을 제외한 나머지 분을 빼면 된다. >>> remainder = minutes - hours * 60 >>> remainder 45 이런 복잡한 계산 대신 나눗셈 후 나머지 값을 리턴하는 나머지 연산자 %를 사용할 수 있다. >>> remainder = minutes % 60 >>> remainder 45 나머지 연산자는 보기보다 매우 유용한다. 한 가지 예를 들어 보면, 나머지 연산자는 어떤 값이 서로 나누어 떨어지는 지 확인할 때 쓸 수있다. % y가 영이라면 는 y로 나누어 떨어진다. 또한, 어떤 숫자의 가장 오른쪽 자리수를 얻을 때 나머지 연산자를 쓸 수 있다. % 10을 계산하 면 (십진수라 가정)의 1의 자리 값을 얻는다. 마찬가지로 % 100을 하면 마지막 두 자리 수를 얻는다.
2 Chapter 5. 조건문과 재귀문 40 Python 2를 사용 중이라면 나눗셈은 다르게 동작한다. 나눗셈 연산자 /은 두 수가 모두 정수이면 내림 나눗셈을하고 두 값 중 하나라도 실수 형면 부동소수점 나눗셈을 한다. 5.2 Boolean 표현식 Boolean 표현식(boolean epression)은 참또는 거짓을 나타내는 표현식이다. 다음의 예들은 두 피연산자를 비교하는 == 연산자를 사용한다. 두 값이 동일하면 True(참)을 다르면 False(거짓) 이다. >>> 5 == 5 True >>> 5 == 6 False 이 값은 문자열이 아니고, bool(불) 데이터 형에 속한True와 False는 특별한 값이다. >>> type(true) <class 'bool'> >>> type(false) <class 'bool'> == 연산자는 관계 연산자(relational operator) 중 하나이다. 나머지는 다음과 같다.!= y > y < y >= y <= y # # # # # 는 는 는 는 는 y와 같지 않음 y보다 큼 y보다 작음 y보다 크거나 같음 y보다 작거나 같음 y 이 연산자들이 익숙해 보일 수 있지만, Python에서 사용하는 기호가 수학 기호와 다르다. 가장 흔한 실수는 하나의 등호(=)를 써서 두 값이 같은지 비교(==)하는 것이다. =는 할당 연산자이고 ==가 관계 연산자인 것을 기억해야 한다. 그리고 =<나 =>와 같은 연산자는 없다. 5.3 논리 연산자 세 개의 논리 연산자(logical operator)가 있다. 각각은 and, or, 그리고 not이다. 이 연산자들의 의미는 영어에서의 각 단어의 의미와 같다. 예를 들어, > 0 and < 10 은 가 0보다 크고 10 보다 10보다 작을 때 참이 된다. n%2 == 0 or n%3 == 0 은 둘 중 하나만 또는 둘 다 참일 때 참이 된다. 즉, 2 또는 3으로 나누어 지거는 경우이다. 마지막으로 not 연산자는 boolean 표현식의 반대 값을 취한다. not ( > y)는 > y가 거짓일 때 참이 된다. 즉, 가 y보다 작거나 같은 경우이다. 정확하게 말하면, 논리 연산자의 피연산자는 boolean 표현식이어야하지만, Python이 그렇게 엄 격하지는 않다. 0이 아닌 어떤 수이기만 하면 True으로 인식한다. >>> 42 and True True 이러한 유연성이 도움이 될 때도 있지만, 미묘한 부분도 있기 때문에 혼돈이 있을 수도 있다. 이 렇게 사용하는 것은 피하는게 좋다(뭘 하는지 정확히 알고 있다면 모를까).
3 5.4. 조건부 실행 조건부 실행 프로그램을 유용하게 만들려면 프로그램이 상황에 맞게 동작할 수 있도록 조건을 검사하는 능 력이 반드시 필요하다. 조건문(conditional statement)이 바로 그 능력을 갖고 있다. 그 중 가장 간단한 것은 if문이다. if > 0: print(' is positive') if문 이후의 boolean 표현식은 조건(condition)이라 부른다. 참이라면, 의도한 문장이 실행되고 그렇지 않다면 아무 일도 일어 나지 않는다. 헤더와 들여쓰기된 내용으로 구성된 함수 정의처럼 if문도 헤더와 내용을 갖고 있다. 이런 류의 문장들을 복합문(compound statement)라고 부른다. 내용에 포함될 수 있는 문장의 수가 정해지지 않았지만 최소한 하나는 있어야 한다. 때로는 어떤 문장도 없는 내용이 필요할 때도 있다(아직 적지 않은 코드를 대신해서 자리만 차지하는 기호를 쓸 수도 있다). 그 때에는 아무 일도 하지 않는 pass문을 쓰면 된다. if < 0: pass 5.5 # TODO: 음수 처리해야 함! 선택적 실행 if문의 두 번째 형식은 선택적 실행(aternative eecution) 이다. 두 가지 대안이 존재하고 조건 검사를 통해 대안 중 하나를 선택하여 실행한다. 문법은 다음과 같다. if % 2 == 0: print('는 짝수') print('는 음수') 를 2로 나눈 나머지가 0이라면 가 짝수이고, 프로그램은 걸맞는 메시지를 표시한다. 조건이 거짓이라면, 두 번째 부분의 문장이 실행된다. 조건은 참이거나 거짓이기 때문에 둘 중에 정확히 하나만 선택적으로 실행된다. 실행의 흐름이 분리되므로 이러한 종류의 선택지를 분기(branch) 라고 부른다. 5.6 연쇄 조건문 두 개 이상의 가능성이 있는 경우 두개 이상의 분기가 필요하다. 이런 류의 연산을 연쇄 조건문 (chained conditional)이다. if < y: print(' is less than y') elif > y: print(' is greater than y') print(' and y are equal') elif는 else if 의 약어이다. 다시 한 번 말하지만, 선택된 분기가 실행된다. elif문이 몇 개가 있던 상관없다. else 절을 만나면 거기가 마지막이지만, 꼭 필요한 것은 아니다.
4 Chapter 5. 조건문과 재귀문 42 if choice == 'a': draw_a() elif choice == 'b': draw_b() elif choice == 'c': draw_c() 각 조건은 순차적으로 검사된다. 처음 조건이 거짓이면 다음 조건을 검사하는 식이다. 참인 조건 을 만나면 해당 분기가 실행되고 if문은 종료한다. 여러 개의 조건이 참이 될 수는 있는지 첫 번째 참이 조건만 실행이 된다. 5.7 중첩된 조건문 조건문은 다른 조건문 내에 포함될 수 있다. 전 절에서 봤던 예제를 다음과 같이 적을 수도 있다. if == y: print(' and y are equal') if < y: print(' is less than y') print(' is greater than y') 처음 만나는 조건문은 분기가 두개다. 첫 번째 분기는 간단한 printf문이다. 두 번째 분기는 또 다른 if문을 포함하고 있다. 내부의 if문도 두 개의 분기를 갖고 있다. 각 분기의 내용도 간단한 문장이지만, 이 문장들도 또 다른 조건문이었을 수도 있다. 문장 들여쓰기를 하면 구조가 시각적으로 명확해지긴 하지만, 중첩 조건문(nested conditionals)을 사용하면 읽기가 어려워진다. 가능하면 쓰지 않는 방법을 찾는 것이 좋다. 논리 연산자를 쓰면 중첩된 조건문이 간단해지는 경우가 많다. 다음의 코드를 하나의 조건문으로 바꿔보자. if 0 < : if < 10: print(' is a positive single-digit number.') print문은 두 개의 조건문을 모두 통과 했을 때만 실행이 된다. 이와 같은 경우에 and 연산자를 쓰면 동일한 효과를 볼 수 있다. if 0 < and < 10: print(' is a positive single-digit number.') 이와 같은 조건문에 Python은 더 간단한 표기법을 제공한다. if 0 < < 10: print(' is a positive single-digit number.') 5.8 재귀문 어느 한 함수가 또 다른 함수를 부르는 것은 전혀 이상하지 않다. 그렇기 때문에 어떤 함수가 자기 자신을 부르는 것도 가능하다. 함수가 자신을 부르는 것이 유용한 것인지 확신이 서지 않을 수도 있다. 나중에 알게되겠지만, 프로그램이 할 수 있는 가장 마법같은 일 중 하나가 재귀적 호출이다. 예로 다음의 함수를 살펴보자.
5 5.8. 재귀문 43 def countdown(n): if n <= 0: print('발사!') print(n) countdown(n-1) n이 0이거나 음수이면 발사! 고 표시하고 그 외의 경우에는 n을 화면에 적고 n-1을 인자로하여 자기 자신(countdown)을 호출한다. 다음과 같이 함수를 호출하면 어떻게 될까? >>> countdown(3) countdown은 n=3에서 실행된다. n은 0보다 크기 때문에 3을 출력하고 자신을 호출한다. countdown은 n=2에서 실행된다. n은 0보다 크기 때문에 2을 출력하고 자신을 호출 한다. countdown은 n=1에서 실행된다. n은 0보다 크기 때문에 1을 출력하고 자 신을 호출한다. countdown은 n=0에서 실행된다. n은 0이기 때문에 발사! 라고 화면에 표시하고 리턴한다. n=2을 받은 countdown이 리턴한다. n=3을 받은 countdown이 리턴한다. 그리고 나면, main 으로 돌아온다. 최종적으로 다음과 같이 표시된다 발사! 함수가 자기 자신을 호출하는 것을 보고 재귀적(recursive)이라고 한다. 재귀문(recursion)은 함 수를 재귀적으로 실행시키는 과정을 말한다. 또 다른 예로, 어떤 문자열을 n번 표시하는 함수를 작성해보자. def print_n(s, n): if n <= 0: return print(s) print_n(s, n-1) n <= 0이면 리턴문(return statement)으로 함수가 종료된다. 실행의 흐름은 호출한 함수에게 즉시 리턴된다. 그리고 함수의 나머지 부분은 실행되지 않는다. 함수의 나머지 부분은 countdown과 유사하다. s를 표시하고 n 1번 s를 출력하도록 자기 자신 을 다시 호출한다. 결과로 표시되는 줄의 수가 1 + (n - 1)이기 때문에 총 n번이 된다. 이처럼 간단한 예에서는 for 루프를 사용하는게 더 쉬울 수 도 있다. 하지만 우리가 이후에 보게 될 좀 더 복잡한 예제들은 for 루프로 표현하기가 어렵다. 어려운 거라면 미리 시작해서 익숙해 지는 것이 좋다.
6 Chapter 5. 조건문과 재귀문 44 main countdown n 3 countdown n 2 countdown n 1 countdown n 0 Figure 5.1: 스택 상태도. 5.9 재귀 함수의 스택 상태도 3.9절에서 함수 호출 중에 프로그램의 상태를 스택 상태도로 표현하였었다. 똑같은 그림을 재귀 문을 이해하는데도 쓸 수 있다. 함수가 호출될 때마다 Python은 프레임을 생성하여 함수의 지역 변수와 매개 변수를 저장한다. 재귀문을 쓰게 되면 스택에 하나 이상의 프레임이 동시에 여러 개가 존재할 수 있다. 그림 5.1은 countdown을 n = 3을 인자로 하여 호출했을 때의 스택 상태도를 나타낸다. 스택의 최상위 프레임에 main 가 있다. 프레임에 아무 것도 없는 이유는 main 가 어떤 변수도 생성하지 않았고 인자도 전달받지 못했기 때문이다. 네 개의 countdown 프레임들은 매개 변수 n이 모두 다르다. n = 0이 있는 스택 프레임을 기준 케이스(base case)라 부른다. 더 이상 재귀 호출을 하지 않기 때문에 그 이하로는 프레임이 없다. 연습삼아 s = 'Hello'와 n=2를 인자로 print_n가 호출되었을 때의 스택 상태도를 그려보자. 그리고 함수 객체와 n을 인자로 하는 do_n 함수를 만들어서 그 함수를 n번 호출해 보자 무한 재귀문 재귀문이 기준 케이스에 도달하지 못한다면 재귀문은 끝없이 호출되고 프로그램은 절대로 종료 하지 않는다. 이것이 무한 재귀문(infinite recursion)이고 일반적으로 나쁘다. 무한 재귀문의 한 짧은 예를 살펴보자. def recurse(): recurse() 대부분의 프로그래밍 환경에서 무한 재귀문을 갖는 프로그램이 무한히 동작하는 일은 없다. 프 로그램이 최대 재귀 가능 횟수에 도달하면 Python은 오류 메시지를 보고 한다. File "<stdin>", line 2, in recurse File "<stdin>", line 2, in recurse File "<stdin>", line 2, in recurse... File "<stdin>", line 2, in recurse RuntimeError: Maimum recursion depth eceeded
7 5.11. 키보드 입력 45 이 트레이스백은 이 전 장에서 살펴보았던 보다 좀 더 길다. 오류가 발생하면서 스택에 1,000개의 recurse 프레임이 생겼다. 실수로 무한 재귀문을 만나게 되면 재귀 호출에 기준 케이스가 있는지 함수를 확인해야 한다. 기준 케이스가 있다면 그 부분에 도달 가능한지 확인해야 한다 키보드 입력 지금까지 작성한 모든 프로그램은 사용자 입력이 없었다. 실행하면 똑같은 동작만 했다. Python은 input이라는 내장 함수를 제공한다. 이 함수는 잠시 멈춰서 사용자가 입력하기를 기 다린다. 사용자가 Return 또는 Enter키를 누르면 프로그램은 계속 동작하고 input은 사용자가 입력한 문자열을 리턴한다. Python 2에서는 똑같은 일을 하는 함수를 raw_input이라 부른다. >>> tet = input() What are you waiting for? >>> tet 'What are you waiting for?' 사용자로 부터 입력을 받기 전에 어떤 것을 입력할지 알려주는 것이 좋다. input는 인자로 프롬 프트의 내용을 갖는다. >>> name = input('당신은 누구죠?\n') 당신은 누구죠? 영국의 왕, 아서! >>> name '영국의 왕, 아서!' 프롬프트의 마지막 부분의 \n은 새 줄(newline)을 나타내는 특수 기호로 줄을 바꾼다. 그렇기 때문에 사용자 입력 위치가 프롬프트 아래에 있다. 정수를 입력하기를 바란다면 리턴 값을 int으로 변환할 수 있다. >>> prompt = '짐을 메달고 있지 않은 제비의 속도는?\n' >>> speed = input(prompt) 짐을 메달고 있지 않은 제비의 속도는? 42 >>> int(speed) 42 하지만 사용자가 숫자 말고 다른 것을 입력하면 오류가 발생한다. >>> speed = input(prompt) 짐을 메달고 있지 않은 제비의 속도는? 그 제비가 아프리카 제비야 아니면 영국 제비야? >>> int(speed) ValueError: invalid literal for int() with base 10 이런 류의 오류를 다루는 법을 나중에 보도록 하겠다 디버깅 문법 오류나 실행 중에 발생하는 오류에는 많은 정보가 담겨 있다. 때로는 벅차게 많을 수도 있다. 그 중에 중요한 정보들은 다음과 같다.
8 Chapter 5. 조건문과 재귀문 46 어떤 종류의 오류인가 어디서 발생했는가 문법 오류는 대체적으로 찾기가 쉽지만 몇 개는 눈에 잘 안 띄기도 한다. 사이띄기와 탭 문자 같은 공백과 관련한 오류들은 보이지 않기 때문에 쉽게 지나치곤 한다. 그래서 찾기가 쉽지 않다. >>> = 5 >>> y = 6 File "<stdin>", line 1 y = 6 ^ IndentationError: unepected indent 이 예제에서의 문제는 두 번째 줄이 한 칸 들여쓰기되어 있다는 것이다. 그렇지만 오류 메시지 는 y를 가리키고 있기 때문에 오해하기 쉽다. 일반적으로 오류 메시지는 오류가 발견된 시점을 나타내기 때문에 실제 오류는 코드의 이전에서 이미 있었을 수도 있다. 심지어는 전 줄에 오류가 있었을 수도 있다. 실행 중 발생 오류에서도 마찬가지다. 신호대잡음비를 데시벨로 계산한다고 해보자. 계산식은 SNRdb = 10 log10 ( Psignal /Pnoise )이다. Python에서는 이 식을 작성하면 다음과 같다. import math signal_power = 9 noise_power = 10 ratio = signal_power // noise_power decibels = 10 * math.log10(ratio) print(decibels) 이 프로그램을 실행하면 예외처리가 된다. Traceback (most recent call last): File "snr.py", line 5, in? decibels = 10 * math.log10(ratio) ValueError: math domain error 이 오류 메시지는 5번 줄을 가리키고 있지만 그 줄에는 문제가 없다. 실제 오류를 찾으려면 ratio 의 값을 출력해보는게 좋다. 출력해보면 0 값을 리턴 받는다. 실제 문제는 내림 나눗셈을 하는 4 번 줄에 있다. 소수점 단위의 나눗셈을 했어야 했다. 오류 메시지를 읽는데 충분한 시간을 들여야 하겠지만, 그 하는 말을 모두 참이라 믿어서는 안 된다 용어 해설 내림 나눗셈(floor division): //로 표시되는 연산자로서 두 수를 나눈 결과를 정수가 되도록 소 수점을 버림 나머지 연산자(modulus operator): 퍼센트(%) 기호를 갖는 연산자로 두 정수를 나눈 나머지 값 을 돌려줌 Boolean 표현식(boolean epression): 결과가 항상 참(True)이거나 거짓(False)인 표현식 관계 연산자(relational operator): 피연산자를 비교하는 연산자로서 다음의 종류가 있음: ==,!=, >, <, >=, <=.
9 5.14. 연습 문제 47 논리 연산자(logical operator): Boolean 표현식들을 서로 연결하는 연산자: and, or, not이 있음 조건문(conditional statement): 어떤 조건에 따라 실행의 흐름을 결정하는 문장 조건(condition): 조건문에서 어떤 분기가 실행될지를 결정하는 boolean 표현식 복합문(compound statement): 헤더와 내용으로 구성된 문장으로 헤더는 콜론(:)으로 끝이 나 나. 복합문의 내용은 헤더 위치에서 상대적으로 들여쓰기함 분기(branch): 조건문에서 선택적으로 실행되는 일련의 문장 연쇄 조건문(chained conditional): 여러 개의 선택적 분기문으로 구성된 조건문 중첩 조건문(nested conditional): 어떤 조건문의 분기 내있는 또 다른 조건문 리턴문(return statement): 함수를 호출한 문장으로 즉시 리턴하는 문장 재귀문(recursion): 현재 실행 중인 함수를 호출하는 과정 기준 케이스(base case): 재귀문에서 재귀 호출을 하지 않는 조건 분기 무한 재귀문(infinite recursion): 기준 케이스가 없거나 절대 도달하지 못하는 재귀문. 무한 재 귀문을 실행하면 실행 중 오류가 발생하게 됨 5.14 연습 문제 문제 5.1. time 모듈은 time 함수를 제공한다. 임의의 기준 시점에서 시작하는 에포크(the epoch) 를 기준으로 현재 그린위치 평균시를 리턴함. UNIX 시스템에서는 에포크는 월 1일이다. >>> import time >>> time.time() 현재 시간을 읽어서 시, 분, 초, 그리고 에포크로부터 현재까지 지난 날 수를 리턴하는 스크립트를 작성하라. 문제 5.2. 페르마의 마지막 정리는 n이 2보다 큰 경우 a, b, c의 양의 정수에 대해 다음의 방정식은 해를 갖지 않는다는 정리이다. an + bn = cn 1. 네 개의 변수 a, b, c, n 를 받아 n이 2보다 큰 경우에 대해 페르마의 마지막 정리가 참인 지 검사하는 check_fermat 함수를 작성하라. an + bn = cn 위의 식이 참이라면 어머나, 페르마가 틀렸었네!, 거짓이라면 역시 없구나. 를 출력하 도록 만들어라. 2. 사용자가 a, b, c, n 값을 정하도록 하고, 입력 받은 값을 정수로 변환하여 check_fermat의 입력으로 쓰는 함수를 만들어라. 입력 받은 값으로 페르마의 정리가 참인지 확인해보자. 문제 5.3. 임의의 세 개의 막대기의 길이에 따라 삼각형 만들기 가능 여부가 결정된다. 예를 들어, 한 막대기가 12인치이고 다른 두 개가 각각 1인치라고 해보자. 작은 두 개의 막대기로는 중간에서 만날 수가 없다. 임의의 세 길이가 있을 때 삼각형 만들기가 가능한지 확인하는 간단한 테스트가 있다.
10 Chapter 5. 조건문과 재귀문 48 Figure 5.2: 코흐 곡선. 세 선분 중 하나의 선분이 나머지 두 선분의 합보다 길면 삼각형을 만들 수 없다. 짧으면 삼각형을 만들 수 있다. (두 선분의 길의의 합이 세 번째 길이와 같으면 퇴화 (degenerate) 삼각형이라고 한다.) 1. 세 개의 정수를 인자로하여 주어진 수로 삼각형 만들기가 가능한지 여부를 판단하는 is_triangle 함수를 작성하라. 가능하면 Yes 불가능하면 No 를 출력하도록 하라. 2. 사용자로 부터 세 정수를 입력받아, 그 수를 정수로 변환하고, is_triangle를 사용하여 주어진 정수로 삼각형을 만들 수 있는지 판단하는 함수를 작성하라. 문제 5.4. 다음 프로그램의 결과가 무엇인가? 프로그램이 결과를 표시할 때의 스택 상태도를 그 려보아라. def recurse(n, s): if n == 0: print(s) recurse(n-1, n+s) recurse(3, 0) 1. 이 함수를 recurse(-1, 0)으로 호출하면 어떻게 될까? 2. 이 함수를 사용하기 위해 필요한 모든 정보를 담은 설명 문자열을 작성하라. 다음의 문제들은 4장에서 설명한 turtle 모듈을 사용한다. 문제 5.5. 다음의 함수를 읽고 어떤 동작을 하는지 생각해보자(필요하면 4장의 예제를 읽어보자). 생각한 데로 동작하는지 실행해보자. def draw(t, length, n): if n == 0: return angle = 50 t.fd(length*n) t.lt(angle) draw(t, length, n-1) t.rt(2*angle) draw(t, length, n-1) t.lt(angle) t.bk(length*n) 문제 5.6. 코흐 곡선(The Koch curve)는 그림 5.2처럼 보이는 프랙탈 곡선이다. 길이 를 사용하여 코흐 곡선을 그려라. 그리는 방법은 다음과 같다. 1. /3의 길이로 코흐 곡선을 그린다.
11 5.14. 연습 문제 왼쪽으로 60도 회전한다. 3. /3의 길이로 코흐 곡선을 그린다. 4. 오른쪽으로 120도 회전한다. 5. /3의 길이로 코흐 곡선을 그린다. 6. 왼쪽으로 60도 회전한다. 7. /3의 길이로 코흐 곡선을 그린다. 만약, 가 3보다 작으면 만큼의 길이로 직선을 그리면 된다. 1. 거북이 객체와 길이를 매개 변수로 하는 koch 함수를 작성하라. 이 함수로 주어진 길이로 거북이를 사용하여 코흐 곡선을 그려보아라. 2. 세 개의 코흐 곡선으로 눈송이의 외각선을 그리는 snowflake 함수를 작성하라. 해답: http: // thinkpython2. com/ code/ koch. py. 3. 코흐 곡선을 일반화하는 방법은 여러 개가 있다. http: // en. wikipedia. org/ wiki/ Koch_ snowflake 에 나와 있는 것 중 마음에 드는 것을 골라 만들어 보자.
Microsoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationMicrosoft PowerPoint - chap05-제어문.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.
More information프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음
프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y
More informationChapter 3 함수 프로그래밍이라는 문맥에서 함수(function)은 연산을 수행하기 위한 일련의 문장들에 이름을 붙여 놓은 것이다. 함수를 정의할 때는 이름과 문장들 지정해야 한다. 그 다음에 함수를 지정한 이름으로 호출(call) 할 수 있다. 3.1 함수 호출
Chapter 3 함수 프로그래밍이라는 문맥에서 함수(function)은 연산을 수행하기 위한 일련의 문장들에 이름을 붙여 놓은 것이다. 함수를 정의할 때는 이름과 문장들 지정해야 한다. 그 다음에 함수를 지정한 이름으로 호출(call) 할 수 있다. 3.1 함수 호출 우리는 이미 함수 호출(function call)의 예를 보았다: >>> type(42)
More informationChapter 2 변수와 수식 그리고 문장 프로그래밍 언어의 가장 강력한 기능 중 하나는 변수(variable)가 조작 가능하다는 것이다. 변수 는 값에 부여하는 이름이다. 2.1 할당문 할당문(assignment statement)은 새로운 변수를 생성하고 값을 부여
Chapter 2 변수와 수식 그리고 문장 프로그래밍 언어의 가장 강력한 기능 중 하나는 변수(variable)가 조작 가능하다는 것이다. 변수 는 값에 부여하는 이름이다. 2.1 할당문 할당문(assignment statement)은 새로운 변수를 생성하고 값을 부여한다. >>> message = 'And now for something completely
More informationMicrosoft PowerPoint - chap04-연산자.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에
More informationMicrosoft PowerPoint Predicates and Quantifiers.ppt
이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)
More informationMicrosoft PowerPoint - chap-06.pptx
쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택
More information4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona
이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.
More information쉽게 풀어쓴 C 프로그래밍
누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More informationMicrosoft PowerPoint - chap03-변수와데이터형.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More information쉽게 풀어쓴 C 프로그래밍
쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장
More informationC 프로그램의 기본
C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석
More informationMicrosoft PowerPoint - chap13-입출력라이브러리.pptx
#include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,
More information8장 문자열
8 장문자열 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 8 장문자열 1 / 24 학습내용 문자열 (string) 훑기 (traversal) 부분추출 (slicing) print 함수불변성 (immutablity) 검색 (search) 세기 (count) Method in 연산자비교 박창이 ( 서울시립대학교통계학과 ) 8 장문자열 2 /
More informationMicrosoft PowerPoint - [2009] 02.pptx
원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More information쉽게 풀어쓴 C 프로그래밍
쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More informationMicrosoft PowerPoint - C++ 5 .pptx
C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More information14장 파일
14 장파일 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 14 장파일 1 / 18 학습내용 파일입출력예포멧연산자 (format operator) 파일명과경로예외처리하기피클링 (pickling) 파일입출력디버깅 박창이 ( 서울시립대학교통계학과 ) 14 장파일 2 / 18 파일입출력예 >>> fout = open( output.txt, w )
More information중간고사
중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX
More informationJava ...
컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.
More information10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다
10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More information다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");
다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher
More informationC 언어 프로그래밊 과제 풀이
과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍
More information1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut
경영학을 위한 수학 Fial Eam 5//(토) :-5: 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오.. (각 6점) 다음 적분을 구하시오 4 ( ) (a) ( )4 8 8 (b) d이 성립한다. d C C log log (c) 이다. 양변에 적분을 취하면 log C (d) 라 하자. 그러면 d 4이다. 9 9 4 / si (e) cos si
More informationMicrosoft PowerPoint - chap-05.pptx
쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 컴퓨터프로그래밍기초 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살벼봅니다. 컴퓨터프로그래밍기초 2 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate
More informationC 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationPowerPoint 프레젠테이션
Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.
More information쉽게
Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의
More informationPython과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)
제 5 강. 복소수연산및 을이용한복소수연산 ( 제 2 장. 복소수기초 ) 한림대학교전자공학과 한림대학교 제 5 강. 복소수연산및 을이용한복소수연산 1 배울내용 복소수의기본개념복소수의표현오일러 (Euler) 공식복소수의대수연산 1의 N 승근 한림대학교 제 5 강. 복소수연산및 을이용한복소수연산 2 복소수의 4 칙연산 복소수의덧셈과뺄셈에는직각좌표계표현을사용하고,
More informationChapter_06
프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.
More informationC++-¿Ïº®Çؼ³10Àå
C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include
More informationC# Programming Guide - Types
C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든
More informationInfinity(∞) Strategy
반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()
More informationData structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은
Data structure: Assignment 1 Seung-Hoon Na October 1, 018 1 1.1 Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 multiline으로 구성될 수 있으며, 한 라인에는 임의의 갯수의 숫자가 순서대로 나열될
More information<B3EDB9AEC0DBBCBAB9FD2E687770>
(1) 주제 의식의 원칙 논문은 주제 의식이 잘 드러나야 한다. 주제 의식은 논문을 쓰는 사람의 의도나 글의 목적 과 밀접한 관련이 있다. (2) 협력의 원칙 독자는 필자를 이해하려고 마음먹은 사람이다. 따라서 필자는 독자가 이해할 수 있는 말이 나 표현을 사용하여 독자의 노력에 협력해야 한다는 것이다. (3) 논리적 엄격성의 원칙 감정이나 독단적인 선언이
More information정보교육을위한파이썬 정보탐색 Version d2 저자 : Charles Severance 번역 : 이광춘, 한정수 (xwmooc)
정보교육을위한파이썬 정보탐색 Version 0.0.9-d2 저자 : Charles Severance 번역 : 이광춘, 한정수 (xwmooc) Copyright 2009- Charles Severance. Printing history: October 2013: Major revision to Chapters 13 and 14 to switch to JSON
More information3장 함수
3 장함수 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 3 장함수 1 / 20 학습내용 함수호출타입변환함수수학함수사용자정의함수파라미터와인자변수와파라미터의범위함수의구분함수를사용하는이유 from을이용한가져오기디버깅변수의범위재귀함수 박창이 ( 서울시립대학교통계학과 ) 3 장함수 2 / 20 함수호출 함수는어떤연산을수행하는일련의명령문들로함수이름으로호출
More informationJAVA PROGRAMMING 실습 02. 표준 입출력
자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(
More information학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2
학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등
More informationMulti-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구
Python: 파이썬프로그래밍의기초, 함수 Kangwon Natl. University Department of Computer Science Cheoneum Park Intelligent software Lab. 함수 Intelligent software Lab. 2 함수란무엇인가? Intelligent software Lab. 3 함수를사용하는이유는? 프로그래밍을하다보면똑같은내용을반복해서작성하는경우다반사
More information쉽게 풀어쓴 C 프로그래밍
두근두근 파이썬수업 4 장자료의종류에는어떤것들이있나요? 이번장에서만들프로그램 (1) 터틀그래픽의거북이와인사하는프로그램을작성해보자. Run Python (2) 여러개의색상을리스트에저장하였다가하나씩꺼내서원들을그려보자 Run Python 파이썬에서사용할수있는자료의종류 파이썬과자료형 변수에어떤종류의자료도저장할수있다 x = 10 print("x =", x) x = 3.14
More information학습목차 2.1 다차원배열이란 차원배열의주소와값의참조
- Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]
More information초4-1쌩큐기본(정답)본지
초4-1쌩큐기본(정답)본지 2014.10.20 06:4 PM 페이지1 다민 2540DPI 175LPI 3~4학년군 수학 진도교재 1. 큰 수 3 4-1 2 2. 곱셈과 나눗셈 12 3. 각도와 삼각형 21 4. 분수의 덧셈과 뺄셈 34 5. 혼합 계산 43 6. 막대그래프 54 단원 성취도평가 61 쌩큐 익힘책 67 1 6000 7000 8000 9000 10000
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More information윈도우즈프로그래밍(1)
제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장
More information4장.문장
문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More informationPowerPoint Presentation
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.
More informationMicrosoft Word - Lab_080104A.docx
BASH Shell Script 3rd Lab 1. 쉘스크립트 간단한쉘스크립트 $ vi hello.sh (hello.sh) echo hello world $ chmod 755 hello.sh $./hello.sh hello world #! 은쉘에게이프로그램을실행하기위해서 #! 다음에오는아규먼트를실행프로그램으로사용한다는것을알려주기위해서사용된다. Unix/Linux
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More information슬라이드 1
Recursion SANGJI University KO Kwangman () 1. 개요 재귀 (recursion) 의정의, 순환 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로되어있는경우에적합한방법 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색
More informationuntitled
시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000
More informationMicrosoft PowerPoint - 5장 조건문 pptx
C 프로그래밍및실습 5. 조건문 세종대학교 목차 1) 조건문 2) if 문 3) if~ 문 4) 다중 if 문 5) switch 문 2 1) 조건문 제어문 C 언어는순차처리언어로, 특별한지정이없으면, 소스코드첫줄부터차례대로처리 그러나문제해결위해처리흐름제어필요 제어문 C언어에서는조건문, 반복문과같은제어문을제공한다. 제어문종류 분류조건문반복문기타 종류 if 문,
More information= ``...(2011), , (.)''
Finance Lecture Note Series 사회과학과 수학 제2강. 미분 조 승 모2 영남대학교 경제금융학부 학습목표. 미분의 개념: 미분과 도함수의 개념에 대해 알아본다. : 실제로 미분을 어떻게 하는지 알아본다. : 극값의 개념을 알아보고 미분을 통해 어떻게 구하는지 알아본다. 4. 미분과 극한: 미분을 이용하여 극한값을 구하는 방법에 대해 알아본다.
More informationMicrosoft PowerPoint 웹 연동 기술.pptx
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우
More information목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2
제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해
More informationMicrosoft PowerPoint - 02-Shell-Programming
2. 쉘프로그래밍 상명대학교소프트웨어학부 쉘 (Shell) 쉘 : 명령어해석기 단말기나파일로부터입력된명령을해석하여적절한명령을실행 시스템환경변경, 명령어입력편의를제공 쉘의종류 Bourne Shell(sh) /bin/sh Korn Shell(ksh) /bin/ksh C Shell(csh) /bin/csh Bourne Again Shell(bash) /bin/bash
More informationuntitled
if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(
More information< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More information<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>
25 강. 수열의극한참거짓 2 두수열 { }, {b n } 의극한에대한 < 보기 > 의설명중옳은것을모두고르면? Ⅰ. < b n 이고 lim = 이면 lim b n =이다. Ⅱ. 두수열 { }, {b n } 이수렴할때 < b n 이면 lim < lim b n 이다. Ⅲ. lim b n =0이면 lim =0또는 lim b n =0이다. Ⅰ 2Ⅱ 3Ⅲ 4Ⅰ,Ⅱ 5Ⅰ,Ⅲ
More informationKNK_C03_Expr_kor
Expressions adopted from KNK C Programming : A Modern Approach Operators 연산자 C 는표현식을많이사용함 표현식은변수와상수와연산자로구성됨 C 에는연산자의종류가다양함 1. arithmetic operators ( 수식연산자 ) 2. relational operators ( 관계연산자 ) 3. logical
More information1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할
15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p
More informationPowerPoint 프레젠테이션
Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드
More informationMicrosoft PowerPoint - KNK_C03_Expr_kor
Expressions adopted from KNK C Programming : A Modern Approach Operators 연산자 C 는표현식을많이사용함 표현식은변수와상수와연산자로구성됨 C 에는연산자의종류가다양함 1. arithmetic operators ( 수식연산자 ) 2. relational operators ( 관계연산자 ) 3. logical
More information와플-4년-2호-본문-15.ps
1 2 1+2 + = = 1 1 1 +2 =(1+2)+& + *=+ = + 8 2 + = = =1 6 6 6 6 6 2 2 1 1 1 + =(1+)+& + *=+ =+1 = 2 6 1 21 1 + = + = = 1 1 1 + 1-1 1 1 + 6 6 0 1 + 1 + = = + 7 7 2 1 2 1 + =(+ )+& + *= + = 2-1 2 +2 9 9 2
More informationC++ Programming
C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator
More informationMicrosoft PowerPoint 자바-기본문법(Ch2).pptx
자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March
More informationMicrosoft PowerPoint - Chapter_08.pptx
프로그래밍 1 1 Chapter 8. Pointers May, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 포인터의개념 (1/6) 2 포인터란 : 다른객체를가리키는변수 객체의메모리주소를저장하는변수 기호적방식 (symbolic way) 으로주소사용 포인터와관련된연산자
More information쉽게 풀어쓴 C 프로그래밍
함수 (function) 는특정작업을수행하는명령어들의모음에이름을붙인것 함수는작업에필요한데이터를전달받을수있으며, 작업이완료된후에는작업의결과를호출자에게반환할수있다. print() input() abs(), 함수안의명령어들을실행하려면함수를호출 (call) 하면된다. >>> value = abs(-100) >>> value 100 >>>def say_hello(name):
More informationPowerPoint 프레젠테이션
Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information정부3.0 국민디자인단 운영을 통해 국민과의 소통과 참여로 정책을 함께 만들 수 있었고 그 결과 국민 눈높이에 맞는 다양한 정책 개선안을 도출하며 정책의 완성도를 제고할 수 있었습니다. 또한 서비스디자인 방법론을 각 기관별 정부3.0 과제에 적용하여 국민 관점의 서비스 설계, 정책고객 확대 등 공직사회에 큰 반향을 유도하여 공무원의 일하는 방식을 변화시키고
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More information예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A
예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf
More information<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택
More information1
2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^
More informationstatistics
수치를이용한자료요약 statistics hmkang@hallym.ac.kr 한림대학교 통계학 강희모 ( 한림대학교 ) 수치를이용한자료요약 1 / 26 수치를 통한 자료의 요약 요약 방대한 자료를 몇 개의 의미있는 수치로 요약 자료의 분포상태를 알 수 있는 통계기법 사용 중심위치의 측도(measure of center) : 어떤 값을 중심으로 분포되어 있는지
More informationMicrosoft PowerPoint - chap06-5 [호환 모드]
2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.
More informationRHEV 2.2 인증서 만료 확인 및 갱신
2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_
More informationPowerPoint 프레젠테이션
Chapter 12 표준입출력과파일입출력... 1. 표준입출력함수 2. 파일입출력함수 1. 표준입출력함수 표준입출력함수 표준입력 (stdin, Standard Input) : 키보드입력 표준출력 (stdout, StandardOutput) : 모니터출력 1. 표준입출력함수 서식화된입출력함수 printf(), scanf() 서식의위치에올수있는것들 [ 기본 11-1]
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information