반응형

week 3

계산 과정 바라보기 - 나누어 풀기

 

○문제를 작은 문제 여러 개로 나누어 생각하기

 - 작은 문제는 각기 풀 수 있어야 함

 - 계산 자료를 넘겨주는 것 외에는 연관성이 없어야 함

 

계산 과정 바라보기 - 쪼개 풀어 합치기

계산 과정 바라보기 - 눈앞 찾기

 - 계산 자료 전체를 분석하기 어려울 때 쓸 수 있음

 - 각 단계에서 취할 수 있는 가장 쉬운 선택만 쫓아감

 

계산 과정 바라보기 - 의미에 맞게 빠트림 없이

●의미에 맞게

  - 해당 문제 의미에 맞게 처리

  - 그렇지 않으면 의미에 어긋남

 

●빠트림 없이

  - 계산 자료를 모두 처리

  - 빠트리는 경우가 있다면 불완전

 

● ex)'의미에 맞게 빠트림 없이' 확인하는 예 :

  - 문제 해결을 위한 계산 과정 전체를 검토

  - 프로그래밍 언어에서 기본 연산 설계

  - 나누어 풀기에서 작은 문제를 개별적 검토

  - 소프트웨어 개발시 계산 자료 정의

 

퀴즈

 

계산 자료를 여러개로 쪼갠 뒤 쪼개서 나오는 계싼 자료로부터 작은 답을 구하고 이를 조합하여 원래의 최종 답을 찾아낸다

=> 쪼개 풀어 합치기

 

계산 자료 전체를 분석하기 어려울 때 쓰는 방법으로 각 단계에서 취할 수 있는 가장 쉬운 선택만 쫓아가면서 문제를 푼다

=> 눈앞 찾기

 

 

컴퓨팅 사고 단계

 

● 프로그래밍에도 익숙해야 함

  - 프로그래밍 언어가 생각하는 틀에 영향을 주기 때문

 

프로그래밍 능력 키우기

● 다른 프로그램을 참조하지 않고 스스로 처음부터 끝까지 작성하는 연습이 필요

프로그래밍 = 계산 과정을 글짓기로 설명

 

컴퓨팅 사고력과 프로그래밍 능력의 근간

컴퓨팅 사고력 + 프로그래밍 능력

                        ||

            ' 논리적 사고력 '

 

퀴즈

 

컴퓨팅으로 문제 풀기 능력향상 방법은 스스로 작성 하며 연습하는 것이 가장 중요

컴퓨팅의 한계

● "어떤 문제를 컴퓨팅으로 풀 수 있는가?"

  - 계산 시간 고려하지 않고 이론상 답이 나오는지만 따짐

● "시간을 아무리 쏟아도 컴퓨팅으로 풀 수 없는 문제가 있는가?"

 

- 계산이란 무엇인가?

-계산으로 풀 수 없는 문제가 있는가?

 

계산이란 무엇인가?

- 앨런 튜링의 계산

튜링기계 => 만능기계(오늘날의 컴퓨터)

-알론조 처치의 계산

람다계산법=> 언어(C언어, 파이썬과 같은프로그래밍 언어)

튜링기계, 람다 계산법의 계산은 결국 '컴퓨팅'

 

계산으로 풀 수 없는 문제가 있는가?

● 이론적으로 무수히 많음

● 실제 예 :

 - 프로그램을 입력으로 받아서 실행이 끝나는지 판별하라

 - 프로그램 두 개를 입력으로 받아서 동등한 프로그램인지, 즉 같은 조건에서 항상 실행 결과가 같은지 판별하라

 

퀴즈

컴퓨팅에서 계산으로 풀 수 없는 문제는 존재한다.

반응형

+ Recent posts