프로그래밍웹 교과서
이 페이지의 목차
2단원 · 19차시

2단원 마무리

단원 정리자기 점검

학습 목표

  • 2단원의 핵심 개념을 정리한다.
  • 성취기준별로 자신의 이해 정도를 점검한다.

관련 성취기준

  • 프그02-01

    변수와 자료형의 개념과 특징을 이해하고, 구분하여 지정할 수 있으며, 이들을 사용한 프로그램을 작성할 수 있다.

  • 프그02-02

    입력과 출력의 기능을 이해하고, 형식을 지정하여 데이터를 입력하고 출력할 수 있다.

  • 프그02-03

    산술, 비교, 논리 등의 여러 종류의 연산자 의미를 알고 프로그래밍에 적절하게 사용할 수 있다.

  • 프그02-04

    순차, 선택, 반복의 제어 구조를 이해하고, 문제 상황에 알맞은 제어 구조를 선택하여 이를 적용한 프로그램을 작성할 수 있다.

  • 프그02-05

    함수의 개념과 종류, 필요성을 이해하고, 함수 정의 및 사용자 정의 함수를 호출하고 결괏값을 반환하는 프로그램을 작성할 수 있다.

  • 프그02-06

    파일의 개념을 이해하고 지원하는 파일 유형을 사용하여 입력과 출력 과정을 설명할 수 있으며, 파일을 입출력하는 프로그램을 작성할 수 있다.

2단원을 한 문장으로

프로그램은 값을 담고 옮기고 계산하는 일의 반복이며, 제어 구조와 함수는 그 반복을 사람이 다룰 수 있는 크기로 나누는 도구다.

18차시의 메모장 프로그램이 이 한 문장을 그대로 보여 준다. 변수에 값을 담고, 입력으로 받고, 개수를 세고, 조건과 반복으로 흐름을 정하고, 함수로 나누고, 파일에 남겼다. 2단원의 도구만으로도 쓸 만한 프로그램이 된다.

정리 ① 변수와 자료형

되돌아갈 곳: 1차시 변수 — 값에 이름을 붙이다 · 2차시 자료형 — 값의 종류 · 3차시 문자열 다루기 · 4차시 여러 값을 한 번에 — 리스트와 배열

정리 ② 입력과 출력

되돌아갈 곳: 5차시 출력의 형식을 정하다 · 6차시 입력을 받아 처리하다

정리 ③ 연산자

되돌아갈 곳: 7차시 계산하는 연산자 · 8차시 비교하고 판단하는 연산자

정리 ④ 제어 구조

되돌아갈 곳: 9차시 순차와 선택 — 갈라지는 흐름 · 10차시 반복 — 같은 일을 여러 번 · 11차시 중첩된 제어 구조 · 12차시 알맞은 제어 구조 골라 쓰기

정리 ⑤ 함수

되돌아갈 곳: 13차시 함수는 왜 필요한가 · 14차시 함수 정의하고 호출하기 · 15차시 결괏값을 돌려받다 · 16차시 함수로 프로그램 나누기

정리 ⑥ 파일

되돌아갈 곳: 17차시 파일이란 무엇인가 · 18차시 파일에 읽고 쓰는 프로그램

개념이 이어지는 자리

2단원의 문법은 서로 걸려 있고, 1단원에서 정한 것들과도 걸려 있다.

2단원의 개념이 서로 이어지는 지점
개념어디서 다시 쓰이는가
자료형입력 처리에서 — 받은 문자열을 숫자로 바꿔야 계산이 된다
자료형나누기에서 — 정수끼리인지 실수가 섞였는지가 결과를 가른다
리스트반복에서 — 담아 둔 값 전체를 한 번에 훑는다
리스트파일에서 — 읽은 줄들을 목록으로 담아 돌려준다
비교 연산자의 경계조건문에서 — 등호를 붙일지가 경계값의 결과를 바꾼다
논리 연산자의 단축 평가입력 검사에서 — 확인 순서를 정하는 근거가 된다
반복의 끝나는 조건1단원 6차시의 유한성 — 조건이 없으면 알고리즘이 아니다
함수로 나누기1단원 5차시의 모듈 원칙 — 한 가지 일만 맡긴다
함수의 반환값3단원 3차시의 설계서 — 부품끼리 주고받을 것을 못 박는다
파일 모드3단원 8차시의 결함 보고 — 지우는 동작은 위험을 함께 적는다

스스로 점검하기

성취기준별로 지금 할 수 있는 것을 표시해 보자. 문법은 「알아본다」와 「내가 쓴다」가 다르다. 확인하는 방법은 예제를 보지 않고 빈 화면에서 짧은 프로그램 하나를 만들어 보는 것이다.

