Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Trivia

1장.컴퓨팅 사고로 문제 해결하기 본문

프로그래밍기초

1장.컴퓨팅 사고로 문제 해결하기

Vloom 2019. 3. 21. 16:31

1.1 프로그래밍과 도구


▶컴퓨터(Computer) = 하드웨어(Hardware) + 소프트웨어(Software)


하드웨어: 컴퓨터의 물리적인 부분 (ex. 모니터, 프린터, 마우스, CPU, 메모리 등)

소프트웨어: 특정한 목적을 위해 만들어진 모든 프로그램 (ex. 마이크로소프트 윈도우, 아래 한글 등)


         게임 소프트웨어    ⇒    게임기

하드웨어   +     워드 프로세서           문서 편집기

   음악 플레이어              오디오


▶소프트웨어(software): 사람이 하는 어렵고 힘든 작업을 컴퓨터가 대신 수행하도록 해주어 

      우리의 생활을 좀 더 편리하고 이롭게 해주는 도구 

      (ex. 게임기, 문서 편집기, 오디오)


▶소프트웨어의 구성: 시스템 소프트웨어와 응용 소프트웨어로 구성


시스템 소프트웨어

컴퓨터의 시스템을 운영하기 위한 모든 소프트웨어를 통칭

 하드웨어를 관리하고 응용 소프트웨어를 지원하는 소프트웨어

 ex) 마이크로소프트의 윈도우즈(windows), 매킨토시의 iOS와 같은 운영체제


응용 소프트웨어

특정 작업을 위해 개발된 소프트웨어

ex) 인터넷 익스플로러, 마이크로소프트 워드, 구글 스프레드시트


1.2 컴퓨팅 사고


컴퓨팅 사고(Computational Thinking)


컴퓨터 과학의 이론, 기술, 도구를 활용하여 현실의 복잡하고 어려운 문제를 해결하는 사고방식

컴퓨터와 소프트웨어라는 도구를 활용해 문제를 해결하는 방식


▶컴퓨터를 활용한 문제 해결의 장점


계산이 매우 빠르고 정확함

엄청난 양의 데이터 저장이 가능함

네트워크를 통해 빠르게 정보를 주고받을 수 있음


1.3 문제 해결하기


문제해결 프로세스


문제 파악 및 정의: 해결해야 하는 문제가 무엇인지를 파악하고, 

     파악된 문제를 명확하게 정의하고 모호함없이 문제의 범위 및 본질을 묘사

문제 해결 전략/방법 도출: 문제 해결에 필요한 지식을 수집하여, 해결 전략 방법 도출

문제 해결 행동 수행: 도출된 방법에 따라 해결 활동 수행

결과 검증 및 확인: 정의된 문제가 해결되었는지 점검 (소프트웨어 구현 가능 여부 고려)


▶사실적 지식과 절차적 지식을 통한 문제해결


사실적 지식(Declarative Knowledge)의 예: 피타고라스의 정리, 원의 넓이를 구하는 식 등

절차적 지식(Imperative Knowledge)의 예: 요리법(Recipe), 프로그램 설치 가이드라인 등


알고리즘: 컴퓨터의 능력을 가정하고, 일련의 절차를 이용하여 문제를 해결하는 방법


알고리즘의 구조:


순차 구조: 위에서 아래로 순서에 따라 차례대로 작업 수행

조건 구조: 조건에 따라 수행되는 작업들이 다른 경우

 조건이 맞으면 '참(True)'으로 표시된 방향의 작업 수행

 조건이 틀리면 '거짓(False)'으로 표시된 방향의 작업 수행

반복 구조: 일련의 작업들을 여러 번 반복해야 하는 경우

     특정한 조건을 만족하는 동안 반복


1.4 프로그래밍


프로그램


 절차적 지식인 알고리즘을 컴퓨터에 이해시키기 위해 가공한 형태

 구성한 알고리즘의 내용을 특정 프로그래밍 언어로 작성

 프로그램이 만들어지는 과정: 문제 정의 ⇒ 알고리즘 구상 ⇒ 프로그램


▶프로그래밍 언어: 컴퓨터와 소통하기 위해 사용하는 언어


 기계어: 컴퓨터가 이해하는 언어, 0과 1로만 구성됨

 고급언어: 이애하기 어려운 기계어 대신 사람이 편하게 표현할 수 있는 언어 (ex. 파이썬, C, C++...)

 고급 언어로 프로그래밍 시, 컴퓨터가 이해하기 위한 기계어로 번역해주는 번역기(인터프리터)가 필요


※연습 문제※


Q1. 컴퓨터는 하드웨어와 (        )로 구성된다.


Q2. 컴퓨터과학의 이론, 기술, 도구를 활용하여 현실의 복잡하고 어려운 문제를 해결하는 사고방식을 일컫는 말은 

   (        ) 사고이다.


Q3. 알고리즘은 문제의 해결을 수행하기 위한 (        ) 지식이다.


Q4. 컴퓨터가 이해하는 언어는 (        )라고 하고, 파이썬과 같이 사람이 이해하기 쉬운 언어는 고급언어라고 한다.


Q5. 사람이 이해할 수 있는 고급언어로 프로그래밍을 하면 컴퓨터가 이해할 수 있는 기계어로 변화시킬 컴파일러

   또는 (        )가 필요하다.


------------------------------------------------------------------------------------------------------------


A1. 소프트웨어


A2. 컴퓨팅


A3. 절차적


A4. 기계어


A5. 번역기(인터프리터)


'프로그래밍기초' 카테고리의 다른 글

2장.기본 작업 수행  (0) 2019.04.04