Giới thiệu về lập trình nhẹ nhàng hơn

Minh họa bởi John Adesanya

Bài viết này ghi lại những gì tôi dạy khi tôi nhận được yêu cầu huấn luyện. Tôi đã thắng nhảy vào mã hoặc thiết lập bất kỳ loại nào. Tôi sẽ dạy các khái niệm.

Nếu bạn làm việc trong một công ty phát triển phần mềm với tư cách là một người không lập trình, bạn có thể tự hỏi những gì lập trình viên làm. Và bạn nghe thấy buzzwords mới hàng ngày. Bài viết này đã được viết với bạn trong tâm trí. Cho dù bạn là nhân viên bán hàng, bác sĩ y khoa, luật sư, lãnh đạo doanh nghiệp hay kế toán viên, nếu bạn đã từng có ý định học cách viết mã, đây là một nơi tốt để bắt đầu.

Bài viết này được tổ chức như thế nào

Bài viết này được chia thành 4 phần. Sau khi đọc qua từng phần, bạn sẽ tìm thấy một phần câu đố để giúp bạn nhớ lại tốt hơn những gì bạn đã đọc. Sau đó, bạn sẽ tìm thấy một phần mềm đi về phía trước và câu trả lời cho câu đố.

Lưu ý rằng mỗi từ thông dụng được giới thiệu trong loạt bài này được in đậm, chẳng hạn như thuật toán.

Minh họa bởi John Adesanya

Phần 1 - Lập trình là gì?

Một câu trả lời đơn giản sẽ là, Lập trình trên mạng là hành động hướng dẫn các máy tính thực hiện các nhiệm vụ. Đây thường được gọi là mã hóa.

Vậy thì, chương trình máy tính là gì? Một chương trình máy tính là một chuỗi các hướng dẫn mà máy tính thực thi.

Máy tính theo định nghĩa trên là bất kỳ thiết bị nào có khả năng xử lý mã. Đây có thể là điện thoại thông minh, ATM, Raspberry Pi, Máy chủ để đặt tên cho một số ít.

Tương tự tốt cho lập trình

Đầu tiên, có những khuôn mẫu cho cuộc sống hàng ngày của chúng ta. Vũ trụ vận hành theo một cách có thể dự đoán được; Ví dụ: ngày và đêm, mùa, mặt trời mọc và mặt trời lặn. Mọi người trải qua các thói quen như tăng vào buổi sáng, đi học hoặc đi làm. Chúng tôi nhận được hướng dẫn từ những người khác như cấp trên của chúng tôi tại nơi làm việc. Làm thế nào chúng ta nấu một số công thức nấu ăn có thể được giải thích trong các bước hữu hạn.

Thứ hai, mỗi khi chúng ta sử dụng các thiết bị thông minh, một số mã đang chạy trong nền. Di chuyển một con trỏ chuột từ một phần của màn hình máy tính của bạn sang phần khác có vẻ như là một nhiệm vụ đơn giản, nhưng trong thực tế, rất nhiều dòng mã chỉ chạy. Một hành động đơn giản như việc gõ các chữ cái vào Google Docs dẫn đến các dòng mã được thực thi trong nền. Nó có tất cả các mã ở khắp mọi nơi.

Các chương trình máy tính cũng được gọi là mã. Không sử dụng từ ‘mã, (mã nên được sử dụng như một danh từ không đếm được). Được rồi, đây không phải là một lớp học tiếng Anh, hãy để lại cho doanh nghiệp trở lại.

Ngôn ngữ tự nhiên của máy tính

Máy móc có ngôn ngữ tự nhiên như con người. Máy tính không hiểu ngôn ngữ của con người. Ngôn ngữ tự nhiên của máy tính là mã nhị phân - 1 và 0. Chúng đại diện cho hai trạng thái: bật (1) và tắt (0).

Đó là ngôn ngữ tự nhiên của thiết bị điện tử. Sẽ rất bận rộn khi chúng ta là con người giao tiếp với máy tính ở dạng nhị phân.

Nhập ngôn ngữ lập trình

Để giao tiếp với các máy nói nhị phân, chúng tôi làm như vậy bằng ngôn ngữ mà gần với ngôn ngữ tự nhiên của chúng ta hơn. Chẳng hạn như tiếng Anh, tiếng Pháp, tiếng Swords hoặc tiếng Ả Rập. Ngôn ngữ lập trình gần với ngôn ngữ tự nhiên của chúng ta. Nhưng chúng có cấu trúc hơn và phải được tìm hiểu kỹ lưỡng.

Chúng có thể là ngôn ngữ cấp cao hoặc cấp thấp. Ngôn ngữ lập trình cấp cao nằm xa ngôn ngữ máy hơn ngôn ngữ cấp thấp. Đây là một khu vực xa xôi thường được gọi là trừu tượng, nhưng chúng ta sẽ không đi sâu vào vấn đề này trong loạt bài này. Để không bị phân tâm :)

Máy tính cần một cách để hiểu ngôn ngữ của con người chúng ta. Để làm điều này, chúng tôi sẽ cần một người dịch.

Dịch giả là gì

Mã nguồn đề cập đến mã được viết bằng một ngôn ngữ lập trình cụ thể. Thêm điều này trong Phần 2.

Biên dịch viên có trách nhiệm chuyển đổi mã nguồn của bạn sang ngôn ngữ máy. Điều này còn được gọi là nhị phân. Nhớ những cái và số không. Chúng ta có thể gọi các nhị phân là Mã đối tượng, Chương trình hoặc một từ phổ biến hiện nay: Ứng dụng.

Dịch giả có thể là bất kỳ:

  • Phiên dịch viên
  • Trình biên dịch
  • Sự kết hợp giữa Phiên dịch và Trình biên dịch
  • Nhà lắp ráp

Phiên dịch viên

Một số ngôn ngữ được giải thích. Trình dịch xử lý dòng mã nguồn theo từng dòng và chạy mọi dòng trong chương trình hoặc ứng dụng cuối cùng. Điều này có nghĩa là mã nguồn được giải thích bắt đầu chạy cho đến khi gặp lỗi. Sau đó, thông dịch viên dừng lại để báo cáo các lỗi như vậy. Thêm chi tiết này trong Phần 3.

Python là một ví dụ tốt về ngôn ngữ lập trình được giải thích.

Trình biên dịch

