这是用户在 2025-4-8 2:19 为 https://app.immersivetranslate.com/html/ 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

Computer Thinking week6.1.1 2025.04.07 Mon AM 10:32 ・ 75Minutes 10seconds ZHANG YIWEN
计算机思维 第 6.1.1 课 2025.04.07 周一 上午 10:32 ・ 75 分钟 10 秒 张一文

Attendees 1 00:00 지난 시간부터 시작을 했는데요. 여러분들 레포트 낸 거 한번 검증지를 지금부터
参与人数 1 00:00 从上一节课开始,我们现在开始检查大家提交的报告

Attendees 1 00:15 어제 봤을 때는 거출한 사람이 한 10명 정도밖에 안 되는 것 같은데 아직은
昨天看的时候,好像只有大约 10 个人缴交

Attendees 1 00:35 저거 레포트 오늘까지 해놨나요? 제가 내일까지 해놨나 그랬을 텐데 그 문제 한번 풀어보시고
那个报告今天完成了吗?我好像说过明天之前要完成,请先尝试解决这个问题

Attendees 1 02:06 아직 반도 안 했네 풀어주시고 제출해 주세요. 이거 우리 오늘은 계속 이어서 알고리즘에 대한 얘기를 좀 합시다. 알고리즘이 지난번에 말씀드린 대로 살짝 살짝 요즘 좀 관심을 조금씩 받고 있어요. 다시도 여러분들은 알고리즘이라는 거를 이제 지금 지금 처음 접하다시피 하니까 예전에 어땠는지 아마 잘 당연히 모르실 텐데 제가 여러분 또래 때 알고리즘이 많이 활성이 됐었습니다. 그 당시에 여러 가지 컴퓨팅 기술이라든가 여러 가지 it 계통이 발전하면서 알고리즘에 대해서 굉장히 많은 관심을 받았고 그러다 보니까 약간의 뭐라 그럴까 약간의 부조리 알고리즘으로 논문 쓴 사람들이 무지하게 많았어요. 쓰기가 참 편했습니다. 글자만 바꾸면 논문이 돼버렸어 갖고 좀 평화에서 얘기하면은 좀 안 좋은 얘기도 많이 나오고 그랬는데 그래서 한때는 알고리즘 가지고 논문을 쓰면 인정을 안 해주다시피 하는 그런 좀 분위기도 있었어요.
参与者 1 02:06 还没有完成一半呢,请解答并提交。今天我们继续讨论算法。正如我之前所说,算法最近已经开始受到一些关注。你们现在可能是第一次接触算法,可能不太了解以前的情况。在我这个年龄段的时候,算法非常活跃。当时,随着各种计算技术和 IT 领域的发展,算法受到了极大的关注。因此,有很多人通过写算法论文变得非常知名。写论文变得非常容易,只需要更换几个词就能写成论文。在学术界,关于算法的讨论也出现了一些不太好的情况,甚至有一段时间,写算法论文几乎得不到认可。

Attendees 1 03:37 하여튼 그 정도로 알고리즘이라는 게 굉장히 다양한 방법으로 해석이 되고 다양한 방법으로 만들어질 수가 있기 때문에 많은 부분에 좀 집중을 하시는 게 좋습니다. 알고리즘을 공부하는데 여러분들이 유명한 사이트들도 있고 유명한 책들도 있고 그래요. 그런 걸 보면은 이제 알고리즘은 어떤 식으로 한다는 거에 대해서 많이들 이제 연습을 하고 하는데 다 좋은데 당연히 그런 걸로 연습을 하고 공부를 하는 건 다 좋은데 그러다 보니까 이게 또 알고리즘이 획일화되면 안 되는 부분인데 획일화가 되고 있어요. 공부하는 게 마치 무슨 알고리즘이 무슨 공식인 것처럼 그렇게 또 학습이 되다 보니까 학습된 알고리즘 같은 그런 느낌. 예 그러니까 작곡을 공부를 하는데 기법에 의해서만 작곡이 돼서 작곡대에서 나오는 곡이라 비슷비슷한 느낌 그런 거죠. 그래서 알고리즘을 바라보는 입장이 좀 많이 창의적인 부분이 많이 좀 부족했어요. 하여튼 뭐 그러다가 이제 알고리즘이 좀 흐지부지됐습니다.
参与者 1 03:37 总之,算法可以通过各种方式解释和创建,所以你们应该更加专注。学习算法有很多著名的网站和书籍。当人们学习和练习算法时,往往会关注具体的实现方式。虽然这些学习和练习都很好,但算法不应该被标准化,然而现在却正在被标准化。学习算法就像学习一种公式,导致了所谓的"学习型算法"。就像学习作曲,只依靠技巧,以至于从音乐学院毕业的作品听起来都很相似。因此,对算法的看法缺乏创造性。最终,算法的发展渐渐变得模糊不清。

Attendees 1 04:52 이 알고리즘에 대해서 이렇게 연구하고 하는 부분이 근데 요즘 다시금 또 얘기가 나오고 있는 것 같아요. 아무래도 AI 때문에 그런 것 같은데 자연어라고 하는 프로그램 기법하고 여러 가지로 이제 또 내용이 이제 복합되면서 알고리즘이라는 그리고 그거하고 더불어서 컴파일러도 요즘 또 얘기가 다시 컴파일러도 한참 씨가 막 대세일 때 컴파일러에 대한 얘기들이 많이 나왔었는데 컴파일러도 요즘 또 얘기가 좀 나오고 있고 막 그렇게 많이 나오는 건 아닌데 그냥 스물스물 예 그래서 그런 쪽도 한 번씩 기회가 되는 대로 한 번씩 들여다보시는 것도 괜찮을 것 같습니다. 우리 지난 시간에 알고리즘 얘기 알고리즘 정의에 대해서 몇 가지 얘기가 있었고요.
与会者 1 04:52 关于这个算法的研究和探讨似乎又重新开始热议了。这可能是由于人工智能的影响,自然语言程序技术等多方面内容正在交叉融合。算法,以及与之相关的编译器,在当时编译器热潮时曾广泛讨论,现在又逐渐重新引起关注。虽然讨论不是非常多,但建议大家有机会时也可以去了解一下。我们上次已经讨论了关于算法定义的一些内容。

Attendees 1 05:44 알고리즘이 여러 가지 정의가 있을 수 있을 텐데 여러 군데에서 정의하는 알고리즘을 보고 우리가 여기서 이 과목에서 다루는 네 가지 분해 추상화 패터니식 알고리즘이라는 이 네 가지 타픽을 가지고 얘기를 하면서 거기하고 연관된 것이 이 타피과 연관된 것이 뭐가 있는지도 한번 살펴보고 있습니다. 그래서 여러 군데에서 알고리즘의 정의에 대해서 쭉 살펴봤는데 공통적으로 얘기하는 부분들이 있죠. 예 그런 부분들을 여러분들은 좀 이렇게 알고리즘의 정의로 일단 생각을 해 주시면 좋을 것 같고 알고리즘도 사실 우리 컴퓨터 분야뿐만 아니라 모든 분야에서 다 통용이 되는 용어니까 굉장히 다양한 의미를 담고 있을 겁니다. 각 분야별로 자기들 분야에서 어떤 의미로 사용하느냐에 따라서 조금씩 다를 텐데 어쨌든 그래도 공통된 의미는 당연히 있어야 되니까요.
与会者 1 05:44 算法可能有多种定义,我们在本课程中将重点关注分解、抽象化、模式化算法这四个主题,并探讨与之相关的内容。我们已经从多个角度查看了算法的定义,发现其中存在一些共同点。希望大家能够理解算法的定义。算法不仅仅是计算机领域的术语,而是在各个领域都通用的概念,因此它承载着非常丰富的含义。不同领域可能会根据自身需求赋予算法不同的意义,但必然存在一些共同的核心内涵。

Attendees 1 06:53 그래서 명확성 정확성 유한성 일반성 효율성 이런 얘기들 우리 교재로 지금 보고 있는 이 책에도 이런 내용 특성에 대해서 얘기를 뒤에 이제 언급을 할 텐데 이런 공통적으로 언급되는 그런 키워드들이 있습니다. 그런 거에 한 번씩 관심을 좀 가지시면 좋을 것 같고요. 그리고 알고리즘의 조건으로 입력 출력 명확성 유연성 유효성 그러니까 저 알고리즘의 조건이 저런 게 있다라고 얘기를 물론 이거 말고도 조건을 따지려면 또 더 있겠지만은 이런 조건들을 얘기를 할 때 저 의미가 뭔지를 여러분들이 알고 계시면 되는 거니까요. 알고리즘에서 유한성이라는 게 무슨 의미인지 유효성이라는 게 무슨 의미를 가지고 하는 얘기인지 그 뜻을 알기를 바래요. 유성이 유한성이라는 단어 자체의 뜻은 알 텐데 알고리즘의 유한성이라는 게 뭐냐는 거죠. 그걸 알기를 바라는 겁니다. 이렇게 알고리즘에 대한 얘기를 지난 시간에 우리 좀 했습니다.
与会者 1 06:53 所以,关于清晰性、准确性、有限性、一般性、效率性,在我们现在正在查看的这本教材中,稍后也会提及这些特性。有一些共同提到的关键词。希望大家能对此稍微关注一下。另外,作为算法的条件,有输入、输出、清晰性、灵活性、有效性,当然除此之外还可能有其他条件。重点是要理解这些条件的含义。希望大家能理解算法中"有限性"是什么意思,"有效性"具有什么样的意义。你们可能知道"有限性"这个词本身的意思,但是算法中的"有限性"是什么呢?这就是我希望大家能了解的。我们上次已经稍微讨论了一些关于算法的内容。

Attendees 1 08:01 그리고 알고리즘에 여기 간단한 덧셈 방식이 여러 가지가 있다는 거 가지고 알고리즘에 다양성에 대한 예시를 잠깐 보여줬는데 사실 저 정도 가지고는 그렇게 와닿지는 않아요. 그렇죠 워낙 간단한 예시다 보니까 네 그렇게 해서 알고리즘의 기본적인 내용을 시작을 했고요. 정의에 대해서 오늘은
与会者 1 08:01 之前我们用简单的加法方式展示了算法的多样性,但事实上这个例子并不太能让人深刻理解。因为这是一个非常简单的示例。就这样开始了算法的基本内容,今天将讨论其定义。

Attendees 1 08:38 여기서부터 한번 보시죠. 알고리즘의 기술에 대해서 모니터 안 나와 켜 전원 전원이 꺼져 있나 보네
与会者 1 08:38 让我们从这里开始看。关于算法的技术,显示器还没有打开,电源似乎已经关闭了

Attendees 1 08:59 화면 떠요. 이제 나를 쳐다보고 있으니까 컴퓨팅 사고의 목적은 우리가 여기서 얘기하는 이제 알고리즘에 관련돼서 얘기를 하면은 알고리즘을 작성하고 컴퓨터를 자동화시키는 것이 목적이 될 겁니다. 이거는 뭐 사실 어떻게 보면은 당연한 얘기예요. 물론 컴퓨팅 사고를 이 알고리즘과 컴퓨터로 인한 자동화 에 좀 한정을 짓기에는 컴퓨팅 사고라는 단어의 의미가 굉장히 포괄적인데 굳이 여기서는 좀 이렇게 너무 한 동을 지은 것 같다는 생각은 있어요. 근데 일단 알고리즘에 대해서 얘기를 할 거니까 알고리즘에 관련된 것만 일단 한정을 좀 지어서 얘기를 하고 있습니다.
与会者 1 08:59 屏幕亮了。现在正在注视着我,关于计算思维的目的是,我们在这里讨论的与算法相关的内容,目的是编写算法并实现计算机自动化。这从某种角度来看是理所当然的。当然,将计算思维仅限定于算法和计算机自动化似乎有些过于局限,因为"计算思维"这个词的含义非常广泛。尽管如此,既然我们要讨论算法,就暂时将讨论范围限定在与算法相关的内容。

Attendees 1 09:59 여러분 알다시피 알고리즘을 프로그래밍해서 프로그램 언어로 구현을 한 거를 우리가 프로그램이라고 이렇게 얘기를 하죠.
正如大家所知,我们称用编程语言实现的算法为程序。

