NMMT - 1 - Mo dau



Nhập môn máy tính

 

Mở đầu


Với tài liệu này, hi vọng các bạn sẽ hiểu thêm về chiếc máy vi tính, về thế giới Internet.

Để theo dõi bài viết, bạn không cần phải có bất cứ kiến thức nền tảng nào về máy tính, về mạng máy tính, về Internet.

Tài liệu sẽ trình bày các đặc điểm cơ bản của máy tính, ví dụ: nó hoạt động ra sao, nó có thể làm được những việc gì, và những việc gì nó không thể làm được.

Khi nói đến máy tính, có một công thức phổ biến là:

Computer = Powerful + Stupid

Tạm dịch:

Máy tính = Tính toán nhanh + Trí tuệ tầm thường

-         Tính toán nhanh: là nói về khả năng xử lý các phép toán của máy tính, nó có thể thực hiện hàng tỉ phép toán trong một giây.

-         Trí tuệ tầm thường: muốn nói về cái cách nó làm một công việc, nó làm việc hết sức máy móc, không có sáng tạo, chỉ làm được các phép toán đơn giản, và không có khả năng nhìn nhận vấn đề một cách sâu sắc như con người.

Tuy nhiên, bản thân máy tính lại là một sự kết hợp hiệu quả giữa hai đặc điểm này. Đây là một sự kết hợp khá đặc biệt. Sự kết hợp giữa khả năng làm việc rất nhanh và đặc tính là chỉ làm được các việc rất đơn giản.

Hãy quan sát một đoạn mã lập trình dưới đây, để thấy các công việc mà máy tính có thể thực hiện được là rất đơn giản.

CongViec1 (1+1)
CongViec2  2 < 10 ?
CongViec3 …
CongViec4 …

Ở đoạn mã trên, công việc 1, máy tính sẽ thực hiện phép cộng: 1 + 1 và công việc 2, máy tính sẽ cho biết 2 có nhỏ hơn 10 hay không?

Tuy nhiên, như chúng ta đã biết, máy tính lại là một công cụ rất hữu ích, không thể thiếu trong cuộc sống, nó hỗ trợ con người trong mọi lĩnh vực.

Bằng cách nào, mà từ một chiếc máy chỉ có khả năng thực hiện các công việc đơn giản, làm việc một cách máy móc, lại trở thành một thiết bị rất hữu ích và không thể thiếu trong cuộc sống như vậy? Bạn sẽ tìm được câu trả lời ở các phần sau.

 

Máy tính hoạt động như thế nào?


Máy tính được điều khiển bằng các đoạn mã lập trình.

Hình 1 là mô hình một cái máy tính với đoạn mã lập trình bên trong. Đoạn mã thực hiện hai công việc là: thực hiện phép tính 1 + 1 và cho biết 2 có nhỏ hơn 10 hay không.



Trong mô hình đơn giản này, máy tính sẽ thực hiện tuần tự các lệnh từ trên xuống. Tới đây có thể bạn sẽ thắc mắc: “Tại sao máy tính chỉ làm được các công việc đơn giản như vậy, thì làm sao nó lại có rất nhiều các ứng dụng hữu ích trong cuộc sống?”.

Hãy quan sát Hình 2 dưới đây.



Câu trả lời chính là lập trình cho máy tính.

Sau đây là các bước để có được một chương trình ứng dụng cho máy tính. Ví dụ, chương trình tìm và khử tình trạng bị mắt đỏ trên các tấm hình.

-         Bước đầu lập trình viên sẽ có ý tưởng là tìm và khử tình trạng bị mắt đỏ trên các tấm hình.

-         Bằng trí tưởng tượng và óc sáng tạo, anh ta sẽ nghĩ ra một số giải pháp để giải quyết bài toán này bằng máy tính.

-         Sau đó sẽ thực hiện cấu trúc và phân rã bài toán ban đầu thành nhiều bài toán nhỏ hơn, để máy tính có thể thực hiện được.

-         Sau cùng là lập trình, tức là hướng dẫn cho máy tính làm từng bước để làm sao đạt được mục đích cuối cùng.

Trong thực tế, các tiện ích, các ứng dụng mà bạn đã sử dụng trong điện thoại di động, máy chụp hình kĩ thuật số, hoặc trong máy tính, tất cả đều là kết quả do một hoặc nhiều người đã làm việc vất vả để tạo ra nó.