Trình biên dịch hoạt động khác nhau. Họ chuyển đổi toàn bộ mã nguồn thông qua quy trình biên dịch thành nhị phân. Nhị phân sau đó được thực thi. Nếu có lỗi trong mã nguồn, chúng được phát hiện trong thời gian biên dịch và được gắn cờ. Điều này làm gián đoạn quá trình biên dịch và không có nhị phân nào được tạo.

Thông dịch viên dịch từng dòng và thực hiện dòng trước khi chuyển sang dòng tiếp theo. Trình biên dịch dịch tất cả các dòng của một chương trình sang một tệp (nhị phân) và thực thi toàn bộ tệp.

Ghi nhớ định nghĩa của chương trình máy tính? Nó có một chuỗi các lệnh được thực hiện bởi máy tính.

Một chương trình thực thi thường được gọi là một quá trình. Các chương trình như vậy sử dụng một số tài nguyên nhất định trên hệ thống máy tính hoặc điện thoại thông minh như bộ nhớ, dung lượng ổ đĩa và hệ thống tệp. Một chương trình thực thi cũng có thể được cho là đang chạy.

Chúng tôi sử dụng từ ‘chạy, khi chúng tôi thực hiện một chương trình máy tính. Thời gian cần thiết để chạy các chương trình như vậy được gọi là thời gian chạy của chương trình.

Người ta thường thấy các chương trình được gọi là Ứng dụng. Chúng tôi cũng liên kết các chương trình với các nền tảng hoặc môi trường mà chúng chạy hoặc được thiết kế cho. Có các ứng dụng web chạy trên trình duyệt web, chẳng hạn như Bảng tính Google. Có những ứng dụng di động, chạy trên điện thoại thông minh như CandyCrush. Ngoài ra còn có các ứng dụng máy tính để bàn như ứng dụng máy tính để bàn Evernote.

Một lần nữa, mã nguồn được giải thích được thực thi trực tiếp từ tệp nguồn. Mã nguồn biên dịch được chuyển đổi thành một tệp nhị phân. Các tập tin nhị phân sau đó được thực hiện. Mã nguồn được biên dịch có thể bị lỗi trong thời gian chạy ngay cả sau khi biên dịch thành công. Xem Phần 3.

Dịch giả lai

Một dịch giả lai là sự kết hợp của Trình thông dịch và Trình biên dịch. Một ngôn ngữ lập trình lai phổ biến là Java. Trước tiên, Java biên dịch mã nguồn của bạn thành một định dạng trung gian được gọi là Mã byte.

Bytecode sau đó được giải thích và thực thi bởi một công cụ thời gian chạy còn được gọi là máy ảo. Điều này cho phép các trình dịch kết hợp chạy mã byte trên các hệ điều hành khác nhau.

Nhà lắp ráp

Có cả Trình biên dịch cũng như dịch ngôn ngữ hội cấp thấp sang nhị phân.

Đối với loạt bài này, chúng tôi sẽ chỉ tập trung vào các ngôn ngữ cấp cao.

Một cách tốt để xem các Dịch giả là xem bản thân họ như một chương trình. Bạn cần tải xuống hoặc tải chúng, cài đặt chúng trên hệ thống máy tính của bạn và hiểu các hoạt động cơ bản của chúng.

Một câu hỏi thường gặp

Ở đây, một câu hỏi người mới bắt đầu thường hỏi.

Tôi học ngôn ngữ nào trước?

Có hàng trăm ngôn ngữ lập trình. Họ được xếp hạng theo mức độ phổ biến, cộng đồng, hỗ trợ lâu dài, sư phạm, sử dụng kinh doanh. Chúng cũng có thể được xếp hạng theo tính kỹ thuật, chẳng hạn như liệu chúng có chức năng, mệnh lệnh, tĩnh, mạnh hay gõ lỏng lẻo.

Một số ngôn ngữ mang tính sư phạm hơn những ngôn ngữ khác. Một số ngôn ngữ là cho mục đích giáo dục và không sử dụng cho kinh doanh. Có những ngôn ngữ được viết, ví dụ, cho trẻ học cách viết mã.

Có những ngôn ngữ rất mạnh, dễ cài đặt và học hỏi. Python là một ngôn ngữ lập trình như vậy. Tôi thường giới thiệu nó cho người mới bắt đầu.

Nếu bạn thích khám phá nhiều hơn về các lựa chọn của mình cho ngôn ngữ đầu tiên, thì đây là nghiên cứu tốt của Philip Guo.

Khi bạn muốn học một ngôn ngữ mới, bây giờ bạn biết rằng bạn sẽ cần người dịch ngôn ngữ đó. Đây là chương trình bạn cài đặt và thiết lập trên hệ thống máy tính của bạn.

Tôi khuyên bạn nên bắt đầu học cách sử dụng CLI (Giao diện dòng lệnh). CLI là thiết bị đầu cuối hoặc vỏ. Hãy nghĩ về thiết bị đầu cuối như là một thay thế cho GUI (Giao diện người dùng đồ họa).

Trong GUI, bạn tương tác với máy tính thông qua con trỏ chuột. Bạn cũng phụ thuộc vào sự hiển thị trực quan của các thư mục và về tất cả mọi thứ bạn làm.

Nhưng, khi sử dụng CLI, bạn tương tác với máy tính bằng các lệnh bạn nhập tại dấu nhắc hoặc con trỏ nhấp nháy

$ _

Trong Windows, thiết bị đầu cuối xuất xưởng là dấu nhắc lệnh. Đối với người dùng Mac và Linux, bạn đã có thiết bị đầu cuối Bash mặc định. Để có được trải nghiệm tương tự trên Windows, hãy cài đặt Git Bash HOẶC PowerShell.

Đi về phía trước

Bây giờ bạn đã được giới thiệu một cách nhẹ nhàng về lập trình là gì. Bạn cần chuẩn bị cho dòng mã đầu tiên của mình :)

Để bắt đầu, bạn sẽ cần như sau:

  • Một hệ thống máy tính
    Tại thời điểm này, bạn không cần một chiếc máy tinh vi hay đắt tiền, bạn chỉ cần một chiếc máy tính hoạt động tốt.
  • Cài đặt CLI
    Tôi khuyên bạn nên khóa học sự cố này để giúp bạn bắt đầu về cách sử dụng CLI.
  • Cài đặt trình soạn thảo văn bản
    Chúng ta sẽ quay lại vấn đề này trong Phần 2
  • Học một ngôn ngữ lập trình
    Trong loạt bài này, bạn sẽ tìm hiểu các yếu tố cơ bản tạo nên kiến ​​thức cơ bản của hầu hết các ngôn ngữ lập trình.

