huongdanlaptrinh [licensed for non-commercial use only] / Bài 1: Lập trình là gì

Cập nhật ngày 04/08/2022 bởi mychi

Bài viết huongdanlaptrinh [licensed for non-commercial use only] / Bài 1: Lập trình là gì thuộc chủ đề về Wiki How thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng https://vietvan.vn/hoi-dap/ tìm hiểu huongdanlaptrinh [licensed for non-commercial use only] / Bài 1: Lập trình là gì trong bài viết hôm nay nhé ! Các bạn đang xem bài viết : “huongdanlaptrinh [licensed for non-commercial use only] / Bài 1: Lập trình là gì”

Đánh giá về huongdanlaptrinh [licensed for non-commercial use only] / Bài 1: Lập trình là gì



Phần I : [Lý thuyết] Cơ sở để bắt đầu

1) Lập trình là gì, bạn đã nghe người ta nói như thế nào về “lập trình”?

Chào mừng các bạn đến với bài học lập trình C/C++ đầu tiên của tôi,

Tôi sẽ là người hướng dẫn ( hay là thầy giáo nếu bạn thích  ) trong suốt các bài học. 

Vậy tôi là ai? Tên tôi, hay là nickname của tôi là [email protected] Tôi đã từng viêt rất nhiều bài hướng dẫn khác trên http://www.siteduzero.com, đặc biệt tôi là người đã tạo nên trang web này. Và đây không phải là lần đầu tiên tôi viết những bài hướng dẫn cơ bản  .

Nhưng khoan hãy nói về tôi đã,  hãy nói về chính bản thân các bạn.

Bạn không hề biết tí gì về lập trình, cũng không chắc đã biết “lập trình” là gì nhưng… chắc chắn là bạn đang muốn học lập trình.

Và bạn phải xác định chính xác mục tiêu: “học lập trình”. 

Nhưng lập trình C / C++… Đó nghĩa là gì? Và có phải thật sự tốt nếu ta bắt đầu học từ nó? Và bạn đã biết lập trình trước đó chưa? Có phải chúng ta có thể làm tất cả mọi thứ trên máy tính với nó?

Nhiêm vụ quan trọng của phần học này là trả lời tất cả những câu hỏi đơn giản như thế.

Tóm tắt phần học này:

1) Bạn đã nói “lập trình”?

Lập trình là gì ?

Lập trình trên ngôn ngữ nào ?

Lập trình có khó không ?

Q.C.M.

Lập trình là gì?

Chúng ta bắt đầu từ một câu hỏi đơn giản nhất có thể. 

Nếu bạn đã biết điều này trước đó, tôi vẫn khuyên bạn nên đọc lại nó. Tôi sẽ bắt đầu bài hướng dẫn từ zero, dành một người không biết tí gì về lập trình. 

 “lập trình” (programmer, program ) nghĩa là gì?

Vâng tôi sẽ tránh làm giống như thầy giáo dạy văn của tôi. Tôi sẽ không đưa ra cho bạn nguồn gốc của từ lập trình (programmer, program). Nhưng dù sao đi nữa nó xuất phát từ một từ latin “programmeus” . 

Nói đơn giản, lập trình nghĩa là tạo nên những “chương trình tin học”. Những chương trình đòi hỏi máy tính thực hiện tất cả công việc.

Máy tính bạn chứa đầy các chương trình ở tất cả mọi thể loại:

  • Calculator chính là một chương trình.
  • Các công cụ xử lí văn bản của bạn cũng là chương trình.
  • Các software dùng để “chat” cũng là chương trình.
  • Trò chơi điện tử cũng là chương trình.

Tóm lại, chương trình ở khắp mọi nơi trên máy tính và cho phép thực hiện bất cứ điều gì. Bạn có thể tạo ra một chương trình mang tính cách mạng nếu bạn may mắn, hoặc thực hiện một game đánh nhau 3D trên internet… Máy tính của bạn có thể làm tất cả (trừ những việc như làm ra café) 

Trò chơi nổi tiêng Half-life 2, được lập trình bằng C++

 Chú ý rằng tôi không nói người ta thực hiện trò chơi hoàn toàn bằng cách đánh máy. Ý của tôi đơn giản là tất cả những điều đó là có thể, nhưng chắc là bạn phải cần làm việc rất nhiều

Bạn sẽ không bắt đầu bằng việc thực hiện một trò chơi 3D. Điều đó chắc chắn là tự sát . Chúng ta hãy bắt đầu từ những điều cơ bản. Đầu tiên là làm sao hiển thị lên màn hình một tin nhắn

