강의록
-
유사한 유형의 문제를 해결할 수 있도록 특정 작업을 수행하는 명령문의 집합을 단일 식별자로 구성한 개념은?
a. 함수
- 인터프리터
- 소스 코드를 바이트 코드 또는 실행 파일로 바꾸는 역할
- 파일
- 데이터를 임시적으로 저장하고 있는 개념
- 명령 블럭
- 특정 목적을 수행하는 코드의 집합
- 인터프리터
-
line클래스의 인스턴스m의 멤버__len을 10으로 수정하기 위한 올바른 표현은?1 2 3 4 5 6 7 8 9
class line: def __init__(self, length): self.__len = length def get_length(self): return self.__len def set_length(self, length): self.__len = length
a.
m.set_length(10)__로 시작하는private데이터 필드는 외부에서 접근 불가setter또는 변경자라 불리는 메소드 통해 수정해 주어야 함
-
math모듈 사용을 위한 빈 칸의 올바른 표현은?1 2 3 4
# 빈 칸 a, b = 10, 20 area = 1/2 * a * b * sin(radians(60)) print(area)
a.
from math import sin, radians- 모듈을 사용하려면 프로그램 내부에 선언이 필요
-
특정 목적 또는 분야에서 사용되는 함수, 상수, 클래스 등을 모아 놓은 파일은?

a. 모듈
- 프레임워크
- 어떤 개발하는 과정에서 일종의 토대를 만들어 놓고 약간 살을 덧붙임으로 개발을 빠르게 개발할 수 있는 방법 제공
- 프레임워크
-
특정한 배열 순서나 규칙적인 의미가 없는, 임의의 수는?
a. 난수
- 난수 다룰 수 있는 랜덤 모듈이 있음
-
대규모 소프트웨어 개발에 자원을 투입하여 초기에 예상한 결과물 구현을 목적으로 소프트웨어 전체 개발 과정을 하나의 프로세스로 정의한 것은?
a. 소프트웨어 개발 라이프사이클
- SDLC
-
매개 변수 값의 합을 반환하는 summation 함수에 대해 빈칸에 알맞은 표현은?
1 2 3 4 5
def summation(*numbers): # 가변 매개 변수 -> 리스트 형태로 들어옴 sum = 0 # ________________ sum = sum + i return sum
a.
for i in numbers -
딕셔너리의 구성 요소와 용어가 올바르게 짝 지어진 것은?

a. 2 - 항목(item)
- 1 - 키(key)
- 2 - 항목(item)
- 3 - 값(value)
- 4 - 딕셔너리(dictionary)
- 리스트와 유사한 시퀀스 타입
- 동일한 형태의 유형이 나열되는 형태의 데이터 타입
- 각각의 항목이 키와 값이라고 하는 두 개의 pair로 구성 됨
- 검색의 용도로 사용 가능
-
매개 변수로 전달된 숫자를 역순으로 출력하는 함수이다. 빈칸에 알맞은 연산자는?
1 2 3 4 5
def reverse_digit(number): while number != 0: digit = number % 10 # 10으로 나눈 나머지 -> 일의 자리 값 가져옴 number = number # ____ # 10으로 나눔 -> 일의 자리 숫자를 떼어냄 print(digit, end="")
a.
//- 정수 나눗셈
- 정수만 남기는 형태의 나눗셈
- 정수 나눗셈
-
객체와 객체 사이의 상호작용으로 프로그램을 구성하는 프로그래밍 패러다임은?
a. 객체 지향 프로그래밍
- 명령형 프로그래밍과 구조적 프로그래밍을 그대로 사용하면서도 코드의 재활용률을 높이고 객체 사이사이의 상호 작용 관점을 제공
-
아래는 ‘Khan.txt’ 파일을 읽고 처리하는 프로그램이다. 다음 물음에 따라 답하시오.
1 2 3 4 5 6 7
khan_fp = open("Khan.txt", "r") # 읽기 모드로 파일을 읽어옴 khan_mottos = # ___(가)___ for motto in khan_mottos: print(motto.strip()) # 공백 제거 후 출력 # ___(나)___
-
파일 전체의 내용이 리스트로 저장되도록 (가)에 들어갈 알맞은 표현은?
멤버 설명 open() : file obj파일과 연결되어 있는 파일 객체 생성 read()특정 개수의 문자를 반환 readline()한 라인의 문자열을 반환 readlines() : list전체 라인의 문자열을 리스트로 반환 write(s: str):파일에 문자열을 작성 close()파일 닫기 및 파일 객체 삭제 a.
khan_fp.readlines() -
파일 처리 후 프로그램이 종료되기 전 파일에 대한 마무리 작업으로 (나)에 들어갈 올바른 표현은?
a.
a. khan_fp.close()- 파일에 대한 라이프사이클
- 생성
- 처리 · 사용
- 닫기
- 파일 포인터를 얻어 사용하고 나면 꼭 닫아주어야 오류가 적음
- 파일에 대한 라이프사이클
-
-
함수의 처리 결과 반환 시 사용하는 키워드는?
a.
returnbreak- 반복문이 중간에 중단 될 수 있도록 만들어주는 키워드
continue- 현재의 반복만 중단하고 다음 반복으로 넘어감
-
다음은 EDP 구동 구조이다. 이벤트 루프의 역할에 대한 올바른 설명은?