Đố

  • Những công cụ cơ bản nào bạn cần để bắt đầu lập trình?
  • Lệnh nào bạn sẽ sử dụng cho các mục sau trong bash (CLI)?
  • Kiểm tra thư mục hiện tại của bạn
  • Thay đổi thư mục có tên ‘bin, (bin nằm trong thư mục hiện tại của bạn)
  • tạo một thư mục mới gọi là lib lib
  • tạo một tập tin mới gọi là ‘book.py
  • liệt kê tất cả các nội dung của thư mục hiện tại

Tóm lược

Chúng tôi đã trải qua những điều cơ bản về lập trình, với phần giới thiệu về Dịch giả. Từ mã nguồn mã nguồn không còn xa lạ với bạn. Chúng tôi sẽ kiểm tra những gì một mã nguồn chi tiết trong phần tiếp theo.

Đáp án cho bài kiểm tra

Những công cụ cơ bản nào bạn cần để bắt đầu lập trình?
Một máy tính, một trình soạn thảo văn bản, trình bao (thiết bị đầu cuối) và trình biên dịch / trình thông dịch

Lệnh nào bạn sẽ sử dụng cho các mục sau trong bash (CLI)?

  • Kiểm tra thư mục hiện tại của bạn: pwd
  • Thay đổi thư mục có tên ‘bin.
  • tạo một thư mục mới gọi là ‘lib, mkdir lib
  • tạo một tập tin mới gọi là ‘book.py
  • liệt kê tất cả các nội dung của thư mục hiện tại: ls
Wikimedia Commons có thêm thể loại hình ảnh và tài liệu về

Phần 2 - Mã nguồn

Bây giờ bạn đã hiểu khái niệm lập trình, chúng tôi sẽ kiểm tra mã nguồn.

Mã nguồn về cơ bản là một tệp, giống như tệp Microsoft (.doc), nhưng hơi khác. Nó là một tệp văn bản thô, được viết trên các trình soạn thảo rất đơn giản, như Windows Notepad. Bạn sẽ nhớ lại từ phần trước rằng bạn cần trình thông dịch hoặc trình biên dịch để chuyển đổi mã nguồn của bạn thành nhị phân. Mã nguồn phải được lưu trong một tệp, được truyền dưới dạng đầu vào cho người dịch.

Tùy thuộc vào ngôn ngữ bạn đang viết, có các tiện ích mở rộng được chỉ định để lưu tệp mã nguồn của bạn. Phần mở rộng Python Python là ‘.py. Java là ‘.java. Php là ‘.php và PERL là‘ .plv để đặt tên cho một số ít.

Khi bạn viết xong mã nguồn của mình, bạn phải chạy nó thông qua trình dịch. Ví dụ, ở đây, cách thức chạy mã nguồn Python của bạn bằng pythoncommand.

Bắt đầu: Chương trình đầu tiên của bạn

  • Làm theo các hướng dẫn ở đây để thiết lập Python trên hệ thống máy tính của bạn.
  • Cài đặt một trình soạn thảo đơn giản để nhập mã nguồn của bạn. Bạn có thể sử dụng trình soạn thảo văn bản cao siêu để bắt đầu.
  • Mở một tệp mới trên trình soạn thảo của bạn và nhập vào phần sau:
in ‘Xin chào Python!
  • Hãy nhớ lưu tệp dưới dạng main.py
  • Tìm đường dẫn đến tệp trên CLI của bạn và nhập lệnh bên dưới:
$ python main.py

Kết quả sẽ như thế này:

Cấu tạo của một mã nguồn điển hình

Bây giờ chúng tôi sẽ kiểm tra nội dung của một tệp mã nguồn điển hình. Dưới đây là các thành phần thông thường:

Từ khóa

Từ ngắn, dễ đọc của con người, thường được gọi là từ khóa. Chúng đặc biệt với ngôn ngữ bạn đang học, và chúng đặc biệt. Chúng tôi sẽ quay trở lại vấn đề này trong nháy mắt. Bạn cần phải học một số từ khóa bằng trái tim. Tại đây, tập hợp các từ khóa được nhận dạng và sử dụng trong Python.

https://www.programiz.com/python-programming/keyword-list

Định danh

Những từ được phát minh bởi Bạn - Có Bạn, lập trình viên. Những từ này thường được gọi là Định danh. Chúng có thể được tạo bởi bạn hoặc các lập trình viên khác. Chúng được đóng gói dưới dạng các plugin, được gọi là Thư viện.

Một ví dụ về thư viện là thư viện Math. Nó cho phép bạn truy cập các hàm như căn bậc hai (Math.sqrt), được sử dụng trong Javascript.

Nhiều ngôn ngữ lập trình xuất xưởng với vô số thư viện. Chúng thường được gọi là SDK của họ (Bộ phát triển phần mềm). Bạn sẽ tải chúng cùng với trình biên dịch để bắt đầu xây dựng các công nghệ, ứng dụng và dự án. Bên cạnh đó, có các khung, được thiết kế để giúp xây dựng trên một nền tảng cụ thể như web hoặc di động.

Một số số nhận dạng được gói cùng với ngôn ngữ bạn sử dụng và không được sử dụng làm định danh do người dùng đặt tên. Một ví dụ là chuỗi từ trong java. Các định danh như vậy, cùng với các từ khóa được gọi là Từ dành riêng. Chúng không phải là từ khóa, nhưng giống như từ khóa, chúng cũng đặc biệt.

Tất cả các từ khóa là những từ dành riêng, ngược lại là không đúng sự thật.

Những từ bạn chọn phải có ý nghĩa đối với bất cứ ai nhìn thấy chúng từ cái nhìn đầu tiên.

Một cách sử dụng phổ biến của định danh là trong việc đặt tên biến, chúng ta sẽ xem xét điều này một chút.

Kiểu dữ liệu cơ bản

Bạn cũng sẽ tìm thấy dữ liệu của các loại khác nhau trong mã nguồn, số (3, 5.7, -100, 3.142) và ký tự (M, A). Trong một số ngôn ngữ lập trình, các số được chia nhỏ thành các loại riêng như số nguyên.

