--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

Cai dat va cau hinh Windows Server 2012 R2 (1)


Mở đầu

Tài liệu này được viết với một vài lý do:

-          Tập dịch tài liệu từ tiếng Anh sang tiếng Việt

-          Giúp các bạn còn yếu tiếng Anh có thêm tài liệu để tham khảo

-          Có nhận xét là cuốn này có khá nhiều lỗi, nên muốn dịch và làm thực hành lại xem thực hư thế nào. Vì từ trước đến giờ bản thân vẫn hay đặt niềm tin hoàn toàn vào các tài liệu tiếng Anh, mà đây lại là một tài liệu của Microsoft.

-          Dịch để tự học

Với những lý do trên, cộng với kiến thức có hạn nên chắc chắn không tránh khỏi những sai sót. Mong bạn đọc bỏ qua.

Đà Lạt, 26/8/2014

Chương 1. Cài đặt và cấu hình server


Các nội dung sẽ trình bày trong chương này:

-          Cài đặt hệ điều hành server

-          Cấu hình server

-          Cấu hình lưu trữ

 

1.1  Cài đặt hệ điều hành server


Các nội dung sẽ trình bày trong phần này:

-          Chuẩn bị cài đặt

-          Chế độ Server Core

-          Tối ưu hệ thống bằng Features on Demand 

-          Cài đặt hệ điều hành Windows Server 2012 R2 

-          Nâng cấp lên Windows Server 2012 R2

-          Di chuyển các thiết lập từ hệ thống cũ sang hệ thống mới

 

Chuẩn bị cài đặt


Việc cài đặt hệ điều hành server cho hệ thống mạng không phải là việc làm thường xuyên. Do vậy, bạn cần phải xem xét cẩn thận trước khi thực hiện. Để lựa chọn hệ điều hành server phù hợp, bạn cần xem xét các khía cạnh sau:

-          Sử dụng hệ điều hành nào

-          Sử dụng giao diện đồ họa hay dòng lệnh

-          Có triển khai ảo hóa hay không

-          Chức năng chính của Server là gì

-          Chạy thử nghiệm hay triển khai cho hệ thống thật

Windows Server 2012 R2 là hệ điều hành 64-bit, không hỗ trợ vi xử lý Itanium.

Windows Server 2012 R2 hỗ trợ ba chế độ làm việc, bạn có thể chuyển đổi qua lại giữa các chế độ làm việc này mà không phải cài đặt lại hệ điều hành:

-          Chế độ dòng lệnh (Server Core)

-          Chế độ giao diện đồ họa (GUI)

-          Chế độ rút gọn (Minimal Server Interface)

Các tiêu chí để lựa chọn phiên bản Windows Server 2012 R2 là:

-          Các chức năng sẽ triển khai trên server

-          Có nhu cầu triển khai hạ tầng ảo hóa không

-          Chi phí bản quyền

Windows Server 2012 R2 có bốn phiên bản, chúng khác nhau về chức năng và chi phí bản quyền. Cụ thể:

Datacenter
Hỗ trợ tới 64 processor, cho phép gắn thêm processor mà không cần tắt máy (hot-add processor). Nếu cài đặt cho các máy ảo, phiên bản này không giới hạn số lượng cài đặt.
Chứa đầy đủ các chức năng của Windows Server 2012 R2
Standard
Chứa đầy đủ các chức năng của Windows Server 2012 R2. Nếu cài đặt cho các máy ảo, số lượng cài đặt được quy định trong giấy phép.
Essentials
Bản này không có chế độ Server Core, không hỗ trợ Hyper-V và Active Directory Federation Services. Chỉ cài được trên một máy (máy thật hoặc máy ảo). Số tài khoản người dùng không vượt quá 25.
Foundation
Chức năng bị hạn chế, chỉ có một số chức năng quan trọng như quản lý tập tin, in ấn, và ứng dụng. Số tài khoản người dùng không vượt quá 15.

Sau khi cài đặt hệ điều hành Windows Server 2012 R2, tùy theo chức năng của server, bạn sẽ tiến hành cài đặt các role.

Role là các chức năng quan trọng được tích hợp sẵn trong hệ điều hành server. Bạn có thể cài đặt các role bằng Server Manager hoặc Windows PowerShell.

Do Windows Server 2012 R2 có hỗ trợ ảo hóa, nghĩa là bạn sẽ có hai chế độ bản quyền khác nhau. Bản quyền cho các máy thật và bản quyền cho các máy ảo. Bản quyền cho máy thật gọi tắt là POSE (Physical Operation System Environment). Bản quyền cho máy ảo gọi tắt là VOSE(Virtual Operation System Environment).