a. 이벤트 생성 여부 확인 및 전달
- EDP
- Event driven programming
- 이벤트에 의해서 동작하는 프로그램
- GUI 프로그래밍에 기본적으로 사용 되는 구조
- 이벤트 발생 장치
- 이벤트 유형에 따른 이벤트 생성
- 이벤트 큐
- 이벤트가 발생 되면 이벤트 저장함
- 이벤트 핸들러
- 이벤트 발생에 따른 코드 실행
- EDP
-
소프트웨어 개발 라이프 사이클에서 요구 반영, 예상 결과 유사 검증 및 오류 파악이 진행되는 단계는?

a. 테스트
-
다음 클래스의 인스턴스를 생성하는 표현은?
1 2 3 4 5 6 7 8
class robot: def __init__(self, name): self.name = name self.skill = [] def create_skill(self, skill): self.skill.append(skill) def info(self): print('제 이름은', self.name, '입니다!')
a.
r1 = robot("android1")- 클래스의 인스턴스를 만들려고 하면 생성자를 불러야 함
- 생성자의 이름은 클래스 이름과 동일
- 생성자의 파라미터는
__init__에 있는 파라미터로 결정 - 모든 메소드의 첫번째 파라미터는 self → 파라미터를 넘길 때는 생각하지 않음
- 클래스의 인스턴스를 만들려고 하면 생성자를 불러야 함
-
객체 지향 프로그래밍에서 객체의 구성 요소가 아닌 것은?
a. 내장 함수
- 객체 지향 프로그래밍
- 객체로써 프로그램을 구성함
- 객체는 데이터 필드와 메소드의 하나의 합
- 메소드, 초기자, 데이터 필드는 객체를 구성하는 요소
- 내장 함수
- 인터프리터에 있어 별도로 정의하지 않아도 사용할 수 있는 함수들
- 객체 지향 프로그래밍
-
아래는 구구단 게임 소스 코드이다. 다음 물음에 따라 답하시오. a, b가 1~9의 임의의 정수가 되도록 (가), (나)에 공통적으로 사용되는 표현은?
1 2 3 4 5 6 7 8 9 10 11 12 13
import random score = 0 for i in range(10): a = # ___(가)___ b = # ___(나)___ result = int(input(str(a)+" X "+str(b)+"?")) if result == a * b : score += 20 print("맞았습니다.") else: print("틀렸습니다.")
멤버 설명 random()0 ~ 1 사이의 숫자 중 난수 발생 randint(a, b)a부터 b 사이의 숫자 중 난수 발생 randrange(a, b, c)a부터 b 사이의 c의 간격으로 나열된 숫자 중 난수 발생 choice(sequence)주어진 항목을 랜덤하게 반환 sample(sequence)랜덤하게 여러 개의 원소를 선택 shuffle(sequence)시퀀스의 순서를 랜덤하게 섞음 a.
random.randint(1, 9) -
아래는 2차원 리스트 board에 포함된 모든 항목을 출력하는 함수이다. 다음 물음에 답하시오. 행마다 원소의 값이 새로운 라인에서 출력되도록 (가)에
print()가 삽입될 때,print()앞의 들여쓰기 칸 수는? (단, 들여쓰기 단위는 3칸이라고 가정한다.)1 2 3 4 5
def show_board(): for row in board: for item in row: print(item, end=" ") # ___(가)___
a. 6
- 행이 바뀔 때 마다
print문이 실행 되어야 함
- 행이 바뀔 때 마다
-
아래는 파일에 포함된 단어의 출현 횟수를 세는 프로그램이다. 다음 물음에 따라 답하시오.
1 2 3 4 5 6 7 8 9 10 11 12 13
h_fp = open("hamlet_by_Shakespeare.txt", "r") wdict = dict() for line in h_fp.readlines(): # 파일에 포함 된 리스트를 모두 읽어 한줄 한줄 가져옴 for word in line.strip().split(): # 공백이 있을 때마다 하나씩 끊음 word = word.strip(" ,?[.\\";").lower() # 불필요한 문자 삭제 if # ___(가)___ is not None: count = # ___(나)___ else : count = 0 # ___(다)___ = count + 1 h_fp.close()
-
wdict 딕셔너리에 word에 대한 항목 생성 여부를 확인하기 위한 표현으로 (가)에 들어갈 올바른 것은? | 멤버 | 설명 | | ——————- | ——————————– | |
keys() : tuple| 포함된 모든 키를 반환 | |values() : tuple| 포함된 모든 값을 반환 | |items() : tuple|(키, 값)형태의 튜플로 모든 항목을 반환 | |clear() : None| 모든 항목을 삭제 | |get(key) : value| 키에 해당하는 값을 반환 | |pop(key) : value| 키에 해당하는 값을 반환하고 항목을 삭제 | |popitem() : tuple| 무작위로 한 (키, 값)을 반환하고 선택된 항목을 삭제 |a.
wdict.get(word)- word를 넘겨주어 해당 되는 출현 횟수의 값이 넘어옴
-
wdict에서 word 항목의 값을 가져오거나 저장하기 위해 (나)와 (다)에 공통으로 들어갈 올바른 표현은?
a.
wdict[word]- key 에 대한 값을 가지고 오거나 키에 대한 항목 값을 세팅할 때 사용
-
-
아래는 3 X 3 2차원 리스트 board 의 대각선 항목이 모두 X 기호로 채워져 있는지 검사하는 함수이다. 다음 물음에 따라 답하시오. 아래와 같은 방향에 위치한 항목이 X로 채워졌을 때 True가 반환 되도록 각각 들어갈 (가)와 (나)의 표현은?
1 2 3 4 5 6 7 8 9 10
def is_diagonal(board): # board를 매개 변수로 추가 (일반적인 경우) win = True for i in range(3): if board # [(가)][(나)] != "X": win = False break if win == True: return win return False