Số nguyên có thể được ký hoặc không ký, số nguyên lớn và số nguyên nhỏ. Lớn hay nhỏ thực sự phụ thuộc vào dung lượng bộ nhớ dành cho những con số đó. Có những số có phần thập phân, thường được gọi là double và float, tùy thuộc vào ngôn ngữ bạn đang học.

Chúng tôi cũng có các kiểu dữ liệu boolean đánh giá là đúng hay sai.

Kiểu dữ liệu phức tạp

Các kiểu dữ liệu được giải thích ở trên được gọi là các kiểu dữ liệu cơ bản, chính hoặc cơ bản. Chúng ta có thể xây dựng các kiểu dữ liệu phức tạp hơn từ các kiểu dữ liệu cơ bản này.

Một mảng là dạng đơn giản nhất của kiểu dữ liệu phức tạp. Chuỗi là một mảng các ký tự. Chúng tôi không thể làm gì nếu không có các loại dữ liệu phức tạp này và thường sử dụng chúng khi viết mã nguồn của chúng tôi.

Một sự kết hợp của các ký tự là một chuỗi. Để sử dụng một sự tương tự, một chuỗi là cho máy tính một từ là gì đối với con người. Từ ‘Nhiệt kế, được tạo thành từ 11 ký tự - chúng tôi chỉ đơn giản gọi nó là một chuỗi các ký tự. Bản thân việc xử lý chuỗi là một chủ đề rộng để học và phải được nghiên cứu bởi mọi lập trình viên có tham vọng.

Các kiểu dữ liệu phức tạp được vận chuyển với hầu hết các ngôn ngữ lập trình bạn sử dụng. Có những cái khác mà chúng tôi tự xây dựng như các lập trình viên, chẳng hạn như các hệ thống Class. Chúng còn được gọi là Lập trình hướng đối tượng (OOP).

Biến

Các biến được đặt tên đơn giản là các vị trí bộ nhớ. Đôi khi chúng tôi muốn giữ dữ liệu trong mã nguồn của mình ở nơi chúng tôi có thể nhớ lại dữ liệu để sử dụng lại. Đây thường là một vị trí bộ nhớ mà trình biên dịch / trình thông dịch dành cho chúng tôi. Chúng ta cần đặt tên cho các vị trí bộ nhớ này để gọi lại chúng sau này. Hãy xem xét đoạn mã Python bên dưới:

pet_name = 'Hippo'print pet_name

pet_name là một ví dụ về một biến. Bởi vì loại dữ liệu được lưu trữ trong pet_name là một chuỗi. Nó được gọi là một biến chuỗi. Có các biến số là tốt. Các biến được phân loại theo loại dữ liệu của chúng.

Hằng số

Hằng số là các giá trị không thay đổi trong suốt vòng đời của chương trình. Chúng tôi sử dụng chữ in hoa để thực thi rằng một số giá trị là giá trị không đổi. Một số ngôn ngữ cung cấp một cách để tạo ra các giá trị không đổi, trong khi những ngôn ngữ khác thì không.

Một số ngôn ngữ cung cấp sự sang trọng của việc khai báo các loại mà các biến nên có. Chúng ta thường gọi những ngôn ngữ được đánh máy mạnh mẽ này. Java là một ví dụ tốt.

Những người khác không cung cấp các tính năng này. Chúng được đánh máy lỏng lẻo hoặc ngôn ngữ lập trình động. Python là một ví dụ tốt.

Đây là cách khai báo các giá trị không đổi trong JavaScript.

const petName = 'Hà mã'

Văn học

Trong mọi mã nguồn, có các loại dữ liệu bạn sử dụng ở mọi nơi xung quanh mã của bạn sẽ chỉ thay đổi nếu bạn tự chỉnh sửa chúng. Chúng tôi gọi những chữ này, không được nhầm lẫn với các biến hoặc hằng. Chữ có thể được nhìn thấy một khi bạn lướt qua mã nguồn. Chúng có thể là chuỗi, số, số thập phân hoặc các loại dữ liệu khác.

Trong đoạn mã nguồn ở trên, từ ‘Hippo Hiện là một nghĩa đen - một chuỗi ký tự. Nó sẽ luôn là ‘Hippo cho đến khi bạn chỉnh sửa mã nguồn. Khi bạn học viết mã, bạn sẽ học cách quản lý chữ trong mã nguồn theo cách dễ bảo trì mà không thay đổi nhiều mã nguồn của bạn.

Dấu câu / Biểu tượng

Trong hầu hết các mã nguồn, bạn thường sẽ tìm thấy các dấu chấm câu khác nhau tùy thuộc vào ngôn ngữ lập trình. Java có nhiều dấu chấm câu hơn, ví dụ như Python.

Các dấu chấm câu phổ biến bao gồm dấu phẩy (,), dấu chấm phẩy (;), dấu hai chấm (:), dấu ngoặc ({}), Dấu ngoặc (()), dấu ngoặc vuông ([]), dấu ngoặc kép (cách xóa), dấu ( |), dấu gạch chéo (\), dấu chấm (.), dấu hỏi (?), dấu mũ (^) và tỷ lệ phần trăm (%).

Chào mừng bạn đến với thế giới mã hóa, nơi dấu chấm câu là người bạn tốt nhất của bạn. Bạn sẽ thấy mình gõ chúng rất nhiều.

Người vận hành

Cơ hội mà bạn sẽ viết mã để thực hiện một thao tác là rất cao. Theo cách nhẹ nhất, bạn sẽ thực hiện thao tác gán trong mã nguồn của mình. Chúng tôi được giới thiệu với một số lượng lớn các nhà khai thác bởi các ngôn ngữ lập trình mà chúng tôi sử dụng. Các ví dụ bao gồm phép cộng (+), phép chia (/) phép nhân (*), phép trừ (-) và lớn hơn (>).

