[Powered by Google Translate] 데이빗 J. MALAN : 좋아,이 CS50하고이입니다 주 1의 끝, 그래서 학습 카드는 총 수는에 있고 이 년이 있는지 친구들은 745입니다. 그리고 그렇게하는 과정에서 당신이 너무 많이가 흥분하고 이번 학기 있지만,이 과정은 매우 넓고하더라도, 이 같은 금요일 점심처럼 이런 일 거라는 걸 깨달았 근무 시간, 15 사람 섹션, 등등 그 정말 더 친밀한를 생성하기위한 정책을 시행하고 있습니다 환경. 그래서 우리는 여기에 한 번 또는 일주일에 두 번 모여 경우에도 샌더스,이 과정에서의 경험을 그렇​​게 많이 알고 매우 많은 급우와 함께에 손 - 될 것입니다 및 교수진. 그래서 여기에 우리가 2012 년 가을, 이동합니다. 그래서 우리가이 끝났지 만 마지막 시간을 기억 숫자의 표현에 대해 얘기 부정확. 그리고 우리는에 무슨 일이 있었 오류 중 하나 바라 보았다 그 오해에 온 현실 세계, 어떻게 컴퓨터가 작동합니다. 글쎄, 오늘 우리는 이와 같은 아이디어 중 하나를 다시합니다 뿐만 아니라 CS50 클라이언트의 토론을 계속 및 C과는이 프로그램에 정말 의미합니다. 하지만 먼저, 회오리 공지 불과 몇. 섹션 이번 일요일 시작하고 첫 주 항상이다 빠른 시작의 비트, 우리가에 있으니까 섹션 양식. 우리는 지금, 교육 친구들과 함께, 지금 같은 짓을 자신의 일정을 알고에 의해, 우리가 목표로하고 있으므로 토요일 아침, 네 섹션으로 당신과 함께 후속 조치를 할당 및 TF. 그들은 다음 날 시작하는 거라고 생각, 일요일 월요일이나 화요일. 가 발생으로 그리고 우리는 섹션 변경 사항을 수용합니다 일 올 수 있습니다. 근무 시간은 한편, 다시, 오늘 밤, 11-8 PM,에 Annenberg뿐만 아니라 내일 있습니다. 문제 세트는 일반적으로 목요일에 의한 경우에도 정오에, 당신은 지출하는 데 약 다섯 늦게 일까지된다는 목요일 근무 시간의 따라서 가용성 경우 당신은 그 늦은 일 중 하나에서 현금과,이를 제출 금요일에 무언가. 제가 중, 스크래치가 더 재미 중입니다 제안 더 낮은 키 문제 설정합니다. 그리고 난, 전략적, 그 말 일에 놀았어요 생활 방해을 시작할 때 나중에 학기에 대한 중간 고사 및 기타 수업. 문제 세트 1 한편, 코스의에 게시됩니다 웹 사이트가 금요일로는 코스의 거리에있을 것입니다 동영상으로, 그 금요일에 오후 2시 반에서 촬영 될 것입니다 그 다음 날이 온라인을 올렸다. 그래서 우리는 월요일에 끝났습니다. 사실, 하나 여기서주의 - 제가하고 싶습니다. 때문에 수업 - 샌더스 정확히 대여하지 않기 때문에 자체 캐주얼 Q & A로 돌아 가기 앞뒤로 정말 잘, 우리는 상기 좀 새로운 올해 무언가를 시도하려고 당신은 손을 높여 편안하지 않거나 경우 오히려 이런 방에서 손을 들어하지 않을 것은 우리는 교육 휄로우 및 인증 기관 (CA)의 일부를 할거야 강의 중에 cs50.net/discuss 조작법을. 내가 완전히라서 질문이면 무언가 또는 당신에 대해 불명확 한 몇 가지에 대해 궁금해 주제, 거기에 게시 해보십시오. 강의의 라벨과 태그를, 우리는 최선을 다하겠습니다 오늘과 다음 주 - 꼭은 이렇게 해보세요 -를 필드에 어느 온라인, 온라인, 또는 경우 우리가해야 느낌 정말, 실내 masse 교육 친구들 중 하나를 그것을 해결하거나 인증 기관 (CA)은 손을 올리고 요청합니다 사용자를 대신하여 익명으로. 그래서 우리는이에게 시도하고 얼마나 잘이 작동 표시를 제공합니다. 그러나, 모든 수단으로, 당신이 원하는대로 손을 높이하고 있습니다. 그럼 마지막으로 우리는 10 % 한 열째가 아닌 것을 밝혀 당신이 몇 년 전에 배운 것처럼 사실, 0.1. 그것은이 같은 값은 사실입니다. 하지만 지금, 전적으로 사실이 아니 잖아? 우리는 당신 경우, 컴퓨터 상기에서이 제약 조건을이 단지 유한 메모리의 양, RAM, 이상이 특히 비트, 글쎄, 유한 번호는이 일을 귀하는 할 수 있습니다. 예를 들어, 우리는 숫자 제로를 가지고 있고, 경우에 우리는 원하는 , 8 비트를 사용하여 바이너리로 나타냅니다있는 비트, 다시 제로 또는 하나입니다, 우리는 수도 00000000로 나타냅니다. 그리고 조금 불필요하게 자세한입니다. 그냥 현실 세계에서 십진수 시스템에 좋아 일반적으로, 당신은 수 (123)를 작성하려는 경우, 우리는 인간은 아마 비록 00000123를 작성하지 않습니다 기능적으로, 동일한 번호는입니다. 우리는 말하자면, 맨 앞에 0을 놓습니다. 바이너리에서, 우리는 같은 작업을 수행 할 수 있습니다. 바이너리 및 제로, 제로와 이진은 0입니다. 당신은 단지 하나의 비트가 필요합니다. 그러나 세계에서 측정 다시 가장 일반적인 단위 컴퓨팅의 바이트 8 비트입니다. 하나 비트, 꽤 쓸모 때문입니다. 8 비트, 참으로 유용하지,하지만 적어도이 더 측정 한 단위보다 유용합니다. 따라서 8 비트와 함께, 우리는 일반적으로 바이너리를 대표합니다. 그래서 여기에 우리가 같이 한 다음, 숫자 영, 하나, 둘를 가지고 있고, 네이트 지난 수요일의 동영상에서 한, 우리는 계속 8, 7까지 세는. 그리고 우리는 더 많은 비트를 사용하는 경우, 우리는 무한대까지 셀 수 있습니다. 만 이러한 비트 유한 번호가 있다면, 그대로 심지어 어떤 컴퓨터 시스템의 경우, 또는 미사일 시스템은, 음, 사실 만이 정밀도의 유한 금액입니다. 당신도, 0.1과 같은 수를 나타냅니다하고 싶다면 컴퓨터 선택을 선택합니다. 그리고 만 할 수있는 숫자의 유한 수있는 경우 대표 아주 가까이 당신을위한 0.1 올 수 있지만 수 없어 반드시 당신이 원하는 것을 정확하게 값을 제공합니다. 그리고, 그냥 컴퓨터의 문제 중 하나입니다 후드 아래에, 고맙게도. 우리가 학기에 멀리 이동이 낮은 수준 자세한 내용은 훨씬 더 흥미로운되고 있지만, 확실히 이러한 아이디어의 응용 프로그램은 매우 현실 세계를 가질 수 파급 효과. 하나는 조금 재미 있습니다. 어떻게 많은 놀라운 영화 사무실 공간을 본 적 있어요? 당신이하지 않았다면, 그건 당신이 비공식입니다 일주일 숙제. 그러나 사무실 공간에서, 그 영화에서이 사람들이 소요될 정확하게이 아이디어를 이용하지만, 실제로는 훔쳐 그것은 당신이있을 수있는 다른 영화에서 몇 년 전에, 본 적 있어요. 그럼 내가 너에게이 트레일러 몇 초에서 주자 이 놀라운 영화이 매우이다 학문적 관련. [동영상 재생] 사실은 내가이 홍보하는거야. 나는 추출하는 바이러스를 프로그램 할 수 큰 시간을 넣습니다. 음, 어떻게 작동합니까? 관심이있는 은행 거래가 때마다 계산, 수천명이 하루 있습니다, 컴퓨터가 종료 동전이 분수. 하지만 불법적 인 일을하지 않을거야. 불법? 사미르이 미국입니다. 당신은 하나님 께 맹세 해. 아무도이 사실을 아는 사람은 없어요하지만 우리, 알았지? 경우 어떤 가족도없고 여자 친구, 아무도. [INAUDIBLE]. 사람, 나도 아무에게도 말 안 테니 너무 걱정하지 마십시오. [영화는 끝] 좋아, 그럼 내가 가장보다이 영화를 더 잘 발견 그들은 있다는 여기 사람들, 그러나 어떤 경우에는 바이러스 만들려고 - 그리고 영화에서 언제든지 그들은 어떤 바이러스라고 할 걸 사실은 일반적으로 바이러스 없습니다. 단지 누군가가 뭔가를 작성하는 프로그램입니다. 그리고이 경우에, 사람들은 프로그램을 작성하려고했던 그 Innotech의라는 회사를 이용했다 컴퓨팅 시스템도된다 컴퓨터, 심지어 때 수 필요하지, 돈에 관한 정확하게 돈을 나타냅니다. 당신은 귀하의 은행 계좌에 $ 0.10이있을 수 있으므로하더라도 0.10는, 음, 컴퓨터는 실제로 당신이 가진 생각 수 있습니다 귀하의 은행 계좌에 이렇게 많이 센트. 그리고 어떤이 사람들은 할 대망을 품고있는 한 -하고 아이디어를 훔 쳤고, 어디, 수퍼맨 III에서 밝혀 리처드 Pryor 같은 일을 한거다 - 그들은 본질적으로했다 뒤에 모두 취할 열망 쓰기 프로그램 숫자의 작은, 작은, 작은 분수의 페니, 그 때문에 그를 몰래 인간 단지 생각은, 오, 거기 만 $ 0.10이지만, 그 모든 뒤에 숫자는 결국 추가 할 수 있습니다. 좋은 생각 자와 그 안에 hilariously 어긋난 특히 영화. 그러나 현실 세계에서도 훨씬 더 관련이 있습니다 일 이러한 종류의의 의미. 그 이유 중 하나는 컴퓨터 분야에 뛰어들 과학은 다시하지에의 적용이다 공학 과학 혼자이지만, 단지에 다른 분야뿐만 아니라. 그래서이 잘못 수에서 덜 가벼운 모습이지만, 가에 관해서는, 내 생각도 꽤 눈 오프닝 정확히 어떻게 편재하는 기술 등의 이해 컴퓨터와 프로그래밍하거나 일 소프트웨어의 형태 인치 그래서 다음 클립은 단 6 분만에 대한 것입니다 계속 우리는 지난 시간을 남겼는데, 우리는 조금 볼 수있는 곳 이러한 문제 등 한 곳에서 깊이에 더. 내가 우리가 그만 둔 곳으로 건너 뛰고 보자 어떤은 여기 있었어요. 그리고 여기 6 분 동안 두 두 번째 부분이 있습니다. [동영상 재생] 현대적인 로켓 기술을 괴롭혀. 1991 년, 첫 번째 걸프 전쟁의 시작과, 애국 미사일은 비슷한 가지를 경험 숫자 변환에 문제가있을 수 있습니다. 그리고 그 결과, 20 명 20 미국 병사가 사망했다 예정 된 애국, 언제, 약 100 명의 사용자가 부상을 수신 Scuds을 방지하기 위해, 미사일을 발사하지 못했습니다. 이라크 침공했을 때 쿠웨이트와 미국은 사막을 시작 초기 1991 년 폭풍, 애국자 미사일 배터리였다 이라크에서 사우디 아라비아와 이스라엘을 보호하기 위해 배치 스커드 미사일 공격. 애국은 미국 중간 범위 표면 - 투 - 공기 시스템 Raytheon 회사에 의해 제조. 애국 요격 자체의 크기는, 그것은 관한 약 20 시간 발은 약 2천파운드를 부여합니다. 그리고 약 탄두를 운반 - 나는 대략 생각 1백50파운드. 그리고 탄두 자체가 높은 폭발입니다 주변 조각. 탄두의 케이스는 사슴 사냥 용 총알처럼 행동하도록 설계되었습니다. 미사일은 컨테이너 당 4 개의를 실시하고 있습니다 세미 트레일러에 의해 운반. 애국 반 미사일 시스템은 최소한으로 돌아갑니다 현재 20 년. 원래에 방공 미사일로 설계되었습니다 첫 번째 걸프전에서 적의 비행기를 격추 시켜라. 그 전쟁이 함께 왔을 때, 미군은 쏘을 사용하고 싶어 Scuds 아니라 비행기 아래로. 에어 이라크 포스가 너무 문제가 아니었지만 군 Scuds 걱정했다. 그리고 그들은 애국를 업그레이드하려고했습니다. 마하 5시 여행 적의 미사일이가는 가로 채고 충분히 도전 할 수 있습니다. 그러나 애국은 서비스에 달려되었습니다 육군 자신의 한 이라크 수정의 인식 아니 었 솜씨가 거의 불가능 Scuds. 무슨 일이 있었 냐면했다 Scuds입니다 에 들어 오면은 불안정했다. 그들은 흔들되었습니다. 그 이유는 600을 위해, 이라크했습니다 300km 범위 미사일 km 아웃은했습니다 앞 탄두의 무게 아웃과 탄두는 라이터했습니다. 그래서 지금 애국은 엄청난에서 오려고하고, 대부분의있어 시간은 시간의 압도적 인 대다수는, 그렇지 단지 엄청난 지나갈. 애국 시스템 운영자는 애국을 실현되면 목표를 놓친, 그들은 애국자 탄두를 폭발 시켰고. 가능한 희생자를 방지하기 위해, 그것은 허용 된 땅에 떨어지지합니다. 즉, 하늘의 큰 fireballs으로, 대부분의 사람들이 였어 와 스커드 탄두의 가로로 오해. 밤 하늘에, 애국자로 나타나 있지만 성공적으로 파괴 Scuds는 다란에서 더이 없었다 성능에 대한 실수. , 애국의 레이더 시스템은 추적이 끊겼 엄청난 수신 인해 시작되지 않을 소프트웨어 결함합니다. 그것은 처음 발견 이스라엘인이었다 이상 시스템은 더 시간이 일치되었고,에 나왔 었어요 시스템의 컴퓨터에 내장 된 시계로 인해. 약 2 주 다란,의 비극 전에 이스라엘 국방부에보고 그 시스템 시간을 잃어되었습니다. 실행 약 8 시간 후, 그들은 발견이 시스템이 현저하게 적은 정확한 들어갔다. 국방부는 모든 말에 반응 애국 배터리는 시스템을 떠나지하기 오랫동안 있습니다. 그들은 긴 시간이 뭔지 말 안 - 8 시간, 10 시간, 1,000 시간. 아무도 알지 못했다. 애국 배터리는 다란에있는 부대에 배치 및 결함 내부 시계에서 100 시간에 있었다 2 월 밤 25번째. 이 두 번째의 10에 대한의 정확도로 시간을 추적. 지금 두 번째의 10는 흥미로운 숫자입니다 때문에 그것은 즉, 정확히, 바이너리로 표현 할 수 없습니다 그 어떤 정확히 표현할 수없는 현대 디지털 컴퓨터. 그것은 믿기 어렵습니다. 그러나 예를 들어,이를 사용합니다. 가 수 한 세번째 봅시다. 세번째는 정확히, 십진수로 표현 할 수 없습니다. 한 세 번째는 0.333가 무한 동안 무슨 일이 일어나고 있습니다. 소수의 절대 정확도로 그 작업을 수행 할 수있는 방법은 없습니다. 그게 바로에 일어난 문제의 같은 종류 애국. 더 이상 시스템은 더 시간 오류가되었고, 실행. 작동 100 시간 후, 시간의 오류 만했습니다 두 번째 중 하나에 대한 세번째. 그러나 마하 5시 여행 미사일을 타겟의 관점에서, 그것은 600 미터의 추적 오류가있었습니다. 그것은 다란에있는 병사들에 대한 치명적인 오류가 될 것입니다. 무슨 일이 것은 엄청난 출시입니다는 조기 경보에 의해 발견되었습니다 인공위성과 그 엄청난이 들어오는 것을 알고 일반적으로 안내 할 것입니다. 그 일이 일어날 지이 어디 있는지도 몰랐을. 그것은 애국의 레이더 구성 요소까지 지금이었다 추적을 찾아 유지하는 시스템 다란를 방어, 들어오는 적의 미사일. 레이더 아주 똑똑했다. 당신은 정말로 엄청난의 위치를​​ 추적하고 것 아마도 다음 번에 ​​것 위치 예측 레이더는 펄스를 보냈습니다. 그는 범위 게이트 불렀습니다. 그런 다음, 한 번 애국 충분한 시간이 갈 통과 결정 백업이 감지은 다음 위치를 확인 객체는, 그것은 거슬러 올라갑니다. 그럼 뒤로 잘못했을 때, 그것은 그럼, 아무 볼 수 없습니다 이의를 제기하고, 더 객체이 없었 결정합니다. 그것은 거짓 탐지이고 트랙을 떨어. 들어오는 엄청난은 레이더 화면에서 사라졌다. 그리고 초 후에, 이건 부대를 강타. 엄청난 28 명을 죽이고, 동안 발사 마지막 하나 첫 번째 걸프전. 안타깝게도, 업데이트 된 소프트웨어 다란에 도착 다음 날. 그리고 소프트웨어 결함에 한 장을 종료, 고정 된 애국자 미사일의 힘든 역사. 애국자는 실제로 "단계적으로 배열 추적의 약자입니다 대상의 차단. " 별로 모든 권리 때문에 훨씬 더 슬픈 결과 이 세계를 이해. 그리고 테이크 아웃, 정말 영화에서입니다 솔루션 귀하의 미사일 방어 시스템을가 재부팅 된 가끔씩. 그리고 다시이 과정의 목적 중 하나 확실히 이 응용 프로그램보다 더 겸손한 규모,하는 것입니다 당신이 가서 정확히하는 방법에 정말 열려있는 모든 사람들의 눈 만드는 기계 일을 당신이하고 싶은 방법과 당신이 가서 그 길을 따라 그것을하는 동안 약 제대로하고 물론 우아하게, 등등. 그리고 오늘날이 좀 더 뛰어 들다의 해 있지만, 수 있도록 우리는 특히 그 이하, 너무 빨리 가지 마세요 우리는의 이익을 유지할 수 편안한뿐만 아니라되도록 그 더 편안하고 조금으로 시작 빨리 만하자 이러한 아이디어 중 일부 뉴스 레터를 살펴을. 이 경우 다시 한번, 직접 또는 온라인 모두 도보로 문의 질문 그래서 우리는 같은 페이지에있는 모든 사람을 유지할 수 있습니다. 그래서 CS50 어플라이언스, 다시 빠른 단계입니다 자신의 단어에? 당신이 그 단어가 아직있을 수 있습니다 아무 생각이없는 경우는 OK입니다. [안 들리게] 그래, 그럼에 대한 보편적 인 인터페이스 - 우리 모두 공유 할 수있는. 물론입니다. 그래서 우리는 예를 들어, 일부에 가서 말할 수 웹 사이트, 맥 OS 용 소프트웨어를 다운로드 할 수 있습니다. 에서 구성, Windows 용 소프트웨어를 다운로드 이 방법 그. 하지만 현실은 우리가 수많은 기술로 한 다음 실행합니다 문제를 지원합니다. 또한 요즘, 서버 측을 수행하는 일의 많은, 컴퓨팅의 세계에서, 특히 그에게 찾아온다 웹 개발 및 웹 기반 응용 프로그램은 실제로 종종 UNIX 또는 Linux 컴퓨터에 수행 등이 아닌 Mac 또는 윈도우 PC. 그래서 나름의 매력 중, 다음이 일을 사용하는 호출 CS50 어플라이언스 우리 모두가 같은 환경을해야합니다. 그래서 모두가 동일한 페이지에 어떤 하드웨어가 당신이 상관 없다 와 함께 캠퍼스에 와서뿐만 아니라, 정확히에 dabbling 될 것입니다 당신은으로 사용됩니다 것과 동일한 환경 학기의 끝뿐만 아니라에 대한 웹 개발뿐만 아니라에 그 실제 응용 프로그램에 대한 미래. 따라서 더 구체적으로, CS50 어플라이언스의 무료 조각입니다 당신이 다른 운영 체제를 실행할 수 있습니다 소프트웨어, 리눅스,이 경우 자신의 컴퓨터에, 윈도우 인치 이제 막 어플라이언스를 다운로드 할 수 없습니다. 당신은 어플라이언스를 재생하거나 실행하는 데 필요한 프로그램이 필요합니다. 및 소프트웨어의 조각은 일반적으로로 알려져 있습니다 하이퍼 바이저. 하이퍼 바이저는 VM웨어와 같은 제품의 형태로 가상 박스, 패러랠즈. 기업의 모든 종류의 소프트웨어, 무료 모두하고 모두, 상업. 이 문제에 볼을 설정할 1 방법에 대한 지침 아르 무료 소프트웨어를 취득하는 방법과 CS50 어플라이언스를 실행합니다. 그리고 일단, 당신은 Mac 또는 PC의 창에해야하나요 상당히과 같은 데스크탑 환경, 어디서 그것은에 시작 메뉴와 같은 것을 가지고 왼쪽 하단. 그것은 왼쪽 상단에 홈 폴더 또는 홈 디렉토리가 거기 휴지통은 안돼, 등등. 그래서 우리는 우리가 진행하면서 필요한 세부 정보를 분리 애타게됩니다. 그러나 지금은 C.에 뛰어들 시작하자 따라서 C는 정신에 유사합니다,이 프로그래밍 언어입니다 스크래치하지만, 훨씬 적은 그래픽,하지만 아이러니하게도, 지금까지 당신이와 이해가 가면 더 강력합니다. 따라서 C에서, 우리는있는 소스 코드를 작성하여 프로그램을 작성할 양말과 비슷한이 영어와 같은 구문, 우리가 작업을 수행 할 수 있습니다 마지막으로 시간을 한 것을 데모 경우 매우 정확하게 자신을 표현 arcanely, 컴퓨터에. 그래서 당신은 실제로 제품 소프트웨어의 어떤 종류가 필요합니까 우리에 따라, C와 같은 언어로 프로그램을 작성하는 방법 월요일에 대화? [안 들리게] OK, 당신은 단지 텍스트 편집기가 필요합니다. 당신은 어떤 특별한 소프트웨어가 필요하지 않습니다 당 SE 프로그램을 쓸 수 없습니다. 당신은 Windows에서 메모장과 같은 텍스트 편집기를 필요 Mac에서 텍스트 편집기, 또는 세계에서 gedit라는 걸, 우리가 사용할 리눅스. 그리고 그 프로그램을 작성하는 거예요. 그러나 쓰기는 방정식의 절반 만입니다. 그런 다음을 실행해야합니다. 그러나 프로그램을 실행하려면 - 당신은 소스 코드를 실행할 수 없습니다. 대신 먼저에게 무슨 짓을하는거야? 그래. 데이빗 J. MALAN : 당신은 필요 그것을 컴파일. 그리고 다른 사람은 소스 코드를 컴파일하는 것도 의미 - [안 들리게] 데이빗 J. MALAN : 그렇지. 제로과 사랑하는 사람들에 번역. 우리 모두는, 요즘 CPU를 가지고 컴퓨터를 가지고 있기 때문 거의 어떤 모두 인텔이라는 회사에 의해 만들어진, 그리고 인텔 내부, 당신의 뇌 내부가 의미 CPU로 알려진 컴퓨터. 그리고 뇌는 않는 것 중 하나는 알고있다 제로와 사람들의 패턴을 이해하는 방법. 그것은 비트 패턴이 추가 상징하는 그 무엇을 알고 무엇 패턴은, subtractions를 나타내는 어떤 패턴의 비트 인쇄 및 음성 사운드를 만들어냅니다. 그래서 짧은에, 운영 체제와 결합 CPU,, 그 때문에 CPU의 상단에서 실행 소프트웨어의 조각입니다 말하자면합니다. 함께 두 조각은 프로그램을 실행하는 방법을 알고 우리 인간은 써주세요. 여기 CS50 어플라이언스로 이동하면, 나는 열 필요 텍스트 편집기에서 위이에 액세스 할 수 있습니다 몇 가지 방법 인치 나도 메뉴로 이동 할 수 있습니다, 프로그래밍, 그럼 내가 선택할 수 있습니다 - 아니, 아니 그 메뉴. 나는 액세서리로 이동 / 열려면 여기를 gedit 수 내 작은 텍스트 편집기. 이상 간단하게, 내가 바닥에이 작은 아이콘을 클릭하면 왼쪽 코너. 그리고 지금 여기이 환경을. 단지로는 간단한 텍스트 편집기의 아름다운 연상입니다 하나 또는 두 개의 차이. 상단에 커서가 현재 점멸 곳이 어디있어 내 코드를 작성할 수있을 것입니다. 아래에서이 점은 터미널 창이라고합니다. 그리고이 일에 무슨 일 종류를 수행 할 수 터미널 창 소위? [안 들리게] 좋아, 내가 명령을 실행합니다. 그리고 우리가 월요일에 실행 명령의 일부가 어렸을 때 목록 암호화 처음 엔하지만이게, 변경 디렉터리에 대한 CD, RM 제거하십시오. 따라서이 탐색의 구식 방식의 일종 이죠 컴퓨터 만 키보드 및 텍스트 명령을 사용하여 아니라, 일반적으로 마우스를 사용합니다. 하지만 오래 전에 볼이 실제로 우리에게를 제공합니다 좀 더 힘과 좀 더 정밀 할에 동의 자신을 표현한다. 그리고 여기 왼쪽으로, 우리가 볼거야 우리는 서면으로 소프트웨어의 작은 요약을 시작으로 우리가 왼쪽 상단 작성한 프로그램입니다. 하지만 우리는 오랫동안 전에 다시 볼 수 있습니다. 그래서 여기 아주 간단한 일을 해보자 구. 내가 먼저 가서, 파일 저장 가자, 그리고 난 단지 왼쪽 위에, 여기를 jharvard을 클릭 거에요, jharvard는 다시 내 홈 폴더의 이름입니다 내 개인 파일, 나, 지금되는 존 하버드, 당신의 등 곧이 환경에 존 하버드 될 것입니다. 그는, 등등, 내 문서를이 홈 디렉토리를 가지고 있고있어 인치 지금, 저장하고자하는,이 파일 그래서 난 hello.c 부를께요. 그럼 난 갈거야 앞서하고 저장을, 그리고 지금 내가 여기있는 탭입니다 클릭하십시오 많은 편집기의 또 다른 유형처럼, hello.c했다. 이제 내가 가서 프로그램을 작성 해. INT 메인 (무효). 그리고 제가 지난 시간을 했어, printf, 인쇄는 포맷에 대한, ( "안녕하세요, 세계!" );. 거의 완료해야합니다. 하지만 세부 몇 누락되었습니다. 어떻게 정말에 필요한이 프로그램에서 누락 실제로 컴파일 하는가? 그래. [안 들리게]? 데이빗 J. MALAN : 네, 제가 표준을 포함​​시킬 필요가 I / O 라이브러리를 제공합니다. 이 요구 사항은 주 이상가는, 그래서 난 그냥 갈거야 자 거기에 몇 가지 공간을 확보. 그리고 # 를 포함 할거야. 그리고 각진 괄호를 확인합니다. 그리고 옆으로 gedit 같은 경우 좀 사용자 친화적 인 것입니다 아무 도움이 시도에, 때때로 약간 혼란 눈이 무엇을 어떤 선까지 확인합니다. 그래서 내 커서가이 각진 바로 옆에 있다는 사실이 브래킷은 다른 직각을 강조하는 방식 발견 브래킷 플러스 이거 야. 그리고 그건 사실 내 관심을 끌기 위해이야 I 대칭 있습니다. 그리고 프로그래밍의 대칭은 일반적으로 좋은 일입니다. 나는 끝까지 내 커서를 이동하면 마찬가지로주의하는 방법 중괄호 줄까지 예, 내가 열려을 가지고 있다는 표시 과 폐쇄 하나는, 말하자면합니다. 좋아, 내가 다른 일을 할 수 있습니다. 이 말을 엄격하게 필요하지만, 좋은 연습이 아니야 0을 반환합니다. 그리고 반환 0 여기 무슨 일을합니까? 또는 무엇을 의미? [안 들리게] 데이빗 J. MALAN :하지만 아무 문제 없어. 많은에 잘못 할 수 솔직히 힘들어요 이 짧은을 프로그램. 그래서 그냥 잘 것을 명시 적 초인거야. I, 인간,이 프로그램을 실행, 아마 앞으로도 그럴 그 0을 참조하십시오. 일반적으로, 그 숫자는 메인에서 반환되는 만 인간에게 머리를 서다 때 뭔가 잘못갑니다. 그리고 당신은, 말하는 시스템 오류를 백업 한 작은 팝업을 2 번이 3, 또는 어떤 수를이었다 실제로 반환했습니다. 이것에 다른 잘못도 그래? [안 들리게] 데이빗 J. MALAN : 그럼이 많은 기능 실수하지 않습니다 하지만 미적 하나입니다. 아마에 거기에 줄 바꿈 문자에 넣어해야 있도록 우리가 실제로 커서를이 문자열의 끝으로 이동 다음 행,이 프로그램은 그냥 좀 더 예뻐 보인다. 이제 내 터미널 창에 내려가 다시 인치 확대 그리고 여기에서이 점은,이 프롬프트라고합니다. 단지, 내가 누군지 jharvard @ 기기, 어디서 저를 상기 있어요 어플라이언스는 제가하고있는 컴퓨터의 이름입니다. 괄호 안에이 물결표, squiggle 기호는입니다 무엇을 제시 하는가? 청중 : 홈 디렉토리. 데이빗 J. MALAN : 홈 디렉토리. 당신이에 말에 불과 속기 표기법 인 것 파일의 모든 기본적으로 이동 개인 폴더에 저장됩니다. 그래서 지금, 여기에, 나는 목록인가요를 입력 할 수 있습니다. 그리고 지금 여기 볼 수있는 유일한 것은 hello.c입니다. 내가 그냥 만든 곡 때문에 좋네요. 그럼 내가 가서 인사하게하자. 그리고 hello.c하게 입력 안납니다. 대신, 난 단지 인사, 파일의 기본 이름을 입력거야. 우리가 월요일에 본대로, 만들어 내가 원하는 것을 추론 할 . C 파일입니다. 그래서 지금은 인사하기 입력했습니다. 지금은이 상당히 긴 명령을 확인하고 계속 또 한번, 또 한번이 표시. 그러나 분명 그 소리, 단지 나타난 단어 할 수 그 실제 컴파일러입니다. 확인은 빌드 유틸리티입니다. 그것은에서 저를 저장 더 많은 사용자 친화적 인 프로그램입니다 긴 긴 매우 지루한 아웃 입력 할 필요에서 실행 그와 같은 명령. 그럼 당신은 수동으로 꽝을 실행할 수 있습니다. 당신은 수동으로 모든 입력 할 수 있습니다. 그냥 아주 지루한 가져옵니다. 그리고 확인하는 것은 단지 우리의 삶을 단순화 프로그램입니다 좀 더 복잡한 명령을 실행합니다. 자, 그럼 이제 어떤 파일 내가 당신 말을 들었어야 현재 디렉토리에? 단지 hello.c뿐만 아니라, 안녕하세요 없습니다. 내 안부 실행하고 싶다면, 나 도트 슬래시라고하는 기억 도트 수단은 현재 폴더, 당신 곳으로 이동하는 위치를 있으며, 그런데 지금은 실제로 인사라는 프로그램을 실행하고, 나는 안녕하세요되어 있습니다. 좋아, 워크 플로우에 대한 질문이나의 구문 우리가 무슨 짓을했는지? 그래, 그러니 다시 노치 백업 물건을 봅시다. 그래서이는 프로그램을 작성하는 underwhelming되었습니다 만 어느 안녕하세요, 세계는 말합니다. 그래서 우리는 말, 안녕, 데이빗 월요일에, 그것을 변경했습니다. 조금 더 개인 만, 마찬가지로 하드로 코딩 첫번째 버전. 그럼 그 설득력 없습니다. 그러나 외에 확실히, C에서 기능이 존재 인쇄, 당신이 사용자 입력을 가자 기능. 그리고 우리가 이런 짓을하는 방법, 다른 하루는 다음과 같이했습니다. 제가 실제로 뭔가를 인쇄하기 전에, 내가 먼저 왔어 사용자의 무언가. 그러니 다시 해주세요. s이 (가) 보시려면 여기를 그냥 임의의 이름,이 문자열 s의 문자열, GetString 같습니다. 그래서 우리가 GetString 거죠? 그것은 분명히 이름에 따라 문자열을 가져옵니다. 그러나 더 엄밀히 말하면, 무엇입니까? 이 기능입니다. 그래서 본질적으로 C와 함께 제공되지 않는 기능입니다. CS50 직원이 썼다. 그리고이 기능을 사용하려면, 그냥 stdio.h 포함 할 수 없습니다 당신은 또한 무엇을 포함해야합니까? 그래. 단지 파일입니다 cs50.h, 그래서 우리는 몇 년 전에 썼다. 우리는 함께 당신을위한 기기에 설치 표준 파일을 모두. 그리고 클래스의 이러한 처음 몇 주 동안, 우리는 사용합니다 이 단지 아주 기본적인 일을하는 과정을 단순화 할 수 일이 점점 사용자 입력을 좋아해요. 때문에에 우리는 몇 주 동안 보게 될, 점점 사용자의 입력 C와 같은 언어는 실제로 놀라 울 정도로 복잡 어떻게, 보통, 사전에 모르는 있기 때문에 많은 물건은 사용자가 들어 입력 할 것이다 그리고 당신이 기대하는 얼마나 많은 데이터 모를 때, 당신은 몰라요 할당하는 방법을 메모리 알아요. 당신은 실제로하려고 적대 사용자가있는 경우 시스템 해킹, 잘, 컴퓨터 충돌을 일반적으로 공격의 첫 번째 방법은 I가했던 것처럼이다 월요일, 무작위 문자의 아주 긴 시퀀스를 입력 Enter 키를 누르하고, 끊어 알아보십시오. 일반적으로 프로그램 중단하는 경우, 그에서 힌트 때문에 보안 결함 가능성. 확실히 한 것으로, 당신의 프로그래머 힌트 실수하지만, 더 위험하게, 당신은 한 수 보안 관련 실수, 일반적으로이 부분에 대해서는 기계는이 일에 해킹하는 방법이야 모두 에서 웹 및 프로그램의 세계 이와 같은 명령 줄. 괜찮아요. 따라서 문자열 s은 (는) GetString 같습니다. 따라서 더 구체적으로, 지금 6 호선 여기서 뭐합니까? 그럼 오른쪽에있는 함수는, 문자열을 도착 얼마나 많은 인수 그치? 좋아요. 그래서 없음. 약간 정신이 확인합니다. 인수는, 다시, 단지 변경하는 함수에 입력 is 어떤 방법으로 기본 동작. 하지만이 케이스는, 내가 변경하지 않으 GetString의 행동. 난 그냥 문자열을 가져 오기를 원했습니다. 그래서 괄호 안에 아무것도 넣어 없으며, 그럼 내가 넣어 세미콜론 코드의 줄의 끝을 demarking. 이제 당 SE, 같은 의미하지는 않습니다 등호. 그것은 할당을 의미하는가 도착을 지정할 의미 왼쪽에 무엇이든의 오른쪽 안쪽에 출력. 그래서 왼쪽에, 우리는 우리가 선언 한 말 문자열 S했다. 그리고 더 구체적으로, 우리는 내부 메모리를 할당 한 우리는의 순서를 나타내는 비트를 올려 놓으하는 자. 그러나 오늘, 우리는 할당 한 또는 문자열을 선언했다. 괜찮아요. 그래서 지금 내가이 짓을 한 후에, 나는의 값에 연결하려면 초,하지 다윗의 값입니다. 그래서이 왜 잘못인가? 그래서이 문자 그대로 하드 코딩 s입니다. 내가 원하는이 아닌 "안녕하세요, S,"말입니다. 그래서이 작업을 수행 할 수 있습니다. 퍼센트 기호는 자리 표시 자입니다하지만, 지금은 필요 두 번째 인수를 인쇄로 전달합니다. 기능에 인자로 구분되는 기억 쉼표, 여기 다음 쉼표이 편지의 후 넣어. 그리고이 맥락에서 지금, S는 printf 변수이며, 두 입력을받을시 - 오른쪽에있는 왼쪽 변수 이름을 s의 문자열 - 그것은 우리 이전에 후자를 연결하고, 수 단지 포함하는 좋은 아름다운 문자열을 출력 우리가 들어 입력 한 무엇이든 그럼 이렇게 해보자. 가서 다시 축소 할 내 터미널 창. 여기 하단에 확대. 안녕하세요 있도록 다시 입력합니다. 꽝이 다시 실행 된 것 같습니다. 내가 타자 갔다. / 안녕, 입력거야. 아무것도 아직 무슨 일이 없어 보이는,하지만이 메시지에 있어요 내가 네이트처럼 뭔가를 입력 할 수있는 입력, 이제 우리는이 안녕하세요, 네이트. 그리고 등등 롭 다시 해 할 수 있습니다. 제가하고자하기 때문에 희망적 이제이 프로그램이 작동합니다. 이제 모든 사용자 친화적 없습니다. 나는 나를 기다리고있어 아무 생각도 없어. 그래서 우리는 확실히 조금 치울 수 있습니다. 내가 여기까지 돌아 가자, 대신에, 그냥 다이빙 문자열에 대한 사용자 요구, 내가 명시 적으로 얘기하자면 제가 기대하는지 사용자입니다. 따라서 printf ( "문자열을 입력 :" ); 아냐, 아냐 변수 그럼. 없음 퍼센트 기호. 그냥 간단한 영어 문구. 내가 지금 여기에서 아래로 내려 가서 내 프로그램을 다시 실행 보자. 하지만 아무 변화가 없어 보이는. 이유는 무엇입니까? 난 다시 컴파일해야합니다. 너무 쉽게 실수 할 수 있습니다. 하지만 당신은 파일을 저장할뿐만 아니라 가지고 있지만 프로그램을 다시 컴파일합니다. 그리고 나는 다시 실행 인사하는 경우, 지금 꽝이 실행됩니다. 지금은 실행할 수 있습니다. / 안녕하세요. 그리고 지금은 "문자열을 입력 :"를 참조하십시오. 좋아요. 이제 사용자 친화적 조금 더 있습니다. 네이트는여보세요, 네이트를 입력합니다. 음, 다시 시도하고 생각 시작하자 코너의 경우에 대한. 따라서 스크래치에서처럼, 당신은 주시기 바랍니다 또는 만드는거야? 가지 갈 수에 대해서 생각하는 사양에 권장 잘못하면 사용자가 할 수 모든 예상하지 않는 경우. 버그 따라서 있었 수 있습니다. 그래서 문자열을 입력 - 여기에 모서리 사건은 뭔가요? 어떻게 내가 프로그래머가이 없을 수도있는 시나리오 예상? 그래. 좋아요. 내가이 같은 번호를 입력 어쩌죠? 괜찮아요. 그래서 아직도 작동합니다. Gramatically 아무 의미도하지 않습니다. 하지만 적어도 프로그램이 작동합니다. 또 다른 코너 사건은 뭔가요? 나는 예상치 못한 뭔가. 응? 좋아요. 그래서 우리는 정말 정말 큰 숫자 같은 것을 할 수 있어요. 그래서 여기 이렇게 까. 잠깐만 내 말 좀 들어 축소하자, 제가 강조 보자. 복사 여기에 붙여 넣을 수 없습니다. 괜찮아요. 그래서 복사하여이 터미널 창에 붙여 넣을 수 없습니다, 우리는께요 단지 그것을 시뮬레이션. 저 포장을하려고 축소 보자. 그렇지 때문에 나도 오랫동안이 작업을 수행하지 않을 거에요 실제로이 프로그램에 침입. 그러나 수. 입력합니다. 하지만 그렇지 않아. 괜찮아요. 그러나 진정한 코너 케이스입니다. 그리고 올바르게 행동 유일한 이유는, 그래서에 CS50 기능 GetString이 실제로 있기 때문에 말하는 것입니다 우리는 몇 주 동안 보게 될, 후드 아래 설계 자동으로 더 많은 RAM, 더를 할당 할 수 운영 체제에서 메모리가 실현되면, 와우, 당신은 정말 매우 긴 것을 입력했습니다. 자,이는 하얀 거짓말 약간 있습니다. 우리는 실제로 꽤 일시 중지 저는 입력하는 경우 키보드 5000000000 문자 같은 여기에, 또는 정말 우리는 매우 가능성 복사하여 붙여 넣기 할 꽤를 누르 충돌하는 프로그램을 발생할 수 있습니다. 그냥 좀 더 유한 랑을 시뮬레이션하는 방법 시간의 금액입니다. 우리가 시도 수있는 다른 코너 사건은 뭔가요? 응? 그래. 그럼 왜 우리는 아무것도 대답하지 않는다? 그래서 우리는 실제로 어떤 작업을 수행 할 필요가 때문에 달리 이 프로그램은 하루 종일 깜박 앉아서거야. 하지만 난 그냥 친다면 입력 - 자, 아직 잘못 보입니다. 충돌,하지만 수있는 기회 지금이 안 보다 엄격한 프로그램을 구현 시작 그 사실은 확인합니다. 그리고 만약 문자열, 문장, 그 단어가 I 길이 0이 입력, 글쎄, 어쩌면 내가 소리 지르고해야 사용자 또는 그래서, 말 또는 그녀는 다시 문자열을 입력 할 수 우리가 실제로 올바른 동작 모양을하고하지 내 인생에서 방금 마쳤 감독. 뒤에 질문이 있으십니까? 진수. 그래서 우리는 그것도 시도 수 있습니다. 1.10000005. 그것도 실제로 괜찮은 일을하는 것 같아 보인다. 그리고 실제로 예상된다. 우리는 입력했을 수도지라도이 번호 또는 더 큰 숫자를 이전, 커다란 사용자를 입력 할 때 입력 및 우리가 GetString 함수를 사용하지 않습니다 제가 입력하는 일 경우 문제가 다수 것 같습니다. 기억이 ASCII, 당신의 모든에 따라 키보드에 매핑 할 수있는 숫자 값을 갖는다 문자, 문자. 따라서이 경우에도 나는, 숫자를 입력 할 수 컴퓨터 때문에 문자열로, 이야기, 생각 것입니다 - 뭔가는 숫자처럼 보이지만입니다 실질적 번호입니다. 그러나 지금 우리가 할 수 있기 때문에 실제로는 완벽하게 맘에입니다 쓰기 프로그램에 실제로 전환이 다른 데이터 형식을 사용합니다. 그럼 외에 문자를 사용하거나, 오히려 외에 문자열을 사용하여 우리는뿐만 아니라에서와 같이 C에서 다른 데이터 형식을 가지고 실현 다른 언어. 문자는 이름에서 알 수 있듯이, 단지 하나의 문자입니다. float이 부동 소수점 값으로, 그건 단지 멋있어 실제 숫자를 말하는 방법 - 진수가 어떤 왼쪽 및 / 또는 오른쪽으로 일부 숫자와 그 안에 가리 킵니다. INT는 123 같은 숫자입니다 정수입니다. 그리고 지금 더 많은 흥미로운 두 번 같은 사항은 다음과 같습니다. 우리는 이중 지난 번 무슨 얘기를 했죠? 그것은 바로 64입니다. 따라서 일반적 반면 부동는 32 비트입니다 - 그래서 메모리에 오래, 너무 32 제로와 키워드를 사용하여 값을 나타냅니다 - 더블은 말 그대로 두 번 것입니다하는 당신도 더 큰 숫자를 나타내는 수 있다는 것을 의미, 또는 더 많은 정확한 숫자를 나타냅니다 할 수 있습니다. 그럼 당신은 소수점 이후 더 많은 숫자를 가지고 있지만 사람은 간단한 심지어 비디오에 말한대로 개념적으로 3분의 1과 같은 것은이 정확하게 표시 할 수 없습니다 컴퓨터가 결국은 비트에서 실행하고 있기 때문에 따라서 당신은 단지 0.33333333 많은 시간에 할 수 귀하가 내가 표현을하다는 말을하고 싶어 지점 공간, 난 그냥 오늘은 이만하고 대표해야 다소 imprecisely이 맘에 들어. 그리고 긴 긴 - 로 알려진 데이터 형식 있기 때문에 바보 같은 이름,하지만 난 우연히도 자주 단지와 같은 32 비트, 어느 C에서 긴 INT가 32 비트이지만, 긴 긴입니다 일반적으로 64 비트. 그래서 당신이 더 큰을 대표 할 수 있음을 의미 이것보다 숫자. 괜찮아요. 우리는 실제로 우리가 일을 대표하는 시작하고 싶다면 보다 정교한 형식을해야하고, 수 우리가 문자열이 이유입니다. 그래서 CS50 도서관에서 해당 파일이 cs50.h라고, 우리는 실제로 문자열라고 그렇게 말할 수있는 데이터 유형은,,, 선언 하지만 문자열은 실제로 존재하지 않습니다. 지금은, 다시,이 레이어 중 하나는 우리가 껍질에 갈거야 다시 한 두 주 안에하고 멀리 던져, 실제로 문자열이 실제로 무엇인지에 후드 아래에 보면, 어떻게이 대표있어. 우리는 또한 부울 값을 보는거야. 따라서 스크래치의 맥락에서 BOOL은 무엇입니까? 이 true 또는 false입니다. 그럼에 단지 true 나 false입니다 값이거나, 해제, 1 0 그러나 당신은 세계를 볼 수 싶습니다. 따라서 C에서, CS50 라이브러리 덕분에 어느 방향에서 후드 아래에있는 또 하나의 라이브러리를 포함, 우리는이 BOOL이라는 데이터 형식에 액세스하는 것 문자 그대로 우리가 값이 참 또는 거짓 할당 할 수 프로그램의 것들. 그럼 여기에 가서 그 작은 프로그램을 작성하게 대신 숫자를 포함하는 무언가를하지 않습니다. 그럼 내가 다시 CS50 어플라이언스에 가자, 내가 진행합시다 여기라는 새로운 파일을 생성 - 우선은 math.c.처럼, 뭔가 간단한 말 괜찮아요. 그리고 지금 내 프로그램의 상단까지 이동 전 다들하는 일을 할 것 - # I 사용할 수 , 그래서 포함 printf, int는 주 (무효) - 우리는 INT가 무슨 뜻인지, 결국에 돌아 오면 여기 무효 뜻이 있지만, 지금은 그냥 알아 이 같은 프로그램을 시작해야합니다. 지금은 뭔가를 조금 가서 말할거야 다른 - printf ( "나에게 전화 번호를 줘" );. 그럼 INT N = GetInt을 할거야, 왜냐하면 GetInt 아웃 턴은 CS50 라이브러리의 다른 기능입니다 GetString 외에. 그리고 지금은 감사 "같은 멍청한 짓을 할거야 % d 개를 들어, "에 대한 10 진수 정수 한 후 쉼표 N, 및 그런 다음 0을 반환합니다. 그럼 다시, 0는 내가 수와는 아무 상관이없는 일 반환 에 대한 사용자 요구. 그냥 모두가 추측 컨데, 좋아하는 말에 의미합니다. 그럼 내가 여기서 내 터미널 창으로 가자. 저 입력, 수학을 입력 보자. 그리고 뭔가 잘못 됐어. 수학 문제가 해결되지 확인하십시오. 다음은 오류 메시지의 첫 번째입니다. 이유는 무엇입니까? 약간 이상한,하지만 - 그래. 따라서 cs50.h. 그럼 다시, 특히 초기에, 당신은 첫 번째를 작성합니다 섹션에 pset 1 프로그램, 근무 시간에, 그리고 솔직히, 가끔은 압도적 할 일이 일 실제로 말을하고 있습니다. 그러나 당신은 그들이 넘어 시작 매우 빨리 깨닫게 될 거예요 이 하나 하나를 떠 났어요 것을 의미된다 버킷으로 의 # 파일의 상단에 포함되어 있습니다. 그리고 꽝, 컴파일러는,하여​​ 당신을 알리는합니다 의 말을, 오히려 fancifully, 암시 적 선언 기능 GetInt가 잘못되었습니다. 괜찮아요. 그러니까 무슨 뜻 이죠? 그것은 당신이 암시 적으로 GetInt에서 선언 한 의미 당신이 명시 적으로 선언하지 않은 느낌. 명시 적으로 정수 선언하기 위해 가르쳐야 가 존재 꽝. 그리고에 대한 매우 간단한 솔루션을하여 가르 칠 것입니다 이 다른 파일 cs50.h에서 포함 파일의 상단. 말 그대로, 어떻게 # 포함하는 것입니다 않기 때문에이 꽝을 알려줍니다 거의 cs50.h, 복사라는 파일을 찾아 이동하려면, 나를 위해 내 프로그램의 상단에 자동으로 붙여 넣습니다, 그리고 제로와 것​​들에 소스 코드를 변환합니다. 우리 인간이 있다면 그건 분명 매우 지루한 것 모든 시간을 복사하고이 큰 파일을 붙여 이동하려면, 그래서 # 그냥 그없이 자동으로 수행 등 다른 사람의 라이브러리 내 코드를 muddying. 그리고 도서관은 다른 기능을 포함하는 파일과입니다 다른 사람이 우리가하는 서면 것으로 다른 것들 우리 자신을 위해서 활용. 괜찮아요. 다시 해보자. 수학을합니다. 입력합니다. 좋아. 그래서 그런 일 것 같습니다. 그럼 내가 지금 수학을 실행합니다,. / 수학. 입력 나에게 번호 123을 제공합니다. 123 주셔서 감사합니다. 지금의 다른 코너 케이스를 봅시다. 문자열 때문에, 매우 관대 문자열은 아무 것도 할 수 있습니다. 숫자처럼 보이는, 같이 문자, 단어 같아. 그러나 정수는 정수입니다. 그래서 지금은 어려운 사용자, 그리고 나 줘 "라는 거라면 숫자, "내가 0.1처럼 뭔가를하려고한다면? 음, 숫자, 그리고 그와 일치 문법 여기 사용하지만 후드 아래에, 나는이 아니에요 함수 GetInt를 사용하여 코스입니다. 그럼 어떻게되는지 보자. 다시 시도 입력하십시오. 괜찮아요. 내가 어렵고 다시 Enter 키를 누르합시다. 입력 입력합니다. 그래서 지금은 그 GetInt가 좀 더 보인다 GetString보다 강력합니다. 저희 직원은 우리가 발생할 경우하는 방식으로 구현 당신은 우리에게 정수를 입력하지 않은 - 그리고 정수는 10 진수입니다 포함 제로, 사람, 열 종대, 열로, 발로, 이군요, 판 벌리, 는데, 패는, 또는 9 시리즈. 그리고 바로 그 거에요. 더 소수점없고, 문자, 안 구두점. 우리가 협력해야 할 것 같습니다. 그럼 내가 넷, 다섯, 여섯, 그리고 이끌어 봅시다. 그래서 정말 여기 항문을 위해 아마 이리 줘 "라고합니다 정수 "사용자에게 전달하기 위해 정확히 내가 의도. 이번에는 후드 아래에 생각해 보죠. 우리는 cs50.h은 오늘 구현하는 방법을 살펴 않을거야 그 라이브러리를 제공합니다. 하지만, 다시 시도, 다시 시도, 다시 시도 말을 계속한다면 어떤 프로그래밍 나는 아마에 후드 아래에 사용하고 구축 그렇게 구현? 그러니 그냥 루프, 그렇죠? 우리가 스크래치에 본 가장 간단한 아이디어 중 하나입니다. 영원히 반복 구성, 구성합니다. 어쩌면,이 프로그램에, 후드 아래에, 심지어 이되지 스크래치 C로 작성하고 있어요하지만 저 래요 사용자가하지 않은 경우 무슨 일이 영원히에 해당라고 정수 입력, 그래서 다시 시도, 다시 시도, 다시 시도, 다시 시도라고 그리고 마지막으로 우리가 할 때 다음 정수를 얻을 그 루프의 탈출. 그럼 다른 어떤 기능을 우리는 CS50의 라이브러리에 현재 사용할 수 있습니까? 음, 분명 사람의 종류, 적어도에 따라 지금 우리가 존재 알고 데이터 유형. 우리는 GetString, GetInt을 구현하지만, 전역 용어의 첫 주, 당신은 또한 GetFloat를 사용 할 수 있습니다 정확하게 얻을 수 있도록 GetDouble 및 GetLongLong 원하는 데이터 유형. 여기 열쇠 세부입니다 일부 언어와는 달리, 때문에 당신이 반드시 필요 없어 파이썬과 루비 같은 변수의 데이터 형식을 선언 - 당신은 컴퓨터를 말할 필요하지 못하는 일이 어떤 종류의 당신이 변수에 넣어 갈거야 - C에서, 당신은 아무리 정확하게해야합니다. 당신은 N이라는 변수, 저장 덩어리를 원하는면 이 경우 당신은 규칙에 의해 32 비트에서 일어나는 것을 이 비트가있는 컴퓨터를 얘기해야 번호를 저장하려고 - 아닌 문자가 아닌 문자열,하지 부동. 그리고 우리 효과적으로 문제를 해결 지난 주에 다 퉜다. 우리는 단지를 대표하는 제로와 사람의 번호를 사용하는 경우 숫자 세계에서 얼마나하지만, 및 학사 C를, 컴퓨터는 걸 알게 될거야 실제로 비트의 패턴 로 대표에 반대하는 숫자 65을 나타냅니다 에 따라 우연히 문자 A,, 기억, ASCII 65에 해당 였어요? 따라서 컴퓨터에 컨텍스트를 제공하는 이러한 데이터 형식은 자 이러한 비트로 해석해야하는 경우가 알고있는 INT 또는 문자열로. 질문하고이 일에? 응? 데이빗 J. MALAN : 좋은 질문입니다. 우리가 stdio.h을 빼 내면, 우리는 파일을 저장합니다 - 나를 터미널 창에 가서 수학, 줌을 실행하게 및 입력 - 나는 절대적이기 때문에 지금은 다른 오류가 발생합니다 지금은 기능을 어떻게 선언? Printf. 그래서 지금 제가있는 곳이 누구의 솔루션을 새로운 문제를 만들었습니다 본질적으로 동일합니다. 나는 다시 넣어해야합니다. 대상 : [안 들리게] 데이빗 J. MALAN : 아. 나는 빼면 - 그래, 그래. I는 표준 I / O 라이브러리의 포함을 제거한다면 여기 그리고 당신은 내가 printf를 제거하면 얻을 말이야 printf 없애? 예. 죄송합니다 - 난을 사용하여 더 이상 아닙니다 때문 작동해야합니다. 난 단지 거짓말을 했죠? 아, 그래. 이 우리가 도입하는 오류 때문에 작동하지 않습니다. 그리고이 녀석은 좀 더 자기 설명입니다. 문제는 무엇입니까? 사용하지 않는 변수 N. 그래서이 오류는 우리가 구성 것에의 결과입니다 정말 소리 지르고, 특히 학자 연하는 될 수있는 기기 가능한 모든 실수에 대한 당신 경우에도 그건 가지 이와 같은 비 치명적 실수 - 그게 정말 그렇게 큰 것입니다 나는 정수를 할당하는 처리, 다음에 숫자를 넣어, 그리고 단지가 그런 건없는 거죠? 따라서 기능적으로, 안돼. 그 프로그램을 아프게하지 않을거야. 이 바보 권리이긴하네요? 저장, 그 전화 번호를 물어 것으로 할 가치가 없습니다 이 변수에 경우 아무 것도 할 수 없어 그와 함께 그것을 인쇄하거나 저장 여부를 지정합니다. 따라서이 경우, 꽝이 그만큼 인정되어 는 사용하지 않는 변수 n을 말하는거야. 우리가 원하는 경우 그래서 우리는이 문제를 해결할 수 있습니다. 다시 한 번,이 지금은 좋은 프로그래밍 없습니다. 그래서이 일을 단지 수 - 여기에 가서,이 화면을 지우 수학을 보자. 그 작동합니다. 지금은, 내 수학 프로그램을 실행 입력을 소요 할 수 있습니다 - 음, 그건 좋지 않았죠. 입력이 소요되며, 그것이이 경우에 맞지 않는 모든 것입니다. 따라서, 사실의 또 하나의 코너 케이스를 봅시다 우리 이전에 생각하지 않았다. 이 경우에는 - 여기가 사람은 다시 가자 사용자 친화적 좀 더. 내가 여기서 돌아가서 다시 수학을 실행할 수 있습니다. 이런, 내가 무슨 짓을 한거야? 추가로 롤백 알았어요. 좋아요. 이제 우리는 어디에서 모두 원래 상태로 돌아 간다 잘하면 잘합니다. 나는 수학을 실행하는 경우 그리고 지금은 123 일 것 같습니다. 그러나이 말을 꼭 전 해주고, 정말 효과가 증명되지 않습니다 좋아, 그 작동합니다. 789, 그 작동합니다. 제출 시간. 여기에 다른 코너 경우가 때문입니다. 문자열은 정말에 입력하여 우리에게 많은 문제를주지 않았어 전체 문자 많이. 하지만 여기에 무엇을 입력하면? - 숫자 1이 훨씬 여기 훨씬 더 섭니다 좋아, 좀 지루을 받고 그래서 난 갈거야 여기 중지, 그리고 입력을 누르거야. 방금 무슨 짓을하는거야? 그래서 실제로 설명 할 수 있습니다. 그래서 바이너리로 가져 거죠? 좋은 생각은, 그런데, 그것이 가져 갔다는 사실 아닙니다 바이너리로, 사실 때문에, 그 중 같은 걸 우연의 일치. 우리는 다시이 작업을 수행 할 수 있습니다. 너무 이진 시스템에서 2, 없습니다 아마도 충분 어쨌든. 입력합니다. 그래서 그런 문제가 아니 었습니다. 또 뭐가 있지? 그렇지. 따라서 정수가 실제로 무엇인지 다시 생각합니다. 이 집합 적 해석 32 비트 수 있습니다. 당신이 32 비트가있는 경우, 그 비트의 각이 될 수 있다는 것을 의미합니다 0 또는 1, 0 또는 1. 이 비트에 대한 두 가지 가능성이 있다는 거, 그래서 그 이것에 대한 두 가지 가능성이 두 가능성 비트 - 그 2 배 2 배 야 - 그래서 그 32 전원 2 시야의 총 수는 제로와 사람들의 순열은 32가있는 경우 당신의 앞에 자리 표시 자, 제로 또는 사람. 제가 뭐가 수학적으로 32로 2가면? 그럼 너무 많아요. 이 정도일, 4000000000입니다. 와 4 억 여기 인쇄 된 것을 것 같습니다하지 않습니다. 사실,이 2 억 가까이 보입니다. 그러나 이것은 우연의 일치가 아닙니다. 컴퓨터가 내 엄청난 수를 잘못 해석했다는 사실, 사람 그리고 열 종대 내 큰 순서, 나의 큰 순서 약 2,000,000,000으로 어떻게 설명합니까? INT에 캡이있어. 당신이 대표 할 수있는 최대 값은 확실히있다. 하지만 옳지, 보통 4,000,000,000거야? 2 32 인 경우 약 4,000,000,000, 그 것 같습니다 그 가장 큰 숫자입니다. 따라서이 아닌 나머지 있지만, 좋은 생각. 음수. 당신이 할 수 4,000,000,000 가능한 일이면 32 0s의 이러한 다양한 순열과 대표하고 1 초, 그래, 우리 인간이 할 수도 있다는 이유를 의미 뿐만 아니라 긍정적 인 정수를 나타냅니다 하지만 부정적인 정수. 그리고 실제로, C가 수행하는 가정은입니다. 따라서 32 비트와 함께, 당신은 약 부정적인 2 나타낼 수 긍정적 인 2,000,000,000로 억 완전히 들어. 그리고이 경우에, 우리가 정말보고 계시는 것은 단지입니다 우리 정수의 용량 근교, 우리는 이렇게 있습니다 말하자면, 정수를 넘쳤 거든. 우리는 실제로 들어갈 수있는 것보다 그 안으로 더 많은 비트를 밀어 넣고 선하려고했습니다. 따라서 최종 결과는 우리가 본질적으로 모두 1 비트를 가지고 있습니다. 우리는 우리의 비트에 모두 뒤집힌 한, 우리는 표현하기 위해 노력하고 가능한 가장 큰 수는 있지만 거의 분명 아닙니다 제가 방금 들어 입력 한 두 가지를 대표 할 수있을만큼 큰 응? 대상 : [안 들리게] 데이빗 J. MALAN : 좋은 질문입니다. 왜 우리는 그 부정적인 대표 할 수 없습니다 단지 주인공으로 서명? 그래서 우리는 절대적으로 수, 우리는 다음 절약 할 수 추가 비트. 하지만 당신은 아직 대시를 대표 할 것, 그리고하고 즉, 당신에게 적어도 무언가를 들겠 죠 아마 비트. 그래서 예, 우리는 우리의 번호를 사용하는 32 비트가 있지만, 수 지금 우리는 우리의 대시에 사용되는 또 다른 비트가 필요 기호, 빼기 기호. 이제 우리가 할 수있는 33 비트 값을 가지고 있지만, 그건 단지 방법은 이미 끝났다고 없습니다. 우리는 통화 년 전에 판단을 한, 32 비트는 종류입니다 여기에 측정 단위입니다. 그래서 우리는에 효율적으로 이러한 비트 중 하나를 사용하는 것 부정적를 대표하고, 수를 나타내는 31 비트. 다른 질문? 괜찮아요. 많은 기록이다. 왜 우리는 우리를 계속 다섯 분 휴식을 여기에 쓰는 게 어떨까? 괜찮아요. 그럼 다시, 수학 응용 프로그램을 overemphasize하지 말라고 프로그래밍을 해보자 구, 그냥이 한 가지 예를 꺽을 우리가 다른 구조로 이동하기 전에, 그건 단지 그 의 일부에 몇 가지 일반적인 자빠지는 점을 보여주는 것입니다 기본이 작성 프로그램에 제공합니다. 이 경우, 일부가 산술 식을하고 구문에 대한 흥미로운 관련성에 따라 결정됩니다. 이 우리가 전환 할 수있는 공식이다 그래서 화씨에서 섭씨로 온도. 당신이 기억하지 않는 경우, 본은 공식입니다. 우리는 32도 화씨 값을 연결한다면 냉동, 그게 실제로 32 마이너스 32 0 수있을거야,하고있어, 섭씨의 0도 동결입니다. 너무 빨리 정신이 확인 - 그 익숙한 공식입니다. 내가하지만 어플라이언스에 가서, 그리고 시작하자 f2c처럼라는 프로그램을 작성; "화씨로 점 C 섭씨. " 그리고 여기까지 상단에, 나는 # 포함로 시작 갈거야 stdio.h, 나는 INT 메인 (무효)을 할테니까 다시 한 번, 우리가 정수가 무슨 뜻인지하는 것과 같이 미래에 다시 올게요 과 무효가 거기 의미합니다. 그리고 지금은 진행하고있는 프로그램을 구현하게 본질적으로 우리에게 변환하지 않습니다. 따라서 printf와, 화씨 온도를 가정 해 보겠습니다. 그리고 내가 가서 사용자의 값을 가자. 제가 원하는 경우 값이 어떤 종류의 I는 사용자의 가야 그들을 나에게 화씨 온도를 제공 하는가? 응? 당신은 무엇을 제안까요? 그래. 그래서 float이 매우 합리적인 생각합니다. 우리는 다시 그 몇 가지 옵션이 있습니다 우리는 지금까지 봤어요. 우리는 긴 긴 문자, 더블, 무개차, int는 같은 일이 BOOL, 문자열입니다. 따라서 이들 중, 부동 꽤 합리적인 생각합니다. 우리가 정말 원하는 경우 때문에, 더블 권리를 사용할 수 인간의 온도를 나타냅니다 - 98.60000 - 우리는을 수행하는 64 비트를 사용할 수 있지만, 느낌 온도 과잉. 그럼이 수레로 돌아가 보자. 지금은 변수가 필요합니다. 그냥 일을 간단하게하기 위해, 내가 F 전화하려고하지만 난 마찬가지로 올바르게 온도 호출 수 다만 유효합니다. 따라서 F = GetFloat을 떠. 지금 GetFloat를 사용하기로 결정했습니다 자마자,하지만 I 한 수정을해야합니다. 그래. 우리가 # 포함시킬 필요가 그래서, 그렇지 않으면 컴파일러는 우리 소리지를 거예요. 지금은 부동이 있는지, 내가 가서하자 변환. 그래서 일단, 나 또한 습관에 가자 내 코드를 주석. 그러니 다시 코멘트입니다 인간에게 단지 표기법 is 하지 본질적으로 프로그램의 일환하지만 하나는 당신을 도움 당신이 다음 날 아침에 무슨 짓을했는지 이해하거나, 다음 월, 당신의 교육 동료 당신이 무슨 짓을했는지 이해하는 데 도움이 나 때문에 당신은 무슨 의도입니다 일반적으로 아주 좋은 연습. 코드의 모든 몇 줄은에 댓글을 작성 귀하 또는 귀하의 동료. 그래서 여기, 난 말할거야 "온도에 대한 사용자에게 문의하십시오." 완전한 문장, 짧은 문구가 될 필요가 없습니다. 그러나 C에 댓글을 뒤에 아이디어는 귀하의 각 라고, TF 나 동료 또는 - 댓글은 권한을 부여해야합니다 - 하지 않음으로써, 프로그램을 탈지 그리고 그렇게 정확히 알 수 이렇게 코드를 읽을 수 있지만, 댓글을 읽어, 그 간결하고 명확해야합니다. 자, 그럼 이제 변환 ", 제가 가서 말을 해 화씨로 온도가. "그래서, 가서 할거야 C를 떠, 보자. 부동 소수점 값으로 우리는 섭씨하겠습니다. 그리고 내가이에 찔러합시다. 이 수식은 여기 다시 달려 있습니다. 9분의 5 번으로 F 마이너스 32. 그래서 한번 해보자 구. 그럼 5는 9로 나눈 빼기 - 이런, 이미 엉망이에요. 시간. 따라서 9분의 5 번 F 마이너스 32. 세미콜론, F 마이너스 32 그럼. 그리고 지금, 여기, 나 먼저 갈거야 하고 말 결과를 인쇄 할 수 있습니다. 그리고이 부분은 간단합니다. Printf. 어떻게하면 인쇄에 대해가요? 글쎄, 난 "그 숫자 섭씨의가 F \ N %는"말할 수 단지 미적. 그리고 나서 printf의로 여기에 연결하는 어떤 값을할까요 두 번째 인수? 좋아요. 그러므로 다. 그래서 우리는이 시작됩니다 그리고 나선 그냥 0을 반환합니다. 다시, 그것은 수학과는 아무 상관이 없습니다. 단지 모두가 잘되고 있다는 것을 의미합니다. 자,이 올바른,이 프로그램입니까? 괜찮아요. 그래서 몇 번 실수를 한 적이. 당신은 프로그래밍이 뭔지는 전혀 감이없는 경우에도, 당신은 정렬 할 수 있습니다 학년 학교 반대 방향 다시 어떤 여기 실수 수 있습니다. 첫 번째 중 하나는 무엇입니까? 대상 : [안 들리게] 데이빗 J. MALAN : 그래. 그래서 우리는 괄호가 누락하고 있습니다. 내가 기조에 괄호를 한 것을 의도적으로했습니다 주문이 개념이 실제로 있기 때문에, 여기에 슬라이드 운영하거나, 우선 순위, 상기 특정 작업 - 곱셈 - 높은 구속력을 가지고, 일보다 높은 우선 순위를가 추가 또는 빼기처럼. 그래서 우리는 분명 정확히를 만들기 위해 년 동안이 과정을 마친 후에 어떤 수학적 작업을 먼저 수행해야합니다. 그래서 아마도 정확하게 모방한다. 그렇지 않으면, 컴퓨터가 아마 수행하려고 할 것입니다 9 시까 나누기 5 같은 한 다음 뺄셈을 한 후, F를 곱 모든 일에서 32. 그게 바로 우리가 뭘 원하는지 사실이 아닙니다. 그러니 괄호로 묶다 보자. 의이 여기 여기 괄호, 괄호를 추가 할 수 있습니다. 가 여기에 해당하자. 자, 내가 그냥 그 길을 따라 한 또 다른 실수를 발견했습니다. 응? 대상 : [안 들리게] 데이빗 J. MALAN : 아. 좋아. 그래서 우리는 실제로 동일한 정수가 이전의 부문에 문제가있을 수 있습니다. 나는 증상이 무엇인지 알아 보자 것을 수정합니다. 그러나 우리는 하나를 수정해야 할 것 여기에 다른 실수. 응? 대상 : [안 들리게] 데이빗 J. MALAN : 예. 그래서 바보 같은 실수를 저질렀 내가 만들어하지만, 매우 중요합니다. 컴퓨터는 눈에 멀었하고 알려 줘야하지 나는 실제로 변수를 선언 할 때이 자본 F를 사용하여 같은 라인 8 여기에 소문자 F,. 그래서 한 줄에 11 내 자본에 수정을 필요로하는 순간 전에 실수로 자본 F했습니다. 여긴 어때요? 이뿐만 아니라 소문자를해야 하는가? 그것은해야합니다,하지만 그건 우연의 일치입니다. 그 %의 말뜻은 변수와는 아무 상관이 없습니다. 그럼 여기 분명 슈퍼로, 제가 진행합시다 이, 짧게, "온도를."이름을 내가 이름을 보자 이 "온도." 내가이 이름을 변경하지 말자. 왜냐하면, 다시 %의 F는 전 세계적으로 의미, "포인트 값을 떠." 내 변수와는 아무 상관이 없습니다. 그러나 사방에 "온도"는, 조금 말의입니다 그래서 내 소문자 "F"s (으)로 돌아 가야 겠어. 이제 내가 여기서 내 창으로 앞서 가자. f2c합니다 - 이는 다시, 임의의 이름이 I 이 파일을 주었다. 컴파일 한 것 같습니다. 나 f2c 실행할 수 있습니다. 입력합니다. 화씨 온도 - 쉬운 하나를 수행 까. 32. OK, 수정합니다. 그러나, 지금은 끓는 위해 212을한다면 .. - 빌어 먹을. 괜찮아요. 귀하의 TF가 시도다면, 분명 해결되지 적어도 두 개의 값이 있습니다. 그럼 문제가 뭐에요? 글쎄, 당신은 이미 문제가 무엇인지에 손가락을 넣어. 그런데 왜 경우 것이 야? 여기에, 나는 9로 나누어 5 수학을하고있을 때. 따라서 개념적으로, 그 완벽하게 맞습니다. 공식 완전히 일치. 그러나 컴퓨터는 정확하게하는 것을 그들에게 말해. 그리고 우리가 효과적으로 컴퓨터를 말하는 것은 .. 정수 9 정수 5를 나누어 나에게 결과를 제공합니다. 이 부서는 데이터를 사용 할 때 문제는,하지만 것입니다 유형은, 출력은 입력과 같은 데이터 형식입니다. 두 입력 모두 ints 경우 그리고, 출력가는거야 정수가 될 수 있습니다. 그리고 9로 나누어 5 점 일입니다. 하지만 뭔가를 가리 키도록 가장 가까운 정수가 뭐야? 그래서, 실제로 0입니다. 소수점 뒤에 우리가 월요일에 논의​​ 않도록, 모든 포인트가 잘 렸습니다됩니다. 이제 막 버려진됩니다. 그래서이 완벽한 실수 야, 내가 있기 때문에뿐만 아니라 단지 여기에 0이 모든을 곱합니다. 자, 몇 가지 방법으로이 문제를 해결할 수 있습니다. 난 이걸 할 수 있어요. 5.0 9.0로 나눈 값입니다. 기술적으로는, 난 그런 작업을 수행 할 필요가 없습니다. 그것은 단지 숫자 수레 중 하나를 만들기 위해 충분하지 - 또는 더블 - 여기 소수점을 삽입하여. 자네가 정수를 나눌 때 어떤 지금 무슨 일이 일어날이기 때문에 부동 또는 더블, 컴퓨터는 걸 깨닫게 될 꺼야 오, 그 중 하나가 더 정확합니다. 나보다 더 정밀도를 제공의 측면에 잘못을하자 당신은 의도 된 것입니다. 그래서 그 결과를 변환합니다 - 그것은 부동 소수점 값뿐만 아니라 그 결과를 반환합니다. 그래서 일 것이다. 이 일 것입니다. 그리고 우리가 볼 수있는 또 하나의 다른 메커니즘이 더 자세히 다음 주. 당신은 실제로 프로그래머로 컴퓨터를 알 수 실제로 하나의 데이터 유형으로 취급하는 그것은 또 다른 자라 할지라도. 그래서 실제로이 작업을 수행 수 있습니다. 괄호, 나는 열려있는 이런 일을 (수레), 말할 수 괄호 가까이 괄호. 그리고이라는거야 '캐스팅. " 다시 더 이 다음 주에. 그러나 이런 말을 중 프로그래밍 방법입니다 컴퓨터 그래 난 9가 정수 또는 긴 알아요. 나는 부동 소수점 값이 아니라는 걸 알아. 하지만 어쨌든 같은 취급. 따라서 데이터 형식을 주조하는 것은 변환을 의미합니다 한사람에게서 다른 사람에게로. 솔직히 이건 좀 추한이기 때문에, 나는 우리가 가서 제안 것 단지 변환의 원래 제안에 백업 이것들은 수동으로 포인트 값을 떠 있습니다. 지금은 무슨 일을 취소 단지 최고이고, 때문에 이 혼란 한 모든 아닙니다. 그럼 이제 내 터미널 창으로 돌아 가자. f2c하십시오. 내가 가서이를 실행할 수 있습니다. 그리고, 옆으로, 당신은이 명령을 입력 따분해 또 한번, 또 한번, 여기 리눅스처럼 그 컴퓨터를 실현 예쁘고, 똑똑하고있는 경향이 있습니다. 나는 최대 친다면, 우리는 제 전체 역사를 통해 갈 수 명령, 위, 아래. 그래서 여기이 경우, 난 그냥 f2c를 실행하는 데 최대 이동할 수 있습니다. 난 그냥 초 전 그런 짓을해서가 바가지 나 긁히고되고 있어요. 이 최신 이미 있습니다. 이제 다시 f2c 실행할 수 있습니다. 의 32 화씨을 시도해 보자. 이번에는 212 화씨을 시도해 보자. 휴. 일 것 같습니다. 자,이 좋은이지만, 조금 임의의 느낌이 나는 소수점 이후에 6 자리 숫자를 보여주는거야. 그래? 당신이 TV에 날씨 사람 경우, 당신은 바보 멍청 것 같은데 당신은에 온도를 읽는다면 정밀도의 학위를 취득했습니다. 그럼이를 단순화 보자. 그럼 실제로 내 printf까지, 여기 가자. 그리고 그래, 난 떠 싶습니다. 하지만 지금은 정밀도를 지정하고 싶습니다. 그리고 내가 좀 더 간결해질 겁니다. 나는 나에게 소수점 자리로 후 1 점을주고, 말거야. 따라서 오히려 %의 F 말보다, 나는 %의 0.1 f를 말할거야. 그리고 나 한테 한 위치를 제공 의미 소수점. 괜찮아요. 가 다시 해 보자. 내가 그것을 컴파일 후 다시 실행할 수 있습니다. 그리고 지금은 32 입력하고 다시받을 더 간결 값입니다. 그리고, 지금에 212을 입력하고보다 간결를 돌려받을 수있는 가치뿐만 아니라. 그리고 당신이 printf로 할 수있는 다른 일이 있어요. 당신은 실제로 숫자가 있어야 얼마나 다양한 지정할 수 있습니다. 당신이에서 패딩을 원할 경우, 그래서 당신은 오른쪽 정렬 또는 수 왼쪽 정렬하여 숫자의 전부 또는 센터 일하려고합니다. 당신이 할 수 속임수가 알고 있습니다. 그러나 그들은 단지 형식 코드로 졸이다 우리는 거기에있는 것. 그래서 우선이 문제의 관점 인치 이 methodically을 통해 갈 수있는 매우 지루 테이블입니다. 그러나 C의 저자가 마련 것을 실현 사업자가 높은 가지고있는 지정 규칙 우선, 다른 사람들보다 더 많은 바인딩을 전원. 따라서 학년 학교 반면, 우리는 일반적으로 그게 것을 알고 곱셈과 나눗셈 다음, 추가 및 뺄셈, 그리고 다른 소식입니다. 프로그래밍의 세계에서 훨씬가 일 이상 목록입니다. 그리고 지금은 암기 가치가있는 것은 아니다. 당신은 오래 전에에 적응하게됩니다. 그러나 단지 초등학교에서와 같이 괄호는 일반적으로 해결 에 슈퍼가 명확함으로써 우선 순위의 문제, 컴퓨터와 의도하는지 모두 인간. 그래서이 그냥 약간의 컨닝 시트를 고려하십시오. 하지만 그 내용의 대부분은 우리는 시간에 도착하지 않습니다. 괜찮아요. 자, 이제가 구축하고 이러한 멍청한 멀리 이동 수학 예. 아직도 동일한 기본을 사용하지만 시작 우리 스크래치와 같은 좀 더 표현. 따라서 스크래치, 우리는 이러한 부울 표현했다. 그리고 영어로, 부울 표현식이 무엇입니까? 참이거나 거짓입니다. 이 true 또는 false로 평가 겠죠. 1 또는 0. 사용 또는 사용 중지. 당신이 뭐라고 부르든간에. 지금 스크래치에 퍼즐 조각이처럼 보였다. 그리고 세의, 거기 하단에, 조합 퍼즐 조각. 하나의 연계 - 빈 공백이 무언가. 그리고 후 두 부울 표현식을 그 안에. 그럼 당신은 더 많은 정보를 얻을 수있는 둥지를 부울 표현 할 수 있습니다 부울 표현식을 복잡. 예를 들어, 오늘은 토요일이며, 경우이 좋다 날씨가 다음 외부 이동합니다. 그런 식으로 임의 또는 뭔가. 그럼 당신은을 마련하기 위해 부울 식을 가입 할 수 그의 대답 더 큰 진리 값은 기반으로 작게 있습니다. 이제 C에서, 고맙게도,이 매핑​​은 실제로 아주 간단합니다. 괄호는 여기 일을 취소 할 수 있습니다. &&는 무슨 뜻이다 "와." 그래서 그런 방법 우리는 처음부터 C.에 해당 블록을 변환 할거야 그리고 조건을 우리는 왼쪽에 스크래치에서 본 x가 적은 경우가면​​, 나는 C로 비슷하게을 쌓을 수 있습니다 Y보다 다음이 작업을 수행합니다. x는 Y보다 큰 다른 경우,이 작업을 수행합니다. 아니면 논리적으로 그들은 그렇게 말하고, 같아야합니다 그들은 동일한 것을. 그래서 우리는 지금이 일을 구축 할 수 있습니다. 따라서 예를 해보자 구. 제가 코스의 웹 사이트에있어 그 파일을 열어 보자 나는 사전에 썼다. 그는 nonswitch.c라고합니다. 왜 그냥 순간에 우리는 볼 수 있습니다. 따라서이 파일에 - nonswitch.c .. - 먼저 전체 무리가 있다는 인식 상단에 댓글이 있습니다. 그건 그냥 그런 일이 파일의 이름을 설명하는거야 수행, 등등. 그리고 분명 부울 AND-ING의 사용을 보여줍니다 - 이 표현을 conjoining. 따라서이 프로그램의 작동 방식 보자. 내 두 개의 파일, cs50.h과 stdio.h 포함되어 있습니다. 나는 아래로 스크롤하면, 이제, 프로그램에, 조금 더 이상 우리는 이전에 작성된하지만, 꽤 읽을 것보다. 그래서 먼저, 선 18, 사용자에게 인쇄 "저에게 1과 10 사이의 정수를주세요." 그래서 그 바로 저기 야. 지금은 정수를 얻을. 그러나 GetInt을 실현 - 아주 간단합니다. 단지 정수를 얻을거야. 이없는 것 INT를 않도록하려하고있어 문자열이나 부동. 그러나 경계 검사를 모든 종류의를하려는 게 아닙니다. 이 숫자는 사이로 필터링 할 수 없을거야 특정 범위. 그래서 우리는 우리 것을을 구현해야합니다. 그래서 내가이 함께 할 수있는, 스크래치처럼 이 표현은, 나는 다음과 같이 C에서 해당 작업을 수행 할 수 있습니다. n은보다 크거나 1 동등하고, N 인 경우 미만에 있으며, 또는 3 같은, 아주 임의로 법령에가는임을 소수가 될 수. 단 진술을 위해서. n은 4 번과 6 번 사이 다른 경우, 인쇄는 "당신은 미디어를 선택한 "N 7 ~ 10 인 경우 아니면, 인쇄는"번호. 당신은 생각을 하다니 큰 숫자. 당신은 잘못된 번호를 선택 "기타 인쇄". " 우리가 한 경우 논리적으로, 그 다음 있기 때문에 우리의 범위를 소진. 그래서 우리는 나보다 큰를 작성하는 방법이별로입니다 실현 수학 클래스와 동일. 그래? 당신은 보통 그 아래 라인이처럼립니다. 하지만 키보드에 이런 키는 없습니다. 따라서보다 더 큰 표현을위한 C의 기호 나 와 같은 두 문자 및 이하의 상징이다 거나 같음도 두 문자입니다. 괜찮아요. 내가이 프로그램을 실행다면, 당신은 아마 그건 어떤 추측 할 수 할거야. 제가 가서 nonswitch를 한 경우 입력합니다. 그리고 nonswitch를 실행합니다. 저에게 1과 10 사이의 숫자를 제공합니다. 내가 한 11 주겠어. 나는 숫자가 잘못 골랐어 요. 제가 3 번을 시도해 보자. 나는 작은 번호를 골랐어 요. 거기에 따라서 매우 간단. 내가이 프로그램의 동작을 변경하려는 경우 대신 좀 다른 일을? 내가 가서이 말을 보자. 날이 없애 보자. 그리고 내 말을하게되는 경우 (N == 42). 그리고 제가 가서 인쇄 말할거야 "당신을 선택한 정답은. "아니면 우리는 가서 무슨 말을 printf ( "당신은 생각을 하다니 잘못된 답변 ");. 좋아. 그냥 때문입니다. 지금, 몇 점은 우리가 여기 할 수 있습니다. 하나는, 당신이 생각하는 기호를 입력하지 않은 가장 합리적인. 당신이를 사용하지 않는을 알아 평등을 확인하려는 경우, 변 등호. 대신 같은 등호를 사용합니다. 그 이유는 직관적이 될 수 있을까요? 그래. 대상 : [안 들리게] 데이빗 J. MALAN : 맞아요. 등호가 이미 지정에 사용됩니다. 누군가가 정말 이럴 생각은 아니 었어요. 그리고, 지금은 평등 시험 할 때, 우리가 더 명시하고, 말을하는 것은 동일 같습니다. 가장 일반적인 실수는이 작업을 수행하는 것입니다. 그리고 근무 시간 또는 언젠가 다음 주 또는의 경우 이주 다음주는 이런 일을하고 20 분 알아 내려고, 10 그것으로 분투 빌어 먹을 버그가 무엇인지, 당신은 그 중 하나는 것을 이 실수를 한 명. 그래서 할 쉬운 슈퍼. 그러나 목표는 지금 실수를 피할 수있다하는 것입니다. 이게 정말 무슨 말을하기 때문에 이것은 평가 수 있을까? N 42를 얻을합니다. 따라서 동사 사람들을 표현하기 위해, 구두로 사용 과제의 개념은 "도착"입니다. N 42를 얻을 수 있도록합니다. 그래서 그런 N 42를 할당 의미합니다. 지금은, 괄호의 부울 식을이 이 조건 안에,의 값은 42입니다. 그래? 때문에 내부 아웃, 전체에서 평가하는 경우 대답은 지금 42입니다. 내가 진정으로 너희에게 질문을하면, "(42), 경우에"무슨 그 사실 말하는거야? 음, 부울 표현식은 true 또는 false가 될 수 있습니다. 1 또는 0. 사용 또는 사용 중지. 그래서 우리는 상기의 모든 여기 코너 케이스를 갖고있는 것 같다 "(42) 경우 '갑자기, 내 말은. 그건 부울 값입니다. 따라서 컴퓨터가 무엇하지만, 그것이 본질적으로 equates입니다 0 않아 아무것도은 true로 해석됩니다. 1. 있습니다. 모두 동등한 기능을하고 있습니다. 만 값이 우리가주지로 0 또는 false 키워드 결국보고 실제로 false입니다. 가 아닌 0 있기 때문에 "만약 (42)"사실, 사실 것입니다. 그래서 여기 더 정확하게 말하자면, 부울 값이 정말 그렇게하지 ​​않습니다 많은 true 또는 false,이에 대한 경우 경우는 0이 아닌 0입니다. 허위 따라서 허위 또는 없습니다. 그리고 우리 모두가 더 포괄 할 수 있도록 삽입구 표현의 가능성. 그래서 우리는 이런 말을, 아무리 신중하게해야 - 경우 (N == 42). 우리는 평등의 테스트를 지정해야하기 때문에 값의 아닌 할당. 여기에 주목할 가치가 다른 무엇입니까? 이 중괄호는 실제로 필요하지 않습니다. 난 여기 알 - 까다로 몰려를 해왔습니다. 그러나 당신은 단 한 줄이 조건이있을 때 코드는 편의 프로그래머는 사용할 필요가 없습니다 중괄호. 단지 예술적으로는, 들여 쓰기하기에 충분하고, 다음 코드의 라인을 써주세요. 에 - 당신은 코드 두 줄을 작성하려는 경우에만 예를 들어, 다른 printf ( "안녕!"). 당신은하고 싶은 경우 즉,이가 고장 났어요. 당신이 원하는 모든 들여 쓰기 할 수는 있지만이 있다는 사실 중괄호를 사용하지 않고 코드 두 줄을 입력 이 프로그램은 올바르게 수도 실행하지 않을 것을 의미 도 제대로 컴파일되지. 그럼 지금부터, 솔직히, 난 최선을 습관 방금 생각 중괄호를 사용하며, 당신은 그들이 만들 것을 발견합니다 슈퍼 분명 무슨 일이야. 또한, 옆으로 - 당신은 그 사이에있어 특히 사용하는 온라인 권장 도서 또는 리소스 - 스타일이 개념에있어 걸 깨닫게 프로그래밍. 그리고 어떤 사람들은 실제로 곱슬 중괄호를 넣어하는 것을 선호 여기에 줄에. 어떤 사람들은 터무니없는 일을하는 것을 선호 여기두면 좋아요. 가에 관한 한 아무 잘못 대답이 없습니다 스타일,하지만 이건 잘못된 것입니다. 그러나 어떤 사람들은 해. [웃음] 데이빗 J. MALAN : 그럼 지금이 얘기, 단순히 때문에 당신은 책이나 온라인에서 물건을 읽어, 당신은받을거야 서로 다른 교사로부터의 메시지와 다른 저자. 그리고 단지 기능들이있어, 그 실현 일반적으로 동등한하지만, 일관성을 유지하십시오. 따라서이 경우에는, 우리는 곱슬에 표준화됩니다 괄호는 왼쪽에 여기 늘어서. 괜찮아요. 그럼 이제 가서이를 실행하게하고, 어떻게 된건 지 확인 이 프로그램을 갖추고 있습니다. nonswitch하십시오. 그런 다음 nonswitch을 실행합니다. 나에게 공 사이의 정수를 포기하고 - 그래서 그 관련 없어 더 이상, 난 그냥 임의로 42 말거야. 그리고 오른쪽 답변을 골랐어 요. 자 이제, 실제로는 다른 방향으로 이것들을 가져 가게. 다른 구문 우리가 밖에서는 변 프로그램에서 사용할 수 있습니다. 여기 기능적으로 동일한 구문의 새 작품 이예요 하지만 단지 자신을 표현하는 다른 방법을 소개합니다. 그래서이라는거야 "스위치 문." 그리고 switch 문은 다음과 같이 작동합니다. 그것은 괄호 안에, 당신이 원하는 것을 값을 걸립니다 의 "스위치". 당신은 가치에 따라 다르게 행동하고 싶습니다. 그래서이 N의 값에 스위치를 의미합니다. 이 무슨 뜻 이죠? 그럼 여기서 n은 1 또는 2 또는 3 인 경우, 가서 "당신을 인쇄 큰 숫자 "를 선택한 후하다. 휴식을위한 이유는 C의 작동 방법으로 점이다 꼭 그렇게는 일치 사례를 발견 즉시, 그것은 실행 시작 그 아래 모든 코드. I 줄 27 여기처럼 내 말은, 코드 한 줄을 가지고 있으므로 경우, 실행됩니다. 여기 또 다른 행을 추가 할 경우, 실행됩니다. 또 다른 라인은 그 곳에서 실행됩니다. 이 프로그램은 아래의 어떤 실행 중지 내가 명시 적으로 해당 case 문 "깨."라고 잘못. 맞아요,이 경우 결과로. 사례 4, 5, 6, 마찬가지로, 것이다 메시지를 인쇄합니다. 이 경우, 중간 번호입니다. 휴식. 사례 7, 8, 9, 10, 밖은 인쇄 할거야 "당신은 큰를 정 번호입니다. "봐라. 그리고 "기본"이라는 키워드는 그대로가 그 효과적으로 구축 "다른"같은. 지적 그래서 새로운 구문, 그러나, 모든 새로운 여기에서 아무것도. 그건 그냥 스크래치 같아요. 다른 다른 경우 경우 같은 블록의, 경우. 그럼이 프로그램의 전환 버전입니다. 그러나 우리가 여기에 숫자와 함께 한 것을 확인할 수 있습니다. 단지 보여, 내가 두 번째 버전을 열어 보자 좀 더 구체적인 뭔가. 그래서 여기에 우리가 대신 등급 있습니다. 당신이 정수에 단지 스위치를 사용할 수 있습니다 밝혀 있지만,에 자. 모든 데이터 유형에 있지만 자 이상 있습니다. 그래서 여기, 우리가 뭔가 같이 할 수있는 C의 값이있는 경우 사용자는 GetChar 함수를 사용하여, 라인 (19)에 입력 자본 또는 소문자, 그럼 성적으로 해석하게입니다 하고 훌륭한 성적을 선택한 말한다. 그리고 아래 switch 문을 따라, 우리는 다른있어 "B"s와 "C"의, 등등을위한 가지 경우. 그러나이 지금 다른 일로 완성 보자. 또, 가지를 통해 날아 이 예제의 일부. 그러나 우리가 지금, 그들에게 적용 할 수있는 정말이야이야 - 나, 정말로 지금 번역 - C.에 그럼 내가 가서이 해주세요. 나는 새 파일을 열거야. 그리고 를 포함 할거야. 그리고 나서 정수 주를 (무효) 할거야. 저 loop.c.로 파일을 저장하자 그냥 예를 들어 있습니다. 그리고 가서 다음을 수행 할거야. 난 아주 지루한 프로그램을 작성하고 싶습니다. 10 그럼. 이 작업을 수행하자. 9. 괜찮아요. 당신이 프로그래밍에이 일을 시작 즉시, 넌 아마 뭔가 잘못하고. 그러나 우리는 어쨌든이 시작합니다. 죄송합니다. 그 사실은 잘못입니다. 7. 6. 5. 4. 아무것도 우리가 0으로 가면 무슨 일이 일어날 없어요. 3. 2. 1. 좋아요. 0. 삭제합니다. 괜찮아요. 따라서 0을 반환합니다. 그래서이 프로그램은 분명히 무슨 일이 아주 할거야 지루하고 어쩔거야 말합니다. 그것은 그 모두 인쇄 할거야 위에서 아래로 값입니다. 그럼 내가 루프를하자. 그리고 - 아하하. 루프를 확인합니다. 난 잘못된 디렉토리에했습니다. 그리고 지금은 루프를 실행할 수 있습니다. 입력합니다. Woohoo. 아주 좋아요. 니스 (Nice), 긴 프로그램입니다. 좋아,하지만 지금은 더 나은이 작업을 수행 까. 당신이 루핑을 사용하기 시작했을 때, 스크래치에 좋아 건설, 대신 그냥 복사를 모두 붙여 넣기 퍼즐 조각은, 내가이 일을 소개하겠습니다. 따라서 C에서, 다양한 반복 구조가 있습니다 중 하나는이 것 같습니다. A "에 대한"루프는 두 세미콜론으로 구분 세 가지 있습니다. 내부 루프의 시체를 그리고, 말하자면 방법 - 중괄호의 마음 속에 - 우리는 또 한번, 또 한번 일을 할 수 있습니다. 그래서 화면에 여기 일이 있습니다 말 그대로 그냥 댓글 달기를 수행 할 수 있습니다. / /이 댓글을 나오고 의미합니다. 이 코드하지 않습니다. 이 나에게 단지 영어 설명, 인간이다. 따라서 초기화, 조건, 및 업데이트. 그럼, 어떻게이 작품을 살펴 보자. 이 날 다음과 같이이 프로그램을 다시 작성 할 수 있습니다. 에 대한 - 그래서 여기 내 루프를 제공 - i를 INT - 여기에 "나"라는 변수는 있습니다 - 10 초기화됩니다. 그럼 내 초기화가 있습니다. 난 오랫동안 "난"보다 크거나이기 때문에이 루프를 수행하려면 0 평등. 그리고이 루프의 각 반복에 내가 원하는 내가 작업을 수행 할 수 -. 그래서 우리는 월요일에 + +를 보았다. - 맞은 편에 위치해 있습니다. 이 1의 값을 감소. 이 루프의 내부, 사실은 뭔가를하길 원한다. 그래서 printf 같은 말을거야. 이건 분명히 단지이기 때문에 난 지금 10 말하고 싶지 않아 같은 값을 인쇄하려고. 내가 대신 아마 인쇄 원하는 게 뭐야? 그래. 그래서 "내가." 따라서 % d 개, 전. 그래서 이전부터 그 아이디어 중 하나를 훔쳐 갈거야 - 형식 코드이 대체 - 그리고 여기, 하단에, 난 그냥, 0을 반환합니다 좋은 측정을위한. 그러나 지금은보다 간결 프로그램을 갖추고 있습니다. 단지 몇 줄, 그리고하지 일부 10 또는 11 선. 내가 여기서 내려 프롬프트 가자. 리메이크 루프. 루프를 다시 실행합니다. 그리고 같은 것 같습니다. 이제 프로그램이 더 이상 흥미 없어. 하지만 지금은 사람들이 이런 일을 입력 할 수 있습니다. 나는 100이 변경할 수 있습니다. 나는 그 때 내 프로그램을 컴파일 할 수 있습니다. 그리고 나서 나는 내 프로그램을 다시 실행할 수 있습니다. 그리고 이제 오늘의 컴퓨터에 초고속갑니다. 하지만, 내가 가진 - 실제로, 내 스크롤 버퍼는하지 않습니다 심지어 멀리 이동합니다. 우리는 간다. 그래서 우리는 100 있습니다. 그러나 여기에 실수를하는 방법은 간단합니다. 예상 행동 할, 무슨 일이야 만약 내가 실수로 그렇게? 그래서이 무한 인 것 같아요. 따라서 컴퓨터가 작동하는 경우 보자. 그럼 내가 가서 루프를 보자. 그리고 나 루프를 실행할 수 있습니다. 그러니까 그냥 순간에 그에게로 돌아가요. 우리는 실행을 알려드립니다. 때문에 최소한으로 무엇을 계산해야합니까? 아마 최소 2 억 우리는 많은 비트가있는 경우, 그리고 우리는 긍정적 인 값을 사용하고 있습니다. 그럼 여기서 다시 뛰어 보자. 루프 이러한 종류의 외에, 우리는 동안이라는 것을 가지고 루프. 그래서, 그냥 스크래치에서처럼, 영원히 가지고 블록, 당신은 반복 블록을했습니다. 마찬가지로, C에, 당신은 다른 방법을 가지고 자신을 표현. 그래서 당신은 당신이 할 수있는 동안 루프의 개념을 가지고 자신에게 다르게 조금 표현한다. 그리고 당신은 몰라 동안 루프라는 게 있어요 이는 물론 약간 다르게 작동합니다. 그리고 우리는 시간이 지남에 떨어져 다음을 괴롭혀야합니다. 그러나의 여기 마지막 부분을 살펴 봅시다. 우리는에 가면 - 여전히 실행할 수 있습니다. 꽤 무한입니다. 그럼 내가 긍정적으로 가자, 어떻게 우리가 실제로 할 수 표시 좀 더 효율적으로 사용자의 입력을 통제하고 있습니다. 꽤 짧은 프로그램입니다. 그리고 여기에 우리는 주, 정수 N 선언에 있습니다. 그러니까 나 한테 N이라는 변수를 제공합니다. 자, 문자 그대로 "어떻게." 그리고 나서 오픈 곱슬이 있어요 브레이스 가까이 곱슬 곱슬 한 부목. 그리고 바로 다음,주의, 그것은 말합니다 동안 N 미만 1입니다. 따라서주의 그 다음 행 - 19-24 - 통칭 DO-동안 루프를 작성하십시오. 그리고 다시, 새로운 구문이 아닌 새로운 아이디어. 이 구문 반복의 또 다른 방법,입니다. 그래서 어떻게합니까? n은 1보다 적은 상태에서 다음을 수행합니다. 그래서 어떻게할까요? 난 당신이 나에게 양의 정수를주는 요구합니다. 그리고 실제로 사용자로부터 정수를하려고합니다. 하지만 여기 작업의 순서의 관점에서, 때문에 상태가 여기있는 동안, 그때 확인해 보죠, N은 1보다 적은? 그래서 사용자는 가정 - -이 방법으로 요구 된 후 값 0 유형입니다. 이 조건은 참 또는 거짓하실 건가요? 음, 사실은 사실거야. N은 0이며, 0 미만이기 때문입니다. 그럼 무엇을 의미합니까? 다시. 다시. 다시. 한 번만 그 조건은 false로 평가합니다. I 42를 입력합니다. 아니 글쎄, 42 미만 없습니다. 따라서이 루프는 실행 완료됩니다. 그리고 그 시점에서 프로그램은에 감사를 말할 것이다 이 경우 42. 당신은 자신을 표현하는이 방법이 지금있는 - 우리는 완성이 기다려해서는 안됩니다. 그것은 시간이 좀 걸릴 겁니다. 아마도 다음 번에 ​​계속 될 수 있습니다. 그러나 지금 당신은 이해를 희망 할 수있는 능력을 가지고 괴짜 유머 비트. 죄송합니다. 이 컴퓨터 과학에 유머를 대표하지 않는 세계하지만 귀엽다. 그 말이 나와서 말인데 [웃음]하자 끝. 우리는 월요일에 표시됩니다. [박수 갈채]