Khi bạn đã mua bản quyền, bạn sẽ luôn được phép cài đặt trên máy thật. Tuy nhiên, số lượng được phép cài đặt trên máy ảo có khác nhau giữa các bản. Xem chi tiết trong bảng sau:

Bản
Số lượng POSE
Số lượng VOSE
Datacenter
1
Không giới hạn
Standard
1
2
Essentials
1 (POSE hoặc VOSE)
1 (POSE hoặc VOSE)
Foundation
1
0

Bảng sau là thông tin liên quan đến việc mua bản quyền Windows Server 2012 R2

Bản
Bán lẻ
(retail)
Bán sỉ
(Volume
Licensing)
Nhà cung cấp thiết bị
(OEM - Original Equipment Manufacturer)
Datacenter
Không
Standard
Essentials
Foundation
Không
Không

 

Yêu cầu về cấu hình phần cứng


Cấu hình phần cứng tối thiểu để cài đặt hệ điều hành Windows Server 2012 R2:

-          Processor: 64-bit, 1.4 GHz

-          RAM: 512 MB

-          Đĩa cứng: 32 GB

-          Độ phân giải màn hình 1024 x 768 hoặc cao hơn

-          Có chuột (hoặc thiết bị thay thế chuột), bàn phím

-          Có kết nối Internet

Bảng sau là cấu hình hệ thống tối đa mà Windows Server 2012 R2 và Windows Server 2008 R2 có thể hỗ trợ:


Windows Server 2012 R2
Windows Server 2008 R2
Logical processors [1]
640
256
RAM
4 TB
2 TB


Số nút cho phép trong Failover cluster
64
16

 

Chế độ Server Core


Server Core: là một chế độ làm việc của hệ điều hành, ở chế độ này hệ điều hành sẽ giảm thiểu các chức năng không cần thiết. Ví dụ: giảm thiểu các thành phần giao diện người dùng, không có trình đơn Start, không có Desktop Explorer, không có MMC, hầu như không có ứng dụng đồ họa, chỉ có giao diện dòng lệnh. Xem hình minh họa.




Ưu điểm khi chạy ở chế độ Server Core:

-          Tiết kiệm tài nguyên phần cứng: vì đã loại bỏ các thành phần cần dùng nhiều RAM và processor.

-          Tiết kiệm không gian đĩa cứng: vì đã giảm được một phần không gian để lưu các thành phần của hệ điều hành, không gian cho quá trình chuyển đổi vùng nhớ (swap) cũng không cần nhiều.

-          Giảm thiểu việc nâng cấp liên quan đến các thành phần giao diện đồ họa, do vậy hạn chế việc phải khởi động lại máy tính, hệ thống ít có thời gian chết hơn.

-          Giảm các tấn công từ bên ngoài

Windows Server 2012 R2 cho phép chuyển đổi qua lại giữa chế độ Server Core và GUI mà không phải cài đặt lại hệ điều hành, sử dụng Windows PowerShell (Windows Server 2008 và 2008 R2 không cho làm điều này). Như vậy chúng ta có thể cài đặt Server ở chế độ GUI, thực hiện các cấu hình cần thiết ở chế độ đồ họa, sau đó chuyển nó sang dạng Server Core.

Chế độ cài đặt mặc định của Windows Server 2012 R2 là chế độ Server Core.

Windows Server 2012 R2 trang bị đầy đủ các công cụ cho phép quản trị hoàn toàn từ xa.

Bảng sau liệt kê các role và feature (chức năng) có và không có trong chế độ Server Core của Windows Server 2012 R2.

Các role có sẵn trong Server Core
Các role không có sẵn trong Server Core
Active Directory Certificate Services
Active Directory Federation Services
Active Directory Domain Services
Application Server
Active Directory Lightweight Directory Services
Fax Server
Active Directory Rights Management Services
Network Policy and Access Services
DHCP Server
RemoteDesktop Gateway
RemoteDesktop Session Host
RemoteDesktop Web Access
DNS Server
Volume Activation Services
File and Storage Services
Windows Deployment Services
Hyper-V

Print and Document Services

Remote Access

Web Server (IIS)

Windows Server Update Services

 

Chế độ Minimal Server Interface