Các toán tử thường có thể được phân loại như sau:

  • Toán tử chuyển nhượng
    Điều này đôi khi bị hiểu sai là bằng. Bằng được sử dụng để so sánh hai giá trị. Toán tử chuyển nhượng đặt một giá trị trong một biến, chẳng hạn như pet_name = 'Hippo'
  • Toán tử số học
    Bao gồm các toán tử để thực hiện các nhiệm vụ số học như cộng và trừ. Một số ngôn ngữ cung cấp một số toán tử số học mà những ngôn ngữ khác có thể không có. Ví dụ, toán tử mô đun (%) trả về giá trị còn lại trong các phép toán chia.
  • Toán tử quan hệ
    được sử dụng để so sánh các giá trị. Chúng bao gồm lớn hơn, nhỏ hơn, bằng, không bằng. Đại diện của họ cũng khác nhau tùy thuộc vào ngôn ngữ lập trình bạn đang học. <> không bằng với một số ngôn ngữ, trong khi ở các ngôn ngữ khác, nó LỚN! = Hoặc! ==.
  • Toán tử logic
    được sử dụng để tính toán các phép toán logic. Các toán tử logic thường được sử dụng là và, hoặc, không. Một số ngôn ngữ đại diện cho các toán tử này với các ký hiệu như && cho và, || cho hoặc, và! cho không. Các giá trị hoạt động hợp lý thường đánh giá theo giá trị Boolean hoặc sai.

Bình luận

Tài liệu sẽ là một khía cạnh quan trọng của các hoạt động mã hóa của bạn. Đó là cách bạn giải thích mã của mình cho các lập trình viên khác. Điều này được thực hiện thông qua các bình luận đôi khi được thêm vào các phần của mã của bạn. Thông qua các bình luận, bạn có thể hướng dẫn các lập trình viên khác thông qua loại dữ liệu mà mã của bạn làm việc với và loại đầu ra mà nó tạo ra.

Thông thường, trình biên dịch bỏ qua các dòng mã là các bình luận.

Nhận xét khác nhau giữa các ngôn ngữ. Các #is được sử dụng để giới thiệu ý kiến ​​trong Python.

Dưới đây là một ví dụ về một nhận xét trong Python.

# đoạn chương trình để tính toán Wikipedia của N số

Trong Java, C và C ++, có các nhận xét cho một dòng giống như # trong Python, nhưng biểu tượng // được sử dụng thay thế. Có nhiều bình luận cũng / * '* *. Bạn có thể đọc thêm về ý kiến ​​bằng ngôn ngữ mà bạn đã chọn để học.

Khoảng trắng và tab

Đây là những khoảng trắng được tạo giữa mã bạn đang viết. Điều này được thực hiện khi bạn nhấn phím cách hoặc phím tab trên bàn phím.

Đi về phía trước

Đảm bảo bạn thiết lập chính xác Python trên hệ thống máy tính của bạn và chạy chương trình đầu tiên của bạn.

Đố

Đây là một câu đố đơn giản cho bạn.
Xác định các yếu tố khác nhau mà chúng tôi đã nghiên cứu cho đến nay trong đoạn mã nguồn Java bên dưới:

// triển khai đệ quy của Factorial
nhập java.util.Scanner;
lớp RecursiveFactorial {
  public static void main (String [] args) {
    Đầu vào máy quét = máy quét mới (System.in);
    System.out.print ("Tìm nhân tố của:");
    int num = input.nextInt ();
    System.out.println ("Yếu tố của" + num + "=" + fact (num));
 }
 thực tế tĩnh dài (int n) {
  nếu (n <2) trả về 1;
  trả về n * fact (n-1);
 }
}

Tóm lược

Bạn đã được giới thiệu về mã nguồn là gì và đã kiểm tra nội dung của mã nguồn thông thường.

Được biên dịch hoặc dịch, mã của bạn có thể không chạy được do một số lý do. Những lý do này thường liên quan đến lỗi trong mã nguồn của bạn. Những lỗi này được gọi là lỗi.

Hành động tìm và loại bỏ các lỗi này được gọi là gỡ lỗi và là một kỹ năng bạn phải học khi là một lập trình viên. Chúng ta sẽ xem xét những lỗi gì trong phần tiếp theo.

Đáp án cho bài kiểm tra

Xác định các yếu tố khác nhau mà chúng tôi đã nghiên cứu cho đến nay trong đoạn mã nguồn Java bên dưới:

Từ khóa:
nhập, lớp, công khai, tĩnh, void, new, int, long, if, return

Định danh:
java, produc, Scanner, RecursiveFactorial, main, String, args, input, System, in, out, print, println, num, nextInt, fact, n

Văn học:
Chuỗi ký tự - Nhân tố của Tử = của Tìm Tìm về yếu tố của:
Chữ nguyên - 2, 1

Toán tử:
Toán tử chuyển nhượng =
Concatenator + (để nối các chuỗi với nhau)
ít hơn <
nhân *
trừ -

Dấu câu và ký hiệu
{} [] (); .

Bình luận
// triển khai đệ quy của Factorial

Phần 3 - Gỡ lỗi

Khi bạn bắt đầu thử các đoạn mã hoặc bạn đang cố gắng giải quyết các vấn đề thực tế với mã, bạn sẽ sớm nhận ra rằng sẽ có những lúc chương trình của bạn bị hỏng, bị gián đoạn và ngừng chạy.

Điều này thường được gây ra bởi lỗi, được gọi là lỗi hoặc ngoại lệ trong thời gian chạy. Hành động tìm và loại bỏ các lỗi từ mã của chúng tôi là gỡ lỗi. Bạn trở nên tốt hơn trong việc gỡ lỗi mã khi bạn cố gắng làm nó nhiều hơn. Chúng tôi không chỉ gỡ lỗi mã của riêng mình, chúng tôi cũng có thể gỡ lỗi mã được viết bởi các lập trình viên khác.

Để bắt đầu, chúng tôi cần xác định các lỗi phổ biến có khả năng xuất hiện trong mã nguồn của chúng tôi.

Lỗi cú pháp

Những lỗi này sẽ không cho phép mã nguồn của bạn biên dịch bằng các ngôn ngữ lập trình được biên dịch. Chúng được phát hiện tại thời gian biên dịch hoặc trong quá trình giải thích mã nguồn của bạn. Họ cũng có thể được phát hiện dễ dàng bởi linters. Chúng ta sẽ tìm hiểu thêm một chút về linters sau.

Chúng chủ yếu được gây ra khi bạn phá vỡ hình thức hoặc cấu trúc dự kiến ​​của ngôn ngữ bạn đang mã hóa. Một ví dụ thiếu dấu đóng trong một phương trình.

Lỗi ngữ nghĩa

