반응형

week 2

 

컴퓨팅 : 컴퓨터가 수행 주체인 계산

 

프로그래밍 언어 (사람의 언어처럼 문법과 의미론이 있음)

 

○ 문법

-어휘를 명시

-단어 배치 규정을 정의

 

○ 의미론

-단어 조합이 연산인지 명령인지 판단

-실행 결과를 설명

 

○ 사람도 결과를 예측할 수 있음

 

정수 1부터 100까지 더해서 화면에 출력하는 계산

 

ex) C 언어

#include <stdio.h>
main() {
      int sum = 0, n=1;
      while (n<=100) {
          sum = sum + n;
          n = n + 1;
          }
          printf("%d\n", sum);
}

 

ex) Python 언어

 

sum = 0
n = 1
while (n<=100):
       sum = sum + n
       n = n + 1
print(sum)

 

프로그래밍 = 글짓기

 

● 프로그램 실행 결과

  - 실행이 성공적으로 끝난다

      - 계산 결과 = 문제답

      - 계산결과 ≠ 문제

 

● 실행이 비정상적으로 끝난다

    - 예 : 0으로 나누는 연산

● 실행이 끝나지 않는

 

프로그램에 있는 오류를 찾아 고치는 작업 = 디버깅

 

프로그래밍언어들은 각기 다른 문법과 의미론을 가진다

 

컴퓨팅 사고

 

계산 주체로서 컴퓨터의 장점

- 계산 대상이 크다

 1기가 바이트 메모리 => 알바벳 1024^3 = 1,073,741,824 글자 기억

 조선왕조실록 10배 이상의 분량

-계산 수행 속도가 빠르다

 1기가 헤르츠 컴퓨터에서 덧셈

  초당 1024^3 =1,073,741,824번 이상 수행

  빛이 1미터 갈 때 1,073,741,824/299,792,458 > 3번 이상 수행

-계산 과정을 반복할 수 있다

-> 똑같은 과정을 반복함으로써 큰분량을 계산 대상을 빠르게 처리

 

ex) 피보나치 수열

○정의

F1 = 1

F2 = 1

Fn = Fn-1 + Fn-2 (n>=2)

 

=> 수학으로 풀기

Fn = 1/✔5 {[(1+ ✔5)/2]^5 - [(1- ✔5)/2]^5}

풀기

 

=>컴퓨팅으로 풀기

F1 F2 F3 F4 F5 F6 F7 F8 F9 ...
1 1 2 3 5 8 13 21 34 ...

 

컴퓨팅 사고(Computational Thinking)

○컴퓨팅으로 문제를 풀고자 할 때 적합한 생각의 틀

   - 기계적 수행 고려

   - 체계적 계산 설계

○프로그래밍보다 우선하는  개념

 

계산 대상 바라보기

○ 알맹이 요약하기 필요

-다음 유도하기 : 작은 것으로부터 더 큰 것을 간단하게 이끌어 내기

-다음 유도하기 조건

○ 작은 것의 꼴 = 큰 것의 꼴

ex)

O
X

reason : 계산 자료가 대개 일정한 규칙에 따라 생성되기 때문

 

-다음 유도하기 이후 문제 풀기

○ 두 가지 경우로 나누어 접근

 1. 최초 경우

 ex) 0

 2. 작은 것으로부터 더 큰 것을 이끌어 내는 경우

 ex) n-1 + 1 = n

 

퀴즈

 

계산 주체로서 컴퓨터의 장점

 

처리할 수 있는 계산 대상이 크다

계산 수행 속도가 빠르다

계산 과정을 반복할 수 있다

 

'직관적인 계산이 가능하다' =>사람의 경우 적용됨

 

컴퓨팅사고

 

기계적 수행을 고려해야함

계산 대상, 계산 자료, 계산 과정을 컴퓨터 눈으로 바라보아야한다

프로그래밍보다 우선하는 개념이다

 

'사람이 계산하는 것과 유사한 생각의 틀을 요구한다'=>사람의 직관적인 계산과는 다름

 

다음유도하기

 

작은 것이 큰 것과 같은 꼴을 가질 때 적용 가능하다

작은 것으로 더 큰 것을 간단하게 이끌어 내는 방법이다

다음 유도하기로 계산자료를 바라보는 이유는 계산 자료가 대개 일정한 규칙에 따라 생성되기 때문이다

문제를 풀 때 최초 경우, 작은 것으로 더 큰 것을 이끌어 내는 경우로 나누어 접근한다

 

'자연수 0부터 n까지 더하는 문제는 n=0일 때와, n=n-1 + 1일 때로 나누어 생각할 수 있다'

반응형

+ Recent posts