Nền tảng của ngôn ngữ lập trình

5 351 0
Nền tảng của ngôn ngữ lập trình

Đang tải... (xem toàn văn)

Thông tin tài liệu

Nền tảng ngôn ngữ lập trình Nền tảng ngôn ngữ lập trình Bởi: Khoa CNTT ĐHSP KT Hưng Yên Kiểu liệu, định nghĩa kiểu liệu kiểm tra kiểu liệu Kiểu liệu loại liệu định nghĩa từ trước ngôn ngữ ngôn ngữ hỗ trợ số kiểu liệu Tất ngôn ngữ hỗ trợ biến, số dùng liệu số liệu ký tự Kiểu liệu hỗ trợ chung là: số nguyên, số thực xâu ký tự Một số ngôn ngữ hỗ trợ kiểu liệu khác như: Logical, Boolean, Pointer, Object, Bit, Date, kiểu liệu tự định nghĩa Kiểu Boolean sinh giá trị nhị phân True, False dựa so sánh logic Pointer địa chương trình khác cấu trúc liệu mà dùng để tham chiếu đến chương trình Object xây dựng để đóng gói liệu phương thức Kiểu liệu Date định nghĩa ngày tháng năm khuôn dạng hợp lệ - thay cho việc phải viết chương trình để xử lý kiểu Date, ta sử dụng thủ tục có sẵn ngôn ngữ Các cấu trúc liệu mảng, bảng,danh sách tuyến tính, loại thứ ba cấu trúc liệu ngôn ngữ Các ngôn ngữ hỗ trợ không hỗ trợ kiểu Tuy nhiên, kiểu liệu đơn giản mảng, danh sách tuyến tính, thường hầu hết ngôn ngữ hỗ trợ Cuối cùng, kiểu liệu tự định nghĩa kiểu liệu lập trình viên định nghĩa có giá trị chương trình ứng dụng định Kiểu liệu tự định nghĩa dùng để định nghĩa kiểu liệu ngôn ngữ không hỗ trợ kiểu liệu Kiểm tra kiểu liệu việc ngôn ngữ kiểm tra phù hợp kiểu liệu định nghĩa phép toán học toán tử logic Có bốn mức kiểm tra kiểu, từ không kiểm tra kiểu đến kiểm tra chặt, mức độ chặt chẽ kiểm tra phụ thuộc vào dạng ứng dụng Nói chung tiến trình cần xác, quán ổn định đòi hỏi mức độ kiểm tra kiểu chặt chẽ Trong lập trình hướng đối tượng, kiểm tra kiểu quan trọng tính đa hình cho phép nhiều module thực chức 1/5 Nền tảng ngôn ngữ lập trình nhiều kiểu liệu khác nhau, kiểm tra kiểu chặt chẽ làm giảm khả chương trình gặp lỗi + Không kiểm tra kiểu (typeless checking) nghĩa không tiến hành kiểm tra kiểu cách tường minh Ví dụ: Trong ngôn ngữ không kiểu Basic Cobol, kí tự phép gán integer, gây lỗi trường tham chiếu số nguyên Không có bảo đảm việc không gặp lỗi ta thao tác trường không kiểu Các ngôn ngữ chương trình dịch có cách xử lý trường không kiểu không thống + Mức kiểm tra kiểu ép kiểu tự động (automatic type coercion), nhiều kiểu liệu phép dùng chung, tất dẫn đến lỗi chuyển đổi kiểu không tương thích Mức kiểm tra kiểu có tên kiểm tra kiểu dạng hỗn hợp (mixed mode type checking), kiểu liệu khác thuộc phân loại chuyển sang kiểu đích toán tử kiểu hỗn hợp Ví dụ, Fortran, trộn lẫn số thực số nguyên toán tử toán học dẫn đến kết dự đoán kiểu đích (target type) định việc định nghĩa trường kết Nếu trường kết định nghĩa thực, kết tính toán số thực Nếu trường kết định nghĩa integer, tiến trình làm tròn câu trả lời (số thực) đưa kết integer + Kiểm tra kiểu giả chặt (Pseudostrong type checking) mức thứ ba kiểm tra kiểu, cho phép thao tác đối tượng liệu thuộc kiểu liệu, phép kiểm tra kiểu áp dụng chúng định nghĩa module Pascal ngôn ngữ có kiểm tra kiểu giả chặt, hỗ trợ kiểm tra kiểu chặt chẽ module, không hỗ trợ chéo module Cho nên, liệu truyền từ module sang module khác chuyển sang kiểu liệu khác mà không bị bắt lỗi + Ở mức cao kiểm tra kiểu ngôn ngữ, kiểm tra kiểu chặt chẽ cho phép thao tác đối tượng liệu có kiểu xác định từ trước, nằm khác module Nếu module có kiểu liệu không hợp lệ, ứng dụng dừng đưa thông báo lỗi Ada ngôn ngữ cung cấp kiểm tra kiểu chặt chẽ Chương trình Sự tinh tế ngôn ngữ thể mức độ hỗ trợ module hoá quản lý nhớ Module hoá cách thức tạo chương trình hàm Các ngôn ngữ khác cách hỗ trợ chương trình liệu Trước hết, khả định nghĩa chương trình con, hàm quan trọng để có đặc trưng chương trình mong muốn Thứ hai, liệu 2/5 Nền tảng ngôn ngữ lập trình module quản lý nào? Dữ liệu cục tổng thể Khả có liệu cục quan trọng việc che giấu thông tin giảm thiểu việc liên kết Phạm vi liệu tổng thể cần giới hạn để đảm bảo chất lượng chương trình việc giấu thông tin liên kết Trong ngôn ngữ, chương trình gọi thông qua tên Tuỳ chọn cho xử lý việc gọi bao gồm việc truyền liệu biến, tên, địa chỉ, giá trị Truyền giá trị đòi hỏi định nghĩa liệu cục truyền liệu tên địa sử dụng với liệu cục liệu tổng thể Nói chung, sử dụng chương trình con, module gọi chương trình làm việc trả lại kết cho module Khả hỗ trợ xử lý chương trình đòi hỏi nhiều mục vào điểm thoát Xử lý Exit Return quan trọng chuyển quyền điều khiển module Trong trường hợp, nhiều hội để vào thoát khỏi module xác định trước, lập trình viên cần thành thạo, đảm bảo khả xử lý thành thạo, đảm bảo khả xử lý hoàn hảo Theo nhà lập trình cấu trúc, module thiết kế tốt nên có điểm vào điểm Module vào gây lỗi so với module có nhiều mục vào, điểm Cấu trúc điều khiển Về chất, chương trình máy tính mã hoá thuật toán Ở đây, đối tượng chịu thao tác mô tả kiến trúc thông qua cấu trúc liệu thao tác mô tả thông qua cấu trúc điều khiển Như vậy, cấu trúc điều khiển ngôn ngữ yếu tố định thao tác thao tác liệu mô tả Chúng cung cấp khả xử lý: tuần tự, lặp cách thức lựa chọn cấu trúc liệu Sự có hai dạng: dòng lệnh dòng lệnh Lập trình viên điều khiển dòng lệnh (between-command sequencing) trật tự lệnh, dòng lệnh thứ tự ưu tiên phép toán -operator precendence- dùng thao tác liệu, ngôn ngữ quy định sẵn Với hai khối lệnh A, B tuân theo phương thức xử lý với R số lần thực khối lệnh ta có RA=RB=1 Cấu trúc ngôn ngữ lập trình thường tuân theo trật tự từ trái sang phải từ xuống Cấu trúc lựa chọn ngôn ngữ lập trình thường mô tả từ khoá If Case Với biểu thức điều kiện lựa chọn E khối lệnh lựa chọn A1,A2, ,An, theo ký hiệu ta có 1=RE>=RA1+ +RAn Cấu trúc lặp ngôn ngữ lập trình hỗ trợ dạng: lặp biết trước số lần lặp (For), lặp với kiểm tra điều kiện lặp trước - lính canh đặt trước 3/5 Nền tảng ngôn ngữ lập trình (While do), lặp với kiểm tra điều kiện lặp sau (Do .while) Lặp biết trước số lần lặp đánh dấu biểu thức đếm đầu (D) đến cuối (C) Với khối lệnh A thân vòng lặp, ta có RC=RD=1 RA=C-D+1 C>=D, ngược lại RA=0 C ... Assembler, Ada ngôn ngữ hướng ghi Hướng tập hợp giả sử tất ghi (hoặc bộ) coi Ngôn ngữ điều khiển file tiến trình đọc ghi theo lựa chọn mà người sử dụng 4/5 Nền tảng ngôn ngữ lập trình định nghĩa... Trong số ngôn ngữ lập trình, đệ quy không hỗ trợ cách tường minh, lại coi sức mạnh số ngôn ngữ khác- ví dụ ngôn ngữ Prolog Ở chương trình sử dụng đệ quy, đòi hỏi khả trì hàng đợi stack chương trình. .. 1=RE>=RA1+ +RAn Cấu trúc lặp ngôn ngữ lập trình hỗ trợ dạng: lặp biết trước số lần lặp (For), lặp với kiểm tra điều kiện lặp trước - lính canh đặt trước 3/5 Nền tảng ngôn ngữ lập trình (While do), lặp

Ngày đăng: 01/01/2016, 08:52

Từ khóa liên quan

Mục lục

  • Nền tảng của ngôn ngữ lập trình

  • Kiểu dữ liệu, định nghĩa kiểu dữ liệu và kiểm tra kiểu dữ liệu

  • Chương trình con

  • Cấu trúc điều khiển

  • Vào và ra dữ liệu

  • Quản lý bộ nhớ

  • Quản lý lỗi

Tài liệu cùng người dùng

Tài liệu liên quan