Lỗi ngữ nghĩa còn được gọi là lỗi logic là rắc rối nhất trong tất cả các lỗi. Họ không thể dễ dàng được phát hiện. Một dấu hiệu cho thấy có một lỗi ngữ nghĩa là khi chương trình chạy thành công nhưng không tạo ra đầu ra mong muốn.

Xem xét ví dụ này:

3 + 5 * 6

Theo thứ tự ưu tiên, thường được gọi là BODMAS, trong Toán học, chúng tôi hy vọng phần nhân sẽ được đánh giá trước, và sau đó kết quả cuối cùng sẽ là 33. Nếu lập trình viên muốn bổ sung để đánh giá trước, điều này sẽ cho kết quả khác so với mong muốn đầu ra. Các lỗi như đây là lỗi ngữ nghĩa, có liên quan nhiều đến ý nghĩa hơn là cấu trúc (cú pháp).

Thay vào đó, dấu ngoặc đơn khoảng 3 + 5 sẽ cho đầu ra mong muốn là 48.

(3 + 5) * 6

Lỗi thời gian chạy

Giống như lỗi ngữ nghĩa, lỗi thời gian chạy không bao giờ được phát hiện tại thời gian biên dịch. Không giống như các lỗi ngữ nghĩa, lỗi thời gian chạy làm gián đoạn chương trình và ngăn không cho nó thực thi thêm. Chúng thường được gây ra bởi kết quả bất ngờ của một số tính toán trong mã nguồn.

Đây là một ví dụ điển hình:

đầu vào = 25x = 0,8 / (Math.sqrt (đầu vào) - 5)

Đoạn mã trên sẽ biên dịch thành công, nhưng đầu vào 25 sẽ dẫn đến ZeroDivisionError. Đây là một lỗi thời gian chạy. Một ví dụ phổ biến khác là StackOverflowError hoặc IndexOutofBoundError. Điều thực sự quan trọng là bạn xác định những lỗi này và học cách đối phó với chúng.

Có lỗi xảy ra do cách mã nguồn của bạn sử dụng bộ nhớ và dung lượng trên nền tảng hoặc môi trường mà nó được chạy. Chúng cũng là lỗi thời gian chạy. Các lỗi như OutOfMemoryErrorand HeapError thường được gây ra bởi số lượng mã nguồn của bạn sử dụng hết tài nguyên. Một kiến ​​thức tốt về các thuật toán sẽ giúp bạn viết mã sử dụng tài nguyên tốt hơn.

Quá trình viết lại mã của bạn để có hiệu suất tốt hơn được gọi là tối ưu hóa và một từ không liên quan là tái cấu trúc. Khi bạn dành nhiều thời gian hơn cho việc viết mã, bạn cũng nên có những điều này trong đầu.

Gỡ lỗi

Dưới đây là một số mẹo về cách gỡ lỗi mã của bạn:

  • Sử dụng Linters
    Linters là các công cụ giúp đọc qua mã nguồn của bạn để kiểm tra xem chúng có tuân theo tiêu chuẩn dự kiến ​​trong ngôn ngữ bạn đang mã hóa hay không. Có các linters cho nhiều ngôn ngữ lập trình. Hãy chắc chắn để có được một cho ngôn ngữ bạn đang học.
  • IDE trên các trình soạn thảo đơn giản
    Bạn có thể chọn một IDE được thiết kế cho ngôn ngữ bạn đang học. IDE là viết tắt của Môi trường phát triển tích hợp. Chúng là phần mềm được xây dựng để viết, gỡ lỗi, biên dịch và chạy mã. Chúng thường đi kèm với các bộ gỡ lỗi mạnh mẽ, để xem hoặc xem qua mã của bạn.
    Jetbrains tạo ra các IDE tuyệt vời như Webstorm và IntelliJ. Có tên NetBeans, Komodo, biên tập viên Qt, Android Studio, XCode (được vận chuyển cùng với Mac) để đặt tên cho một số ít.
  • Đọc to mã của bạn
    Điều này thường hữu ích khi bạn đang tìm kiếm một lỗi ngữ nghĩa. Trong khi đọc mã của bạn to, có khả năng cao bạn cũng sẽ đọc được lỗi. Điều đó có thể nhảy vào bạn như những gì có thể sai.
  • Đọc nhật ký lỗi
    Khi trình biên dịch đánh dấu lỗi, hãy chắc chắn xem số dòng hoặc phần mã của bạn được gắn cờ.

Đi về phía trước

Khi mới bắt đầu, bạn sẽ học cách viết mã từ sách, hướng dẫn trực tuyến hoặc từ video. Bạn sẽ thường nhập mã khi bạn nhìn thấy chúng.

Ở đây, một cái gì đó bạn nên làm, khi bạn viết xong hoặc chạy mã đó, hãy học cách phá vỡ chúng. Làm thế nào để bạn làm điều này?

Thay đổi một cái gì đó để xem cách hành xử của mã. Làm điều này để bạn không đưa ra giả định về bất cứ điều gì và bạn khá chắc chắn rằng bạn hiểu những gì đang xảy ra.

Đố

1. Lỗi gì có thể xảy ra với lỗi trong đoạn mã Python bên dưới:

vật phẩm = [0,1,2,3,4,5]
mục in [8]
// gợi ý: các mục ở đây là một mảng, với 6 mục. Để lấy mục thứ 4 chẳng hạn, bạn sẽ sử dụng vật phẩm [3]. Chúng tôi bắt đầu đếm từ 0.

2. Lỗi có khả năng trong đoạn mã Python bên dưới là gì:

đầu vào = hà mã '
nếu đầu vào == 'Hippo':
  in 'Xin chào, hà mã'

Tóm tắt phần

Xin chúc mừng! Từ lỗi không còn là một từ xa lạ đối với bạn và việc chọn ra các lỗi bây giờ cũng không phải là một. Tiếp theo, chúng ta sẽ xem xét dòng chảy chung của mã mà chúng ta viết hàng ngày.

Đáp án cho bài kiểm tra

Lỗi gì có thể xảy ra với lỗi trong đoạn mã Python bên dưới:
(1) Lỗi thời gian chạy: Lỗi chỉ mục ngoài phạm vi
(2) Lỗi cú pháp: Thiếu dấu ngoặc kép bắt đầu trên dòng 1

http://www.publicdomainpictures.net/