Ở đây đã có một sự cộng tác hiệu quả, giữa một bên là lập trình viên, là con người với óc sáng tạo và cảm nhận sâu sắc về thế giới, luôn nghĩ ra những việc có ích để làm. Và một bên là máy tính với khả năng xử lý rất nhanh các lệnh do người lập trình đưa ra. Để cuối cùng có được kết quả như mong muốn của con người, xem Hình 3.



Sự cộng tác giữa con người và máy tính đã giúp cho máy tính đang làm được rất nhiều việc hữu ích.

Vì vậy, tài liệu này sẽ tập trung vào hai mảng lớn là tìm hiểu về máy tính và lập trình cho máy tính làm việc.

 

Lập trình cho máy tính


Lập trình là việc sử dụng một ngôn ngữ mà máy tính có thể hiểu được, để lập chương trình (kịch bản) cho máy tính làm việc.

Phần tiếp theo sẽ trình bày một số ví dụ đơn giản về lập trình cho máy tính, mục đích là giúp bạn làm quen với khái niệm lập trình, và phần nào hiểu thêm về bản chất làm việc rất máy móc của máy tính.

Để đơn giản, ví dụ sẽ sử dụng ngôn ngữ lập trình JavaScript. Với ngôn ngữ này bạn chỉ cần có trình duyệt web là có thể lập trình, chạy thử và xem kết quả. Tất nhiên, chỉ là các chương trình đơn giản đầu tiên.

Ví dụ 1: Viết chương trình in các số ra màn hình.

Để thực hiện, bạn mở trình duyệt web lên (Mozilla Firefox, Chrome, Internet Explorer).

Dán đường dẫn sau vào thanh địa chỉ của trình duyệt web: http://www.w3schools.com/js/tryit.asp?filename=tryjs_myfirst

Màn hình kết quả như Hình 4 dưới đây.



Ở Hình 4, bạn nhập mã lập trình vào cửa sổ phía trái, có tên là Source Code, sau đó bấm nút Submit Code để ra lệnh cho máy tính thực thi đoạn mã lập trình, và máy tính sẽ xuất kết quả sang màn hình phía bên phải, có tên là Result.

In số

Để in các số: 1, 2, 3 ra màn hình, bạn xóa sạch màn hình Source Code và nhập vào đoạn mã sau.

<!DOCTYPE html>
<html>
<body>

<script>
 document.write(1);
document.write (2, 3);
</script>

</body>
</html>

Sau đó bấm nút Submit Code để xem kết quả.

Việc học một ngôn ngữ lập trình (ví dụ JavaScript) cũng tương tự như học một ngoại ngữ. Bạn học được càng nhiều thì càng có khả năng nói chuyện được với máy tính nhiều hơn. Vì vậy, bạn phải thật kiên trì.

Vì máy tính làm việc rất máy móc, nên cú pháp của ngôn ngữ lập trình quy định rất chặt chẽ. Bạn không thể viết một cách tự do như khi viết email. Bạn có thể kiểm tra tính chất này bằng cách xóa đi một dấu chấm, một dấu phẩy, hay một dấu ngoặc đơn ở đoạn mã bên trên là máy tính sẽ không hiểu và không thể thực thi đoạn mã.

In chuỗi

Chuỗi là một dãy các kí tự. Ví dụ: địa chỉ một trang web như “www.google.com” được xem là một chuỗi. Hoặc khi các bạn nhập văn bản trong một trình soạn thảo, thì một đoạn văn bản đó cũng có thể được xem là một chuỗi.

Bạn có thể thêm dòng mã:

 document.write (“Chao cac ban”);

vào sau dòng mã:

document.write (2, 3);

ở ví dụ in số, để in chuỗi Chao cac ban ra màn hình.

Trong JavaScript, chuỗi thường được bao lại bằng một cặp dấu nháy kép.

Ví dụ sau phản ánh rất rõ điều này, cũng cùng là nội dung:

document.write(1)

Tuy nhiên, khi viết bình thường nó sẽ là một lệnh để máy tính thực thi, nhưng khi bao nội dung đó bằng một cặp dấu nháy kép, nó sẽ trở thành một chuỗi.

Bạn nhập đoạn mã sau và chạy thử:

<!DOCTYPE html>
<html>
<body>

<script>
 document.write(1);
 document.write ("document.write(1);");
</script>

</body>
</html>

Kết quả sẽ là:

1document.write(1);

-------------------------
Tham khảo
Dựa theo bài giảng của tác giả Nick Parlante, trong loạt bài giảng về Computer Science 101 – Đại học Stanford – Mỹ - 2014.
https://class.coursera.org/cs101-selfservice/wiki/view?page=code-1
------------------------
Cập nhật: 2014/6/18