2012-06-23 33 views
10

Tôi nhận thấy rằng không nơi nào tôi có thể tìm thấy có thể cho tôi một câu trả lời dứt khoát cho câu hỏi trên. Lần đầu tiên tôi tự hỏi về điều này khi tôi nhận thấy rằng bạn không bao giờ phải nêu loại biến trong QBasic khi khai báo chúng, mặc dù bạn có thể thêm một hậu tố vào tên của một biến để đảm bảo nó là một kiểu cụ thể.BASIC sử dụng hệ thống gõ nào?

Ngoài ra, vì một số phương ngữ của BASIC được diễn giải và các phương ngữ khác được biên dịch, điều này có ảnh hưởng đến hệ thống nhập không?

Trả lời

6

Có rất nhiều hương vị của BASIC, một số chỉ lịch sử và một số vẫn còn được sử dụng, mà nó không thể đưa ra một câu trả lời đúng.

Một số BASIC cũ (dòng số BASIC) có hai loại dữ liệu: Chuỗi hoặc Số nguyên. BASIC ban đầu đi kèm với máy tính Apple-II là "BASIC nguyên bản". BASIC sau đó đã giới thiệu Floating Point, thường là FP chính xác duy nhất. BASIC được vận chuyển với TI-99/4a là một ví dụ về BASIC điểm nổi đầu thập niên 80. "Quay lại khi", bạn sẽ tạo một chuỗi ký tự bằng dấu ngoặc kép và một biến chuỗi với một sigil $ sigil theo tên mã định danh. Các biến không có dấu hoa thị $ thường sẽ mặc định là loại biến số mà hương vị đã cho của hỗ trợ cơ bản (Số nguyên hoặc Dấu chấm động). GWBasic, chẳng hạn, sẽ mặc định là dấu phẩy động trừ khi bạn chỉ định các dấu phẩy %, có nghĩa là "Số nguyên". TI Extended Basic không có kiểu số nguyên, nhưng kiểu số dấu chấm động có một số thứ như 15 chữ số có nghĩa, nếu tôi nhớ lại (lỗi toán học dấu chấm động không tồn tại).

Những khái niệm cơ bản ban đầu này về cơ bản được nhập tĩnh, mặc dù sự khác biệt kém hữu ích hơn nhiều so với các ngôn ngữ mạnh hơn. Các lựa chọn cho các kiểu dữ liệu là rất ít: String, Number (đôi khi Int, đôi khi FP), và đôi khi với khả năng xác định một số như Int hoặc FP. Đằng sau hậu trường một số thậm chí tự do chuyển đổi giữa ints và điểm nổi khi cần thiết. Thường thì những chuyển đổi đằng sau hậu trường đó không được ghi chép đầy đủ.

Nhưng đó là trạng thái của các vấn đề trong thập niên 80, khi mọi người có máy tính gia đình trở nên hấp dẫn nhất và tiêu chuẩn bị lỏng lẻo. Mỗi nhà sản xuất phần cứng dường như có cách riêng của họ về cách BASIC hoạt động.

BASIC hiện đại hơn là mạnh hơn và cho phép kiểm soát chặt chẽ hơn các loại biến (khi cần).

+1

Cảm ơn câu trả lời chi tiết. –

2

Các phương ngữ BASIC trước đây luôn được nhập tĩnh. Các biến số, biến chuỗi và mảng mỗi cú pháp khác nhau yêu cầu. Chiều dài của tên thường chỉ giới hạn ở một biểu tượng. Cú pháp thường được sử dụng nhất chỉ là V cho số, V$ đối với chuỗi và mảng được khai báo riêng với DIM.

Vì tôi không có chương trình trong BASIC trong 15 năm, tôi không thể nói chắc chắn điều gì đang diễn ra trên các phương ngữ hiện đại.

1

Phiên bản nâng cao của BASIC được sử dụng trong hệ thống Cơ sở dữ liệu MultiValue sử dụng tính năng nhập động. Điều này có nghĩa là trình biên dịch quyết định cách xử lý biến của bạn dựa trên logic và ngữ cảnh của các câu lệnh.

Bất kỳ điều gì trong ngoặc kép là một chuỗi và bất kỳ giá trị số nào không có trong dấu ngoặc kép đều là số. Đối với việc ghi dữ liệu số đi bằng hình thức tăng gấp đôi hoặc nổi có các biểu thức định dạng khác nhau mà bạn có thể sử dụng để đạt được điều này, mà bạn áp dụng cho các biến của bạn.

Cuối cùng mọi thứ được lưu ở cấp cơ sở dữ liệu dưới dạng chuỗi ASCII. Vì vậy, nhà phát triển thực thi loại ở cấp logic nghiệp vụ, trái với cơ sở dữ liệu thực thi nó.

Các vấn đề liên quan