Bạn phải học từng thứ từng thứ một, và từ từ bạn sẽ có khả năng thực hiện những chương trình với độ khó ngày càng gia tăng. Mục đích của toàn bộ bài hướng dẫn này giúp bạn có khả năng xoay sở trên bất kì chương trình viết bằng C hay C++ nào.

Lập trình bằng ngôn ngữ nào?

Ít nhất ta có thể nói rằng máy tính là một cỗ máy kì lạ: chỉ nhận và gửi lại những số 0 và 1.

Ví dụ, nếu dịch: ”thực hiện phép tính 3 + 5” về ngôn ngữ tin học, nó sẽ có dạng như sau:

0010110110010011010011110

(dãy số trên do tôi chế ra đấy, vì tôi không thạo việc dịch ra ngôn ngữ tin học  )

Những số mà bạn thấy ở trên, là ngôn ngữ của máy tính, gọi là ngôn ngữ nhị phân (langage binaire, language binary). Máy tính của bạn chỉ hiểu đươc ngôn ngữ này. Nhưng bạn và tôi, chúng ta hoàn toàn không thể hiểu và học được ngôn ngữ đó.  

Và đây chính là vấn đề đầu tiên của chúng ta:

 Làm cách nào để giao tiếp với máy tính đơn giản hơn việc dùng những số 0 hay 1?

Máy tính của bạn không nói được tiếng anh cũng như tiếng pháp. Và không ai quan niệm phải viết một chương trình bằng ngôn ngữ nhị phân, kể cả những nhà lập trình điên nhất cũng không làm chuyện đó.

Và ý tưởng là phải tạo ra một ngôn ngữ mới đơn giản hơn và nó sẽ được chuyển sang ngôn ngữ nhị phân sau đó. Đây là việc của những nhà lập trình chuyên về ngôn ngữ. Và các chương trình trình này đã đuợc tạo ra bởi họ, và chúng ta sẽ không cần phải thực hiện lại, thật là may mắn phải không ?  .

Nói đơn giản.

Nếu bạn viết một lệnh:

”thực hiện phép tính 3+5”

thì chương trình dịch sẽ chuyển thành những dạng như sau:

“0010110110010011010011110”

Tôi sẽ lập một biểu đồ để giúp bạn hiểu rõ hơn:

Biểu đồ cực kì đơn giản về việc thi hành một chương trình

Ở đây tôi chỉ dùng những từ ngữ đơn giản để giải thích, nhưng trong tin học mỗi vấn đề như vậy đều có một thuật ngữ riêng. Suốt các bài học, bạn sẽ phải học không ít những thuật ngữ đó. Điều đó không chỉ giúp bạn có thể dễ dàng biểu đạt những vẫn đề về tin học, hơn nữa, bạn có thể hiểu được ý của một nhà lập trình nào đó mà bạn sẽ trò chuyện sau này. Hẳn là lúc đó, những người khác xung quanh sẽ nhìn các bạn với ánh mắt khác thường, đó là lý do mà bạn phải chú ý đến việc học những thuật ngữ đó 

Quay lại với biểu đồ ở trên.

Trong ô đầu tiên:” Chương trình được viết bằng ngôn ngữ lập trình đơn giản”. Cụm từ “Ngôn ngữ lập trình đơn giản” còn đuợc gọi là “ngôn ngữ bậc cao”. (langage de haut niveau, high-level programming language).

Có rất nhiều “cấp bậc” trong ngôn ngữ. Và ngôn ngữ bậc càng cao càng gần và giống với ngôn ngữ của chúng ta (cũng giống như tiếng Pháp hay tiếng Anh). Ngôn ngữ bậc cao giúp ta dễ dàng hơn trong sử dụng, nhưng nó vẫn có một vài thiếu sót mà bạn sẽ thấy về sau. Có rất nhiều ngôn ngữ bậc cao hay thấp trong tin học, trong số đó bạn có thể dùng để lập trình. Và đây là một vài ví dụ:

  • C
  • C++
  • Java
  • Visual Basic
  • Delphi
  • …vv…

Viết thêm rằng ở đây tôi không sắp xếp chúng theo “cấp bậc của ngôn ngữ”, vì thế bạn đừng nghĩ rằng ngôn ngữ đầu tiên sử dụng dễ dàng hơn hay ngược lại. Đó chỉ là một vài ví dụ bất chợt nảy ra trong đầu của tôi. 