Attendees 1 10:16 효과형이라고 얘기를 하죠. 알고리즘의 대표적으로 사용되는 것 중에 이제 기본적으로 사용되는 것 중에 하나가 이런 순서도입니다. 우리 순서도라고 얘기를 하는 이건데 여기 지금 예시를 들어놓은 거는 3개의 입력 값의 평균을 구하는 예시를 지금 들어놓은 겁니다. 여러분 이 순서도 작성하는 거가 요즘은 그렇게 사실 그냥 하나의 어떤 그냥 방법 이 정도로만 이렇게 얘기를 많이 하는데 과거에는 이 순서도 작성을 굉장히 중요시해가지고 순서도 이 도형 하나하나를 갖는 의미가 다 있는데 약간 둥근 직사각형 둥근 직사각형 모양 이렇게 사다리꼴 모양 직사각형 그리고 여기는 지금 세 가지밖에 없긴 한데 도형 하나하나의 의미를 뭐라 그럴까 시험도 보고 이게 무슨 뜻이냐 물어도 보고 굉장히 중요시했었습니다.
我们称之为效果型。算法中最基本使用的代表之一就是流程图。这里我们现在列出的是一个计算 3 个输入值平均值的示例。现在虽然大家对绘制流程图不太重视,但过去非常重视流程图,每个图形都有其特定含义,比如圆角矩形、梯形和矩形。尽管这里只有三种图形,但在过去,人们会在考试中询问每个图形的具体含义,并非常重视这一点。

Attendees 1 11:23 요즘은 그렇게까지는 그냥 하나의 어떤 과거에 사용했던 이런 정도로만 좀 취급을 하고 있는데 근데 순서도는 사실 저렇게 규칙 룰을 완전히 지켜가면서 사용하지 않더라도 여러분들 스스로 사용을 한 번씩 계속 필요할 때 사용을 하시는 거는 굉장히 좋은 방법인 것 같아요. 순서도가 여러 가지 정리를 하는 데도 도움이 많이 되고 물론 이거 말고도 요즘 여러 가지 기법들을 많이 활용을 하죠. 그런 것들을 제공하는 툴도 많이 개발이 돼 있고 협업이라든지 온라인 이런 것도 온라인으로도 다 공유를 하면서 동시에 작업을 할 수 있게끔 돼 있는 툴들이 많아서 그런 부분에서는 되게 좋은 것 같습니다. 알고리즘을 기술하는 방법을 크게 두 가지로 얘기를 했는데 이거 말고도 많이 있겠지만 일단 이렇게 두 가지만 얘기를 한 겁니다. 순서도 부분하고 좀 전에 본 순서도하고 의사 코드 의사 코드는 그냥 적당히 이렇게 메모하듯이 적어놓은 거를 얘기합니다. 그리고 여기는 그냥 개인적으로 여러 가지 방법들이 있겠죠.
现在对于这种方法,就像是只是简单地看待过去使用过的一种方式。但是,即使不完全遵守流程图的规则,各位自己在需要时继续使用流程图仍然是非常好的方法。流程图在整理很多事情方面都很有帮助。当然,现在也有很多其他技术,开发了很多提供这类工具的平台,无论是协作还是在线共享,都可以同时进行工作。在描述算法的方法上,我们主要讨论了两种,虽然可能还有很多,但现在就先谈这两种。一种是流程图,另一种是伪代码,伪代码就是像随意记笔记一样写下来的。这里面当然还有很多个人的方法。

Attendees 1 12:36 본인들이 자기가 자기가 사용하는 저거 두 가지 외에도 이거는 지금 처음에 이거 뭘 해놓은 건지 얼른 눈에 안 들어왔었는데 한참 쳐다보다 보니까 저거더라고요. 그외 공식이더라고요. 그외 공식도 참 오래간만에 보는데 그네 공식 처음에 이거 달달달 외워가지고 뭔지도 모르고 그냥 숫자 대입해서 답 내고 막 이랬던 기억이 나는데 예전에 저 근의 공식을 이렇게 이제 플로우 차트로 한번 작성을 해본 거고요. 이거는 프로그램화시키는 거는 여러분들 아마 이 정도는 다들 기본적으로 아마 지금은 기초 프로그래밍 강의를 들으신 분들은 이 정도 프로그램은 c든 뭐든 간에 짤 수 있으실 겁니다. 좀 전에 오면서 보니까 바로 옆 강의실에서 지금 그 케이스 문 강의하고 계시던데 이거는 케이스 문하고 상관없지만 어쨌든 이렇게 의사 코드로는 이런 식으로 그냥 이렇게 메모하듯이 적어놓은 걸 얘기합니다.
最初我没有立即意识到这是什么,但是仔细看了一会儿后,我发现这是那个公式。那个久违的公式。我还记得以前背诵这个公式,却不知道它的意义,只是机械地代入数字求解。现在我们用流程图来展示这个二次方程根的公式。对于程序化这一点,现在学习基础编程的同学应该都能用 C 语言或其他语言轻松编写这个程序。刚才我路过隔壁教室,看到正在讲解 case 语句,虽然这个例子与 case 语句无关,但我们用伪代码可以这样简单地记录下来。

Attendees 1 13:49 사실 이거나 이거나 방식은 같은데 제 생각에는 기왕이면 이걸로 하는 게 낫지 않을까 왜냐하면 이거 같은 경우는 본인의 스타일대로 메모 식으로 한 거다 보니까 다른 사람하고 같이 보기에는 좀 어렵죠. 본인의 노트에 적혀 있을 법한 내용이니까 근데 이 순서도 같은 경우는 많은 사람들이 사용을 하는 거기도 하고 보는 데도 좀 직관적이라서 순서대로 보고 서로 얘기하고 하는 데는 순서도가 아무래도 좀 편하지 않을까 싶어요. 그래서 기왕이면 순서도로 해놓는 게 좋지 않을까 싶은 생각은 듭니다. 플로우 차트라고도 하고 흐름도 이렇게 흐름도라는 말은 사실 거의 안 쓰는 것 같긴 한데 플로우 차트 순서도 이런 말들로 합니다. 단순한 기하학적 기호를 사용해서 어쩌고저쩌고 이런 여러 가지 기호들로 표시를 하는데 여기는 간단하게 이 정도만 표현을 했습니다. 사실 가장 많이 쓰면서도 가장 중요한 거죠.
与会者 1 13:49 事实上,这两种方式是相同的,但我认为不如用这种方式更好。因为在这种情况下,这是按照个人风格进行的笔记式记录,对于与他人一起查看来说会有些困难。这似乎是写在个人笔记中的内容。但是对于流程图来说,很多人都在使用,而且看起来也比较直观,所以按顺序查看和交流起来,流程图可能会更加方便。所以我觉得不如用流程图来展示会更好。有人称之为流程图,也有人称之为流程图,虽然"流程图"这个说法似乎很少使用。使用简单的几何符号来表示各种各样的符号,这里只是简单地表达了这些。事实上,这是使用最多且最重要的。

Attendees 1 14:59 시작과 종료를 뜻하는 기호하고 그다음에 이제 처리가 되는 프로세싱이 되고 있는 내용을 표시하는 그냥 직사각형 모양 그다음에 판단되는 거 그러니까 이거냐 저거냐 판단할 때 우리가 많이 사용하는 경우가 이프문하고 케이스 문 이런 경우죠. 어떤 거를 이쪽이냐 저쪽이냐 이런 거 판단할 때 쓰는 요 마른모꼴 형태 사다리꼴 형태 같은 이런 그림들 가장 많이 쓰는 기호가 이런 거가 가장 많이 쓰이겠죠. 이거 외에도 여러 가지 기호 있습니다. 다른 기호도 있고 그런데 저 기호를 지금은 달달달 외울 필요는 없지만은 기본적으로 저 정도는 한 네다섯 가지 정도만 알고 계시면 좋을 것 같아요. 물론 이 순서도는 굉장히 단순합니다. 구조가 단순하니까 직관적으로 보기는 편한 건 맞는데 순서대로 표현할 수 있는 범위가 좀 한정돼 있죠. 그래서 요즘 같은 경우에 요즘같이 굉장히 복잡하고 큰 프로그램을 순서도로 뭘 정리한다 그거는 좀 아닌 것 같긴 해요.
与会者 1 14:59 开始和结束的符号,然后是正在处理的内容所示的矩形形状,接下来是判断的符号,比如我们经常使用的 if 语句和 case 语句。用于判断是这边还是那边的菱形或梯形图形是最常用的符号。除此之外还有其他符号。现在不需要死记硬背这些符号,但基本上了解四五种就可以了。当然,这个流程图非常简单。因为结构简单,所以直观地查看是很方便的,但可以按顺序表达的范围是有限的。所以在现在这种非常复杂和庞大的程序中用流程图来整理,这似乎不太合适。

Attendees 1 16:11 아닌 것 같긴 하지만은 그래도 기본적으로 이렇게 뭔가 할 때 간단하게 정리할 때는 괜찮은 방법이니까 알아두시는 것도 좋을 것 같습니다. 굳이 이거를 따로 뭘 해서 알아둔다기보다도 그냥 이렇게 말 그대로 순차적으로 프로세싱이 되는 과정을 이렇게 도형으로 연결하면서 작성하는 거니까 딱히 뭔가 일부러 뭘 학습을 해서 방법을 를 알아야지만 사용할 수 있는 건 아니죠. 워낙 단순하고 직관적인 방법이라 순서도 작성하는 대표적인 프로그램 사이트 2개를 소개를 시켜드릴게요. 하나는 이거고 하나는 이겁니다. 이쪽 거는
虽然不太确定,但是在简单总结时,这仍然是一种不错的方法,值得了解。不需要特意去学习这个方法,因为它非常简单直观。只需要按照顺序将流程用图形连接起来即可。我将给大家介绍两个代表性的流程图制作网站。一个是这个,另一个是那个。这边是

Attendees 1 17:06 저기 유럽 어디 나라였는데 생각이 안 나네요. 저기 유럽 쪽에 어디 나라였는데 영국인가 프랑스가 이쪽일 거야 아마 예 그쪽 나라에 있는 어떤 이 이건 오픈 소스입니다. 이건 오픈 소스로 돼 있고 그러니까 무료고요. 그러다 보니까 좀 화면이 약간 좀 투박하죠. 그래픽 이 부분이 그리고 이쪽은 꽤 많이 알려져 있는 사이트 중에 하나인데 이건 아마 중국 회사로 제가 알고 있는데 중국 사이트 겁니다. 이거 하고 그다음에 이드로 마인드인가 이거 하고 두 가지를 이제 주로 서비스하는 회사로 알고 있는데 여기는 기능도 다양하고 그래픽적인 부분도 다양하고 그렇게 돼 있는데 편한 거 스무드를 많이 쓰는 건 아니기 때문에 그냥 이쪽 필요할 때 이쪽 정도 활용하시는 것도 나쁘지 않을 것 같습니다. 이거 외에도 사이트는 워낙 많이 있으니까요. 아니면은 그냥 뭐 저런 거 없이 그냥 종이에다가 사각형 그리고 동그라미 그리고 화살표 그려가면서 하면 되니까 굳이 저렇게 온라인 해서 툴 쓸 필요는 없기는 하죠.
我记得是欧洲的某个国家,但具体是哪个想不起来了。是英国还是法国?对,应该是那个国家。这是一个开源项目,所以是免费的。因此界面看起来有点粗糙。图形方面,而这是一个相当知名的网站,据我所知是一家中国公司。这是这个网站,然后还有一个好像叫 iMindMap 的。这两个是主要提供服务的公司。这里功能多样,图形设计也很丰富,但并不是每个人都会经常使用。所以在需要的时候使用这些工具也不错。除此之外,这类网站还有很多。当然,如果不想用在线工具,直接在纸上画矩形、圆圈和箭头也完全可以。