Phần 4 - Dòng mã hóa cơ bản

Dòng mã, biểu thức và tuyên bố

Đơn vị của bất kỳ mã nguồn nào là LỘC (Dòng mã). Chương trình đơn giản nhất là một dòng Code. LỘC có thể là một từ khóa, một biểu tượng hoặc một tuyên bố. Nó có một dòng mã miễn là nó có một dòng riêng.

Chúng ta hãy xem xét một dòng mã đơn giản:

diện tích = 0,5 * cơ sở * chiều cao

0,5 * cơ sở * chiều cao là một biểu thức. Một biểu thức là sự kết hợp của các toán tử và toán hạng. Trong ví dụ đưa ra ở đây, các toán hạng là 0,5, cơ sở, chiều cao. Bạn sẽ nhớ rằng 0,5 là một dấu phẩy động, cơ sở và chiều cao là các biến. Toán tử là * (phép nhân).

Biểu thức có thể không có ý nghĩa khi ở riêng như một LỘC. Khi chúng ta gán giá trị của một biểu thức cho một biến khác, trong trường hợp phía trên khu vực, những gì chúng ta có được gọi là một câu lệnh. Nó vẫn là một tuyên bố khi chúng ta đính kèm các biểu thức cho các từ khóa, ví dụ: return 0,5 * base * height

Đối với phần còn lại của phần này, chúng tôi sẽ biểu thị một câu lệnh là ký hiệu S. Câu lệnh thứ n sẽ là Sn trong một chuỗi (hoặc tập hợp) các câu lệnh

Để nắm bắt lập trình nhanh chóng, một điểm khởi đầu tốt là hiểu các luồng mã hóa cơ bản. Các luồng cơ bản cũng được gọi là các luồng điều khiển. Một khi bạn hiểu các luồng này, bạn sẽ tìm thấy chúng trong nhiều ngôn ngữ lập trình bạn học.

Lưu ý rằng các ví dụ được đưa ra trong bài viết này là hoàn toàn cơ bản. Bạn cần tham khảo ngôn ngữ bạn đang học để có kiến ​​thức chuyên sâu về các từ khóa mà nó cung cấp.

Ngoài ra các luồng cơ bản được giới thiệu ở đây khác với các mẫu thiết kế trong lập trình. Hiểu những dòng chảy cơ bản này trước. Bạn bắt kịp với các mẫu thiết kế phổ biến trong lập trình khi bạn tìm hiểu thêm.

Dưới đây là các luồng lập trình cơ bản:

  • Tuần tự
  • Có điều kiện / phân nhánh
  • Lặp lại / Lặp lại / Vòng lặp

Tuần tự

Đây là luồng cơ bản nhất, trong đó một câu lệnh được thực thi sau câu lệnh kia. Theo nghĩa thực tế, mọi luồng khác giải quyết thành một luồng tuần tự (nhiều hơn về điều này sau).

S1
S2
S3
.
.
.
Sn

Trong một số ngôn ngữ lập trình như JavaScript, S3 có thể thực thi trước S1. Điều này xảy ra nếu S1 bị chặn bởi một số tác vụ có thể mất nhiều thời gian hơn, chẳng hạn như các hoạt động của Cơ sở dữ liệu hoặc Tệp, được gọi là các tác vụ không đồng bộ. Có nhiều cách xung quanh những trường hợp như thế này. Đừng lo lắng, sẽ rất dễ để học khi bạn chọn ngôn ngữ lập trình để học.

Có điều kiện / phân nhánh

Các tuyên bố thực hiện được xác định bởi các điều kiện. Từ khóa chính ở đây là từ khóa if. Nó là một trong những dòng mã được sử dụng nhiều nhất.

Ở đây, mô hình điều kiện đơn giản nhất:

nếu (điều kiện) thì:
   S1

Trong ví dụ trên, S1 thực thi hoặc không có gì xảy ra. S1 chỉ được thực hiện nếu điều kiện đã cho là đúng.

Ở đây, một mô hình có điều kiện khác:

nếu (điều kiện) thì:
  S1
  S2
khác:
  S3
  S4

Điều đó có thể được đọc khi chạy S1-S2 hoặc S3-S4 dựa trên điều kiện đã cho. Nếu điều kiện là đúng, S1 và S2 sẽ được xử lý. Nếu không, các câu lệnh S3 và S4 sẽ được xử lý. Điều này theo nghĩa thực tế là một dòng tuần tự:

S1
S2

Chúng tôi cũng có phong cách đa điều kiện:

nếu (điều kiện1) thì:
  S1
khác nếu (điều kiện2) thì:
  S2
khác:
  S3

Ở đây nếu điều kiện1 là đúng, thì S1 được xử lý. Mặt khác, condition2 được kiểm tra và nếu đúng, S2 được xử lý. Điều này có thể đi và về.

Đối với phong cách đa điều kiện, nhiều ngôn ngữ lập trình cung cấp chuyển mạch. Ở đây, mô hình cho câu lệnh chuyển đổi:

giá trị chuyển đổi:
  trường hợp điều kiện1:
    S1
    phá vỡ
  
  trường hợp điều kiện2:
    S2
    phá vỡ
mặc định:
    S3

Điều kiện1 và condition2 được so sánh với giá trị trong câu lệnh switch. Nếu bất kỳ trong số chúng là đúng với giá trị, thì câu lệnh trong khối trường hợp được thực thi.

Có những lựa chọn khác cho dòng chảy có điều kiện. Một số cụ thể cho ngôn ngữ bạn quyết định học, chẳng hạn như toán tử có điều kiện (:?) Và các từ khóa khác tạo điều kiện cho việc phân nhánh như chu kỳ và ngắt. Hãy chắc chắn dành thời gian để hiểu điều kiện / dòng chảy phân nhánh.

Lặp lại / Lặp lại / Vòng lặp

Luồng lặp / lặp lại giữ cho (các) câu lệnh chạy trong chừng nào một số điều kiện được đáp ứng và dừng thực thi (các) câu lệnh một khi điều kiện không còn đúng nữa.

Đây là mô hình:

trong khi (điều kiện):
  S1
  S2

Trong ví dụ trên, các câu lệnh S1 và S2 có thể thực thi một lần, nhiều lần hoặc hoàn toàn không thể thực thi. Nếu điều kiện được đưa ra là đúng trong lần đầu tiên gặp phải sự cố, thì S1 và S2 sẽ được xử lý. Điều kiện while được kiểm tra lại và S1and S2 sẽ được thực thi miễn là điều kiện này đúng.