(Còn rất nhiều ngôn ngữ khác nữa mà tôi không liệt kê ra hết, vì sẽ rất dài nếu ghi hết ra  , xin các bạn bỏ qua cho)

Một số ngôn ngữ có bậc cao hơn các ngôn ngữ khác ( về mặt lí thuyết thì dễ dàng sử dụng hơn), chúng ta sẽ xem xét điều này sau, đặc biệt là sự khác nhau giữa ngôn ngữ C và C++.

Một từ ngữ khác mà ta phải nắm đó là: mã nguồn (code source). Đó đơn giản là phần mã của chương trình được viết bằng ngôn ngữ bậc cao. Và tất cả những mã nguồn đó sẽ được dịch thành ngôn ngữ nhị phân.

Trong giai đoạn tiếp theo, “chương trình biên dịch” sẽ dịch ngôn ngữ bậc cao đó (C hay C++) sang nhị phân. Chương trình này có tên là compilateur (compiler). Việc dịch gọi là compilation (compilation).

Quan trọng: các ngôn ngữ bậc cao khác nhau sẽ có các compilateur khác nhau. Nói cách khác, chúng ta không thể dịch ngôn ngữ C++ cùng với cách mà ta dịch ngôn ngữ Delphi.

 Về sau bạn sẽ nhận thấy, cùng một ngôn ngữ sẽ có nhiều compilateurs khác nhau (compilateur của Microsoft, compilateur GNU… tôi sẽ nói về chúng ở những chương sau.) Rất may mắn là những compilateur đó gần như giống nhau (đôi khi chúng có những khác biệt nhỏ và tôi sẽ chỉ cho bạn).

Cuối cùng , ngôn ngữ nhị phân được tạo ra bởi compilateur được gọi là: l’exécutable (executable). Các chương trình này trên Windows có đuôi “.exe” giống như EXEcutable.

Quay lại với biểu đồ vừa rồi nhưng thay bằng những thuật ngữ tin học chính xác:

Cùng biểu đồ nhưng biểu đồ này dùng các thuật ngữ chính xác hơn

   Tại sao chọn học C/C++?

Như tôi đă nói với bạn ở trên, có rất nhiều ngôn ngữ bậc cao. Chúng ta sẽ bắt đầu bằng một trong số đó.

Nhưng mà bạn phải có một sự lựa chọn giữa:

  • Một ngôn ngữ lập trình có bậc rất cao: dễ dàng dử dụng, “thông dụng”, như Visual basic. Nhưng các ngôn ngữ này có rất nhiều khuyết điểm: đầu tiên là phải mua bản quyền để sử dụng, giá thành mắc, và bị nhiều hạn chế. Ví dụ, chương trình mà bạn viết sẽ chỉ chạy được trên Windows, đừng nghĩ đến việc chạy nó trên Linux hay Macinstosh! Hay trên hết, bạn không có thể làm tất cả những gì bạn muốn với dạng ngôn ngữ này, và điều đó khiến bạn cảm thấy hạn chế khi sử dụng.
  • Một ngôn ngữ khác ở vị trí tương đối thấp hơn (nhưng nó không thấp lắm đâu!): có thể nó sẽ hơi khó hơn visual basic, nhưng chắc chắn một điêu là với một ngôn ngữ như C(hay C++) bạn sẽ giúp bạn học thêm rât nhiều trong việc lập trình cũng như hiểu thêm cách hoạt động của máy tính. Và sau đó hoàn toàn đủ khả năng học thêm một vài ngôn ngữ khác nếu bạn muốn. Bạn sẽ tự chủ hơn. Mặt khác, ngôn ngữ C và C++ được sử dụng khá rộng rãi. Nó được dùng để lập trình phần lớn các chương trình bạn biết. Cuối cùng, để lập trình trên C hay C++, bạn không cần phải mua bất kì chương trình nào vượt ngoài túi tiền của bạn, vì ngôn ngữ này hoàn toàn miễn phí!

Và đó là lý do thúc đẩy tôi hướng dẫn bạn ngôn ngữ C trước tiên. Tôi không hề nói rằng chúng ta bắt buộc phải bắt đầu từ đây, nhưng lựa chọn này sẽ giúp bạn bạn có được những kiến thức bền vững.