Attendees 1 18:29 이거 여기서부터는 이제 알고리즘에 대한 예시로 몇 가지를 들면서 설명을 좀 하고 있습니다. 여기서 여러분들 이런 순서도든 알고리즘이든 뭐든 작성할 때 보통 그냥 대략적으로 작성하면서 요 부분만 많이들 이제 쓰게 되는데, 지금 여러분들은 이제 뭐든 이제 시작을 하는 입장이니까 반드시 이 시작과 종료 이거를 쓰는 거를 생략하지 마세요. 뭔가를 자꾸 생략하고 축소시키고 건너뛰고 하는 거를 고수의 어떤 스킬 이런 걸로 자꾸 생각하는 사람도 있는데, 그래서 저런 걸 쓰는 거를 이런 거는 초자화 하는 거지 이런 거 그냥 안 써도 돼 이런 식으로 넘어가면서 소위 얘기하는 겁니다. 먹었던 사람들 많아요. 예 그런 행동하지 마세요. 예 그런 사람들 보면은 꼭 뒤로 빵빵 안 냅니다. 그런 식으로 말하는 사람들 보면은 그러니까 저렇게 시작과 종료 라는 표기하는 거를 귀찮아하고 게을리하지 마시고 꼭 하시는 거 반드시 해야 된다라는 생각을 가지세요.
与会者 1 18:29 现在我们正在通过一些例子来解释算法。在绘制流程图或算法时,大家通常只是粗略地绘制,并且经常省略某些部分。但是,作为初学者,你们必须不要省略开始和结束部分。有些人会认为不断省略、缩小和跳过某些内容是高手的技巧,并说可以不写这些内容。但请不要这样做。当你看到这种人时,他们往往会遇到问题。所以请一定要坚持标记开始和结束。

Attendees 1 19:47 시작이 있고 종료가 있어야 되고 그다음에 여기는 지금 없는데 변수 선언이나 입력이 반드시 있어야 되고 그리고 프로세싱이 들어가야 됩니다. 이런 절차에 대해서는 절대 무시하지 마시고 워낙 익숙해서 그냥 건너뛰기가 십상인데 절대 그렇게 하지 마세요. 적어도 앞으로 5년 동안은
与会者 1 19:47 必须有开始和结束,然后还需要变量声明和输入,接着还要有处理过程。对于这些步骤,请绝对不要忽视。虽然你可能已经习惯了跳过这些步骤,但请务必不要这样做,至少在未来 5 年内不要这样做。

Attendees 1 20:20 아이디 패스워드를 입력해서 로그인하는 과정을 간단하게 그냥 이렇게 플로우 실행문하고 조건문 하나 달아가지고 이렇게 그냥 설명을 했습니다. 여러분 혹시 프로젝트 같은 거 하면서 사용자 서버 같은 거 활용해서 저 로그인 패스워드 이런 거 혹시 직접 프로그래밍을 해본 경험이 있는지 모르겠는데 저것도 한 번씩 해보시는 것도 도움이 많이 됩니다. 이거 사실 오픈 소스 워낙 이제 이거 관련된 사용자 로그인 계정 관리하는 프로그램 소스가 많으니까 여러분들 잘 아시는 깃허브 같은 데서 소스를 가져다가 이제 이렇게 사용을 하실 텐데 가장 많이 저기 오류를 발생시키는 부분이 뭐냐 하면은 대부분 보면은 그런 데서 처음에 오류를 많이 하더라고요. 확률 높게 가져온 소스 코드의 아이디 패스워드의 바이트 소하고 내가 지금 사용 그걸 갖다 붙이려고 하는 원 프로그램에 아이디 패스워드의 바이 투수하고 서로 안 맞아서 실행이 잘 안 되는 그런 상황들이 종종 발생을 합니다.
与会者 1 20:20 我简单地以流程执行和一个条件语句说明了输入用户 ID 和密码并登录的过程。不知道各位在做项目时是否有直接使用用户服务器编程登录密码的经验,这也是很有帮助的。事实上,由于现在有很多开源的用户登录和账号管理程序源代码,你们可以在熟悉的 GitHub 等平台上获取源代码并使用。但最常发生错误的地方是,最初会遇到很多问题。大多数情况下,导入的源代码中用户 ID 和密码的字节数与你想要集成到原程序中的用户 ID 和密码字节数不匹配,导致执行出现问题。

Attendees 1 21:42 처음 하는 사람들한테 그런 부분들을 한 번씩 체크를 해 보시면 좋을 것 같아요. 보통 소스 코드에서는 8비트나 16비트 이 정도로 작은 예로 많이 만들어지는데 이제 뭔가 여러분들이 이렇게 프로젝트로 개발을 하고 할 때는 정식으로 된 한 128비트 보안 코딩까지 포함된 이런 식으로 돼 있다 보니까 그게 서로 비트 수가 안 맞아가지고 앞이 잘리거나 이상한 개미집 값들 들어가서 로그인이 제대로 안 되는 테스트는 됐는데 실제로 해보면 안 되는 테스트할 때는 작게 몇 개의 글자 가지고만 테스트를 하니까 되네 했는데 실제로 패스워드를 8개 이상 8 문자 이상 이렇게 입력하고 특수 문자 쓰고 막 이렇게 하면은 로그인이 안 되는 그런 상황들이 종종 발생을 하더라고요. 항상 거기서 많이 막혀요. 보면은 그런 것도 좀 신경을 써서 그런 일이 생길 때 한 번씩 살펴보시면 좋을 것 같아요.
与会者 1 21:42 对于初学者来说,建议检查这些细节。通常源代码是以 8 位或 16 位为例创建的,但当你们进行项目开发时,往往会使用正式的 128 位安全编码等。因此,由于位数不匹配,可能会导致前面被截断或出现奇怪的值,从而使登录测试看似成功,但实际无法正常登录。测试时通常只使用几个字符,看起来可以,但当输入 8 个以上字符的密码并使用特殊字符时,登录可能会失败。这是经常会遇到的问题,所以建议在遇到这种情况时多加留意。

Attendees 1 22:54 말 나온 김에 한 번 의사 코드는 그냥 이렇게 유럽 푸드라고 하는 거 이렇게 말을 써놨는데 그냥 메모하듯이 해놓은 거니까요.
参会者 1 在 22:54 时说,顺便提一下,伪代码就是这样,就像是欧洲食品,我就这样写了,就像是随手做的笔记一样。

Attendees 1 23:11 이해하기 쉽고 편하게 기술하는 건 좋은데 이거는 아까 말씀드린 대로 자기만의 표현 방법이다 보니까 공유 요즘같이 협업과 공유 이런 것들이 많이 이루어지는 작업에서는 저 의사 코드로 뭔가를 하는 거는 조금 불편할 수가 있죠. 그렇게 서로 협업할 때는 약속된 어떤 표현 방법으로 사용을 하시는 게 맞을 겁니다. 이건 뭐 의사 코드로 저렇게 했다고 하는데 적어 보시면 대략 어떤 건지 아시죠? 10명의 학생의 평균을 계산하는 그 내용입니다. 여러분들은 이거 처음 봤을 때 어땠는지 모르겠는데 저는 사실 이거 처음 봤을 때 이 부분이 참 이해가 안 됐었는데 카운트에다가 1을 더해서 다시 카운트가 된다. 이게 뭔 말이야 도대체 이게 여기 카운터하고 여기 카운터는 서로 다른 값이죠. 그죠? 그러니까 이 화살표를 이제 등호의 개념으로 생각을 하고 처음에 보면은 이게 말이 안 되는 얘기죠. 그러다 보니까 이제 처음에 저거를 잘 납득을 못했었는데 이제 이제 이런 거 보면은 이제는 이제 다르게 보죠.
参会者 1 在 23:11 时说,易于理解和书写是好的,但正如我之前提到的,由于这是个人的表达方式,在当今这种协作和共享工作频繁的环境中,用这种伪代码可能会有些不便。在团队协作时,使用约定的表达方式是正确的。这是伪代码,大概是计算 10 名学生的平均分。我第一次看到这个时,确实不太理解,比如这里对计数器加 1,计数器又变成了另一个值。这个箭头最初看起来是不合逻辑的。但随着时间推移,我现在已经能以不同的方式理解它了。

Attendees 1 24:39 마치 쌍둥이를 구분하는 것처럼 여기 카운터와 여기 카운터가 서로 다른 의미다라는 거를 이제는 확실하게 알고 보니까 아무 혼동이 안 생기는데 처음 봤을 때는 저 부분 되게 혼동을 많이 일으켰던 것 같아요.
就像区分双胞胎一样,现在我确定地知道这里的计数器和那里的计数器具有不同的含义,所以不会产生任何混淆。但是第一次看到时,那部分确实造成了很多混淆。

Attendees 1 24:58 이거 굉장히 중요합니다. 여러분 이거 이 작업 이런 거 그냥 허투루 넘기지 마세요. 실제로 평균을 계산한다. 우리한테는 이 부분이 제일 중요할 겁니다. 그렇죠 이게 실질적인 프로세싱이 이루어지고 결과를 내는 과정이니까 우리한테는 사실 이 부분이 제일 중요하고 뭔가 에러가 생기거나 디버깅을 해야 될 때는 이 부분에 대해서 집중적으로 볼 겁니다. 그래서 그렇기 때문에 이 앞부분에 이거 초기 값 넣는 거 확실하게 하고 들어가셔야 돼요. 저거 실수 많이 하는 사람들은 항상 실수합니다. 저거 한 번 실수하는 사람들은 계속 실수해요. 소위 얘기하는 버릇이 잘못된 거죠. 그러니까 저런 거 저런 걸로 사소한 실수를 반복하는 그런 바보 같은 짓을 하지 않도록 확실하게 짚고 들어가세요. 이거 굉장히 중요합니다. 초기 값에 집어넣는 거
这非常重要。大家不要轻易跳过这个工作。实际上要计算平均值。对我们来说,这部分是最重要的。因为这是实际处理并得出结果的过程,所以对我们来说这部分最重要,当出现错误或需要调试时,我们会集中关注这部分。因此,在进入这个过程之前,一定要确保初始值的正确性。总是犯这种错误的人会一直犯错。这是所谓的习惯性错误。所以请确保不要重复这种愚蠢的小错误。这一点非常重要,关键在于正确设置初始值。

Attendees 1 26:19 알고리즘의 몇 가지 조건 해놓고서 조건 얘기하면서 입력 출력 명백성 유한성 그다음에 유효성 이거에 대해서 이제 앞에서 공통된 키워드로 좀 얘기를 했었는데 이런 의미로 일단 보시면 됩니다. 알고리즘은 입출력이 있어야 됩니다. 어떤 시스템이 있으면은 입력과 출력이 있습니다. 시스템의 정의를 입력된 데이터를 뭔가를 해서 출력을 내보내는 것을 시스템이라고 포괄적인 정의도 가지고 있습니다. 시스템이랑 입력된 값을 프로세싱해서 출력을 하는 걸 시스템이라고 한다라고 정의하기도 합니다. 그래서 이거는 알고리즘의 알고리즘뿐만 아니라 그냥 시스템에 대한 기본 정의입니다. 그러니까 우리 사람도 일종의 시스템이죠. 지금 제가 소리를 내서 어떤 말을 하는 것도 출력을 하는 거고 사람이 저기 에너지를 얻기 위해서 뭔가를 음식을 섭취하고 그다음에 에너지를 사용을 한 후에 발생되는 찌꺼기들을 버리는 행동 같은 것도 다 시스템에 의해서 이루어지는 거죠.
设置算法的一些条件,然后谈论条件,包括输入输出的明确性、有限性,然后是有效性。这些是之前用共同关键词讨论的内容。算法必须有输入和输出。如果有某个系统,就会有输入和输出。系统的定义是将输入的数据处理后输出。系统可以定义为处理输入值并产生输出。这不仅是算法,也是系统的基本定义。换句话说,我们人类也是一种系统。我现在发出声音说话也是一种输出,人类为了获取能量摄入食物,使用能量后排出废物,这些都是通过系统实现的。

