문제 해결과 프로그래밍
1. 추상화
추상화 : 이해하기 쉽게 단순화하는 모든 작업.
1-1 문제 분석
현재 상태 : 문제가 해결되지 않은 상태
목표 상태 : 문제가 해결된 상태
문제를 서로 다르게 인식하는 이유는?
고려해야 할 조건을 서로 다르게 판단했기 때문.
문제는 현재 상태와 조건 등을 고려하여 정확하고 간결하게 정의하는 것이 중요.
1-2 문제 분해
문제 분해 : 복잡한 문제를 여러 개의 작은 단위의 문제로 쪼개는 것
1-3 모델링
모델링 : 문제의 현재 상태와 목표 상태를 파악하고, 자료를 수집하는 과정에서 발견된 패턴들을 시각화하는 것
모델링은 문제를 쉽게 해결하기 위해 문제 내부에 포함된 구성 요소 간의 관계를 단순하게 표현하고 구조화하는 것이라고 할 수 있다.
2. 알고리즘
알고리즘 : 문제를 해결하기 위한 논리적인 절차나 방법
- 순차 구조, 선택 구조, 반복 구조 이해하기
- 순서도에 사용되는 기호 암기
3. 프로그래밍
저급 언어 : 기계 중심의 언어로, 실행 속도가 빠르다. (예 : 기계어, 어셈블리어)
고급 언어 : 인간 중심의 언어로, 저급 언어에 비해 실행 속도는 느리지만, 프로그램 작성과 수정에 용이하며 다양한 프로그램 개발에 적합하다. (예 : C언어, Java, Python)
언어 번역 프로그램
컴파일러 : 고급 언어로 작성된 원시 코드를 기계어로 한꺼번에 번역한다. (컴파일러를 사용하는 언어 : C, C++ 등)
인터프리터 : 고급 언어로 작성된 원시 코드를 한 줄씩 번역하며 실행한다. (인터프리터를 사용하는 언어 : Python, JavaScript 등)
This post is licensed under CC BY 4.0 by the author.