Tôi xem như đây chính là ngôn ngữ lập trình đầu tiên của bạn, và bạn không biết tí gì về lập trình trước đó. Có thể, bạn đã biết lập trình rồi, nhưng việc học lại từ cơ bản không ảnh hưởng xấu tí nào phải không  .

 Khoan đã, có một cái mà tôi vẫn chưa hiểu: Tôi sẽ học một ngôn ngữ gọi là “C / C++” hay tôi sẽ học 2 ngôn ngữ khác nhau một là “C” và một là “C++”?

Câu trả lời tốt nhất là bạn sẽ cùng lúc học cả 2 ngôn ngữ. Không phải là bạn phải tăng cường độ làm việc lên hai lần đâu  mà là 2 ngôn ngữ này khá giống nhau. (Khi tôi nói đến 2 ngôn ngữ cùng lúc, tôi sẽ viêt “C / C++”). 

Và chúng ta phải hiểu rõ sự khác nhau giữa C và C++ trước khi bắt đầu:

  • Giai đoạn đầu, lúc các máy tính có khối lượng tính bằng tấn và có kích thước to như ngôi nhà, người ta đã sáng tạo ra một ngôn ngữ lập trình gọi là Algol.
  • Sau nhiều cải tiến, người ta đã tạo ra một ngôn ngữ mới gọi là CPL, và chính nó phát triển thành BCPL, sau đó nó được mang tên là ngôn ngữ B. (Các bạn không cần phải nắm tất cả những điều này, tôi viết ra chỉ để có thêm chút dáng vẻ về lịch sử mà thôi  )
  • Và trong một ngày đẹp trời, người ta đã hoàn tất việc tạo ra một ngôn ngữ mới gọi là… ngôn ngữ C. Qua các sửa đổi, ngôn ngữ này vẫn là một trong những ngôn ngữ được sử dụng nhiều nhất cho đên hôm nay.
  • Không lâu sau đó, người ta đề xuất thêm vào ngôn ngữ này một vài thứ để cải tiến, và ngôn ngữ này được gọi là ngôn ngữ C++ hoàn toàn dựa trên nền tảng của C. Ngôn ngữ C++ không gì khác C ngoại trừ một số cái được thêm vào.(Những cái đó là gì? Chúng ta sẽ thấy về sau).

Có rất nhiều cách để học lập trình. Nhiều người nghĩ rằng cần thiết hơn là học ngay từ “C++”. Điều đó cũng đúng,  chúng tương đối giống nhau, C++ là C được thêm vào “những dấu +”,. Ngôn ngữ C không phải là “ngôn ngữ già cỗi bị lãng quên”, ngược lại nó được sử dụng rât nhiều trong thời đại hiện nay. Nó là nên tảng của những hệ điều hành lớn như Unix hay Windows.