확인할 것 아직 대체로 할 수 있다 되돌아갈 차시
변수에 값을 담고 이름을 알맞게 지을 수 있다 ☐ ☐ ☐ 1차시
네 가지 기본 자료형을 구분해 쓸 수 있다 ☐ ☐ ☐ 2차시
"7" 과 7 의 차이를 예를 들어 설명할 수 있다 ☐ ☐ ☐ 2·3차시
문자열과 리스트에서 원하는 자리의 값을 꺼낼 수 있다 ☐ ☐ ☐ 3·4차시
표처럼 자리를 맞춰 출력할 수 있다 ☐ ☐ ☐ 5차시
입력받은 값을 숫자로 바꿔 계산할 수 있다 ☐ ☐ ☐ 6차시
몫과 나머지를 문제에 맞게 골라 쓸 수 있다 ☐ ☐ ☐ 7차시
두 언어의 나누기 차이를 설명할 수 있다 ☐ ☐ ☐ 7차시
여러 조건을 논리 연산자로 묶을 수 있다 ☐ ☐ ☐ 8차시
조건에 따라 갈라지는 프로그램을 만들 수 있다 ☐ ☐ ☐ 9차시
for 와 while 을 근거를 들어 골라 쓸 수 있다 ☐ ☐ ☐ 10·12차시
중첩 반복의 실행 횟수를 셀 수 있다 ☐ ☐ ☐ 11차시
되풀이되는 코드를 함수로 묶을 수 있다 ☐ ☐ ☐ 13·14차시
매개변수와 반환값이 있는 함수를 만들 수 있다 ☐ ☐ ☐ 14·15차시
프로그램을 함수 여러 개로 나눠 만들 수 있다 ☐ ☐ ☐ 16차시
파일을 열고 읽고 닫을 수 있다 ☐ ☐ ☐ 17차시
파일에 값을 남기고 다시 불러올 수 있다 ☐ ☐ ☐ 18차시

「아직」에 표시한 줄이 있으면 그 차시로 돌아가 활동만 다시 해 본다. 본문을 다시 읽는 것보다 빠르다. 문법은 읽어서가 아니라 쳐 보아서 남는다.

단원 평가 문제

2단원 평가 문제

보기를 누르면 바로 채점된다. 틀려도 해설을 읽으면 된다.

Python에서 값 = 「10」 이라 적고 값 + 5 를 실행하면?프그02-01

0.1 + 0.2 == 0.3 이 거짓인 까닭은?프그02-01

한글 「가나다」 에 대해 Python의 len() 과 C의 strlen() 이 각각 돌려주는 값은?프그02-01

input() 으로 받은 값을 그대로 + 로 더했더니 「1020」 이 나왔다. 원인은?프그02-02

한글이 섞인 표를 출력할 때 자리 맞추기가 어긋나지 않게 하는 가장 안전한 방법은?프그02-02

Python과 C에서 7 / 2 의 결과는 각각 무엇인가?프그02-03

어떤 수가 3의 배수인지 확인하려면 무엇을 쓰는가?프그02-03

개수 != 0 and 합계 / 개수 > 60 에서 개수 가 0일 때 나누기 오류가 나지 않는 까닭은?프그02-03

점수 90점을 「90 이상 A · 80 이상 B」 순으로 검사하는 대신 「80 이상 B · 90 이상 A」 순으로 적으면?프그02-04

반복 횟수가 실행 전에 정해지지 않은 경우에 알맞은 것은?프그02-04

바깥 반복이 3번, 안쪽 반복이 4번인 중첩 반복에서 안쪽 문장이 실행되는 횟수는?프그02-04

함수를 쓰는 가장 중요한 이유로 알맞은 것은?프그02-05

함수 안에서 만든 변수를 함수 밖에서 쓰려고 하면?프그02-05

프로그램을 껐다 켜도 값이 남게 하려면 어디에 저장해야 하는가?프그02-06

값을 쌓아 가는 파일을 실수로 「w」 모드로 열면 어떤 일이 생기는가?프그02-06

3단원으로 넘어가기 전에

2단원까지 오면 문법은 갖춰졌다. 값을 담고 계산하고 흐름을 정하고 나누고 남길 수 있다. 그런데 문법을 다 알아도 막히는 자리가 있다.

무엇을 만들지 정해져 있지 않을 때 무엇부터 하는가?

3단원이 이 물음을 다룬다. 요구 사항을 정하고, 구조를 설계하고, 부품을 만들어 이어 붙이고, 시험하고, 고쳐 낸다. 1단원에서 절차를 배웠고, 2단원에서 도구를 익혔고, 3단원에서 그 둘로 실제 프로그램 하나를 끝까지 만든다.

교과서에서 찾기

교과서해당 위치쪽수
성림출판(Python)프로그래밍의 기초 › 01 변수와 자료형58쪽
씨마스커뮤니케이션(Python)프로그래밍 기초 › 2 변수와 자료형84쪽
삼양미디어(Python)프로그래밍의 기초 › 01 데이터 입출력 (프그02-02와 통합)42쪽
삼양미디어(C)프로그래밍의 기초 › 01 데이터 입출력 (프그02-02와 통합)42쪽
씨마스(C)C 프로그래밍의 기초 › 1 변수와 자료형62쪽
웅보출판사(C)프로그래밍의 기초 › Chapter 01 변수와 자료형61쪽