[음악 재생] ANDI 펭 : 이것은 CS50이며 섹션의 주 두에 오신 것을 환영합니다. 이것은 실제로 주 동안이다 실제로 우리의 그 수업의 두, 첫 주에 우리는 절을 했어. 손의 쇼, 여러분 모두의 얼마나 많은 지난 주 슈퍼 절을했다? 좋아, 괜찮아요. 괜찮아요. 어떻게 많은 시청 슈퍼 섹션 지난 주? 그래. 그리고 너희들은 잘했다 문제에 하나를 설정? 그래서 나는 우리가 가지고 그것을 가지고 갈거야 정말 지능형 아이들의 무리 이 클래스와 일에 잘 될 것입니다. 그래. 그래서 first-- 첫째, 우리는 그냥 간단히 갈거야 오늘의 의제를 통해 이동합니다. 우리는 물론 물류에 대해 이야기 할 것이다. 당신의 많은 아마 에 대한 질문이 방법이 과정에서 실행되는 것. 우리는 그들을 답변 해 드리겠습니다. 우리는 간단히 갈거야 경우에 루프를 통해 이동 너희들의 슈퍼 섹션을 놓쳤다. 우리는 ASCII 매핑에 대해 이야기 할 것이다. 우리는 배열에 대해 이야기 할 것입니다, 기능, 명령 줄 인수. 그리고 마지막으로, 무엇을 너희들 아마 정말로에 대해 알아 보려면 여기되고 싶어요, 당신의 pset2입니다. 우리는 멋진 트릭을해야합니다 그 작업을 수행하는 방법에 대한 팁. 그래. 또한, 둘째로, 우리가 여기에 사탕을 많이. 사탕을 좋아하는 사람, 그냥 여기 와서. 몇 가지를 잡아. 나는 무리가있다. 우리는 사무실에서 톤이있다. 정말 싶지 않아 하루 종일 사탕을 먹을 수 있습니다. 너희들은, 모든 사탕을 먹어야한다 내가 너희들을 위해 여기를 가져왔다 때문이다. 그냥 사탕을 먹는다. 모든 섹션 사탕이있을 수 있습니다. 그래서 일단, 나는 누구인가? 내 이름은 앤디 펭입니다. 나는 예일 여기 CS50의 머리 TA입니다. 및 이외에 즉, 나는 또한 이따가 것 사람이 당신의 실행을 그때 엔한다면 친구, 당신의 어깨에 울고있다. 만약 당신의 PSET의 때문에 전날 밤에, 당신은 무슨 일이야 아무 생각이 띄워 줘. 우리는 등등, 함께 동정합니다. 그냥 여기있어 알고 프론트 라인으로 당신을 위해 자원 돕는 너희들 방법을 알아낼 CS50에서 이후 문제를 해결합니다. 내 이메일은 andi.peng@yale.edu입니다. 또한 개인을 보내드립니다 거기에 내 전화 번호와 이메일 그래서에 모든 사람 인터넷이 내 전화 번호를 볼 수 있습니다. 언제든지 내게 전화 주시기 바랍니다. 진심으로, 내 휴대 전화는 일반적으로 내 손에 연결합니다. 나는 응답하지 않을 수 있습니다 몇 분 이내에. 나는 몇 시간 내에 응답하지 않을 수 있습니다. 하지만, 당신을 보장 할 수 당신이 나를 호출하는 경우 당신은, 나에게 이메일을 보내 텍스트 날, 나는 24 시간 이내에 응답합니다. 때때로, 나는 전에 응답 할 것이다 내가 이해하기 때문에, 그 모든 사람이 어떤 문제를 가지고 있는지, 당신은 당신의 답변을 원하는 매우 신속하게 답변합니다. 그러나 호출하는 경우 나 삼십분 전에 때문에 목요일입니다 조각 , 앤디가, 나 좀 도와처럼 night--, 내가 줄 수 started--하지 않은 당신은 어깨에 울고있다. 그러나 그것은 생각하는 시간이 될 수있다 그 다음에하지하는 방법. 그래. 죄송합니다. 어떻게 돌아 가야합니까? 우리는 거기에 갈. 그래서이 과정에서, 우리는이 모두를위한 지원의 톤. 다만 이외에 여기 섹션있는 당신을 매주 90을 보낼 수 나와 함께 멋진 분, 우리는 또한 근무 시간이 있습니다. 얼마나 많은 남자들은 이미 도움을 근무 시간에가? 좋아요. 즉,보고 정말 좋은 우리 때문에 45 조교하고있는 CA의 직원이 현재이 과정에 대한 훈련 당신의 Pset와 함께 너희들을 도와. 월요일 그들은 TEAL에서 개최하고 여기에 17 힐 하우스 교실 예일. 화요일과 목요일, 그들은 공유지에서 개최하고 있습니다. 거의 11 평일 8:00. 오세요, 나와. 어떤 문제, 아니 problem-- 그냥 어서, 그리고, 우리는 그와 함께 당신을 도울 것입니다. 둘째, 업무 시간 외에 및 섹션, 우리는 또한 반바지가 있습니다. 누구도 몇 가지를 볼 수 있습니다 동영상에서 반바지 또는 연습 웹 사이트에? 그래. 그래서 그들은 정말, 정말 도움이있어. 우리의 사랑스러운 하버드 생산 그 학교에 거기 팀 북쪽, 그들은 촬영 및 생산 이러한 놀라운 연습 동영상. 그들은 당신을 단계별로 할게요 어떻게 문제를 해결 이동합니다. 때때로, 당신은에 대해 혼동하는 경우 간단한 개념, 단수 개념, 우리가 아마 가지고 있기 때문에, 봐 어딘가에 우리의 웹 사이트에 그것에 짧은. 그리고 그것은 일반적으로 훌륭한 자원이다 먼저있을 때를 찾기 위해 문제를 처리하는 방법을 잃었다. 셋째, 우리는 또한이 study50 및 reference50. 그래서 50를 연구 웹 사이트는 링크입니다. 그것은 내가 생각이다, study.cs50.net 또는 그런 일. 그냥 구글. 우리는 준비 슬라이드 많이 있습니다. 우리는 반바지를 많이 가지고 모든 컴파일 walkthroughs-- 일 아주 좋은 모든 너희들을위한 깔끔한 를 통해 찾아, 어떤 개념을 참조하십시오 당신은 혼동 걸. 아마 적용 할 것 이 study50에 이상. 비슷한 Reference50--. 우리는 다양한 노트를 많이 가지고 귀하의 처분에 대해 쉽게 사용할 수 있습니다. 그리고 마지막으로, 우리는 무슨 일이있어 가지고 CS50 논의라고, 의 포럼, 경우 전날 밤 당신이 당신의 문제를하고있는, 말, 당신은 질문이 있습니다. 토론 CS50에 로그인합니다. 질문을 게시. 그리고 hundreds--의 다음 하나를 동료의 아마, thousands-- 온라인이 클래스를 복용에 기록합니다. 어쩌면 누군가가 얻을 수 있습니다 조교하기 전에 당신의 대답. 그것은 본질적으로 그냥있어 온라인 포럼이 우리가 할 수있는 모든 우리의 문제를 논의하기 위해 사용합니다. 그건 괜찮아요. 그래. 그래서 문제는 설정합니다. 우리의 권리에 관한 것 문제의 두께는 두 가지를 설정합니다. 우리의 많은 이미 문제를 통해 고투 한을 설정합니다. 우리는 이미 아마도 기다리고있는 것을 알고있다 지난 밤은 당신의 PSET을 수행하려면 CS50에서 할 수있는 가장 현명한 일이 아니다. 팁과 본질적위한 팁 성공은 전체 사양을 읽습니다. 얼마나 많은 당신은 이미 PSET 2의 스펙을 읽어? 그래. 즉 고체 양입니다. 나는 당신이 사람은 아마 인식하고 알고 지금 사양은 정말 깁니다. 그들은 정말 긴, 정말이야. 그것은 모든 라인을 읽고 정말 어렵다 말씀으로 그 조심스럽게 단어. 당신은 어디에 탈지 할 당신이 뭔가를 알려줍니다. 나는 당신을 보장 할 수있는, 그렇게하지 ​​않습니다. 당신이 그렇게한다면, 당신은 아마있어 어딘가 그리워 것 여기서 당신을 알려줍니다 어떻게 문제를 시작하는 방법 아니면 이름으로 무엇을 알려줍니다 문제 또는 그것은 당신을 알려줍니다, 이것은 아마도 가장 좋은 방법입니다 문제를 일을 시작합니다. 그리고 당신은 손실 될 수 있습니다. 당신은 당신을 읽으려고 할 때 중간 통해 스펙, 중요한 많은 당신이하지 않은 것을 information-- 정말 액세스 할 수 것. 그래서 전체 사양을 참조하십시오. 전체 사양을 읽어보십시오 당신이 절에 오기 전에, 다음, 때 때문에 우리 PSET에 대해 이야기 우리는 생각을 가질 수있다 무슨 일이 일어나고 있는지의. 둘째,이 개념은 나는 참조하고 싶은거야 물론 학기에 걸쳐 많은. 그러나 본질적으로, 오른쪽, 중간에 우리를 만나? 나, 당신의 TA와 제이슨과 같은 과정으로 당신의 교수로 관리자와 Scaz 다윗 당신의 교수와의 모든 등 이 과정에서 다른 아름다운 TAS, 이 course--에 보조 우리는 우리의 최선을 다 할 것입니다 당신이 설정되어 있는지 확인합니다 까지이 과정에서 성공하기 위해. 우리는 절을 개최한다. 우리는 근무 시간을 개최한다. 우리는 당신의 전화를받을 것이다 통화, 전자 메일 답변 만들기 위해 우리가 할 수있는 모든 것을 할 반드시 당신의 질문은 대답한다. 그러나, 너무 우리를 도와. 중간에 우리를 만나보십시오. 당신은 근무 시간에 올 경우 아니, 절을하지 간 데 아니 데, 강의를 본 한 생각 좀 도와,처럼, 무슨 일이 일어나고 있는지. 나는 잘, 미안 해요, 같이 될거야. 그것은 빌려하는 시간이 될 수있다 그 어깨에 울고합니다 나는 확실하지 않다 때문에 나는 당신을 돕기 위해 무엇을 할 수 있는지 적어도 도움말을 시도하지 않는 경우 자신이 처음에 조금. 중간에 우리를 만나보십시오. 알다시피, 제발 답변을 얻을 준비 재료에 종사 할 준비가. 너무 많은 일을한다 관련된 모든 사람을 위해 쉽게. 그래, 그게 꽤 많이 있습니다. 등급. 그래서 강의 계획서에, 그것은 꽤입니다 심층 어떻게 우리에게 등급에. 그러나 본질적으로, 고장 이 귀하의 학년의 50 % psets를 될 것이다 그 때문에, 사랑스러운 어디 광대을 지출하고 에 코스 시간의 대부분. 40 %를 퀴즈, 당신의 최종 프로젝트는 10 %가됩니다. 을 통해 두 개의 퀴즈가있을 것입니다 학기의 과정. 나는 시간과 날짜는 생각 또한 강의에 상장. 방법 우리 것 당신의 Pset를 등급 수 우리는 기본적으로 네 가지를 가지고있다 우리는 각 학년에 할당 값. 우리는 범위의 값을 가지고, 정확성, 디자인 및 스타일. 당신이 볼 수 있도록, 그 종류의 우리의 하여 pset을 계산하는 공식. 세 우리는 가장을 제공 중량, 정확함 분명 당신의 코치 때문에 경우에 테스트해야 우리가 원하는 것을 그것을 위해 테스트합니다. 너희들 모두가 귀하의 처분에 check50. 이는 매우 유용한 기능이다 너희들은 모든 수 우리의 서버에 코드를 업로드, 여기서 우리는 당신을 위해 그것을 확인합니다. 그리고 당신은 사람들을 본 적이 frowny 얼굴, 웃는 얼굴. 그들은 정말, 정말 도움이있어. 하지 마십시오 시도를 좋아하는 학생 그들에게 모든 대답에 하드 코딩합니다. 나는 확실히 PSET 곳을 본 적이 누군가가 check50의 모든 값을 보았다 그들은 단지 하드 경우 in-- 코드 이 숫자는,이 번호를 인쇄 할 수 있습니다. 그 수있는 경우, 그 수를 출력. 그러지 마. 비록 기술적으로하지만 check50는 정확 해결의 길 문제는 올바르지 않습니다. 그러니 그냥 아껴서 check50를 사용합니다. 뿐만 아니라 있는지 확인 당신 이 기능을 어떻게 이해하고, 프로그램이 작동 check50 이외에, 우리는 모든 테스트를 할 수 없기 때문에 check50 가능한 경우. 우리는 그들 중 일부를 테스트 할 수 있습니다. 디자인은 기본적으로, 어떻게 코드가 잘 설계인가? 당신은 복사 - 붙여 넣기의 여러 경우 코드가 많은, 여러 번 라인. 어쩌면 당신은 확실히이 없습니다 코드에서 최고의 디자인. 아마 그 루프를 추가하는 시간이다. 본질적으로, 여기에 그냥 전부 코드를 할 노력에 대해, 효율적으로 코드를 작성하려고 수는 있도록 프로그램이 실행되는 가능한 한 빨리. 마지막으로, 우리는 스타일을 가지고있다. 그래서 스타일은 가지입니다 임의의, 주관적인 용어입니다. 나는 우리가 공식적으로 알고 CS50의 스타일 (50) 가이드, 그것이 오, 당신을 알려줍니다 경우, 당신을 여기에 공간이 있어야합니다. 당신은해야 형식 가지 코드 이런 식으로. 이 방법으로 물건의 이름을해야합니다. 정말, 그 자체를 걱정하지 않는다, 어떻게 당신은, 당신의 코드 스타일을 선택 그냥 당신이 일관성 유지로. 예를 들어, 당신이 좋아하는 경우 당신의 사 후 공간을 남겨 당신의 네 루프 전에, 단지마다 그렇게. 종류의 그것을하지 마십시오. 그것을 다른 시간을하지 마십시오. 당신은 곱슬을 유지하고 싶은 경우 중괄호 공간 특정 방법, 다만 항상 그런 식으로 않습니다. 종류의 어딘가에하지 마 여기 어딘가에 거기. 우리는 등급 때, 정말 어렵다 나는 아무 생각하는 방법이없는 경우 당신은 당신의 코드를 포맷하고 일이 엉뚱한 장소에서입니다. 그냥 일관성을 유지하는 경우, 그것은이다 이상으로 나를 위해 훨씬 더 쉽게 코드를 읽을 수 있어야합니다. 그것은 학생으로 당신을 위해 훨씬 쉽게 당신의 코드를 볼 수 있기를 그리고 잘못을 확인 문제를 거기에 왜 슬래시. 스타일은 가장 쉬운 것들 중 하나입니다 너희들은 전체 점수를 얻기 위해 수행 할 수 있습니다. 기본적으로, 당신은 단지 경우, 신경 경우 당신은주의의 5 분 지불 매주 코드하려면 다음을 수행해야 전체 스타일의 포인트를 얻는합니다. 마지막으로, 우리는 불리는 무슨이 범위의 승수입니다. Scope-- 나는 그것이 큰 알고 특히이 클래스의 단어. 그러나 범위, 모든 수단 당신이 시도하고 있다는 점이다 당신의 능력의 최선의 Pset. 당신은 세 가지 아웃 설정 한 경우 당신의 네 문제 심지어를 시도하지 마십시오 마지막으로, 당신은 아마있어 범위에 대한 몇 가지 포인트를 잃게 될. 그냥 문제를 시작하더라도, 그것을 통해 도보로 최선을. 그것이 작동하지 않는 경우에도, 그것을에서 설정 즉, 보여주고 증명하기 때문에 우리에게 당신은, 노력하고 있음 당신은 설정 문제를 시도 최선을 다해. 그리고 우리는 당신에게 제공 할 수 있습니다 범위에 대한 전체 포인트. 범위는 때 우리를 위해 아주 중요하다 가장 낮은 PSET 점수 하락에 대해 이야기. 그래서의 과정을 통해 학기, 너희들은 아홉의 Pset 있습니다. 그리고 우리는 실제로 삭제됩니다 그 구 중 가장 낮은 점수, 하지만 당신은 전체 범위 지점이있는 경우에만. 그래서 당신은 불완전한 PSET으로 회전하는 경우, 불행하게도, 우리는 하나를 삭제할 수 없습니다, 당신의 범위 때문에 포인트는 완료되지 않았다. 당신은 끔찍한 주 그래서 경우에도 당신은 죽어 가고있어 그리고 당신은 아픈 곳 또는 당신의 개는, 당신의 고양이는 죽는다 죽는다 당신은 숙제를 오버로드하고, 단지 PSET을 시도합니다. 그것은 당신의 능력의 최선을 수행합니다. 그것이 작동하지 않는 경우 문제가되지 않습니다. 그냥으로 돌리세요. 적어도 우리가 제공 할 수 있습니다 당신은 노력에 대한 포인트. 이 클래스의 노력. 노력에 대한 최소한 낮은 점수 강하. 그래서 그래. 즉, 꽤 많이 있습니다. 사람이 그래서 질문이 있습니까 지금까지 수업 시간에 어떻게 등급에? 또는 이들의 임의의? 이들의 너무 far-- 섹션, 근무 시간? 쿨. 그래. 그래서 그 주제는 '아니오' 하나는 정말 얘기 좋아한다. 정말 얘기하고 싶지 않아요. 너희들은 정말 싶지 않아 내가 얘기 듣고. 그러나 불행하게도, 우리 모두 그것에 대해 얘기해야합니다. 데이비드 20 분을 보냈다 그것에 대해 이야기 강의. 그리고 그 주제이다 학술 정직. 그래서 우리는 모두 여기에 아마 쓴 우리의 예일 경력 에세이 언젠가. 우리는 아마 우리가했습니다 이야기를 들어 왔 우리의 논문을 표절하지 들었다, 이 작품은 우리가 아니기 때문에. 컴퓨터 과학에서, 우리는이 개념의 동종. 제출 모든 작업, 당신이 쓰는 모든 코드 당신이 작성한 코드를해야합니다. 당신이했습니다 코드이어야한다 다른 곳에서 복사. 코드되어서는 안된다는 당신은 인터넷 검색과에 풍덩했습니다 그것이 작동하는 경우 그리고 당신이 정말로 모른다. 당신은 종류의 감각이 그것은하지만 정말 무엇을하고 있는지. 의심에, 본질적으로, 그냥 합리적입니다. 우리의 강의에서, 우리는이 사물의 전체 목록 우리는 합리적인 참조 합리적인되지 대. 예를 들어, 합리적인 당신과 당신의 친구입니다 무엇이 최선의 방법을 토론하는 것은 이동 논리적 대한 문제점을 해결. 그건 상당히 합리적입니다. 어떤 합리적인되지 않을 것하면 경우입니다 얘들 아, 함께있어 동일한 코드를 입력 같은 코드 못했습니다. 즉 합리적인 아니다. 똑같은, 에세이 가지. 당신은 논의하려면 당신의 친구와, 헤이, 이것은 내가 대해 쓰고 싶은 것입니다. 이 내가 원하는 단계입니다 큰, 그것에 대해 쓰는 걸릴. 훌륭 하군요. 서로 협력 해주십시오. 너희들이 시작하는 경우 같은 일을 작성, 같은 에세이으로 회전, 그 이하 괜찮습니다. 그래서 때 의심, 그냥하지 않습니다. 여기, 우리는 CS50, 우리는 스크립트를 가지고 그 실행은 테스트 자동화 뿐만 아니라 코드의 정확성, 뿐만 아니라 코드의 유일성. 그래서 위치에 넣어하지 마십시오 의 EXCOMM에 귀하의 경우를 참조 할 필요. 의를 바로 보자, 그냥 모두를 위해 바랍니다 이 멋진 경험합니다. 모두가 더 잘 배운다 우리 모두는 행복이다, 그리고 우리 모두에 설정되어 이 과정에서 성공. 아주 뭔가 이 클래스에 대한 고유 한 나는 모두가 정말해야 생각 우리는 가지고있다에 주목 무엇을 후회라고 우리의 강의 계획서에 절. 그래서 기본적으로 72 시간 이내에, 경우 당신은 당신이 어떤 짓을했는지 생각 당신이 정말로 확신 아니에요 적절한, 우리에게 오시기 바랍니다. 우리는 당신을 약속하는 72 시간 내에 우리는 경우 자신을 처리합니다 높은 참조하지 않고 행정 기관. 그래서 당신은 나에게 와서 말한다면, 앤디, 야, 정말 미안 해요, 그러나 나는 몇 라인 내에서 있다고 생각 내가 가지 봤 코드 지난 밤, 스택 떨어져있어 오버 플로우, 복사 및 붙여 넣기, 난 정말, 정말 미안 해요 그것에 대해 알려주세요. 그냥 부패하게하지 마십시오 단지 내가 그것을 잡을 수 있기를 바랍니다. 우리는 그것을 잡을 것입니다. 그냥 와서. 나에게 72 시간 내에 알려주십시오. 우리는 해결책을 알아낼 수 있습니다. 그리고 우리는 우리가 참조 할 것을 약속드립니다 본질적으로 대학 당국. 그래서 당신의 최선의 이익이다 단지 사람들과 정직하게 과정에 참여. 그래. 그래. 그래서 지금 빨리 전에 내가 이동, 누군가를 수행 물류에 관한 질문이 방법 과정에 우리가 실행하는거야, 방법 섹션 가고있다 그 중 하나를 실행하려면? 그래. 그래. 청중 : [들리지]? ANDI 펭 : 네. 그래서 얼마나 많은 분들 quizzes-- 월요일 / 수요일 섹션에서? 얼마나 많은 당신입니다 화요일 / 목요일? 좋아, 그래서 여기 고체 분할이다. 그래서 우리가 실행하는 방법 예일 대학은 그 우리입니다 별도의 두 가지를해야 할 것 각 section-- 하나를 quizzes-- 그 수업 시간에 이동합니다. 나는 그것이 10 월, 10 월 말 생각 일주일에 하나 그런 일, 퀴즈의. 그래, 그래서 그냥 클래스에 온다. 월요일 또는 수요일, 당신은 퀴즈를합니다. 화요일 또는 목요일, 당신은 다른 퀴즈를합니다. 하지만 같은 재료가 포함됩니다. 그래. 좋은 질문. 그래. 청중 : 우리는 어디에서 할 우리의 성적을 확인하기 위해 이동? ANDI 펭 : 네. 그래서 밖으로 발송 될 것이다 이메일이든 매주 퀴즈 graded--하거나 할 때, 죄송합니다,의 Pset는 등급을 매긴다 때. 의 Pset은 일반적으로 켜져 정오 또는 금요일까지입니다. 그래서 나는 것을 약속드립니다 당신에게 그들을 다시 얻을려고 다음 금요일 정오까지. 때마다 나는 학년 PSET를, 내가 보내드립니다 학년 책에 알림 아웃 그것은 당신에게 당신의 점수를 알려줍니다 온라인으로 볼 수 있습니다. 그래서 바로 이번 주, 나는 후 지난 주 psets를 채점 완료, 너희들은 전자 우편을 얻을 것이다 통지는, 말하고 이봐이 어디입니까 당신의 성적을보기로 이동. 그리고 당신은 모든을 볼 수 있습니다 성적의 고장. 당신은 코멘트를 볼 수 있습니다. 아, 빠른 것 또한. 위대한의 코멘트 섹션 책은 어디 아마거야입니다 내 시간 등급의 대부분을 보낸다. 그래서 한 가지 그 때 정말 중요 너희들은보고 성적 귀하의 Pset에 만 찾고되지 않습니다 실제 점수에 또한에 시간을내어 정말 내 의견을 참조하십시오. 종종 당신에게 피드백을 제공 만약 문제를 해결하는 방법. 당신이 할 필요가있는 경우 조금 더 좋은 것을, 건설적인 비판은 일반적으로 가장 그 코멘트 섹션에 주어진. 그래서, 내가 갈거야 제발 의견을 작성하는 시간을 보낼 수 있습니다. , 정말 감사하겠습니다하십시오 너희들은 그 의견을 읽을 것인지. 그래. 쿨. 괜찮아. 그래서 우리는 이야기를 시작하려고 그냥 빨리 검토 발 소재의 일부 주 우린 단지 있도록 제로 의 오른쪽 페이지에 이번 주 문제를 시작. 그래서 while 루프는 하나입니다 루프의 세 가지 유형 중 우리는 이전이 클래스에 대해 논의했다. while 루프 본질적으로 구문에 기록 여기서, 일정한 조건 동안, 이, 오른쪽 반복합니까? 여기에이 그래픽에 생각하십시오. 당신은에서 시작하는거야 코드에서 특정 지점. 당신은 루프 조건을 입력 할거야 혹시 ... 내가 하란하지 않는 X는 하나보다 작다. 그게 사실이라면, 당신은거야 루프 본문을 실행합니다. 그리고 당신은 일을 계속하는거야 그 다시, 다시, 다시, 그것은을 왜이고 끝났다, 어느입니다 loop-- 당신의 상태가 될 때까지 거짓. 이러한 방식으로, while 루프 그래서 간단한 방법 중 하나입니다 조건의 어떤 종류를 작성하는 그 이상 이상 이상 반복 할 필요가있다. 그냥 때마다 조심 당신은 루프의 모든 종류를 작성하는 당신은 종료 조건 등이 있음 잘 무엇에 대한 업데이트로 그 루프 그냥하지 않도록입니다 이상과 무한히를 통해 실행합니다. 어떤 경우에, 당신은거야 확인하려는 당신은 몇 가지 측면을 변경하고 있는지 코드 또는 루프의 끝에 당신이 방법을 가지고 있는지 확인하기 조건으로 진행 중 당신은 끝으로 만남을 원하는 것이다. 그 모두에게 의미가 있습니까? 우리는되고 싶지 않아 이 나선형 곳에서 발견 우리는 주변과 주위에 가서 루프를 중단 할 수있는 방법이 없습니다. 그리고 모든 루프 본질적으로 그 일을하는 방법이있다. 그래. 당신의 두 번째로 많은 당신의 마리오의 Pset에 아마 사용했다 이런 유형의 루프. 그것은 DO 루프 동안이라고합니다. 첫째, 사람은 말해 줄 수 어떤 DO의 차이 루프 while 루프는 동안? 그래. 청중 : 루프 동안 DO [들리지 먼저 실행됩니다. ANDI 펭 : 네, 정확히. 그래서 DO 루프는 항상 않지만 어떤 대괄호 안에, 할 일 안에 거기에 그 조건을 수행 짓이야 미안를 확인하기 전에, 전에 코드를 않습니다 조건을 검사합니다. 그리고 이것은 우리에게 특히 관련이 여기에이 클래스에서, 대부분의 시간 때문에 우리는 메시지를 표시 할거야 입력의 어떤 종류의 사용자. 그리고,에 따라 그들이 우리에게 입력, 우리는 오, 수행, 평가할 수 있습니다 우리는 다시 메시지를 표시해야합니까? 마리오에 그래서, 경우 사용자가 당신에게 준 음의 높이, 예를 들면, 당신은 첫 번째 프롬프트에가는거야 내부 무엇이든 할. 그럼 당신은 동안을 확인하는 것입니다. 당신은 알고있다, 1 음 양수이다? 그렇지 않은 경우, 내가 갈거야 뒤로 DO 반복을 반복 반복하고 때까지 반복 마지막으로 당신에게 당신이 좋아하는 번호를주고, 우리는 우리의 모든 코드에서 채용 할 수있다. 그것은 꽤 중요 기본적으로 사용자 입력. 나는 어떤을 보장 할 수 PSET 곳에서 시간 우리는 입력하도록 요청할 코드의 모든 종류의, 우리는있어 아마 당신에게 줄 것 우린되는 테스트 케이스 가는 그건 당신에게 나쁜 일을주고 당신의 암호를 해독하려고하는 것. 우리는 입력하도록 요청할하려고하면 정수, 우리는 당신에게 문자열을 제공 할 수 있습니다 당신이 그것을 처리하는 방법을 참조하십시오. 우리가 나이를 사용하도록 요청하는 경우, 우리는 당신이 음수를 제공 할 수 있습니다 당신이 처리하는 방법을 볼 수 있습니다. 그냥 너희들을 테스트하고 있는지 확인 경우가있는 당신은 최고의하지 않습니다 입력은 그냥 가정 해 봅시다. 그리고 루프 동안 DO 자주 최고입니다 그래서 코드를 설계하는 방법 그것은 그 범위를 충족. 그래. 그래. 그래서 이것은 아마도 가장입니다 세 가지 중 복잡한 루프 것을 우리는 지금까지 살펴 보았다. 그리고 처음에는 아주 무서운 것 같다. 그러나 나는 당신을 보장 너희들 번 for 루프를 사용하는 방법에 대한 요령을 얻을, 그것은 가장 유용한 것들 중 하나입니다, 당신의 무기고에있는 가장 유용한 도구 이 클래스에서 앞으로 이동. 그래서 예를 들어, 스크래치에, 우리는이 매우 간단 블록을했다 그 바로이 일정을 반복했다 시간의 특정 수 문구. 그런데, SAJ-- 그 Scaz 앤디 제이슨입니다. 우리는 종종 우리의 전자 우편에 SAJ에 서명. 우리가 SAJ을 말한다면, 혼동하지 않습니다. 그건 그냥 우리입니다. 그래서 스크래치에, 우리가 할 수 있었다 상기 블록은, 내가 SAJ 사랑 반복! 10 회. 매우 간단합니다. 그 뒤에 논리는 아주 간단 하죠? 내가 먼저 첫 번째 통과 할 그 시간과, 두 번째 참조 등, 그 세 번째 시간을 볼 등등, 때까지 10 명중했다. 그리고 그 방법은 우리의 것을 나타내는 것 코드는 루프에 대한 간단한하는 것입니다. 대한 그래서, 당신은 선언 할거야 이 경우 여기에 변수, INT와. 우리는 그것을 내가 이름을 것입니다. 우리는 0으로 초기화 될 것입니다. 그리고 정지 판입니다 내가 될 것 것은 10 개 미만이다. 그리고 업데이트는 내가 ++ 될 것입니다. 그리고 루프 내에서, 그것은거야 결국이를 때까지 실행합니다 condition--의 끝을 명중하는 경우, 그것은 루프를 중단하는 것입니다. 물건이 있어야 당신을 사람은 모든 종류의 전에 본 문제는 하나의 설정과해야했다. 사람이 어떤 질문이 있습니까 지금 루프에 대한? 그래. 좋아요. 그래. 이 사람들을 위해 이렇게 이번 주 PSET 사양을 읽고 우리가 채택해야 할 것 것을 알고 뭔가 ASCII 및 ASCII 표했다. 그래서 다윗은 강의에서 잠시 비켜갔습니다 어떻게 컴퓨터 essentially-- 모든 컴퓨터에 인코딩되어 이진, 0과 1에. 그리고 컴퓨터가 할 수있는 방법 또한 다른 값을 저장할 0과 1로 매핑을 통해입니다 그 숫자는 다른 숫자를 표현하는 또는 본질적으로 다른 문자. ,이 경우에 따라서 모든 것이가하는 table-- ASCII 번호에 대한지도 문자 또는 문자입니다. 소스 코드 파일에 따라서 당신이보고 computer--, 이봐, 0과 1의 무리, 0과 1, 0과 1. 즉, 저장 무엇 컴퓨터의 실제 메모리. 그러나 우리 인간은하고자 할 때 컴퓨터와 통신, 우리는 예를 들어, 말을 원합니까, 나는 대문자를 원하는 경우, 나는 어떤 방법을 필요 해요 컴퓨터를 말하는, 오, 내가 대문자를 입력 할 때, 내 말은 이진에서이 표현입니다. 그래서 우리가 그것을 할 방법이 던진된다 임의의 점은 ASCII 테이블이라고, 여기서 우리는, 인간으로, 같은 프로그래머, 얼마 전에, 우리는 임의적으로 우리 결정 이 번호를 할당하려고했다 이러한 문자에 값. 그래서 너희들이 온라인으로 구글 수 있습니다. 나는 그것에 링크가에 있다고 생각 pset-- 그냥 ASCII 맵 테이블, ASCII 테이블. 그것은 단지 바이너리 변환 문자로 번호. 그리고 그것은 매우 될 것 문제 설정에 유용 당신이 원하는 때마다 무엇이든 또는 경우를 계산 특정 표시 할 문자 나 정수 또는 특정 문자를 조작 할 수 있습니다. 그것은 매우 될 것 중요 당신의 모든 ASCII 테이블을 탐색하는 방법을 알고있다. 예를 들어, 대문자 그래서 수 (65)에 의해 표현된다. 그리고 소문자 97에 의해 표현된다. 그래서 알고하는 것이 중요합니다 두 값의 차이 (32)이다. 때때로, 당신은 변환해야하는 경우 다른 하나는, 차이는 32이다. 당신이 친절 있다면 걱정하지 마세요 처음에는이에의 혼란. 우리는 우리가 어떻게 것 이상 갈거야 실제 코드에서 이것을 사용합니다. 그래. 밖으로 노트북과 당신의 사람들을 위해 이렇게 ASCII 표를 올려 주시기 바랍니다 이 아마도 때문에 너희들은 참조해야 문자는 무엇인지. 그래. 그래서 어떤을 알고 문자는 특정 번호에 매핑 난 그냥 처음 실행한다면 그 선은,의 printf를 code-- 마이너스 소문자 대문자 A. 누구를합니까 어떻게 될지에 대한 추측이 지금 화면에서 인쇄? 모든 그래서 일단, 무엇을 수행 대표 소? 무엇 수 있다는 것입니다 ASCII 테이블에서 인코딩. 죄송합니다? 청중 : 97? ANDI 펭 : 97, 훌륭한. 그리고 대문자은 무엇인가? 청중 : 65. ANDI 펭 : 그래서 97을 뺀 65 무엇인가? 청중 : 32. ANDI 펭 : OK. 그래서에 가고 너희들을 어떻게 생각하십니까 때 입력 일어날 코드의 라인 내 컴퓨터에? 청중 : [들림]. ANDI 펭 : 죄송합니다, 최대 말한다. 걱정 마. 이것은 매우 안전 환경, 마이너스 카메라. 우리는 모든 걱정 이러시면 것입니다. 그냥 우리는 척하는거야 그것은 단지 우리는이 방에서 놀입니다. 걱정 마. 어떤 질문이 너무 바보입니다. 아니 대답은 바보 같은 대답이다. 아마 실수를 할거야 나의 가르침의 과정에서. 진심으로, 사람은, 그냥 해버 린거야. 자신에 대한 자신감, 당신은 알고있다? 그래서 무엇입니까? 누가 마지막 대답을했다? 그래. 그 좋은 맑은 소리. 청중 : 32? ANDI 펭 : 32. 확인의이 코드를 실행하자 그런 일이 무엇 있는지. 그래. 그러니 너희들은 할 수있는 종류의 나는했습니다 일반적인 표기법을 참조 우리가 사용하는 방법을 보시려면 여기를 설정 우리의 컴퓨터에있는 프로그램의 모든 종류. 우리는 우리의 주요 기능을 가지고 우리의 주요 함수 내. 난 그냥 복사하는거야와 이 코드 줄을 붙여 넣습니다. 때 너희들도 조심해야 복사 코드를 붙여 넣기합니다. 때때로 특정 사업자 제대로 이상 붙여 넣기하지 않습니다. 이 경우, 마이너스 기호는 실제로 대시했다. 그리고 컴퓨터를 선택하지 않았다. 그래서 내가 돌아 가야했다 및 물리적으로 그를 다시 입력합니다. 바로 그 때 조심 너희들은 그 일을하고 있습니다. 그래. 우리는 여기를 실행하는 것입니다. 그래서 우리는 우리의 2 장에 CD 것입니다. 나는이 프로그램 asciimath라고했습니다. 우리가 어떤 실행할 때, 기억 프로그램, 우리는 먼저 컴파일하려면 우리의 메이크업을 통해 그것을 실행하여. 그리고 우리가 실제로 실행하려면 도트 슬래시를 수행하여 프로그램. 그래서 우리는 ./asciimath 것입니다. 오른쪽, 거기 우리는 간다. 그리고 우리는 (32)을 참조하십시오. 잘 했어. 당신은 사탕의 조각을받을 자격이. 당신을 위해 사탕. 죄송합니다. 괜찮아. 그래. 그래서 우리는 다시 여기 우리의 예에 갈 수 있습니다. 아니, 아. 아. 그래. 난 그냥 그런 식으로 계속 갈거야. 그래. 그래. 너희들이 볼 수 있도록, 우리는 할 수있다 매우 흥미로운 것들을 많이, 아주 멋진 것들을 많이, 많이 관련된 매우 복잡한 일 ASCII 문자와 숫자. 당신이 다섯 줄을 내려하면, 즉, 함께 따라 할 수있는 많은입니다. 우리는 이동하지 않을거야 섹션을 통해. 당신이 할 수있는 경우에, 자유롭게, 종이에 그것을 밖으로 추론 처음 할 때 무슨 일한다에 값의 당신은 입력과 같은 문자열입니다. 예를 들어, 마지막 줄에, 우리가 z-- 특정 number--을 나타내는 그럼하지 머도 나타냅니다 특정 number-- 플러스 1 modulos (26) 플러스 소문자. 너희들은 독서를 유지하는 경우 이를 통해, 당신을 패턴에 와서 볼 수 있습니다 우리는 어떻게 코드를 조작하고있다. 나는 매우, 매우 좋습니다 당신의 섹션 결국 사람은 앞서 입력 가서 컴퓨터에서 그 모든 그리고 어떤 종류의 참조 번호가 나오고있다 그이 이유를 추론 때문에 당신의 psets를 들어, 일이 정말 중요 할 것이다 당신은 이해하기 왜 어떤 일들이 일어나고 있습니다. 이 슬라이드는 모두 온라인으로 될 것입니다. 하려고에 대한 그래서 걱정 없다 물리적으로 메모를 복사합니다. 모든 온라인. 이 섹션 자체가 온라인 될 것입니다. 내 모든 소스 코드 그 나는 온라인으로 될 것입니다 실행 해요. 그래. 당신은 여전히​​ 문제가 있었나요? 청중 : modulos은 무엇입니까? ANDI 펭 : OK. 그래서 모듈은 것 운영자입니다 당신의 남자의 PSET에 매우 중요 여기에. 그래서 운영자 방법 C에서 프로그래밍 작업에 당신이라고 무슨 가지고있다 구분 기호와 계수 기호, 이는 단지 퍼센트 기호와 같다. C에서 그래서 당신은 정수를 수행 할 때 슬래시로 정수로 나눈, C 절단하려는 경향을 갖는다 소수점의 모든 오프, 정수 싶어서 정수로 변환합니다. 그것은 이중되고 싶지 않을거야 모든 그 후 소수의 무리와 함께. 나는 2로 나눈 3을한다면, 그것은거야 0.5을 잘라 단지 당신에게 1을 제공합니다. 그 뭔가를 그래서 할 수 당신이있을 때 매우 조심 프로그래밍 수학의 모든 종류의 일을, 숫자는 당신이 얻을 것입니다 숫자하지 않을 수 있습니다 당신은 생각하고 있다고, 이는에 왜 라운딩 당신의 지난 PSET은 매우 중요하다. 모듈로 당신에게 나머지를 제공합니다. 내가 3을했다 예를 들어, 그래서 모듈 2-- 그래서 3 % 기호 2-- 그것은 당신에게 그 나머지를 줄 것이다. 그래서 3 2로 나눈 1.5입니다. 그것은 1의 1 나머지입니다. 그것은 당신에게 1 줄 것이다 그 나머지이다. 그래서 너희들이 이동하는 경우 ASCII 테이블을 통해, 모듈은 끝나게됩니다 매우 중요한 뭔가, 우리는 그 이후에 논의 할 것이다. 그래. 그래서 꽤 뭔가, 꽤 새로운 꽤 독특한 우리는 이번 주에있다 토론 한 것을 배열이 무엇인지의 개념. 그래서 배열은 처음이다 데이터 구조의 유형 우리는 거라고 이 클래스에서 발생합니다. 모든 데이터 구조이다 임의의 어떤 종류의, 구조 등을 그대로 가지 우리는 프로그래머가 만든 같은 것을, 우리는 우리의 코드에 넣어했는지 그 코드의 다른 부분을 포함 할 수 있습니다. 이러한 의미에서, array-- 그래서 파일 캐비닛으로 생각, 당신은 다른 열 경우 어디에 파일 캐비닛 선반, 당신은 다른 일에 액세스 할 수 있습니다. 메모리에 배열은하고있다 컴퓨터에 같은 일. 당신은 다른 blocks-- 우리를 가질 수있다 배열의 indices--를 호출합니다. 그것은 단지 블록처럼 메모리 선반 우리는 내 만든 당신의 컴퓨터를 사용하여 입력 할 수 다른 공간에서 어떤 일. 배열 그래서, 항상 specify--해야 당신은 선언 지정해야 다음과 같은 형식의 배열입니다. 먼저 갈거야 데이터 유형을 지정 당신은 배열로 만들 것이다. 나는 정수의 배열을 원하는 경우에, 나는 거기 INT를 넣어 것. 내가 문자열 배열을 원하는 경우에, 나는,이 문자열을 넣어 갈거야 배열의 이름을 입력 한 다음 대괄호가 될 것입니다. 그리고 괄호 안에, 당신이있어 배열의 크기를해야 할 것. 정말 중요한 뭔가 배열을 생성하는 경우 염두에 두어야 당신을 작성하면, 그 배열, 그 크기는 변경할 수 없습니다. 당신이 알고 있다면 지금 당장 그 만약 크기 (10)의 배열을 가지고 당신은 내가 10 세포를 가지고 갈거야 알고 이 배열 내에서 인덱스 내에서 10, 그리고가는 결코 확장하거나 축소 할 수 아무리이 무엇을하고 있는지 공간을 현재 10 블록 저장할 수있는 메모리에 할당 당신이 넣어 한대로 최대 10 가지. 그래서 이와 같이, 배열 데이터 타입, 어레이는 데이터 구조 우리는거야 일부 다른 매우 다르다 이 과정에서 나중에 커버 될 수있다. 그래. 예를 들어, 경우에 원 사이즈 3의 배열을 생성 할 것을 integer--의 포함 된 변수 오, 미안 해요, temperature--의 온도의 물론, 정수이다. 그래서 우리는 인 INT를 만들 것 우리가 저장하고자하는 어떤 데이터 유형입니다. 우리는이 온도를 호출하는거야 이름의 명칭을 위해서 우리 모두가 이해 뭔가. 그리고 우리는 대괄호가 될 것입니다. 그리고 우리는 세 개의 숫자를 원한다. 그래서 우리는 넣을거야 그 안에 세. 정말 뭔가 명심하는 것이 중요합니다 어레이가 제로 인덱스된다는 것이다. 즉, 모두는 당신이다 인덱스 0부터 시작, 당신은을 통해 실행 1 마이너스 배열의 크기입니다. 그래서 여기에 예를 들어, 크기 3의 배열을 가지고있다. 그것은 수있을 것 세 개의 값을 누릅니다. 그러나 숫자는 themselves-- 번호, 배열, 그 인덱스, 배열, (2)를 통해 0이다. 그래서 사람은, 때 정말, 정말 조심해야 당신은 설정 문제를 겪고있어 어레이의 모든 종류를 생성, 그것 때문에 많은 시간 정말, 정말 쉽게 잊지합니다. 실제로 인덱스가없는 (3), 그 나는 현재 단지 (2)의 인덱스를 가지고있다. 그리고 당신이하려고하면 세 번째 인덱스에 액세스, 그것은 무엇 될 것 null 종결했다. 실제로 않을거야 배열에 존재한다. 그리고 컴퓨터입니다 그 좋아하지 않을. 그래서 때마다 조심 당신은 일을 액세스하는 당신이 기억을 보장하기 위하여 배열이라는 것을 제로 인덱스. 그래. 그래서 첫 번째 예는 그냥 배열을 생성하는 방법 중 하나. 내가 가진 두 번째 예 아래 단지 별도의 방법입니다 만드는 동일한 데이터는 무엇인가 우리가 입력 한 구조. 그래서 대신에 물리적으로 실행 통해 0의 온도에 넣어 무엇이든 동일 온도 1 어떤 온도 2 등호와 동일 무엇이든, 난 그냥 사실 수 직접 한 줄에 모든 것을 만들 온도 대괄호로 동일합니다. 이 경우 통지, 당신은 필요가 없습니다 배열이 얼마나 큰 지정하려면 컴퓨터는 것 때문에 통과하고있다 볼 그 중괄호로 세 요소. 그리고, 확인, 알거야 나는 크기 3의 배열이 필요합니다. 당신은 필요하지 않을거야 입력 그것은 다음과 같은 방법으로. 또한, 그래, 그런 식으로. 누군가가 질문이 있습니까 우리가 배열을 만드는 방법에 대한 또는 배열의 구조가 어떻게 작동하는지? 그래. 청중 : [들리지]? ANDI 펭 : 네, 정확히. 그래서 당신은 선언하고 초기화 할 수 있다면 다음 배열에있어서, 하는 두 번째 방법은, 당신은 사람들을 남길 수 있습니다. 컴퓨터 자동 것을 알고있다 얼마나 많은 요소를 계산해야 그 중괄호, 분리 쉼표로. 그래서 여기 그들은 65, 87, 30을 참조하십시오. 그래서 컴퓨터, 오, 알고 세 개의 정수가있다. 나는 배열 이름을 만들 알고 그 세 가지 요소와 온도. 좋은 질문. 그래. 청중 : 가능 생성하지 않는 것입니다 데이터의 종류와 배열 그 그것으로 입력 할 수 있을까? 예를 들어, 정수와 [들림]? ANDI 펭 : 목적 이 클래스의, 아니, 지금. 당신은 데이터를 생성 할 때 배열과 같은 구조, 당신이 말하는 거 야 컴퓨터, 이봐, 당신이 필요 해요 이 정도를 할당 내 하드 드라이브 메모리, 각각의 셀이되는과 비트의 특정 번호. 우리가 주에 배운 기억 제로 서로 다른 데이터 종류가 서로 다른 크기를 가지고? 예를 들어, 문자열 그래서 다른 양은 문자보다 공간이있는 공간의 상이한 양은 정수에서. 그래서 당신은 지정하고 있지 않는 경우 혼합 변수의 종류와 일치 당신은 컴퓨터의,가 가는 매우 혼란합니다. 그리고 그것은 알 수 없을거야 얼마나 많은 메모리를 제공합니다. 권리의 목적에 따라서 지금, 컴퓨터가 할 수있는 유일한 어레이의 한 유형을 인식한다. 좋은 질문. 그래. 그래서 자연스럽게, 우리가 두 번째 질문 우리를 만들었습니다 이제 잘된다 배열과 우리는이 모든 것들을 넣었습니다 배열에, 우리는 어떻게입니다 액세스 할 수있을 것? 전형적인 구조 있도록 우리는 항상 배열에 액세스하는 루프에 대한 우리의 사랑스러운. 우리가있을거야 너희들 약속 여기이 사람을 많이보고. 기본적으로, 언제 당신이 원하는 입력 배열에 값 또는 당신이 그들에 액세스하려면, 이렇게하는 가장 좋은 방법은, 루프입니다 때문에 루프에서 당신이있어 얼마나 많은 시간을 알고 배열을 실행하려는 것, 당신이 정지 판을 가지고 있기 때문에, 오른쪽? 그리고 때마다 당신은 실행 을에게, 당신은에 액세스 할 수 있습니다 어레이의 다른 요소. 또한,이 이유는 통상적 인 우리는 0 값으로 루프에 대한 우리의 시작 당신이 배열에 액세스 할 때 때문에, 당신은 제로 인덱스에 액세스 할 수 있습니다. 그리고 그것은 아주 멋지게 평행. 너희들이하고 싶었어요 수 있습니다 내가 1에 해당 인터넷 용 물품. 난 미만 또는 3과 동일하다. 그러나으로 아주 작동하지 않을 것입니다 물론 여기, 당신 때문에 만 0, 1, 2의 요소를 가지고있다. 그리고 당신은 시작한다면 당신의 소자 (1), (2)에서 I, 3, 당신은 실행 끝날거야 당신의 배열의 범위 중, 나쁜 일이 일어날 것입니다. 그래서 너희들이 SEGUE를 참조 바랍니다 의 이유는 이전 클래스에서 우리가 어떻게 실행하는 너희들을 교육하고, 루프 우리가 있었던 길을 포맷합니다. 이제 우리는했습니다, 때문이다 배열로 전환, 당신은 왜 0 빌려 볼 수 있습니다 자체는 매우 친절에 액세스하는. 그래서 우리는 그렇게 할 방법이 난 that--입니다 단지를 위해 여기를 인쇄 그것을 밖으로 인쇄. 하지만 내 자리, 쉼표가 있습니다. 실제 액세스 일부 일어나고있다. 어레이의 이름 온도 불렀다. 그래서 온도와의 배열의 난 번째 요소입니다. 루프를 통해 실행 그래서, 는 0에서 시작하는 것입니다. 그것은 출력 할 것 이 배열의 0 번째 인덱스입니다. 그런 다음 인쇄 할 것 첫 번째 요소가 부족합니다. 그런 다음 인쇄 할 것 두 번째 아웃. 그리고 우리는 중단 될 것입니다. 모든 사람이 분명하다 그 방법 일 이죠? 좋아요. 괜찮아. 그래서 여기에 우리는 방법이 우리가 원하는하지 않은 경우, 말 하드 코드에 프로그래머로 나를 in--. 실제로 물리적 싶지 않았다 모든 개별 요소를 넣어 이 배열의. 내가 대신을 원한다면 사용자 입력 값을 가질 그렇게하는 가장 좋은 방법은 무엇입니까? 음, 여기 내가 만든 이 사랑스러운 기능, 있는 나는 배열을 선언 할 수 있습니다. 하자 scores-- 그래서 INT 단지 우리가 확인하고 싶은 말은 모든 18의 성적을 유지하는 배열 여기에이 절에있는 학생들. 나는 우리가 조금있어 생각 18 개 이상의 아이들이 오늘. 그러나 예을 위하여, 그냥 우리가 18을 가지고 가정하자. 내가 가진 배열 이름 점수를 만들 것 int 형, 점수 때문에, 물론, 숫자입니다. 그리고 내가 가진거야 대괄호 (18), 그 때문에 얼마나 많은 학생들이 내가 의 점수를 저장할 수 있어야합니다. 그리고 그 방법은 내가 채울 것 배열은 내가 거라고이다 의 루프를 통해 실행 물론, 0 내 0 번째 인덱스 되 고. 그리고 18이되는 내 이 때문에, 판을 중지 배열의 18 요소. 그리고 그때의 printf를 할거야, 입력 student-- 궁시렁 궁시렁 궁시렁에 대한 점수. 사람이 난 왜 여기에 말해 줄 수 난을 내가 1을 더한 인쇄하지? 그것은 속임수 종류의 질문, 정말. 실제로 물리적으로하지 않습니다 코드의 실행에 영향을 미친다. 그래. 청중 : [들리지] 0? ANDI 펭 : 네, 정확히. 그것은 이봐, 말을 조금 어색, 이 클래스의 0 번째 학생입니다. 그것은 조금 이상한. 우리 그래서, 인간으로, 정말 싫어 컴퓨터가 생각하는 방법을 생각합니다. 그래서 심지어에서 비록 컴퓨터, 그 값을 저장하는 것 0 번째 인덱스에 우리는 인간이야, 우리가 정말하지 않습니다 0으로 자신을 참조하고 싶다. 그래서 난 그냥를 인쇄 할 때, 나는 인쇄 추가거야 단지 명확성을 위해 하나. 나는 인쇄 할 때, 나는 될거야 (18)를 통해 학생 1을 인쇄 할 수. 실제로 영향을주지 않습니다 코드의 주행 어떤 방법으로, 방법은 내가 인쇄 할 수 있습니다. 당신이있을 때하지만 조심해야 해 실제로 어레이를 액세스. 당신은 점수 내가 볼 때, 여기에 통지 사실이야 0 번째 인덱스에 액세스하고 하지 1 플러스 0-- 또는 1 더하기 1, 이 경우, 인덱스 그래서 있다는 사실은 분명하다. 모든 사람이 종류의 확인을인가 방법이를 통해 실행 모든 인덱스 나는 해요 배열에 값을 넣어 18 숫자 배열을 생성 사용자가 입력려고하고있다? 그래. 쿨. 그래. 우리는 지금 꽤 뭔가로 이동 뿐만 아니라 설정이 작품에 대한 관련. 내가 강의 알고, David-- 죄송합니다, 당신은 질문을했다? 청중 : 당신은 그것을 확대 할 수 있습니까? ANDI 펭 : 네, 그래서 나는 시도했다. 하지만 난 모르겠어요. 어떤 이유로 들어,이 파워 포인트 버전 정말 작동하지 않습니다 잘 디스플레이. 그래서 우리는 단지거야 이처럼 유지합니다. 이러한 모든 온라인으로 업로드됩니다. 죄송합니다, 여러분. 그래. 그래. 그래서 우리는 또한 문자열을 가질 수 있습니다. 그래서 실제로 너희들 내가 notice-- 경우 롭은 그 강의에서이 갔다 알고 그는 문자열이 실제로 뭐 실수 있음 문자의 단지 배열, 당신이 그것에 대해 생각하면, 오른쪽? 문자열은 이름 또는이다 문장이나 단어, 오른쪽? 나는라는 문자열을 만들 수 있다면 Andi-- 그냥 내 이름, A-N-D-I. 당신은 단지 하나의 변수로 그 생각. 하지만 실제로, 그것은 아래로 생겼습니다 문자의 단지 배열로. 그래서 문자의있어 배열 값에 저장. 그것은에 저장 N의 문자를 가지고 두 번째 인덱스 등 등. 우리는 이러한 방법에 따라서 실제로이 종류가 구조의 설정 우리의 문자열을 배치합니다. 그래서 여기, 내가 입력한다면 단어 "먹고"- 그래서 문자열 단어와 동일 문자열을 얻을. 내가 입력한다면 단어는 "먹고"그 나의 컴퓨터 방법은 물리적으로 내 기억에 그 문자열을 저장한다. 그리고 난 그 통해 실행하기를 원한다면 그리고 난에 대한 그래서 out-- 인쇄 우리는 강의에서, 기억, 제로와 동일 나 strlen라고 덮여 뭔가, 또는 문자열의 길이. 내가 실제로 할 수 있기 때문에 배열이 얼마나 큰 알고 어떤 사용자의 inputting--의 예를 들어, 내가 입력 단어는 "먹고"나는 알고있다 맞아, 세 자입니까? 그래서이 세 가지에 넣을 수 모든 것이 잘 될 것입니다. 그러나 사용자 입력 뭔가 경우 즉, 값들의 상이한 수있어, 당신은 정말 할 수 없을거야 당신은 당신의 코드를 프로그래밍 할 때 알아. 그래서 우리는 테스트 케이스를 처리하는 방식 그런 식으로 우리가 뭔가를해야한다는 것입니다 단지 함수 인 strlen 함수 호출 그 캐릭터가 얼마나 오래 당신을 알려줍니다. 그래서 단어 나 strlen. 내 말은 먹을 수 있습니다. N은 단어 나 strlen 같다. 누군가가 그 무엇을 말해 줄 수 값은 실제로 바로 거기에있다? N 바로 무엇을 나타내는 않습니다 지금,이 예에서, 내가 가진 경우 먹지? 청중 : 3. ANDI 펭 : 3, 정확하게. INT의 전 동일에 대한 그래서 우리는이 제로, N은 본질적으로, 3과 같다. 그리고 난 실행하는 것입니다 그것은 3I ++보다 때까지. 그리고 그것은 본질적으로 갈 것 과를 통해 같은 일을. 그것은 인쇄 것 모든 가치와 당신에게 전자-T. 그것은 단지를 나타내는 것 그것을 쓰는 다른 방법. 그것은 매우 도움이 될 것입니다. 그래. 청중 : 퍼팅의 장점을 무엇 N은 그 내부 나 strlen 단어와 동일 [들림] 루프? ANDI 펭 : 네. 그래서 내가 말할 이러시면 인 경우, 예를 들어, 내가 있다면 그 작업을 수행하고 내 코드에서, 그 oop--는 것 do-- 실제로 같은 것은 같은 일을합니다. 그러나, 방법 다윗은 설명이 그것은 강의 중에, 만약 당신이 어떤 사람 기억했다, 같은 그 인간, 프로그래머로서, 우리가 정말 우리의 프로그램을 시도 코드 우리의 컴퓨터가 너무 그래서 가능한 한 최소한의 일을하는 우리의 코드는 매우 효율적입니다. 그래서 나는 거기에, 무엇을 가지고있는 경우 내 용 루프를 통해 일어날 것 내가 처음 선언 것이다 라는 변수 내가 0이 될 것입니다. 나는, 오, 확인하기 위하여려고하고있다 단어의 나 strlen 무엇인가? 아, 나 strlen은 3입니다. 그래서 세 미만? 네, 그렇습니다. 난 실행할거야. 그리고 두 번째로 다시 주위 루프, 난을 증가거야. 내가 하나가 될 것입니다. 그리고 난, 오, 확인하는 것입니다 하지만 단어 나 strlen은 무엇인가? 아, 세 가지입니다. 그리고, 종류의 낭비 것 그 수행 당신은 루프를 통해 실행할 때마다, 기능을 확인하기 위해, 심지어 단어의 나 strlen하지만 실제로 변경하지? 그래서 컴퓨터의 여분의 전력이다. 당신은 것들에 대해 이야기를 시작하면 수십억됩니다 장소 수십억 오랫동안 컴퓨터를 상상 물리적 거치지과 그 하나 하나의 모든 시간을 확인합니다. 그 이유는, 단지 확인하는 것입니다 효율성을 위해, 우리는 바로이 작업을 수행하는 경향이 때문에 우리는있어이 방법 함수를 호출 처음에 한 번, 그리고 그 때마다 그것을 그것이 무슨 통과 값을 저장하는 3 거기, 당신이 할 것을하지 지속적으로 모든 시간을 확인해야합니다. 그래. 청중 : 죄송합니다. 그냥 [들림]. 당신은 int로 N strlen 함수에 해당 넣어 할 수 그 루프의 외부 위 뿐만 아니라? ANDI 펭 : 네. 당신은 절대적으로, 그렇게 할 수 있습니다. 우리가 여기에있는 이유는 때문에 루프 작업을위한 방법 그것이라고된다 의미에서 지역 변수 당신이있어 모든 것이 루프의 내부를 작성 단지 루프의 내부에 존재한다. 그래서 i 변수 만 그 괄호 안에 존재한다. 또한 N의 그리고 여기에 변수 만 괄호 안에 존재한다. 그래서 당신의 strlen 함수를 사용한다면 아래로 아래 여러 번 말씀, 절대적으로 그렇게 할 수있는 최선의 방법 정상에 그것을 선언하는 것입니다 그래서 당신은 한 번 할 필요가 없습니다. 그래. 청중 : 왜 당신이 있습니까 퍼센트 후 새로운 라인 모든 넣어하려는 경우보고 이 분리 옆에 편지? ANDI 펭 : 아, 내가 원한 각 라인에 모두 인쇄 할 수 있습니다. 그것은 중요하지 않습니다. 그래, 서식입니다. 즉, 비록 좋은 질문입니다. 내가 원하는 경우 네, 인쇄 그것은 단지 모두 한 줄에 나는의 대시가없는 것입니다. 그래. 모두 좋은? 그래. 쿨. 그래서 나는 내가 충분히 이야기라고 생각한다. 너희들의 차례를 통해 실행 코드와 여기에 잘못 말해. 버그는 어디있어? 당신이 볼 수 있도록, 나는 선언했습니다 String 형의 이름 클래스의 새로운 배열. 그리고, 샘을 입력 한 그것으로 제스, 김. 그리고 인쇄하려고 해요 어레이의 모든 요소. 왜이 사람은 말해 줄 수 나에게 문제를 제공하는 것입니다? 나는 사람들에게 10 줄거야 초는이에 대해 생각합니다. 그래. 그래? 청중 : 왼쪽 센터 3과 같거나 [들림]? ANDI 펭 : 오른쪽. 그래서이 실제로 얼마나 많은 시간이다 이 루프를 통해 실행하려고? 청중 : 네. ANDI 펭 : 맞아요. 그것은 네 번을 통해거야. 그것은을 통해 실행하는 것 0, 1, 2 및 3에서, 자신의 요소가 나는 때문에 3보다 작거나 같다. 그것은 2 때 중지 않을거야. 그것은 계속 것 이 3 안타 때까지 가고. 우리가 알고 있듯이, 세 개의있다 우리의 실제 배열의 요소. 우리는 네 번째에 액세스하려고하면 소자 3의 인덱스 당신은 어딘가에 칠거야 메모리에 존재하지 않음. 그것은 null 종결라고. 아무것도 될 것 없습니다입니다. 컴퓨터는 않을 것이다 당신과 함께 매우 행복합니다. 그래. 누군가가 질문이 있습니까 그 이유는 무슨 일이 있었에? 즉 피하기 위해 공통 영역입니다. 그래. 청중 : 첫 번째하지 않습니다 2의 문자열을 가지고도 밀어? ANDI 펭 : 아니오. 그래서 본질적으로, 경우 당신은 배열을 만들고 있어요, 그 브래킷 권리 이 모든 number-- 그 당신이 어떻게 말하고 많은 요소가 나는 있습니다. 실제로 말하는 아니에요 나 아무것도의 인덱스. 이 경우, 내가 원하는 알고 세 곳과 쓰기, 세 가지 물리적 장소와 내가 잡아 원하는대로 누르고 있습니다. 3 번이 왜 그렇게 그입니다. 그러나, 나는 원 실제로 액세스하려면 내가 말하고자한다면, printf의 다음 클래스 브래킷 번​​호, 당신은 실제로 넣을거야 이 물리적 인덱스입니다. 그래, 좋은 질문입니다. 청중 : 그래서 물리적 인 인덱스 가정은 [들리지] 수 있습니까? ANDI 펭 : 미안 해요. 당신은 조금을 말할 수 있습니까? 청중 : 그래서 물리적 인덱스가 [들림] 상자의 각? [들림]? ANDI 펭 : 네. 그래서 여기로 돌아갈거야. 여기의 생각. 우리는 크기 3의 배열을 가지고있다. 등 세 곳있다, 여기에 물리적 자리. 그러나 그들은 0, 1, 2라는 것입니다. 내가 그들에게 접근하고 싶어한다면, 나는 그들에 액세스하는 방법 여기에 원하는 무엇이든의 printf의입니다. 당신은 인쇄 할 것이다 그것의 이름을 밖으로, 다음 컴퓨터 때문에 오, 내가 볼 필요가, 알고 0 번째 인덱스에 대한이 배열. 그래. 하지만, 그것의 크기는 변화하지 않는다. 크기에 관계없이, 3 당신이 그들을 레이블 방법. 그래. 모두 좋은? 청중 : 그래서 때마다 나는 [들림]? ANDI 펭 : OK. 이 경우, 우리는 정말하지 않습니다 과정에서 지금 그것으로 얻을. 하지만 알고 난 같은 string-- 문자열이 본질적으로, 전에 말했다 문자의 배열. 내가 배열을 만들 수 있다면 문자열, 내가 가지 어레이의 배열을 가지고 문자, 오른쪽? 이 경우에 그래서, 때문에 문자열의 배열을 가지고 당신이 입력에 정말로 긴 단어 인 경우, 그게 아직 단 하나의 공간을 차지 즉, 하나의 문자열이 있기 때문에. 하지만 당신이 있다면 생각합니다 그 배열의 문자, 그 다음은 더 많이 복용 즉 어떤 자 이하 이다. 지금은 정말 중요하지 않음. 하지만 그건 그냥 일반적이다 어떻게 일하고있다. 그래. 그래서 내가 당신이 할 드리겠습니다 일이다 학기의 과정을 통해 많은. 내 목소리를 휴식이 필요. 너희들은 자신을 자극 할 필요가있다. 당신의 많은 아마 지금 잠을해야합니다. 나는 임의의 문제를 입력 해요 여기서 우리 클래스와 나 파트너와 함께 당신 옆에가는거야 논의 몇 분을 보내고 우리가 해결하는 것에 대해 이동하는 방법에 또는 이와 같은 프로그램을 작성. 그래서 지금, 우리는 원하는 program--을 만들 수 있습니다 우리는 그것을 호출하는거야 upper.c-- 변환합니다 상위 클래스에 소문자 단어 string-- 대문자, 죄송합니다. 말씀은 문자열에, 죄송합니다, 동의어이다. 나는 그들을 변경거야 같은 일을 의미합니다. 그래. 몇 분을 가져 가라. 그럴 필요는 없다 모든 언어로 작성. 다만 의사 코드 또는 논리적으로 어떻게 우리는 심지어 것 이러한 문제를 일에 대해 이동합니다. 그래. [2 회화] 또한 너희들이 주는거 것으로 나타났습니다 나는 종류의 이미 프로그램을 참조하십시오. 나는 나의 부족을 생각한다 프리젠터 모드는 문제이다. 하지만 괜찮습니다. [2 회화] 얘들 아, 제발, 그래. 사탕을 가져 가자. 사탕을 가져 가자. 청중 : 예! [2 회화] ANDI 펭 : 또한, 그래, 나는 사탕을 던지고 시작합니다 질문에 대답하지 않는 사람들에. 모든 질문에 답을해야한다 그래서. 아니면 내가 사람을 생각하는 사람들 질문에 대한 답변 않습니다. 그래, 다른 방법으로 주위. [2 회화] 청중 : [들리지] ANDI 펭 : 네. 그래. [2 회화] 그래, 얘들 아. 같은, 10 초 이상을 가져 가라. [2 회화] 얘들 아, 확인을 클릭합니다. 그래서 우리가 노력을 시작하기 전에 실제로 물리적으로, 코드를 작성 개발하는 좋은 습관이다 우리는 이성의 제 1 종하려는 아웃 논리적으로 우리가 그것을 할 것입니다 방법에 대해 설명합니다. 당신이 있는지 확인하려면, 당신 전에 물리적 코드를하려고 시작 마리오, 즉 당신이 만들 당신이 당신의 의사를 가지고있다. 그 과정을 복용 당신은 무엇을 그렇게 만들 필요가 때를 물리적으로, 그 나중에 프로그램을 작성, 당신은 오류를 잡아 더 잘 할 수있다 코드와 같은 것들이다. 그래서 우리는 단지 시작하는거야 by-- 영어, 의사에, 사람이주고 싶지 않습니다 나 일반적인 설명 우리는이 일을 약을 이동하는 방법? 그래. 청중 : [들림]. ANDI 펭 : 물론, 걱정. 청중 : 당신은 그것을 요​​청하거나 요청 수 누군가가, 문자열 1-- 그래, 문자열을 얻을 수 그리고-- ANDI 펭 : 네, 그래서 이것은 좋은 시작이다. 나는 당신이 말하는, 죄송합니다, 입력을 시작합니다. 그러니까 ... 청중 : 고마웠다 소문자 숫자가 높은, 오른쪽? 또는 소문자 높은 번호가? ANDI 펭 : 맞아요. 청중 : 그럼 우리가 빼기 무엇 [들리지] 32. ANDI 펭 : 좋아요. 그래서 우리는 종류의 일반적인 감각을 가지고 의 방법이 문제에 대해 작동합니다. 우리가 가지 배운 것을 알고 그 문자열 물리적 방법 메모리에 저장되고, 이미 당신이 무엇을 당신은 아마 거라고 알고 코드에서 작성해야 위해 문자열을 통해 이동? 청중 : 루프하십시오. ANDI 펭 : 루프, 정확하게. 좋아요. 그래서 우리는 종류의 일반이 의사는 적어 그런 종류의주고있다 당신은 당신이 방법에 대한주의 사항 문제 해결에 대한 이동합니다. 지금 당신이이 있는지, 당신을 나중에 참조 할 수 당신이하려고하는 경우에 실제로 코드를 작성합니다. 그래서 우리는 실제로 여기에 갈 수 있습니다. 그리고 나는라는 함수를 가지고 upper.c-- 거기에 그냥 빈 템플릿의 is-- 지금 너희들이가는 것을 저를 작성하는 방법에 알아내는 데 도움이 되지 않는 코드의 라인을 code--이 라인. 그것은 여러 줄의 코드 수 있습니다. 모든 종류의를 시작할 때 빈 PSET의 무엇이다 내가 가장 먼저해야 할 일 어떻게 기억 하는가? 청중 : [들림]. ANDI 펭 : 위대한 그래. 포함합니다. STDIO.H. 때때로이 중 하나입니다 가장 쉬운 실수 사람들 그들이있을 때 할 것 , 작성하는 것은 그들이 것이 오 를 포함하는 것을 잊지 그들이 필요로하는 중요한 라이브러리. 그래서, 근무 시간 그리고 당신이 같다면 내 코드가 작동하지 않는 이유를 모르겠어요. 당신은 작동하지 않는 이유를 말해 줄 수 있습니까? 우리는 당신이 #include를 않았다 말하는거야? 당신은 그것을 #include를해야합니다. 그래. 그래서 우리는 여기에 표준 I / O를 가지고있다. 그게 유일한 라이브러리 우리는 여기에서 필요로하는거야? 또 우리는 무엇을 할 건가요? 죄송합니다. 누군가는 그것을 밖으로 비명? 청중 : [들림]. ANDI 펭 : 거기 당신은 간다. 그래. 어떻게 내가 어떤 종류의 시작에 대한 이동 할 주요 기능의 기능, 모든 종류의 우리의 프로그램 내에서? 주요 INT. 그래. 여기 안에 무엇을 넣을까요? 당신이해야 할 첫 번째 일은 무엇입니까? 우리는을 얻고 싶다면 사용자로부터 문자열, 무엇을 우리가해야 할 것 이 첫 번째 줄에 할까? 죄송합니다, 너희들은 그냥 느낌 목소리를 자유롭게하고 큰 소리로. 그냥 어떤 소리. 청중 : 사용자에게 물어? ANDI 펭 : 우리는 어떻게해야합니까? 물어봐도 내가 "사용자에게"를 입력하는 것입니까? 청중 : PRINTF. ANDI 펭 : OK. PRINTF. 내가이는 printf 하시겠습니까? 청중 : 뭔가를 입력합니다. ANDI 펭 : 그런? 나는 컴퓨터 것 같은 얘들 아, 척. 물리적으로 나에게 모든 단계를 말해 여기에 입력 할 필요가? 내가 뭔가 잘못하고 있습니까? 내가 뭔가를 입력 한해야 하는가? 청중 : 당신은 따옴표가 필요합니다. ANDI 펭 : 나는 따옴표를해야합니까? 그래. 그래. 청중 : 그리고 새로운 라인. 세미콜론. ANDI 펭 : 세미콜론? 그래. 좋다. 청중 : 그리고 어쩌면 지정 당신은이 소문자로 원하는? ANDI 펭 : 좋아요. 너희들은 나를 웃음 세미콜론을 넣어 잊어. 어디 선가 당신을 보장 이 클래스의 과정에서, 당신은 넣어하는 것을 잊지합니다 세미콜론, 그리고 파악하는 당신을 세 시간이 걸릴 것입니다 밖으로 왜 코드가 작동하지 않습니다. 그것은 우리 모두에게 일어난. 아마 당신에게 일어날 것입니다. 세미콜론을 사용하는 좋은 습관을 가져옵니다. 그래. 청중 : 당신이 원하는 수행 백 슬래시를 할까? ANDI 펭 : 물론. 당신은에 백 슬래시을 하시겠습니까? 청중 : 네. ANDI 펭 : 좋아요. 그래. 나는 다음에 무엇을해야합니까? 청중 : 문자열을 가져옵니다. ANDI 펭 : 문자열을 가져옵니다. 그래서 내가 무엇을 입력합니까? 누군가? 청중 : 문자열의. ANDI 펭 : 문자열의. 청중 :하여 GetString. ANDI 펭 : 누군가, 당신은 저 곳을 알 수 있습니다 이 기능하여 GetString은오고있다? 청중 : String.h. ANDI 펭 : String.h? 당신은 string.h에서 생각? 청중 : [들림]. ANDI 펭 : 거기 당신은 간다. 그것은 CS50.h.에서의 당신은 항상 어디에서 혼동하는 경우 라이브러리 파일 또는 헤더 파일은, 구글은 문자 그대로, string.h 나는 당신을 말할 것이다 모든 기능은 무엇인가 string.h에 있는지. 그래. 그래서 지금은 문자열을 만들었다 고 나는 그것을 위해 사용자에게 메시지를 표시했습니다, 나는 변수에 저장 한 라는 이름의, 내가 지금 어떻게해야합니까? 청중 : 그것은 소문자입니다 있는지 확인합니다. ANDI 펭 : 죄송합니다? 청중 : 그것은 소문자입니다 있는지 확인합니다. ANDI 펭 : 좋아, 이제 그렇게 할 수 있습니다. 나는 어떻게해야합니까? 사실, 목적 지금 클래스의, 우리는 단지에가는거야 그 모든 가정 그 우리 입력은 소문자 이미 사용 중입니다. 당신이 확인하고 싶었다면, 당신은 것 단지 조건부 문을 추가 확인이를 통해 실행하는 모든 단일 배열 요소 그것의 경우 확인 특정 값 사이. 나는 잊지 무슨 수 소문자의 값으로한다. 당신은 ASCII 테이블을 찾아 볼 수 있습니다. 하지만 그래, 정말 좋은 점이다. 하지만 지금, 우리는 그냥 갈거야 모든 문자열을 가정 우리 입력 소문자에 있습니다. 그래. 그래서 난에 대해 어떻게 갈 것 다음이 문제? 청중 : 루프하십시오. ANDI 펭 : For 루프? 그래. 무엇을 입력 말해. 청중 : 인터넷 용 나는 0 같습니다. ANDI 펭 : OK. 청중 : 아, 사실은, 당신에게 쉼표를하고 N 나 strlen 일치 한 않습니다. ANDI 펭 : 그래서 중요한 것은 나는 그녀가 여기에 나타났습니다 생각하는 것이 우리가 INT를 말할 필요도 없지이다 N 두 번째는 우리가 이런 짓을. 단지에 대한에 알고 당신이 선언하고 루프, 당신은 실제로의 INT가 필요하지 않습니다 두 번째는 변수를 않습니다. 당신은 n 개의 나 strlen을 말할 수있다. 청중 : S의. ANDI 펭 : S. 그래. 청중 : 그리고 세미콜론. ANDI 펭 : 물론. 청중 : 그리고 [들림] N. 그럼 난 ++. ANDI 펭 : 좋아요. 괜찮아. 우리는 내부에 무엇을 원하는가 지금 루프에 대한이의? 우리는을 통해 실행하는 거라면, 기억 문자열과 배열을 통해 실행 우리는 물건을 확인 할 수 있습니다. 우리는 무엇을해야하는 건가요? 이제이 까다로운 부품의 일종이다. 누군가는 추측이? 그래. 그래서 첫 번째, 우리는 어떻게에도 액세스합니까? 어떻게 우리도 먼저 확인 또는 배열 요소에 액세스? 우리는 어떻게해야합니까? 우리가 그렇게 할 때 사용하는 표기법은 무엇입니까? 이 배열의 이름은 무엇이라고? 그것은 바로, S라고? 임의의 문자열은 항상 배열입니다 기억하십시오. 그래서 S 브라켓 내가, 오른쪽? 즉, 전류 값이므로 또는 인덱스 값은 우리가 확인하고 있습니다. 그리고 우리는 그와 동일한를 설정하는거야 이러시면 우리는 바로, 소문자 값을 줄까? 우리는을 설정하려는 lower-- 죄송합니다, 우리는 대문자를 할 수 있습니다. 우리는 소문자를 설정하려면 대문자로 값. 그리고 미안 해요 그래서 그때 엔, 당신의 이름은 무엇입니까? 청중 : 하이디. ANDI 펭 : 죄송합니다? 청중 : 하이디. ANDI 펭 : 하이디. 하이디가 말했듯이 처음에, 우리는 아마있어 우린 짓이야 필요할 것 아마 빼기해야 할 것 바로 무엇이든 charc 32? ASCII에 있기 때문에 테이블, 차 소문자 사이 그리고 대문자 (32)이다. 우리가이 일을 할 때 그래서, 우리는 아마있어 바로, 32 빼기 할 것? 그래서 우리는들에게 내가 할 것입니다. 내가 그걸 왜 그랬는지 모두 이해 하는가? 지금 때문에, 우리의 배열, 우리는 0 번째 인덱스를 확인하고, 오른쪽? 그리고의 0 번째 인덱스에 문자열, 즉 첫 번째 문자입니다. 그리고 그 문자는 우리는거야 이 소문자의 가정. 우리가 대문자 확인하려면 우리 그 값에서 32을 빼해야 우리의 ASCII에 있기 때문에 테이블, 즉 우리가 그것을 얻을 방법 해당 다음에 이 대문자하게 값. 모든 사람은 이해합니까? 그래. 관객 : 또한 수 minus-- 소문자 않습니다 ANDI 펭 : 네, 그래서 그건 실제로 정말 좋은. 나는 그에게 돌아올거야 질문 우리는이 작업을 수행 한 후. 그래. 그리고 내가 원하는 경우 , 무슨 일이야 참조 아마 갈거야 바로 인쇄 할? 누군가가 나에게 무엇을 나는 여기에 인쇄 할 수 있습니다. 청중 : printf의 퍼센트 C 백 슬래시 [들림]. 즉, [들림]의 i 값입니다. ANDI 펭 :의 나는, 미안 해요? 청중 : [들림]. ANDI 펭 : 몰라요. 어떻게 생각해? 청중 : 글쎄, 난 wouldn't-- 나는 bring-- 않을 것 같아요 나는 그것을 꺼내 것이다 내부 때문에 [들림]. ANDI 펭 : 오, 당신은 그 일을 한 것? 청중 : 네. ANDI 펭 :의 그것에게 길을 떠나 보자 그것은, 그리고 그 이유를 나중에 설명 할 것이다. 때조차 기억 장소 홀더를 가지고, 당신은 괄호를 넣어합니다. 괜찮아. 그래서 여기 고체 기능을해야한다. 현실을 실행할 수 있도록하고 컴파일되는지 확인합니다. 상단합니다. 어 오. 즉, 너무 좋아 보이지 않습니다. 왜 이런 일이 무엇입니까? 오류와 마찬가지로, 당신은 가고 싶어 그리고 다시 처음부터 시작, 일반적으로 하나의 에러 원인 때문에 그 후 다른 오류가 많이. 여기에서 우리는 upper.c 참조 : 18 : 25, 알려줍니다 이 프로그램 내에서, 명명 된 upper.c 라인 (18)에 오류가 암시 적으로 선언 기능의 라이브러리 유형 나 strlen unassigned-- 어쩌구, 나도 몰라 무엇이 그 후에 것입니다. 모든 것이 지금 내게됩니다 말하고 그 일이 나 strlen에거야. 그리고 컴퓨터가 있기 때문에, 혼동 것 이 같은, 내가 strlen 함수가 무엇인지 모르는거야? 무엇은 아마도 않습니다 당신이 놓치고 당신에게? 청중 : 당신은 [들림] 놓치고있어. ANDI 펭 : 당신이 맞아요. 정확히. 그것은 어디 그래서이다 있는지 확인하는 것이 중요합니다 당신이에서 사용하는 모든 기능을 당신의 코드는 올바른 헤더를 가지고있다 다른 라이브러리 파일, 또는 당신은 오류를 많이받을거야 당신의 코드는 않을 것이다 무슨 일이 일어나고 있는지. 그래서 우리는 여기에 string.h를 포함하는 것입니다. 이제 우리는 위 컴파일 할 때. 제대로 컴파일합니다. 의이 프로그램을 실행하자. 그래서 소문자로 뭔가를 입력합니다. 무엇 너희들은 입력 할 수 있습니까? 뭔가를 외쳐. 좋아, CHARLY는 그냥 걸어 갔다. 우리는 CHARLY의 이름을 입력합니다. 소문자로 CHARLY. 그리고 희망, 희망이있다 외치다하고 뱉어 것 대문자 CHARLY. 야호! 모두가 방법을 이해 않습니다 나는 그것을 해결하는 갔다? 방법은 내가 할 수있는 정수를 사용하여 조작 뭔가를 해결하기 위해 그 나는 문자열에하고 싶은, 문자와 정수 할 수 있기 때문에 같은 방법으로 참조 될 수 있기 때문에 ASCII 매핑. 그래서 경우에, 당신의 지점으로 돌아갑니다 나는 (32) 대신에 여기에 넣어 원 대문자는 같은 소문자 마이너스 즉, 그뿐만 아니라, 동일하게 작동 할 그 때문에 단순히 그냥 이 두 값의 차이. 나는이 again-- CHARLY를 확인하려면. 오. 나는 우리가 그래, 길을 잘못했다 생각하세요? 청중 : [들리지] 소문자. ANDI 펭 : 거기 당신은 간다. 네. 그리고 밖으로 CHARLY 뱉어. 그래서 때 조심 당신은 값을 뺀 것 하나 인 기억 다른 것보다 더 큰. 예를 들어, 여기까지 나는 잊었다 그 소문자는 실제로 대문자 (A)보다 큰 그래서 때를 그들에게 다른 방법을 빼기 위해 노력 주위에, 나는 부정 (32)를 얻었다. 그리고 내 컴퓨터가 같았다 나는 그게 뭔지 모르겠어요. 그냥 어떤 임의의 확률이다 잘되지 않습니다 값. 그리고 당신이있어 있는지 확인 정확한 길이 감산 당신이 원하는 문자를 찾을 수 있습니다. 그래. 사람이 우리 방법에 대한 혼란 이 기능을 쓰기에 대한 갔다? 그래. 그래서 실제로, 함수 이미 라이브러리라는 ctype.h에 존재합니다. 도서관이라고 ctype.h. 이 함수는 실제로 이미 당신을 위해 작성합니다. 그것은 상단에 불렀다. 그래서 목적으로 이 PSET, 당신은거야 당신이 정말로 사용하려는 찾을 수 함유 된 많은 기능 CTYPE 라이브러리 내에서. , 낮추려면 상단 상단입니다에있다 lower-- 이러한 모든 기능은 당신은 매우 사용할 수있을 것입니다, 매우 빠르게 자신의 코드에 그 이 수행 정확히 않습니다. 우리는 변환하는 방법을 썼다 문자열을 대문자로. 그러나 이것은 실제로 코드 다른 사람이 쓴 것을 당신은에 액세스 할 수 있는지 다른 기능을 통해. 그래? 청중 : 그래서 당신은 그냥 거기에서의 복사 모든 단일 문자을 위해 그것을 할? ANDI 펭 : 그래, 내가하지 않기 때문에 의 값 걱정. 난 그냥 차이가 있음을 걱정 그들 사이에 오른쪽 32? 소문자의 차이 B와 대문자 B는 32이다. 및 C 사이의 차이 대문자 C는 항상 32입니다. 난 그냥 걱정해야 둘 사이의 차이, 모든 문자 때문에 바로, 동일한 패턴을 따라? 나는 차이가있는 경우 그들 중 하나 사이 내가 알고있는 차이 그들 모두 사이에있다. 좋은 질문. 그래. 모두 좋은? 그래. OOP. 그래. 그래서 다른 개념이다 그 당신이 매우 유용 할 것 개발을 계속 당신의 코드는 생각입니다 함수 또는 추상화를 생성. 그래서 지금, 우리는 대수를 촬영했습니다. 대수학에서, 당신은이 있음을 배운다 이 훌륭한 점은 함수를 호출 기계, 어디 경우 번호를 입력 한 종류, 그것은이 멋진 기능을 통해 실행 밖으로 바로, 다른 출력 팝? 코드에서 같은 일이 발생 함수의 종류에. 그래서 물리적으로 수 내 코드의 내 몸에 쓰기 실제로 수행하는 주요 문 어떤 코드의 몸은하고있다. 그 밖에, 나는 또한 수 많은 다른 기능을 쓰기 그 많은 다른 일을. 예를 들어, 우리는 이미했습니다 그 중 일부를 사용하기 시작했다. Printf-- 그입니다 기능이 다른 사람 이미 작성했습니다 우리는 우리의 코드에서 호출 할 수 있습니다. 이 경우 upper--하려면 upper-- 다른 기능입니다 우리는 우리 것을 서면으로 작성했습니다 우리의 코드에서 호출 할 수 있습니다. 그래서 나는 왜 추측 우리는 심지어 기능을 가지고? 왜 우리는 그냥 풍덩하지 않습니다 모든 코드의 동일한 라인? 그것은 모든 사람들에게 쉽게합니다. 음, 그 뒤에 추론 조직, 우선이다. 그것은 것 정말 짜증나 누군가의 코드를 통해 그리고 printf와 같은 하나의 기능. 너희들이 실제로 알았다면 무엇을 함수의 printf는 쓰기 수반 그것은 코드 1000 라인, 같은입니다. 만약 내가 원하는 때마다 무언가는 printf, 나는 코드 1000 라인을 작성했다 즉, 읽기가 정말 짜증나는 것 권리? 우리가했습니다 이유입니다 이 추상 기능을 생성 우리는 누군가 이미 가지고 그 밖의 다른 곳에서 작성했습니다. 그리고마다 우리는 그것을 사용할 필요 우리의 코드는, 우리는 단지 printf의 말을해야합니다. 그리고 그 함수를 사용할 수있다 다른 사람이 우리의 코드로 작성했다. 그것은 쉽게 조직적으로 코드를 읽을 수 있습니다. 둘째, 단순화이다. 그것은 우리가이 단계를 단순화 우리의 문제를 해결하기 위해 촬영합니다. PRINTF, printf와 같은 함수, 상단에 같은 기능 우리를 수있는 모든 것이 있습니다 쉽게 그래서 아래 우리의 코드를 단순화. 그리고 마지막 것은 재사용이다. 우리가 가지고 있다는 사실 그래서 함수 호출의 printf 우리는 여러 가지를 호출 할 수 시간과는 재사용 할 수 있습니다. 내가의 printf를 작성했다, 나는 한 번만 물품. 그것은 오직 그 한 곳에서 존재한다. 내가 다시하고 싶어, 난 것 복사하고 그 모든 붙여 넣기해야 코드 내 두 번째 줄에. 우리는 함수를 만들 경우 이유 즉, 우리의 주요의 외부에 존재 우리는 단지에 따라 호출 할 수 있습니다 그것과 때마다 다시 사용할 우리는 그래서 훨씬 쉽게 것을 필요 우리를 위해 프로그램을 작성할 수있다. 그래서 방법 우리가 실제로 쓸 것이라고 함수는 오른쪽과 매우 유사하다? 이것은 제 일종 예를 우리는거야하는 스타일에 기능 테이크를 참조 우리 INT 주요 무효와는 다른. 이 경우, 내가 원한 오른쪽 Q라는 함수를 작성? 그리고 여기에 int 값 모두가 저를 말하고, 나는이 원하는 게 무엇 나에게 반환하는 기능을? 나는 정수를 큐브하려면, 내가 입력 할거야. 이러한 매개 변수입니다. 나는 int 형의 값을 입력거야. 그리고 난 돌아 갈거야 INT 다른 종류의 값입니다. 그리고 여기에서, 당신과 같은 모든 내가 뭘 볼 수 있습니다 내 입력이 무엇이든 큐빙한다 내 출력으로하고 반환. 그래서이 모든 함수는 않습니다 정수의 일종을합니다. 이 두 번 자체 곱하여 그래서 그것은 효과에 큐브. 그리고 그것은 반환 어떤이 출력됩니다. 그래서이 경우에는 두 줄의 우리가 추가로 써야했다 코드입니다. 그러나 우리는 전화를 원하는 경우 이 여러 번에 따라, 그것은 하나를 입력 훨씬 쉽게 보다 큐브의 여기 라인 여러 번 통과해야합니다. 그래서 방법이 본질적으로 어떤 기능을 모든 종류의 서식 존재하는 것입니다 여기에 같은입니다. 그래서 우리는 함수 이름을 가지고있다. 이 경우, 입방체라고. 그리고 우리는 그것을 큐브 때문에 이름을 그것은 기억하기 쉽습니다. 당신이 광장의 이름을 수 이것은 실제로 반듯한 수있다. 중요하지 않습니다. 당신이있어 그냥 이름 함수를 할당. 여기에이 권리, INT가있다 당신이 필요로하는 매개 변수의 유형입니다. 따라서이 기능을 수행하는 작업 작동하는 데 필요한? 음, 입력이 필요합니다. 내가 입력을 지명했다​​. 당신은 당신이 원하는대로 이름을 지정 할 수 있습니다. 하지만 int 형의 무언가가 필요합니다. 실제로 실행할 것 여기에 내부에 무엇이든, 함수의 몸체. 그리고 반환 형식 바로 여기,이 int-- 모든 것이 나를한다 말하고 이 기능은 그 INT 나에게 돌아 갈. 그래서 INT에 걸릴 것하고 있어요 그것은 int를 당신을 돌려 줄거야. 모든 사람들이 어떻게 이해합니까 이런 종류의 서식이 작동? 쿨. 그래. 이 보인다 있다면 걱정하지 말라 지금은 조금 추상적 인 권리. 이것은 우리가 얘기하자 무언가이다. 우리는 깊은 다이빙 것 이후에 코스. 방법이 더 높은 수준의 모든 종류의 이러한 것들을 작품의 추상화 이며, 메모리에 그 컴퓨터, 모든 이 유형에 저장된 스택, 나는 말할 것이다. 이 상단에 최대 그래서. 나도 몰라 당신이 경우 사람은 잘 볼 수 있습니다. 나는 확대하려고합니다. 여기에 상단에, 우리 실제 텍스트가 컴퓨터가 interpreting-- 무엇 모든 0과 1이 우리의 컴퓨터 내에 존재한다. 그리고 우리는 초기화 한 데이터 초기화되지 않은 데이터, 우리는 글로벌 변수를 호출합니다. 존재하는 변수 그래서 모든 프로그램에서 그리고 전체에 걸쳐, 본질적으로, 코드. 걱정하지 너희들이있는 경우 가지 분명이에. 그것은 지금 정말 중요하지 않습니다. 그리고 우리는 무엇을해야 스택에서 힙했다. 문자 그대로 스택의 생각 단지 물건의 스택과 같은, 다른 스택 물건은 상단에 밀려 다양한 저장하는 것이 서로의 코드 내에서 변수 및 구문. 그리고 여기 바로 아래에, 우리는 환경 변수를 가지고 당신이 내에서 실행 되는가 코드의 당신의 작은 라인. 그리고 우리는 단지 확대거야 실제 스택 부분에있다. 우리가 있었던 경우에 따라서 바로 여기, 확대하기 스택의 바로이 지역에있는, 이는 모습이다. 그리고이 사실은 매우 중요하다 너희들은 기능에 대해 이야기 할 때, 때문에 통지 그 컴퓨터의 메모리 변수를 저장하는 및 기능 양쪽의 패러미터 기능과 주요 변수 다른 장소에서. 그래서 지금, 주요이다 실제 기능 당신은 코드를 실행하고있다. 당신은 그것의 매개 변수를 여기에 저장 한 그 지역 변수는 여기에 저장. 지역 변수는 어떤 변수를 의미 그는 해당 함수 내에서 존재한다. 그리고 그 위에, 당신이이 큐브라는 별도의 기능. 당신은 그 매개 변수의이 뿐만 아니라 그 지역 주민 등. 이유 그리고 당신은 할 수 있습니다 이다 여기에 무엇을보고 큐브에 걸리는 때 발생 메인 함수의 값 실제로는 그 이상 복사 점이다. 내가 큐브에 원하는 경우에 따라서 2와 8을 반환, 그 2 실제로 입력 매개 변수로 그것은이다 당신이 기존이되도록 복사 메모리에 두 개의 서로 다른 장소에서. 그리고 당신은 매우 신중해야 기억하기에하는 것들 중 하나를 당신은 실제로 조작하고 있습니다. 그리고 무슨 일이 있었는지의 예 그것은 아주, 아주 나쁜 것 바로 여기에 존재한다. 그래서 여기, 내가 가지고, 이론, 여기 프로그램, 주된 기능 내가 int를 선언하고있어 것을 X 1과 같다. 나는 또 다른 INT의 y는 2와 동일 선언하고있다. 그리고 나는 그것을 실행하는거야 이 기능을 통해 내가 가정이라는 스왑, 그것은 두 값을 스와핑하다. 그리고 나는 갈거야 오른쪽을 인쇄? 그게 내가이 프로그램이 수행 할 작업입니다. 그럼 와서 살펴 보자. 나는 실제로 다른를 작성한다면 기능, 당신이 볼 수 있듯이, 우리는 여기에 우리의 주요 기능을 가지고있다. 그리고 우리는 우리가 여기에 두 번째 함수. 공허 스왑. 공허 그냥 것을 의미 아무것도 반환하지 않을. 함수 이름입니다 스왑 불리고, 그건 섭취 두 변수, INT의과에가는 당신의 [들림] 함수에서, B를 int로. 그래서 기본적으로 여기에서, 우리는있어 이 기능으로, x 및 y를 전달. 그리고 우리는한다면 그래서 우리가 원하는이 항아리 작성 바로, 임시 값을 만드는 방법? 우리는 해당를 할당하는 것입니다. 그리고 이제 동일한 B로 이동한다. B는 다시 될 것입니다 여기서 임시 값이었다, 어느 때 때문에 당신은 물건을 교환 할, 당신은 단지 그들을 교환 좋아하지 수 있습니다. 당신은 하나의 아웃을 계속해야 여기가 기억되도록 그 무엇은, 일단 때문에 당신이 하나를 교체, 당신은 잊지 바로, 무슨 원래 값이었다? 이론적으로,이 프로그램 그래서 바로 일을해야합니까? 나는를 교환하고 싶었다면 두, 그들은 교환해야한다. 그래서 그것을 실행할 수 있도록하고 작동되는지 확인합니다. 너희들이 볼 수 있도록, X 한 번에 1이고, Y는 한 번이 있었다. 그리고 나는 그것을 밖으로 인쇄하는 경우, X는 여전히 1이고 y는 2입니다. 흠,이 프로그램이 될 것 같지 않습니다 내가이 일을 원하는 방식으로 작동합니다. 사람에서 촬영을 할 않는다 이런 일이 된 이유를 추측? 이 방식과 관련이있다 그 다른 것입니다 메모리에 다른 장소에 저장된다. 그래. 그래서 너희들은 걱정하지 않아도 지금 이것에 대해 너무 많이. 하지만 큐브의 로컬 알고 변수 및 B이었다 여기에 우리의 기능에 있기 때문에, 우리는 A와 B 선언 한 존재하는 변수로 큐브 내에서 그 기능. 하지만, 매개 변수를 볼 수있는 그 그것은 여기에 저장되고 있었다에서 복용. 그러나 우리는 실제로하지 않았다 아무것도 반환. 우리는 실제로 X 및 Y를 변화되지 않았다. 우리는 단지 A와 B를 변경했다. 우리는에 x와 y를 복사했다 뭔가 A와 B라는. 그러나 우리는 결코 실제로 x와 y 자체를 조작 할 수 있습니다. 보고 너희들은 그 방법 일 이죠? 우리는 단순히 그것을 복사 한 것입니다 이상하지만, 우리는 실제로 유지하지 않은 그들은 메모리에 어디 있었는지 추적. 그래서 지금 컴퓨터 오, 내가했습니다, 찾고 을 통해이 일을 실행 이 사랑스러운 기능. 하지만, x 및 y는 x와 y 여전히. 아무것도에 일어나지 것 그 때문에 사실 이러한 매개 변수가 그리고 지역 변수 다른에 저장됩니다 메모리에 배치합니다. 이것은 높은 수준이다 개념 우리가거야 과정에서 나중에보고 시작합니다. 그러나 바로이 것을 알고 일어날 수있는 문제 우리는 방법에 대한 방법을 알아낼거야 과정에서 나중에이 처리합니다. 그래. 괜찮아. 그래서 마지막 개념 우리는있어 정말 숨기려고 그 유용 할 것 PSET이 일주일 동안 무엇이라고 있습니다 명령 줄 인수. 그래서 그의 강의에서 롭 통해 갔다 어떻게 이러한 일에 간단히 가지. 기본적으로 알고 때 쓰고있어 주요 기능, 같은 때 과거에 전 기능을 썼다 우리는 INT의 주요 공백​​을했다. 그리고 그 이유는 우리가 무효가 있었다 우리의 프로그램을하지 않았기 때문에이었다 바로 실행하는 입력 값을해야합니까? 내가 마리오를 실행하면, 내가 필요하지 않았다 실제로 뭔가를 입력하는 때 내가 마리오를 실행. 나는 나중에 사용자에게 메시지를 표시 할 수 있습니다. 그러나 항상 그런 것은 없습니다. 예를 들어,이에 주 문제는 설정 당신은, 즉을 받게 될거야 프로그램을 실행하는 것 외에도, 당신은 입력 할거야 당신 같은 직선에서 어떤 일 프로그램을 실행합니다. 그래서 우리는 그렇게 할 방법이라고 명령 행 인수하는 인수처럼 직접 입력 할 수 있습니다 당신이 당신의 프로그램을 실행하기 위해 노력하고있다. 그래서 이것에 대한 표기, 그것은 꽤 복잡한 생겼어 하지만 정말 아니다 어렵다. 그래서 INT main-- 그것은 단지 당신의 주요 기능입니다. ARGC 쉼표 문자열 argv와 브래킷에. 그래서 말하는 모든이 있다는 것입니다 INT argc-- 모든 그건 말하고 사람들은 수 있다는 것입니다 컴퓨터가 예상해야한다 인수. 정말 그래서 한 가지 를 추적하는 것이 중요합니다 프로그램의 실제 이름입니다 그 인자의 하나로서 계산합니다. 내 프로그램을 가지고 싶어한다면 플러스 하나의 추가 명령 줄을 실행 인수, 사실이야 두 가지를해야 할 것. ARGC 실제로 두가 될 것입니다. 그리고 문자열 변수는 argv bracket--하고있는 모든 것을, 그것은 저를주고 의 문자열 배열 다만 표시하고 저장하는 것 무엇 그 명령 행 인수의 모든이다. 그래서 예를 들어,이를 원한다면 이 프로그램은, 오른쪽, OUTFILE infile이라고 ./​​copy? 그건 그냥 일반적인 리눅스 명령입니다. 무엇 실제로는 argc입니까? 얼마나 많은 명령 행 인수 이 실제로있다? 이 모든 수행은의 복사본을 만들 것입니다 하나의 파일의 이름 INFILE 및 복사를로 다른 파일, 오른쪽? 즉, 모든이가하고있다. 당신이 볼 수 있듯이, 나는 한 줄에 일을 해요 실제로 프로그램을 필요로하지 않고. 이 경우 우리는 argc는 무엇인가? 우리는 얼마나 많은 인수를해야합니까? 청중 : 세? ANDI 펭 : 우리는 정확히 세 가지가 있습니다. 그래서 그것은 매우 직관적 그냥 그냥 생각 INFILE과 OUTFILE. 그러나 알의 실제 이름 프로그램 하나로 계산을 실행하고 있습니다. 이 경우, 실제로는 argc 세이다. 방법에 대해, 변수는 argv 0 무엇인가? , 모든 기억 명령 줄 인수 문자열의 배열에 저장되었습니다. 그래서 나는 그것을 액세스하려고하면, 어떤 브래킷 0이 내게 줄 argv를까요? 청중 : [들림]. ANDI 펭 : 맞아요. 그것은 나에게 점을 줄 것이다 그 때문에, 복사, 슬래시 0 번째 요소 내 배열의 첫 번째 요소. 어떤 변수는 argv 1은 어떻습니까? 청중 : INFILE. ANDI 펭 : INFILE, 정확하게. 무엇 argv를 2 약? 청중 : OUTFILE. ANDI 펭 : OUTFILE. 이제이 조금 까다 롭습니다. 너희들은 어떻게 생각하십니까 변수는 argv 3 나를주는 것입니다 나는 그것을 인쇄하려고하면? 청중 : [들리지]? ANDI 펭 : 당신은 손을 위로 있었나요? 그래. 청중 : 대안. ANDI 펭 : 맞아요. 그래서 강의의 기억이 우리 경주 무언가의 끝 부분에있다 널 (NULL) 종료라고? 우리는이에 얻을 것이다 더의 클래스. 그러나 표기법으로 알고, 방법 컴퓨터 그것이 끝이 있다고 알고있다 배열의 그것은이다 널 (null)라는 것을두고 터미네이터 또는 대시 제로. 그래서 변수는 argv 3에 액세스하려고하면, 이 대시 0을 칠 것입니다. 이 트릭 질문의 더 많은입니다. 어떤 변수는 argv 4 어떻습니까? 그래서 과거의 널 (NULL) 종료는, 우리의 배열의 범위 과거. 가는 당신을 어떻게 생각하십니까 우리가 그렇게 할 때 일이? 청중 : [들리지]? ANDI 펭 : 죄송합니다? 그 조금 더 크게 말? 청중 : [들림]. ANDI 펭 : 예. 즉,의 이름입니다 당신이 가장 가능성이 얻을 것이다 영역입니다. 하지만 변수는 argv을 알고 4-- 그에 액세스 할 수 있습니다 컴퓨터의의 장소 메모리 당신이 정말로 때문에, 접촉해서는 안 지금 당신은 무엇 argv를 알고있다. 당신은 크기 3의 배열입니다 알고 그 점, 복사, INFILE과 OUTFILE 있습니다. 당신은 그 이상까지 이동하려고하면 당신은 널 (NULL) 종료 과거 걸, 컴퓨터가 아마이 변수는 argv (4)에 저장된 뭔가. 그리고 당신은 정말 안 , 변수는 argv 4에 액세스 할 수 당신은 파일을 가지고 있기 때문에 캐비닛과 당신 만있어 그 세 선반에 액세스 할 수. 하지만 당신은 방법을 넘어 도달하려고하면 당신이 허용되는 곳의 선반, 당신은 바보로 시작하는거야 컴퓨터의 메모리에있는 다른 것들. 그건 정말, 정말 나쁜거야. 그래서 그냥 알고있다. 당신이 바로 그주의 그냥 무작위로 시작하지 않는 배열의 요소를 액세스하는 것을 당신이 창조하고 싶었다 무엇에 없었다. 네. 그래. 그래서 우리는 서로를 할거야 여기에 터미널 예. 그래. 빨리 강의에서 롭 그래서 다른 날은 갔다 이 예를 통해, 그가 어디에 했다 INT 주요 INT는 argc 문자열 변수는 argv 브래킷, 난 나에게 말하고있는 명령 줄 인수를해야 할 것. ARGC가 동일한 경우 그는,이 2-- 기억과 같다, 등호 비교를 의미 같습니다. 이 2에 해당하는 경우, 그때 해요 안녕하세요 인쇄하는 것, 무엇이든 첫 번째 배열의 요소이다. 그렇지 인쇄, 안녕하세요. 이것은 무엇을 것입니다 본질적으로 일이? 누군가가 그냥 설명 할 수 영어 프로그램은 무엇을하고 있는가? 그래. 청중 : 누군가가 명령에 입력 한 경우 자신의 이름과 성이 말했다, 그것은 단지를 인쇄하지 않습니다 하나 안녕하세요, 말 먼저, 무엇이든 당신의 이름입니다. ANDI 펭 : OK,의 그것을 실행하자. 내가 있다면 그래서 예를 들어, 만들려면 이 파일 안녕하세요 이러시면 안녕하세요 확인 당신은 저 입력 무엇을 하시겠습니까? 이러시면? 청중 : 성과 이름. ANDI 펭 : 성과 이름? 스페이스? 청중 : 네. ANDI 펭 : 누군가가 말할 수 나 지금, ARGC 무엇인가? 그냥 거기? 죄송합니다, 죄송합니다. 나를 돌아 가자. 얼마나 많은 명령 행 인수 너희들은 정말 볼 수 없습니다으로 죠. 하지만 확대하려고합니다. 노력하고있어. 그래, 맞아, 세 가지있다? 그것은 안녕하세요 점 슬래시이다, 그것은 안디이고, 그것은 펭이다. 그래서 너희들이 무엇을 생각 하는가 이 프로그램은 밖으로 인쇄 할거야? 오. 아, 죄송합니다. 잘못된 이름입니다. 그것은 안녕하세요, 밖으로 인쇄입니다. 사람이 설명 할 않는다 이유 일 이죠? 그래? 청중 : [들림]. ANDI 펭 : 맞아요. 그래서 여기, 조건입니다 ARGC 2와 동일한 동일한 경우입니다. 그래서 유일한 경우가 있다고 두 개의 명령 줄 인수. 그럼 난 인쇄 할거야, 안녕하세요, 그것은 무엇이든. 그러나 다른, 내가 갈거야 다만, 안녕하세요 세계를 인쇄 할 수 있습니다. 그래서 누군가가 원하는 않습니다 나에게 예를 제공합니다 방법의 것은 사실 수있을 것입니다 이 변수는 argv 1의 값을 출력하세요? 나는 여기에 입력은 어떻게해야? 단 한 가지, 바로? 점 안녕하세요이 이미 있기 때문에 첫 번째 인수로 계산합니다. 나는 단지 하나 더있다. 난 그냥 앤디을한다면 안녕하세요 점. 안녕하세요, 앤디. 모든 사람이 이해 하는가 이유 일 이죠? 그래. 청중 : 그래서 사이의 공간 명령 line--은 [들림]입니까? ANDI 펭 : 아니오. 명령 줄에서 공간 그래서 인수 x는 컴퓨터를 말할 이 것이 새 문자열의 시작입니다. 그래서 문자열 변수는 argv 그것을 저장 here-- 당신의 명령 행 인수의 모든 문자열에. 그리고 명령 줄의 공간 , 않는 모든 말씀입니다 인 공방 이것은 하나의 문자열의 끝에 그것은 다른 이동하는 시간이다. 그래. 이것은 꽤 중요하다 당신의 PSET, 당신이이기 때문에 이 테스트 될 것. 그래서 사람이 있는가 여기에 대한 질문? 그래 좋아. 그래? 청중 : 그래서 이유는 당신에게 것 대신 정수 인수 CALC를 넣어 당신이 원하는 때의 [들림] 것 추가 정보를 입력합니다 [들림]? ANDI 펭 : 네, 정확히. 일부 프로그램은 당신이 필요합니다 입력 명령 행 인수 그것이이에 전달하고 그 것을 사용합니다. 그래. 청중 : 그래서 만약 [들림]? ANDI 펭 : 글쎄, 내가 무엇을 할 내 프로그램에서 다음 변경하려면? 청중 : 그냥 3. ANDI 펭 : 왜이​​다 일어나고, 당신은 생각 하는가? 청중 : [들리지] 때문에. 청중 : 당신은해야 할 것이다 [들림] 2로 변경. 청중 : 1, 2. ANDI PENG : 1, 2, 정확하게. 이 경우, 아마도 것 두 printf의 statements--을 갖고 싶어 변수는 argv 1을 인쇄 하나 변수는 argv 2를 인쇄 한. 여기에. 사실은 진짜 빨리 것을 할 수 있습니다. 거기 당신은 간다. 오. 확실히 당신이 원하는 무엇을. 그러나 주위 사람들 엉망으로하는 경우 서식, 그것은 나올 것입니다. 그래. 쿨. 나는 우리가 시간에 조금 짧은 거 알아. 하지만 난 그냥 빨리을 보낼거야 helpful--를 통과 몇 분 청중 : 당신은 2 분 있습니다. ANDI 펭 : 저는 두 분 있나요? 고맙습니다. 빠른 PSET 팁. 이 PSET에 대한 그래서, 내가보기 엔, 추천 내가 말했듯이, 모두가 스펙을 읽을 수 있습니다. 세 programs-- 하나를 작성 할 수 있습니다 , caesar.c라고 하나, initials.c라고 하나라고 vigenere.c. 몇 가지 중요한 팁이 너희들 정말로 원하는 그래서 mind--에서 유지 이 기능이있다 내가 말을 좋아 트루 아, atoi--했다. 그건 경우 불명확 실제로 당신은 어떻게 그것을 말한다. 그러나 모든 그것은 입력거야,하고있어. 그것은 INT에 문자열로 변환합니다. 그래서 내가 정수로 ASCII를 나타냅니다. 그냥 ASCII 변환있어 값은 값을 정수합니다. 그래서, 저장 배열 argv를 기억 당신의 모든 명령은 arguments-- 라인 그것은 문자열로 그들 모두를 저장합니다. 그리고 당신이 할 수 있도록하려면 그 중 하나가되고있다 정수, 당신은 할거야 여기에이 값을 사용합니다. 모듈로, 우리는 덮여처럼 이전 클래스 오늘, 당신이 할 수 있습니다 당신은 무엇이든의 나머지. 그래서 만약 우리가 정말, 정말이 시저에서 많은 수의, 우리는 끝이있는 경우 Vigenere의 캐릭터의? 당신은 어떻게 할 수있는거야 그 주위에 포장을 얻을 수 있습니까? 나는 Z 치고 내가 원하는 경우 그것은으로 돌​​아갑니다, 어떻게 사러 갈 건데 그 주위에 포장하는 방법? 아마 사용하려면 이 곳에서 모듈. 둘째, 주변 검색 라이브러리. ctype.h. 즉, 우리가 새로운 라이브러리입니다. 당신은 정말, 정말 많이 찾을 수 있습니다 유용한 functions-- isupper, islower와, 의 ToUpper, tolower를 isalpha에가, 등등. 매우 도움이 될 것입니다 모든 기능 당신이 알아 내려고 할 때, 이 문자는 소문자인가? 나는이 변환 어떻게 대문자로 문자열? 이 모든 일들은 매우 될 것입니다 당신의 PSET 매우 유용. 그래. 근무 시간 오늘 밤 8시 청록 교실 11:00 내일 뿐만 아니라 수요일과 목요일 밤으로. 근무 시간은 공유지에 있습니다. 높은 너희들을 제안 모두가 바로 시작 당신은되고 싶지 않기 때문에 목요일 밤에 문제가있는 아이 당신의 PSET를 제출하고 같은, 내가 무엇을 해야할지하지 않습니다. 내가 완료, 시작, 내가 제출했다. 자신에게 여지를 제공하려고, 코드 문제는 항상 발생에 있기 때문이다. 당신이 있는지 확인하려면 당신은 자신을 줄 것을 시간을 많이 할 수 있도록 하여 pset를 완료합니다. 쿨. 여기 놀아 것이다. 청중 :이 온라인은 이미인가? ANDI 펭 : 그것은 나도 몰라 이미 온라인이지만 것이다. 사람이 있다면 여기에 놀아 것 이미 질문이 있습니다. 와줘서 고마워.