Là chế độ giao diện người dùng đã được lược bớt một số thành phần. Ví dụ các thành phần đã bị gỡ bỏ: Internet Explorer, Desktop, File Explorer, các ứng dụng Desktop của Windows 8, một số thành phần trong Control Panel (Programs and Features, Networking and Sharing Center, Devices and Printers Center, Display, Firewall, Windows Update, Fonts, Storage Spaces).

Minimal Server Interface có các thành phần sau: Server Manager, MMC, Device Manager, Windows PowerShell.

Để chuyển từ chế độ GUI sang Minimal Server Interface, sử dụng Windows PowerShell hoặc Remove Roles And Features Wizard gỡ bỏ feature Server Graphic Shell. Xem hình minh họa.

 

 

Tối ưu hệ thống bằng Features on Demand


Trong quá trình cài đặt Windows Server 2012 R2, toàn bộ nội dung của đĩa nguồn được chép vào thư mục WinSxS, tổng kích thước khoảng 5GB. Mục đích là để sau này có thể bổ sung thêm một số thành phần của hệ điều hành mà không cần tới đĩa nguồn cài đặt.

Thư mục WinSxS chiếm nhiều không gian đĩa cứng, đặc biệt khi trên server có triển khai nhiều máy ảo. Ngoài ra việc sử dụng SANs, SSDs cũng làm tốn nhiều không gian đĩa cứng. Features on Demand sẽ giúp tiết kiệm không gian đĩa cứng bằng việc gỡ bỏ một số thành phần không cần thiết từ hệ điều hành và từ thư mục WinSxS.

Trong các bản Windows trước Windows Server 2012 R2, mỗi thành phần của hệ điều hành chỉ có hai trạng thái là hoạt động (enabled) và không hoạt động (disabled). Tuy nhiên Features on Demand cung cấp thêm trạng thái thứ ba là không hoạt động và gỡ bỏ nguồn (Disabled with payload removed).

Để thiết lập trạng thái Disabled with payload removed bằng Windows PowerShell, sử dụng lệnh Uninstall-WindowsFeature với tham số Remove. Ví dụ, để vô hiệu và gỡ bỏ thành phần Server Graphical Shell sử dụng lệnh sau:

Uninstall-WindowsFeature Server-Gui-Shell -Remove

Muốn khôi phục lại một thành phần đã bị vô hiệu và gỡ bỏ nguồn, bạn phải sử dụng Windows Update hoặc lấy lại từ đĩa nguồn.


[1] Ebook “Exam Ref 70-410 - Installing and Configuring Windows Server 2012 R2”ghi thiếu chữ Logical

---------------------------
Tham khảo (Lược dịch): 

Craig Zacker, Exam Ref 70-410 - Installing and Configuring Windows Server 2012 R2, Microsoft Press, 2014
---------------------------
Cập nhật 2014/8/26
---------------------------
Đọc thêm
Cai dat va cau hinh Windows Server 2012 R2 (2)

NMMT - 3 - Anh so

(tiếp theo của Nhập môn máy tính - 2)



Ảnh số trong máy tính


Hãy quan sát tấm ảnh dưới đây (Hình 6).



Hình 6 là một tấm ảnh với vài bông hoa màu vàng, những bông hoa trông rất tự nhiên và tròn trịa. Tuy nhiên, khi được lưu trữ hoặc hiển thị trong máy tính, chúng chỉ là các con số. Vậy, bản chất của ảnh số là gì?

Hãy quan sát phần chính giữa của bông hoa phía trên, góc trái. Ở giữa bông hoa có một vùng màu xanh nhỏ, ở giữa vùng màu xanh nhỏ có một chấm màu trắng. Nếu phóng lớn vùng đó lên 10 lần bạn sẽ thấy nó giống như Hình 7.



Quan sát kĩ Hình 7, sẽ thấy bức ảnh được ghép bởi rất nhiều các hình vuông nhỏ. Các hình vuông nhỏ này người ta gọi là pixel (picture element: điểm ảnh hay phần tử ảnh). Như vậy, mỗi pixel là một hình vuông. Kích thước của một pixel khá nhỏ, khoảng 100pixel/1 inch.

Mỗi pixel sẽ mang một màu duy nhất. Nhìn qua sẽ thấy tấm ảnh ở Hình 7 rất xấu và thô. Tuy nhiên, do kích thước của pixel rất nhỏ nên khi nhìn ở tấm ảnh gốc (Hình 6), bạn sẽ thấy nó rất giống bông hoa thật.

