-
Pseudocode | Harvard CS 50 Week 0Computer Science/CS 50 Harvard 2021. 10. 30. 15:11
Pseudocode
지난 내용에서 말했던 전화번호부에서 찾고자 하는 사람의 이름을 찾을 때의 알고리즘을, 정렬해본다면 어떨까? 영어나 한글같이 우리가 사용하는 언어를 이용해서 알고리즘을 나타내는것을 Pseudocode라고 하는데, 아래처럼 써볼 수 있다.
1 Pick up phone book // 전화번호부를 집고 2 Open to middle of phone book // 반절로 나눠서 3 Look at page // 페이지를 쳐다보고 4 If person is on page // 그사람이름이 페이지에 있다면 5 Call person // 그사람에게 전화한다 6 Else if person is earlier in book // 만약 그 사람의 이름이 이지점보다 전에있다면 7 Open to middle of left half of book // 왼쪽부분에서 중간지점으로 간다 8 Go back to line 3 // 3번라인으로 다시 돌아간다 9 Else if person is later in book // 만약 그사람의 이름이 이지점보다 이후에 있다면 10 Open to middle of right half of book // 오른쪽 부분의 반절지점으로 간다 11 Go back to line 3 // 3번라인으로 돌아간다 12 Else // 만약 못찾았다면 13 Quit // 그만둔다
Functions
여기서 보면, 해야하는 행동들이 있다. 아래를 보자.
1 'Pick up' phone book 2 'Open to' middle of phone book 3 'Look at' page 4 If person is on page 5 'Call' person 6 Else if person is earlier in book 7 'Open to' middle of left half of book 8 Go back to line 3 9 Else if person is later in book 10 'Open to' middle of right half of book 11 Go back to line 3 12 Else 13 'Quit'
이렇게 action또는 verb(동사)로 시작하는 것들은 작게 나누어진 문제를 풀어준다. 이것들을 functions, 즉 함수라고 부른다.
Conditions
그리고 잘 보면, 만약에... 라는 질문들이 여러branch(가지)들로 나뉘어져있는데, 이것들을 conditionals, 조건문이라고 부른다.
1 Pick up phone book 2 Open to middle of phone book 3 Look at page 4 'If' person is on page 5 Call person 6 'Else if' person is earlier in book 7 Open to middle of left half of book 8 Go back to line 3 9 'Else if' person is later in book 10 Open to middle of right half of book 11 Go back to line 3 12 'Else' 13 Quit
Boolean expressions
또한, 조건문에 붙어있는 질문들을 통해서 그다음 행동을 결정하는데, 이것을 Boolean expressions라고 한다. 이것은 결국 1인지 0인지, yes인지 no인지, true인지 false인지의 결과가 나오는 질문이다.
1 Pick up phone book 2 Open to middle of phone book 3 Look at page 4 If 'person is on page' 5 Call person 6 Else 'if person is earlier in book' 7 Open to middle of left half of book 8 Go back to line 3 9 Else 'if person is later in book' 10 Open to middle of right half of book 11 Go back to line 3 12 Else 13 Quit
Loops
마지막으로, 어떤 문장들은 cycle, 즉 순환하는 작업을 만들어내는데, 프로그램에서 어떤 동작을 반복적으로 갈 수 있게 하는것이다. 우리는 이것을 loops라고 부른다.
1 Pick up phone book 2 Open to middle of phone book 3 Look at page 4 If person is on page 5 Call person 6 Else if person is earlier in book 7 Open to middle of left half of book 8 'Go back to line 3' 9 Else if person is later in book 10 Open to middle of right half of book 11 'Go back to line 3' 12 Else 13 Quit
위에 소개된것 이외에도 프로그래밍에는 많은것들이 존재합니다.
Hello World
C언어를 처음 배울때, 아래와 같은 코드로 시작한다.
#include <stdio.h> int main(void) { printf("hello, world\n"); }
위에 쓰여져 있는 코드는 컴퓨터에게 "hello, world"라는 문장을 쓰도록 하는 아주 간단한 프로그램이다. 프로그래밍을 처음 접해본 사람에게는 어떤의미인지 모르겠지만, 이건 C언어로 작성되어 세상에 인사를 하는 프로그램이다. 이안에는 Variable, Functions등 다양한것들이 들어있다. 이것들이 무엇인지 이 수업을 듣는동안 알아간다고 한다.
Reference
'Computer Science > CS 50 Harvard' 카테고리의 다른 글
Abstraction, Condition and More in Scratch | Harvard CS50 Week 0 (0) 2021.10.31 Scratch | Harvard CS50 Week 0 (0) 2021.10.30 Algorithms | Harvard CS 50 Week 0 (0) 2021.10.29 Images, video, sounds | Harvard CS 50 Week 0 (0) 2021.10.28 글자와 이모티콘을 컴퓨터가 어떻게 알고있지? | Harvard CS50 Week 0 Scratch (0) 2021.10.27