Lucas Freitas: OK, tôi đoán bây giờ chúng ta đang sống. Chào mừng bạn đến CS50 Supersection. Chúng tôi ít thoải mái. Tên tôi là Lucas Freitas. Tôi là một trong CS50 Trưởng TF. Đây là Lauren. Lauren Carvalho: Xin chào, tôi Lauren. Tôi cũng trưởng TF CS50. Lucas Freitas: Hôm nay chúng ta chỉ cần đi để cung cấp cho một cái nhìn tổng quan về những gì tất cả các bạn kẻ đã học được trong tuần đầu tiên, hy vọng để cung cấp cho các bạn một tốt có ý nghĩa với những gì bạn nên biết cho vấn đề thiết lập một. Chỉ cần một vài thông báo. Trước hết, giờ làm việc. Giờ làm việc đang xảy ra từ thứ hai đến thứ năm trong nhà khác nhau trong Annenberg mỗi ngày. Họ là một nguồn lực rất tốt cho bạn người đến và đặt câu hỏi, và nói chuyện với TF, và thậm chí cả ngoại tệ ý tưởng với các học sinh khác. Vì vậy, hãy chắc chắn để sử dụng tài nguyên có lợi cho bạn. Điều thứ hai là CS50 gia dụng. Đối với người cuối cùng [không nghe được] các bạn không cần phải thực sự có một thiết bị. Bạn chỉ cần làm tất cả mọi thứ trong máy tính cá nhân của bạn. Nhưng đối với vấn đề này, bạn thực sự có để có một máy ảo, vì vậy hãy chắc chắn để tải về CS50 Thiết bị và cài đặt nó. Và điều thứ ba là hãy chắc chắn bắt đầu vấn đề thiết lập càng sớm càng tốt chỉ bởi vì nó dễ dàng hơn để tìm thấy giúp đỡ khi bạn đang ở trong đầu tuần. Bởi vì mọi người có xu hướng chờ đợi cho đến khi giây cuối cùng để bắt đầu thiết lập vấn đề, và sau đó bạn đi đến giờ làm việc, và có rất nhiều người dân. Mà nếu bạn đi vào thứ hai, bạn sẽ để thấy rằng bạn có thể nói chuyện với TF khá nhiều cho cả đêm, và họ sẽ có nhiều hơn sẵn lòng giúp bạn. Lauren Carvalho: Tôi có thể chỉ dừng lại bạn chỉ là một thứ hai? Đã tất cả mọi người đã có thể tải về các CS50 gia dụng? Có người đã cố gắng? Lucas Freitas: Để tải về, do cách nào, bạn có thể nhận được hướng dẫn tại cs50.net/appliance. Lauren Carvalho: Đúng vậy. Và nó có phải mất một chút thời gian cho chúng tôi sys quản trị viên để giúp bạn có được một giấy phép quan trọng, vì vậy đăng ký cho các dùng thử miễn phí đầu tiên. Bằng cách đó bạn sẽ có nó trong 30 ngày, và sau đó chờ đợi key bản quyền của bạn mà nên cho nó cho bạn trong một năm. Lucas Freitas: Trước hết, chúng ta hãy nói một chút về CS50 gia dụng. Các CS50 gia dụng thực sự là một ảo máy tính mà bạn đang đi chạy trong máy tính của riêng bạn mà là về cơ bản chạy một máy tính khác bên trong máy tính của riêng bạn. Mà là khá mát mẻ. Và thực sự nó được sử dụng ở khắp mọi nơi. Những người đến công nghệ sẽ biết rằng này được sử dụng tất cả các thời gian. bạn? Có thể có nhiều máy tính trong một thiết bị. Chúng ta hãy thực sự có một cái nhìn tại gia dụng. Khi bạn đi đến các gia dụng sau đăng ký, bạn sẽ phải đặt tên của bạn và đăng nhập vào Harvard vì vậy chúng tôi có thể nhận được tất cả các bạn đã đăng ký. Bạn sẽ thấy về cơ bản chỉ là một hình nền, và sau đó chủ và Thùng rác, và sau đó các biểu tượng nhỏ. Này ba biểu tượng thực sự nhiều nhất điều quan trọng là bạn có thể có trong Thiết bị của bạn. Người đầu tiên là gedit, mà là một văn bản biên tập viên, giống như Notepad hoặc như bất kỳ loại soạn thảo văn bản. Nó chỉ là một cái gì đó mà chúng ta sử dụng để viết mã và sau đó làm công cụ với nó. Điều thứ hai mà chúng tôi có ở đây là Chrome. Vì vậy, nếu bạn cần sử dụng internet trong gia dụng, đó là những gì bạn có thể sử dụng. Và điều thứ ba là thiết bị đầu cuối, mà thực sự rất ngọt ngào. Mọi người thường được loại sợ thiết bị đầu cuối vì nó này rất ứng dụng cũ thời mà bạn chỉ về cơ bản tất cả mọi thứ với gõ bàn phím của bạn. Không có rất nhiều tương tác với con chuột của bạn. Nhưng thực sự là thiết bị đầu cuối làm những việc rất tốt. Trước hết, chúng ta hãy đi qua một số lệnh mà bạn có thể sử dụng trong các thiết bị đầu cuối. Lauren Carvalho: Và cảm thấy tự do để ngăn chặn chúng tôi nếu bạn có bất kỳ câu hỏi. Lucas Freitas: Vâng. Vì vậy, lệnh đầu tiên mà chúng ta có cho thiết bị đầu cuối là ls. ls về cơ bản có nghĩa là danh sách tất cả mọi thứ, tất cả các tập tin và tất cả các giám đốc, mà tôi có ở nơi mà tôi đang ở. Vì vậy, nếu tôi làm ls đây, tôi sẽ thấy Tôi có một số thư mục. Tôi có máy tính để bàn, tải, các bản ghi, và vhosts. Đó là màu xanh lam vì họ là tất cả các thư mục. Sau đó, bạn có một số file khác. Bạn có như xin chào và hello.c, mà chỉ là tập tin, và họ đang ở trong màu sắc khác nhau. Vì vậy, đây là một lệnh rất quan trọng chỉ bạn có thể xem các tập tin là gì và thư mục mà bạn có trong thư mục đó bạn đang ở trong nhà ga. Khi bạn nhìn thấy jharvard @ thiết bị và sau đó biểu tượng nhỏ ở đó, dấu ngã, mà chỉ có nghĩa là đó là thư mục mà bạn đang ở thời điểm này. Lauren Carvalho: Vì vậy, gõ ls là gần như như cách nhấp vào thư mục được liệt kê ở đó, trong đó chương trình tất cả các nội dung mà bạn trong thư mục đó. ĐỐI TƯỢNG: Có văn bản sau khi hello.c? Lauren Carvalho: Oh, bạn có thể không thấy rằng, bởi vì nó là màu xanh. Lucas Freitas: Nó nói các bản ghi và vhosts. Lauren Carvalho: Đó là chỉ các thư mục khác. Tôi xin lỗi, đó là thực sự khó khăn để xem. Có lẽ nếu chúng ta tắt đèn? Colton, bạn có muốn thử và tìm công tắc đèn? Xin lỗi về điều đó. Tôi không nghĩ về nó. Lucas Freitas: Nhưng đó là về cơ bản - yeah, nếu bạn có thể - Lauren Carvalho: Phóng to màn hình của bạn. Lucas Freitas: Tôi không có tính năng này. Lauren Carvalho: [nghe được]. OK. Vâng, đó chỉ là một rất nhiều tự nhiên ánh sáng trong căn phòng này là tốt. Lucas Freitas: Chúng ta hãy giả sử rằng có hai thư mục khác có. Lauren Carvalho: Chỉ cần với chúng tôi. Đây là phần duy nhất mà bạn sẽ thấy được nhìn vào thiết bị đầu cuối. Lucas Freitas: Lệnh tiếp theo là về cơ bản có thể bạn muốn tổ chức tập tin của bạn - Ví dụ, tất cả các file C của bạn trong một thư mục, nhưng bạn không có một thư mục chỉ dành cho C tập tin được nêu ra. Về cơ bản bạn có thể tạo một thư mục bằng cách sử dụng thiết bị đầu cuối là tốt, mà là điều tương tự như cách nhấp chuột phải và nói rằng New Folder. Lệnh được tạo thư mục, mà là mkdir, vì vậy về cơ bản "làm" và "Thư mục." Và sau đó bạn có thể đặt tên của thư mục. Hãy nói rằng tôi muốn được gọi là, Tôi không biết, chúng ta hãy nói pset1 Làm này, tôi chỉ cần tạo một thư mục. Chúng ta hãy kiểm tra xem nó là ở đó. Vì vậy, nếu tôi làm ls, bây giờ tôi thấy các bản ghi, và sau đó pset1, và sau đó vhosts. Vì vậy, tôi có thư mục mới đó. Và sau đó sau khi bạn có một thư mục mới, có thể bạn muốn điều hướng vào nó, do đó lệnh sau cd này, mà chỉ cần về cơ bản có nghĩa là đi đến một thư mục cụ thể. Vì vậy, nếu tôi muốn đi đến pset1, Tôi chỉ có thể làm cd pset1. Lauren Carvalho: cd là viết tắt của sự thay đổi thư mục, [nghe được] thể nhớ điều đó. Lucas Freitas: Và bây giờ bạn thấy rằng thay vì chỉ có jharvard thiết bị, tôi đã jharvard thiết bị, và sau đó pset1, bởi vì nó cho thấy tôi biết nơi tôi đang ở máy tính này. Bây giờ nếu tôi muốn quay trở lại thư mục đó là trước khi thế này, tôi có thể làm một cd chấm chấm, mà chỉ có nghĩa là đi vào thư mục mà tôi trước đây, như phụ huynh này thư mục, về cơ bản. Và bây giờ tôi thấy rằng tôi trở lại jharvard. Điều tiếp theo mà tôi có thể làm điều đó là rm, đó là loại bỏ một tập tin. Ví dụ, trước tiên hãy làm ls để xem những gì tôi có ở đây. Tôi có lời chào và hello.c. Hãy nói rằng tôi muốn để loại bỏ chúng. Tôi có thể làm rm hello. Nó sẽ nói "loại bỏ tập tin thường xuyên xin chào? "Và tôi nói" có ". Và bây giờ nếu tôi làm ls, tôi thấy rằng nó không còn ở đó nữa. Nếu tôi cố gắng sử dụng rm cho một thư mục, Mặc dù vậy, nó không phải đi để cho phép bạn làm bất cứ điều gì. Nó sẽ nói, hey, bạn không thể loại bỏ một thư mục. Vì vậy, chúng tôi có khác đi này được gọi là rmdir, mà chỉ có nghĩa là về cơ bản loại bỏ thư mục. Tôi có thể, ví dụ, loại bỏ pset1. Và nếu tôi làm ls, tôi không có nó nữa. Thắc mắc về điều này? Không? Yeah? ĐỐI TƯỢNG: Là nó quan trọng mà bạn để lại một không gian sau - bất cứ khi nào bạn bắt đầu gõ một cái gì đó trong? Lucas Freitas: Vâng. Nếu tôi làm như cd và thư mục, Tôi có phải đặt một không gian. Không gian những gì bạn đang nói về? Lauren Carvalho: Khoảng cách giữa cd và [nghe được]. Lucas Freitas: Vâng, bạn sẽ phải đặt các không gian vì cd là lệnh, và sau đó là chuỗi kế tiếp bạn loại về cơ bản là thư mục. Vì vậy, nó giống như một cuộc tranh cãi. Yeah? ĐỐI TƯỢNG: Khi bạn liệt kê, tất cả những những thư mục khác nhau, phải không? Lucas Freitas: Vâng, họ nằm trong thư mục. ĐỐI TƯỢNG: sự khác biệt là gì trong các thư mục? Lucas Freitas: Chúng chỉ thư mục khác nhau. Thư mục là một thư mục trong máy tính của bạn. ĐỐI TƯỢNG: Mở thư mục. Lucas Freitas: Vâng, đó là chỉ là một thư mục mở. Lauren Carvalho: Ở đây, những người có màu xanh lam là thực tế thư mục mà bạn có thể nhận được vào và sau đó nhìn thấy một bó của những điều mà trong đó, mà là không may bởi vì bạn không thể thực sự đọc những người màu xanh lam. Và những người thân trong trắng chỉ các tập tin có trong thư mục hiện hành. Lucas Freitas: Vì vậy, các thư mục là thư mục. Những người khác là những tập tin. ĐỐI TƯỢNG: lệnh là gì để thiết lập lại nó hoặc để xóa nó? Lucas Freitas: Để xóa? Lauren Carvalho: Để xóa? Lucas Freitas: Tôi nghĩ rằng đó là "rõ ràng." Yeah. Vì vậy, bạn chỉ cần gõ rõ ràng nếu màn hình của bạn quá lộn xộn. Bất kỳ câu hỏi nào khác không? Và bạn sẽ tìm hiểu một loạt các khác lệnh chỉ tự nhiên trong học kỳ vì chúng rất hữu ích. Vì vậy, bây giờ chúng ta hãy nói về biên dịch. Chúng tôi nói về giả và mã nguồn và mã đối tượng. Và có rất nhiều mã, và có thể các bạn đang bối rối về điều đó. Hãy nói một chút về những gì xảy ra khi bạn đang viết một chương trình, và bạn biên dịch nó, và nó sẽ trở thành một tập tin thực thi. Đó là tất cả các từ mà các bạn có thể nghe, và có thể bạn không thực sự chắc chắn những gì đang xảy ra. Hãy nói rằng, ví dụ, mà tôi muốn viết một chương trình nói "hello". Các Điều đầu tiên mà đến trong tâm trí của bạn là bạn loại cố gắng nghĩ về cách bạn sẽ làm điều đó trong tâm trí của bạn, và có lẽ bạn đang suy nghĩ bằng tiếng Anh hoặc một số ngôn ngữ khác, như tự nhiên ngôn ngữ, có lẽ. Và sau đó bạn nghĩ rằng, tốt, nếu tôi muốn, ví dụ, viết một chương trình nói "xin chào", tôi sẽ bắt đầu một chương trình, Tôi sẽ in hello, và sau đó tôi sẽ thoát khỏi chương trình. Đây là giả. Này chỉ là về cơ bản bạn đang cố gắng để đưa ra một chuỗi các sự kiện rằng bạn sẽ phải làm gì để được có thể viết một chương trình. Sau đó, bạn có mã nguồn, và mã nguồn không phải đặc biệt là trong C. Chúng ta đang nói về mã nguồn trong C bởi vì đó là ngôn ngữ chúng ta đang học tập, nhưng tất nhiên mã có thể được khá nhiều bất kỳ ngôn ngữ lập trình mà bạn có. Sau này trong học kỳ, bạn sẽ để tìm hiểu các ngôn ngữ khác. Đó cũng là mã nguồn. Ví dụ, ở đây, đây là mã nguồn của tôi mã, và sau đó tôi là bao gồm một thư viện, và sau đó tôi bắt đầu chính, và sau đó tôi in. Và Laura sẽ nói một chút chút thông tin về tất cả điều này. Vì vậy, đây là mã nguồn. Và mã đối tượng là gì? Các đối tượng là một loạt các số không và những người thân, về cơ bản. Điều gì xảy ra là ban đầu bạn có giả, mà là tất cả bằng tiếng Anh. Và tôi có nghĩa là, bạn hiểu nó. Có lẽ bạn bè của bạn hiểu nó, và hầu hết mọi người sẽ hiểu được ý tưởng. Nhưng máy tính là thực sự câm, và họ không hiểu tiếng Anh, vì vậy bạn đã dịch đó vào một cái gì đó, thường được dịch vào một số ngôn ngữ lập trình. Và bạn có thể nghĩ ra một lập trình ngôn ngữ như giống như một ngôn ngữ mà bạn biết làm thế nào máy tính của bạn để nói chuyện và hiểu. Về cơ bản bạn đang viết một cái gì đó trong một ngôn ngữ mà cả hai bạn và của bạn máy tính hiểu được. Đó là mã nguồn. Vì vậy, sẽ hình thức giả để nguồn mã, nó thuộc vào bạn. Đó là cơ bản bạn làm chương trình của bạn. Nhưng vấn đề là các máy tính thậm chí không hiểu ngôn ngữ lập trình. Nó không hiểu mã nguồn ở tất cả. Nó thực sự chỉ là hiểu số không và những người thân. Vì vậy, chúng tôi có điều rất kỳ diệu này được gọi là một trình biên dịch, mà cơ bản là sẽ được gọi là nguồn mà bạn đã viết trong một ngôn ngữ cả hai bạn và máy tính của bạn nói chuyện, và bây giờ bạn sẽ chuyển đổi trong số không và những người thân. Vì vậy, về cơ bản những gì các trình biên dịch hiện là nó được mã nguồn, trong trường hợp này C, nó sẽ biến nó thành zero và những người máy tính hiểu và có thể làm cho một tập tin thực thi của nó. Điều đó có ý nghĩa? Bạn chỉ có thể nghĩ đến các trình biên dịch như một số loại dịch đó là giúp bạn giải thích cho máy tính chính xác những gì nó phải làm. Nhưng làm thế nào để biên dịch. Chúng ta hãy quay trở lại gia dụng, và hãy nói rằng tôi đang làm chương trình đó. Đầu tiên tôi sẽ tạo ra một thư mục ở đây, và tôi sẽ gọi nó là "Thực hành". Bây giờ tôi sẽ điều hướng thư mục, vì vậy thực tế cd. Bây giờ tôi đang trong thực tế. Bây giờ tôi muốn bắt đầu gedit, vậy làm thế nào để làm điều đó? Tôi hoặc là có thể bấm vào đây, hoặc tôi có thể chỉ nghĩa đen gõ "gedit", và nó sẽ để mở cho tôi. Bây giờ tôi sẽ gõ chương trình của tôi, vì vậy chính xác những gì tôi đã viết trong slide. Tôi tuyên bố một thư viện. Tôi đang làm int main, void. Và bây giờ tôi đang làm printf, xin chào. Bây giờ tôi sẽ tiết kiệm này. Hãy để tôi đặt nó vào thực tế, và Tôi sẽ gọi hello.c này. Vì vậy, bây giờ nó lưu. Nếu tôi muốn biên dịch nó, tôi thực sự có thể làm điều đó trong hai nơi khác nhau. Tôi hoặc là có thể làm điều đó trong một cửa sổ, do đó, một lớn này, hoặc bạn có thể sử dụng gedit rằng thực sự có một cửa sổ thiết bị đầu cuối ngay tại đây. Vì vậy, bạn có thể rất thuận tiện chỉ cần làm mã của bạn, và sau đó bạn có thể chỉ cần gõ bất cứ điều gì ở đây, và cố gắng để biên dịch nó. Vì vậy, làm thế nào để biên dịch mã? Cách đơn giản nhất mà chúng ta có là bằng cách sử dụng thực hiện, đó là một chức năng mà về cơ bản sẽ biên dịch mã của bạn. Bạn chỉ có thể nói xin chào làm, vì vậy "Làm" và tên của chương trình. Rất tiếc. Đây là khó xử. Lauren Carvalho: Bạn có thể [không nghe được]? Lucas Freitas: Xin lỗi. Tôi không lưu nó trong thư mục bên phải. Đến thực hành, và bây giờ lưu nó như là hello.c. Tôi xin lỗi. Bây giờ nó lưu. Hãy để tôi làm ls và được chắc chắn rằng nó ở đây. OK, bây giờ nó ở đây. Vì vậy, bây giờ nếu tôi làm cho hello, nó nhổ một rất nhiều thứ, nhưng sau đó nó chỉ cung cấp cho tôi một dòng cho thiết bị đầu cuối, mà có nghĩa là nó đã thành công. Vì vậy, bây giờ nếu tôi làm một ls một lần nữa, tôi thực sự thấy tập tin này trong màu xanh lá cây, đó là tập tin thực thi. Và sau đó nếu tôi muốn chạy nó, tất cả những gì Tôi phải làm là dấu chấm dấu gạch chéo hello. Nó sẽ nói lời chào ngay tại đây, vì vậy đó là chính xác những gì tôi yêu cầu nó. Có một cách khác nữa để biên dịch, đó là sử dụng kêu vang. Kêu vang chỉ là một trình biên dịch mà chúng ta có, và đó là một chút dài dòng để biên dịch nó. Nhưng nó hoạt động chỉ là tốt. Vì vậy, nếu tôi làm kêu vang, và sau đó-o, và sau đó tên mà chúng tôi muốn cung cấp cho các tập tin thực thi, vì vậy chúng ta hãy nói "Hello". Và sau đó các tập tin mà tôi muốn để biên dịch, hello.c. Nó cũng sẽ biên dịch. Và bạn có tập tin ở đây, và Tôi chỉ có thể thực hiện nó là tốt. Vì vậy, cả hai người họ làm việc. Điều đó có ý nghĩa? Bất kỳ câu hỏi? ĐỐI TƯỢNG: Bạn có thể phóng to trong một chút? Lucas Freitas: Xin lỗi? ĐỐI TƯỢNG: Phóng to? Lauren Carvalho: Tôi nghĩ rằng bạn chỉ có thể chỉ huy cộng. Lucas Freitas: Chỉ huy những gì? Lauren Carvalho: Lệnh cộng. Lucas Freitas: số Lauren Carvalho: Oh, đó không phải là đi làm việc bởi vì - đó là bởi vì chúng tôi thiết lập độ phân giải cho điều này. Lucas Freitas: Tôi không nghĩ rằng chúng ta có thể zoom in Yeah, chúng tôi không thể phóng to. Bạn có một câu hỏi? Xin lôi. ĐỐI TƯỢNG: Bạn có thể lặp lại kêu vang? Lucas Freitas: Các kêu vang? Kêu vang là điều tương tự như thực hiện, nhưng Sự khác biệt là lần đầu tiên tôi sẽ viết kêu vang, đó là lệnh, sau đó tôi sẽ làm -0, tất cả, đó là chỉ là những gì chúng ta sẽ học sau như một lá cờ. Vì vậy, chỉ nghĩ rằng bạn luôn luôn phải đặt-o. Và sau đó đầu tiên, bạn sẽ đặt tên của tập tin thực thi, về cơ bản các tập tin mà bạn sẽ tạo ra. Vì vậy, tôi có thể nói, ví dụ, và hello2 sau đó các tập tin mà tôi muốn biên dịch, đó là tập tin c.. Vì vậy, đó là hello.c. Điều đó có ý nghĩa? ĐỐI TƯỢNG: Xin chào những gì? Đó là những gì? Lucas Freitas: hello.c. Và nếu tôi biên dịch nó, và nếu Tôi ls, tôi cũng có một hello2 mà tôi đã biên dịch. Và nếu tôi cố gắng chạy nó, nó sẽ thực hiện chính xác những điều tương tự như xin chào, chỉ cần in hello. ĐỐI TƯỢNG: Làm thế nào đến để làm bạn có thể đặt hello.c sau? Lucas Freitas: Trong thực hiện, bạn không cần phải đặt c.. Trong thực hiện, bạn chỉ cần nói tên của chương trình. Bạn không cần phải nói c.. Nhưng đối với kêu vang, bạn nên. ĐỐI TƯỢNG: Với kêu vang làm bạn cũng phải thêm [nghe được] Lauren Carvalho: Vâng. Vì vậy, bạn cũng có thư viện. Lucas Freitas: Vâng, đó là một cái gì đó chúng tôi sẽ sử dụng sau này. Đó được gọi là liên kết, và tôi nghĩ rằng chúng tôi sẽ nói về nó sau này. Một câu hỏi khác? ĐỐI TƯỢNG: Bạn có đặt một kêu vang dot dấu gạch chéo? Lucas Freitas: số Dấu chấm dấu gạch chéo là chỉ để mở các tập tin thực thi. Vì vậy, kêu vang, bạn chỉ cần viết "kêu vang", và sau đó nếu bạn muốn mở tập tin thực thi mà bạn chỉ cần biên soạn, sau đó bạn dot giảm và tên. Điều đó có ý nghĩa? ĐỐI TƯỢNG: Nếu bạn đã chỉ thay đổi [Nghe được] để chào thế giới, bạn có phải biên dịch lại nó? Lucas Freitas: Vâng. nếu tôi muốn nói, ví dụ, "hello ở đó, "Tôi chỉ có thể tiết kiệm ngay bây giờ, và tôi chỉ cần biên dịch lại. Vì vậy, hãy để tôi làm một làm cho hello. Và nếu tôi làm hello, nó sẽ nói "hello there." Làm cho tinh thần? Bất kỳ câu hỏi nào khác không? ĐỐI TƯỢNG: Bạn phải bao gồm các tiêu chuẩn I / O để phối hợp công việc? Lucas Freitas: Vâng. Tôi tiêu chuẩn / O là về cơ bản thư viện mà có thực hiện cho printf. Vì vậy, điều phải vào đầu bao gồm stdio. Đó là bao gồm một thư viện mà về cơ bản có một nhóm khác nhau công cụ mà bạn có thể sử dụng. một? Trong số họ là printf đó là một chức năng về cơ bản bản in tin nhắn cho màn hình. Bất kỳ câu hỏi nào khác không? Không? OK. Vì vậy, bây giờ chúng ta hãy nói về - Lauren Carvalho: Hãy chỉ đi để hướng dẫn phong cách. Bạn có muốn chỉ tìm thấy nó ở đây? Lucas Freitas: Vì vậy, chúng ta sẽ để nói về phong cách. Lauren Carvalho: Oh, David đã không hoàn thành. OK. Tại sao chúng ta không trở lại phong cách ở cuối? Nó thực sự được cập nhật như chúng tôi nói chuyện. Lucas Freitas: Vâng. Nguyện đường cho David kết thúc mà. Lauren Carvalho: Có thể chúng tôi chuyển đổi thực sự? Vì vậy, tôi hy vọng mọi người được thưởng thức cào. Thật không may, đó là thời gian để di chuyển ra khỏi này - tiếc là nó là thời gian để di chuyển đi từ các khối lập trình khá vào C. Nhưng may mắn, tất cả các chương trình xây dựng mà bạn đã được làm việc với trong Scratch là thể dịch trực tiếp với C, và chúng tôi sẽ bắt đầu tìm hiểu về một số trong số họ ngay bây giờ. Hãy nói chuyện đầu tiên về điều kiện trong các biểu thức Boolean. Này đang chạy trên dự trữ năng lượng pin. Lucas Freitas: Làm thế nào là mà không làm việc? OK. Bạn đến đó, tôi sẽ có được - Lauren Carvalho: Vì vậy, điều kiện quan trọng vì chúng cho phép chúng ta giới thiệu logic vào các chương trình của chúng tôi. Dưới đây là một ví dụ về một điều kiện trong một chương trình C. Hãy lưu ý cách này - Vì vậy, khối tình trạng này ngay tại đây, điều này tuyên bố printf sẽ không thực hiện trừ khi các điều kiện bên trong dấu ngoặc đơn, n lớn hơn 0, đánh giá đúng sự thật. Bây giờ, tất cả các điều kiện trong f báo cáo là biểu thức Boolean có nghĩa là có chỉ có hai lựa chọn. Họ hoặc là có thể đánh giá đúng sự thật, hoặc họ có thể đánh giá sai. Vì vậy, ở đây, vì vậy điều này có ý nghĩa, phải không? n lớn hơn 0, có nghĩa là nó là một tích cực số, có nghĩa là nó sẽ in ra "bạn chọn một số dương." Có rất nhiều biểu thức Boolean có thể hình thành điều kiện với một init tuyên bố. Chúng ta có ít hơn. Điều này là ít hơn hoặc bằng. Đây chỉ là một hài hước [nghe được]. Nếu bạn muốn printf xảy ra nếu nó lớn hơn hoặc bằng 0, sau đó bạn sẽ chọn này. Vì vậy, bằng chỉ gắn thêm ngay sau khi lớn hơn dấu. Bằng nhau, mà là khác nhau từ chỉ là một dấu bằng, bình đẳng như nhau thực sự có nghĩa là bất cứ điều gì về việc phía bên tay trái của điều này là tương tự như những gì ở phía bên tay phải của này trong đó một dấu bằng là gì? Chỉ là một dấu bằng là gì? Chuyển nhượng. Lucas Freitas: Ai nói vậy? Là kẹo? Ồ, không. Xin lôi. Xin lôi. Bạn cả hai có được kẹo. Oh, OK! Ba người có được kẹo! Lauren Carvalho: Vì vậy, một này ngay tại đây là các nhà điều hành nổ trước các dấu bằng, vì vậy đó là không bằng. Vì vậy, nếu điều này là trong điều kiện của tôi, cơ thể của tình trạng này sẽ thực hiện chỉ khi bất cứ điều gì trong bên trái là không giống như những gì ở bên phải. Tôi cũng có thể có chỉ là dấu chấm than. Trên thực tế chúng ta sẽ thấy trong một tính năng trượt cách này sẽ được sử dụng. Lucas Freitas: Bất kỳ câu hỏi? Không? Lauren Carvalho: Chúng tôi có thể kết hợp các Biểu thức boolean để xây dựng hơn báo cáo có điều kiện phức tạp. Vì vậy, ở đây, nếu bất cứ điều gì về bên trái phía bên tay của các thanh đôi hoặc bất cứ điều gì là ở phía bên tay phải của hai quầy bar để đánh giá đúng, sau đó chúng tôi sẽ in ra không hợp lệ. Và sau đó xuống đây, nếu bất cứ điều gì của ở phía bên tay trái của hai ampersands và bất cứ điều gì về bên phải phía bên tay của hai ampersands đánh giá đúng sự thật, sau đó chúng tôi sẽ in ra giá trị. Hai quầy bar được gọi là hợp lý OR các ampersands đôi là được gọi là các nhà điều hành hợp lý và. Có? ĐỐI TƯỢNG: Là những chỉ trường hợp thấp hơn l's? Lauren Carvalho: số Họ đang thực sự - bạn biết phản ứng dữ dội, như trên phím Return của bạn? Bạn có thấy điều đó không? Lucas Freitas: Nó thực sự là một quán bar. Lauren Carvalho: Nó thực sự chỉ hai quán bar. ĐỐI TƯỢNG: Bạn có thể sử dụng bằng bình đẳng cho chuỗi? Lucas Freitas: số Chúng ta sẽ tìm hiểu sau một cái gì đó về điều đó. Lauren Carvalho: Có một chức năng mà bạn có thể sử dụng. Nhưng bạn không cần phải lo lắng rằng chỉ được nêu ra. Những gì nếu tôi cung cấp cho chương trình này số 5? Những gì sẽ in ra? ĐỐI TƯỢNG: [nghe được] hợp lệ. Lauren Carvalho: hợp lệ? Yeah. Tôi không biết ai đã nhận rằng. [Cười] Lauren Carvalho: Đó là loại đáng sợ [không nghe được]. ĐỐI TƯỢNG: Vì vậy, các đôi và, đó chỉ có nghĩa và? Lauren Carvalho: Vâng. Vì vậy, số 5 là cả hai lớn hơn hơn 0 và nhỏ hơn 100. ĐỐI TƯỢNG: Tại sao nó sẽ là một? Lauren Carvalho: Một ký hiệu là thực sự một cái gì đó khác nhau, và nó một nhà điều hành Bitwise, mà bạn sẽ tìm hiểu về sau. Nhưng đó là một cái gì đó thực sự hoạt động với các bit của một số lượng nhất định. Lucas Freitas: Chỉ cần nghĩ rằng họ không phải lo lắng về nó bây giờ. Lauren Carvalho: Tôi nghĩ rằng đây có thể là sắp tới vào tuần tới. Lucas Freitas: Bất kỳ câu hỏi khác? Không? Lauren Carvalho: Vì vậy, chúng tôi đã nhìn thấy rằng một nó chặn có thể đứng một mình, nhưng nó có thể cũng có thể được kết hợp với và khác khối. Vì vậy, trong trường hợp này, nếu n lớn hơn 0, chúng ta sẽ in ra "Bạn chọn một số dương. "khác, có nghĩa là nếu nó là 0 hoặc nếu nó ít hơn 0, chúng ta sẽ in ra, "Bạn đã chọn một số âm." Điều thú vị ở đây là các là độc quyền của nhau. Có bao giờ sẽ là một trường hợp mà điều này và điều này cả hai có thể in ra. Tôi chắc rằng bạn đã làm việc với nếu / khác hộp trong Scratch, vì vậy điều này nên được khá quen thuộc. Có? ĐỐI TƯỢNG: Chúng ta có cần không gian giữa int n bằng getInt sau đó không gian trong nếu tuyên bố? Như chúng tôi sử dụng một dòng [nghe được] Lauren Carvalho: Oh, không gian ở đây? ĐỐI TƯỢNG: Cũng giống như vậy, nhưng bạn tăng gấp đôi không gian. Không, đi lên. Đi lên. Lucas Freitas: Chỉ cần dòng? ĐỐI TƯỢNG: Vâng. Lucas Freitas: Chỉ cần các dòng trống? ĐỐI TƯỢNG: Vâng. Lauren Carvalho: dòng trống? Không. Đó chỉ là một điều phong cách. Lucas Freitas: Nó giống như đôi khi bạn chỉ cần bỏ qua một số dòng như vậy rằng mã không giống như một khối lượng lớn các văn bản. Lauren Carvalho: Tôi nghĩ rằng những gì đã xảy ra là chúng tôi đã có một bình luận ở đây, nhưng tôi lấy nó ra để các bạn sẽ có để suy nghĩ về mã thay hơn là chỉ đọc bình luận của tôi. Nhìn chung, khoảng cách sẽ không thực sự ảnh hưởng đến cách chương trình của bạn chạy. Nó nhiều hơn là một điều phong cách. Và khi chúng tôi có hướng dẫn phong cách cập nhật và sẵn sàng để đi vào cuối năm supersection, chúng ta sẽ nói về điều đó hơn. Có điều gì đó sai trái với chương trình này, phải không? Vì 0 là không thực sự một số âm. Vì vậy, chúng ta hãy xem nếu chúng ta có thể khắc phục điều đó. Bạn có thể tưởng tượng với điều này nói, phải không? Nếu n lớn hơn 0, chúng tôi in, "Bạn chọn một số dương. "Sau đó khác nếu n là nhỏ hơn 0, "Bạn đã chọn một số âm. "khác," Bạn đã chọn 0. " Bây giờ điều thú vị là điều này có thể đi mãi mãi. Bạn có thể có một nếu khối, một người nào khác nếu khối, một khối khác nếu, nếu người nào khác, nếu người nào khác, nếu người nào khác, khác, về cơ bản miễn là bạn muốn. Và khi xây dựng như thế này, đây là tất cả sẽ độc quyền của nhau. Có? ĐỐI TƯỢNG: Vậy tại sao không thể bạn chỉ cần sử dụng khác nếu thay vì [không nghe được]? Lauren Carvalho: Trong trường hợp này, có tôi có thể sử dụng khác nếu, và nó sẽ là hoàn toàn tốt bởi vì điều kiện chính họ là độc quyền của nhau. Nhưng nếu các điều kiện là không độc quyền của nhau, điều này sẽ buộc họ phải không bao giờ cả hai đánh giá, nếu có ý nghĩa. ĐỐI TƯỢNG: Trong trường hợp đó, chúng ta có thể tổ thứ hai nếu trong lần đầu tiên nếu? Lauren Carvalho: Nếu - làm những gì bạn nghĩa là gì? ĐỐI TƯỢNG: Nếu hai điều kiện không loại trừ lẫn nhau? Lauren Carvalho: Nếu điều kiện không loại trừ lẫn nhau? Nhưng bạn muốn chỉ một trong số họ để chạy? ĐỐI TƯỢNG: Bạn muốn chỉ nếu thay vì khác. Lauren Carvalho: Vâng. Có luôn luôn có được rất nhiều cách mà bạn có thể làm điều này. Bạn có thể chắc chắn tổ chúng. Và bạn sẽ thấy trong một slide trong tương lai bạn có thể có nhiều IFS, chỉ cần một khác. Nhưng đây là một cách hợp lý tổ chức dòng chảy của chương trình của bạn. Lucas Freitas: Và có thêm một điều, là bạn hỏi về việc đưa và sau đó nếu khác nếu. Điều đó sẽ làm việc hoàn hảo, nhưng nó là xấu thiết kế bởi vì về cơ bản nếu bạn kiểm tra đầu tiên nếu, và bạn nhận thấy rằng con số này lớn hơn 0, bạn chỉ có thể hoàn thành chương trình. Bạn không cần phải kiểm tra xem nó ít hơn 0, phải không? Nhưng nếu bạn nếu nếu, nó sẽ kiểm tra cả hai, trong khi nếu tôi làm gì nếu khác là, nó sẽ kiểm tra xem nó lớn hơn 0. Nếu có, nó sẽ không để ngay cả nhìn ở các dòng khác của mã này. Vì vậy, về cơ bản bạn đang kiểm tra nó như hai lần không cần thiết, vì vậy đó là lý do tại sao chúng tôi làm gì nếu khác nếu. Bất kỳ câu hỏi nào khác không? ĐỐI TƯỢNG: Vì vậy, các chức năng các khác nếu cũng giống như nếu nó chỉ là nếu? Lauren Carvalho: số Bạn đang thực sự sẽ thấy trong phần tiếp theo của tôi trượt một ví dụ trong đó nó có thể khác nhau. Trong trường hợp này, nó gần như giống nhau. Vì vậy, ở đây, chúng ta có một ví dụ về nhiều nếu báo cáo, và các chức năng là không giống nhau như thể tôi vừa nói nếu khác, nếu người nào khác, nếu người nào khác. Hãy nghĩ về những gì sẽ in ra nếu tôi nhập số 95 vào chương trình này. ĐỐI TƯỢNG: [nghe được] Lauren Carvalho: Và sau đó? ĐỐI TƯỢNG: [nghe được] Lauren Carvalho: Vâng. Vì vậy, trong trường hợp này, những điều kiện này không loại trừ lẫn nhau của nhau. Và bởi vì không có gì là dừng lại tình trạng này từ đánh giá nếu điều này một đã có, chúng tôi chỉ tất cả sẽ in ra. Vì vậy, làm thế nào tôi có thể sửa lỗi này? ĐỐI TƯỢNG: IFS khác? Lauren Carvalho: Bạn có thể sử dụng khác IFS. Tôi có thể thay đổi thứ tự trong số này, phải không? Nếu tôi đã làm điều này một lần đầu tiên? Vâng, thực sự, không có. Điều đó sẽ không làm việc cho 95. Lucas Freitas: Không, chỉ là IFS khác. Lauren Carvalho: Các khác IFS sẽ cố định này. Điều đó làm sáng tỏ sự nhầm lẫn giữa IFS và khác IFS? ĐỐI TƯỢNG: Tôi chỉ muốn hỏi bạn, nếu bạn đã sử dụng khác nếu, nó sẽ dừng lại? Lauren Carvalho: Đúng vậy. Vì vậy, chỉ có một đầu tiên này. Nếu tôi bước vào số 95, chỉ có này sẽ in ra, và nó không bao giờ sẽ tiến triển đến khác. Lucas Freitas: Chỉ cần loại nghĩ nó như là nếu điều này xảy ra, làm điều này. Các khác là như thế nào nếu không, kiểm tra cho điều này, và sau đó làm điều đó. Vì vậy, như tất cả chúng cùng độc quyền. Bạn không thể nhận được vào hai hơn những người. ĐỐI TƯỢNG: Bạn có thể sử dụng một logic Và cho tình huống đó? Lauren Carvalho: Vâng. Đó là một cách khác mà chúng ta có thể đã cố định vấn đề này. Chúng ta có thể xác định dao động, phải không? Vì vậy, tôi có thể nói nếu n lớn hơn 90 và ít hơn - tốt, tôi đoán này không thực sự quan trọng, nhưng ở đây tôi có thể nói nếu n lớn hơn 80 và nhỏ hơn 90. Lớn hơn 70, ít hơn 80. Điều đó cũng sẽ phải làm việc. [Cười] Lucas Freitas: Cô ấy sợ hãi. Lauren Carvalho: Đừng sợ. Lucas Freitas: Nó không phải rằng nó sẽ là sai lầm. Nó chỉ là nó không cần thiết tiết. Như trong khoa học máy tính, một trong những nên đơn giản càng tốt miễn là bạn có các chức năng. Bạn có muốn kẹo? ĐỐI TƯỢNG: Không cần. Lauren Carvalho: Bạn đang dọa tất cả mọi người, Lucas. Lucas Freitas: Xin lỗi. Lauren Carvalho: David cũng đề cập đến những tuyên bố chuyển đổi trong lớp. Về cơ bản là chuyển đổi những gì đang xảy ra là tuyên bố có một biến. Trong trường hợp này, chúng ta đang dùng một số nguyên. Nếu các số nguyên là 1, chúng ta sẽ in ra, "Bạn đã chọn một nhỏ số. "Nếu các số nguyên là 1," Bạn chọn một số trung bình. "Nếu nguyên là 3, "Bạn đã chọn một cao số. "Và tôi cũng đã có một trường hợp mặc định ở đây, nhưng nó không hiển thị lên, mà là quá xấu. Về cơ bản, điều này chỉ là một cú pháp. Chúng ta có thể thực hiện điều này chính xác điều tương tự với if và else if báo cáo. Nhưng khi có rất nhiều khác nhau điều kiện và rất nhiều khác nhau biến thể vào những gì bạn muốn làm cho mỗi đầu vào, đây là một lựa chọn. Vì vậy, nó chỉ là một cú pháp tốt để biết. Có? ĐỐI TƯỢNG: Tại sao không có một dấu gạch chéo ngược n trong một đầu tiên? Lauren Carvalho: Đối với trên đó? Không có dấu gạch chéo ngược lên n có vì getInt - nếu bạn cố gắng này, nó sẽ cung cấp cho bạn nhanh chóng này. Cung cấp cho tôi một số nguyên từ 1 đến 3. Và nếu tôi đặt phản ứng dữ dội n, nó sẽ đưa tôi đến dòng tiếp theo, nhưng tôi chỉ muốn họ gõ số nguyên ngay sau dấu hai chấm. Bạn có lẽ đã đưa phản ứng dữ dội n. Nó không phải là một vấn đề lớn. Yeah? ĐỐI TƯỢNG: Đối với mã này, là này một trường hợp, đó là vì đó là trường hợp đầu tiên? Bởi vì - Lauren Carvalho: Không, không, không. Vì vậy, đây được cung cấp cho tôi một số nguyên từ 1 đến 3. Nếu n là 1, tôi in này. Nếu tôi đã yêu cầu cho chữ cái, tôi có thể có nói cho tôi một lá thư giữa A và C. Sau đó, đây sẽ là trường hợp A. ĐỐI TƯỢNG: [nghe được]. Trường hợp sẽ chỉ [không nghe được] Lauren Carvalho: Ừ, phải. Yeah? ĐỐI TƯỢNG: Nếu bạn muốn có nhiều hơn một biểu thức quan hệ? Vì vậy, thay vì nói n bằng 1, [nghe được] n lớn hơn 1 trong trường hợp đầu tiên? Lauren Carvalho: Thực ra, nếu tôi không xác định một số các trường hợp, điều này sẽ được mang xuống. Vì vậy, trên thực tế, có lẽ đây không phải là những gì bạn đang yêu cầu. Lucas Freitas: Tôi nghĩ rằng cô ấy hỏi trường hợp là n lớn hơn 0, trường hợp nhỏ hơn 0. Lauren Carvalho: Có thể chuyển đổi tuyên bố là không thực sự những gì bạn muốn để sử dụng trong trường hợp đó. Lucas Freitas: Báo cáo chuyển đổi là chỉ cho giá trị, vì vậy bạn đang kiểm tra của giá trị là như thế này hay đó. Vì vậy, bạn có thể không thực sự đặt điều kiện. ĐỐI TƯỢNG: Nếu người loại với [không nghe được]? Lauren Carvalho: Điều đó đã được trường hợp mặc định của tôi, mà không may bạn không thể nhìn thấy. Lucas Freitas: [nghe được] làm cho họ thấy. Lauren Carvalho: Trên thực tế, bạn biết những gì? Chúng ta hãy đi du học 50, và tôi sẽ chỉ phóng to trên các trang trình bày về nghiên cứu 50, bởi vì đây chỉ là gây phiền nhiễu. Vì vậy, hãy để tôi thực sự đi đến điều kiện. Này là chỉ cần đi đến mất một chút. Được rồi. Vì vậy, tôi xin lỗi. Ít nhất là bây giờ chúng ta sẽ có thể nhìn thấy tất cả mọi thứ mà không có nó cắt đứt. Được rồi. Vì vậy, nếu họ đặt trong một 10, chúng tôi sẽ mặc định đây cho trường hợp mặc định của tôi, và tôi sẽ chỉ in không hợp lệ vì tôi yêu cầu họ nhập một số nguyên từ 1 đến 3. Bất kỳ câu hỏi nào khác không? Yeah? ĐỐI TƯỢNG: Hãy nói rằng đối với trường hợp một, trường hợp ba, nói rằng bạn muốn nó được tất cả các điều tương tự, vì vậy bạn đã chọn một số đó không phải là một số lượng trung bình. Trong trường hợp đó, nó sẽ là dư thừa? Sẽ bạn chỉ cần thay đổi các văn bản trong cả hai trong số họ, hoặc sẽ có được một số dự phòng? Là có cách nào để kết hợp [Nghe được]? Lauren Carvalho: Có nhiều cách để kết hợp chúng, nhưng tôi tin rằng bạn có thể chỉ kết hợp những người lân cận. Vì vậy, nếu tôi không xác định bất cứ điều gì đối với trường hợp hai, điều này sẽ áp dụng cho cả hai trường hợp. Oh, nếu tôi không đặt bất cứ điều gì đối với trường hợp một, điều này sẽ áp dụng cho cả hai trường hợp một và hai. Nếu có ý nghĩa. ĐỐI TƯỢNG: Bạn có thể lặp lại một trong những? Lucas Freitas: OK. Nếu bạn đã làm về cơ bản, như, bạn có điều tương tự, nhưng bạn không đặt bất cứ điều gì ở đây, bạn muốn được, hoặc cho trường hợp một hoặc hai trường hợp, làm điều này. Phải không? Và phá vỡ điều này có nghĩa nếu bạn nhận được vào trường hợp này, chỉ để lại. Vì vậy, đó là những gì có nghĩa là phanh. Vì vậy, nếu tôi chỉ làm điều này, bạn nhìn, nó trường hợp một, và bạn sẽ chỉ làm điều này. Nếu đó là trường hợp hai, nó cũng sẽ chỉ đến đây và làm điều đó. ĐỐI TƯỢNG: Nhưng bạn có thể làm điều đó? Nếu có điều gì đó cho trường hợp hai [không nghe được] Lauren Carvalho: Tôi không tin bạn có thể làm điều đó. Tôi không nghĩ rằng bạn có thể bỏ qua xung quanh. Bạn có thể làm điều đó, Rob? Tôi không nghi vậy. ĐỐI TƯỢNG: Vì vậy, chỉ có một số có thể đi sau khi một trường hợp, phải không? Không thể có trường hợp một, dấu phẩy, hai? Lucas Freitas: Không, bạn có thể không. Bạn chắc chắn không thể. Lauren Carvalho: Tôi có nghĩa là, điểm là này là một lựa chọn, và điều này có thể không phù hợp với trường hợp sử dụng của bạn, vậy thì bạn sẽ sử dụng nếu có điều kiện. ĐỐI TƯỢNG: Vì vậy, tại sao bạn sẽ làm điều này? Chuyển đổi không? Lauren Carvalho: Tôi sẽ sử dụng này nếu bạn đã rất được xác định - trên thực tế, Lucas, là bạn đang ngăn chặn. Lucas Freitas: Ồ, xin lỗi. Lauren Carvalho: Nếu bạn có rất hành vi được xác định mà bạn muốn cho mỗi đầu vào, điều này có thể là một hơn chút ngắn gọn hơn là viết ra một tuyên bố nếu cho mỗi một. ĐỐI TƯỢNG: làm gì phá vỡ có nghĩa là một lần nữa? Lauren Carvalho: Việc phá vỡ có nghĩa là dừng lại. Hãy nhớ rằng, nếu tôi không có điều này phá vỡ ở đây, chúng ta sẽ chỉ giảm xuống vào trường hợp tiếp theo. Lucas Freitas: Nghỉ giải lao có nghĩa là để có được ra khỏi câu lệnh switch. Bởi vì nếu nó là 1, tôi muốn in này và để lại. Tôi không muốn để kiểm tra bất cứ điều gì khác. ĐỐI TƯỢNG: Bạn không muốn in bất cứ điều gì khác. Lucas Freitas: Vâng. Bởi vì nó loại trừ lẫn nhau. ĐỐI TƯỢNG: Và điều này chỉ tiến hành với các trường hợp tiếp theo nếu trường hợp đầu tiên là không đúng sự thật? Hay nó kiểm tra tất cả các trường hợp cùng một lúc? Lucas Freitas: Không, kiểm tra tuần tự. Tuần tự, yeah. Một câu hỏi, sau đó chúng ta phải di chuyển trên vì vậy chúng tôi có thể bao gồm tất cả mọi thứ. Yeah? ĐỐI TƯỢNG: Vì vậy, đối với trường hợp, có thể có thực hiện một cái gì đó bên cạnh chỉ là một? Bạn có thể cung cấp cho nó một loạt? Lucas Freitas: số Lauren Carvalho: Tôi không nghĩ rằng bạn có thể cung cấp cho nó một phạm vi. Lucas Freitas: Bạn có thể không bạn không thể cung cấp cho nó một phạm vi. ĐỐI TƯỢNG: Trường hợp này là cụ thể [Nghe được]. Lucas Freitas: Chuyển là loại giá trị. Bạn làm những việc khác nhau tùy thuộc trên một giá trị, một giá trị cụ thể. Bạn không thể làm nhiều, bạn có thể không làm bất cứ điều gì khác. Nó chỉ là một công cụ để xem. Lauren Carvalho: Hầu hết mọi người không sử dụng chuyển đổi báo cáo rất nhiều trong CS50, nhưng nó ở đó. Được rồi. Vì vậy, điều tiếp theo chúng ta sẽ nói chuyện về là các nhà điều hành bậc ba. Đây chỉ là một loại có điều kiện. Về cơ bản những gì đang xảy ra ở đây tôi là yêu cầu cho một số nguyên, và nếu n là lớn hơn 100, tôi sẽ in ra "Cao." Nếu không, tôi sẽ in ra "thấp". Vì vậy, những gì nó làm điều kiện là được ngay trong dấu ngoặc đơn, và bạn có thể loại suy nghĩ của những câu hỏi như tôi hỏi liệu điều này là đúng hay không. Nếu đó là sự thật, tôi sẽ làm điều này đầu tiên điều, và nếu nó không đúng sự thật, tôi sẽ làm điều thứ hai này. Thắc mắc về điều hành ternary? Lucas Freitas: Chỉ muốn lưu ý từ David là bất cứ khi nào bạn có một điều kiện - Lauren Carvalho: Tôi đoán của David xem qua dòng sống. Lucas Freitas: Anh ấy làm cuộc sống dòng ngay bây giờ. Vì vậy, bất cứ khi nào bạn có một điều kiện, bạn phải đặt dấu ngoặc nhọn, giống như chúng tôi có trong một chuyển đổi tuyên bố đây. Chúng tôi có dấu ngoặc ở đây. Đối với bất cứ điều gì điều kiện, bạn phải cũng đặt đó. Lauren Carvalho: Bạn sẽ thấy này trong hướng dẫn phong cách. Chúng tôi không thực sự có phong cách dẫn ngay bây giờ. Tôi nghĩ rằng David vẫn còn làm việc. Lucas Freitas: Ông nói rằng nó chỉ làm việc bây giờ. Lauren Carvalho: Oh, là nó làm việc bây giờ? OK. Vì vậy, dường như năm nay theo phong cách hướng dẫn, ngay cả khi bạn chỉ có một dòng, bạn đã có để đưa những dấu ngoặc nhọn in Bạn không nhất thiết cần phải cho chức năng của chương trình. Và có lẽ chúng ta nên nghỉ ngơi sau khi các điều kiện và đi thẳng để hướng dẫn phong cách rõ ràng một số của những việc này? Lucas Freitas: Vâng. Bạn có một câu hỏi? ĐỐI TƯỢNG: Không, tôi sẽ chỉ cần chờ đợi cho đến khi hướng dẫn phong cách. ĐỐI TƯỢNG: bạn có thể quay trở lại các nhà điều hành bậc ba? Lauren Carvalho: bậc ba, có. Lucas Freitas: nhà điều hành ternary là cơ bản là một tuyên bố nếu người nào khác, nhưng thay vì phải có hai dòng kiểm tra một nếu và sau đó khác, bạn chỉ cần có một dòng. Vì vậy, về cơ bản nếu tôi muốn đưa ra một chuỗi giá trị cao hay thấp, và tôi muốn làm một cao nếu n lớn hơn 100 hoặc thấp nếu nó ít hơn, những gì tôi có thể làm là này [nghe được] chuỗi là có được, và sau đó tôi yêu cầu các chương trình được n lớn hơn 100? Vì vậy, đó là lý do tại sao tôi có biểu hiện này trong dấu ngoặc đơn và sau đó dấu chấm hỏi. Tôi hỏi là nó lớn hơn 100? Nếu có, nó sẽ là cao. Nếu không, nó sẽ là thấp. Vì vậy, về cơ bản những gì bạn nghĩ là bạn yêu cầu một câu hỏi, vì vậy bạn đặt trong dấu ngoặc đơn điều kiện. Sau đó, bạn đặt dấu hỏi bởi vì bạn đang yêu cầu nó. Và nếu điều này là sự thật, nó sẽ là trong giá trị đầu tiên [nghe được] đây. Nếu không, tôi sẽ đặt giá trị đó là sau dấu hai chấm. Liệu nó có ý nghĩa? Nó cũng một cái gì đó giống như một công cụ trong C nhưng bạn không cần phải đặc biệt sử dụng nó. Nhưng CS mọi người thường thích rằng bởi vì nó chỉ tiết kiệm dòng. Lauren Carvalho: Nó rất thanh lịch. Nó rất nhiều chỉ trong một tuyên bố. ĐỐI TƯỢNG: Vì vậy, các dấu phần trăm là chỉ bất cứ điều gì các kết quả trên các dòng trước đó? Lauren Carvalho: Oh, tôi xin lỗi. Dấu phần trăm này là thực sự một giữ chỗ cho này s. Trong một tuyên bố printf, bạn đã có này chuỗi ở đây, đó là những gì sẽ in ra, nhưng bạn không thể chỉ đặt này s trong đó. Nếu không nó sẽ in ra s theo nghĩa đen. Vì vậy, chúng tôi đặt một phần trăm ở đây để giữ nơi này tổ chức cho bất cứ điều gì đến sau dấu phẩy. Vì vậy, cho một chuỗi, bạn đã có phần trăm s. Đối với một số nguyên, phần trăm tôi. Đối với một phao, phần trăm f. Bạn sẽ thấy những người như chúng tôi xem thêm ví dụ. Nhưng có lẽ bạn nên nói về phong cách hướng dẫn cho một chút, bây giờ rằng nó lên. Lucas Freitas: Nếu bạn đi đến cs50.net/style, bạn sẽ thấy hướng dẫn phong cách. Cho bộ vấn đề, điểm số của bạn cho vấn đề thiết lập bao gồm phạm vi, mà về cơ bản có nghĩa là nếu bạn đã làm tất cả các bộ phận của vấn đề thiết lập hoặc nếu bạn cố gắng một cái gì đó. Điều thứ hai là đúng đắn, mà phương tiện được chương trình của bạn làm những gì nó đã được yêu cầu phải làm, hoặc dùng nó có lỗi, hoặc là nó không làm những gì đó là nghĩa vụ phải làm. Điều thứ ba là thiết kế, có nghĩa là bạn đang thực hiện tốt điều này, hoặc là Bạn có sử dụng báo cáo không cần thiết? Ví dụ, nếu bạn muốn lặp lại một số 10 lần, được bạn viết một cho vòng lặp hoặc là bạn chỉ cần làm 10 lần báo cáo tương tự, chỉ cần làm sao chép và dán. Vì vậy, thiết kế cho điều đó. Và cuối cùng, bạn có phong cách. Phong cách cũng giống như đánh giá nếu mã của bạn trông có thể đọc được và loại khá. Chỉ về cơ bản nó có nghĩa là là mã của bạn có thể đọc được? Một người khác đã tìm kiếm sẽ là mã của bạn có thể hiểu được những gì nó đang làm gì? Liệu nó có ý kiến ​​và như thế nào? Chúng ta hãy nói về phong cách bạn đang nghĩ để sử dụng. Điều đầu tiên là ý kiến. Ý kiến ​​rất quan trọng đối với bạn code bởi vì đôi khi bạn đang làm chương trình của bạn, và bạn biết chính xác những gì bạn muốn làm như vậy bạn chỉ cần bắt đầu mã hóa, chỉ cần gõ lên một bó của C. Nhưng nếu ai đó đang tìm kiếm được bạn mã, họ sẽ không có khả năng hiểu nó bởi vì họ không biết những điều đó là trong đầu của bạn, giống như các pesudocode, như vậy có lẽ họ sẽ có một thời gian khó hiểu những gì đang làm. Vì vậy, ý kiến ​​được thực sự hữu ích để giải thích cho những người đang nhìn mã của bạn những gì nó làm, và thực sự ngay cả đối với bạn, chúng rất hữu ích. Khi bạn đi đến Psets khó hơn và khó khăn, bạn sẽ thấy rằng mã được lâu hơn, và sau đó ý kiến ​​được thực sự quan trọng để bạn nhớ những gì từng một phần của chương trình của bạn không. Để đặt một bình luận, bạn chỉ có thể làm một giảm dấu gạch chéo và sau đó viết một bình luận. Và toàn bộ dòng là một phần của bình luận, và bất cứ điều gì bạn viết ra, nó sẽ không được được sử dụng để mã của bạn. Đó là cơ bản như trình biên dịch sẽ bỏ qua điều đó. Điều đó có ý nghĩa? ĐỐI TƯỢNG: Bạn làm gì nữa để viết một bình luận? Lucas Freitas: này? Các dấu gạch chéo cắt giảm? Bất cứ khi nào bạn gõ dấu gạch chéo dấu gạch chéo, bất cứ điều gì là phù hợp đó sẽ không được coi là C. Yeah? ĐỐI TƯỢNG: Vì vậy, sau khi bình luận, bạn chỉ cần nhập và bắt đầu một dòng mới? Lucas Freitas: Vâng, chính xác. Lauren Carvalho: Các dấu gạch chéo dấu gạch chéo là ý dòng đơn. Lucas Freitas: Ví dụ, ở đây chúng tôi có - hãy để tôi phóng to - Ví dụ, ở đây tôi tuyên bố một phao, nhưng có lẽ nếu bạn chỉ cần đặt này trong mã của bạn, giống như bạn không có ý tưởng điều này đang làm, như thực sự một ai đó nhìn vào mã này là có được, như, những gì các quái gì đang xảy ra? Nếu bạn đặt một bình luận nói rằng "chuyển đổi Fahrenheit sang Celsius, nó làm cho nhiều ý nghĩa hơn. Bạn, như, OK, bạn làm chuyển đổi. Điều đó có ý nghĩa? Vì vậy, nó chỉ là một cái gì đó giúp mọi người sẵn sàng mã của bạn và cũng làm cho bạn có thể tổ chức mã của bạn tốt hơn. Điều thứ hai là bạn có thể làm ý kiến ​​nhiều đường, do đó, có một bình luận về một loạt các dòng. Thay vì phải đặt dấu gạch chéo dấu gạch chéo, các ý kiến ​​dòng đầu tiên, dấu gạch chéo dấu gạch chéo, dòng thứ hai, và như vậy, bạn có thể sử dụng các ngôi sao dấu gạch chéo. Cách mà bạn làm điều đó là cho Dòng đầu tiên của bình luận, bạn sẽ làm một ngôi sao ngôi sao dấu gạch chéo, vì vậy chỉ cần như thế. Cũng giống như ở đây chúng tôi có đầu một chương trình, bạn thường đặt những người bạn là, những gì chương trình này thực hiện, và các công cụ như thế. Nó giống như một tiêu đề cho chương trình. Một lần nữa, nó không phải là cái gì mà một trình biên dịch sẽ quan tâm, nhưng điều quan trọng là bạn phải biết điều này chương trình nào hoặc cho người khác để biết những gì chương trình của bạn đang làm. Vì vậy, bạn cắt giảm sao ngôi sao, và sau đó là dòng cuối cùng bạn sẽ làm sao cắt giảm để có thể đóng cửa mà bình luận. Vì vậy, về cơ bản cho tất cả các dòng khác, bạn chỉ có thể viết bất cứ điều gì, và điều này là tất cả sẽ được bỏ qua. Và cũng có thể, giống như phong cách, bạn thấy rằng mỗi dòng có một ngôi sao, và tất cả các ngôi sao thẳng hàng. Đây là những điều quan trọng như vậy rằng mã của bạn trông khá. Âm thanh tốt? Bây giờ, điều kiện. Những gì David đã nói rằng chúng ta nên thực sự đặt trong những trang trình bày, là khi bạn có bất kỳ loại nếu báo cáo hay bất kỳ loại điều kiện, bạn nên sử dụng dấu ngoặc nhọn để cho thấy rằng đây là những gì sẽ xảy ra khi bạn có điều kiện. Về mặt kỹ thuật, khi bạn có một điều kiện và sau đó dòng tiếp theo chỉ là một trong dòng, bạn không có kỹ thuật đặt dấu ngoặc nhọn. Về cơ bản trình biên dịch sẽ hiểu nó anyway như tiềm ẩn. Nhưng đối với CS50, chúng tôi yêu cầu các bạn đặt các dấu ngoặc nhọn chỉ để bạn đang tổ chức hơn và dễ đọc hơn. Bởi vì mã được lâu hơn nếu bạn không có dấu ngoặc nhọn và như vậy. Nó được thực sự lộn xộn. Lauren Carvalho: Đây chính là những gì David chỉ cần chỉ ra trong slide trước đây của tôi. Nó chắc chắn làm việc mà không có sự xoăn niềng răng, nhưng vì lý do phong cách chúng tôi sẽ yêu cầu bạn đưa những người nhập Và khi bạn bắt đầu chạy style50, đó là loại kiểm tra 50 phong cách, nó sẽ nhắc nhở bạn làm điều này. Lucas Freitas: Và một điều là nhớ để đặt dấu ngoặc nhọn cùng trong mỗi dòng. Vì vậy, bạn làm, ví dụ, l's. Đi vào dòng tiếp theo, mở xoăn cú đúp, sau đó bạn đi đến dòng tiếp theo. Thụt đầu dòng, đó là bốn không gian. Sau đó, bạn viết bất cứ điều gì, sau đó một dòng, và đóng ngoặc móc. Vì vậy, hãy chắc chắn rằng cả hai những xoăn niềng răng là trong các dòng khác nhau. ĐỐI TƯỢNG: Vì vậy, nếu mã này có như 10 IFS khác, điều này cần có 10 bộ khung? Lucas Freitas: Vâng, cho mỗi người. Yeah. Vì vậy, nếu, nếu người nào khác, và như vậy. ĐỐI TƯỢNG: Bạn có thể không nhấn Tab để thụt lề? Lucas Freitas: Chúng tôi đang yêu cầu bạn kẻ sử dụng bốn không gian. Một số biên tập viên văn bản tab dịch như bốn không gian tự động. gedit không, vì vậy bạn phải làm không gian không gian không gian không gian. Đây cũng là điều mà một số lập trình viên chỉ làm tab, một số lập trình viên chỉ làm bốn không gian, và một số người khác thậm chí làm hai hoặc ba không gian. Nó chỉ là ở đây chúng tôi đang yêu cầu các bạn làm bốn không gian. ĐỐI TƯỢNG: Có gần như chắc chắn đã nhận được một cách để gedit để tự động [không nghe được]. Như không có [không nghe được] nào đó. Lucas Freitas: Vâng. Tôi nghĩ rằng bạn có thể vào Settings. ĐỐI TƯỢNG: Nó đã làm tất cả điều đó. Lucas Freitas: Nó đã thực hiện? OK. Vì vậy, chỉ cần chắc chắn rằng bạn có bốn không gian. ĐỐI TƯỢNG: Chúng ta phải đặt xoăn dấu ngoặc trong vòng lặp for là tốt? Lucas Freitas: Có. Lauren Carvalho: Bất cứ khi nào bạn đóng gói một khối mã, chỉ cần hãy sử dụng dấu ngoặc nhọn. Và trước khi bạn nghĩ rằng chúng tôi chỉ là chặt chẽ trong việc này không tốt Lý do, nếu các bạn không đi vào để có được thực tập công nghệ cao tại các công ty lớn, họ sẽ cung cấp cho bạn một hướng dẫn phong cách, và họ sẽ cho bạn biết đây là những gì bạn mã cần phải như thế nào. Và ngay cả khi bạn học được cách mã như này, có thể trong tập của bạn bạn sẽ phải làm một cái gì đó hoàn toàn khác nhau. Họ mong đợi bạn để phù hợp phong cách của họ. Lucas Freitas: Và một điều nữa là mà bạn nhận thấy làm thế nào tôi có như x, không gian, ít hơn, không gian, 0? Bất cứ khi nào bạn có một nhà điều hành - nó có thể được như cộng, trừ, thời gian, ít hơn, lớn hơn, bất cứ điều gì điều hành - bạn cần phải đặt một không gian bên trái và quyền của các nhà điều hành. Lauren Carvalho: Đó là được gọi là toán hạng nhị phân. Chỉ cần chắc chắn rằng bạn luôn luôn không gian ra toán hạng nhị phân của bạn. Lucas Freitas: Đây là không phải là một toán hạng nhị phân. Lauren Carvalho: Đó là bởi vì nó có hai. Lucas Freitas: Oh, yeah. OK, thiết bị chuyển mạch. Trước tiên, bạn phải thấy rằng giống như trong một tuyên bố nếu nếu không, bạn có đặt nẹp nhọn trên một dòng riêng và dưới nẹp xoăn đây. Chú ý rằng có một không gian duy nhất sau khi chuyển đổi, giống như trong if và else chúng tôi đã có một khoảng trống giữa đó và dấu ngoặc đơn. Vì vậy, bạn cần phải đặt đó. Và không có không gian ngay sau khi mỗi của dấu ngoặc đơn hoặc trước khi kết thúc các dấu ngoặc đơn. Vì vậy, bạn thấy rằng nó là tất cả với nhau, và cũng như lên đây. Yeah? Lauren Carvalho: Tôi nghĩ rằng chúng ta cần phải di chuyển trên. Lucas Freitas: Vì vậy, đây là một phần của phong cách hướng dẫn mà bạn có cho CS50. Hãy chắc chắn để đi đến cs50.net/style và hãy xem này. Đây là tất cả rất quan trọng cho điểm phong cách của bạn. Hãy để tôi quay trở lại với tuyên bố. Lauren Carvalho: Tôi không muốn chỉ cần sử dụng style50. Chúng ta chỉ cần đi để đi thẳng đến vòng. Được rồi. Vì vậy, chúng ta hãy trở lại với nội dung, bây giờ mà chúng tôi đã đi qua hướng dẫn phong cách. Vòng, bạn đã nhìn thấy chúng trong Scratch, và chúng ta sẽ nói về họ trong C. Trong một vòng lặp cho, có ba phần với tuyên bố này cho vòng lặp. Bạn đã có khởi tạo của bạn trong mà bạn thiết lập các biến của bạn. Bạn đã có tình trạng của bạn, đó là kiểm tra để xem liệu có điều gì đó đúng hay sai và liệu vòng lặp nên tiếp tục. Và bạn đã có bản cập nhật của bạn, đang cập nhật các biến của bạn. Chúng ta hãy có một cái nhìn nhanh chóng tại một số C mã này cho vòng lặp trong hành động. Những gì đang xảy ra là ở đây khởi tạo, chúng tôi đang thiết lập i 0. Trong điều kiện chúng ta đang kiểm tra cho dù tôi là ít hơn 10. Và trong bản cập nhật chúng tôi incrementing i. Vì vậy, những gì sẽ là kết quả của này cho vòng lặp? Lucas Freitas: Trên thực tế, trước hết, Các anh biết những gì tôi + + là? ĐỐI TƯỢNG: Tăng 1. Lucas Freitas: Tăng 1, có. Vì vậy, đây là những điều tương tự như làm tôi bằng tôi cộng với 1. Và nhận thấy rằng chúng tôi không có một không gian giữa tôi và + +. Vì vậy, các bạn biết điều này sẽ làm gì? Ai đó có thể cho tôi biết? Và có thể có được một số bánh kẹo vì lý do đó? ĐỐI TƯỢNG: [nghe được] Lucas Freitas: OK. [Nghe được] cho tất cả mọi người sau [không nghe được]. Yeah, nó sẽ hiển thị "này là CS50 "10 lần. Lauren Carvalho: Tôi đoán nó là trong tiêu đề của slide. Lucas Freitas: Oh, yeah. [Cười] Lucas Freitas: Điều đó giúp. Lauren Carvalho: Vì vậy, những là cho các vòng. Chúng ta sẽ thấy một số ví dụ cho các vòng lặp sau này. Nhưng chúng ta hãy thực sự có một cái nhìn tại Loại thứ hai của vòng lặp bạn sẽ gặp phải trong C, và nó được gọi là vòng lặp while. Trong vòng một thời gian, bạn đã chỉ có một điều kiện. Điều kiện được kiểm tra trong bắt đầu, và nếu điều kiện đánh giá đúng sự thật, sau đó mã trong cơ thể của khối trong khi sẽ thực hiện. Và mã sẽ tiếp tục thực hiện miễn là có điều kiện vẫn còn đúng. Dưới đây là một ví dụ về một vòng lặp trong khi trong C. Chúng ta sẽ thiết lập đếm đến 10 bắt đầu với. Miễn là số lớn hơn 0, chúng ta sẽ tiếp tục in ra này biến ở đây. Chúng ta sẽ giảm giá trị số và sau đó kiểm tra điều kiện một lần nữa. In, giảm, kiểm tra tình trạng này một lần nữa. Ở đây chúng ta có một ví dụ liên quan câu hỏi của bạn trước đó. Chúng tôi đã có phần trăm là khi chúng tôi đã in ra một chuỗi, và bây giờ chúng ta in ra một int, chúng ta có một phần trăm tôi như giữ chỗ của chúng tôi để thay thế. Các chữ cái tất cả nên được khá trực quan, s cho chuỗi, tôi cho int. Vì vậy, nếu mã này thực hiện, bạn nên đếm ngược 10-0, in ra mỗi số nguyên. Lucas Freitas: Và bạn có thể nghĩ về phần trăm như nó cảm thấy như một trống không gian, và sau đó bạn đang đặt này biến ở đây trong không gian trống. Vì vậy, ví dụ, ở đây tôi sẽ chỉ có một trống, và sau đó tôi đưa đếm đúng đó, giá trị của số. Điều đó có ý nghĩa? Tôi chỉ có thể làm như printf và sau đó trích dẫn, tính? Mà sẽ làm việc? ĐỐI TƯỢNG: số Lucas Freitas: Không, bởi vì nó sẽ thực sự in từ "số" thay vì in giá trị. Đây là cách bạn làm cho nó in các giá trị đối với các biến thay vì chỉ là tên của biến. Bất kỳ câu hỏi? ĐỐI TƯỢNG: Tại sao bạn sử dụng cho như một phản đối tới, trong khi? Lauren Carvalho: Tôi sẽ sử dụng một cho vòng lặp nếu tôi biết chính xác bao nhiêu Tôi muốn lặp lại vòng lặp của tôi để chạy. Trong trường hợp này, nó không quan trọng bởi vì, Ý tôi là, tôi chỉ cố gắng để nghĩ về một thực sự đơn giản ví dụ cho slide này. Nhưng chúng ta hãy nói rằng bạn muốn một cái gì đó để tiếp tục đi trong khi - Lucas Freitas: Ví dụ, bạn yêu cầu đầu vào cho đến khi người cung cấp cho bạn đầu vào phải. Vì vậy, như trong khi đầu vào không phải là OK, tiếp tục yêu cầu cho nó. Hay như khi bạn đang cha mẹ không cho bạn kiếm tiền, tiếp tục yêu cầu cho nó. [Cười] Lauren Carvalho: Bạn không biết làm thế nào nhiều lần bạn sẽ phải làm điều đó. Lucas Freitas: Bởi vì bạn không biết bao nhiêu lần đó là sẽ tiếp tục đi. Lauren Carvalho: Nhưng trong một vòng lặp, bạn cần phải biết bao nhiêu lần. Yeah? ĐỐI TƯỢNG: Chỉ cần làm rõ, tỷ lệ phần trăm nói đây là một cái gì đó về để xảy ra, của tôi cho các số nguyên, và dấu gạch chéo ngược n - Lauren Carvalho: Phương tiện? Ai biết được những gì các dấu gạch chéo ngược có nghĩa là n? Dòng mới, yeah. Chính xác. Lucas Freitas: Bạn có thể nghĩ n như dòng mới. Lauren Carvalho: Nice. ĐỐI TƯỢNG: số đó là gì dấu gạch ngang gạch ngang [không nghe được]? Lucas Freitas: Lượt trừ trừ là điều tương tự như cộng cộng, nhưng thay vì tăng, nó giảm 1. Lauren Carvalho: Bất kỳ hơn trong khi câu hỏi vòng lặp? Không? Oh, chúng tôi đã dự định đã bỏ qua điều đó. Đây là một việc phải làm trong khi vòng lặp. Rất giống với một vòng lặp trong khi trừ trường hợp này chúng tôi kiểm tra các điều kiện sau mã trong cơ thể của vòng lặp thực hiện một lần. Vì vậy, chúng tôi thực thi mã đầu tiên không có vấn đề gì. Sau đó, chúng tôi kiểm tra các điều kiện, thực hiện nó một lần nữa nếu điều kiện là đúng. Bạn sẽ thấy mình sử dụng điều này khi bạn đang yêu cầu người dùng nhập vào. Bởi vì bạn sẽ luôn luôn phải hỏi một lần, và sau đó tùy thuộc vào những gì người dùng nhập vào, bạn có thể phải nhắc nhở lại và yêu cầu một lần nữa và một lần nữa nếu đầu vào không phải là những gì bạn dự kiến ​​nó được. ĐỐI TƯỢNG: Vì vậy, nó giống như một hình thức để mọi người điền vào. Lauren Carvalho: Vâng, chính xác. Bạn sẽ tìm thấy, tôi nghĩ rằng, trong bạn đầu tiên Pset, bạn sẽ phải sử dụng một vòng làm tốt để thu thập đầu vào từ người sử dụng. ĐỐI TƯỢNG: Tùy thuộc vào tình hình, vòng trong khi bạn sẽ có xu hướng chạy nhiều hơn thường xuyên hơn trong khi vòng lặp, như bởi một hoặc một cái gì đó? Lauren Carvalho: Nếu đó là chính xác - Lucas Freitas: Họ nên luôn luôn chạy chính xác lượng thời gian mà bạn muốn nó chạy. Như chúng tôi sử dụng làm trong khi vì chúng tôi thực sự muốn có được đầu vào ít nhất một lần. Trong vòng thời gian, đôi khi bạn không muốn để thực hiện nó ở tất cả nếu nó không trường hợp để thực thi. Vì vậy, nó phụ thuộc vào thiết kế. Ý tôi là, bạn có thể sử dụng làm trong khi hoặc trong khi miễn là mã của bạn nào đó đó là nghĩa vụ phải làm. Lauren Carvalho: Nhưng tôi nghĩ câu trả lời của bạn câu hỏi là có thể có. Hãy nói rằng tình trạng này là sai. Trong một trường hợp nó sẽ chạy một lần, và một trường hợp khác nó sẽ chạy không lần. Vì vậy, yeah. Bất kỳ câu hỏi nhiều hơn? Có? ĐỐI TƯỢNG: Có thể điều kiện vòng lặp là một cho vòng lặp trong điều khoản của một biến khác hơn [nghe được]. Lauren Carvalho: Vâng, nó có thể là bất cứ điều gì. Có thể cho Psets bắt đầu, bạn sẽ không phải gặp phải trường hợp đó, nhưng chắc chắn nó có thể được bất cứ điều gì. Lucas Freitas: Tôi nghĩ rằng chúng tôi thực hiện ở đây. Lauren Carvalho: Có phải chúng ta? Không? Lucas Freitas: Loops? Yeah. Lauren Carvalho: Chúng ta không nên. Oh, chúng tôi đang thực hiện với vòng. OK. Trên thực tế, bởi vì chúng tôi đã nói như vậy nhiều, chúng ta hãy thực sự tất cả các hướng qua study.cs50.net/conditions. Và bạn sẽ di chuyển xuống cho các vấn đề phụ tùng. Vâng, thực sự, trong khi mọi người đang nhận thiết lập này, các học CS50 là sẽ là một công cụ mà TF của bạn sẽ sử dụng để chuẩn bị cho phần và các bạn có thể sử dụng nếu bạn bỏ lỡ phần. Nó sẽ chứa một loạt các trang trình bày, một số lời khuyên và thủ thuật cho mỗi chủ đề, và một số vấn đề thực tiễn với các giải pháp. Tại sao không phải tất cả mọi người chỉ có một cái nhìn tại vấn đề này ngay tại đây. Tôi xin lỗi, tôi phải nhắc nhở người mang máy tính xách tay ngày hôm nay. Nhưng nếu bạn không có một máy tính xách tay, đó là OK. Bạn chỉ có thể ghi này xuống một mảnh giấy hoặc nhìn qua vai hàng xóm của bạn. Chúng ta hãy cố gắng và viết một chương trình nhắc nhở người dùng để có một đoán, các số con trung bình của mỗi gia đình đơn vị tại Hoa Kỳ. Con số đó là 2, bằng cách này, khi bạn có thể nhìn thấy từ các ví dụ. Chúng tôi muốn in ra số trung bình của mỗi gia đình ở Mỹ, sau đó chúng tôi muốn gì? Chúng tôi muốn thu thập đầu vào từ người sử dụng. Và sau đó tùy thuộc vào những gì người dùng của đầu vào là, bạn sẽ in ra hoặc điều này là đúng hoặc đây là không chính xác. Và điều đầu tiên mà bạn sẽ thấy, nếu bạn nhấp vào mũi tên nhỏ ở dưới cùng của vấn đề là một phụ tùng phát hiện ghi lại một số giả. Vì vậy bạn không lập trình được nêu ra. Bạn chỉ nhận được của bạn ý tưởng theo thứ tự. Có ai muốn giúp Lucas đưa ra bên phải giả cho vấn đề này? Lucas Freitas: điều đầu tiên là gì mà chúng ta có lẽ nên làm ở đây? Các bạn nghĩ gì? ĐỐI TƯỢNG: [nghe được] Lucas Freitas: Yeah, OK. Vì vậy, in ấn. Chỉ cần nói in trung bình này số của người dân? OK. Câu hỏi in, chúng ta hãy nói. Sau khi tôi in câu hỏi này, những gì tôi nên làm gì? ĐỐI TƯỢNG: Nhận đầu vào. Lucas Freitas: Nhận đầu vào. Bất cứ điều gì khác? ĐỐI TƯỢNG: Điều kiện. Lucas Freitas: Điều kiện. Lauren Carvalho: đó là gì điều kiện sẽ được? ĐỐI TƯỢNG: Số [nghe được]. Lauren Carvalho: Đúng vậy. Lucas Freitas: tôi sẽ Vì vậy, những gì để kiểm tra trong điều kiện? ĐỐI TƯỢNG: Nếu nó bằng 2. Lauren Carvalho: Nếu nó bằng 2. Chính xác. Lucas Freitas: Có bất cứ điều gì khác mà tôi nên làm gì? ĐỐI TƯỢNG: Đếm. Lucas Freitas: Vì vậy, nếu nó bằng 2, chúng ta hãy nói - hãy để tôi chỉ viết nếu đầu vào bằng 2, sau đó những gì tôi sẽ làm là in đúng. Và sau đó khác, tôi sẽ in không chính xác. Bất cứ điều gì khác? Không? Lauren Carvalho: Vì vậy, bạn có thể click vào - không tất cả mọi người có này xuống? Lucas Freitas: Liệu nó có ý nghĩa? Vì vậy, bây giờ chúng ta hãy cố gắng để mã này. Lauren Carvalho: Nếu bạn nhấp vào ít mũi tên, nó thực sự tiết kiệm của bạn giả, mà thực sự là thú vị. Và bạn có thể làm cho những người vào ý kiến ​​nếu bạn muốn chỉ để nhắc nhở mình về phải làm gì. Lucas Freitas: Ví dụ, đầu tiên Tôi sẽ in ra câu hỏi, vì vậy làm sao tôi có để làm điều đó, thực sự? printf. Vì vậy, printf, và câu hỏi là trung bình số trẻ em mỗi gia đình ở Mỹ. Sau đó, tôi sẽ nhận được đầu vào từ người sử dụng. Vì vậy, làm thế nào tôi có thể làm điều đó? ĐỐI TƯỢNG: Nhận Int. Lauren Carvalho: getInt. Lucas Freitas: OK. Vì vậy, lần đầu tiên tuyên bố, phải không? int, chúng ta hãy gọi nó n bằng getInt. Và bây giờ tình trạng này. Vì vậy, hãy để tôi nói rằng tôi sẽ đến đây kiểm tra câu trả lời. Vì vậy, đầu tiên, nếu đầu vào, đó là n, bằng để - làm thế nào tôi sẽ viết rằng? ĐỐI TƯỢNG: bình đẳng như nhau. Lucas Freitas: hoàn hảo. Vì vậy, n. Và nhận thấy rằng tôi làm một không gian, bằng, bằng, không gian, sự thật. Và bây giờ tôi nên làm gì? Một cái gì đó rất quan trọng cho phong cách. Các dấu ngoặc nhọn. Và sau đó tôi sẽ in. Làm thế nào để in? printf. ĐỐI TƯỢNG: Nó có thể được viết hoa? Lucas Freitas: số Nó phải được tất cả các chữ thường. Vì vậy, đó là chính xác. Điều này sẽ đủ cho printf tuyên bố, hay tôi thiếu bất cứ điều gì? ĐỐI TƯỢNG: Dây chuyền mới. Lucas Freitas: Dây chuyền mới, yeah. Và bây giờ khác. ĐỐI TƯỢNG: Có một không gian sau khi printf, hay không? Lauren Carvalho: Chúng ta nên kiểm tra hướng dẫn phong cách. ĐỐI TƯỢNG: Không nên. Lucas Freitas: không nên được, OK. Vì vậy, khác, printf, "Điều đó là không đúng." Lauren Carvalho: Rất tiếc, báo giá của bạn. Lucas Freitas: OK. Bất cứ điều gì khác? Liệu nó nhìn tốt? Lauren Carvalho: Chúng ta sẽ thử nó? Lucas Freitas: Vâng, chúng ta hãy chạy nó. Vì vậy, nó biên dịch, và nó Có vẻ như nó hoạt động. Hãy thử hai con. Đó là chính xác. Và bây giờ chúng ta hãy chạy một lần nữa, nhưng bây giờ thay vì đưa hai đứa con, chúng ta hãy nói rằng tôi sẽ đặt như năm. Đó là không chính xác. Vì vậy, có vẻ như là nó hoạt động. Lauren Carvalho: Tại sao bạn không cho họ những gì sẽ xảy ra nếu bạn đặt một cái gì đó lạ, giống như một số chữ cái. Lucas Freitas: Oh, yeah. Chúng ta hãy cũng kiểm tra xem. Những gì nếu người dùng đang cố gắng để gây rối với chương trình của bạn, và họ chỉ viết, tôi không biết hai. Nó sẽ nói thử lại. Lauren Carvalho: Vì vậy, getInt được yêu cầu họ thử lại. Chúng tôi không có để chăm sóc đó chính chúng ta. Lucas Freitas: Vâng. Vì vậy, trừ khi tôi thực sự đặt một số, đó là sẽ tiếp tục yêu cầu tôi thử lại. ĐỐI TƯỢNG: Làm thế nào bạn chạy nó? Lucas Freitas: Chỉ cần nhấp vào nút sao này. Lauren Carvalho: Bạn nên đi lên. Có bạn đi. Lucas Freitas: Ngôi sao nút bên phải có. Yeah? ĐỐI TƯỢNG: Liệu nó nhắc nhở [nghe được] với số thập phân không? Lauren Carvalho: Tôi tin rằng nó sẽ. Lucas Freitas: Nếu có những gì? Lauren Carvalho: Nếu họ gõ trong một số thập phân, tôi nghĩ nó sẽ nhắc nhở. Lucas Freitas: Hãy xem. Lauren Carvalho: Bởi vì nó không phải là một int. Lucas Freitas: Vâng. Lauren Carvalho: Vì vậy, nó nó không phải là một int, Được Int sẽ yêu cầu bạn thử lại. ĐỐI TƯỢNG: Vì vậy, nơi trong mã đó sẽ là số thập phân mà nhắc người người sử dụng rằng họ phải nhập một số nguyên đặc biệt? Lauren Carvalho: getInt thực sự làm điều đó cho chúng ta. ĐỐI TƯỢNG: Không, tôi có nghĩa là nếu chúng ta muốn nhập [không nghe được] Lucas Freitas: Bạn có thể nói như trung bình số trẻ em ở Mỹ. Tôi không biết. Chúng ta có thể nói rằng, ví dụ, "Hãy đầu vào một số nguyên. " Lauren Carvalho: Một số nguyên bằng số lượng trung bình. Ý tôi là, nó chỉ là cách bạn từ nó, phải không? Lucas Freitas: Vâng. Đây không phải là một phần của thực sự mã hóa. Đó là nhiều hơn như bất cứ điều gì bạn sẽ muốn viết trong chương trình của bạn. ĐỐI TƯỢNG: Làm thế nào sẽ, chúng tôi đã chạy nó nếu nó đã thực sự trong gedit [nghe được]. Thay vì nhấn chơi? Lucas Freitas: Chúng tôi sẽ đầu tiên biên dịch nó. Chúng ta có thể làm điều đó bằng cách thực hiện làm và tên của tập tin. Và sau đó chạy nó, chúng tôi sẽ làm chấm dấu gạch chéo và tên của chương trình. ĐỐI TƯỢNG: Tôi đoán những gì tôi có nghĩa là nếu chúng tôi muốn chương trình để đáp ứng không chính xác, nhập cảnh hợp lệ của họ, bạn không nên đặt trong - Lucas Freitas: Chúng tôi sẽ không thể làm điều đó bởi vì mã này nói thử lại đến từ Get Int mà là một chức năng mà đã được thực hiện cho chúng tôi qua thư viện CS50, và kể từ nó đã được thực hiện có, chúng tôi không thể chỉ [nghe được]. Lauren Carvalho: Nếu bạn không sử dụng GetInt, sau đó bạn có thể làm điều đó. Lucas Freitas: Vâng. Nhưng nếu bạn đang sử dụng getInt, bạn có thể không. Bất kỳ câu hỏi nào khác không? ĐỐI TƯỢNG: Ông có thể đã đi với như GetFloat và sau đó có thể đưa nó trong một số thập phân? Lucas Freitas: Vâng. ĐỐI TƯỢNG: OK. Sau đó bạn chỉ có thể đầu vào nổi một bình đẳng - Lauren Carvalho: Vâng. Chính xác như nhau, ngoại trừ một nổi thay vì một int. Lucas Freitas: Chỉ cần đặt nó ở đây và sau đó GetFloat có. ĐỐI TƯỢNG: Như bạn sẽ nhìn thấy hoặc đã thấy - Lauren Carvalho: chúng tôi có không nhận có được nêu ra. ĐỐI TƯỢNG: - làm bất bình đẳng với nổi không [nghe được] ĐỐI TƯỢNG: làm các dấu chấm phẩy có nghĩa là gì? Lauren Carvalho: Các dấu chấm phẩy chỉ có nghĩa là tuyên bố này hoàn tất, và chúng ta sẽ đi vào slide tiếp theo. ĐỐI TƯỢNG: Vì vậy, nó là cần thiết mỗi lần? Lauren Carvalho: Vâng. Vâng, OK, vì vậy không cho các điều kiện, vì họ đóng gói một cái gì đó. Vì vậy, về cơ bản nếu một cái gì đó đang gây ra bạn sau đó tạo ra một cú đúp xoăn khối, không đặt một dấu chấm phẩy ở cuối. Lucas Freitas: Nhưng tất cả mọi thứ khác, có. Khi bạn hoàn thành một tuyên bố, đặt dấu chấm phẩy. Và nếu bạn quên dấu chấm phẩy, các trình biên dịch sẽ giận bạn, và bạn sẽ có để cố gắng sửa chữa nó. Lauren Carvalho: Nếu tôi đặt một dấu chấm phẩy ở đây, mà có thể ngăn chặn điều này, và tôi sẽ không bao giờ thực hiện những gì bên trong, bằng cách này. Vì vậy, nó là một trong những lỗi thường gặp. ĐỐI TƯỢNG: Luôn luôn thực hiện. Lauren Carvalho: Vâng. Trong trường hợp này, chúng tôi sẽ luôn luôn thực hiện những gì bên trong. ĐỐI TƯỢNG: phong cách của bạn [nghe được] gắn điều đó cho bạn, suy nghĩ. Lauren Carvalho: Oh, đó là sự thật. ĐỐI TƯỢNG: [nghe được] đơn điều dòng [nghe được] ĐỐI TƯỢNG: Có? ĐỐI TƯỢNG: Bạn có thể có nhiều đầu vào trong một dòng? Vì vậy, như bạn có thể yêu cầu người dùng in hai điều? Lauren Carvalho: Không sử dụng - Lucas Freitas: số Hãy nói rằng tôi cũng muốn để có được số nguyên m này. Tôi phải làm điều đó trong một dòng khác nhau. ĐỐI TƯỢNG: Nếu bạn đang chạy rằng, làm thế nào [không nghe được]? Nó sẽ in dấu nhắc có [không nghe được] và sau đó bạn hãy nhập vào một và - Lauren Carvalho: Vâng, chạy nó. Ý tôi là, có gì ngăn cản chúng ta là chỉ cần chạy nó và nhìn thấy những gì sẽ xảy ra. Lucas Freitas: Tôi nghĩ rằng đó là sẽ than phiền tại chúng tôi bởi vì chúng tôi không sử dụng - Lauren Carvalho: Rất tiếc. Lucas Freitas: Nó phàn nàn tại chúng tôi ngay bây giờ bởi vì chúng tôi không sử dụng này biến, nhưng nếu tôi đã làm, ví dụ, n là bằng tương đương, và m bằng tương đương, sau đó điều gì sẽ xảy ra trong trường hợp này? Chương trình này sẽ làm những gì? ĐỐI TƯỢNG: Tôi chỉ tự hỏi làm thế nào nó sẽ - Lauren Carvalho: Cô chỉ muốn biết làm thế nào có vẻ như thế, tôi nghĩ, phải không? Vì vậy, phải mất một trong số họ, và sau đó nó lấy một giây. Tôi nghĩ chúng ta nên di chuyển trên, bởi vì chúng tôi có thêm một Tạo trình diễn để đi trước khi - Bạn muốn kéo lên toán học? Lucas Freitas: Yeah, toán học. Lauren Carvalho: Cho tôi chỉ là một thứ hai. Có một vài số khác nhau biến trong dữ liệu C. số trong C có thể được phân loại thành các loại khác nhau, và đó là những cái bạn sẽ thấy thường xuyên nhất. Và int là một số nguyên. Bạn không thể có bất kỳ số thập phân. Trong gia dụng, phải mất 32 bit để lưu trữ một int. Một phao có thể có số thập phân. Nó cũng có 32 bit để lưu trữ một phao trong gia dụng. Một đôi là một số với một số thập phân thời điểm đó có 64 bit để lưu trữ nó, có nghĩa là bạn chỉ có thể có chính xác hơn bởi vì bạn có thể có nhiều hơn - làm những gì bạn gọi nó? Lucas Freitas: Vâng, đó là hơn. Lauren Carvalho: Nhiều nơi sau dấu thập phân. Và lâu dài là một số nguyên mà phải mất 64 bit đau nó trong gia dụng. Lucas Freitas: Vì vậy, nó có thể được lớn hơn số nguyên có thể được. Lauren Carvalho: Những điều về dữ liệu loại C là họ cho bạn biết loại dữ liệu bạn có thể lưu trữ trong biến của bạn. Họ cho bạn biết làm thế nào bạn có thể sử dụng biến trong chương trình của bạn. Nó rất quan trọng để chỉ theo dõi của loại dữ liệu bạn đang sử dụng, và nếu bạn cần phải đúc từ một kiểu dữ liệu khác, hãy chắc chắn rằng bạn biết chính xác những gì sẽ xảy ra khi mà đúc diễn ra. Và bạn sẽ thấy một ví dụ sau trên trong các trang trình bày của một sai lầm có thể xảy ra. Chúng ta hãy xem xét một số toán học trong C và nghĩ rằng thực sự cẩn thận, tôi đoán, về những gì đang xảy ra khi điều này toán học đang diễn ra. Trong dòng đầu tiên, những gì xảy ra khi tôi tuyên bố x? ĐỐI TƯỢNG: Bạn đang cho phép x là cái gì? Lauren Carvalho: Vâng. Vâng, tôi thực sự yêu cầu điều hành hệ thống 32 bit của bộ nhớ, phải không? Trong đó tôi có thể lưu trữ một int, và Tôi sẽ gọi đó là int x. Lucas Freitas: Về cơ bản đi vào bộ nhớ và việc tìm kiếm một nơi mà có 32 bit và nói, hey, tôi muốn không gian này, và nó sẽ được gọi là x. Vì vậy, bạn chỉ cần khá nhiều phát hiện một hộp trong bộ nhớ của bạn để giá trị cửa hàng cho x. Lauren Carvalho: Và sau đó tôi khởi tạo x, có nghĩa là tôi chỉ lưu trữ các giá trị của 2 trong đó diễn ra, đoạn mà bộ nhớ, mà chúng tôi yêu cầu điều hành hệ thống. Và ở đây những gì chúng tôi đang làm là chúng tôi đang thực sự kê khai, khởi tạo y trong một dòng thay vì trong hai dòng như chúng tôi đã làm ở đây, đó cũng là một hoàn toàn tốt đẹp, Chúng tôi cộng thêm 1 vào x, và chúng tôi đang lưu trữ mà giá trị trong y. Lucas Freitas: Vì vậy, về cơ bản những gì này đường không, bây giờ tìm thấy một hộp cho y, và sau đó giá trị của nó, điều đó bạn sẽ đặt bên trong hộp, là sẽ là giá trị của x cộng thêm 1. Vì vậy, nó có hộp này cho y. Nó được giá trị của x, trông ở đây, và thấy rằng nó 2. Đặt nó ở đó, cộng với 1, vì vậy nó đặt 3 có. Điều đó có ý nghĩa? Vì vậy, y sẽ là 2 trong trường hợp này. Lauren Carvalho: Được rồi, mát mẻ. Chúng ta đã thấy một số Ngoài ra, vì vậy bây giờ chúng ta nghĩ về phân chia trong C. Dưới đây tôi tuyên bố và khởi tạo một phao gọi là câu trả lời và chia 1 10, và sau đó tôi in ra các câu trả lời hai chữ số thập phân. Và lưu ý ở đây, trong tuyên bố printf của tôi, khi tôi muốn in một cái gì đó để hai chữ số thập phân,% .2 f là những gì tôi muốn sử dụng. Vì vậy, điểm 2 chỉ là nói Tôi cần hai địa điểm sau số thập phân in ra. Bây giờ, điều gì sẽ xảy ra nếu tôi chạy mã này? Không ai có một ý tưởng? Điều gì sẽ in ra? Lucas Freitas: là gì chúng tôi mong đợi để có được. Lauren Carvalho: Điều gì làm chúng tôi muốn, trước hết? Lucas Freitas: [nghe được] Lauren Carvalho: 0.1, yeah. Nhưng những gì sẽ in ra? ĐỐI TƯỢNG: [nghe được] Lauren Carvalho: Vâng, không có, thực sự. Đây là những gì tôi đã nói về lý do tại sao bạn cần phải theo dõi rất cẩn thận các kiểu dữ liệu của bạn. Vì vậy, những dữ liệu loại này là? Là một int, phải không? Không có chữ số thập phân. 10 cũng là một int. Không có chữ số thập phân. Nếu tôi chia một int bởi một int, tôi nhận được một int mà không phải là 0.1, vì ints không thể có chữ số thập phân, nhưng chỉ là 0. Bởi vì một int chỉ cắt cụt tắt chữ số thập phân. Lucas Freitas: Vì vậy, bất cứ khi nào bạn làm hoạt động với số nguyên, bạn sẽ nhận được một int là câu trả lời. Vì vậy, về cơ bản, những gì máy tính đang làm, đó là chia 1 bằng 10, và nó được 0.1. Nhưng sau đó nó như thế nào, chờ đợi, đây là vụ phải là một số nguyên, vì vậy bạn chỉ bỏ qua 0.1, vì vậy bây giờ chỉ là 0. Lauren Carvalho: Vì vậy, khi tôi in này ra, tôi nhận được 0.00 thay vì 0.10. Lucas Freitas: Điều đó có ý nghĩa? Lauren Carvalho: Đó là loại của không may, phải không? Lucas Freitas: Vậy làm thế nào chúng ta có thể sửa lỗi này? Lauren Carvalho: Hãy thử và sửa chữa đó. Dưới đây là một ví dụ về nơi tôi thực sự đúc 1 và 10 đến nổi. Vì vậy, bây giờ, 1 không còn là một int. 1 là một phao. Bằng cách này, đây chỉ là cú pháp khi bạn muốn đúc từ một kiểu dữ liệu khác. Bạn chỉ có thể đặt các kiểu dữ liệu trong ngoặc đơn và có mà chỉ cần đi trước giá trị mà bạn đang đúc. Vì vậy, ở đây, tôi chia một phao bằng một phao để có được một câu trả lời nổi. Và có, điều này sẽ ở thực tế in 0.10. Điều đó có ý nghĩa? Lucas Freitas: Vì vậy, loại đúc chỉ là chuyển đổi từ loại này sang loại khác. Vì vậy, nổi 1 thực sự là 1.000. Không chính xác này, nhưng nó là cái gì với chữ số thập phân đó là thực sự 1. Điều đó có ý nghĩa? Yeah? ĐỐI TƯỢNG: Nếu bạn đã làm phao câu trả lời bằng từ 1,0 chia cho 10? Lauren Carvalho: Bạn đang thực sự đi để thấy rằng trong các slide tiếp theo. Đó là thực sự trượt tiếp theo của chúng tôi. Đây thực sự là một đẹp hơn loại đúc, tôi nghĩ. Vì vậy, hai là nổi chỉ bằng cách bản chất của thực tế là họ có chữ số thập phân. Có? ĐỐI TƯỢNG: Nếu bạn đã làm [không nghe được] chia cho 10? Lauren Carvalho: Trên thực tế một phao chia một int thực sự mang đến cho bạn một nổi, do đó sẽ làm việc tốt. Chờ đợi, tất cả mọi người không hiểu được điều này? Bởi vì đây là có được một thực sự việc lớn trong Pset1, thực sự. Có? ĐỐI TƯỢNG: Ông có thể chỉ một cách nhanh chóng đi qua phần màu đỏ? Lauren Carvalho: Phần màu đỏ, yeah. Lucas, bạn có muốn? Lucas Freitas: OK. Vì vậy, hãy nhớ rằng tỷ lệ phần trăm là một giữ chỗ. Nó giống như một không gian trống. Vì vậy, hãy cố gắng để hiểu tất cả mọi thứ đang diễn ra ở đây. Phần trăm có nghĩa là nó là một giữ chỗ. Sau đó, bạn có e, có nghĩa là giữ chỗ này là cho một phao. Điều cuối cùng mà chúng tôi có ở đây là một 0,2, có nghĩa là tôi muốn có hai chữ số thập phân cho nổi. Nếu tôi chỉ có% f, họ sẽ đặt một loạt các chữ số thập phân. Vì vậy, tôi chỉ có thể đặt 0,2 hoặc 0,1 hoặc 0,5, hoặc bất cứ điều gì, và nó sẽ đưa mà số chữ số thập phân. Điều duy nhất là nếu bạn đặt như 0,100 hoặc .1,000, nó không thực sự sẽ mang tất cả những chữ số thập phân bởi vì nó không có đủ bộ nhớ để có độ chính xác đó. Bất kỳ câu hỏi nào khác không? Yeah? ĐỐI TƯỢNG: Vì vậy, chỉ cho phép thả nổi bạn đi xa hơn số nguyên? Lucas Freitas: Có. Lauren Carvalho: Vâng, một phao chỉ cho phép bạn có chữ số thập phân. Lucas Freitas: Nó chỉ có nghĩa là bạn bây giờ có thể có số thập phân. ĐỐI TƯỢNG: Tại sao chúng ta sẽ bao giờ sử dụng số nguyên? Lucas Freitas: Tại sao bạn sử dụng số nguyên? Có lẽ nếu bạn đang đếm từ 0 đến 10, bạn muốn sử dụng thực sự là một số nguyên. Bạn không cần phải sử dụng một phao. Trong một số trường hợp, bạn không phải thực sự - Lauren Carvalho: Có lẽ bạn không muốn số thập phân. Lucas Freitas: Có lẽ bạn không muốn sử dụng một phao. Lauren Carvalho: Điều khác là, nhớ, cả hai đặt một phao và một int có 32 bit để lưu trữ chúng, và có thể bạn không muốn lãng phí trên bit chữ số thập phân. Lucas Freitas: Vâng. Vì vậy, như, chỉ cần nghĩ về điều này. Bạn có 32 bit cho cả hai một int và một phao. Đối với một int, tất cả những 32 bit đi đến phần nguyên. Nếu bạn sử dụng một phao với 32 bit, bạn có một phần của bộ nhớ này được sử dụng cho số, cho cả số lượng, và phần khác được sử dụng cho các chữ số thập phân. Vì vậy, điều đó có nghĩa rằng bạn không thể có được số lượng rất lớn với phao vì phao ấy đã sử dụng rất nhiều bộ nhớ cho các chữ số thập phân. Yeah? ĐỐI TƯỢNG: Đó là câu trả lời đầu tiên, chính xác những gì là nó làm gì? Là nó thiết lập giá trị của phao bằng để giữ chỗ đó để mà bạn có thể gọi lại nó trong dòng tiếp theo? Nó nói nổi câu trả lời. Lucas Freitas: Vâng. Vì vậy, câu trả lời nổi có nghĩa là bạn đang nhận được bây giờ là một xô nhỏ trong bộ nhớ giữ một float, và đó sẽ được gọi là câu trả lời. Vì vậy, đó là những gì nổi câu trả lời không. Và sau đó bạn nói rằng bên trong này, bạn sẽ đặt kết quả của điều này. Vì vậy, bạn sẽ làm 1.0 chia 10,0, bạn sẽ có được 0,1, và sau đó bạn đặt bên trong của câu trả lời. Lauren Carvalho: Vì vậy, trong một dòng, chúng tôi tuyên bố và khởi tạo nổi này gọi là câu trả lời. Lucas Freitas: Điều thú vị là, mặc dù đây chỉ là một dòng, nó làm nhiều hoạt động. Nó chỉ là một cách buông xả C bạn sử dụng ít mã. Đó là điều tương tự như các bậc ba điều hành, làm thế nào bạn có thể chỉ cần làm một [Nghe được] trong một dòng. Nó thực sự làm điều tương tự như làm phao câu trả lời, dấu chấm phẩy, và sau đó trả lời bằng này, nhưng thay vì làm cho bạn làm hai dòng cho rằng, nó giống như một phím tắt. Yeah? ĐỐI TƯỢNG: Vì vậy, nếu bạn chạy này, nó sẽ là 0,10? Lucas Freitas: Có. Yeah? ĐỐI TƯỢNG: là câu trả lời thực sự mã, hoặc là nó chỉ tên? Lauren Carvalho: Đây thực sự là mã. Đây là những gì chúng ta sẽ để đặt tên biến của chúng tôi. ĐỐI TƯỢNG: Vì vậy, nó chỉ một tên [nghe được]. Lauren Carvalho: Vâng. Tôi có thể nói float x bằng 1.0. Lucas Freitas: Cái này là tên của biến là cái gì mà bạn sử dụng. Điều quan trọng là bạn là. Đối với chương trình thực tế, điều duy nhất mà vấn đề là giá trị mà bạn có bên trong xô. Lý do tại sao bạn có các biến và tên của các biến là vì vậy bạn nên biết những gì bạn đang xử lý, như loại dữ liệu bạn truy cập tại một thời điểm. Nhưng đối với mã chính nó, nếu bạn gọi nó trả lời hoặc câu hỏi hoặc bất cứ điều gì, khá nhiều, nó không quan trọng. Nó không quan trọng. Miễn là bạn nhất quán trong tất cả các xảy ra nó và do đó bạn gọi nó cái gì khác. Yeah? ĐỐI TƯỢNG: Do các biến vượt ra ngoài chức năng? Cũng giống như nếu bạn đã tạo ra một khung [Nghe được], có thể bạn chỉ cần [Nghe được] trả lời một lần nữa? Lauren Carvalho: số ĐỐI TƯỢNG: [nghe được] Lauren Carvalho: số Đó sẽ là bên ngoài phạm vi của biến đặc biệt này. Và trên thực tế, đó là loại thú vị, bởi vì khi chúng ta có những thứ như vòng hoặc những nếu điều kiện, nếu bạn khai báo một biến trong một tập hợp các dấu ngoặc nhọn, nó thực sự chỉ tồn tại trong những dấu ngoặc nhọn. ĐỐI TƯỢNG: Một lưu ý cuối cùng về các [nghe được] nổi. Lý do tại sao bạn đã bao giờ muốn sử dụng số nguyên? Đây là chi tiết của một mặt lưu ý hơn bất cứ điều gì, nhưng máy tính của bạn tốt hơn đáng kể tại xử lý ints hơn là tại nổi xử lý. Nó giống như một thứ tự cường độ nhanh hơn. Vì vậy, nếu chúng ta chỉ xử lý chỉ nổi, mọi thứ sẽ chậm hơn rất nhiều. Lauren Carvalho: Trên thực tế, có vẻ là một vấn đề với phao. Lucas Freitas: Loại lý do đó, bạn có thể nghĩ, là làm thế nào trong hệ nhị phân bạn có thể đại diện cho số nguyên bằng cách đặt 0 và 1. Lauren Carvalho: Đó là điều tiếp theo. Lucas Freitas: OK. Tuyệt vời. Lauren Carvalho: Chỉ cần giữ suy nghĩ đó. Lucas Freitas: OK, tôi sẽ tell you later. Lauren Carvalho: Trước khi chúng tôi có được những gì Lucas chỉ nói, điều hành ưu tiên. Đây là ý nghĩa thông thường. Các bạn đã làm đủ này. Vì vậy, chỉ cần một cái gì đó nếu là trong dấu ngoặc đơn, nó sẽ xảy ra lần đầu tiên. Đó là phép nhân được ưu tiên hơn nữa, trừ, những việc như thế. Vì vậy, trên thực tế, chỉ cần bất cứ ai muốn cho tôi biết những gì số một thực sự để đánh giá? ĐỐI TƯỢNG: 27. Lauren Carvalho: 27? Yeah. Lucas Freitas: Hãy để tôi cung cấp cho Kẹo cho người dân. Lauren Carvalho: Được rồi. Những gì về số hai? Những gì về số hai? ĐỐI TƯỢNG: 22. Lauren Carvalho: 22, yeah. Tôi không biết ai đã nhận rằng. Số ba? ĐỐI TƯỢNG: 10. Lauren Carvalho: 10, có. Mát mẻ. Vì vậy, theo modulo. Lucas, bạn có muốn giải thích modulo? Lucas Freitas: Modulo điều hành này đó là thực sự rất hữu ích cho loạt các vấn đề. Nếu tôi làm 55 modulo 10, những gì nó làm này chúng ta hãy nói rằng tôi muốn chia 55 10. Tôi nhận được gì? Nó cảm thấy giống như nếu tôi thực sự chỉ làm việc phân chia, là những gì lần đầu tiên mà tôi nhận được số nguyên? ĐỐI TƯỢNG: 5. Lucas Freitas: 5. Và sau đó phần còn lại là 5, phải không? Vì vậy, nó giống như 5 lần 10 và 5. Về cơ bản, những gì modulo không, nó sẽ cố gắng chia con số này bằng cách này, và nó thấy phần còn lại là những gì của phép chia. Lauren Carvalho: Vì vậy, nó chỉ trả phần còn lại. Vì vậy, số một là gì? 5. Thứ hai? ĐỐI TƯỢNG: 3. Lauren Carvalho: 3. Số ba? 0. Và bốn là 1. Chính xác. Lucas Freitas: đơn giản, phải không? Lauren Carvalho: Tại sao chúng ta không bỏ qua này chỉ vì chúng tôi không thực sự có thời gian, và mọi người dường như hiểu được. Vì vậy, đây là những gì Lucas chỉ nói về. Lucas Freitas: Một lý do khác tại sao tôi sẽ sử dụng số nguyên thay vì nổi là mà nổi là rất không chính xác. Và tại sao họ không chính xác? David cho rằng, để đại diện cho một số nguyên, ví dụ, chúng tôi sử dụng 0 và 1, đúng không? Và sau đó về cơ bản bạn làm nhân, làm tất cả những hoạt động để biết những gì số thập phân bạn có thay vì nhị phân. Điều gì xảy ra bây giờ nếu tôi cố gắng đặt điểm thập phân? Trên thực tế, ví dụ, nếu tôi có số lượng như 3,33333? Nó cảm thấy như 10 hơn 3. Làm thế nào tôi sẽ lưu trữ tất cả 3 là tôi có sau đó? Nó thực sự khó, phải không? Bạn không thể chỉ cho máy tính, hey, tôi có một 3, và sau đó bạn làm điều đó mãi mãi. Trên thực tế các máy tính không phải là đủ thông minh cho điều này. Vì vậy, về cơ bản tất cả các máy tính của bạn không có gì nó cố gắng đưa càng nhiều chữ số như nó có thể lên đến bộ nhớ mà bạn có. Vì vậy, hãy nói rằng nó sẽ nói 3.3333, và đó là nó. Vì vậy, nó không thể thực sự thể hiện chính xác những gì nổi đó là. Lauren Carvalho: Chúng tôi có một số hữu hạn bit, có nghĩa là không tất cả các số thập phân là có được có thể được biểu diễn một cách chính xác. Và như vậy trong ví dụ này, nếu chúng ta in ra 0.1, chúng tôi hiện in ấn ra 20 địa điểm. Lucas Freitas: Cũng giống như tôi đã nói các bạn, bạn có thể đặt bất kỳ số nào. Nhưng nếu bạn chỉ cần làm hai nơi, bạn sẽ nhận được 0.10, nhưng nếu bạn đặt 20 địa điểm, nó sẽ hiển thị cho bạn một bó của là bởi vì đây là những gì bạn có thể đặt trong bộ nhớ, phải không? Nhưng ở đây, cho đến 0, và sau đó là chỉ cần đặt nó một loạt các số ngẫu nhiên. Đây là loại giống như một số - Lauren Carvalho: Điều này là do chúng tôi không thể đại diện cho số thập phân này chính xác với số lượng bit chúng ta có. Lucas Freitas: Và sau đó máy tính cơ bản tạo cho bạn một số thùng rác. Đây không phải là thực sự giá trị của số. ĐỐI TƯỢNG: Nó gần như là nó có thể nhận được [không nghe được] bằng cách sử dụng [không nghe được]. Lauren Carvalho: Vì vậy, ý nghĩa của này là hãy nói rằng thay vì là 0.100014, bất cứ điều gì, nếu đó là 0,0999 - tốt, OK. Chúng ta hãy giả vờ rằng câu trả lời thực tế này là 0,9999999. Đó là rất gần với 1, nhưng nó không chính xác 1. Đó là 0,99999. Điều đó có nghĩa rằng nếu tôi đi mà 0.999, và tôi bỏ nó vào một int, tôi nhận được 0. Tôi không nhận được 1. Lucas Freitas: Bởi vì nhớ, đúc từ phao để int, bạn chỉ cần bỏ qua tất cả các chữ số thập phân. Bạn chỉ cần bỏ qua chúng. Không có những điều như làm tròn lên hoặc chạy xuống khi bạn định kiểu. Trên thực tế, có chức năng này không làm tròn, rất quan trọng, nhưng bạn chỉ cần nghĩ rằng khi bạn làm typecasting, nó chỉ sẽ xóa tất cả mọi thứ. Vì vậy, ngay cả khi bạn có 0,99999, nó sẽ để chỉ cho 0 nếu bạn định kiểu [Nghe được] một số nguyên. Lauren Carvalho: Vì vậy, chỉ có thực sự nhận thức điểm nổi trong chính xác, đặc biệt là khi bạn bắt đầu sử dụng phao trong Pset1. Nhưng đi bộ qua nên cảnh báo bạn về điều đó là tốt. Lucas Freitas: Và trên thực tế nó thực sự cứng, ví dụ, nếu tôi đã làm phao câu trả lời 1 bằng 1,0 hơn 10, và sau đó thả nổi câu trả lời 2 bằng 10,0 hơn 100.0. Họ là những người cùng một số, phải không? 0.1, phải không? 1 trên 10 hoặc 10 trên 100. Nhưng bây giờ nếu tôi cố gắng nhìn thấy sự bình đẳng, nếu câu trả lời như 1 bằng để trả lời 2, có lẽ nó không thực sự đi để được điều tương tự. Vì vậy, phao nổi là loại như thế. Họ giống như làm bình đẳng.