이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
기초 튼튼 코드 튼튼 다 함께 프로그래밍
베스트
IT 모바일 top100 6주
가격
22,000
10 19,800
YES포인트?
1,100원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

PART Ⅰ 프로그래밍으로의 초대
CHAPTER 01 컴퓨터와 친하게 지내자 2
1.1 컴퓨터가 있는 생활 2
1.2 프로그래밍이란 무엇인가? 7
1.3 마음의 준비 12

CHAPTER 02 컴퓨터가 동작하는 원리 21
2.1 컴퓨터 완벽 해부 21
2.2 컴퓨터의 작업 방식 28
2.3 프로그램 완벽 해부 36

CHAPTER 03 프로그램을 한국어로 작성하자 44
3.1 프로그램이 만들어지는 과정 44
3.2 줄거리와 시나리오를 작성하기 위한 힌트 56
3.3 청소를 부탁해! 62
3.4 프로그램의 개념을 익히려면? 70

PART Ⅱ 프로그래밍의 기초 지식
CHAPTER 04 ‘1 + 1’ 프로그램 72
4.1 값을 넣는 상자 ― 변수 73
4.2 상자의 크기 ― 데이터 타입 77
4.3 상자 사용법 ― 초기화 86
4.4 상자에 값 넣기 ― 대입/대입 연산자 87
4.5 Q&A 90

CHAPTER 05 계산 실패의 정체 92
5.1 계산에 사용하는 기호 ― 산술 연산/산술 연산자 92
5.2 티끌모아 태산 ― 계산 오차 94
5.3 식을 작성하는 방법에 따라 답이 변한다 ― 우선순위 96
5.4 원인은 보관 용기에 있다? ― 데이터 타입 101
5.5 답을 알 수 없는 나눗셈 ― 0으로 나누기 104
5.6 Q&A 105

CHAPTER 06 프로그램의 흐름을 만들기 108
6.1 흐름의 방식은 세 종류 ― 제어 구조 108
6.2 ‘만약’인 경우의 프로그램 ― 조건 판단 구조 114
6.3 동일한 것의 반복 ― 반복 구조 122
6.4 흐름을 바꾸는 계기 ― 비교 연산/비교 연산자 132
6.5 함께 비교하기 ― 논리 연산/논리 연산자 137
6.6 Q&A 142

CHAPTER 07 데이터의 보관 용기 145
7.1 같은 종류의 상자를 나열해서 사용 ― 배열 145
7.2 상자를 가로와 세로로 나열하여 사용하기 ― 2차원 배열 155
7.3 관련 정보를 모아서 취급하기 ― 구조체/레코드 164
7.4 메모리의 번지를 이용하기 ― 포인터/주소 169
7.5 값에 이름을 붙여서 사용하기 ― 상수 177
7.6 중요한 데이터를 넣는 장소 ― 파일 180
7.7 Q&A 184

CHAPTER 08 프로그램을 부품화하기 186
8.1 부품이 된 프로그램 ― 함수 186
8.2 정보 전달 ― 인수 197
8.3 결과 수령 ― 반환값/리턴값 204
8.4 정보를 공유하는 방법 ― 지역 변수/전역 변수 206
8.5 Q&A 209

PART Ⅲ 다음 단계로
CHAPTER 09 무엇을 만들지 생각해보자 212
9.1 콘솔 애플리케이션과 윈도우 애플리케이션 212
9.2 프로그램이 움직이는 계기 214
9.3 프로그램을 만드는 방법 218
9.4 웹 프로그램 221

CHAPTER 10 도구를 준비하자 232
10.1 프로그래밍 언어의 종류 232
10.2 여러 가지 프로그래밍 언어 236
10.3 C 프로그래밍에 필요한 도구 249
10.4 객체 지향 프로그래밍 253

CHAPTER 11 한 발 앞으로 나아가자 262
11.1 프로그램이 생각대로 동작하지 않을 때 262
11.2 프로그래머의 마음가짐 267

찾아보기 272

저자 소개

