방송대 이산수학 1강: 추상화와 알고리즘 표현
현실의 문제는 그대로는 컴퓨터가 처리할 수 없습니다. 어떤 정보를 남길지 정해 모델로 바꾸고, 해결 절차를 모호하지 않은 알고리즘으로 표현해야 합니다. 이 글은 이산수학을 단순한 수학 과목이 아니라 현실과 계산 사이를 연결하는 번역 체계로 바라보며, 이산·연속의 구분부터 추상화, 의사코드와 제어구조까지 하나의 문제 해결 흐름으로 묶습니다.
현실 문제는 세 번 번역되어야 풀린다
과일가게의 이익을 계산하거나 네트워크의 연결 경로를 찾는 문제를 생각해 봅시다. 사람은 상황을 문장과 그림으로 이해하지만, 계산 절차는 대상·관계·조건이 분명한 표현을 요구합니다. 따라서 문제 해결은 대체로 다음 세 번의 번역을 거칩니다.
| 번역 단계 | 핵심 질문 | 산출물 | 실패하기 쉬운 지점 |
|---|---|---|---|
| 현실 → 모델 | 무엇을 남기고 무엇을 버릴 것인가? | 변수, 관계, 자료 구조 | 해결에 필요한 조건까지 제거함 |
| 모델 → 해결 원리 | 어떤 정의·정리·기법을 적용할 것인가? | 계산식과 논리 | 문제와 맞지 않는 기법을 선택함 |
| 해결 원리 → 절차 | 어떤 순서와 조건으로 실행할 것인가? | 알고리즘과 의사코드 | 종료 조건이나 분기를 빠뜨림 |
이산수학은 이 세 번역에 필요한 언어를 제공합니다. 집합·관계·함수·그래프처럼 대상을 표현하는 도구, 식을 변형하거나 경우를 나누는 기법, 그리고 상황에 맞는 도구와 기법을 고르는 방법론이 함께 작동합니다.
전체 흐름: 문제를 바로 계산하려 하지 말고, 먼저 표현 가능한 모델을 만들고 그 모델에 맞는 해결 원리를 고른 뒤 실행 가능한 순서로 적습니다.
이산과 연속은 값 사이의 빈틈으로 구분한다
이산적 데이터는 서로 구별되는 값이 하나씩 떨어져 있는 데이터입니다. 학생 수, 그래프의 정점 수, 프로그램의 실행 횟수처럼 보통 세어서 얻습니다. 값의 수가 무한할 수는 있어도 허용된 값 사이를 아무 값으로나 메우지는 않습니다. 예를 들어 학생 수가 24명에서 25명으로 바뀔 수는 있지만 24.6명이라는 중간 상태는 이 문제의 값이 아닙니다.
연속적 데이터는 일정 구간에서 중간값을 생각할 수 있는 데이터입니다. 측정 정밀도의 한계 때문에 화면에는 소수 몇 자리만 나타나더라도, 시간·길이·온도 같은 양은 모델에서 연속량으로 다룰 수 있습니다. 그러므로 “소수이면 연속, 정수이면 이산”이라는 판정은 틀립니다. 온도를 정수로 반올림해 기록해도 원래 물리량은 연속적일 수 있고, 주민번호는 숫자로 적혀도 크기를 측정하는 연속량이 아닙니다.
| 판정 기준 | 이산적 관점 | 연속적 관점 |
|---|---|---|
| 값의 구조 | 구별되는 값 또는 상태 | 구간 안의 중간값을 허용 |
| 대표 행위 | 센다, 선택한다, 연결한다 | 측정한다, 변화율을 본다 |
| 컴퓨터과학 예 | 비트, 문자열, 정점, 명령 횟수 | 시간이나 신호를 연속 모델로 해석 |
자가 점검: 값이 숫자로 쓰였는지를 보지 말고, 문제에서 허용하는 두 값 사이에 또 다른 허용값이 있는지 물어보세요. 표현 형식보다 값의 구조가 판정 기준입니다.
도구·기법·방법론은 역할이 다르다
문제를 해결할 때 정의와 정리는 도구, 가우스 소거법이나 근의 공식처럼 도구를 실제로 적용하는 절차는 기법입니다. 방법론은 더 높은 수준에서 누가, 언제, 어디서, 왜 어떤 도구와 기법을 써야 하는지를 정합니다. 좋은 도구를 많이 아는 것과 적절한 도구를 고르는 능력은 같지 않습니다.
직접 구성한 예로, 여러 지점 사이의 최단 배송 경로를 찾는다고 가정해 봅시다. 정점과 간선의 정의는 문제를 표현하는 도구이고, 후보 경로를 체계적으로 탐색하는 절차는 기법입니다. 도로 수, 비용의 의미, 갱신 빈도와 필요한 정확도를 검토해 어떤 모델과 탐색법을 쓸지 정하는 것이 방법론입니다.
구분 질문: “무엇을 사용할 수 있는가?”에 답하면 도구, “어떻게 적용하는가?”에 답하면 기법, “이 상황에서 무엇을 왜 선택하는가?”에 답하면 방법론입니다.
모델링은 현실의 복제가 아니라 해결용 변환이다
강의자료는 문제 해결을 수학적 모델링과 정보 모델링의 흐름으로 나눕니다. 수학적 모델링은 현실 문제를 수, 식, 집합, 그래프 같은 추상 모델로 바꾸고 수학적 변형을 통해 해를 얻습니다. 정보 모델링은 현실에서 필요한 정보를 골라 컴퓨터가 처리할 자료 형태로 바꾸고, 처리 결과를 문제의 해결책으로 해석합니다.
| 구분 | 중간 표현 | 주된 처리 | 결과를 확인할 질문 |
|---|---|---|---|
| 수학적 모델링 | 방정식, 논리식, 그래프 | 계산·증명·식 변형 | 구한 해가 원래 조건을 만족하는가? |
| 정보 모델링 | 레코드, 관계, 상태 | 저장·검색·갱신·판정 | 처리 결과가 현실의 의미를 보존하는가? |
둘은 경쟁 관계가 아닙니다. 하나의 시스템에서도 수학적 관계를 세우고 그 관계를 자료 구조로 구현할 수 있습니다. 중요한 것은 모델 안에서 얻은 답을 원래 문제로 되돌려 해석하는 마지막 단계입니다. 계산이 맞아도 단위, 범위, 정수 조건을 만족하지 않으면 현실 문제의 답은 아닙니다.
추상화는 정보 삭제가 아니라 관련성 판단이다
추상화는 목표와 관련된 특성만 남기고 관련 없는 세부를 제거하거나 단순화하는 과정입니다. 사과를 재고 시스템에 기록할 때 색의 미세한 무늬까지 저장할 필요는 없지만, 품목·수량·가격·유통기한은 목적에 따라 필요할 수 있습니다. 컴퓨터를 분류할 때도 외관 사진보다 처리 능력, 용도, 이동성처럼 분류 목적에 맞는 속성이 중요합니다.
초보자는 추상화를 “가능한 한 많이 지우는 것”으로 오해하기 쉽습니다. 그러나 핵심 조건을 지우면 모델은 간단해져도 쓸모를 잃습니다. 반대로 모든 세부를 남기면 문제의 구조가 가려지고 처리 비용이 커집니다. 좋은 추상화는 가장 짧은 표현이 아니라 해결에 필요한 구별을 보존하는 표현입니다.
| 검사 | 물어볼 내용 | 실패 신호 |
|---|---|---|
| 목표 검사 | 이 속성이 해결할 질문에 영향을 주는가? | 관계없는 세부가 모델을 지배함 |
| 구별 검사 | 서로 다른 답을 내야 할 경우를 구분하는가? | 다른 상황이 같은 상태로 합쳐짐 |
| 복원 검사 | 모델의 답을 현실의 단위와 의미로 해석할 수 있는가? | 계산값은 있지만 현실의 답이 없음 |
과일 판매 문제로 추상화부터 검산까지 잇는다
강의자료의 과일가게 문제는 추상화가 문장을 방정식으로 바꾸는 과정을 보여 줍니다. 사과 한 개의 이익은 800-600=200원, 배 한 개의 이익은 1,500-1,200=300원입니다. 사과 판매 개수를 A, 배 판매 개수를 B라 두면 다음 두 조건만 남길 수 있습니다.
A + B = 10
200A + 300B = 2400
두 번째 식을 100으로 나누면 2A+3B=24입니다. 첫 번째 식을 2배 한 2A+2B=20을 빼면 B=4가 되고, A+B=10에 대입하면 A=6입니다.
2A + 3B = 24
2A + 2B = 20
-------------
B = 4
A = 10 - 4 = 6
검산은 두 방향으로 합니다. 판매 개수는 6+4=10이고, 이익은 200×6+300×4=1,200+1,200=2,400원입니다. 또한 A와 B는 판매 개수이므로 음이 아닌 정수라는 현실 조건도 만족합니다. 이 마지막 조건은 식에 명시되지 않았더라도 답의 타당성을 판단하는 데 필요합니다.
오류 교정: 600원과 1,200원을 곧바로 이익 식에 넣으면 매입액을 계산할 뿐입니다. 문제의 목표가 이익이므로 먼저 판매가에서 매입가를 빼 한 개당 이익으로 변환해야 합니다.
논리회로 간소화도 같은 추상화 원리를 따른다
논리회로에서는 입력선과 게이트를 부울식으로 바꾸면 회로의 동작을 식 변형으로 다룰 수 있습니다. 강의자료의 식을 +는 OR, 붙여 쓰기는 AND, ¬는 NOT이라고 읽으면 다음과 같습니다.
F(X,Y) = X + XY + (¬X)Y
= X + (¬X)Y // X + XY = X
= (X + ¬X)(X + Y) // 분배법칙
= 1(X + Y)
= X + Y
첫 줄은 회로의 세 경로를 표현하고 마지막 줄은 같은 출력을 내는 더 간단한 관계를 표현합니다. 여기서 추상화는 회로 그림을 식으로 바꾸는 단계이고, 부울대수 법칙은 식을 변형하는 기법입니다. 간소화 전후의 입력 조합에 대해 출력이 같은지 확인하면 변형을 검산할 수 있습니다. 부울대수 자체는 뒤 차시에서 자세히 다루므로 1강에서는 “표현을 바꾸면 복잡한 구조를 계산 가능한 대상으로 만들 수 있다”는 역할에 초점을 둡니다.
알고리즘은 유한한 해결 절차다
알고리즘은 어떤 문제를 해결하기 위한 동작들의 유한한 모임입니다. 단계가 자세하다는 것만으로 충분하지 않습니다. 각 단계의 의미가 모호하지 않아야 하고, 입력에서 원하는 출력으로 진행해야 하며, 언젠가는 끝나야 합니다. 종료 조건이 없는 반복은 절차가 길어서가 아니라 해결 과정이 끝나지 않기 때문에 문제가 됩니다.
알고리즘은 프로그래밍 언어, 순서도, 의사코드로 표현할 수 있습니다. 선택 기준은 “무엇이 가장 전문적으로 보이는가”가 아니라 표현의 목적입니다.
| 표현 | 강점 | 한계 | 적합한 상황 |
|---|---|---|---|
| 프로그래밍 언어 | 기계에서 실행 가능하고 문법이 엄밀함 | 자료형·문법 등 부차 요소가 원리를 가릴 수 있음 | 구현과 실행 결과 확인 |
| 순서도 | 분기와 반복의 흐름을 시각적으로 보여 줌 | 절차가 커지면 선과 도형이 복잡해짐 | 짧은 흐름의 전체 구조 설명 |
| 의사코드 | 프로그래밍 문법과 자연어를 섞어 핵심 절차를 드러냄 | 실행 언어가 아니며 표기 관습을 먼저 합의해야 함 | 언어에 독립적인 설계와 토론 |
의사코드의 화살표는 비교가 아니라 상태 변경이다
강의자료는 C 언어의 형태를 빌린 의사코드를 사용합니다. 의사코드는 특정 컴파일러가 실행하는 완성 프로그램이 아니라 알고리즘의 작동 방식을 설명하는 표기입니다. 따라서 문법 세부보다 할당, 조건, 반복과 종료가 분명한지가 중요합니다.
x ← 0
x ← x + 1
x ← x + 2
←는 오른쪽 값을 계산해 왼쪽 변수에 저장하라는 할당 기호입니다. 첫 줄 뒤 x는 0, 둘째 줄 뒤 x는 1, 셋째 줄 뒤 x는 3입니다. 수학의 등호처럼 읽어 x=x+1이 불가능하다고 판단하면 프로그램의 상태 변화를 놓치게 됩니다.
추적 규칙: 한 문장을 실행할 때마다 변수의 새 값을 기록합니다. 오른쪽 계산에는 변경 전 값을 사용하고, 계산이 끝난 뒤 왼쪽 변수를 새 값으로 교체합니다.
세 제어구조는 실행 경로를 만든다
복잡한 알고리즘도 실행 경로를 기준으로 보면 순차·선택·반복의 세 구조로 조립할 수 있습니다.
| 제어구조 | 결정 질문 | 대표 표기 | 주의점 |
|---|---|---|---|
| 순차 | 문장을 정해진 차례로 한 번씩 실행하는가? | 연속된 할당문 | 앞 단계의 상태가 뒤 단계 입력이 됨 |
| 선택 | 조건에 따라 하나의 경로를 고르는가? | if, switch | 경계값과 기본 경로를 빠뜨리지 않음 |
| 반복 | 조건이나 원소 집합에 따라 같은 절차를 되풀이하는가? | for, while, foreach | 상태 변화와 종료 조건을 확인함 |
if는 참·거짓 조건에 따라 경로를 고르고, switch는 한 값에 대응하는 여러 경우를 구분합니다. for는 반복 범위가 드러나는 경우, while은 조건이 참인 동안 반복하는 경우, foreach는 모음의 각 원소를 한 번씩 처리하는 경우에 자연스럽습니다. 이는 절대적인 문법 규칙이 아니라 알고리즘의 의도를 잘 드러내기 위한 선택 기준입니다.
반복문은 출력보다 종료 상태를 먼저 추적한다
강의자료의 카운트다운 의사코드는 5부터 0까지 출력한 뒤 fire를 출력합니다. 이를 while로 표현하면 다음과 같습니다.
x ← 5
while x >= 0 do
{
print x
x ← x - 1
}
print "fire"
상태를 추적하면 x가 5, 4, 3, 2, 1, 0일 때 본문이 실행됩니다. x=0인 회차에서도 출력 후 1을 빼므로 x는 -1이 됩니다. 그다음 조건 -1 >= 0이 거짓이 되어 반복을 빠져나오고 fire를 출력합니다.
| 조건 검사 시 x | 조건 결과 | 출력 | 실행 뒤 x |
|---|---|---|---|
| 5 | 참 | 5 | 4 |
| … | 참 | 4, 3, 2, 1 | 각각 3, 2, 1, 0 |
| 0 | 참 | 0 | -1 |
| -1 | 거짓 | 반복 출력 없음 | -1 |
x > 0으로 조건을 바꾸면 0은 출력되지 않습니다. x ← x-1을 빠뜨리면 x가 계속 5여서 종료하지 않습니다. 반복문을 검토할 때는 시작값, 조건 검사 시점, 본문 안의 상태 변화, 종료 직후 값의 네 항목을 함께 봐야 합니다.
응용 분야는 과목 목록이 아니라 표현의 쓰임새다
이산수학의 각 주제는 컴퓨터과학의 대상을 표현하고 계산하는 서로 다른 렌즈입니다. 강의자료의 연결을 기능별로 다시 묶으면 다음과 같습니다.
| 필요한 표현·판단 | 관련 이산수학 주제 | 강의자료의 컴퓨터 응용 예 |
|---|---|---|
| 참·거짓과 회로 동작 | 논리, 부울대수 | 전문가 시스템, 디지털 논리회로 |
| 자료의 모음과 대응 | 집합론, 관계, 함수 | 자료 구조, 데이터베이스, 프로그래밍 언어 |
| 연결과 계층 | 그래프, 트리 | 컴퓨터 네트워크, 자료 탐색, 데이터베이스, 회로망 설계 |
| 구조 변환과 경우의 수 | 행렬, 조합이론 | 그래픽스, 로보틱스, 문제 해결, 성능 평가 |
| 정당성과 계산 가능성 | 증명, 정수론, 오토마타·형식언어 | 프로그램 효율성 입증, 정보 보안, 계산 이론 |
예를 들어 네트워크 문제는 장비 이름보다 “무엇이 연결점이고 무엇이 연결 관계인가?”를 정하는 순간 그래프 문제로 추상화됩니다. 데이터베이스는 대상의 모음과 대상 사이 관계를 구분하면서 집합론과 관계 개념을 사용합니다. 1강의 목적은 각 분야를 상세히 배우는 것이 아니라 앞으로 배울 개념이 컴퓨터과학의 어떤 문제 표현과 연결되는지 지도를 세우는 데 있습니다.
문제를 만나면 표현·변형·절차를 차례로 점검한다
새로운 문제에서는 다음 순서로 스스로 질문해 보세요. 먼저 대상이 서로 구별되는 상태인지 연속적인 양인지 판정합니다. 다음으로 목표에 영향을 주는 속성만 남겨 변수·집합·관계·그래프로 표현합니다. 그 뒤 정의와 정리라는 도구, 계산과 변형이라는 기법을 고르고, 선택 이유가 문제 조건과 맞는지 확인합니다. 마지막으로 순차·선택·반복 구조를 사용해 절차를 적고 종료 조건과 결과의 현실적 의미를 검산합니다.
이 흐름에서 추상화는 앞부분 한 번으로 끝나지 않습니다. 알고리즘을 적다가 필요한 정보가 없다는 사실을 발견하면 모델로 돌아가 속성을 복원해야 하고, 결과를 현실에 대입했을 때 모순이 생기면 도구나 기법 선택을 다시 검토해야 합니다. 문제 해결은 일방향 직선이라기보다 표현과 검산을 오가는 과정입니다.
핵심 개념 정리
- 이산과 연속은 숫자의 표기 형태가 아니라 허용된 값 사이에 중간값을 다루는 방식으로 구분합니다.
- 도구는 사용할 개념, 기법은 적용 절차, 방법론은 상황에 맞는 선택 원리입니다.
- 모델링은 현실 문제를 처리 가능한 표현으로 바꾸고, 추상화는 목표에 필요한 구별을 보존하면서 세부를 줄이는 과정입니다.
- 알고리즘은 모호하지 않고 끝이 있는 해결 절차이며, 프로그래밍 언어·순서도·의사코드는 목적에 따라 선택합니다.
- 순차·선택·반복은 실행 경로를 구성하며, 반복에서는 시작값·조건·상태 변화·종료값을 함께 추적합니다.
시험 문제나 실제 문제를 만나면 먼저 데이터의 구조를 판정하고, 해결에 필요한 정보만 모델로 남긴 뒤, 도구와 기법을 선택하고, 의사코드로 실행 순서를 드러내세요. 마지막에는 모델의 계산 결과와 원래 문제의 단위·범위·조건을 대조해야 합니다. 이 과정이 2강의 논리부터 그래프·트리·오토마타까지 이어지는 이산수학 학습의 공통 골격입니다.
예상문제 10선
1. 이산적 데이터에 대한 설명으로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
- ① 오답: 정수·소수 같은 표기 형식만으로 이산성을 판정할 수 없습니다.
- ② 오답: 길이와 시간처럼 측정하는 양은 연속 모델로 다룰 수 있습니다.
- ③ 정답: 허용되는 값이나 상태가 분리되어 구별된다는 구조가 핵심입니다.
- ④ 오답: 정수처럼 값이 무한히 많아도 각 값이 구별되는 이산 구조가 있습니다.
2. 도구·기법·방법론의 구분으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
- ① 정답: 사용할 개념, 적용 절차, 상황별 선택 원리라는 세 층을 정확히 구분합니다.
- ② 오답: 정의는 문제를 표현하는 도구이며 근의 공식은 그 도구를 적용하는 기법입니다.
- ③ 오답: 정리는 도구에 가깝고 계산 결과는 세 범주의 역할을 대신하지 않습니다.
- ④ 오답: 무엇을 쓰는지, 어떻게 쓰는지, 왜 그것을 고르는지는 서로 다른 판단입니다.
3. 배송 경로 문제에서 도로를 간선으로 표현한 뒤, 비용 조건을 검토해 사용할 탐색법을 선택했다. 마지막 활동의 역할은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
- ① 오답: 아직 경로를 계산하지 않았으므로 문제의 최종 결과가 아닙니다.
- ② 오답: 그래프와 간선 같은 개념이 표현 도구에 해당합니다.
- ③ 오답: 특정 탐색법을 실제로 실행하는 절차가 기법이며, 여기서는 실행 전 선택을 하고 있습니다.
- ④ 정답: 비용과 조건을 근거로 어떤 해결 수단을 쓸지 결정하는 상위 판단입니다.
4. 사과와 배를 합해 10개 팔았고 한 개당 이익이 각각 200원, 300원이며 총이익이 2,400원이다. 판매 개수는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
- ① 오답: 개수 합은 10이지만 이익은 800+1,800=2,600원입니다.
- ② 정답: 6+4=10이고 200×6+300×4=2,400원으로 두 조건을 모두 만족합니다.
- ③ 오답: 이익은 1,600+600=2,200원이라 총이익 조건보다 작습니다.
- ④ 오답: 이익은 400+2,400=2,800원이라 총이익 조건보다 큽니다.
5. x ← 0, x ← x+1, x ← x+2를 차례로 실행한 뒤 x의 값과 올바른 해석은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
- ① 오답: 변수는 뒤의 할당문이 실행될 때 새 값으로 갱신됩니다.
- ② 오답: 셋째 문장은 둘째 문장 뒤의 x=1을 읽으므로 1+2를 계산합니다.
- ③ 정답: 상태는 0→1→3으로 바뀌며 순차구조에서는 앞 문장의 결과가 뒤 문장의 입력이 됩니다.
- ④ 오답: 의사코드의 화살표는 오른쪽 값을 왼쪽 변수에 저장하는 할당 기호입니다.
6. 알고리즘 표현 방법에 관한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
- ① 오답: 순서도는 규모가 커지면 선과 도형이 복잡해지는 한계가 있습니다.
- ② 오답: 의사코드는 실행 파일이 아니라 알고리즘을 설명하는 표현입니다.
- ③ 오답: 실제 언어는 자료형과 문법을 세밀하게 적어야 하므로 원리가 가려질 수 있습니다.
- ④ 정답: 엄밀함이 필요한 부분은 프로그래밍 표기를, 나머지는 자연어를 이용해 설계 의도를 드러냅니다.
7. 현실 문제를 해결하는 흐름으로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
- ① 정답: 표현, 변형, 절차, 검산이 원래 문제와 해결책을 일관되게 연결합니다.
- ② 오답: 목표와 입력을 정하기 전에 실행할 알고리즘을 만들 수 없고 핵심 조건을 모두 지워서도 안 됩니다.
- ③ 오답: 검산은 모델과 계산 결과가 나온 뒤 원래 조건에 대조하는 단계입니다.
- ④ 오답: 결과에 맞춰 조건을 바꾸면 원래 문제를 해결한 것이 아니며 현실 전체 복제도 추상화가 아닙니다.
8. 부울식 F=X+XY+(¬X)Y를 간소화한 결과는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
- ① 오답: X=1, Y=0일 때 원래 식은 1이지만 XY는 0이라 동치가 아닙니다.
- ② 정답: X+XY=X로 흡수하고 X+(¬X)Y=(X+¬X)(X+Y)=X+Y로 변형됩니다.
- ③ 오답: X=1, Y=0에서 이 식은 0이 되어 원래 식의 출력과 다릅니다.
- ④ 오답: Y=1인 입력을 모두 0으로 만들지만 원래 식은 그때 1입니다.
9. 목록의 각 원소를 한 번씩 방문하되 원소 수를 미리 계산할 필요가 없는 절차를 가장 잘 드러내는 구조는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
- ① 오답: 원소 수만큼 문장을 직접 나열하면 입력 크기가 달라질 때 절차를 고쳐야 합니다.
- ② 오답: switch는 한 값에 따른 경로 선택에 적합하며 전체 원소 순회 자체를 표현하지 않습니다.
- ③ 오답: if는 조건에 따른 선택 구조이므로 반복 처리를 대신하지 않습니다.
- ④ 정답: foreach는 모음의 각 원소를 대상으로 같은 본문을 실행한다는 의도를 직접 보여 줍니다.
10. 추상 모델로 계산한 답이 현실 문제의 답으로 타당한지 검토하는 방법으로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
- ① 정답: 모델의 해를 원래 조건에 되돌려 넣는 복원·검산 과정이 의미와 계산을 연결합니다.
- ② 오답: 판매 개수처럼 음이 아닌 정수여야 하는 대상은 식만 만족해도 현실의 답이 아닐 수 있습니다.
- ③ 오답: 답에 불편하다는 이유로 핵심 조건을 지우면 다른 문제를 푼 것이 됩니다.
- ④ 오답: 변수 수가 적다는 사실은 필요한 구별을 보존했다는 증거가 아닙니다.
참고 자료와 작성 기준
이 글은 해당 차시 강의자료 40쪽 전체를 확인하고, 표지·학습 목표·본문·정리·다음 강의 안내를 구분한 뒤 1강의 이산수학 개관, 모델링과 추상화, 알고리즘 언어와 응용 분야를 학습 흐름에 맞게 재구성한 비공식 학습자료입니다. 과일 판매 문제의 풀이·검산, 할당문 상태 추적과 반복 종료 분석은 강의 범위 안에서 이해 과정을 보완했습니다.
- 작성·편집: 올에이클래스 학습연구팀
- 주요 근거: 한국방송통신대학교 컴퓨터과학과 이산수학 1강 「이산수학의 개요」 강의자료(2021) :codex-file-citation{path="K1. 컴퓨터과학과/1. 재검토필요/2-1 이산수학/1. 강의록/이산수학_강의록_1강.pdf" purpose="source"}
- 편집 원칙: 올에이클래스 편집 정책
- 최종 내용 검토: 2026-09-05
댓글
댓글 쓰기