Thời điểm điều kiện trở thành sai, việc thực thi S1 và S2 dừng lại.

Kết quả của tuyên bố trên nếu điều kiện là ba lần thực sự sẽ là:

S1
S2
S1
S2
S1
S2

Dòng mã hóa đó là gì? Nếu bạn trả lời tuần tự, bạn rất đúng. Như chúng ta có thể thấy, các luồng khác phân giải thành luồng tuần tự.

Đây là một mẫu lặp khác:

làm:
  S1
  S2
trong khi (điều kiện)

Trong ví dụ này, S1 và S2 sẽ thực thi khi cho thuê một lần hoặc nhiều lần. Điều này là do họ sẽ thực thi trước khi điều kiện được kiểm tra.

Trong nhiều ngôn ngữ lập trình, các từ khóa như do và trong khi đó được cung cấp để thực hiện luồng lặp lại. Một từ khóa phổ biến khác là từ khóa cho. Ở đây, mô hình chung cho câu lệnh for.

for (initvalue; condition; giảm / tăng giá trị ban đầu):
  S1
  S2

Nhiều ngôn ngữ đã được sử dụng để làm việc thông qua từng mục trong một đối tượng phức tạp, chẳng hạn như một mảng hoặc struct.

Đố

Xác định các luồng mã hóa trong đoạn mã Python sau:

chữ số = []
cnt = 0
trong khi cnt> = 0:
  m = int (raw_input ())
  nếu m <0:
    phá vỡ
  numlist.append (m)
  cnt = cnt + 1

Tóm lược

Các dòng chảy được bảo hiểm ở đây là các dòng cơ bản. Có một cách để nhóm một nhóm mã lại với nhau và đặt tên cho chúng. Bằng cách này bạn có thể gọi bó mã này bất cứ khi nào bạn cần chúng cùng một lúc. Điều này được gọi là một thủ tục. Trong trường hợp bó mã thực hiện một số thao tác và trả về một giá trị, bạn có một hàm.

Làm thế nào các thủ tục và chức năng được thực hiện khác nhau với các ngôn ngữ khác nhau. Bạn không thể bỏ qua những điều này để có được những điều cơ bản của bất kỳ ngôn ngữ nào. Chúng rất quan trọng để tổ chức mã của bạn. Trong thực tế, đây là nơi các khối xây dựng mã của bạn bắt đầu còn được gọi là lập trình mô-đun.

Có những luồng khác mà bạn sẽ tìm hiểu thời điểm bạn hiểu các chức năng, một luồng xuất hiện trong tâm trí là đệ quy.

Tuy nhiên, bạn sẽ thấy rằng trong các quy trình và chức năng vẫn là các luồng mã hóa tuyệt vời mà chúng tôi đã đề cập ở đây - tuần tự, có điều kiện và các vòng lặp / luồng lặp.

Đi về phía trước

Bây giờ bạn đã học được các khái niệm cơ bản nhất về lập trình máy tính của bạn. Nếu bạn mong muốn tìm hiểu thêm hoặc muốn tạo dựng sự nghiệp từ phát triển phần mềm, thì tất cả những gì bạn cần làm là lặn sâu hơn vào vùng nước sâu hơn. Có rất nhiều tài nguyên để giúp bạn học hỏi. Biết những gì để nhận dựa trên mức độ kinh nghiệm của bạn rất nhiều vấn đề.

Cố gắng đừng để bị choáng ngợp bởi những từ mới mà bạn nghe được từ các lập trình viên giàu kinh nghiệm hơn trong vòng tròn bạn bè của bạn. Bạn có thể giữ một bảng để ghi lại những điều khoản này, nhưng đừng chịu áp lực để tìm hiểu ý nghĩa của chúng. Bạn sẽ bắt kịp khi bạn học và thực hành.

Dưới đây là một số tài nguyên để giúp bắt đầu sự nghiệp mã hóa của bạn và để giúp xây dựng nền tảng bạn có được từ đây:

  • https://www.codecademy.com/
    Chọn khóa học Python
  • https://app.pluralsight.com/l Library / cifts / what-is-programming / table-of-content
    Khóa học miễn phí về Pluralsight

LƯU Ý: Tôi không khuyên bạn nên đọc quá nhiều về cùng một chủ đề. Tôi tin vào diễn xuất của bạn mà bạn đã học được, đó là luyện tập. Đây là lý do tại sao tôi không bỏ quá nhiều liên kết ở đây cho việc học của bạn. Vui lòng google lên hoặc tìm người khác dựa trên những gì bạn đã biết nếu bạn không phải là người hẹn giờ đầu tiên.

Thử thách cuối cùng

Tôi sẽ thách thức bạn:
Tham gia bất kỳ thử thách nào trong số này:

  • Tìm bất kỳ ứng dụng đơn giản trực tuyến nào và tái tạo nó bằng ngôn ngữ lập trình bạn đã học

HOẶC LÀ

  • Hãy nghĩ về bất kỳ ý tưởng nào ngay cả khi nó đơn giản như một ứng dụng danh sách xô
    xây dựng một ứng dụng xung quanh ý tưởng này.

I hèll giới thiệu bài viết này từ codementor để giúp bạn bắt đầu về điều này.

Đáp án cho bài kiểm tra

Xác định các luồng mã hóa trong các đoạn mã Python sau.

  • Dòng chảy tuần tự
  • Lặp lại
    tuyên bố while
  • Có điều kiện
    câu lệnh if

Đặc biệt cảm ơn Maya Neria, Joshua Ugba và Mohini Ufeli vì đã xem lại bài viết này, Surajudeen Akande đã thúc giục tôi xuất bản nó, nhóm Biên tập tại Andela cho các đánh giá, John Adesanya cho các minh họa và 'Kunmi - những bài học này bắt đầu với mong muốn của cô để học cách viết mã.

Nếu bạn thích điều này, hãy nhấp vào biểu tượng vỗ tay để người khác sẽ thấy điều này ở đây trên phương tiện. Ngoài ra, nếu bạn có bất kỳ câu hỏi hoặc quan sát nào, hãy sử dụng phần bình luận để chia sẻ suy nghĩ của bạn.