SPEAKER 1: Hãy nói về nước.
Trong vấn đề này, chúng tôi yêu cầu người sử dụng để nói tắm của họ là chúng ta bao lâu trong vài phút
và sau đó chúng tôi tính toán tương đương số chai nước
mà tắm của họ sử dụng.
>> Vì vậy, những gì chúng tôi phải làm của cho vấn đề này?
Đầu tiên, chúng ta sẽ muốn để nhắc nhở và sau đó xác nhận
đầu vào mà người sử dụng cung cấp cho chúng tôi.
Một khi chúng ta đảm bảo chúng tôi rằng có đầu vào người dùng hợp lệ,
chúng ta sẽ tính toán số lượng tương đương của chai nước
mà người sử dụng đã có trong tắm của họ, và sau đó chúng tôi
sẽ nói với họ bằng in ra số đó.
>> Vì vậy, hãy giải quyết đầu tiên của chúng tôi nhiệm vụ, khiến và xác nhận
người dùng nhập vào.
Đối với điều này, chúng tôi đã viết một Chức năng để bạn gọi
get_int nằm trong Thư viện CS50.
get_int đảm bảo rằng các đầu vào người sử dụng một số nguyên, vì vậy bất kỳ số dương,
số âm, hoặc bằng không tất cả đều được chấp nhận.
Nhưng nếu người sử dụng đầu vào bất cứ điều gì khác, vì vậy bất kỳ sự kết hợp của các chữ cái hoặc số
hoặc số thập phân, sau đó các người dùng sẽ được nhắc nhở để thử lại
và các chức năng sẽ không chấp nhận bất cứ điều gì cho đến khi người sử dụng cung cấp cho họ một số nguyên.
>> Vì vậy, làm thế nào để chúng tôi sử dụng get_int?
Nếu bạn mở không gian làm việc của bạn và tạo ra một tập tin có tên integer.c hãy
gõ như sau.
Hashtag bao gồm cs50.h.
Điều này là cần thiết vì get_int là một chức năng thư viện CS50,
vì vậy chúng tôi phải hashtag bao gồm khai của nó để
để sử dụng các chức năng.
Và sau đó trong chính của tôi chức năng tôi chỉ cần đi
chỉ cần gọi chức năng get_int.
>> Vì vậy, chúng ta hãy chạy này và xem làm thế nào nó hoạt động.
Tôi đã biên dịch nó, vì vậy chúng ta hãy chỉ cần đi trước và chạy chương trình này,
./integer.
Ở đây tôi có một dấu nhắc và đây là nơi mà tôi nhập vào các giá trị.
Nói rằng tôi đặt chỉ trong một số nguyên, 50, excepts chương trình và chia tay
và đó là điều đó.
>> Nhưng nói tôi chạy nó một lần nữa và Tôi đầu vào cái gì khác.
Có lẽ, hello thế giới.
Đó không phải là một số nguyên nên chương trình sẽ nhắc nhở tôi phải thử lại.
Hãy thử lại với có lẽ một số thập phân thời gian này.
0.5, một lần nữa, không phải là một số nguyên nên chương trình sẽ không chấp nhận nó
và nó sẽ cho tôi biết để thử lại.
Vì vậy, hãy cho nó một số khác.
Chương trình chấp nhận nó, bỏ, và chúng tôi đang thực hiện.
>> Vì vậy, bây giờ chúng tôi có một chức năng cho phép chúng ta và đảm bảo
mà người sử dụng đầu vào một số nguyên, nhưng làm thế nào chúng ta có thể
thực sự theo dõi của số nguyên đầu vào bởi người sử dụng?
Vâng, tất cả chúng tôi sẽ làm là cửa hàng giá trị này trong một biến, nói n.
Vì vậy, nếu tôi tuyên bố một số nguyên n, và tôi đặt giá trị đó để get_int,
Sau đó n sau đó sẽ lưu trữ bất cứ điều gì giá trị cho người sử dụng đầu vào.
>> Được rồi, vậy bây giờ chúng tôi đã chắc chắn rằng người sử dụng sẽ cung cấp cho chúng tôi một số nguyên
và chúng tôi biết làm thế nào để theo dõi của số nguyên, nhưng hãy nhớ,
số nguyên là cả tích cực và tiêu cực.
Vì vậy, nó không thực sự có ý nghĩa trong bối cảnh của vấn đề này
mà người dùng có vòi hoa sen của nói phút âm 12.
Vì vậy, chúng ta cần phải chắc chắn rằng người dùng thực sự mang đến cho chúng ta một số nguyên dương.
Bây giờ chúng ta không chỉ có một chức năng duy nhất cho rằng,
vì vậy chúng ta sẽ có để tạo ra rằng mình.
>> Vì vậy, chúng tôi muốn tiếp tục nhắc nhở người dùng
cho đến khi họ cung cấp cho chúng ta một số nguyên dương.
Nếu tôi đang làm một cái gì đó liên tục sau đó đó là giống như một vòng, một sự lặp lại.
Vì vậy, một trong những cấu trúc mà chúng tôi sử dụng trong c để thực hiện lặp đi lặp lại và các vòng lặp
là một vòng lặp while.
Vì vậy, một khi vòng lặp, như thể hiện ở đây, sẽ thực hiện
bất cứ điều gì là trong cơ thể của vòng lặp như miễn là đánh giá lại các điều kiện nhất định
đúng sự thật.
Ngay sau khi điều kiện để đánh giá sai, sau đó
chương trình sẽ tiến hành bất cứ điều gì đưa ra sau khi cơ thể của vòng lặp.
>> Vì vậy, trong khi vòng được sắp được thực sự hữu ích trong CS50.
Nhưng đặc biệt này trường hợp, chúng tôi biết rằng chúng tôi
sẽ nhắc nhở người dùng ít nhất một lần và sau đó chỉ vòng lặp nếu cần thiết.
Vì vậy, ở đây chúng tôi đi đến một cấu trúc đặc biệt và đó là
rất giống với khi vòng lặp được gọi là vòng lặp do-while.
>> Vì vậy, một vòng lặp do-while thực thi cơ thể của vòng ít nhất một lần
và sau đó nó sẽ kiểm tra xem liệu có nên thực hiện,
như trái ngược với một vòng lặp while, trong đó sẽ kiểm tra điều kiện
và sau đó thực hiện cơ thể.
Vì vậy, trong một vòng lặp do-trong khi những gì chúng ta có thể làm là nhắc nhở người dùng cho một số nguyên,
và sau đó kiểm tra nếu nó không hợp lệ hay không.
Nếu đó là không hợp lệ, sau đó chúng tôi sẽ lặp lại quá trình yêu cầu người dùng
để cung cấp cho chúng tôi số nguyên khác, và sau đó chỉ khi số nguyên đó là hợp lệ,
chúng tôi sẽ tiếp tục bất cứ điều gì đến sau đó.
>> Bây giờ bạn sẽ nhận thấy rằng kê khai của các số nguyên n
là hơi khác với những gì chúng tôi đã làm trước đây trong các ví dụ trước
và điều này là bởi vì phạm vi.
Nếu chúng ta đã tuyên bố các số nguyên n bên trong của cơ thể của vòng lặp do-while,
sau đó chúng tôi sẽ không thể truy cập rằng giá trị của n bên ngoài của những xoăn
niềng răng cho thấy cơ thể của vòng lặp.
Nhưng chúng ta trong thực tế muốn truy cập giá trị của n sau này trong chương trình của chúng tôi.
>> OK, vì vậy bây giờ chúng ta hãy nói về những điều kiện này nên được.
Chúng tôi muốn chỉ nhắc nhở lại các người dùng miễn là n là không hợp lệ.
Vì vậy, nghĩ đến bản thân những gì một không hợp lệ giá trị số nguyên sẽ như thế nào
và sau đó tạo ra một Boolean biểu thức để thể hiện điều đó.
>> Chúng ta đã gần hoàn thành với công việc phụ của chúng tôi của nhắc và xác nhận người dùng nhập vào.
Vì vậy, chúng ta hãy làm điều này một chút chút hơn người dùng thân thiện
và cung cấp cho người dùng một chút bit thêm thông tin
những gì chúng ta đang thúc đẩy họ cho.
Vì vậy, hãy nhắc nhở người dùng, theo spec, với biên chuỗi.
Vì vậy, sử dụng câu lệnh printf của bạn, làm cho chắc chắn rằng bạn kết hợp này chính xác.
>> Tất cả các quyền.
Vì vậy, bây giờ chúng tôi có một người dùng hợp lệ đầu vào, một số nguyên dương
giá trị trong bao nhiêu phút họ đã trải qua trong phòng tắm.
Vì vậy, những gì tiếp theo là tính toán số lượng tương đương của chai.
Những gì chúng ta đang đi làm ở đây có thể rất rõ ràng cho bạn lúc đầu,
và đó là OK.
Những gì chúng tôi muốn làm là chúng ta muốn bắt đầu tập luyện
ý tưởng về việc phát hiện mẫu và phát triển công thức cho vấn đề.
>> Vì vậy, chúng tôi đang nói với mỗi spec rằng một phút trong khi tắm
tương đương với khoảng 12 chai nước.
Vì vậy, sau đó hai phút sẽ tương đương với 24,
và năm phút sẽ tương đương với 60.
Vì vậy, bây giờ nếu bạn nghĩ bạn đã có nó, sau đó hãy
xem nếu bạn có thể đi lên với một mô hình hay công thức
bày tỏ nếu chúng ta đã nói, n phút, bao nhiêu chai nước
đó sẽ được thể hiện trong các điều khoản của n?
>> Một lần nữa, mặc dù điều này có thể là đơn giản lúc đầu,
sau khi chúng tôi nhận được vấn đề phức tạp hơn
chúng ta sẽ muốn nhận được vào việc thực hành xác định
mô hình và công thức phát triển để tìm những thứ này ra.
>> Trong c bạn có thể truy cập phép tính số học chuẩn,
cộng, trừ, nhân, chia.
Vì vậy, tôi sẽ để lại nó cho bây giờ bạn phải tìm ra
làm thế nào để thể hiện số lượng tương đương của chai
mà người dùng tiêu thụ trong thời gian tắm của họ.
>> Được rồi, chúng ta đã gần xong.
Chúng tôi đã nhắc nhở người sử dụng cho đầu vào của họ, chúng tôi đã chắc chắn rằng đó là đầu vào hợp lệ,
và sau đó chúng tôi đã tìm ra cách để tính toán tương đương
số chai mà họ tiêu thụ.
Vì vậy, điều cuối cùng cần làm là đầu ra số lượng tương đương của chai
và hy vọng khuyến khích họ để bảo tồn một số nước.
>> Xuất ra giá trị sẽ là một tuyên bố printf.
Nếu tôi muốn nói với bạn rằng tôi có ba vật nuôi, ví dụ,
Tôi có thể sử dụng một tuyên bố printf trông giống như thế này.
Tôi có ba vật nuôi, và một mới dòng cho định dạng tốt đẹp.
>> Bây giờ chúng tôi không muốn chỉ đơn giản là mã cứng thứ.
Nói rằng số của tôi vật nuôi thay đổi theo thời gian.
Sau đó, tôi sẽ sử dụng placeholders trong lệnh printf của tôi.
Vì vậy, ở đây số của tôi là một số nguyên.
Vì vậy, tôi sẽ làm cho một giữ chỗ cho một số nguyên sử dụng% i.
Tôi sẽ viết chuỗi, và sau đó sau khi chuỗi
Tôi viết một dấu phẩy và sau đó biến mà tôi muốn in.
Vì vậy, giá trị đó sẽ được in thay cho rằng giữ chỗ,% i.
>> Bạn có thể sử dụng giữ chỗ, như tốt, cho nổi với một% f.
Bạn cũng có thể có nhiều placeholders trong một chuỗi.
Ví dụ, nếu tôi có một số số chó và một số số lượng mèo,
Tôi đặt hai placeholders đây và sau đó hai biến của mình để tương ứng.
>> Vì vậy, bây giờ chúng tôi biết làm thế nào để in các giá trị được lưu trữ trong các biến,
Điều cuối cùng để làm là để đảm bảo chúng tôi rằng
in giá trị trong các định dạng chính xác chỉ định trong đặc tả.
Cùng với đó, chúng tôi đã nhắc nhở các người sử dụng và xác nhận đầu vào của họ.
Chúng tôi sau đó tính tương đương số chai nước
mà họ tiêu thụ trong thời gian tắm của họ, và chúng tôi đã xuất ra giá trị cho họ.
Và như vậy, chúng tôi đã hoàn thành nước.
>> Tên tôi là [? Zamila,?] và đây là CS50.