Page 6 고등학교 프로그래밍 교과서
P. 6










이 책의 우리는 이 교과서를 아하, 이렇게 학습하면
어떻게 활용할까요?
이해가 잘 되겠네요.
구성 특징



실리콘밸리
미국 샌프란시스코 남쪽의 광활한 캘리포니아 지역은 가장 위대한 첨단 컴퓨
터 기술의 선구자들을 모아놓은 곳이 되었다. 컴퓨터 전자 공학에 사용되는
물질인 실리콘에 착안해 이름 지어진 실리콘밸리는 거대 인터넷 회사와 컴퓨
Ⅰ 프로그래밍의 개요
터 회사들이 자리 잡은 본부이다.
단원 도입
실리콘밸리
실리콘밸리
미국 샌프란시스코 남쪽의 광활한 캘리포니아 지역은 가장 위대한 첨단 컴퓨
1. 프로그래밍 언어의 종류와 특징 터 기술의 선구자들을 모아놓은 곳이 되었다. 컴퓨터 전자 공학에 사용되는
미국 샌프란시스코 남쪽의 광활한 캘리포니아 지역은 가장 위대한 첨단 컴퓨
터 기술의 선구자들을 모아놓은 곳이 되었다. 컴퓨터 전자 공학에 사용되는
물질인 실리콘에 착안해 이름 지어진 실리콘밸리는 거대 인터넷 회사와 컴퓨
물질인 실리콘에 착안해 이름 지어진 실리콘밸리는 거대 인터넷 회사와 컴퓨
핵심 질문 프로그래밍 언어를 특징에 따라 용도에 맞게 선택하여 사용할 수 있을까? 터 회사들이 자리 잡은 본부이다.
터 회사들이 자리 잡은 본부이다.
1
단원 개관
프로그래밍의 개요 2 단원을 시작하기 전에 단원
Ⅰ 2. 프로그래밍의 절차
핵심 질문 프로그램은 어떻게 작성할까? 에서 학습할 내용을 개괄적으로 소개하여 학습
1 프로그램에 대해 알아보자
1. 프로그래밍 언어의 종류와 특징
3. 알고리즘 프로그래밍 언어를 특징에 따라 용도에 맞게 선택하여 사용할 수 있을까? 을 준비할 수 있도록 하였습니다.
핵심 질문
핵심 질문 알고리즘을 표현하는 방법으로는 어떤 것들이 있을까?
2. 프로그래밍의 절차
핵심 질문 프로그램은 어떻게 작성할까?
1 1 3. 알고리즘 알고리즘을 표현하는 방법으로는 어떤 것들이 있을까? 우리는 장소를 이동하기 위해서 버스를 타거나 지하철을 탈 때 스마트 폰의 앱을
1 4. 프로그래밍 개발 환경
2
사진 설명
단원과 관련된 사진과 함께
4. 프로그래밍 개발 환경 프로그래밍 언어의 종류와 특징
프로그래밍 언어의 종류와 특징
프로그래밍 개발 환경은 왜 필요할까?
핵심 질문
핵심 질문
간단한 설명을 덧붙여 흥미와 더불어 정보를
핵심 질문 프로그래밍 개발 환경은 왜 필요할까? 이용하여 도착 시간을 예상하고, 이동 경로를 쉽게 찾는다. 이렇게 버스나 지하철을
편리하게 이용할 수 있는 것은 스마트폰에 필요한 앱이 설치되어 있기 때문이다. 이
록 한다. 1
학습목표•각종 프로그래밍 언어의 종류와 특징을 설명할 수 있다.
•각종 프로그래밍 언어의 종류와 특징을 설명할 수 있다.
와 같이 스마트폰이나 컴퓨터를 통하여 문제를 해결하려면 문제 해결을 위한 작업의
•프로그램의 개발 분야와 용도에 따라 적절한 프로그래밍 언어를 선택할 수 있다.
단원 개관 학습목표 •프로그램의 개발 분야와 용도에 따라 적절한 프로그래밍 언어를 선택할 수 있다. 제공하였습니다.
단원 개관
로 자세하게 명령을 해 주어야 한다. 프로그래밍 언어의 종류와 특징
영화를 보면 인공지능을 가진 컴퓨터가 인간을 조정하기도 하고 병을 진단하기도 한다. 순서를 지시해 주어야 한다. 이 단원을 배우고 나면
영화를 보면 인공지능을 가진 컴퓨터가 인간을 조정하기도 하고 병을 진단하기도 한다.
이 단원을 배우고 나면
하지만 엄청난 성능을 가진 슈퍼컴퓨터가 만들어졌다고 해서 컴퓨터가 스스로 동작되는
3
하지만 엄청난 성능을 가진 슈퍼컴퓨터가 만들어졌다고 해서 컴퓨터가 스스로 동작되는 3 프로그래밍 언어의 종류와 프로그래밍 이 단원에서 배울
이 단원을 배우고 나면
일은 없다. 따라서 컴퓨터가 어떤 일을 수행하기 위해서는 컴퓨터가 이해할 수 있는 언어
이 단원을 배우고 나면문들을 순차적으로 나열한 것을 컴퓨터 프로
프로그래밍 언어의 종류와 프로그래밍
일은 없다. 따라서 컴퓨터가 어떤 일을 수행하기 위해서는 컴퓨터가 이해할 수 있는 언어 이와 같이 컴퓨터가 수행해야 할 명령
개발 절차, 알고리즘, 프로그래밍 개발
환경에 대하여 설명할 수 있다.
이 단원에서는 컴퓨터가 이해할 수 있도록 개발된 프로그래밍 환경에 대하여 알아보도
개발 절차, 알고리즘, 프로그래밍 개발
로 자세하게 명령을 해 주어야 한다. 프로그래밍 언어의 종류와 프로그래밍
생각 펼치기 이 단원에서는 컴퓨터가 이해할 수 있도록 개발된 프로그래밍 환경에 대하여 알아보도 그램 또는 프로그램이라 한다. 그리고 컴퓨터 성취 기준과 관련된 내용을 미리 보여 주어 이
환경에 대하여 설명할 수 있다.
생각 펼치기
땅에 구덩이를 파고 꽃을 심기 위해서는 손바닥 크기의 모종삽으로, 작은 나무를 심기 위해로 어떤 문제를 처리할 수 있도록 프로
땅에 구덩이를 파고 꽃을 심기 위해서는 손바닥 크기의 모종삽으로, 작은 나무를 심기 위해
개발 절차, 알고리즘, 프로그래밍 개발
환경에 대하여 설명할 수 있다.
록 한다.
서는 일반삽으로, 큰 나무를 여러 그루 심기 위
서는 일반삽으로, 큰 나무를 여러 그루 심기 위
10 그램을 작성하는 작업이나 과정을 프로그래밍이라고 하며, 프로그램을 설계하고 명령
학습목표
•각종 프로그래밍 언어의 종류와 특징을 설명할 수 있다.
해서는 굴삭기를 이용한다.
해서는 굴삭기를 이용한다. 어를 작성하는 사람을 프로그래머라 한다. 단원에서 무엇을 배울지 쉽게 파악할 수 있게
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 10 2017-05-14 오후 2:29:28 ★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 11 2017-05-14 오후 2:29:29
10 마찬가지로 프로그램을 개발하는 경우 하였습니다.
•프로그램의 개발 분야와 용도에 따라 적절한 프로그래밍 언어를 선택할 수 있다.
마찬가지로 프로그램을 개발하는 경우
에도 게임 프로그램을 개발하느냐,
에도 게임 프로그램을 개발하느냐, 2017-05-14 오후 2:29:29 Q & A
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 11
운영체제 프로그램을 개발하느냐, 스
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 11
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 10 운영체제 프로그램을 개발하느냐, 스 2017-05-14 오후 2:29:28 2017-05-14 오후 2:29:29 컴퓨터에서만 프로그램을 사용
1 프로그래밍 언어의 종류와 특징 앱 프로그램을 1 프로그램에 대해 알아보자 할까?
마트폰에서 사용하는 앱 프로그램을
마트폰에서 사용하는
본문 전개
TV 프로그램, 행사 프로그램 등
1 생각 펼치기 개발하느냐에 이용하여 도착 시간을 예상하고, 이동 경로를 쉽게 찾는다. 이렇게 버스나 지하철을 과 같이 해야 할 일을 나타내는 시간
개발하느냐에 따라
•프로그램의 개발 분야와 용도에 따라 적절한 프로그래밍 언어를 선택할 수 있다. 그에 알맞은
•각종 프로그래밍 언어의 종류와 특징을 설명할 수 있다. 따라 그에 알맞은
학습목표
우리는 장소를 이동하기 위해서 버스를 타거나 지하철을 탈 때 스마트 폰의 앱을
땅에 구덩이를 파고 꽃을 심기 위해서는 손바닥 크기의 모종삽으로, 작은 나무를 심기 위해
적절한 프로그램 개발 도구를 선
적절한 프로그램 개발 도구를 선 편리하게 이용할 수 있는 것은 스마트폰에 필요한 앱이 설치되어 있기 때문이다. 이 표나 계획 등도 프로그램이라 한다.
서는 일반삽으로, 큰 나무를 여러 그루 심기 위
생각 펼치기 땅에 구덩이를 파고 꽃을 심기 위해서는 손바닥 크기의 모종삽으로, 작은 나무를 심기 위해 와 같이 스마트폰이나 컴퓨터를 통하여 문제를 해결하려면 문제 해결을 위한 작업의
순서를 지시해 주어야 한다.
서는 일반삽으로, 큰 나무를 여러 그루 심기 위 좀 더 효율적으로 프로 이와 같이 컴퓨터가 수행해야 할 명령문들을 순차적으로 나열한 것을 컴퓨터 프로 단원과 관련된 주요 학습
1
택하면,
택하면, 좀 더 효율적으로 프로
생각 펼치기
해서는 굴삭기를 이용한다. 그램 또는 프로그램이라 한다. 그리고 컴퓨터로 어떤 문제를 처리할 수 있도록 프로
그램을 작성할 수 있다.
에도 게임 프로그램을 개발하느냐, 해서는 굴삭기를 이용한다. 그램을 작성하는 작업이나 과정을 프로그래밍이라고 하며, 프로그램을 설계하고 명령
그램을 작성할 수 있다.
마찬가지로 프로그램을 개발하는 경우
미션 해결하기 어를 작성하는 사람을 프로그래머라 한다. Q & A 내용을 일상생활과 관련지어 흥미를 유발할 수
운영체제 프로그램을 개발하느냐, 스
마트폰에서 사용하는 앱 프로그램을
개발하느냐에 따라 그에 알맞은 마찬가지로 프로그램을 개발하는 경우
컴퓨터에서만 프로그램을 사용
할까?
적절한 프로그램 개발 도구를 선
2 핵심 프로그래밍 언어를 특징에 따라 용도에 맞게 선택하여 사용할 수 있을까? 과 같이 해야 할 일을 나타내는 시간 있게 제시함으로써 본문과 자연스럽게 이어지
핵심
TV 프로그램, 행사 프로그램 등
위의 그림에 나오는 내비게이션도 프로그램에 해당한다. 자동차의 내비게이션은 지
택하면, 좀 더 효율적으로 프로
그램을 작성할 수 있다. 프로그래밍 언어를 특징에 따라 용도에 맞게 선택하여 사용할 수 있을까?
에도 게임 프로그램을 개발하느냐,
질문
표나 계획 등도 프로그램이라 한다.
질문
빛의 속도가 300,000km/s일 때 태양으로부터 각 행성까지 빛이 도달하는 시간(분)을 구하는 프로그램을 작성해 보자.
도록 하였습니다.