Attendees 1 27:42 명백성 당연한 얘기고 모호하지 않고 명백히 해야 된다는 거 당연한 얘기죠. 이건 그리고 유한성 유한성 부분에 대해서는 좀 다른 생각 의견이 있을 수는 있겠지만은 이거는 어떤 특정 부분에 대해서만 얘기하는 건 아니고요. 전체적인 것을 얘기하는 겁니다. 반드시 종료가 돼야 된다는 거 종료가 안 되는 알고리즘은 결과가 나오지 않는 상태가 되는 거니까 뭔가 맞지 않죠 그리고 유효성 알고리즘이라고 만들어놨는데 어디 저쪽 어디 한 몇 광년 떨어진 그런 이상한 나라의 연산을 하고 있으면은 우리가 알고리즘이라고 할 수가 없겠죠. 그런 것들을 얘기하는 겁니다. 이거는 여러분들이 가지고 계신 책에 있는 내용을 그대로 좀 했는데요. 좀 문장에 써 있는 말이 좀 약간 좀 비약도 심하고 표현이 좀 모호한 것들이 있어가지고 그 부분만 이렇게 좀 했습니다. 인공지능 컴퓨터가 아니라면 알고리즘만 동작할 수 있다 이렇게 얘기를 해놨는데 여러분 인공지능 컴퓨터도 알고리즘으로 동작하는 거예요.
明确性是理所当然的,必须清晰不含糊。关于有限性,可能会有不同的看法,但这不是针对某个特定部分,而是整体。必须要有结束,不能是没有结果的算法。有效性意味着如果算法设计得很奇怪,比如在几光年之外的某个地方进行运算,我们就不能称之为算法。这些内容基本上是书中的原文,但有些句子表达有些夸张和模糊。书中写道"如果不是人工智能计算机,则只能执行算法",但事实上,人工智能计算机也是通过算法运行的。

Attendees 1 29:11 걔가 자꾸 이런 식으로 인공지능 컴퓨터를 자꾸 표현하는 말들이 있어가지고 인공지능 컴퓨터가 알고리즘이 아닌 자기가 뭐 어떻게 해서 하는 것처럼 자꾸 얘기를 하는데 인공지능 컴퓨터도 알고리즘에 의해서 동작하는 거지 알고리즘 없으면 걔도 동작 못합니다. 이런 부분에 자꾸 좀 이상한 생각을 자꾸 넣지 않았으면 좋겠어요. 그리고 이 부분도 참 말이 이상한데 항상 논리적인 동작만 하는 것은 아니다. 그리고 물론 뒤에 이제 설명이 돼 있으니까 오해는 안 생기겠지만 컴퓨터가 항상 논리적인 동작만 하는 건 아닌 건 당연하죠. 사람이 논리적으로 돼 있는 프로그램을 넣지 않으면 논리적으로 동작할 수가 없죠. 어차피 사람에 의해서 동작하는 거지 자기가 명백한 논리를 가지고 프로그램이 돼 있는데 자기가 비논리적으로 동작을 한다 이런 거 없습니다.
与会者 1 29:11 他总是用这种方式描述人工智能计算机,总是说人工智能计算机像是自己知道如何做某些事情一样。但实际上,人工智能计算机是通过算法来运作的,没有算法它就无法运行。我希望他不要再有这种奇怪的想法了。而且,说计算机并不总是进行逻辑操作这一点也很奇怪。当然,后面会有解释,所以不会产生误解。计算机当然不总是进行逻辑操作。如果人们没有编写逻辑程序,计算机就无法进行逻辑操作。无论如何,它是由人类驱动的,在有明确逻辑的程序中,它不可能以非逻辑的方式运行。

Attendees 1 30:14 혹시 그런 일이 생기면은 컴퓨터에 어떤 하드웨어적인 오류가 있는 거지 시그널이 깨진다든가 이런 현상 때문에 오류가 발생하는 거지 자기가 혼자 어쩌고저쩌고 하는 거 그런 자꾸 컴퓨터를 자꾸 이상한 걸로 만들어서 생각하는 거는 좋은 방법이 아니니까 그렇게 그런 것들을 좀 하지 않았으면 좋겠어요.
与会者 1 30:14 如果发生这种情况,那只是计算机出现了硬件故障,比如信号损坏等原因导致的错误。不要总是用奇怪的方式想象计算机,这不是一个好方法。我希望你不要再这样想了。

Attendees 1 30:44 예전에도 저것 때문에 나이 많은 교수들하고 한바탕 한 적도 있었는데 자꾸 이상한 얘기들을 해갖고 교수들이 젊은 사람들은 안 그러는데 나이 든 사람들이 자꾸 AI를 이상한 종교하고 연결시키는 그런 생각들을 또 집어넣는 사람들이 있어가지고 이건 프린터에 대한 얘기입니다. 프린터가 고장이 났는 걸 확인하는 거 우리 이런 거를 사실 알고리즘이라고 얘기 우리는 사실 이런 거 가지고 알고리즘이라고 얘기 잘 안 해요. 약간 민망스럽죠. 알고리즘이라고 얘기하기에는 그냥 어떤 매뉴얼 이 정도 수준으로 얘기를 하죠. 그래도 어쨌든 매뉴얼도 알고리즘의 일부니까 알고리즘은 맞긴 맞는데 다만 이제 우리는 조금 이제 이런 걸 알고리즘이라고 하기에는 조금 약간 거리감을 좀 두기는 하는 편이죠. 시작을 해서 종료까지 몇 가지 증상 확인 사항들을 넣고 이렇게 알고리즘을 짰습니다.
以前也因为那件事与年长的教授们发生过争执,因为他们不断地说一些奇怪的话,教授们总是把 AI 与一些奇怪的宗教联系在一起。这是关于打印机的问题。关于确认打印机是否出现故障,我们实际上很少称之为算法。有点尴尬。我们只是将其视为一种手册级别的说明。尽管如此,手册也是算法的一部分,所以它确实是算法,但我们通常对将这种情况称为算法保持一定距离。我们制定了一个从开始到结束的算法,包括几个症状确认步骤。

Attendees 1 31:54 그래서 예스 노를 결정을 해서 예스맨 넘어가고 노면은 그 증상에 대해서 해결 방안을 제시를 하고 가는 그래서 마지막에 이래도 안 되고 저래도 안 되면은 전화하세요 이렇게 되는 거죠. 저런 간단한 저건 알고리즘이면서 매뉴얼이기도 하고 그거 뭐라고 그러죠? as 센터 as센터 매뉴얼 같은 느낌 작업 지시서 이런 느낌이 있죠. 어쨌든 이제 매뉴얼이라는 말들을 좀 많이 써요. 이런 식으로 간단한 플로우로 된 거는 그렇죠 이것도 간단하게 그냥 우리가 일상생활에서 지금 숙제를 하고 놀까 놀고 숙제할까 TV 보고 숙제할까 숙제하고 TV 볼까 이런 것들 고민하는 것들을 알고리즘 형태로 한번 이렇게 꾸며본 겁니다. 이런 거 하고 놀면은 이제 천상 공돌이라고 하죠.
所以我们通过是或否来决定,然后转向解决方案,针对该症状提出解决方案。最后,如果这样做还是不行,就打电话咨询。这种简单的流程既是算法又是手册,可以说是类似呼叫中心的工作指导手册。无论如何,我们现在更多地使用"手册"这个词。这种简单的流程就像我们日常生活中纠结是先做作业还是先玩耍,是看电视还是先做作业的决策过程。如果沉浸在这种思考中,人们就会说你是个典型的工科生。

Attendees 1 33:07 우리 전화하는 과정도 알고리즘으로 이렇게 여러분 그 전화를 전화 번호를 해서 통화 버튼을 딱 누르면은 바로 벨 소리가 나죠. 그거 사실 바로 별 소리 나는 거 그거 가짜입니다. 페이크 소리입니다. 그거 내가 전화를 걸면은 그 전화번호가 기지국을 통해서 상대한테 전달이 되고 그 상대가 그 전화 신호를 콜을 받으면은 그때부터 벨이 울리게 되는데 그 시간이 몇 초 걸립니다. 한 2~3초 정도 걸려요. 조금 더 걸릴 수도 있고 좀 빠를 수도 있는데 그 2~3초 정도 걸리는데 2~3초 동안 그러면 아무 소리도 안 나는 거예요. 통화 버튼을 딱 눌렀는데 2~3초 정도 아무 소리도 안 나다가 그 뒤에 통화 중 신호나 벨 소리가 전화 벨 소리가 울리기 시작합니다. 그거를 우리나라 사람들이 못 기다렸어요. 그래가지고 전화를 끊고 다시 겁니다.
我们在通电话的过程中,也是通过算法实现的。当你按下拨通按钮时,立即会听到铃声。但事实上,这个铃声是假的,是一个虚拟声音。当我通电话时,电话号码通过基站传递给对方,如果对方接听电话信号,铃声才会开始响起,这个过程需要 2-3 秒时间。可能会稍微长一些或短一些,但大约需要 2-3 秒。在这 2-3 秒内,你听不到任何声音。按下通话按钮后,2-3 秒内没有任何声音,之后才会出现通话中的信号或电话铃声。韩国人对此感到很不耐烦,所以会挂断电话重新拨打。

Attendees 1 34:08 전화가 연결이 안 되네 이러고 그걸 반복하다 보니까 통신사에서 통화 버튼을 딱 누르자마자 가짜 벨 소리를 그냥 자동으로 보내는 식으로 그렇게 변경을 한 겁니다. 초기에 그런 에피소드가 있어요. 지금은 제가 구분 안 가는데 그 벨소리 가만히 들어보면 처음에 통화 버튼 딱 누르면은 따르릉 따르 하다가 중간에 한 번 딱 꺾이는 데가 있어요. 저기 트로트 가수 노래 꺾이듯이 중간에 한 번 은이 꺾일 때가 있는데 그때부터가 진짜 벨 소리입니다. 지금도 가만히 들어보는 것 보고 딱 꺾이는 소리가 들립니다. 한번 소리가 이렇게 딱 전환되는 그 느낌 주차 아니 저기 시동 거는 거 예 이건 사람이 하는 일은 이렇지만은 사실 안에서 기계적으로 움직이는 거는 그것까지 표현하면은 상당하죠. 그렇고요. 간단한 그냥 알고리즘에 대한 얘기들을 좀 했고요. 기본 개념하고 이런 얘기들을 했습니다.
电话没有连接成功,通信公司为了解决这个问题,在按下通话按钮的瞬间就自动发送一个虚拟铃声。这是早期的一个小插曲。现在我可能分辨不出来,但仔细听铃声,按下通话按钮后,一开始是"叮咚叮咚",中间会有一个突然的转折点,就像民谣歌手唱歌时的音色变化。从那个转折点开始,才是真正的铃声。现在仔细听还能听到这种突然转折的声音,就像启动汽车的感觉。虽然这是人为操作,但机器内部的运作其实更为复杂。这只是对算法的基本概念进行了简单的讨论。

Attendees 1 35:20 사실 여러분들 지금 프로그램도 공부를 하고 있을 거고 알고리즘에 대한 얘기들도 중간중간에 많이들 들었으리라고 생각해요. 개념적인 거니까 한번 다시 한 번 살펴봤고요.
大家现在可能正在学习编程,并且已经多次听说过算法。因为这是概念性的内容,所以让我们再次仔细看看。

Attendees 1 35:45 그다음에 이제 우리 알고리즘에 대한 얘기를 조금 더 본격적으로 진행을 해봅시다.
接下来,我们将更深入地讨论算法。

Attendees 2 35:54 자
与会者 2 35:54 人

Attendees 2 36:02 우리 출석 체크합시다 을 없었다 해야 되는 거다.
与会者 2 36:02 让我们点名吧,如果没有,就应该这样做。

Attendees 2 36:52 유리 7일 있고
与会者 2 36:52,玻璃 7 天后

Attendees 1 37:24 390입니다.
与会者 1 37:24,390。

Attendees 1 37:39 390이요
参会人员 1 37:39 390

Attendees 1 37:50 글씨 너무 날렸을까 그렇죠 390이나
参会人员 1 37:50 字迹是否太潦草了?是的,390

Attendees 1 37:57 체크해 주시고요.
请检查与会者 1 在 37:57

Attendees 1 38:08 이거 모니터가 안 돼가지고
与会者 1 在 38:08 由于监视器无法工作

Attendees 1 38:24 출석 체크를 하시면서
在点名过程中

Attendees 1 38:49 제가 지난 시간에 여러분 아마존 그거 말씀드렸죠 아마존 세미나 하는 거 그거 말도 또 오늘은 로버트 얘기를 조금 할게요. 잠깐 짬을 내서 현대자동차에서 스타트업 기업 지원에서 하고 있는 로봇 회사가 있죠. 우리나라에 있지 않고 미국에
在点名时,我上次跟大家提到了亚马逊研讨会,今天我想稍微谈谈罗伯特。简单提一下,现代汽车正在支持初创企业,那里有一家机器人公司。这家公司不在我们国家,而是在美国

