License
License: Creative Commons BY-NC-SA
2회차
1. Contents
x=3*5, y=15, x=z
기계의 어딘가에 가능한 모든 값을 포함하는 큰 공간이 있다고 가정한다.
이후 x=3*5, y=15, x=z가 있을 때 다음과 같다.
1. x로부터 15에 해당하는 값(모든 값을 포함하는 큰 공간에 있는)으로 링크나 포인터가 만들어진다.
2. y 또한 x와 같은 값으로 링크나 포인터를 갖는다.
3. x=z라고 할 때 링크인 x의 값을 가져와서 z에게 같은 곳에 포인터를 주는 것이다.
(이때 값에게 포인터를 주는 것이지 x에게 주는 것이 아니다.)
좋은 프로그래밍 스타일
1. 주석으로 코드 안에 무엇이 있는지 이해하기 쉽도록 도와주는 것들을 집어넣는 것.
2. 말이 되는(이해 되는) 변수 이름을 사용하라.
루프의 규칙
1. 테스트는 어떤 루프하는 변하는 값을 포함한다. (아니면 무한루프)
2. 그 변수는 루프의 밖에서 초기화 되어야 한다.
3. 그리고 루트 내부에서 값이 바뀌어야 한다.
2. Q&A
Q. 어떻게 하면 좋은 코드를 작성할 수 있는가?
A. 클린코딩을 습관화 한다.
3. Quiz
Get 1000th Prime number
number = 1 ## 구할 숫자 초기화
division = 1 ## 나눌 숫자 초기화
modulerCount = 0 ## 나누어 떨어지는 수의 갯수를 셀 카운트
metaCount = 0 ## 나누어 덜어지는 숫자의 숫자를 셀 카운트
for number in range(2,10000):
for division in range(2,10000):
if (number%division == 0):
modulerCount = modulerCount + 1
if (modulerCount == 1):
print(number)
metaCount += 1
if (metaCount == 1000):
print("1000th prime Number is")
print(number)
break
modulerCount = 0
1000번째 소수를 구하긴 했지만 길이와 연산의 효율 그리고 for문의 이용으로 인해 구하는 소수의 범위가 제한되는 등 여러방면에서 좋지 않은 코드처럼 보인다.
프로그래밍에 조금 더 익숙해진 후 리팩토링을 해보아야겠다.
'Computer science > Etc' 카테고리의 다른 글
MIT 6.00 4회차 강의후기 (0) | 2022.04.11 |
---|---|
MIT 6.00 3회차 강의후기 (0) | 2022.04.11 |
MIT 6.00 1회차 강의후기 (0) | 2022.04.11 |
생활코딩 Web2 - CSS (0) | 2022.04.11 |
생활코딩 Web1 - HTML & Internet (0) | 2022.04.08 |