저자 : 타니지리 카오리
도지사 대학 문학부를 졸업하였고, 전기 회사에서 일하다 퇴직 후 에는 프로그래밍, 데이터베이스 관련 서적을 집필했다. 현재는 모바일 앱 개발도 병행하고 있으며, 사진 촬영, 빵이나 과자 만들기가 취미다.
감수 : 타니지리 토요히사
교토 부립 대학 농학부를 졸업하였고, 오랜 기간 2D 및 입체 이미지 처리 프로그램 개발에 종사하고 있다. 테니스, 사진 촬영이 취미다.
역자 : 정인식
숭실대학교에서 전자계산학을 전공하였다. 사회 초년생 시절 자바에 심취해 현대정보기술에서 웹 애플리케이션을 개발하였고, 그 후 이동통신 단말기 분야로 전직하여 휴대전화 단말기의 부가서비스 개발 업무를 담당하였다. 일본 키스코(주) 모바일사업부 팀장을 역임하면서 일본 교세라의 북미향 휴대전화기 개발에 참여하였고, 현재 일본에서 가나안 솔루션즈의 공동 창업자이자 시스템 엔지니어로 일하고 있다. 옮긴 책으로는 《유니티 5로 만드는 3D/2D 스마트폰 게임 개발》, 《하스켈로 배우는 함수형 프로그래밍》, 《네트워크 이해 및 설계 가이드》, 《데이터 과학자, 무엇을 배울 것인가》, 《기초를 다지는 최신 웹 개발 공략서》, 《자바스크립트 라이브러리 실전 활용(엄선 111)》, 《모바게를 지탱하는 기술》, 《데이터베이스를 지탱하는 기술》, 《머리에 쏙쏙 들어오는 jQuery 입문》, 《자바스크립트 마스터북》, 《좋은 코드를 작성하는 기술》 등이 있다.

품목정보

발행일
2016년 05월 12일
쪽수, 무게, 크기
296쪽 | 499g | 170*225*14mm
ISBN13
9791185890494

예스24 리뷰

왜 프로그래밍을 학습해야 하는가?
김상근 (dk1022@yes24.com)
2016.05.25.
그야말로 코딩교육 열풍이다.

정부가 2018년부터 초중고 교과과정에 소프트웨어교육을 의무화 한다는 발표 이후, 강남의 학원가에서 코딩교육을 받으려는 초등학생들로 문전성시를 이루고 있고, 한달 수강료가 200만원에 달하는 '코딩유치원'이 문을 여는 등 코딩 선행학습 열풍과 관련된 뉴스가 심심치 않게 들린다.

또한 교육부의 프라임 사업 시행 등을 통해 정보통신기술, 소프트웨어, 빅데이터 등 공학계열 학과를 신설하고 학과 정원을 늘리는 등 프로그래밍 관련 학과가 미래 유망산업으로 점차 인식되는 모양새이다.

그런데 정작 왜 프로그래밍을 배워야 하는지, 프로그래밍을 배우고자 하는 목표는 무엇지에 대한 고민은 과연 얼마나 많은 사람들이 하고 있는지 궁금하다. 정부의 정책에 의해, 또는 사회 분위기에 편승해 맹목적으로 배워보고 접해보고자 하는 사람들이 대다수가 아닐까 싶다.

이 책은 서두에도 나와 있듯이 단순히 프로그래밍 언어의 기초를 알려주는 해설서가 아니다. 인식하지 못하는 순간에도 일상 생활 속에 늘 '컴퓨터'를 사용하고 있었다는 점, 프로그래밍에 대한 개념, 프로그래밍을 배울 때 가져야 할 마음가짐 등 이전 입문서에서는 찾아보기 힘들었던 부분부터 다루고 있다.
마치 천천히 가도 좋으니 옳은 길로 가라고 일러주듯 프로그래밍을 처음 시작하려는 사람들이 가장 쉽고 명쾌하게 배울 수 있는 입문서가 아닌가 싶다.

왜 프로그래밍을 배워야 하는지, 프로그래밍을 하는 목표는 무엇인지 진지하게 고민해보고, 천천히 이 책을 읽어보면 좋겠다. 그래서 이 책을 통해 더 어려운 프로그래밍을 배워나갈 수 있는 양질의 토대를 만들었으면 한다.