Attendees 1 39:28 로보트 이름이 아틀라인데 아틀라스 아틀라스인데 그 회사 이름이
与会者 1 39:28 机器人的名字是阿特拉,不,是阿特拉斯,那个公司的名字

Attendees 1 40:04 예죠
与会者 1 40:04 是的

Attendees 1 40:10 보스톤 다이나믹스 회사 이름이 보스톤 다이나믹스입니다. 저게 생각이 안 났어 예 거기 보시면은 이 아틀라스에 대한 조사 들어가시면은 홈페이지에 들어가 보면은 아틀라스에 대한 얘기들이 있습니다. 지금 NVIDIA도 잭슨 잭슨 토르 로봇 프로세서 사업을 본격적으로 시작을 했죠. 조만간에 프로세서를 계속 발표를 하려고 하고 있는데 NVIDIA 황 아저씨 그 아저씨가 나와서 응원하는 로보트 데리고 막 지난달에 했죠. 그거는 사무소에서 로고 쪽에 관심이 있으신 분들은 이쪽 관련된 사이트 정보들 한번 살펴보세요. 일단 우리가 접근이 가장 쉬운 사이트들이 이런 데니까 포스톤 다이는 여기입니다.
参会者 1 40:10 波士顿动力学公司的名字就是波士顿动力学。我之前忘记了这个名字。是的,如果你查看这个阿特拉斯,可以进入主页查看关于阿特拉斯的信息。现在 NVIDIA 也已经正式开始了杰克逊托尔机器人处理器业务。他们即将继续发布处理器,NVIDIA 的黄先生在上个月带着支持的机器人出场了。对于对机器人感兴趣的人,可以查看这些相关网站的信息。首先,我们最容易访问的网站是波士顿动力公司。

Attendees 1 41:20 아직은 여기가 사실 그렇게 막 공개를 하고 있지 않고 영상만 유튜브에 하나씩 올리는데 실제로 그러니까 무슨 컨퍼런스 같은 데서 대중 앞에서 이렇게 직접 선을 댄 게 아니기 때문에 랩 환경에서 동작하는 영상들만 봐가지고는 사실 이렇다 저렇다 얘기하기에는 좀 아직 그렇긴 한데 어쨌든 지금 움직이는 모습이나 이런 거 보면은 상당히 놀랍죠. 되게 자연스럽고
参会者 1 41:20 目前他们还没有完全公开,只是在 YouTube 上逐个上传视频。实际上,因为他们没有在公开的会议上直接展示,所以仅凭实验室环境中的视频还很难做出确切的评价。然而,从目前的运动情况来看,确实令人惊叹。动作非常自然。

Attendees 1 42:10 유튜브 링크가 아마
出席者 1 42:10 也许是 YouTube 链接

Attendees 1 42:20 여기 영화 터미라이터에 나오는 로보트하고 별반 차이가 없어 보여요. 그죠?
出席者 1 42:20 这看起来和电影《终结者》里的机器人没什么两样,对吧?

Attendees 1 42:39 되겠죠. 하여튼 여러분들 한번 찾아서 한번 보세요. NVIDIA의 지난달에 했었던 제가 아마존 그거 한 거 보여드린 것처럼 NVIDIA가 gtca GTC가 아마 GPU 테크놀로지 컨퍼런스 이런 뜻일 거예요. 하여튼 뭐
大家可能会是 42:39。总之,请大家找一找看看。就像我之前向大家展示的 NVIDIA 上个月的亚马逊那件事一样,NVIDIA 的 GTC(可能是 GPU 技术大会的意思)。反正,嗯...

Attendees 1 43:19 로봇 관련돼서는 또 여기도 지금 한 가닥 뭐 하려고 하는 거니까
关于机器人,这里现在也有一个方向要做些什么

Attendees 1 43:36 여러분들 이 아저씨 알죠? 자주 나오죠
大家认识这位大叔吗?他经常出现吧

Attendees 1 43:47 유튜브에 보면은 내용이 좀 있을 텐데
在 YouTube 上应该能看到一些内容吧

Attendees 1 44:12 저게 뭐지 타워즈에 나올 법한 나온 것 같은데 로보트 하나 앞에다가 쇼를 하면서 아주 관심을 많이 끌었죠.
那看起来像是会出现在塔尔斯中的东西,在机器人面前做展示,引起了很大关注。

Attendees 1 44:52 한번 지금 말씀드린 그 사이트 다이나믹 보스턴 다이나믹스하고 저기 NVIDIA GTC 2025 저 사이트들 한번 보시면은 로봇 관련된 NVIDIA 쪽은 잭슨 토르라는 지금 플랫폼 로봇 관련된 플랫폼 지금 한참 막 본격적으로 진행을 하고 있으니까 그런 정보들 하고 한번 보시면은 로보트 관련된 거 정보를 좀 많이 보실 수 있을 겁니다. 한 번씩 살펴보세요. 여러분들 하는 일하고 굉장히 밀접한 분야들이니까 앞으로도 아마 꽤
建议大家看看我刚才提到的那个网站,动态波士顿动力和 NVIDIA GTC 2025 网站。NVIDIA 那边的杰克逊托尔现在正在大力推进机器人平台,所以你们可以从这些网站获得很多机器人相关的信息。请务必看看,因为这对你们的工作非常密切,未来可能会有很大发展。

Attendees 1 45:36 출석 체크 다 하셨죠? 알고리즘 얘기를 좀 해봅시다. 본격적으로 한번 해봅시다. 알고리즘에 대해서 우리 여러 가지 알고리즘 우선 이 책에 있는 내용을 먼저 살펴보고 그다음에 또 다른 책의 알고리즘 관련된 것들을 좀 보고 그래서 알고리즘 얘기를 대략 한 달 남짓 이렇게 할 예정입니다. 그래서 기본적인 알고리즘 얘기들을 하면서 이런저런 생각도 좀 해보고 그다음에 우리가 지금 컴퓨팅 사고라고 하는 이 주제를 가지고 하는 얘기에서 어떤 식으로 좀 생각을 해볼 수 있는지도 한번 따져보는 것도 좋을 것 같습니다.
出席人员 1 45:36 已经完成点名了吗?让我们来谈谈算法。我们将正式开始讨论。关于算法,我们首先查看这本书的内容,然后再看另一本书中与算法相关的内容,因此我们计划用大约一个多月的时间来讨论算法。在讨论基本算法的同时,我们也会思考一些其他想法,然后探讨在我们现在正在讨论的计算思维这个主题中,我们能如何思考这些问题。

Attendees 1 46:25 알고리즘의 알고리즘이 가지고 있는 이런 내용들을 알고리즘에 대해서 살펴볼 예정입니다. 변수나 배열 같은 거 그리고 세 가지 기본 구조에 대한 얘기입니다. 의사 코드는 앞에서 얘기했던 대로 이렇게 간단하게 메모 형식으로 작성을 하는 거고요. 그다음에 이제 변수에 대해서 얘기를 할 텐데 여러분들 아마 자료 구조나 이런 쪽에서 변수에 대해서는 많이 얘기가 있었을 걸로 압니다. 많은 얘기들이 있었을 걸로 아는데 일단 변수 변수는 우리가 수학에서 XY z 하는 그런 거 하고는 의미가 조금 다르게 생각을 할 필요는 있죠. 우리가 변수를 선언한다는 거는 프로그램 할 때 물론 알고리즘에서 변수는 또 좀 다른 의미이기는 하지만 특히 프로그램에서 변수 선언이라고 우리가 얘기하는 부분은 사실 이거를 위한 공간을 만든 더 확보하는 걸 얘기를 하죠. 그래서 여러분들이 프로그램 할 때 변수 선언 하면은 이 변수가 어떤 용도로 쓸 건지를 지정을 하죠.
出席人员 1 46:25 我们将探讨算法所具有的内容。关于变量、数组以及三种基本结构。正如之前讨论过的,伪代码是以简单的备忘录形式编写的。接下来我们将讨论变量,相信大家在数据结构等方面已经听过很多关于变量的讨论。变量与我们在数学中使用的 XYZ 有些不同。当我们在编程时声明变量时,虽然在算法中变量的含义略有不同,但特别是在程序中,变量声明实际上是在确保空间。所以当你们在编程时声明变量,就是要指定这个变量将用于什么用途。

Attendees 1 47:50 숫자인지 사이즈는 바이트인지 뭐든지 그런 것들을 지정을 하죠. 그래서 그 지정을 하는 이유는 메모리 공간에서 지금 사용하려고 하는 변수가 어느 정도 사이즈를 공간을 마련을 해놔야 된다라는 거를 사전에 정리를 하는 거죠. 지금은 사실 메모리에 대한 메모리 사용에 대해서 그렇게 막 압박이 별로 없습니다. 메모리 공간이 충분히 가지고 사용을 하니까 예전에는 저 변수 선언을 굉장히 까다롭게 했습니다. 그리고 심지어는 프로그램을 다 해놓고 처음에 선언할 때는 두 바이트로 선언을 했는데 프로그램 하고 나서 이제 결과를 보다 보니까 한 바이트면 충분하네 그러면은 변수를 한 바이트로 다시 수정을 하고 프로그램을 다시 재조정하고 이런 과정들을 했어요.
与会者 1 47:50 指定数字是什么,大小是多少字节,等等这些内容。这样做的原因是为了在内存空间中预先为要使用的变量准备好所需的空间大小。现在,实际上对内存使用的压力并不大。因为内存空间足够使用,所以在以前,变量声明是非常复杂的。甚至在完成程序后,最初声明时使用两个字节,但在查看结果后发现一个字节就足够了,那么就会重新将变量修改为一个字节,并重新调整程序,经历这样的过程。

Attendees 1 48:50 메모리가 워낙 부족해가지고 메모리를 되게 알뜰하게 쓰려고 하니까 그랬었는데 지금은 사실 메모리에 대한 압박이 많이 없어가지고 그냥 적당히 한 바이트 쓸 것 같은데 혹시 모르니까 그냥 두 바이트 잡아놓지 뭐 이런 식으로 해서 적당히 이렇게 해놓는 경향이 없지 않아 좀 있습니다. 그래서 조금 편하게 사용을 하긴 하는데 물론 메모리에서 공간 확보하는 것도 목적이지만 이 변수 선언을 해서 초기 값을 만들어 놓는 거 그 부분을 좀 변수 선언과 함께 초기 값 집어넣는 과정을 명확하게 하는 거를 잊지 마시기 바랍니다. 수학에서의 이 변수들은 어찌 보면은 사실 이게 이제 우리가 해결해야 될 값인 거죠. 이 값이 뭔지를 우리가 찾아야 되는 값이죠.
与会者 1 48:50 由于内存非常有限,为了尽可能节省内存,就会这样做。但现在对内存的压力已经大大减少,所以就随意一些,如果想使用一个字节,但担心不够,就直接分配两个字节。因此在使用上会比较轻松。当然,确保内存空间是一个目的,但更重要的是在变量声明时清楚地设置初始值。在数学中,这些变量实际上是我们需要解决的值,是我们需要找出的值。

