컴퓨터에서 실행될 때 특정 작업(specific task)을 수행하는 일련의 명령어들의 모음을 말한다.
사람을 위해 일하기 위한 목적으로 만들어진 것이다.
컴퓨터에게 원하는 일을 시키려면 컴퓨터 언어를 알아야 한다.
프로그램을 실행한다. 그리고 다음에 무엇을 해야하는지 끊임없이 질문한다.
매우 빠르다.
그런데? 똑똑하지는 않다. -> 컴퓨터의 뇌는 아니다. 그냥 처리능력이 빠를 뿐
사람에 의해 정보를 입력 받는 기기이다.
처리된 정보의 결과를 보여주는 기계이다.
적은 양의 정보를 저장하는 장치
속도는 매우 빠르지만 컴퓨터를 종료하면 메모리가 사라지는 휘발성 메모리
단순하게 보면 작고 빠르고 일시적 저장소 - 재부팅하면 지워진다.
지우지 않는 이상 정보를 계속해서 가지고 있다.
메인메모리와 다르게 휘발성은 아니다. 느리고 큰 영구적 저장소 -> 지워질 때까지 보존된다.
그래서 컴퓨터와 소통하기 위해서는 이언어를 알아야 한다.
하지만 기계가 수많은 나라의 언어를 배우기 힘들기 때문에
프로그래밍언어가 생겼고 사람이 쓰기 편한 프로그래밍 언어로 코드를 작성하는것이 효율적이다.
인간이 이해 할수 있는 프로그래밍언어는 정말 많다.
그중 대표적인 언어로 C, Java, Python, Swift, Python 등등이 있다.
프로그래밍을 하면서 여러가지 에러를 보게 될것이다.
에러 같은 경우는 프로그래밍 실력보다는
컴퓨터가 언어의 해당 코드 블록을 이해하지 못하였고 자세한 설명을 해달라는 hlep 같은것이다.
그렇기 때문에 에러가 발생했다고 겁먹지 말고 차근차근 에러를 읽어 보는것을 추천한다.
커맨드라인에서 코드를 한줄씩 실행하는 방법은 상호대화식(Interactive) 이라고 한다.
상호 대화식은 즉각적인 결과를 확인하는데 유리하며 코드가 길어질 경우에는 스크립트 방식이 효과적이다.
메모리에 사람이 이해할 수 있는 변수명으로 원하는 데이터를 넣을 수 있는 공간을 말한다.
x = 10
print(x) # 10이 출력
y = 14
x = 20
print(x) # 20이 출력
=
은 할당자이며 그 뒤에 위치한 숫자는 변수에 넣을수 있는 값이다.
대입문은 오른쪽 표현의 결과를 왼쪽의 변수에 저장하는 것이다.
파이썬에서 약속되어진 단어로만 사용이 가능하다.
그래서 변수의 이름이나 식별자로 사용할 수 없다.
코드가 첫줄 부터 차례대로 실행되는 경우
어떤 조건이 참일 경우 실행
예약어 if를 이용하여 참인 경우 들여쓰기가 되어 있는 코드 부분이 실행
x = 5
if x < 10:
print('Smaller') # Smaller가 출력
if x > 20:
print('Bigger')
print('Finis') # Finis가 출력
주어진 조건(n>0)이 참인 경우에는 들여쓰기 되어 있는 부분이 계속 실행,
그렇지 않은 경우 실행을 종료된다.
n = 5
while n > 0:
print(n) # 5,4,3,2,1을 출력
n = n - 1
print('Blastoff!') # Blastoff를 출력
컴퓨터의 작동 방식과 언어를 학습 도구를 사용해 새로운 도구를 만든다.
프로그램을 작성할때 각 모듈이 작동하는 논리를 표현하기 위한 언어이다.
특정 프로그래밍 언어가 아닌 일반적인 언어를 흉내내어 만든 코드로 컴퓨터가 인지할 수 없는 가짜코드이다.
주로 알고리즘 모델링을 할때 주고 사용한다.
기준은 없으며 자연스럽게 자신의 생각을 모국어로 표현하면 된다.
그러면서 짜고자 하는 언어의 형식에 맞게 하다보면 감이온다.
의사코드는 형식이 자유롭지만 그래도 나름대로의 원칙은 세워두고 일관성 있게 코드를 작성하는것이 좋다.
그래도 막막하고 어떻게 해야하는지 모르겠다면
그냥 단순하게 단어 혹은 키워드 -> 문장 -> 스토리
x를 2에서 9까지 반복 :
프린트(x)
y를 1에서 9까지 반복:
프린트(x * y = 결과)
반복 끝
반복 끝
부스트코스 - 모두를 위한 프로그래밍( 파이썬 ) : https://www.edwith.org/pythonforeverybody/
위키백과( 의사코드 ) : https://ko.wikipedia.org/wiki/%EC%9D%98%EC%82%AC%EC%BD%94%EB%93%9C
위키백과( 컴퓨터 프로그래밍 ) : https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8