Để tính được số pixel của một tấm ảnh, đơn giản chỉ việc lấy kích thước của chiều rộng (tính bằng pixel) nhân với kích thước của chiều cao (tính bằng pixel).

Ví dụ: một tấm ảnh có kích thước 800 pixel x 600 pixel, thì tổng số pixel của tấm ảnh sẽ là 480 000 pixel.
Chắc bạn đã từng nghe tới thuật ngữ megapixel, một megapixel bằng 1 000 000 pixel. Megapixel được sử dụng để nói về kích thước của một tấm ảnh.

Hiện nay, một máy chụp hình, thậm chí một máy điện thoại có thể chụp được các tấm ảnh có kích thước 5, 10, thậm chí 20 megapixel.

 

Điểm ảnh (pixel)


Hình 8 dưới đây là một phần rất nhỏ của một tấm ảnh, như vậy, một tấm ảnh là một lưới các pixel (còn gọi là lưới điểm), mỗi pixel là một hình vuông mang một màu duy nhất.



Mỗi pixel có một tọa duy nhất để phân biệt với các pixel khác trên một tấm ảnh. Để xác định tọa độ, người ta xây dựng hệ trục tọa độ gồm trục x và trục y. Trục x ứng với cạnh nằm ngang của tấm ảnh, được đánh số từ 0 và tăng dần từ trái sang phải. Trục y ứng với cạnh đứng của tấm ảnh được đánh số từ 0 và tăng dần từ trên xuống dưới.

Ví dụ, pixel phía trên cùng, bên trái, sẽ có tọa độ là (0,0); tức là x = 0 và y = 0. Pixel bên cạnh sẽ có tọa độ là x = 1, y = 0.

Vì vậy, một pixel bất kì luôn luôn có một cặp số (x,y) để xác định vị trí duy nhất của pixel đó so với các pixel còn lại của tấm ảnh.

 

Mã hóa màu sắc cho pixel


Vào những năm 1600, Newton đã thực hiện một thí nghiệm nổi tiếng. Ông ta cho ánh sáng trắng đi qua một lăng kính tam giác. Lăng kính sẽ chia ánh sáng thành một phổ màu liên tục (Hình 9).



Thí nghiệm này chứng tỏ rằng, ánh sáng trắng không phải là một thứ đồng nhất, không thể chia tách. Ngược lại, nó có thể được chia thành các màu riêng biệt, trông giống với hình ảnh của cầu vồng. Gồm các màu: đỏ, cam, vàng, lục (xanh lục), lam (xanh lam), chàm, tím.

Các bạn có thể liên tưởng các dải màu này tương tự như bảng màu trong máy tính. Trong máy tính, người ta sử dụng 3 màu cơ bản là: đỏ (red), lục (green) và lam (blue) để tạo ra các màu còn lại (Hình 10[1]).

Quay trở lại thí nghiệm ở Hình 9, nếu cho ánh sáng trắng đi qua lăng kính sẽ được một dải màu liên tục. Vậy nếu chúng ta cho một dải màu liên tục như vậy đi ngược lại qua lăng kính thì chúng ta có thu được ánh sáng trắng không? Về mặt thực nghiệm có thể không đạt được hoàn toàn. Tuy nhiên, đây là một gợi ý về cách thức tách màu và tổng hợp màu trong máy tính.

Chuyện vui về màu chàm (indigo): thực tế bạn rất khó phân biệt được cái màu nằm giữa màu lam (blue) và màu tím (violet). Nếu cần thiết phải đặt cho vùng màu đó một cái tên thì đặt, còn nếu không, bạn có thể gọi nó là màu lam cũng được. Lý do có màu chàm là: vào những năm 1600, Newton và mọi người đều tin vào một số điều huyền bí, cụ thể, ở thời điểm này con người đã biết về bảy hành tinh, và Newton cũng muốn số màu trong quang phổ của mình cũng trùng với con số bảy này, nên việc bổ sung thêm màu chàm chỉ nhằm mục đích đạt được con số bảy.

 

Mô hình màu RGB (RGB scheme)


RGB là một trong những mô hình màu được sử dụng để mã hóa một màu cụ thể. RGB là viết tắt của ba từ: Red, Green và Blue.

Thực tế, màu của mỗi điểm ảnh trên màn hình máy tính có thể được biểu diễn bằng ba giá trị màu khác nhau trong bộ nhớ, gồm: đỏ, lục, và lam. Khi được hiển thị ra màn hình, dựa vào ba giá trị màu này, hệ thống sẽ tạo ra ba mức cường độ khác nhau và gửi tới màn hình. Tại màn hình quá trình tổ hợp màu sẽ được thực hiện. Tùy theo giá trị cường độ khác nhau của mỗi màu, hệ thống có thể tái tạo được rất nhiều các màu khác nhau.