Attendees 1 49:50 소위 얘기해서 문제를 푸는데 답을 구하기를 답을 찾아야 되는 x가 뭔지 y가 뭔지 제가 뭔지 답을 찾아야 되는 거를 우리가 변수처럼 사용을 하고 초기 수학에서는 그다음에 이제 수학을 좀 깊이 배우고 약간 수준 높은 수학으로 가면 이제 저 변수는 어떤 범위의 값을 갖게 되고 이런 식으로 이제 달라지긴 하는데 수학에서의 변수는 이런 식으로 우리가 사용을 하죠. 컴퓨터에서는 저장되는 공간을 확보하는 걸 얘기합니다. 여러분이 아를 사용을 할 때 이거를 인티저로 쓸 거다. 그러면은 그 인티저에 해당되는 메모리에서 그 값을 공간을 바위 몇 피트를 쓸 건지를 잡아놓습니다. 그리고 그거는 절대 딴 놈이 건드리지 못하게 하는 거죠. 안 그러면 값이 섞여버리니까 그런 용도로 사용을 합니다. 여기는 지금 어떤 박스를 이렇게 만들어 놓는 거를 예로 들었는데 적당한 예인 것 같아요.
与会者 1 49:50 所谓的是通过讨论来解决问题,要找出答案,要找出 x 是什么,y 是什么,我是什么,要找出需要找的答案,我们就像使用变量一样使用它。在初级数学中,然后当我们深入学习数学,进入更高级的数学时,这个变量就会有特定的值范围,就会变得不同,但在数学中,我们就是这样使用变量的。在计算机中,它指的是确保存储空间。当你使用它时,如果要将其写为整数,那么在内存中为该整数分配相应的空间,确定要使用多少位。并且确保没有其他人能够触碰它,否则值就会混淆。这就是它的用途。这里举了一个类似于创建盒子的例子,看起来是个不错的例子。

Attendees 1 50:58 예 이렇게 박스의 형태로 붙여서 이거는 이제 i로 i라는 그 값을 담는 그 박스로 쓰겠다 이렇게 딱 해놓는 거죠. 그러면 이 박스는 다른 놈이 건드리지 못하는 거죠. 그리고 저 박스의 크기가 가로사로 몇 센치 정도 되는 그래서 담을 수 있는 값이 어느 정도 크기의 값까지 담을 수 있는지 이제 미리 결정을 해놓는 거죠. 그래서 박스가 작은 거 필요하면은 조그만 박스 큰 박스가 필요하면은 큰 박스 이렇게 준비를 해놓는 거죠. 컴퓨터에서의 변수는 알고리즘에 사용을 하는 변수로 메모리 공간을 확보하는 데 쓰고요. 동일 변수 또 서로 다른 변수를 동시에 여러 연산자에서 사용하는 것도 가능하고 이거는 당연히 가능해야겠죠. 물론 어떤 연산에서만 쓰기 위해서 변수를 선언하는 것도 있지만은 변수를 선언한다는 거는 두루두루 여기저기서 좀 이렇게 활용을 하거나 값이 이렇게 계속 변동이 되는 것들을 우리는 변수로 선언을 하니까요.
与会者 1 50:58 是的,就是这样用盒子的形式附加上,这个盒子将用于存储 i 这个值。这样,其他人就不能触碰这个盒子。盒子的大小是多少厘米,可以存储多大范围的值,都是预先确定的。所以如果需要小盒子,就准备小盒子;需要大盒子,就准备大盒子。计算机中的变量是用于算法的变量,用于确保内存空间。同时可以在不同的运算符中同时使用相同或不同的变量,这是理所当然的。当然,有些变量是为特定运算声明的,但声明变量意味着我们可以在各处使用,或者用于那些值会持续变动的情况。

Attendees 1 52:10 그리고 여기는 뭐 긴 이름을 사용한다 이렇게 돼 있는데 우리가 변수를 선언할 때 그냥 수학에서 하듯이 x y 제트 뭐 이런 식으로는 쓰지 않죠 컴퓨터 프로그램에서 변수는 이름은 좀 적당히 이 값이 무슨 의미의 값으로 사용하는지에 대해서 기술하듯이 단어를 좀 이렇게 나열을 해서 변수 이름을 일반적으로 많이 만듭니다. 그래서 변수 이름 만드는 거 보면은 그 프로그램의 성격이 좀 나와요. 어쩔 때 보면은 변수를 어떤 사람은 되게 짧게 그냥 한 몇 글자 정도 이렇게 막 무슨 야과처럼 무슨 암호처럼 해서 쓰는 사람도 있고 또 어떤 사람은 거의 한 문장처럼 길게 쓰는 사람도 있고 그럽니다. 저 같은 경우는 조금 길게 쓰는 편이에요. 언더바 넣어가면서 그리고 변수 선언을 할 때는 변수에는 반드시 저 같은 경우는 어떤 단어 그리고 언더바 또 하나의 단어 기본적으로 이런 구조로 좀 쓰는 편입니다. 그래서 예 그래서 반드시 변수에는 언더바를 좀 쓰는 편이에요.
与会者 1 52:10 在这里,我们在声明变量时不像在数学中那样使用 x、y、z 等简单字母。在计算机程序中,变量名通常会描述该变量所代表值的含义,使用相关的词语来构成变量名。从变量命名中,可以看出程序的一些特性。有些人会使用非常简短的几个字母,就像密码或缩写一样;有些人则会使用接近一个句子长度的名称。我个人倾向于使用稍微长一些的名称,并加入下划线。在声明变量时,我基本上会使用一个词、一个下划线,然后再加另一个词的结构。所以,我总是会在变量名中使用下划线。

Attendees 1 53:26 그래서 프로그램에서 언더바가 있는 글자는 내가 선언한 변수인 거를 내가 봐도 알 수 있게 좀 그렇게 쓰는 편입니다. 제 습관이니까요. 그 외에 변수 그래서 변수술 하는 거 이렇게 보면은 약간 좀 성격이 좀 보일 때도 있어요.
与会者 1 53:26 因此,在程序中,带有下划线的词语可以让我清楚地识别出是我声明的变量。这是我的习惯。从变量命名中,有时还能看出一些程序的特点。

Attendees 1 53:54 네 우리 보통 프로그램 할 때 하고 일상적으로 하고 이런 의미가 있을 때 우리는 보통 일상적으로 이렇게 화살표를 왼쪽에서 오른쪽으로 보통 이렇게 하죠. 그래서 10을 x에 넣는다 이런 식으로 이제 보통 쓰는데 프로그램 할 때는 이렇게 반대로 많이 쓰죠. x에다가 10을 넣는다 이런 의미로 그렇죠. 10을 뒤에 쓰고 x를 앞에다 쓰는데 이제 변수 위주로 쓴 거죠. 변수를 앞에다 놓고 쓰는 이런 형태를 취합니다. 이런 식으로 이런 식으로 저기서는 이제 제트가 중요한 값으로 취급을 하는 거니까 저렇게 변수를 사용을 하죠. 연산자 쓰는 거는 저렇게 더 셈플레 곱셈 나눗셈 저거는 프로그램 랭귀지마다 조금씩 표현 방법이 다르니까 그렇죠 c나 자바나 파이썬에서 조금씩 조금씩 의미가 기호를 좀 다르게 쓰기도 하고 그러죠. 특히 논리 연산자는 더 조금 다른 경우가 많죠.
在我们通常编程时,日常使用时,我们通常从左向右使用箭头。所以,把 10 放入 x 中就是这种方式。但在编程时,我们通常反过来使用。把 10 放入 x 中,这意味着把 x 放在前面,以变量为主。在这种情况下,Z 被视为重要的值。运算符的使用在不同的编程语言中略有不同,如 C、Java 和 Python 中符号的表达方式会有所不同。尤其是逻辑运算符往往更加不同。

Attendees 1 55:03 이렇게 이거는 여러분들 많이 지금 알고 계실 테고 지금 실제로도 많이 사용을 하실 테니까 그냥 한 번 보고 넘어가면 될 것 같습니다. 입출력 입력 그러니까 XYZ 변수에 대해서 하나씩 증가하는 화면을 출력하는 건데 이런 식으로 입력값을 넣고 여기 지금 xyd 초기 가 초기 값을 선언하는 거에 대한 내용이 없습니다. 그죠? 근데 여러분들 그거 여기에 들어가야 되겠죠 x y z 초 값이 초기 값을 넣는 거 반드시 잊어버리지 말고 그냥 습관적으로 하세요. 없으면 안 되는 것처럼 아예 생각을 하셔야 됩니다. 지금은 그리고 그런 거를 자꾸 생략하면서 뭔가 고수의 향을 내뿜는 걸로 착각하시면 안 됩니다. 예 저런 거 생략하는 게 고수가 아니에요.
这个大家现在应该都很了解,并且也在实际使用,所以看一眼就可以了。关于输入输出,即对 XYZ 变量逐一增加并输出到屏幕。现在这里没有关于初始值声明的内容,对吧?但是你们必须在这里放入 x、y、z 的初始值。请务必养成习惯,就像这是必不可少的一样。现在不要误以为省略这些就是显得很专业。相反,省略这些不是专业的表现。

Attendees 1 56:18 변수 이름을 만들 때 주의해야 될 점들을 좀 나열을 했습니다. 다른 변수하고 분명하게 구분이 되게 만들 거 당연한 얘기죠. 변수를 a b c 1 a b c e 이런 식으로 막 해서 쓰는 사람도 있어요. 이런 사람들 보통 보면 프로그램 대형 프로그램 안 짜본 사람들이 이런 식으로 해요. 그냥 그냥 이 특성은 상관없이 그냥 이번에 첫 번째로 내가 변수 쓸 거는 1로 하고 두 번째는 2로 하고 세 번째는 3으로 하고 그냥 그렇게 계속 넘버링 하듯이 그냥 붙이는 거예요. 이거 이렇게 번수 쓰는 사람들 보면은 예 프로그램 많이 안 해본 사람들일 가능성이 크더라고요. 보면은 나중에 뒤에 가면은 도대체 이게 뭔 변수인지 지가 봐도 모르죠. 그런 거 하지 마시고 그리고 특성이나 역할을 알 수 있는 이름으로 생성하는 거 예 처음에 이거를 하는 게 좀 막 프로그램을 막 할 때는 프로그램에 집중하다 보니까 변수를 짧게 짧게 그냥 a b i j 이런 식으로 막 쓰면서 막 프로그램을 써나갈 때도 있어요.
与会者 1 56:18 在创建变量名时,需要注意一些事项。当然,要明确地与其他变量区分开。有些人会随意地使用变量名,比如 a b c 1 a b c e。通常,这种做法常见于没有编写过大型程序的人。他们不管变量的特性,仅仅是依次使用 1、2、3 作为编号。看到这种变量命名方式的人,很可能是没有太多编程经验的人。最后,他们甚至自己都无法分辨这些变量是什么。不要这样做,而是要使用能够反映特性或角色的名称。起初,在专注于编程时,可能会倾向于使用简短的变量名,如 a b i j。

Attendees 1 57:45 사실 보다 보면은 근데 그렇게 하다 보면은 나중에 i가 뭔지 제가 뭔지 본인이 봐도 모르는 일이 생기죠. 그러니까 할 때 확실하게 변수 선언을 하는 거에 대해서 주의를 기울이시기 바래요. 수이나 공백 같은 거 쓰지 마시고 지금 사용하는 a기즈에서 공백이나 특수 기호가 허용이 되니까 그거를 변수 선환할 때도 활용을 하는 거 좋습니다. 좋은데 그게 허용이 안 되는 랭귀지들도 있어요. 예 그런 거하고 같이 작업을 해야 될 때는 그리고 이렇게 변환을 하거나 할 때는 이런 잘못 변수 선언들이 문제가 딱 돼갖고 이런 데서 에러가 발생할 소지가 높습니다. 그러니까 변수 선언은 좀 약간 우직하게 하는 게 좋습니다. 쓸데없는 대문자 소문자 괜히 구분해서 쓰지 말고 대문자고 대문자 소문자하고 소문자 한 가지로 딱 쓰고 그리고 특수 기호 허용을 하니까 여기서 특수기호 뭐 넣어야지 하고서 개인 쓸데없는 멋부리지도 말고 공백 같은 거는 이거는 당연히 아예 생각 이건 안 된다라고 아예 생각하는 게 좋습니다.
与会者 1 57:45 事实上,这种做法会导致最后连本人都无法识别变量 i 或 j 是什么。因此,我希望你能在变量声明时格外谨慎。不要使用数字或空格,由于当前使用的语言允许特殊符号,可以在变量声明时利用这一点。但要注意,并非所有编程语言都允许这样做。在与其他系统协作或进行转换时,不恰当的变量声明可能会导致错误。因此,变量声明最好保持相对朴素。不要无缘无故地区分大小写,要么全大写,要么全小写。虽然允许使用特殊符号,但不要为了显得花哨而随意添加。空格绝对是不允许的,这一点要铭记在心。

