WEEK 1
Computational Thinking 컴퓨팅 사고력
현실에서 인간이 직면하는 문제들을 컴퓨터가 자동적으로 처리하게끔 추상화하고, 이 추상화된 데이터를 알고리즘/프로그래밍 언어로 표현하는 자동화 과정을 통해 컴퓨터 공학의 원리로 일상생활의 문제를 해결하는 능력.
9가지 컴퓨팅 사고력 (자료를 패턴화/단순화해서 해결책을 단계화)
자료수집>자료분석>자료분석>문제분해>추상화>알고리즘과 절차>자동화>시뮬레이션(자동화의 결과)>병렬화
의사코드 (Pseudo Code): 문제를 해결하는 절차를 일반적인 언어로 코드를 흉내 내어 알고리즘을 써놓은 코드
순서도 (Flow-chart): 알고리즘의 논리적 절차, 흐름, 처리방법 등을 그림으로 나타낸 것
분할정복 알고리즘 (Divide and conquer)
크고 방대한 문제를 독립적으로 수행시킬 수 있는 작은 단위로 나눠서 그것들을 다시 합쳐서 해결하는 기본 알고리즘
파이썬 실행환경 IDLE (Integrated Development and Learning Environment)
- 파이썬 쉘: 짧고 간단한 예제 코드를 대화형식으로 (코드편집기 모드에서 [F5] 누르면 뜸)
- 편집기모드: 길고 복잡한 예제 코드
WEEK 2
Python 언어란?
Gudi Van Rossum에 의해 1991년 발표. 플랫폼 독립적, 인터프리터 언어로 느림, 객체지향, 동적 타이핑 언어, AI프로그램을 위한 많은 라이브러리 제공, 처음 C언어로 구현됨.
문제해결을 위한 일반적인 프로그램 구조 (모듈화: 복잡한 문제를 단위별로 묶어 일반화/자동화시키는 과정)
입력자료 (data) >> 알고리즘 (problem solving) >> 문제해결 출력자료 (data)
* Module: 큰 문제를 기능별 작은 단위로 나눈 것, 독립적으로 수행할 수 있는 하나의 프로그램 단위
(C언어에서는 Module을 함수라고 말한다)
C언어
함수밖 명령+메인함수+함수....+함수 로 구성되어 있다. 절차지향 프로그래밍으로 기능별로 나눠진 독립적인 문제해결과정이 일련의 순서에 따라 처리된다.
- Function (함수=module): 독립적으로 수행할 수 있는 프로그램 단위
- 표준 입출력 함수를 사용하기 위해 <stdio.h> 헤더 파일을 소스코드에 포함시킴. 일반적으로 헤더파일에는 함수의 원형이 포함됨.
입력함수 scanf()
출력함수 printf()
- C언어는 메인함수 main()로 시작되서 main()함수로 끝남
파이썬
여러개의 프로그래밍 스타일을 포괄한다.
- 절차지향 프로그래밍 설계: 함수가 필수. 일련의 명령어를 통해 변수를 바꿔가며 전체적인 프로그래밍을 동작하게 한다. (함수+함수...+함수+시작코드 로 구성되어 있다)
- 객체지향 프로그래밍 설계: 클래스가 필수. 관계있는 데이터와 함수를 하나로 묶어 선언하는 클래스라는 개념 도입. 클래스는 객체를 생성하는 데이터 타입 역할. (클래스+클래스+함수+....+시작코드 로 구성되어 있다.)
- 함수형 프로그래밍 설계 (기존의 함수와는 다른 수학적 모델링을 통해 프로그램의 동작/능률을 높임. 인수 x에 같은 값을 넣고 함수 f를 호출하면 f(x)라는 결과가 나오므로 프로그램의 동작을 이해하기 쉬움. (클래스+함수+고차원함수+...+시작코드로 구성되어 있다)
변수(variable)
사용할 데이터를 저장하는 공간 (값을 저장하는 상자)으로 메모리에 저장된다.
**C언어의 변수는 데이터 타입을 사용해서 변수 선언을 해야한다.
**C언어는 연속해서 쓸 때 ,(콤마)를 쓰고 끝맺을 때 ;(세미콜론)을 쓰지만 파이썬은 연속해서 쓸 때 ;(세미콜론)을 쓴다.
** 파이썬에서 변수는 객체를 담고있는 ID 값을 담고 있는 저장공간이다. >> 동적타이핑이 가능한 이유 (파이썬에서 변수의 데이터 형식은 값을 넣는 순간마다 변경될 수 있는 유연한 구조이다. 변수에는 다른 변수의 값도 저장가능하다.
동적타이핑 (Dynamic typing):
data type 선언을 먼저하는 C언어와 달리 파이썬은 런타임(프로그램이 실행되는 순간)에 구문을 통해 data type을 설정함.
입출력 함수 input(), print() *input함수는 기본적으로 문자열로 인식됨
name = input("이름이 무엇인가요? ")
print("만나서 반갑습니다. " + name + "님 !")
결과>> 이름이 무엇인가요? 포닉스
결과>> 만나서 반갑습니다. 포닉스님!
정수변환함수 int() *정수: integer
x = int(input("첫 번째 정수: ") )
y= int(input(" 두 번째 정수: ") )
sum = x + y
첫 번째 정수: 10
두 번째 정수: 20
합은 30
(변환함수를 쓰지 않으면 1020으로 문자열처럼 합쳐짐)
'살콤아내 자기계발 > 파이썬' 카테고리의 다른 글
점프투파이썬 1주차 정리 (0) | 2021.04.05 |
---|---|
POSTECH Computational Thinking 2 (1-4주차 요약) (0) | 2021.04.04 |
POSTECH Computational Thinking 1 (1-4주차 요약) (0) | 2021.04.03 |
POSTECH Python 프로그래밍 1 (요약 3-4주) (0) | 2021.03.24 |
살콤아내의 공부_파이썬 무료로 공부하기 (위키독스, 조코딩, Edwith, 데이터 사이언스 스쿨, Python Tutor) (0) | 2021.03.19 |