Để rõ hơn bạn có thể quan sát hoạt động của mô hình màu RGB trong máy tính. Bạn mở chương trình mspaint.exe (mở cửa sổ dòng lệnh, gõ mspaint) có sẵn trong hệ điều hành Windows.

Trong cửa sổ của chương trình Paint, chọn trình đơn Colors, chọn Edit Colors. Trong cửa sổ Edit Colors, chọn Define Custom Colors. Tại đây, bạn có thể thay đổi giá trị trong các ô Red, Green và Blue với giá trị bất kì từ 0 đến 255 để xem kết quả (Hình 11).




Bảng dưới đây là ví dụ về một số màu với giá trị tương ứng của Red, Green và Blue.

Màu
Giá trị của Red
Giá trị của Green
Giá trị của Blue
Đỏ
255
0
0
Vàng
255
255
0
Đen
0
0
0
Trắng
255
255
255

 

Pixel và RGB


Có thể nói vắn tắt về một tấm ảnh như sau: một tấm ảnh là tập hợp của các pixel, mỗi pixel chứa một màu cụ thể, mỗi màu này là sự kết hợp của ba màu cơ bản là đỏ, lục và lam với tỉ lệ nhất định, tỉ lệ của mỗi màu được đại diện bởi một con số, giá trị của mỗi con số nằm trong khoảng từ 0 tới 255.

Hình 12 là thể hiện của các pixel với giá trị màu của nó.



Như vậy từ tấm ảnh ban đầu, chúng ta đã biến đổi nó thành dạng lưới điểm hay lưới pixel. Trong đó, mỗi pixel gồm có hai loại giá trị, một là các giá trị thể hiện vị trí, hai là các giá trị thể hiện màu sắc. Tất cả các giá trị đều ở dạng số. Đây cũng là một bài toán phổ biến trong khoa học máy tính, bài toán số hóa các đối tượng.

Với con người, một tấm ảnh, một đoạn âm thanh, một cuốn sách là các đối tượng vật chất cụ thể. Tuy nhiên, với máy tính, chúng chỉ là dữ liệu. Các đối tượng vật chất sẽ được số hóa và tổ chức lưu trữ vào các cấu trúc dữ liệu cụ thể, khi đó nó chỉ còn là các con số.

Ví dụ, nếu bạn muốn làm cho một tấm ảnh sáng hơn, với con người đó là tăng độ sáng để nhìn ảnh được rõ hơn. Tuy nhiên, như bạn biết, màu tại mỗi pixel được thể hiện bằng ba giá trị của đỏ, lục, và lam. Vì vậy, muốn tăng độ sáng chỉ cần tăng đồng thời cả ba giá trị này lên, kết quả là màu của pixel sẽ sáng hơn. Thực hiện như vậy cho tất cả các pixel sẽ làm cho cả tấm ảnh sáng hơn.


[1] http://www.kirupa.com/design/little_about_color_hsv_rgb.htm

-------------------------
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/7/8

NMMT - 2 - Bien

(tiếp theo của Nhập môn máy tính - 1)



Chú thích

Trong khi viết mã, để ghi lại các lưu ý cho một đoạn mã, cho một dòng mã, hay một ghi chú bất kì, bạn có thể sử dụng chức năng chú thích.

Chú thích sẽ được bắt đầu bằng dấu //, sau đó là nội dung của chú thích. Toàn bộ nội dung trên một hàng, nằm sau dấu chú thích sẽ được máy tính bỏ qua trong quá trình thực thi đoạn mã.

Ví dụ, bạn nhập đoạn mã sau và chạy thử.

<!DOCTYPE html>
<html>
<body>

<script>
 //Vi du ve chuoi
 document.write(1); //in so 1
 document.write ("document.write(1);"); //in mot chuoi
</script>

</body>
</html>

 

Biến và dấu gán “=”


Phần này trình bày về khái niệm biến và lệnh gán trong đoạn mã lập trình.

Biến giống như một cái hộp trong bộ nhớ máy tính, cái hộp này dùng để chứa: một số, một chuỗi, hoặc một giá trị bất kì (Hình 5).