Attendees 1 59:01 예 약간 제가 고지식하게 말씀을 드리는 거일 수도 있는데 사실 지금은 한 가지 랭기즈로 여러분들이 아마 대부분 뭔가를 하실 테니까 이런 거를 경험을 하실 일이 별로 없을 텐데 나중에 이제 그게 확장이 되고 여러 랭귀지의 프로그램들하고 혼용이 되기 시작하면은 그때 가면 진짜 고생합니다. 예 그러니까 처음부터 조금 이런 부분들은 약간 바보스럽게 무식하게 처리를 해 주는 게 좋습니다.
参与者 1 59:01 是的,可能我说得有点固执,但事实上现在大多数人可能正在使用一种语言做某些事情,所以你们可能没有多少经历这种情况的机会。但是当它扩展并开始与多种语言的程序混合使用时,到那时你们就真的会吃苦了。是的,所以从一开始就以一种有点傻乎乎、粗糙的方式处理这些部分是好的。

Attendees 1 59:37 그리고 랭귀지에서 사용하는 특정 키워드나 함수명이 있을 수 있기 때문에 저런 거 항상 주의하셔야 되고요. 변수 선언에서 한참 쓰고 나는데 갑자기 나중에 이상한 값이 들어가는 경우가 있어요. 그거는 이제 그 프로그램 랭귀지에서 키워트 프로그램 랭귀지에서 사용하는 어떤 특정 단어인데 그거를 이제 변수로 사용하면서 생기는 거죠. 초보자들이 흔히 하는 실수 중에 하나인데 이제 아까 저 같은 경우는 이런 실수를 막기 위해서라도 이제 중간에 언더바를 꼭 넣는 식으로 그래서 글자 이렇게 언더바 이런 식으로 이제 이거 abc 1 이런 거 할 때도 a b c 언더바 1 abc 언더바 2 이런 식으로 해서 하여튼 언더바를 반드시 넣는 좀 그런 식으로 하는 버릇을 가지고 있습니다. 그게 저는 편하더라고요. 하여튼 본인의 방식대로 하는 건 좋은데 이런 것들은 좀 지켜줬으면 좋겠습니다. 그리고 대소문자 구분하는 경우도 있는데 변수에 자꾸 대소문자 섞어서 쓰는 것도 별로 좋은 방법이 아닌 것 같아요.
参与者 1 59:37 而且由于编程语言中可能有特定的关键词或函数名,所以你们必须始终注意这一点。在变量声明中写了很久,突然 later 发现里面出现了奇怪的值。这是因为在该编程语言中使用了某些特定的词,而将其用作变量时会产生这种情况。这是初学者常犯的错误之一。对于像我这样的人来说,为了避免这种错误,我总是在中间加下划线。比如像 abc_1 这样,或者 a_b_c,abc_2 这样。总之,我养成了必须加下划线的习惯。这对我来说很方便。当然,每个人有自己的方式是好的,但希望能遵守这些规则。另外,在区分大小写的情况下,经常混用变量的大小写也不是一个很好的做法。

Attendees 1 1:00:50 시의성도 떨어지고 변수의 호환성도 많이 떨어져서 별로 좋은 방법이 아닌 것 같더라고요. 약업 사용은 최소화하고 가능하면 전체 사용을 하는 것도 생각을 해봐야 됩니다. 변수가 길어지는 거 타이핑하기 귀찮아서 막 약어를 쓰고 줄여서 쓰고 막 이러는 거 또 별로 좋은 방법이 아니에요. 여러분 리눅스 사용해 보시면 알겠지만 자 탭 치면은 쫙쫙쫙 그냥 연결되죠. 그러니까 좀 길게 써도 탭 써가면서 하면 되니까 그다음에 가독성을 높이기 위해서 사용하는 이름 사용한다는 거 이거는 좀 주관적인 판단으로 되겠지만은 어쨌든 가독성을 높이는 거 저 같은 경우는 이 가독성을 위해서 이제 언더바를 좀 쓰는 편이에요. 그래서 프로그램 내에 언더 바들이 있으면은 선언된 변수임을 표현을 해서 그런 편입니다. 어떤 사람은 첫 글자는 대문자로 쓰는 사람도 있고 그런데 말씀드린 대로 대문자 대소문자 섞어 쓰는 것도 그렇게 썩 좋은 방법은 아닌 것 같아요.
参会者 1 1:00:50 时效性很低,变量的兼容性也非常差,似乎不是一个很好的方法。应该尽量减少使用缩写,并考虑可能的全面使用。因为打字麻烦而使用缩写和缩短变量名也不是一个很好的方法。大家在使用 Linux 时会发现,只需敲击 Tab 键就可以快速连接。所以即使写得长一些,使用 Tab 键也可以。然后,为了提高可读性而使用的名称是主观判断,但无论如何都是为了提高可读性。就我而言,我喜欢使用下划线。因此,如果程序中有下划线,就表示这是一个已声明的变量。有些人喜欢首字母大写,但正如我所说,混合使用大小写似乎也不是一个很好的方法。

Attendees 1 1:02:06 포화 문제에서 좀 그리고 여러 사람이 협업 이것도 상당히 중요한데요. 자꾸 제가 옛날 얘기를 자꾸 하게 되는 것 같긴 한데 예전에는 프로그램을 한 사람이 한 프로그램을 전체를 담당해서 하는 경우가 많았어가지고 프로그램 사이즈가 그렇게 크지 않았고 협업을 할 정도의 그렇게 대단한 그런 게 아닌 경우가 많았어 가지고 혼자 하다 보니까 변수든 프로그램 하는 방식이든 그냥 자기 뜻대로 하고 막 그랬거든요. 그래서 다른 사람이 보면은 도대체 무슨 프로그램을 어떻게 짜놨는지를 해석이 어려울 정도로 무슨 암호처럼 짜여 있는 경우가 종종 있었습니다. 그 사람이 일부러 못 알아보게 한다기보다도 혼자 그냥 작업을 하니까 그런 식으로 좀 돼 있었는데 요즘은 이제 프로그램 덩치가 워낙 커졌으니까 혼자 프로그램을 다 할 수가 없어요. 천 년 만 년 걸려서 프로그램 하연이 할 수 있겠지만 천년 만년 걸려서 프로그램 하는 게 무슨 의미가 있어요?
参会者 1 1:02:06 关于饱和问题,以及多人协作,这确实非常重要。我似乎总是讲过去的事情,但过去常常是一个人负责整个程序,程序规模并不大,也不需要太多协作。因此,一个人自己做,无论是变量还是编程方式都随心所欲。即使其他人看了也很难理解程序是如何编写的,就像密码一样难以解读。这并非是那个人故意要让人看不懂,而是因为独自工作而自然形成的。但如今,程序规模已经非常大,一个人根本无法完成。即使花费千年万年来编程,那又有什么意义呢?

Attendees 1 1:03:11 그렇죠 프로그램 하나가 가지고 있는 생명력이 1년도 채 안 되는 정도로 빠르게 발전을 하고 있으니까 많은 사람이 협업을 하게 되는데 반드시 그래서 요즘은 협업하기 전에 어떤 어디에 어떤 변수를 사용할 건지 이름들을 먼저 정해놓고 하는 경우도 종종 있습니다. 반드시 그걸 지켜서 해야 됩니다. 협업에 대한 중요성이 많이 강조가 되고 있죠. 그래서 여러분들도 팀 프로젝트 하고 막 자꾸 그러는 게 그런 것 때문이기도 하고요.
因为一个程序的生命力发展如此之快,不到一年,所以许多人开始合作。现在,在开始合作之前,人们常常会先确定在哪里使用哪些变量及其名称。必须遵守这一点。合作的重要性已经受到很大的强调。这也是为什么你们在进行团队项目时会这样做。

Attendees 1 1:03:51 앞에서 한 얘기를 조금 구체적으로 얘기를 하고 있습니다. 연도 달일 같은 경우에 ijk 이런 식으로 사용하는 것보다 이렇게 아예 플레임으로 확실하게 연도와 발과 날짜를 뜻하는 단어를 써가면서 확실하게 표현을 해 주면은 나중에 프로그램을 봐도 이 변수가 이 뜻이 뭔지 우리가 쉽게 알 수가 있죠. 그냥 변수를 abc라고 하는 것보다 a가 일한 시간을 뜻하는 걸로 그리고 이 숫자 2천이 시간당 지불하는 돈으로 그리고 한 달에 얼마를 지불하느냐는 월급 형태가 되겠죠. 그런 식으로 아예 이렇게 써주면은 이건 누가 봐도 이해가 가능하죠. 저런 식으로 변수를 좀 써서 사용을 하자는 겁니다. 어느 정도는 어느 정도는 물론 변수를 선언한 게 만인을 다 알아볼 수 있게 한다는 그런 목적은 아니지만 그래도 어느 정도는 알아볼 수 있게 사실 지금 여기처럼 이거 해놓으면은 이거 나중에 한 1년쯤 지나서 본인이 봐도 몰라요. 도대체 내가 이거 뭐 해놓은 거지 이럽니다.
我正在具体讲解之前提到的内容。比如在使用年份、日期等时,不要像 ijk 这样使用,而是使用明确的、能清楚表达年份、月份和日期的词语。这样,即使以后再看程序,我们也能轻易理解这个变量的含义。不要将变量命名为 abc,而是使用更具描述性的名称,比如 a 代表工作时间,2000 代表每小时支付的金额,月工资则是每月支付的金额。这样任何人都能理解。这就是我们想说的:尽量使用有意义的变量名。当然,并不是说变量声明能让所有人都完全理解,但至少能让人大致了解。就像现在这样,如果一年后自己再看,可能会想:我到底在这里做了什么?

Attendees 1 1:05:19 그래서 이 프로그램을 만약에 어떤 수정을 해야 된다 그러면은 자기가 해놓고 있는 이 프로그램이 뭔지 몰라가지고 모르겠다. 처음부터 다시 짜자 이렇게 돼버려요. 그런 경우 무지하게 많이 봤습니다. 그러면은 이제 저는 이제 소프트웨어 엔지니어를 안 했기 때문에 그런 소프트 엔지니어들이 그런 짓 한 거 보면 옆에서 보면 참 따딱하죠. 자기가 쓴 것도 못 알아보고 다시 처음부터 짜야 되면은 그거 짜느라고 또 한 일주일 옆에서 기다려야 되는 사람 마음은 참 갑갑하죠. 그다음에 변수 변수가 그냥 이름을 붙이고 이런저런 그런 알아보기 쉽고 물론 그것도 좋은데 말 그대로 변수를 활용을 하기 위해서 붙이는 용도로 이게 실질적으로 궁극적인 목적은 그거죠. 유연하게 하고 유용성을 갖게 하는 거 프로그램을 이거는 이제 환율을 계산하는 내용인데 이렇게 프로그램을 해놓으면은 요 값을 내가 바꾸고 싶으면은 여기서만 딱 바꿔주면은 환율 변동에 대해서 바로바로 적용이 되겠죠.
所以,如果要修改这个程序,他会不知道自己正在做什么程序,然后从头开始重新编写。我见过很多这种情况。因为我没有做过软件工程师,所以当我在旁边看软件工程师这样做时,感到非常沮丧。自己的代码都看不懂,还要从头开始重写,这样旁边等待的人的心情可想而知有多压抑。然后,变量,只是给它起个名字,虽然这也不错,但变量的根本目的是为了实际使用。使程序具有灵活性和实用性。这是一个计算汇率的程序,如果这样编写,当我想改变这个值时,只需在这里修改,就可以立即应用汇率变动。