핵심 프로그래밍 언어를 특징에 따라 용도에 맞게 선택하여 사용할 수 있을까? 도를 보여 주거나 지름길을 찾아 자동차 운전을 도와 주는 프로그램을 말한다. 운전할
질문 운영체제 프로그램을 개발하느냐, 스
위의 그림에 나오는 내비게이션도 프로그램에 해당한다. 자동차의 내비게이션은 지
도를 보여 주거나 지름길을 찾아 자동차 운전을 도와 주는 프로그램을 말한다. 운전할
프로그램 때 목적지를 입력하면 최적의 길을 안내해 주는 것도 내비게이션에 지리 정보, 도로 상
때 목적지를 입력하면 최적의 길을 안내해 주는 것도 내비게이션에 지리 정보, 도로 상 실행 결과
황 등이 프로그래밍되어 있기 때문이다.
황 등이 프로그래밍되어 있기 때문이다.
2
미션 이 단원을 학습하면서 해결해 보자. 마트폰에서 사용하는 앱 프로그램을 단원의 동기 유발을 위해 핵
핵심 질문
1 01 C# 미션 Java C 11 이 단원을 학습하면서 해결해 보자. 2040년 3월 현재, 의사였던 나는 진료를 못한 지 10년이 지났다. 2016년에 ‘알파고’라는 컴퓨터가 인간 mercury : 3
#include
개발하느냐에 따라
였는데, 이러한 기계어는 하드웨어에 대한 전문적인 지식이 필요하고 그에 알맞은
순위 프로그래밍 언어 순위 프로그래밍 언어 초창기에 사용한 프로그래밍은 숫자를 나열한 명령 코드를 사용하 읽을거리 2040년 병원 오디세이
4 미션
Ruby 이 단원을 학습하면서 해결해 보자.
Visual Basic
2
12
Assembly language
3 3 5 02 Python C++ PHP 13 14 int main( ) 4 을 상대로 바둑에서 이기고 ‘왓슨’이라는 프로그램이 인간의 암 진단과 항암 치료를 도우면서 인공지능은 심 질문을 던지고 단원이 끝나면 이 질문에 대
숫자로만 나열되어 코딩을 할 때 틀리기 쉽고 오류 발견도 어려워 매
Objective-C
눈부신 발전을 거듭했다. 이와 함께 의과 대학의 몰락이 시작됐고, 인터넷 원격 진료까지 실시되자 의사라 vinus : 6
읽을거리
우 사용하기 불편하였다. 이러한 단점을 보완하여 사람이 사용하는
2040년 병원 오디세이
15
D
적절한 프로그램 개발 도구를 선
6
16
Swift
8 03 Perl 18{ 17 MATLAB R 자연어에 가까운 프로그래밍 언어가 개발되었다. 프로그래밍 언어는 는 직종은 빠르게 그 영향력을 잃었다. 인공지능 의사는 24시간 진료를 하였고, 진료비마저 저렴했다. 이러
7
Visual Basic.NET
한 이유로 인공지능 진료소는 빠르게 확장되었다. 오늘은 내가 정기 검진을 받는 날이다. 정기 검진의 의사 earth : 8
9 JavaScript 19 PL/SQL 보다 쉽고 강력한 기능을 가진 형태로 발전하고 있으며, 지금까지 개 로봇이 각종 검진을 측정하고, 홀로그램으로 구현된 의사가 진단한다. 이 의사는 내게 고혈압이라고 진단하
초창기에 사용한 프로그래밍은 숫자를 나열한 명령 코드를 사용하
10 Delphi/Object Pascal 순위 프로그래밍 언어 순위 프로그래밍 언어 초창기에 사용한 프로그래밍은 숫자를 나열한 명령 코드를 사용하
20 프로그래밍 언어
발된 프로그래밍 언어는 그 수를 헤아릴 수 없을 만큼 많다.
Groovy
순위 프로그래밍 언어
04 순위 그렇다면 산업 현장에서 많이 사용되는 프로그래밍 언어의 특징에 면서 고혈압 주의 사항을 스마트폰으로 전송했다며 약을 처방해 주고 한 달마다 병원에 오라고 지시했다. 한 답을 스스로 얻을 수 있게 하였습니다.
2040년 3월 현재, 의사였던 나는 진료를 못한 지 10년이 지났다. 2016년에 ‘알파고’라는 컴퓨터가 인간
[출처: TIOBE (http://www.tiobe.com)] char planet[4][10] = {"mercury", "vinus", "earth", "mars"};
택하면, 좀 더 효율적으로 프로
[출처: <조선일보>, 「2040년 병원 오디세이」 2016.03.19.] mars : 13
1 1 Java Java 대해 조사해 보자. 11 Ruby
Ruby
11
였는데, 이러한 기계어는 하드웨어에 대한 전문적인 지식이 필요하고
였는데, 이러한 기계어는 하드웨어에 대한 전문적인 지식이 필요하고
05 2 2 C int distance[4] = {58000000, 108000000, 150000000, 228000000};
Visual Basic
을 상대로 바둑에서 이기고 ‘왓슨’이라는 프로그램이 인간의 암 진단과 항암 치료를 도우면서 인공지능은
12
C
12
Visual Basic
Assembly language
3
1. 프로그래밍 언어의 종류와 특징 13
12 Ⅰ . 프로그래밍의 개요 3 C++ C++ 13 13 Assembly language 숫자로만 나열되어 코딩을 할 때 틀리기 쉽고 오류 발견도 어려워 매
그램을 작성할 수 있다.
숫자로만 나열되어 코딩을 할 때 틀리기 쉽고 오류 발견도 어려워 매
06 4 C# double result[4] = { 0.0 }; 눈부신 발전을 거듭했다. 이와 함께 의과 대학의 몰락이 시작됐고, 인터넷 원격 진료까지 실시되자 의사라
4 C# 14 14 Objective-C
Objective-C
단원에서 꼭 해결
3
미션 & 미션 해결하기
07
우 사용하기 불편하였다. 이러한 단점을 보완하여 사람이 사용하는
5
int light = 300000;
Python
5
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 12 Python 15 15 D D 우 사용하기 불편하였다. 이러한 단점을 보완하여 사람이 사용하는 2017-05-14 오후 2:29:34간 진료를 하였고, 진료비마저 저렴했다. 이러
는 직종은 빠르게 그 영향력을 잃었다. 인공지능 의사는 24시
2017-05-14 오후 2:29:33 ★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 13
08 6 6 PHP PHP 16 16 Swift Swift 자연어에 가까운 프로그래밍 언어가 개발되었다. 프로그래밍 언어는
자연어에 가까운 프로그래밍 언어가 개발되었다. 프로그래밍 언어는
int i;
7 7 Visual Basic.NET 17 R R 한 이유로 인공지능 진료소는 빠르게 확장되었다. 오늘은 내가 정기 검진을 받는 날이다. 정기 검진의 의사
해야 할 문제를 흥미롭게 미션으로 제시하고
Visual Basic.NET 17
18
MATLAB
Perl
18
MATLAB
09 8 8 Perl for (i = 0; i < 4; i++) 보다 쉽고 강력한 기능을 가진 형태로 발전하고 있으며, 지금까지 개
보다 쉽고 강력한 기능을 가진 형태로 발전하고 있으며, 지금까지 개
PL/SQL
9 9 JavaScript 19 19 PL/SQL 로봇이 각종 검진을 측정하고, 홀로그램으로 구현된 의사가 진단한다. 이 의사는 내게 고혈압이라고 진단하
JavaScript

10 핵심 Delphi/Object Pascal 20 20 Groovy 발된 프로그래밍 언어는 그 수를 헤아릴 수 없을 만큼 많다.
{
프로그래밍 언어를 특징에 따라 용도에 맞게 선택하여 사용할 수 있을까?
10 Delphi/Object Pascal
발된 프로그래밍 언어는 그 수를 헤아릴 수 없을 만큼 많다.
10
Groovy
스스로 면서 고혈압 주의 사항을 스마트폰으로 전송했다며 약을 처방해 주고 한 달마다 병원에 오라고 지시했다.
스스로
미션 질문 [출처: TIOBE (http://www.tiobe.com)] 해결하기 사용자 정의 함수를 이용하여, cm를 inch로 변환하는 프로그램을 작성해 보자. 본문 안에서 해결하도록 하였습니다.
해결하기
해결하기
result[i] = distance[i] / light;
6
11
스스로
그렇다면 산업 현장에서 많이 사용되는 프로그래밍 언어의 특징에
프로그램 스스로
[출처: TIOBE (http://www.tiobe.com)]
실행 결과 
빛의 속도가 300,000km/s일 때 태양으로부터 각 행성까지 빛이 도달하는 시간(분)을 구하는 프로그램을 작성해 보자. 그렇다면 산업 현장에서 많이 사용되는 프로그래밍 언어의 특징에 [출처: <조선일보>, 「2040년 병원 오디세이」 2016.03.19.]
12
사용자 정의 함수를 이용하여, cm를 inch로 변환하는 프로그램을 작성해 보자.
01 해결하기
printf("%s : %.0f\n" , planet[i], result[i]/60);
해결하기
대해 조사해 보자.
프로그램 실행 결과 대해 조사해 보자. 02 #include cm값 입력: 10
01 13 } mercury : 3 03 int main(void){ 본문과 관련된 내용 중 알아
10.000000cm는 3.937010inch
4
double cmtoinch(double cmv);
읽을거리
#include
02 int main( ) vinus : 6 04 05 double cm, inch;
printf("cm값 입력: " );
03 { 14 return 0; earth : 8
scanf("%lf" , &cm) ;
04 char planet[4][10] = {"mercury", "vinus", "earth", "mars"}; mars : 13 06 07 프로그램 실행 결과 
1. 프로그래밍 언어의 종류와 특징 13
12 0612 15 int distance[4] = {58000000, 108000000, 150000000, 228000000}; 08 inch = cmtoinch(cm); 두면 좋을 내용을 소개하였습니다.
Ⅰ . 프로그래밍의 개요
05
}
Ⅰ . 프로그래밍의 개요
printf("%lfcm는 %lfinch " , cm, inch);
double result[4] = { 0.0 };
07 int light = 300000; 09 10 } return 0;
08 int i;
double cmtoinch(double cmv) {
09 for (i = 0; i < 4; i++) 11 01
12 double result;#include
10 { 13 result = cmv * 0.393701; cm값 입력: 10
11 12 result[i] = distance[i] / light; 14 15 02 return result; double cmtoinch(double cmv); 10.000000cm는 3.937010inch
printf("%s : %.0f\n" , planet[i], result[i]/60);
}
미션 이 단원을 학습하면서 해결해 보자. 03 int main(void){ 단원 학습을 보충 또는 심
5

13
더 알아보기
}
14
return 0;

응용하기
15
}
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 12 ★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 13 2017-05-14 오후 2:29:33 2017-05-14 오후 2:29:34
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 12
2017-05-14 오후 2:29:33
04
double cm, inch;

10개의 정수의 평균을 구하는 사용자 정의 함수를 작성하고, 이를 이용하여 평균을 구하는 프로그램을 작성

동적 메모리 할당 malloc 동적 메모리 할당 malloc
5 알아보기 알아보기 프로그램 05 해 보자. printf("cm값 입력: " ); 화할 수 있는 내용을 제시하여 좀 더 깊이 있는

실행 결과
#include
scanf("%lf" , &cm) ;
06
동적 메모리 할당이란 컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 02초창기에 사용한 프로그래밍은 숫자를 나열한 명령 코드를 사용하
순위 프로그래밍 언어
01
순위 프로그래밍 언어
64.900000
할당하는 것을 말한다. C 언어에서는 동적으로 메모리 할당을 하기 위해 malloc 함수를 double average(int score[ ]);
동적 메모리 할당이란 컴퓨터 프로그래밍에서 실행 시간 동안
int main( )
사용한다. 다음의 예제를 통해 동적 메모리 할당이 어떻게 쓰여지는지 확인해 보자. 03 { 07 사용할 메모리 공간을 학습을 할 수 있게 하였습니다.
inch = cmtoinch(cm);
1 Java 11 Ruby 04 05 double result;
int numbers[10] = {87, 92, 95, 91, 16, 23, 45, 67, 98, 35}; 하드웨어에 대한 전문적인 지식이 필요하고
08
printf("%lfcm는 %lfinch " , cm, inch);

12에서는 동적으로 메모리 할당을 하기 위해 malloc 함수를
2
C
프로그램 할당하는 것을 말한다. C 언어 실행 결과  Visual Basic 06 였는데, 이러한 기계어는
result = average(numbers);

07
return 0;
01 #include 배열의 원소를 몇 개 만들까요? 7  08 09 printf("%lf", result); return 0; 평균을 구하는 함수
3
C++
02 #include C 언어에서 동적 메모리 등을 관리하는 13 1 2 3 4 5 6 7 Assembly language 09 10 숫자로만 나열되어 코딩을 할 때 틀리기 쉽고 오류 발견도 어려워 매

03 사용한다. 다음의 예제를 통해 동적 메모리 할당이 어떻게 쓰여지는지 확인해 보자. 6
스스로 해결하기&함께 해결하기
함수들을 포함하고 있음.
}
10
}
int main( )
04 { 4 C# 14 Objective-C 11 double average(int score[ ]) { 학습 내
05 12 int countSubject;
int sizeOfArray=0, *myArray, i, count = 0;
06 printf("배열의 원소를 몇 개 만들까요?"); 13 11 double result = 0; double cmtoinch(double cmv) {
5

for(countSubject = 0;countSubject<10; countSubject++)
07 scanf("%d", &sizeOfArray); Python 15 D 14 우 사용하기 불편하였다. 이러한 단점을 보완하여 사람이 사용하는
08 myArray = (int *)malloc(sizeof(int)*sizeOfArray); 15 result = result + score[countSubject];
PHP
6
09 for (i = 0; i < sizeOfArray; i++) printf("%d ", myArray[i]); 16 Swift 16 12 return result/10; double result; 용을 제대로 학습했는지 확인하는 문
for (i = 0; i < sizeOfArray; i++) myArray[i] = ++count;
10 17 }

result = cmv * 0.393701;

13
11 return 0; 자연어에 가까운 프로그래밍 언어가 개발되었다. 프로그래밍 언어는
7
12 } 프로그램 Visual Basic.NET 17 R 실행 결과 
제로 스스로 해결하기와 함께 해결하
14

return result;
122 Ⅱ. C 프로그래밍의 기초 8 Perl 18 MATLAB 보다 쉽고 강력한 기능을 가진 형태로 발전하고 있으며, 지금까지 개
6. 함수 139
JavaScript
01 9 #include 19 PL/SQL 15 } 배열의 원소를 몇 개 만들까요? 7 
Delphi/Object Pascal
발된 프로그래밍 언어는 그 수를 헤아릴 수 없을 만큼 많다.
10
02
#include
2017-05-14 오후 2:32:03
2017-05-14 오후 2:31:03 ★2차심사본용★2016프로그래밍-본문2-6~9(126-185)-c2교.indd 139
★2차심사본용★2016프로그래밍-본문2-1~5(60-125)-c2교.indd 122 20 Groovy C 언어에서 동적 메모리 등을 관리하는 1 2 3 4 5 6 7 기로 나누어 제시하였습니다.
03 int main( ) 함수들을 포함하고 있음.
[출처: TIOBE (http://www.tiobe.com)]
응용하기
그렇다면 산업 현장에서 많이 사용되는 프로그래밍 언어의 특징에
04 { 10개의 정수의 평균을 구하는 사용자 정의 함수를 작성하고, 이를 이용하여 평균을 구하는 프로그램을 작성
대해 조사해 보자.
05 int sizeOfArray=0, *myArray, i, count = 0;
06 printf("배열의 원소를 몇 개 만들까요?"); 해 보자.
07 scanf("%d", &sizeOfArray);
08 프로그램 실행 결과
myArray = (int *)malloc(sizeof(int)*sizeOfArray);

12 Ⅰ . 프로그래밍의 개요
09 for (i = 0; i < sizeOfArray; i++) myArray[i] = ++count;
#include
01
10 for (i = 0; i < sizeOfArray; i++) printf("%d ", myArray[i]); 64.900000
02
double average(int score[ ]);
11 return 0; 03 int main( )
12 }
(책)2015프로그래밍-교과서3차심의본 본문.indb 4 04 { 2017-09-05 오후 4:15:27
05 double result;
★2차심사본용★2016프로그래밍-본문1(1-59)-c2교.indd 12 2017-05-14 오후 2:29:33
06 int numbers[10] = {87, 92, 95, 91, 16, 23, 45, 67, 98, 35};
07 result = average(numbers);
122 Ⅱ. C 프로그래밍의 기초 평균을 구하는 함수
08 printf("%lf", result);
09 return 0;
10 }
11 double average(int score[ ]) {
★2차심사본용★2016프로그래밍-본문2-1~5(60-125)-c2교.indd 122 12 int countSubject; 2017-05-14 오후 2:31:03
13 double result = 0;
14 for(countSubject = 0;countSubject<10; countSubject++)
15 result = result + score[countSubject];
16 return result/10;
17 }
6. 함수 139
★2차심사본용★2016프로그래밍-본문2-6~9(126-185)-c2교.indd 139 2017-05-14 오후 2:32:03
   1   2   3   4   5   6   7   8   9   10   11