a. i, 3 - 1 - i
- 한 행 검사할 때마다 행의 값은 0에서 1씩 증가, 열의 값은 2에서 1씩 감소
- 행 0, 열 2
- 행 1, 열 1
- 행 2, 열 0
- 한 행 검사할 때마다 행의 값은 0에서 1씩 증가, 열의 값은 2에서 1씩 감소
연습 문제
-
다음과 같은 형식으로 실수를 출력할 때, 숫자 앞에 삽입 된 공백(스페이스)의 개수는? (숫자의 입력)
1
format(3.141592, ">20.3f")
a. 15
- 3.141592를 소수점 3자리까지 실수로 표시하면 → 3.142
___________________3.142- 언더바 15개
>- 오른쪽 정렬
- 20
- 전체 출력 폭(width)이 20칸
- .3f
- 소수점 이하 3자리까지의 실수로 표시
- 3.141592를 소수점 3자리까지 실수로 표시하면 → 3.142
-
private데이터 필드에 값을 설정하는 메소드를 접근자(accessor)라고 함a. X
- 접근자(Accessor)
- 데이터 필드의 값을 읽어오는 메소드
getter
- 설정자(Mutator)
- 데이터 필드의 값을 설정하는 메소드
setter
- 접근자(Accessor)
-
다음은 객체의 생성 과정을 도식화 한 것이다. 빈칸에 알맞은 것은?
1
Cone(20, 30) # 생성자 호출 -> 20, 50이 인자로 전달 됨

a. 초기자 호출
-
객체 생성 시 내부적으로
__init__(초기화 함수)가 호출 됨1 2 3 4 5 6
class Cone: def __init__(self, a, b): # 인자로 받은 값을 객체의 속성에 할당(초기화) 함 self.a = a self.b = b cone = Cone(20, 30)
-