Attendees 1 1:06:42 저거를 변수 선언을 안 하고 케이스 바이 케이스로 만들면은 프로그램이 오로지 그 값으로만 동작을 하게 되니까 그거를 방지를 하는 거죠. 이런 식으로 환율을 픽스를 안 시키고 어떤 상수 값으로 고정하지 않고 이렇게 변수로 선언을 해서 씀으로써 환율이 1300원이든 1400원이든 값을 입력을 하면은 이 프로그램을 쓸 수가 있으니까 이런 유연성과 호환성 이런 것들을 갖추기 위해서 변수를 적절하게 잘 사용하죠. 거 이런 방법에 아주 능숙한 사람들은 보통 프로그램을 참 잘 만든다라는 소리를 듣는 사람들이기도 하죠. 이제 제3자 입장에서 봤을 때는 이렇게 프로그램을 짜놓으면은 하루 이틀이 지나는 거는 그렇다 치는데 한 몇 달 정도 지나고 나서 현재 환율로 계산하려면 어떤 프로그램 새로 또 만들어야 되지 않나 이러는데 그냥 입력하면 됩니다. 이렇게 돼버리면은 그래 뭐 이렇게 되는 거죠.
如果不声明变量,而是逐个 case 地编写,程序将只能使用那个特定的值。这就是要避免的情况。像这样不固定汇率,而是通过变量声明来使用,无论汇率是 1300 还是 1400,只要输入值,就可以使用这个程序。这就是为了赋予程序灵活性和兼容性,适当地使用变量。那些非常擅长这种方法的人,通常被认为是很擅长制作程序的人。从第三方的角度来看,如果这样编写程序,过一两天还好说,但如果过了几个月,想用当前汇率计算,是不是还要重新编写一个新程序?但现在只需输入就可以了。就是这样。

Attendees 1 1:08:02 저런 식으로 프로그램을 변수를 적절히 잘 활용을 하면은 굉장히 프로그램이 유연해지고 어디든 막 쓸 수 있는 그런 프로그램으로 바뀌죠. 변수 사용에 대해서 여러분들 아무것도 아닌 것 같아도 변수 사용에 대해서 좀 한 번씩 잘 들여다보면서 어떻게 사용하면은 잘 사용했다고 소문날까 한 번씩 고민해 보는 것도 좋습니다. 연속 사용 잘하는 사람들은 정말 잘해요.
如果合理地善用变量,程序就会变得非常灵活,可以在各个地方使用。尽管关于变量的使用看起来可能微不足道,但值得认真思考如何才能成为善用变量的人。善于连续使用变量的人确实很厉害。

Attendees 1 1:08:41 여기도 이제 온도를 섭시하고 화시를 변환하는 거를 변수 선언을 함으로써 조금 유연하게 처리할 수 있도록 한 예를 이렇게 설명을 한 겁니다. 그냥 그렇게 설명을 해놓은 거고요. 예를 들어본 거고 요거 한번 보시죠. 이거 우리 참 많이 많이 사용하는 알고리즘인데
这里我们通过变量声明,展示了如何更灵活地处理摄氏度和华氏度之间的转换。这只是一个简单的示例说明,是我们经常使用的算法。让我们一起来看看。

Attendees 1 1:09:15 여기에 들어 있는 음료와 여기에 들어 있는 음료를 서로 바꾸는 방법입니다. 여기 빈 컵 하나 있고, 예 이거 우리 그 값을 서로 대체할 때 굉장히 많이 사용하죠. 프로그램에서 이거 아마 여러분들 이런 거 한 번도 난 써본 적 없는데라는 사람 혹시 있을지 모르겠는데 아마 본인이 인식하지 못하는 사이에 사용했을 가능성도 있어요. 한번 본인이 이때까지 짰던 프로그램들 중에 값을 교환하는 그런 내용이 있었던 적이 있었다면 그 부분 한번 자세히 보시면은 이런 방법들을 취했을 겁니다. 얘를 여기다 넣고 얘를 여기다 넣고 그다음에 얘를 다시 이쪽으로 옮기는 그런 방법 이거는 메모리 사용할 때 값을 변환할 이렇게 서로 교환하고 할 때 메모리에서 하나 이거를 우리가 소위 메모리에서는 버퍼라는 말을 씁니다. 버퍼를 하나 두고 데이터를 서로 이렇게 맞교환하는 용도의 버퍼를 두는 내용입니다. 기본적으로 굉장히 많이 쓰는 종목이죠.
这里是如何交换这里的饮料和这里的饮料。这里有一个空杯子,对,这是我们在交换值时非常常用的方法。在程序中,这可能是你们从未使用过的,但很可能在不知不觉中已经使用过。不妨看看你到目前为止写过的程序中是否有交换值的内容,如果有的话,你可能会采用这种方法:先把这个放在这里,再把那个放在这里,然后再把这个移到另一边。这在使用内存交换值时,我们通常在内存中使用所谓的缓冲区。设置一个缓冲区,用于交换数据。这基本上是一个非常常用的方法。

Attendees 1 1:10:31 한번 이거를 프로그램으로 한번 짜보는 것도 간단하겠지만 한번 연습 삼아 한번 해보시는 것도 재미있을 겁니다. 이런 거 하나하나 직접 한번 해보세요. 직접 해보시는 게 좋습니다.
虽然用程序实现这个可能很简单,但作为练习尝试一下也会很有趣。请亲自尝试这类事情,一步一步来。亲自动手实践是最好的。

Attendees 1 1:10:51 이렇게 옮기는 거를 얘기를 하죠. 알고리즘의 가장 기본 구조 세 가지입니다. 순차 구조 선택 구조 반복 구조 이거 여러분들 아마 지금 여기 1학년들이 아니니까 이제 2학년 이상 3~4학년들은 당연히 알 거고 2학년도 대부분 아마 아실 것 같아요. 우리가 크게 세 가지 기본 구조를 가지고 있습니다. 말 그대로 순차적으로 선택하는 거 반복하는 거 선택 구조는 우리 프로그램에서 많이 쓰는 거 이프문이라든가 케이스 문 같은 거겠죠. 그리고 방법론은 여러분들 제일 많이 쓰는 포문 그렇죠 예 여기는 그냥 이렇게 내용만 있어가지고 제가 말씀드린 대로 요 시작과 끝을 넣어서 다시 정리를 해놓은 겁니다. 시작과 끝이 혹시 이렇게 안 보이더라도 여러분들은 보셔야 됩니다. 여기에 생략이 돼 있더라도 반드시 있는 걸로 보셔야 돼요. 이거 자꾸 이런 거 생략하지 마세요. 이런 거 생략하는 게 절대 잘하는 게 아닙니다. 고수가 아니에요. 시작과 끝은 반드시 존재해야 됩니다.
与会者 1 1:10:51 我们来谈论如何移动。这是算法的三种最基本结构。顺序结构、选择结构和循环结构。现在的学生可能已经不是一年级的了,二年级以上或三四年级的学生当然都知道这些。我们有这三种基本结构。就是按顺序选择、重复。选择结构在我们的程序中经常使用,比如 if 语句或 case 语句等。方法论是你们最常用的 for 循环,对吧?这里只是按照我刚才说的,把开始和结束加进去重新整理了。即使开始和结束看起来不明显,你们也必须要看到它们。即使有省略,也要认为它们一定存在。不要总是省略这些。省略并不意味着你很厉害。开始和结束必须存在。

Attendees 1 1:12:24 무한 루프를 도는 한이 있더라도 반드시 시작과 끝은 있어야 됩니다. 이거는 뭐 그냥 흔히 비유해서 쓰는 말이고 구두 하나씩 살펴보는 거는 다음 시간에 합시다. 오늘은 여기까지 하고 레포트는 제출을 해 주시면은 그거는 쭉 제가 살펴보고 피드백을 드릴 것들은 좀 드리고 할 테니까 되게 단순하게 풀면 되게 단순한 문제입니다. 굉장히 다들 심플해요. 근데 여러분들 그걸로 한번 여러분 이 여러 가지 경우를 생각해 볼 수 있는 거를 좀 최대한으로 한번 생각을 해보세요. 어떤 경우들이 나올 수 있는지 지난 학기 때 150명이 그 문제를 풀고서 낸 답안지에서 나온 많은 얘기들이 진짜 굉장히 다양했습니다. 좀 다양한 것들을 생각을 좀 해 주셨으면 좋겠어요. 다음 시간에 얘기합시다.
与会者 1 1:12:24 即使会无限循环,开始和结束也必须存在。这只是一个常用的比喻。具体的细节我们下次再讨论。今天就到这里,请提交报告,我会仔细查看并给出反馈。这是一个非常简单的问题。对大家来说都很简单。但希望你们能尽可能多地考虑各种可能的情况。上学期 150 人解决这个问题后提交的答卷中出现了非常多样的内容。希望你们能多思考一些不同的情况。下次我们再讨论。

Attendees 1 1:13:49 자 이거 틀어라
与会者 1 1:13:49 好的,打开这个

Attendees 2 1:14:18 이 플러스에 대한 비디 한번 더요.
与会者 2 1:14:18 再放一次关于这个加号的视频。

Attendees 1 1:14:37 있을 거야 아 이게 재고 하느라고 이렇게 해놓고 찍어 봐.
参与者 1 1:14:37 会有的,啊,这是因为库存,所以这样做并拍摄。

저렇게 말로 설명도 물론 좀 중요한데 도식화된 어떤 형태도 같이 표현을 해줬으면 좋겠다는 거예요. 우리가 저렇게 말로도 많이 물론 당연히 써야 되는 건데 사실은 어디 가서 누구하고 얘기할 때는 이런 그림 좋아하잖아 그림 많이 띄워놓고 얘기하잖아요. 그러니까 그런 거 생각하시고 이거를 만약에 본인이 다른 사람한테 프리젠테이션을 한다라고 생각을 하고 이런 도식된 그림이 하나 정도 있으면 설명하기가 편하잖아 그런 걸 한번 생각을 해서 작성을 한번 해보세요. 만약에 세탁 작업이 고정이 되면 나중에는 그저 작업도 훨씬 좋아 그럼 가능하겠죠. 그러니까 여기 지금 이것처럼 만약에 한 이거 하나만 한다고 그러면은 한 사람이 이걸 다 알 거잖아. 그렇죠 한 사람이 세탁 끝나고 나면은 건조 할 거고 면접 끝나고 나면 다 렌즈를 하고 이렇게 하면 끝나잖아요. 한 사이클이 그래서 만약에 세탁기가 한 대만 있고 건조기도 한 대 있고 그렇다고 그러면 이렇게 할 수밖에 없겠지. 사람 한 명 사가지고 이게 두 명 쓸 이유가 없잖아요. 그 근데 우리는 지금 이거를 여러 사이클로 만들고 있습니다. 그래서 최소 최대 6개까지 동시에 처리하려고 하는 거니까 그러면 이제 사람이 이렇게만 놓고 보면 단순 계산하면 사람이 6명이 필요한 건데 그렇게까지 그렇게 할 필요는 없어 보이잖아요. 그렇죠 이게 뭔가 순차적인 시행도 가능할 것.
虽然口头解释当然很重要,但我希望也能用图形化的形式一起表达。我们当然需要用语言描述,但实际上在与别人交谈时,不是喜欢展示图片吗?总是会打开图片并进行交谈。所以,请考虑这一点,如果你要向他人做演示,有一张图解会更容易解释,对吧?请尝试这样编写。如果洗涤作业固定下来,以后工作会变得更好。如果只是这样做,一个人就能全部了解。对吧?一个人洗涤完后会进行干燥,面试结束后会处理镜片等,就这样结束了一个周期。如果只有一台洗衣机和一台烘干机,就只能这样做。没有必要两个人使用。但我们现在正在创建多个周期。我们希望能同时处理最多 6 个,所以从人力角度来看似乎需要 6 个人,但实际上可能不需要那么多。对吧?这似乎是可以顺序进行的。

엑셀 파일 좀 그것도 제출해야 그것도 같이 좀 그러니까 지금 말로만 막 써 있을 거 아니에요 그거를 좀 도식화시켜달라고 그러니까 말로 설명하는 것도 좋은데 아까 좀 전에도 그 얘기 누가 물어봤던 것 같은데 그러니까 저렇게 생각하면 편할 것 같아요. 그러니까 다른 사람한테 프리젠테이션 한다고 생각하고 좀 어렵잖아. 이해시키기가 뭔가 그림이나 그런 도식화를 해서 설명을 할 수 있게 그러면 그이 없이 그림만 갖다 놓고 설명이 가능하잖아. 그런 식으로 그러면 그림 하나하고 설명서 있으면은 나도 이해하기도 훨씬 편할 거고.
Excel 文件也要一起提交,现在可能只是文字描述。希望能将其图示化。虽然口头解释也不错,但如果能用图表或图示来解释,会更容易理解。对于向他人做演示,通过图示说明可以让人更容易理解。如果有一张图和说明,我也会觉得更容易理解。

clovanote.naver.com