Từ hình trên (Hình 5), var x là lệnh khai báo một biến có tên là x. Nói một cách hình ảnh, sau lệnh var x, máy tính sẽ tạo một cái hộp trong bộ nhớ và gắn nhãn là x.

Dấu “=” trong lệnh x = 7 sẽ thực hiện gán giá trị cho một biến, ở đây là gán giá trị 7 vào biến x, nghĩa là đem bỏ số 7 vào cái hộp.

Nhập đoạn mã sau và chạy thử.

<!DOCTYPE html>
<html>
<body>

<script>

var x;
 x = 7;

 document.write(x);
 document.write("<br/>" + "Gia tri cua bien la: ", x);  //<br/> lenh xuong hang
 document.write("<br/>" + "Noi dung cua hop la: ", x);

</script>

</body>
</html>

Khi chạy đoạn mã trên, máy tính sẽ xuất ra màn hình ba hàng, với số 7 ở cuối mỗi hàng, cụ thể là:

7
Gia tri cua bien la: 7
Noi dung cua hop la: 7

Trong đoạn mã, các lệnh:

 document.write(x);
 document.write("<br/>" + "Gia tri cua bien la: ", x);  //<br/> lenh xuong hang
 document.write("<br/>" + "Noi dung cua hop la: ", x);

có sử dụng đến biến x, trong trường hợp này là lấy giá trị đang chứa trong biến x để in ra màn hình. Hay nói cách khác là lấy giá trị đang có trong cái hộp x để in ra màn hình.

Tiếp theo, hãy thay đổi hàng x = 7 thành x = 8, rồi chạy thử đoạn mã. Bạn sẽ thấy kết quả xuất sẽ đồng loạt thay số 7 thành số 8.

Như vậy, lệnh x = 8 đã làm thay đổi giá trị của biến x. Do biến x chỉ chứa được một giá trị, nên lệnh x = 8 sẽ bỏ số 7 trong hộp x ra và thay vào đó là số 8.

Chúng ta đã biết có hai kiểu dữ liệu phổ biến là số và chuỗi. Vì vậy, bạn có thể thử bỏ một chuỗi vào trong hộp x xem sao. Để thực hiện chỉ cần thay dòng lệnh x = 8 thành x = “hi”. Chạy đoạn mã, sẽ thấy trong kết quả, toàn bộ số 8 được thay thế bằng chuỗi “hi”.

Để đặt tên cho biến, có thể chọn tên bất kì không nhất thiết phải là x như trong ví dụ. Bạn có thể đặt tên biến là abc, như trong đoạn mã sau.

var abc;
 abc = 7;
 document.write(abc);
 document.write("<br/>" + "Gia tri cua bien la: ", abc
 document.write("<br/>" + "Noi dung cua hop la: ", abc);

Sử dụng biến sẽ giúp tăng hiệu quả trong các công việc có tính lặp lại. Ví dụ, khi muốn thử chạy chương trình với một số giá trị nào đó. Chúng ta sẽ tạo ra một biến, gán giá trị cho biến, và các câu lệnh tiếp sau sẽ sử dụng tới tên biến này. Nếu chúng ta cần chạy chương trình trên các giá trị còn lại, chúng ta chỉ cần thay đổi giá trị một lần tại lệnh gán giá trị cho biến.

Lưu ý: dấu = ở đây có ý nghĩa khác so với dấu = trong toán học. Trong toán học khi bạn nói x = y nghĩa là x luôn luôn bằng y. Tuy nhiên, trong đoạn mã lập trình, dấu bằng chỉ là lệnh gán giá trị. Ví dụ, lệnh x = 7 sẽ lấy giá trị 7 bỏ vào cái hộp có gắn nhãn là x, tức là tại thời điểm lệnh này chạy, hộp x sẽ có giá trị bằng 7, còn sau đó trong chương trình nếu có lệnh gán giá trị khác cho x thì lúc đó x không bằng 7 nữa.

Bài tập

Viết một đoạn mã để xuất các nội dung sau ra màn hình. Yêu cầu trong đoạn mã, từ Dalat chỉ được xuất hiện một lần.

Dalat Dalat Dalat Dalat
Mau xanh Dalat
Nho ve Dalat mot chieu mua

Đáp án:

<!DOCTYPE html>
<html>
<body>

<script>

var x;
 x = "Dalat";

 document.write(x, x, x, x);
 document.write("<br/>" + "Mau xanh ", x);
 document.write("<br/>" + "Nho ve ", x, " mot chieu mua");

</script>

</body>
</html>


-------------------------
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/21

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