Nếu bạn bắt đầu bằng ngôn ngữ C, sau này bạn học ngôn ngữ C++ sẽ nhanh và dễ dàng hơn. Và bạn sẽ không cần phải học lai tất cả những gì đã biết, bạn chỉ cần học những cái được thêm vào ở “C++” (và đây chính là đều tôi cần nói 

 Có một số hiểu lầm,ngôn ngữ C++ không hề tốt hơn C, nó chỉ cho phép bạn lập trình theo cách khác. Có thể nói, nó chỉ giúp việc lập trình của ta nhanh hơn và dễ dàng hơn trong việc tổ chức mã của chương trình

Nắm vững vấn đề: C và C++ không phải là 2 ngôn ngữ cạnh tranh, đối lập với nhau. Chúng ta đều có thể dùng 2 ngôn ngữ này lập trình những cái tương tự. Chỉ là dùng 2 phương pháp lập trình khác nhau .

Điều thuận lợi hơn là sau này có thể dùng C hay C++ tùy theo ý muốn và mục đích của các bạn  .

Lập trình có khó không ?

Đây chính là câu hỏi khiến bạn phải suy nghĩ nhiều đúng không ? 

Và có phải chúng ta bắt buộc phải là một nhà toán học cực giỏi sau nhiều năm học tập để có thể bắt đầu với việc lâp trình?

Câu trả lời khiến bạn yên tâm hơn là điều đó không đúng 

Không cần thiết bạn phải có một đẳng cấp toán học thật cao. Những kiến thức bạn cần để bắt đầu học chính là:

  • Phép cộng (Tôi hi vọng bạn đã nắm vững nó  )
  • Phép trừ (hic… hic… )
  • Phép nhân (  …)
  • Phép chia 

Tôi hi vọng các bạn đã biết tất cả những cái đó  . Và chắc chắn là tôi sẽ giải thích cho bạn trong phần tiếp theo làm sao máy tính có thể thực hiện các phép tính cơ bản

Tóm lại, về toán học thì không có gì khó khăn để bạn vượt qua.  

Tất cả chỉ phụ thuộc vào chương trình mà bạn muốn thực hiện, nếu đó là chương trình liên quan đến toán học, bạn bắt buộc phải hiểu biết về toán. Nếu bạn muốn làm một game 3D thì đòi hỏi bạn phải có kiến thức về hình học không gian.

Để học ngôn ngữ “C / C++”, bạn không cần thiết phải có những kiến thức cao cấp nào cả.

 Nhưng đâu là cái khó khăn ?

Chúng ta cần phải biết máy tính hoạt động như thế nào để có thể hiểu chúng ta đang làm những gì. Và ở điểm này, hãy yên tâm, tôi sẽ cố gắng hết sức hướng dẫn cho các bạn.

Một người lập trình cũng cần phải có một vài đặc điểm như sau:

  • Kiên trì: một chương trình không thể nào chạy tốt trong giai doạn đầu, vì vậy bạn phải nhẫn nại!
  • Cảm nhận tốt về logic: chắc hẳn là bạn không cần phải giỏi lắm về toán, cái bạn cần là suy nghĩ
  • Nhẹ nhàng: Người ta không đánh máy bằng việc gõ búa lên bàn phím  . Điều đó không giúp chương trình của bạn chạy tốt tí nào đâu. 

Tóm lai một cách đơn giản, không đòi hỏi thật sự một kiến thức nào để học lập trình. Một người dốt toán vẫn có thể cho ra một chương trình, cái cần thiết chính là khả năng suy nghĩ của bạn. 

Chà! Chúng ta kết thúc phần I rồi, nhưng các bạn vẫn chưa thấy bất kì đoạn mã nào và giống như chúng ta đã thống nhất trước đó.

Chúng ta cần biết thế nào là lập trình và thế nào là C /C++. Bây giờ chắc chắn tôi biết bạn đang chờ đợi điều gì nhưng chúng ta còn khá lâu để thấy điều đó đấy

Trong chương tiếp theo, các bạn sẽ bắt đầu với công cụ đầu tiên. Bạn sẽ cài đặt những chương trình cần thiết cho bất kì người học lập trình nào. 

Q.C.M.

Phần này cũng tương tự như trắc nghiệm kiểm tra kiến thức, bạn chọn câu trả lời đúng nhất thôi 

 Những file nào được tạo ra từ lập trình ?
  • Những file *.exe chạy trên Windows
  • Những hình ảnh (*.jpg, *.png, *.bmp…)
  • Những đoạn vidéos (*.avi, *.mov…)  

 Giữa C và C++, cái nào cho phép ta lập trình được nhiều việc hơn ?

  • C
  • C++
  • Cả hai đều mạnh mẽ như nhau
 Chương trình dịch ngôn ngữ cao cấp thành ngôn ngữ nhị phân gọi là :
  • binarisateur
  • brumisateur
  • compilateur
 Ngôn ngữ nào bạn sẽ học trong giai đoạn đầu ?
  • C
  • C++
  • Cả hai

Đáp án : 

1-b

2-a

3-c

4-c

5-a

icon ->.png

icon <-.png

(bản dịch dựa trên “Apprenez à programmer en C” tập hợp những hướng dẫn về C có trong trang web www.siteduzero.com) của tác giả MATHIEU NEBRA

Người dịch: daihung.pham



Các câu hỏi về non commercial use only là gì


Nếu có bắt kỳ câu hỏi thắc mắt nào vê non commercial use only là gì hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé <3 Bài viết non commercial use only là gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết non commercial use only là gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết non commercial use only là gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nhé!!

Các Hình Ảnh Về non commercial use only là gì


Các hình ảnh về non commercial use only là gì đang được chúng mình Cập nhập. Nếu các bạn mong muốn đóng góp, Hãy gửi mail về hộp thư [email protected] Nếu có bất kỳ đóng góp hay liên hệ. Hãy Mail ngay cho tụi mình nhé

Tra cứu dữ liệu, về non commercial use only là gì tại WikiPedia

Bạn có thể tra cứu nội dung chi tiết về non commercial use only là gì từ trang Wikipedia.◄ Tham Gia Cộng Đồng Tại

???? Nguồn Tin tại: https://vietvan.vn/hoi-dap/

???? Xem Thêm Chủ Đề Liên Quan tại : https://vietvan.vn/hoi-dap/

Related Posts

About The Author

Add Comment