[비디오 재생] 수학의 -A 승리 기계 기술 이 위대한 새로운 자동으로 하버드 대학에서 계산기. 수학의 복잡한 문제 코드 형태로 기계를 넣어 테이프에 정확하게에 해결된다 시간 분 분획 필요 인간의 계산. 모든 형태를 촉진하도록 설계된 수학 및 과학 연구, 거대한 기계의 뇌는 작동한다 미국 해군 전쟁이 끝날 때까지. [END 재생] 데이비드 J. 마란 : 이것은 CS50입니다. 과거는 마법이었다 장소,하지만 당신은했습니다 경우 이제까지 해당 장치가 무엇인지 궁금 하버드 과학 센터에, 그것은 참의 일부입니다 하버드 마크 내가, 그것은이다 지금이 디스플레이에 지난 몇 년 동안. 그리고 당신은 볼 것이다 무엇 문제 세트에 포함 하나는 뒤에서 모습입니다 이 장치는했고, 수행에서 무엇을 에 교수 해리 루이스에서 여기에 컴퓨터 과학 부서. 조금의 그에 따라서 더. 그러나 오늘 우리는 변화하기 시작 지난 주이에, 우리는 언급을 가져올 것이다 여기에 사진의 그 사실은 꽤 유명합니다. 사람이 어떤이를 알고 있나요 여기에 화면에? 적어도 신화에 따라. 그래. 청중 : 첫 번째 바이러스. 데이비드 J. 마란 : 그래서 그것은 가정이었다 컴퓨터의 첫 번째 실제 버그. 지금 현실에서 단어 버그, 프로그램의 실수, 일부 우리와 함께하고있다 물리적 세계 시간, 이것은 제의 하나였다 문서화 번 어디 사람이 실제로 마크에서 큰 나방을 뽑아 II 컴퓨터, 바인더에 넣어 후 기록 첫 번째 알려진 버그 실제로 물리적으로 발견되었다합니다. 그래서 이렇게 입력 된 오늘날의 지식으로 그. 마지막에서 모든 주 온라인으로 사용할 수 있습니다. 특정 자원에 당신은 수도 반드시 특히, 알 사람이 여기에 오는 경우. 그래서 교육의 동료 중 하나마다 올해는 노트의 정규 세트를 만들고, 그래서 당신은 계속 필요가 없습니다 당신의 머리 아래로, 시도 대부분의 아무것도 전사하기 그 클래스에서 여기에서 일어날 수 있습니다. 그래서 그 실현 [소위? Scribd에?] 노트 확실히 슬라이드, 온라인 및 우리가 수업 시간에 사용하는 소스 코드. 우리는 전체 텍스트 성적을 사용할 수뿐만 아니라. 당신이 막연하게 몇 가지를 기억한다면 용어, 그리고 약간 그것을보고 싶어 더 쉽게, 모두 실현 그 중 온라인으로 검색 할 수 있습니다. 뿐만 아니라도 연습. 실제로, 오늘날 우리가 보는 시작 낮은 수준의 프로그래밍 언어, 곧 우리에게 알려져있다 C로, 그리고 매우 쉽다 일종의 몇 후 길을 잃기 순간의 시간, 경이의 다음 종류 우리는 실제로 좀 더에 도착하는 방법 간단한에서 복잡한 예. 그래서 우리는 체리거야 실현 클래스 몇 가지 중 선택 대표 예,하지만 훨씬 더가도 실현 당신이 작업 할 수 있도록 온라인으로 제공 당신의 자신의 속도로 그것을 통해 그러나 당신은 가장 편안한입니다. 그러나 우리는 함께 중단 다만이 있었다 프로그램. 그래서 녹색 깃발을 클릭, 이 프로그램은 무엇입니까? 안녕하세요, 세계, 말한다. 그것은 고양이가 말을한다 안녕하세요 그의 작은 세계 왼쪽 상단에 스크래치의 사용자 인터페이스. 그러나 우리는 소개하기 시작했다 일부 용어 지난 주. 그리고,이 같은 일이 우리는 무엇이라고? 이것에 대한 일반적인 용어 무엇을 할 수 있는가? 그래. 방법 또는 문. 물론,이 행동입니다. 이 작업을 수행. 그럼에도 불구하고이 있었다 처음에 다른 모양, 이러한 소위 외에 문, 그들도했다 우리는 무엇이라고이 같은 것들? 그래. 그래서 루프. 이 경우,이 물건 반복 분명히 10 회. 영원히 블록이있다. 다른 사람의 몇 가지가있다. 그리고 오늘 우리는 방법을 보게 될 것입니다 현대 세계에이 번역, 그것이 비록, 만약에 당신 언뜻보기에 나타날 것 더 많은 비밀이 될 수 있습니다. 그러나 사람들은 참으로 반복했다. 그리고 우리는 같은 일이 이 모양이 있던이, 본질적 질문을 물었다. 그리고 우리는 어떻게 이러한 언급? 청중 : 부울 식입니다. 데이비드 J. 마란 : 그래. 부울 식입니다. 뭔가 즉 true 또는 거짓, 예, 아니오, 하나 또는 제로, 그러나 당신은 세상을 보려는. 그러나 우리는 그 부울라고 표현은, 우리는 그들을 연결 조건 또는 지점에. 그리고 세계에서 스크래치, 모든 것을 잘 그 모양의 측면에서 연동, 그렇게하는 것이 논리적 인 의미가있는 경우, 하지만 당신은 단지에서 정지 할 필요가 없습니다 조건부 하나의 일을하고, 당신은 속담을 가질 수있다 도로 포크 이 경우 또는 것을 하나를 수행 조건이 true 또는하지 않습니다. 그리고 다음으로 당신은 볼 수 있습니다 당신이 이미하지 않은 경우, 당신은 둥지에게 이러한 블록을 균일하게 할 수 있습니다. 그래서 스크래치는 모양을 채우기 위해 성장 당신이 그것을에 삽입 할 수도, 그래서 당신은 실제로 표현할 수있는 가장 당신이 할 수있는 논리. 발표 지금 몇 마디 모두 여기 뉴 헤이븐합니다. 그래서 단면 오늘 시작됩니다. 이것에 대한 URL은 코스의에 웹 사이트, 익숙하지 않은 사람들을 위해. 섹션이 될 것입니다 기회를 함께 얻을 수 있습니다 훨씬 더 친밀한 환경에서 [이상? 샌더스는?], 수 와 10 ~ 20 반 친구들과 함께 다른 트랙에서 동료를 가르치는, 다른 걸음, 당신은 그렇게 선택하는 경우. 실제로 코스 제공 다른 섹션 덜 편안하게 사람들을 위해, 더 편안하고, 그 사이에, 여기 엄지의 역할이며, 공식적인 정의는 없다, 그러나 당신이 적은 편안한 있다면, 당신의 종류를 알고있다. 당신에 대해 조금 용맹 한 것 다시, 아마, 발을 스테핑의 생각 교실에서, 또는 표시 섹션 사이에서까지. 당신은 당신 때문에 프로그래밍을 한 경우 , 더 편안하게, 여섯 살이었다 아마도 당신에게. 그리고 토스 업 종류의 경우, 그게 정확히 무엇에 사이를의 하기위한 것입니다. 이제, 그 사이에, 수업이 크기에, 이 부분을 우​​리에게 아주 약간의 시간이 소요됩니다 모든 사람, 그래서 우리는 소위 한 슈퍼 섹션, 최대이오고 주말과 다음 주 초, 그래서 코스의 웹 사이트에서보세요 물론 넓은 그 사람들을 위해, 또한 사람들을 위해 촬영 누가 그들을 만들 수 없습니다. 그리고 절은 자신이 시작됩니다 주 CS50 제로 인덱스의 세. 문제는 0이 이미 설정 코스의 웹 사이트에. 그리고 당신이해야합니까 실현 말에 9 일 이번 학기. 그래서이 마지막에서 업그레이드입니다 올해, 우리는 다섯 늦게 일을했을 때. 그래서 당신이 궁금해하는 경우, 우리는 아홉 문제 세트를 가지고있다. 당신은 말에 9 일, 이들 각각이 당신은 단지에 일주일을 보낼 수 있습니다. 즉, 모든 유효하게 문제 인해 금요일 설정, 그러나 목표는 약간 넣는 것이다 심리적 압력의 비트 당신을 얻기 위해 시도 목요일에 일에 당신은 곧 발견 할 것 같은 때문에, 더 나은 또는 더 나쁜, 대부분의 소프트웨어 세계의 모든 끝 더 이상 당신이 예상보다 복용. 그래서 일종의 고려 도움이되는 기회 자신은, 목요일을 대상으로 하지만, 그래, 그에 만족할 수 모든 금요일 예정이다. 그리고 당신은 그들에 제출하는 경우 목요일, 그 멋진입니다. 더 보너스 포인트 또는 추가가 없습니다 그 기한을 충족 신용. 그것은 유일한 버팀목 될 운명입니다. 그리고 근무 시간, 모두 여기 뉴 헤이븐에서, 사람, 당신은하고 싶은 경우 우리의 교육 과정의 만나 도움을 동료와 CA를 교육. 괜찮아. 그래서 지금의이 더 리얼하게 할 수 있습니다. 그리고 잠시 그​​것을 시작하는거야 좀 더 모호한 얻을 수 있지만, 매우하기 빨리 금요일과 다음 주에 우리가 될 것입니다 보다 훨씬 더 많은 일을 할 수 우리는 지금까지 스크래치에서 할 수있다. 그래서 우리는 마지막 코드를 도입 주 pictoral이기는하지만. 그것은 퍼즐 조각이었다. 그리고 우리는이 것을 공식화 소스 코드라는 것을, 하지만처럼 않았다 것인가? 음, 조금 보였다 이 같은. 그리고, 사실, 그냥 가지에 우리가 갈 수있는 곳 애타게. 나는 앞서 갈거야 및 여기에 창을 열고, 난 그냥 새 파일을 선택하는거야. 그리고이 파일을 저장하려고 해요 안녕하세요 도트 C 같은있다. 의 선택에 대한 자세한 잠시 단어. 그리고 이것은 어떻게 사람이 힘이다 프로그램 작성에 대한 이동합니다. 표준 I / O 도트 시간, 주 INT 포함 가까운, 무효, 다음 열기 중괄호 중괄호, printf의 안녕 쉼표 세계, 백 슬래시 N, 세미콜론, 저장, 수행. 그래. 내가 처음으로 작성한 프로그램,하지만거야 믿을 수 없을만큼 실망 시키게 될 때 실제로 나는 때문에 물론,이 프로그램을 실행, 먼저 서면으로 인사하게, 다음 안녕하세요 슬래시, 우리는거야 도트 더 많은 세부 사항이 통과 순간에, 그게 않습니다 모두이다. 모든 창을 열 팝업하지 않습니다. 그것은 아무것도하지 않습니다 특히 공상. 그것은 않는 모든 내가 그것을 말한입니다 , 그러나 어떻게 우리가 그에게 어떻게해야합니까? 그리고 우리는 어떻게 그 위에 구축합니까? 글쎄, 몇 가지를 소개하겠습니다 여기에 다른 개념. 그래서 하나, 우리는 시작에 대한 것 컴파일러라는 프로그램을 사용하여. 컴파일러는, 맥 OS, 윈도우 존재 리눅스 운영 체제의 수, 우리는 곧 당신을 소개합니다 우리가 사용됩니다 환경, 하지만 컴파일러는 일반적이다 소프트웨어의 조각에 대한 용어 그 소스 코드를 취하고 그것에서 오브젝트 코드를 생성합니다. 즉, 경우 입력 소스로이 코드, 그냥 입력 한 내용과 같이, 그것은 궁극적으로 오브젝트 코드를 생성합니다. 그리고 오브젝트 코드는 정말 이 출력 말하는 멋진 방법 제로의 하나입니다. 즉, 소스 그것이 비록 코드, 작은 비밀을 찾아 가고, 조금 덜 친화적 인 첫 눈에 스크래치보다, 적어도 뭔가 우리 인간은 이해할 수있다. 그것은 종류의 모양과 같은 소리 영어에도 매우 간결하다. 제로의 프로그래밍 반면 및 하나의, 우리의 전임자가해야 할 일을했을로, 몇 년 전, 아니 었 특히 재미 도전. 그럼에도 불구하고, 이것은 무엇이다 컴퓨터는 여전히 이해한다. 그래서 컴파일러는 우리를 얻는다 소스 코드는 개체 코드. 그것은 함께 파일을 여는처럼 컴파일러, 그리고 당신이 그것을 저장할 때, 당신은 그 0과 1을 얻는다. 그래서 우리는 어떻게 볼 수 있습니다 단지 순간에 그. 하지만 지금의하자를 제공하기 위해 노력 지난 주,이 사이에 다리, 마침 그래서 우리는 끊었 얻을 중괄호 같은 것들에, 세미콜론, 괄호, 및 이러한 지적 흥미있는 모든 프로그래밍의 측면, 바로 그 당연히 초기에 사람들을 넘어, 모든 아이디어 실현 오늘, 마지막으로 동일하다. 그래서 마지막으로, 우리는이 예제를 보았다 여기에, 안녕하세요 프로그램. 우리가 원하는 음, 만약, 오늘부터 동일한 프로그램을 구현하는, 그것은 보일 것 이 같은 작은 선물. 그리고 우리는, 긴 무엇 INT 전에 설명 할 것이다 주 및 무효, 그리고 모든과 하지만, 적어도 내가 여기를 참조하십시오 이미 익숙한 안녕하세요. 같은 한편, 일 기능, 인사 말씀, 아주 간단하게 될 것입니다 이 같은 매우 간단한 문장. PRINTF 안녕하세요, 일부 백 슬래시로, 인용, 세미콜론,하지만 그에 이상이 올 수 있습니다. 루프는, 한편,이 것이 루프, 물론, 영원히 세상을 안부 이 하나 보일 것 마지막으로보다 괴상 작은, 하지만 난 뭔가를 말한다면 같은, 진정한 동안, 나는 다음 안녕하세요 세계를 인쇄 할 수 있습니다 다시하고 다시하고 다시하고 다시. 그리고 다음과 같이 종류의 수 의 여기 추론하기 시작, 사용이 규칙 중괄호 종류 의를 수용 등 이 코드의 들여 쓰기 라인. 코드의 printf의 라인 더 등 위의 노란색 퍼즐 조각입니다. 그래서 우리는 영원히 말을하지 않을거야, 우리는 진정한 동안 말을거야 그건 그냥 비트에 왜 그러나 우리는 볼 수 있습니다. 한편, 우리는 다음과 같이 루프가있는 경우, 어디 유한 뭔가를 반복 횟수,이 너무 그건 조금 걸릴 것 것은 익숙해 에,하지만 INT 말할 것 내가, 내가 ++, 나는 10 미만 제로 도착 다음의 printf 다시. 그러나 패턴이있을 것입니다. 그리고 익숙한 당신의 사람들을 위해 AP 컴퓨터 과학, 또는 Java와, 또는 다른 언어의 수, 거의 모든 구조의 지금까지 대부분 익숙 할 것이다. 그래서 변수입니다. 그래서 여기에 간단한 스크래치 발췌입니다 그 0으로 카운터라는 변수를 설정 다음 영원히 카운터는 말한다, 그리고 그것은 하나 카운터가 변경됩니다. 그래서, 0으로 시작 다음 하나, 둘, 셋. 글쎄, 우리가 어떻게에 그것을 소개 할 수 이 새로운 언어 마찬가지로 조금? 지능 카운터는 동일 진정한 동안 제로, 어떤 이전부터 같은 생각입니다 영원히 뭔가 일을, 난 그냥는 printf거야. 그리고 지금은, 조금 이상한 점점 %의 난,하지만 더 그에 와서, 그러나 이러한 생각은 정확히 동일합니다. 우리는 지금을 준수해야 컴퓨터가 구문 우리에게 요구하는 것. 부울 식, 같은 SX 이하 Y보다, Y보다 또는 X 이하 및 z보다 Y. 그것은 조금 보일 것 이 같은 단지 괄호 같은 좋은 측정을위한 수학 단지 확인하는 작업의 순서 우리가 의도 한대로입니다. 그리고 지금, 조건. 그래서 Y보다 X, 말한다면 X는 작은 보다 Y, X가 Y보다 큰 다른 경우, 그렇지 않으면, X가 Y보다 큰 말한다 논리적으로, X는 Y와 동일해야합니다. 그래서 당신은 구현할 수 스크래치에서이 같은, 또는 당신이 구현할 수 이 구문에서 그것. 그리고 다시, 중괄호 가지입니다 퍼즐로 우리에게 같은 모양을 제공 조각지만, 구문은, 지금, 아마도 어떤 패턴을 따라하기 시작했다. 그럼,이 여기에 우리에게 무엇입니까? 그래서 우리는 그때 우리의 주요 프로그램에있어. 실제로의하자, 지금, 그것으로 뭔가. 그래서이의 첫 번째 우리는 날카로운 포함 참조 라인, 표준 I / O, 점 H 및 다음 몇 가지 이상한 각도 그 아래 괄호. INT 메인 무효, 다음의 printf 안녕하세요. 그래서 단지 조치를 취할. 이전에 프로그램 결코 사람, 적어도이 라인 중 하나를 설명합니다. 아마도 일부 사용 지난주의 전문 용어. printf와는 예를 들어, 무엇입니까? 그래. 청중 : [들리지] 데이비드 J. 마란 : 그래. 그것은 기능, 또는 문이다, 지난 주 용어에서. 그리고 그것은 행동이다 그 일을하고 있어요. 이제이 기능 또는 이 문장은,하지 그것은 입력의 어떤을 보인다? 그리고 무엇에 의미가 않습니다 그렇다면, 입력을하는 것? 입력, 나는 무엇을 의미합니까? 그래. 청중 : [들리지] 데이비드 J. 마란 : 그래. 그래서 몇 가지 퍼즐 조각을 스크래치 어디를 변수화 할 수 있습니다. 당신은 반복을 말할 수 반복 횟수를 차단, 그래서의 입력했다 종류, 그냥 스크래치 등 작은 흰색 자리를했다 당신이 입력 할 수에 대한, 그래서 우리는이에 사용합니까 텍스트 세계 괄호 우리에게 그 원형을 제공합니다 되는 우리는 우리의 입력을 연결할 수 있습니다. 결국, 수십 년 전 때 C라는이 언어, 아무도 발명되지 않았다 그것은 우리 중 하나 예상 이 몇 년 후, 우리는 거라고 안부 기능을 할 수 있습니다. 권리? 가 있다면 그것은 좋은 것 퍼즐 조각, 또는 핵심 단어, 그는 것을, 안녕하세요라고 말 그대로 그냥 인사 말했다. 그러나 우리는 필요하지 않습니다. 우리는 훨씬 낮은 뭔가를 할 수 있습니다 일반 인쇄와 같은 수준, 입력을 받아 명령, 우리가 원하는대로 인쇄합니다. 그래서 패턴 지금 주목 그 등장하기 시작합니다. 열기 괄호, 가까운 괄호는 분명히 입력을 수용, 다음 나는 두 번 참조 양쪽 끝에서 인용. 이상한 백 슬래시는 여전히있다 N, 그러나 희망 지금은 적어도 그 구상을 시작할 수 있습니다 printf의 입력의 어떤 형태로하고있다. 한 사용자 친화적하지 않음 스크래치하지만 단지 등이 일부 값에 연결하는 데. 좋아, 이제 실제로하자 이와 뭔가. 그래서 여러분 중 일부는 알고 있습니다 전 클래스를 쇼핑 가진, 친구와 잡담 그 몇 년 동안 우리는 무엇인가라는 사용 CS50 어플라이언스. 이것은 기술 용어를 설명했다 가상 머신,라고하는 소프트웨어의 조각은 당신의를 전임자가 꺼 다운로드 것이다 무료 과정의 웹 사이트. 또한 무료 조각을 다운로드 할 것 하이퍼 바이저라는 소프트웨어, VM웨어처럼 뭔가라는, 버추얼, 또는 임의의 수 또는 다른 도구 및 Mac 또는 PC에 자신의 또는 어떤 컴퓨터들은 작년에 있었다 몇 년 과거에, 그들은 아이콘을 두 번 클릭 것 이 소프트웨어를 실행합니다 하이퍼 바이저했다. 그리고 그 프로그램의 내부 그들은 CS50 어플라이언스를 열 것입니다. 및 효과이었다 여부를 당신의 선행 맥 OS 이상을 실행했다 윈도우, 그 또는 그녀는 그 이후에 새 창을 가지고 자신의 화면이 CS50의 환경을 실행. 그래서 가상 머신은 하나를 실행할 수 있습니다 다른 내부 시스템을 운영, 그리고 우리가 무슨 짓을했는지 정확히. 물론 우리의 대부분에 걸쳐 라는 운영 체제를 사용 리눅스, 특히 우분투 리눅스,이 년의 과거에 아주 좋은 방법입니다 과정에서 반드시 모든 사람을 그냥 같은 환경을했다. 그리고 당신은 어떤 종류를 사용할 수 있습니다 당신이 실제로 원하는 컴퓨터. 단점 중,하지만, 하였다는 이기가바이트 같았다 이 일을 다운로드합니다. 그것은 반드시 잘 슈퍼 작동하지 않았다 그의 컴퓨터 사람들 어쩌면 만 공연이 있었다 정도의 RAM, 또는하지 CPU 속도의 너무 많은 기가 헤르츠, 그래서 올해에 대한 이것과 다른 이유, 우리가 전환되고있다 이 환경에. 인 소위 CS50 IDE, 오픈 소스 소프트웨어를 기반으로, 및 지원되는 플랫폼 회사는 Cloud9라는 것을 것으로, 유럽에서 지원 우리는 본질적으로 가질 수 있습니다 그 동일한 환경에서와 같이 년 과거,하지만 소위 구름. 그래서 구름은 무엇인가? 당신은 아마 클릭 한 Mac 또는 PC에서 아이콘. 구름은 무엇인가? 그래? 조금 더 크게. 그래. 그것은 컴퓨터의 단지 무리입니다 다른 곳에서 데이터를 저장하고 실행하는 것이 소프트웨어 등을 포함한다. 그래서 그냥 단어 드에 정말 [을 설명 법적? 임대 할?] 다른 곳에서 살고 컴퓨터. 당신이 그 자신, 반드시 보유하고 있지 않습니다. 그래서 때 데이터, 또는 프로그램은, 구름에 그냥 누군가에 의미합니다 다른 사람의 컴퓨터, 아니라, 대부분에 당신의 실제 노트북이나 데스크탑. 그리고 그 CS50 IDE 지금거야. 이제부터는 당신은 어떤로 이동합니다 을 소개합니다 URL 에, 문제의 뒷부분이 세트 1 주, 그 다음에, 로그인합니다 당신이 환경을 제공합니다. 그리고 많은 같은 스크래치가 있었다 관련된 몇 가지 다른 패널, 그래서 CS50의 IDE를 정확히를 가지고있다. 여기에 왼쪽 상단에, 당신은있어 익숙한 파일 브라우저를 보게 될 것. 어떤 파일 그래서 당신 이 환경에 넣어 그냥 나열 될 것입니다. 파일 및 폴더. 여기 상단에, 당신은 장소를 보게 될 것입니다 어디 실제로 코드를 작성할 수 있습니다. 처음에는 C에서, 나중에 PHP와 자바 스크립트의 용어, 그리고, 아마 결승전 프로젝트, 루비 또는 Java 또는 파이썬 또는 임의의 수의 언어는 이 환경에서 지원. 그것은 전혀 연결되지 않은 것 특히 CS50합니다. 그리고 여기에 하단 모서리에, 특히 더 편안하게 사람들을 위해, 당신이 뭔가를 터미널 창이라고합니다. 그리고이 터미널 창 허용 당신은 어떤 명령을 실행하는 당신을 이 클라우드 환경에서 할 수 있습니다. 그것은 당신이 설치할 수 있습니다 추가 소프트웨어 당신이 소위 때문에 당신이 원하는 것을 루트 또는 관리자 권한. 환언하면, 심지어이 비록 궁극적으로 클라우드에 호스팅되는, 우리는이 경우에도 어느 정도를 간략화 기본적으로, 문자 그대로 도입, 댄 Armendariz, 그리고 디노 덕분에, 그리고 이상 CS50의 팀에 댄 브래들리 몇 달 과거, 덜 편안 많이 숨 깁니다 모드 처음에는 혼란 산만. 에 존재 다 일반적인 컴퓨터 시스템을 나타내는 당신은 현실 세계에서 사용할 수있는. 그래서 무엇을이 모든 의미하고, 우리는 실제로 그것으로 무엇을 할 수 있습니까? 의는 실제로 프로그램에서 들여다 보자. 그래서 열거야 여기에 실제 환경, 이는 우리의 크롬입니다 파이어 폭스가 될 수 브라우저, 인터넷 익스플로러 될 수있다, 또는 몇몇 다른 브라우저뿐만 아니라. 그것은 전체 순간 여기를 상영합니다. 그리고 실제로 애타게 할 이 외에도 프로그램은 무엇이었다. 그럼까지 확대하여 살펴 보자 내가 무슨 짓을했는지에, 맨, 어떻게 내가 여기있어. 그래서 여기에 정확한 사람들의 코드의 같은 라인. 그래서이 문장은, 당신은 앞에서 언급 한 바와 같이. 안부 기능. 중괄호,에 행 사 및 라인 여섯, 봉투의 아마 종류 그 라인을 연결합니다 내 프로그램의 본질과. 그래서 참으로,이 키워드 주, 즉, 선 세에 최대있다 당신은 동등하게 그 생각을 할 수 있습니다 녹색 깃발을 클릭 할 때의, 스크래치에 차단합니다. 즉, 우리가 여기있는 모든 그래서, 때이다 녹색 깃발은 인쇄를 클릭, 또는 말 안녕하세요. 그러나의가에, 지금, 추측을 보자 무엇 이 제 더 비전 라인이다. 샤프, 개방 각도 포함 브래킷 표준 I / O 도트 H, 각도 브래킷을 닫습니다. 아마도 무엇을하고 있는지, 특히 당신이 프로그래밍 한 경우 다른 언어로 이전. 그래? 청중 : [들리지] 데이비드 J. 마란 : 그래. 정확히. 그래서 이것은 당신이에 대한 액세스를 제공하고 있습니다 라이브러리는, 그래서 기능으로, 말을합니다. 그리고 함수 라이브러리입니다 기능이 다른 사람 중 최근에 썼다 또는 오래 전에, 그래서 당신 바퀴를 재발견 할 필요가 없습니다. 예를 들어, 우리는하지 않습니다 2015 년, 알고있다, 그 풋 코드를 작성하는 방법 내 화면에 문자. 다른 사람이 있다고 생각했다 printf 함수와 아웃 내가 추상적으로 정렬 할 수 있도록 멀리 것과, 또는 층 의 상단에 자신의 코드, 지금 바로 받아 모든 프로그램은 내가 작성하는 것이 당연 화면에 뭔가를 인쇄 할 수 있습니다. 그래서 단계에서이 첫 번째 라인 소위 헤더 파일을 포함 표준 라이브러리. 그래서 언어를 참조 우리는 지금 어떤 작업하고 표준 라이브러리를했다 기능이 많은. PRINTF 그들 중 하나이며 코드의 첫 번째 줄 의미하는 것은 나에게 액세스 권한을 부여 그래서 그 기능, 나는 그 바퀴를 재발견 할 필요가 없습니다. 이제 바닥 창으로 가자 내가 전에했던 정확히 않습니다. 순간 전에, 나는 경우였다 코드를지나 가게, 처음으로 그것을 밖으로 입력, 나는 매우 빠르게 입력, 안녕하세요합니다. 모든 약이 추측 것이 무엇입니까? 나는 무엇을하고 있었? 그래? 신경 쓰지 마. 괜찮아요. 그래. 청중 : 그것을 컴파일. 데이비드 J. 마란 : 그래. 그것은 단지 그것을 컴파일했다. 권리? 심지어이 완전히 익숙하지 않은 경우 당신에게,이 같은 꽤 영어를합니다. 그것은 확실히 제로 아니다 과 사람, 그래서 아직도 내가 그 소위를 통해 실행해야 프로그램, 컴파일러, 즉거야 입력으로 받아 출력을 생성합니다. 그리고 적어도 지금은,에 이 리눅스 환경, 그러나 이것은, 전제 조건되지 않습니다 우리가 시작할 것이다 단지 곳이며, 당신은 일반적으로 상호 작용 이 같은 컴퓨터 시스템 소위 명령 라인으로. 깜박임에 따라서 신속하고 키보드, 그리고 그다지 마우스, 그리고 너무 많은 창, 아이콘 및 메뉴, 오히려 모든 텍스트입니다. 그리고 이것은 처음에 느낌에도 불구하고 눈, 아마도, 뒤로​​ 단계처럼, 실제로는 훨씬 더 강력하고 표현 방법 컴퓨터를 제어 특히로서, 자신은 더 될 이하에서 편안하게. 그것은 당신이 많은 작업을 수행 할 수 있도록 것 다만 무엇을 마이크로 소프트보다 더 많은 것을 또는 애플은 당신이 수행 할 수 있습니다 자신의 그래픽 오퍼레이팅 시스템. 그래서, 지금, Enter 키를 누르 때 아무것도이 시간이 발생하지 않습니다 분명히 있기 때문에 프로그램 안녕하세요이 최신이다. 그리고 명령 것이었다 그 후 실행? 도트 안녕하세요, 안녕하세요 세계를 슬래시. 이제 조치를 취할 수 있도록 단지 잠시 동안 백업합니다. 그것은 안녕하세요 단지인지 확인 밝혀 프로그램을 컴파일하는 간단한 방법입니다. 그냥 소개하자 전문 용어의 한 조각, 그러나 멀리 이동 그렇지 이후, 그것에서 모든 재미를 오늘의 목적을 위해. 우리가 사용하기 시작하는거야 컴파일러 C 언어에 대해, 연타라고합니다. 그리고 이것은 바로 실행있어 프로그램입니다 같은 우리가 명령 줄에서했다. 그래서 내가 원하는 경우 프로그램을 컴파일하는 나는 안녕하세요 점이라는 파일에 작성했습니다 C, 말 그대로 그냥 그 소리 헬로 C를 입력 입력합니다. 재미있는 것은,이다 역사적인 이유로, 나는를 지정하지 않은 경우 프로그램의 이름 내가하지 않으면 난, 출력 할 것인지 그 제로의 파일 이름을 지정 과 사람, 아주 이상한 협약이 채택되었다 년 전 그것은 어떤 종류의 느낌 곳 시간에 좋은 답변, 물론 그냥 임의로 부르 자 첫 번째 프로그램은 우리가 점을 컴파일합니다. A는 알파벳에서 먼저. 아웃, 그것을 출력이다. 그래서 우리는 프로그램을 호출합니다 점 밖으로 기본적으로. 내가 원하는 경우 때문에 그 괜찮습니다 기반이 문서에 프로그램을 실행 환경, 난 그냥 입력 점은 밖으로 점을 슬래시 입력합니다. 그리고 그것은 정확하게 이전 실행됩니다. 그래서 진짜 빠른 것을 볼 수 있습니다. 내가 다시 가면 그래서 내 CS50 IDE에서 소스 코드, 내가 대신 이렇게, 그 소리 안녕하세요 침대 C 입력, 통지 아무 일이 일어날 것 같다, 하지만 거의 대부분의 이 리눅스 환경, 나쁜 아무것도 것을 일어날 것 같다 때 좋은 일이 실제로 일어난 것을 의미한다. 오류가 표시되지 않는 경우 메시지는, 아마도 모든 웰이다. 내가 지금 할 수 있다면 참으로, 점은 점을 슬래시 밖으로 내 같은 프로그램을 실행했습니다 입력합니다. 나는 아직도 안녕하세요 프로그램이 이전부터 때문에 실제로, 그것은이다 훨씬 더 좋은 단지가 될 것 만드는 대신 기억 입력 이러한 주술 명령은,하지만하자의 볼 어떻게 그럼에도 불구하고,이에 따라 향상 될 수 있습니다. 그래서,이 명령은 코드를 컴파일합니다. 이 실행할 수있는 명령입니다 그 후 코드를 컴파일. 어떻게 파일 이름을 지정할 수 있습니다? 그럼 그냥 소개하자 전문 용어 하나 더 조각. 이에있을 때 텍스트 기반 환경, 당신은 지정하려는거야 명령 줄 인수라는 것. 어떤 말을 그냥 멋진 방법입니다, 프롬프트에서 즉 그 의 동작을 조정할 무엇이든 프로그램 당신은 실행하고 있습니다. 난 그래서 특히 프로그램 이름 그 소리를 입력하여, 실행, 연타라는 프로그램이다. 그래서이 있거나 오래된 학교 더블 클릭의 동등한 Microsoft Word 또는에 일부 프로그램의 아이콘입니다. 나는 대신, 그것의 이름을 입력 해요 하지만 명령이 버전에서, 그때 대시 O 공간이 안녕하세요 공간 안녕하세요 도트 다. 당신은 적이 없다 그래서 경우에도 전에이 세상에서 재생, 그냥 추측을 무엇 대시 오 안녕하세요합니까? 또는 무엇을 어떻게해야 연타을 말해 주는가? 그래. 청중 : [들리지] 데이비드 J. 마란 : 그래. 그냥 할 파일의 출력을 설정합니다 안녕하세요 대신 밖으로 점 sillier의. 그리고, 참으로,이 해 봅시다. 첫 번째, 내가 지금 할 경우에 따라서 R 분의 안녕하세요,이 해 보자. 즉 제거합니다. 그리고 그것은 제거 말 것 일반 파일 안녕하세요, 어떤 불필요하게 비밀이지만, 단지 수단이 파일을 삭제 하시겠습니까, 내가 예에 대한 Y를 입력합니다. 당신은 상단에이기는 된 경우에, 알 왼쪽, 그것은 거기에서 사라 않았다. 내가 지금 그 소리 대시 O를하자,과 나는, 안녕하세요 가서 할거야 모두 대문자, 안녕하세요 도트 다. 지금, 나는 점 슬래시를 할 경우 안녕하세요, 당신은 무엇을 기대? 어쩌면 그것은 민감한 경우입니다. 어쩌면 그것은 아니다. 어디 보자. 그런 파일이나 디렉토리가 없습니다. 그리고 우리는 가지에 의해 부정 행위를 할 수 있습니다 단지 왼쪽 상단에서 찾고. 내가 분명히했다 같은 프로그램을 저장? 모두 안녕하세요 모자. 그래서 실제로, 그 것입니다 차이를 확인합니다. 그래서 지금 안녕하세요 세계가 돌아. 이제이 모든 벌금과 좋은 모든 매우 마음 마비, GET의 종류에 이들의 수렁에 빠져 자세한 내용은, 그러나 그들을 이해 좋은 것입니다. 이 점점을 입력 긴 주술 특히 될 수 없습니다 세계의 재미, 그래서 사람들 다른 프로그램을 발명 몇 년 전,라고 만들 것을 아주 간단하게 당신이 메이크업을 입력 할 수 있습니다, 프로그램 이름 당신이 만들고 싶어하고, 확인 그것의 모양 있다는 점에서 스마트 현재 폴더, 디렉토리 일명, 당신은 파일이있는 경우 안녕하세요 도트 C라고, 즉, 컴파일 할 파일입니다 안녕하세요라는 프로그램에 당신을 위해. 그래서 훨씬 더 간단한 방법 더 애매한 명령을 수행 것을 우리는 이전했다. 그리고 우리는 미리 설정 한 IDE CS50는 알고 그것은 대시 O와 숫자의 작업을 수행해야 다른 플래그, 또는 명령 줄 인수, 우리가 오래 전에 볼 수있다. 그러나의 지금 실제로하자 더 흥미로운 뭔가. 그냥 안녕하세요 세계를 입력 시간은 모두 강력한 없습니다. 그래서 내가 앞으로 변화 가자 이 프로그램 안녕하세요 데이비드, 말한다. 지금은 여기에 내려 갈거야. 내가 가서 인사를하게 할거야. 그리고 다시 지금 당신이보고있는 수 있도록 당신에게 이상을 보여주고있다 그것의 것을 명령의 순서 우리가 미리 구성했기 때문에 일을 그런 식으로,하지만 우리 지금은 걱정할 필요가 없습니다 무엇 그것보다 다른 짓 컴파일 점 안녕하세요, 안녕하세요 세계를 슬래시. 뭐가 문제 야? 그래. 청중 : [들리지] 데이비드 J. 마란 : 예. 그래서, noobie 실수. 나는,이 슈퍼 미묘한주의 하지만 여기에 별표 (*), 탭, 단지 당신이 그것을 저장하지 않은 의미, 브라우저 및 기타 프로그램 가끔 이렇게. 따라서 제어의 또는 명령 S는 저장해야합니다. 지금 나 앞서 가자 프로그램을 다시 실행합니다. 컴파일. 오른쪽 때문에 다단계 프로세스이다. 아무도, 특히 복잡하지 그러나 언제 우리는 파일을 변경 우리는 결과를 변경해야 0과 1, 그리고 점 슬래시 안녕하세요. 와우. 그래서 이것은 매우 실망입니다 것을 우리는 단지이 인쇄. 의 물건을 만들어 보자 지금, 더 역동적 조금. 그럼이 좋아하는, 밝혀 스크래치는, C 변수를 지원합니다. 그리고 그것은 당신이 원한다면 밝혀 그 상점 변수가하는, 우리 같은 숫자가 아님 일반적으로, 스크래치와 함께했던 그러나 단어처럼, 또는 구문, 이름, 당신 변수를 지정할 수 있습니다 입력 한 문자열이 될 수 있습니다. 그래서 우리는 더 볼 수 있습니다 단지 순간이, 하지만 그 C를 밝혀와 그것은 같은 언어를 많이, 변수의 매우 구체적인 유형이있다. 그것은 단지, 대수처럼하지 당신은 X, Y 및 Z 어디서 그는 항상 프로그램 언어 번호, 당신은 당신이 할 수있는, 숫자를 저장할 수 있습니다 개별 문자를 저장, 당신은 당신이 수, 전체 단어를 저장할 수 전체 화상, 전체 사운드 파일을 저장할 등을들 수있다. 그래서 우리는 무엇을 지정해야합니다 우리 변수의 타입이다. 그리고 규칙에 의해 내가 전화하려고 해요 내 이 간결 그냥 있기 때문에 변수들, s는 문자열을 의미합니다. 그리고 내가 저장거야 이 변수의 내부, 다만 스크래치와 같은 나는 세트 블록을 사용할 때, 나는를 사용하는거야 C에서 대입 연산자, 이는 잘 충분히 동일 서명하지만, 등호는이 작업을 수행합니다. 그것은 오른쪽에 뭔가를 이동 표현의 좌측. 그래서 내가 한 일에 분명합니다 라인 다섯, 나는 변수를 선언했습니다있다. 나는 저를주고, 컴퓨터를 말 했어요 변수에 대한 메모리가 부르심, 내가 갈거야 것을 사전에 알고 그 안에 문자열을 넣어합니다. 그리고 문자열 단지이다 문자의 순서. 그것은 단어 또는 문장 또는 단락있어, 그러나 문자의 시퀀스이다. 그것은 숫자 아니다. 어떤 문자열 내가 될 것입니다 그 변수에 넣어? 글쎄, 분명히 인용 인용을 끝내, "한나". 이제 신흥있어 패턴을 알 수 있습니다. 왼쪽 표현이있다. 오른쪽 표현이있다, 등호로 구분. 그냥 경우, 추측을 그럼에도 불구하고 익숙하지 않은, 세미콜론이 무엇을하고 있는지와. 그것은 아마도 우리를 위해 무엇을하고있어? 그래? 청중 : [들리지] 데이비드 J. 마란 : 그래. 그것은 단지 라인을 종료합니다. 권리? 컴퓨터는 퉁명스럽게되고 싶어 문자 그대로, 무엇을, 말했다. 땅콩 버터 추천하고 젤리 샌드위치 예를 들어, 당신은 지정하지 않는 경우 정확히 의도 무엇을, 그것은 판단이나 오류에 남아있을 수 있습니다. 세미콜론, 의미 즉,이 명령을합니다. 이는 초정밀되고, 그리고 그것의 아주 쉬운 일이 떨어져 나갑니다. 그래서 지금이 프로그램은하지 않는 것 나는 때까지 다른 어떤 행동을 할 수 더 동적합니다. 그래서보다는 하드 내 자신을 수 이름, 저 자리 값을 넣어 보자. 그리고 그것은 밝혀, 나는 이것을 알고 설명서를 읽은에서, 것을, 년 동안 기능을 사용 printf의 동적 수 있도록 설계되었다. 당신은 미리 알 필요가 없습니다 당신은 그 안에 넣어 원하는 단어. 대신를 가질 수 있습니다 퍼센트의, 같은 자리, 어떤 말할 것입니다 컴퓨터가 여기에 문자열을 넣어. 어떤 문자열 우리가 거​​기에 넣어 하시겠습니까? 윌은 이들 사이에 밝혀 기억 괄호는 구별 함수에 대한 입력, 만약 당신이 쉼표, 여기 물건의 목록을 분리 우리는 실제로 여러 전달 함수에 입력. 그래서 그냥 스크래치를 좋아한다 블록, 당신은 할 수도 그들과 함께 연주했다 프로젝트 아직 또는 전혀, 일부 스크래치 블록은 두 개의 입력이 있습니다. 두 개의 흰색 상자 당신이 할 수있는 숫자 나 단어로 입력합니다. 그래서 C는 같은 기능을 가지고 않습니다하기 두 개의 입력을 취할 수의 printf. 그리고 또,이 쉼표 로 구분된다. 그래서 영어로, 다시 경우에도 당신은, 이전에 프로그램 된 적이 그 논리의 printf 함수이다하여 두 개의 입력을 취하고 하나의 자리 표시 자, 당신이 무엇을 희망이다 printf의이 입력 함께 할 것입니다? 그것은 인사 것 한나, 희망. 그래서 우리는 그것을 저장해야이 작업을 수행 할 수 있습니다. 나는 축소거야. 나는 여기에 다시 아래로 갈거야 안녕하세요 입력 확인 말한다. 오. 뭔가 잘못, 실제로 이 꽤 압도적이다. 나는 코드의 여섯 라인을 가지고 오류의 12 라인 등을들 수있다. 그래서,이 수 있도록 최선을 다하겠습니다. 그래서 여기 일이야? 그래서 여기에 엄지 손가락의 가장 좋은 규칙, 당신이 밖으로 시작하고 특히, 산만되지 않습니다 맨 아래에있는 물건. 사실, 매우 신중하게 그냥 스크롤 매우 자주, 컴퓨터이기 때문에 장치의 모든 것을 밝은. 그것은 혼란스러워 할 것입니다. 그것은 하나의 일을 보는 경우 그 그것은 이해하지 못하는 그것은 다른 실수 있습니다 같은 잘못된 코드의 라인, 비록 그들은 완벽하게 괜찮아요. 그래서 당신은 항상 작업 할 오류를 통해 아래 위로. 그리고 인정 하듯이입니다 순간에 슈퍼 비전. 오류, 신고되지 않은 사용 식별자 문자열입니다. 나는 표준 찾으시는 것입니까? 아니, 난 문자열을 의미했다. 그리고 그것은 아마도 오타의, 가리키는입니다. 정렬처럼, 맞춤법 검사에 아주 괴상 방법,하지만 여기에 이​​유, 당신은이를 알 수 있습니다 다만 실시함으로써, 그것은 그 문자열을 밝혀 그 실제로 C에 존재하지 않는, C 특히 오래된 언어입니다, 그것은 매우 낮은 수준,하자 그리고 많은 기능을하지 않는다 당신은 어른이 수도 만약 당신이, 사실, 프로그램과 자바에서, 당신의 일부가 가지고있는, 하지만 당신은 그에게 새로운 것을 가르 칠 수 있습니다. 그리고 실제로, 우리는이 CS50을 수행 한 심지어 학기 말까지하지만, 이 보조 바퀴의 모든 이륙 한 것, 우리는이에 무엇을 주 처음 몇 처음에 우리는 또한 가지고있다 당신은 CS50 도트 시간을 포함한다. 어떤 헤더 파일입니다. 미래에 그에 대한 자세한. 이 기능을 포함하는 파일입니다 것을 우리는 당신을 위해 작성했습니다. 그리고 그 기능 중 하나입니다 입력을 얻기를위한 기능 사용자, 문자열 등을들 수 있으며,에서 번호, 실수, 그리고 더. 그러나 그것은 또한 몇 가지 바로 가기가 있습니다. 이 데이터 유형으로 부울을 정의합니다. C는 참 또는 거짓이 없습니다. 그러나 우리는 그것의 개념을 제공 할 수 있습니다 true 또는이 라이브러리의 방법으로 허위. 그리고 그것은 또한 문자열이 없습니다 우리는이 라인을 포함 할 때까지 내장되어 있습니다. 그래서이 코드 줄은 말한다 컴파일러는, 헤이, 연타는 봐 전체이 파일에 코드의 무리가 CS50 수 있도록 작성했습니다 이 파일을 사용하는 사람 당연한 걸릴 수 있습니다 기능들은 추가했습니다. 그래서 지금 내가 앞서 가자 화면을 취소 호기심 경우 그냥 컨트롤을 말하는거야 L마다, 화면을 취소합니다 또는 당신은 명확 입력 할 수 있습니다. 내가 지금 가서거야 및 유형 안녕하세요 만들고, 모두가 잘됩니다. 아직도 비밀의 출력하지만, 그것은 잘못된 메시지 아니다. 나는이 점한다면 지금 안녕하세요 슬래시와 같은 옆으로, 도트 슬래시 대부분에 익숙하다. 그것은 단지, 도트 수단을 의미한다 현재 디렉토리. 당신이 이제까지 사용한 적이 있다면 DOS, 또는 리눅스 또는 유닉스 당신이 뭔가를 할 수도 CD 도트 점, 같은 점 점은 거꾸로 가고 의미 시간, 또는 뒤로 이동하거나 최대 높은 디렉토리에. 점은 그냥 보면 의미 현재 디렉토리. 나는 바로 여기이다, 안녕하세요합니다. 그리고 사실, 지금은 한나 안부. 그리고 나는 다시 변경하는 경우 마리아로, 다시 컴파일 그것은 안녕하세요, 점 슬래시를 만들 것 안녕하세요, 프로그램은 변경 유지합니다. 그러나 이것은 여전히​​입니다 꽤 바보 프로그램. 나는이 프로그램을 제공하려는 경우, 또는 친구에게주고, 또는 마리아 또는 한나에게주고 그 문제에 관해서, 그 괜찮아요. 나는 그들 모두를 사용자 정의 할 수 있습니다 그러나 그것은 결코 동적 될 것 없습니다입니다. 이 컴파일 된 후에는 그들은 변경할 수 없습니다 아래 그 0과 1로. 그래서 우리는 똑똑 뭔가를 무슨 짓을? 무엇, 경우 대신 하드 코딩 프로그램이 사람의 이름으로, 우리는 무엇을 얻을 경우 수요에 문자열? 그래서 다른 말로하면, 내가이 작업을 수행 할 수 있습니다. 나는이 프로그램을 다시 컴파일거야. 그리고 내가 지금 바닥에 확대 할 수 있습니다. 안녕하세요 점 슬래시 안녕하세요합니다. 이제 아무것도 발생하지 않습니다. 우리는 신속하게 자원 봉사를받을 수 일이 일어날 수 있습니까? 최대 어서. 당신의 이름은 무엇입니까? 판쵸 : 판쵸. 데이비드 J. 마란 : Pacho? 최대 어서. 당신이 여기 일단,이다 매우 실망 될 것, 하지만 더 흥미로운 나보다 그것을 입력. 당신은 가서 입력 할 경우 이름은, 나는 당신을 위해이 프로그램을 만들었다. 다만 당신의 이름을 입력합니다. 입력합니다. 멋진. 좋아, 대단히 감사합니다. 판초는 : 대단히 감사합니다. 데이비드 J. 마란 : OK. [박수] 즉, 매우 친절했다. 여기 당신은 간다. 우리는 무엇을 했는가? 그래서 마지막으로, 적어도, 이 프로그램은 동적했다. 지금은 확실히 아직 디자인 실망으로, 그러나 우리는 마침내 기능이 훨씬 사전에 코드를 작성하는 printf와의 저자처럼, 다음 동적 우리는 입력에 기초하여 적응할 손으로, 어느 프로그래머, 또는 인간에 의해 누가 사실이다 프로그램과 상호 작용. 그래서 시도 지금 실제로하자 몇 가지 다른 구조를 할 수 우리가 프로그램을 만들 수없는 경우 참조 자신은보다 정교한. 그래서 앞서 대신의 가자 처음부터이 하나를 쓰고, 오늘의로 갈거야 소스 코드,이 모든 코스의 볼 수 있습니다 웹 사이트, 당신은 드래그 앤 드롭 할 수 있습니다 자신의 환경에 문제 일단 금요일 올 세트 1은 당신에게 제공 지침, 또는 당신은 할 수 커맨드 라인으로 그것을 할 또한, P에서 올하지만 더 1을 설정합니다. 의이 프로그램에서 무엇을 보자 여기에 가산 점 C,라고. 지금은 이미 댓글을 달았습니다 그것은,하지만 새로운 무엇입니까? 언뜻 보면, 어떤 라인 코드의 절대적 새로운입니까? 아마 아닐 근본적으로 지금 익숙하지. 청중 : [들리지] 데이비드 J. 마란 : 그래, 그래서 INT X는 N을 얻을 같습니다. 우리는이 중 하나를 본 적이 없어 전에,하지만 INT는 아마 어떤 종류의 기호 변수 [? 에서?] 정수입니다. 그래서 정수 값 int. 그것은 단지 더되는 것 간결. X는 임의입니다. X 및 Y 및 Z는 여전히 번호에 대한 꽤 합리적인, 하지만 일반적으로 우리는 한 번 단어를 사용합니다 우리의 프로그램은 더 복잡 얻을. 물론, INT 가져 오기 GET 문자열처럼 많은, 아마 얻을 것입니다 사용자의 INT, 그리고, 우리는 갈거야 Y와 같은 일을. 그리고 분명히, 비록이 마지막 줄, 24, 더 복잡한 보인다 그것은이의 합을 말하는 것 그리고이 다른 것입니다. 그리고 통지 %의 난 아마 무엇을 의미? 어떤 역할 백분율을 수행 난 분명히 역할을? 그냥 자리입니다. 권리? 백분율들, 문자열을했다 %의 난 정수입니다. %의 F있을거야 소수점 값을 부동하는 소수점 단지 숫자입니다. 즉, 실수. 그래서 실제로이 컴파일하자 정말 빨리 프로그램 및 가산기를 만들 수 있죠. 으악. 좋은 기회. 그래서 모든 시간을, 여기 내 사용자를 통지 이 계정이 jharvard됩니다에 대한 이름을 지정합니다. 나는 일명, CS50의 IDE에서 IDE50입니다. 그리고 지금 여기에 파란색으로, 언급하지만, 내가 어디의 환경에서. 그리고 사실, 나는 정상까지 확대하는 경우 여기에, 내가 IDE50을 알 나는 당신의 경우 종류의,이 단어를 참조하십시오 측면에 작업 공간을 당신의 머리를 켜십시오. 간단히 말해서, 사실 그 나는 물결 슬래시 작업 공간을보고 있어요 즉,이 텍스트에 기반 명령 환경, 나는의 대체 텍스트에서 오전 이 여기에 폴더 그래픽. 그래서 나는 점 슬래시를 수행 할 때 가산기, 그것은 어떤 규칙을 말을하지거야 대상 가산기 정지를 확인합니다. 나는 그게 무슨 뜻인지 몰라 하지만 어떤 이유로 나쁜. 그런 파일이나 디렉토리가 없습니다 더욱 분명하다. 어디는 무엇입니까? 내가 클릭 한 위치를 기반으로 이전 파일을 엽니 다. 어디가 될 ​​수 있을까요? 이 소스에 아마 일w, 수요일, 나는, 참으로, 그것을 볼 수 있습니다 나는 그것을 열어합니다. 거기 가산기 도트 C이지만에 이 텍스트 기반 환경 다시, 나는 슈퍼 명시해야합니다. 나는로 디렉토리를 변경하려면 소스 하나 수요일, 내가 입력해야합니다, CD 공간 소스 한 수요일 지금 입력하고 내 프롬프트 변경 나에게 시각적으로 제공하는 나는 다른 곳에서, 참으로, 해요 내 환경에서, 하지만 지금은 확인 할 수있다 가산기, 그것을 작동하는 것 같다, 점은 나에게 정수를주고, 가산기을 슬래시. 하나. 두. 하나, 둘의 합은 세 가지이다. 하지만 협조하지 않을 경우, 의는 INT가하는 무엇을 얻을 보자. 나에게 정수를 지정합니다. 아니. 다시 시도하십시오. 그래. 좋아. 50. 50. 괜찮아. 그래서 마침내 협력. 그리고 그 중 일부입니다 기능이 이러한 기능 당신을 위해 내장 할 수 있습니다. 구현 내부 그래서 의 INT, 어떤 프로그램을 얻을 에 아마 지난 주부터 구성 재시도이 문제가 강요하는, 다시 시도, 다시 시도? 네, 거기에 아마 루프의 일종. 이 구문 보는 것 스크래치의 블록에서 다른, 하지만 그건 사실이야 어떤 파일의 내부입니다. 그리고 몇 주 시간에 우리는거야 실제로 CS50 라이브러리를 보면 에 관해서는 어떤 안에, 그러나 거기 정확히 부과 루프. 의 바보 조금 놀자 여기에이 파일을 게임. 조건 제로 점 C. 우리는 일반적으로거야 제로 카운트 시작합니다. 그리고 나는 과거를 스크롤 유지 상단에있는 물건의 일부. 푸른 여기에서, 모두와 함께 경계가 이 별과 슬래시, 프로그램 분들 전에, 그것은 무엇인가? 왜 우리는 그 위에 건너 뛰는 유지합니까? 뭐? 청중 : 그것은 코멘트입니다. 데이비드 J. 마란 : 그래. 그냥 의견입니다. 이것은 인간에 대한 주석입니다 읽는, 우리의 경우에서, 파일의 이름을 우리에게 무엇을 그것을 쓴 사람, 그리고 그것이 무엇을 그래서 당신은 필요가 없습니다 코드를 읽을 수 이 파일이 모든에 대해 무엇을 알고 있습니다. 그것은 단지 설명이다하지만 기능적으로는 무관합니다. 그리고 난에서 삭제할 수 있습니다 내 파일과는 아무런 영향을주지 않습니다. 육즙 라인이입니다 여기에 두 먼저, 지금. INT의 주요 공간은 동일합니다 녹색 깃발을 클릭 우리 때의, 그래서 우리는 그 떠날거야 오늘, 우리는 다시 올 것이다, 결국,에 관해서는 무엇 INT와 무효, 지금은 있지만, 내가 무슨 짓을했는지 알 여기 너무, 당신도 할 수 있습니다 당신은 줄에있는 경우 당신이있는 경우에, 코멘트 당신이 공유 할 생각 코드의 특정 라인에 대한, C의 규칙은 슬래시를 할 것입니다 슬래시, 다음 몇 간결 단어, 하지 전체 문장, 일반적으로하지 단락, 그것은 단지 당신에게 설명하거나 TF, 또는 다른 독자 나 동료, 코드는 무엇을하고있다. 그래서 오히려 보는 것보다 이에하는 선에서 추론 아홉 (10), 무엇이다 이 8 번째 줄에, 일 난 그냥 댓글에 줄 정수에 대한 사용자 요청, 그때 나는 너무 열심히 생각하지 않습니다 무엇에 대해 선 아홉 (10)이다. 난 그냥 그게 무슨의 알고 집합 그들은 일을하고 있습니다. 어떻게? 음, 여기 프롬프트입니다. 여기 INT의 점점입니다. 이전에 기초 문제는, 그것은 GET INT처럼 보인다 있는지 확인 똑똑 인간은 협력하고 있습니다 정수. 하지만 지금 우리는이를 참조하십시오. 그리고 이것은 스크래치를 연상이다. 나는 난 주장하고있어 사용자 입력을 분석하여, 하지만 다소 부정확. 그리고 분명히 C에서이 방법입니다 우리가 다른 경우 표현, 지점, 도로에 포크,하지만 다소 부정확하게 말한다. 이 프로그램의 버그가 무엇입니까? 에 대한 자세한 백업? 그래. 청중 : [들리지] 제로. 데이비드 J. 마란 : 그래. 나는 제로에 입력하면 자, 생각 해보자 정확히 경우, 또는 코너의 경우, 당신이됩니다. 나는 제로에 입력하면 그래서 어떤 블록은 분명히 그것을 잡아거야? 경우 또는 다른 사람? 다른 사람하고 말 것, 당신은 음수를 들었다. 그리고 사실, 제로는 안된다 긍정적 또는 부정적, 그래서 그 잘못이 될 것이다. 즉 버그 것이다. 그래서 우리는 어떻게이 문제를 해결할 수 있습니까? 이전에 프로그램 된 적이없는 사람? 당신이 원합니까 수행 청중 : [들리지] 데이비드 J. 마란 : 철회? 청중 : [들리지] 데이비드 J. 마란 : 아, 당신은? 이전에 프로그램 된 적이없는 사람. 에서 손을 시도하려는 이, 빨간 셔츠? 최대 어서. 당신이 괜찮다면 오, 그래, 최대 어서. 그래서 프로그래밍하지 한 적이 전에, 당신의 이름은 무엇입니까? 로렌 : 로렌. 데이비드 J. 마란 : 로렌, 모든 권리. 그래서 우리를 위해이 버그를 수정. 당신은 아마도, C를 본 적이 없다, 아마 다른 언어입니다. 그래서 우리를 위해이 프로그램을 수정합니다. 나중에 만나서 반가워요. 어떤 압력이 없습니다. 로렌 : 네. 데이비드 J. 마란 : 그러나 다시, 만약이 도박, 계획에 따라 진행 테이크 아웃 여기 것 시작, 그냥 다시, 수 패턴을 발견하고, 기존의 문법에서 추론 당신이 표현하는 방법을 다른 자신이 웃기 위해, 의도되지 몇 가지 추가 시나리오를 촬영합니다. 그래서 우리는 경우에 다른 말을하는지. printf와, 좋아. 그리고 CS50으로 통지 IDE 및 frankly-- IDE 통합을 의미합니다 개발 환경. 그것은 말하는 단지 멋진 방법 당신이 프로그램을하는 데 도움이되는 프로그램입니다. 이 같은 사용자 친화적 인 일을 당신은 하나의 괄호를 입력 할 때, 자동으로 당신에게 다른를 제공합니다. 가정은 걸 인 결국 그를 입력 할 것, 그리고 그것은 또한 따옴표로 않습니다. 그래서 라인 (23)을 좋아한다. 이 방법의 99 %. 누군가가 끝 차임 싶어? 나는 관객에서 세미콜론을 들었다. 좋다. 그래서이 완료됩니다. 그리고 지금, 나는 조금이 라인 (21)과 깜짝 놀람. 우리는 어떻게이 표현 하시겠습니까? 어떤 질문이 우리가 원하는 수행 당신이 생각, 물어? 그래서 이전에 우리는 질문을, n이 0보다 크면, 이렇게. 그렇지, 그렇게. 그래서 우리는 선택해야 문제는 여기에 물어. 청중 : [들리지] 데이비드 J. 마란 : 좋은. n이 0 인 경우에 따라서. 우수. 그래서 여기에 일시 정지 할 수 있습니다. 이 용감하게 맞서는에 대한 정말 감사합니다. 내가 당신에게 조금 잘 자격을 줘 보자 아마도이 스트레스 공. 그래서 우리는 거의 다 왔어. 사실, 로렌, 당신이 아닌 경우 마음이, 내가 하나가 여기에 조정할 수 있도록하자 다만, 심지어와 일치합니다 우리는 스크래치에서 본 것을, 무엇을 내가 선으로 원하는 작업 21, 24, 단지 다시 기초 우리는 스크래치에 이런 짓을하는 방법에, 아마? 청중 : 그것을 이동합니다. 데이비드 J. 마란 : 그래, 그것을 이동합니다. 따라서 다른 조건, 셋째, 또는 네 번째, 또는 다섯 번째 또는 마지막 지점, 실제로 이후에 와야한다, 그, 그냥 관례이다 당신이됩니다 때문이다. 그래서 나는이 비틀기를 할 필요가있다. 그리고 내를 둘 필요가 다시 여기에 중괄호. 그리고 지금,이 프로그램을 컴파일합니다. 우리는 너무 가까이,하지만 거기에 아주, 아주 미묘한 버그. 이제 어떻게되는지 보자. 첫째, 내가 가서 확대 및 축소 할 수 있습니다. 나는 앞서 갈거야 및 조건 영을 입력합니다. 아, 거짓말. 이제 컴파일러입니다 꽤 스마트. 그리고 난 정말 이해가 안 돼요 이 오류 메시지입니다. 할당의 결과를 이용하여 괄호가없는 상태로, 분명히 나쁜 것입니다. 그러나 그것은 무엇을 의미 하는가? 그럼 다시, 패턴을 찾고 우리가 전에 본 적이 코드에 실제로 일을 라인 (17) 무엇인가, 심지어 로렌이 약간 의도하지만 그렇지? 그래. 청중 : [들리지] 데이비드 J. 마란 : 그래. 그래서 분명히, 등호를 기억 우리가 전에 사용했습니다으로,하지와 동일하다. 오른쪽에서 그것의 할당, 왼쪽으로. 그래서 순간에 17 라인 조건이며,이야 괄호 안에 실행 코드, 하지만 그 코드가 실행될 때, 무슨 일이 제로의 값으로 무슨 일이 일어나고? 무엇 n의 값에 무슨 일이 일어나고? 제로되기. n은 제로가되고 있다면, 다시, 지난 주에 따라, 우리는 일반적으로 그 영을 말한다 거짓이고 하나에 해당하는 또는 예는 하나없고 아무은 0이다. 그래서 진실과 거짓, 한 0. 라인 (17)의 등, n은 상태 인 경우 값 0 주어진 제로는 사실입니까? 아니. 정의에 의하면, 0이 false입니다. 그것은 우리가있어 협약 전진에 집착하는 것. 그래서 것이다 라인 18, 19, 20 지금까지 논리적으로, 지금 적용? 그들은 할 수 없습니다. 그래서 우리는 질문을 하지만 아주 정확하게, 당신이하지 않는 한이 모르는 것 당신은 C에서 솔루션을 그것을 본 적이 당신이 표현하고자 할 때입니다 평등, 당신은 등호 동일 말한다. 그래서 등호가 이미 사용 할당으로, 오른쪽에서 왼쪽으로. 같음 수단이 동일 같습니다. 그리고 당신은 정말 당신의 마음을하려는 경우 자바 스크립트와 PHP에서, 절곡하고, 거기에 해당이 같음을, 같아지는 완전히 다른 것을 의미, 그러나 우리는 오래 전에 도착합니다. 그래서이 간단한 수정,하지만 실현 이 실수를 아주 쉽게, 하고 궁금해하고 투쟁 분, 아니 한 시간의 경우, 왜 내 코드는 없습니다 내가 의도 한대로 실행? 당신이 말하지 않았다 때문입니다 그것은 정확하게 당신이 무엇을 의미하는지. 그래서 거의이었다 완벽한, 그것과는 컸다 우리는이 두 개의 작은 우연히 발견하는 것이 일, 우리가 그들을 고칠 지금 경우 때문에 나는 조건 영을 할 점은, 조건 제로 슬래시 나는 정수를 부탁합니다. 어디 보자. 아니. 그것은 그것을 할 날 강제거야. 그래서 42. 나는 양수를 들었다. 그래서 지금 어떻게 입증 할 올바른이 프로그램? 당신이 수학자 인 경우에, 당신은 할 수 없습니다 정말 시행 착오에 의해 이것을 증명, 권리? 당신은에 의해뿐만 아니라 증거를 수 예,하지만 적어도 프로그래머로 우리는 아니에요 지금 증명하기 위해 시도하는 것 이 실제로 그 올바른,하지만 난 아마해야 몇 가지 대표적인 사례를 테스트합니다. 나는 42을 테스트했습니다. 나는 43을 테스트 할 수 있습니다. 나는 44을 테스트 할 수 있습니다. 테스트 (45). 권리? 그러나 나는이 정말로 긴 시간 할 수있다. 좀 더 될 것이라고 무엇 흥미로운 경우는 시도? 청중 : [들리지] 제로. 데이비드 J. 마란 : 그래서 제로. 물론. 그리고 좋은, 우리는 그것을이 시간을 가지고 로렌의 새로운 코드에 감사합니다. 시도하는 또 다른 좋은 사례는 무엇입니까? 청중 : 음 하나. 데이비드 J. 마란 : 음 하나, 그리고 어쩌면 조금 더 큰 무엇인가, 그래서 아마 42 음, 그러나 일반적으로, 언제 프로그램을 테스트 전진, 당신이있어 생각 할 것 자신에게 같은 것을 기본 다른 경우가 있습니다. 그리고 음의 경우 말을 감히, 양극 케이스와, 케이스 제로 꽤 많은 이들를 반올림합니다. 의이 생각의 변형을 살펴 보자. 조건 하나. 이 여기에 올바른 솔루션입니다 당신이 온라인으로 둘을 볼 수 있도록, 당신은을 통해 걸 으면 연습, 일반적으로 것입니다 이러한 단계적으로까지 증가 우리 딱 맞는 접근 방식을 얻을. 우리가 묻고 싶은 경우 어떻게 두 가지 질문 한 번에? 나를 대신을 열어 보자. 이유 비 스위치, 우리는 다른 시간을 볼 수 있습니다. 어떤 구문이 여기에 새로운? 나는 현재 게임을하고있어 여기서 컴퓨터가 말하고있다 나, 나에게 정수를 제공 하나 내지 10, 그리고, 나는 사용자의 입력을 판단하고있다. 영어에 기초 당신이 여기에서 볼 수있는 코드 파란색으로,이 프로그램은 무엇을하고 있는가? 청중 : [들리지] 고른 큰 또는 작은 수입니다. 데이비드 J. 마란 : 그래. 그냥 여부를 판결하는 것 나는 큰, 또는 매체를 포착, 또는 소수의 매우에 기초 소형, 중형의 임의의 정의, 여기에 큰하지만, 통지 새로운 구문이있다. INT 또는 동등보다 적은 없어요 서명, 또는보다 또는 서명과 동일한 이상, 여기서 하나, 다른 이상 당신이 마이크로 소프트 워드 같은에서 표현할 수 있습니다. 프로그래밍 언어에 따라서 일반적으로 두 문자가 수행 하나씩. 그리고이 아마를 무엇 , 앰퍼샌드 앰퍼샌드를 나타냅니다. 청중 : [들리지] 데이비드 J. 마란 : 그래. 그냥 의미하고 있기 때문에 C의 저자 밝혀 단일 앰퍼샌드를 사용, 이는 당신이 생각하는 것 개념에 대한 완벽한 것 와, 이미 최대 사용 그래서 앰퍼샌드 앰퍼샌드 실제로 우리가 실제로 원하는 경우를 캡처합니다. 그럼 이제 두 가지 우연히 발견 할 수 있습니다. 내가 가서 하나를 열어 보자. 조금 걱정 뭔가. 부정확 도트 C. 내가 여기에 두 가지를 소개하겠습니다. 우리가 할 수있는 한, 통지 수학,만큼이나 때 전에 우리는 플러스 두 숫자, x와 y의했다. 이 프로그램은 분명히 어떤 일을하고 있습니까? 나는 아직 댓글 적이 없다 나는 %의 F를 도입 한, 그러나 나는 재빨리 말했다 %의 F는 부동 소수점을 의미한다 실수 값입니다. 진수와 뭔가 정수가 아닌 점. 이 프로그램은 어떻게 생각하십니까 화면에 나에게 보여 주려? 그래? 청중 : 10 일의 결과입니다. 데이비드 J. 마란 : 그래. 무엇을 10으로 나눈 하나의 결과입니다. 오른쪽, 때문에 당신의 모든 아마이 10 그 일을 알고 성장 무엇인가? 그래, 그냥 1/10 0.1입니다. 권리? 그래서이 실제로 무엇인지 살펴 보자. 그래서 내가 가서이를 저장할 수 있습니다. 나를 여기로 가자. 부정확 도트 슬래시를 확인 부정확, 통보, 너무, 리눅스 환경에서, 당신은하지 않습니다 부정확를 입력하고 가지고 가야 하루 종일. 그것은 일반적으로, 당신은 탭을 칠 경우, 당신을 위해 당신의 생각을 완료됩니다, 있는 단어를 기반으로 현재 디렉토리에서 사용할 수 있습니다. 그래. 그래서 당신은 옳았다. (10)에 의해 분할 된 하나, 실제로는 0.1이다. 그러나 나는 조금 흥미 롭다. 그리고 printf의를 밝혀 몇 가지 기능을 지원합니다 당신은 이상을 지정할 수있다 소수점의 기본 번호. 그래서 10 진수를보고 싶다면 내가 퍼센트를 할 수있는 점, 자리 심볼에 대해, 점 10 나 10 진수 포인트를주고, 다음 여전히 부동 소수점 가치, 그리고, 옆으로, 이 백 슬래시 N은 무엇인가 분명히 우리는 계속 사용? 그것은 A의 밝혀 새로운 라인에 대 한 기호입니다. 그것은 매우 명시 적 방법 컴퓨터에 말하는, 다음으로 커서를 이동 당신 후 라인이 완료됩니다. 그리고 우리는 어떻게됩니까 볼 수 있습니다 우리는 그렇게하지 ​​않을 때. 나를 부정확성을 다시 컴파일 할 수 있습니다. 이제 부정확 슬래시 점. 그래. 아직도 못했습니다. 하나는 10으로 나눈 값. 지금은 받고 있어요 작은 호기심,하지만. 내가 20 진수를 보면 지적, 컴파일, 다시 실행, 그리고 옆에 관해서 속도, 당신은 또한 사용할 수 있습니다 당신의 위 아래 화살표 당신의 역사를 통해 스크롤, 그래서 당신은 계속 필요가 없습니다 이러한 명령을 다시 입력, 입력합니다. 허. 내가 초등학교에 그 내용을 보려면하지 않았다. 좋아, 그래서 저를 보자 아웃 29 곳처럼 참조하십시오. 어쩌면 그것은 단지 우연이다. 아마 내 컴퓨터가 이상한 행동한다. 그건 바로, 일이 아니에요? 그것은 결정적으로 뭔가를하고 있어요. 그래서 부정확합니다. 확인, 그 엉망. 그래서 무슨 일입니까? 그래서 분명히 당신을 교사는 거짓말을하고있다 이 시간의 모든 당신에게 우리가 오래 전에 볼 수 있습니다 이유. 그러나의 하나의 다른 프로그램과 함께 종료 할 수 있습니다. 이 작은 프로그램입니다 누군가가 몇 년 전에 쓴 그리고 실제로 대회의 일부입니다. 아무도 실제로 코드를 작성하지 이런, 당신이 할 경우, 이 문체 문제입니다. 그러나 사람들은 자랑 권리를 위해이 작업을 수행. 가장 혼란을 작성하려면 찾고있는 프로그램이 그럼에도 불구하고 흥미로운 무언가를. 그리고 노트는 우리가 떠날 줄 알았는데 오늘, 콜튼 여기에 우리를 재생하기 전에, 이 프로그램을 실행하는 것입니다, 다만 사용에있는, 이 텍스트 기반의 C 환경은 우리에게이 있습니다. 젠장. [웃음] 대기. [들림] C 대시 L 분. 당신은 마법을 보게 될 것입니다 우리가 오래 전에 볼 수 있습니다 주문. [들림] 좋아요. 그리고 지금 당신도 할 수 있습니다 이 같은 일을. 이게 다예요. CS50의 우리의 경우, 금요일에 당신을 볼 수 있습니다. [음악 재생] [박수]