책 속으로

컴퓨터는 사용 목적이나 처리 능력에 따라 여러 가지 종류로 나눌 수 있다. 우선, 가전 제품이나 자동 판매기에 포함되어 있는 보이지 않는 컴퓨터의 경우, 마이크로 프로세서나 마이크로 컴퓨터(MCU)라는 아주 작은 부품으로 정해진 일만을 하도록 프로그램된 컴퓨터다. 예를 들어 냉장고에 내장된 마이크로 컴퓨터는 본체 내부의 온도를 지속적으로 모니터링하여 일정한 온도를 유지하도록 프로그램되어 있으며, 전기밥솥에 내장된 마이크로 컴퓨터는 쌀과 물 양에 따라 밥솥 내의 온도와 압력을 제어하여 맛있는 밥을 지을 수 있도록 프로그램되어 있다. 그러므로 일반적인 컴퓨터와 같이 여러 가지 일을 해낼 수 있는 것은 아니다. _8p

컴퓨터를 사용하여 어떤 작업을 하려면 이를 위한 프로그램이 필요하다. 예를 들어, 컴퓨터를 워드프로세서로 사용하려면 워드프로세서용 프로그램이 필요하고, DVD를 보려면 영상 재생용 프로그램이 필요하다. 대부분의 컴퓨터는 구입한 그날부터 사용할 수 있도록 다양한 프로그램이 포함되어 있다. 하지만 그 이외의 작업, 예를 들어 프로그램을 쾌적하게 개발하기 위한 환경이 필요하면, 그를 위한 프로그램을 컴퓨터에 직접 설치해야 한다. 이 작업을 설치(Install)라고 부른다. _27p

수많은 작은 상자가 일렬로 늘어선 상태를 상상해보자. 각 상자에는 위치를 나타내기 위한 번지가 부여되어 있다(그림 4-2). 컴퓨터가 뭔가 작업을 할 때 사용하는 메모리는 대체로 이런 모습을 하고 있으며, 그 상자에 어떤 값을 넣을 것인지, 그 값을 어떻게 이용할 것인지를 지시하는 것은 프로그램을 작성하는 우리의 일이다. 예를 들
어 다음과 같이 명령하면, 컴퓨터는 철수와 영희가 가지고 있는 사탕의 수를 제대로 계산해준다. _73p

‘만약 내일의 날씨가 맑다면 소풍을 나가고, 비가 온다면 집에서 느긋이 보낸다’와 같이 일상생활에서도 ‘만약’이라는 말은 자주 이용한다. 마찬가지로 ‘만약 입력된 패스워드가 맞다면, 인터넷에 연결한다. 맞지 않다면, 패스워드의 재입력을 촉구한다’ 등, 컴퓨터에서도 그때의 상황에 따라 다른 처리를 시키고 싶은 경우가 있다. 이렇게 처리의 흐름을 분기하는 구조를 조건 판단 구조라고 부른다. _114p

변수에 들어가는 데이터는 하나뿐이다. 배열도 한 종류의 데이터만 넣을 수 있다. 하지만 구조체에는 여러 종류의 데이터를 넣을 수 있다. 구조체를 어떤 멤버로 구성할지, 그리고 그 멤버에는 어떤 종류의 데이터를 넣을지는 프로그램을 만드는 사람이 자유롭게 결정할 수 있다. 그 때문에 구조체를 사용자 정의형이라고 부르는 프로그래밍 언어도 있다. _168p

우리가 무심코 보고 있는 웹 페이지는 크게 두 가지로 나눌 수 있다. 하나는 정적인 웹 페이지로, 클라이언트에서 URL을 받았을 때, 웹 서버에 등록되어 있는 내용을 그대로 반환하는 타입이다(그림 9-9). 미리 정해진 내용을 반환하는 것뿐이므로 통신에 걸리는 부하는 줄일 수 있지만, 예를 들어 쇼핑 사이트와 같이 사용자가 입력한 단어에 해당하는 제품 목록을 보거나 장바구니의 내용을 업데이트할 수는 없다.

---p.223

리뷰/한줄평16

리뷰

8.0 리뷰 총점

한줄평

9.2 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정