Post

문제 해결과 프로그래밍

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.