Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
823 KB
Nội dung
NGÔN NGỮ LẬP TRÌNH PASCAL BÀI GIỚI THIỆU CHƯƠNG TRÌNH PASCAL KIẾN THỨC YÊU CẦU: Biết thao tác cài đặt Windows Biết sử dụng chuột thao tác bàn phím KIẾN THỨC ĐẠT ĐƯỢC Biết Biết Biết Biết Biết khái niệm ngôn ngữ Pascal cách cài đặt Pascal từ đĩa CD cách sử dụng Pascal bước để tạo, lưu thực chương trình biên dịch thực thi chương trình I/ Khái niệm Ngôn ngữ lập trình (programming language): Là hệ thống kí hiệu tuân theo quy ước ngữ pháp ngữ nghĩa, dùng để xây dựng chương trình cho máy tính Ngữ pháp (syntax): Quy ước quan hệ ký hiệu Ví dụ ngôn ngữ Pascal: ký hiệu Begin, end phải thành cặp, sau if biểu thức điều kiện, sau kí hiệu then Ngữ nghĩa (sematics): Quy ước ý nghĩa kí hiệu Ví dụ ngôn ngữ Pascal: dấu + biểu thị cho phép cộng, dấu - biểu thị cho dấu trừ …Phát biều if …then … có nghĩa “nếu … làm …” Chương trình (program): Là tập hợp mô tả, phát biểu, nằm hệ thống quy ước ý nghĩa thứ tự thực hiện, nhằm điều khiển máy tính làm việc Lập trình (to program): Làm chương trình, viết chương trình, gọi “thảo chương” II/ Cài đặt chương trình Cài đặt chương trình từ đĩa CD chứa chương trình Turbo Pascal Cho đĩa CD có chứa Turbo Pascal 7.0 (TP7.0) vào ổ đĩa CD Vào cửa sổ My Computer hay Explore Nhấp phải chuột hình đĩa CD, chọn Open menu Nhấp phải chuột thư mục TP7.0, chọn Open menu ra, nhấp đúp nút trái chuột vào thư mục TP7.0 Chúng ta thấy sau : Hình H1 : Cửa sổ chứa thư mục tập tin thư mục TP7.0 Nhấp đúp vào mục iNSTALL, bạn thấy hộp thoại hình H2 Hình H2 Nhấp nút Run Program Bạn thấy hộp thoại thông báo, hộp thoại này, bạn nhấn phím Enter để tiếp tục cài đặt, không thích, bạn nhấn phím ESC để thoát Hình H3 : Cửa sổ thông báo cài đặt Turbo Pascal Nhấn phím Enter để tiếp tục cài đặt, có hộp thoại với tên ổ đĩa tên ổ đĩa CD máy chứa đĩa cài đặt, bạn giữ tên ổ đĩa này, máy bạn tên khác, có sau: Hình H4 : nhập vào tên ổ đĩa chứa Turbo Pascal Nhấn phím Enter, em thấy hộp thoại hình H5 Hình H5 Nhập vào đường dẫn chứa tập tin Turbo Pascal 7.0 Bạn giữ nguyên đường dẫn này, máy bạn khác, tuỳ theo đường dẫn ổ đĩa CD chứa chương trình Nhấn phím Enter, bạn thấy hộp thoại hình H6 Hình H6 Chọn install lên ổ đĩa cứng hay đĩa mềm Bạn chọn đĩa cứng (hard drive) Nhấn phím Enter, bạn có Hình H7 Hình cho chọn lại thư mục bắt đầu install Nếu thích thay đổi thư mục chứa tất tập tin hệ thống Turbo Pascal, bạn nhấn phím Enter, không muốn, nhấn phím F9 để bắt đầu install Ở nhấn phím Enter, hộp thoại ra, xoá đường dẫn có sẵn nhập vào C:\CAiDAT (nhớ tạo thư mục CAiDAT trước) Hình H8 Đã sửa lại C:\CAiDAT Nhấn phím Enter, bạn thấy thông tin ổ đĩa đường dẫn đổi lại sau: Hình H9 Nhấn phím F9 để bắt đầu install Sau vài thao tác, bạn hoàn thành việc cài đặt Turbo Pascal 7.0 vào ổ đĩa cứng Sử dụng chương trình Pascal đĩa cứng a Sử dụng đĩa cứng: Nhấp phải chuột menu Start, chọn Explore Trong ổ đĩa C: nhấp chọn tên CAiDAT Nhấp đúp chuột thư mục BiN Nhấp đúp chuột Turbo (hình cửa sổ, Turbo.exe) Hình H10 b Sử dụng đĩa mềm: Với đĩa mềm, bạn phải có tối thiểu hai tập tin TURBO.EXE TURBO.TPL, bạn chép tập tin có tên TUBBO hình H10 Khi chạy chương trình, bạn cần nhấp đúp Turbo (hình cửa sổ) thư mục gốc ổ đĩa a:\ c Sử dụng MS-DOS PROMPT Win9x: Vào cửa sổ MS-DOS PROMPT, cách nhấp phải nút chuột biểu tượng, chọn Open menu ra, vào menu Start, chọn Progams, chọn MS-DOS PROMPT Bạn thấy sau: Hình H11 cửa sổ MS-DOS Prompt Thông thường thư mục C:\WiNDOWS> hình C:\Windows>CD\ gõ Enter (chuyển thư mục gốc) C:\CD CAiDAT gõ Enter (Chuyển đến thư mục CAiDAT) C:\CAiDAT\CD BiN gõ Enter (chuyển đến thư mục BiN) C:\CAiDAT\BiN>Turbo gõ Enter Cửa sổ Pascal Ghi chú: Vì tập tin Turbo.exe nằm C:\CAiDAT\BiN\Turbo.exe Hoặc từ thư mục C:\WiNDOWS> hình C:\Windows>CD\ gõ Enter (chuyển thư mục gốc) C:\NC gõ Enter C:\NC\NC gõ Enter Tuỳ theo máy bạn cách khai báo đường dẫn tập tin Autoexec.bat Vào thư mục chứa tập tin Turbo.exe, đưa vệt sáng đến tên tập tin này, gõ phím Enter Ví dụ :Theo hướng dẫn trên, bạn thấy tập tin Turbo.exe nằm C:\CAiDAT\BiN Vậy bạn vào thư mục CAiDAT, sau vào thư mục BiN (thực NC) Bạn thấy hình sau : Hình H12 vào tập tin Turbo.exe Gõ phím Enter, cửa sổ PASCAL cho bạn lập trình Hình H13 cửa sổ Pascal III/ Cách sử dụng Turbo Pascal Tạo - lưu - mở tập tin chương trình a Tạo tập tin Bạn vào cửa sổ Pascal giả sử nhập đoạn chương trình sau: Program Hienthi; Begin Write (‘chung toi se giai thich chuong trinh cac bai sau’); Readln; End Hình H14 Cửa sổ viết chương trình xong b Lưu tập tin chương trình Nhấn phím F2 vào menu File, chọn Save Chọn đường dẫn tên tập tin cần lưu Thường Pascal lấy đường dẫn chứa tập tin Turbo.exe, C:\CAiDAT\BiN Bạn nhập tên Bai1 Pascal tự động gán phần mở rộng PAS Nếu muốn lưu nơi khác, bạn nhập đường dẫn tên tập tin Nếu sau muốn lưu với tên khác, tập tin cũ còn, bạn vào menu File, chọn Save as Ví dụ: E:\Bai1, D:\Luu\Bai1… c Mở tập tin chương trình Vào cửa sổ Pascal Vào menu File, chọn Open nhấn phím F3, hộp thoại ra, chọn Bai1, nhấp nút Open Bạn thấy chương trình lúc hình H14 Hình H15 Cửa sổ mở chương trình Sử dụng phím soạn thảo Program a Dịch chuyển trỏ Các phím hướng , , , bàn phím dịch chuyển dấu nháy lên dòng trên, xuống dòng dưới, qua phải kí tự, qua trái kí tự Ctrl + Ctrl + : dịch chuyển dấu nháy theo từ Home: Đưa dấu nháy đầu dòng End: Đưa dấu nháy cuối dòng Page Up Page Down: Dịch dấu nháy lên xuống theo trang hình Ctrl + Page Up Ctrl + Page Down: Đưa dấu nháy đầu tập tin hay cuối tập tin b Sữa chữa văn Phím Del để xoá kí tự vị trí thời dấu nháy Phím Backspace để xoá kí tự nằm bên trái dấu nháy Ctrl + Y để xoá dòng chứa dấu nháy insert để chọn chế độ chèn đè c Các phím chức Nhìn vào cửa sổ soạn thảo chương trình Pascal, bạn thấy phím chức có tác dụng sau: F1 Help: Nhấn phím F1 thông tin dẫn F2 Save: Nhấn phím F2 lưu chương trình F3 Open: Nhấn phím F3 mở chương trình Alt+F9 Compile: Nhấn giữ phím Alt, nhấn thêm phím F9 Compile chương trình F9 Make: Compile chương trình Alt+F10 Local menu: Hiện menu Alt+Kí tự có màu đỏ đứng trước mục menu: Xuất menu ESC: Nhấn phím ESC làm biến hộp thoại, menu… hình soạn thảo Biên dịch (Compile) chương trình Khi viết xong chương trình, để biên dịch, bạn thực cách sau: Nhấn Alt+F9 Nhấn Alt+C, dùng phím , di chuyển vệt sáng đến chữ Compile menu, nhấn phím Enter Hoặc nhấp chuột menu Compile, nhấp chọn mục Compile menu buông xuống, nhấn phím F10, dùng phím hướng di chuyển vệt sáng đến mục Compile menu, chọn Compile menu buông xuống Ở chế độ mặc nhiên, Pascal chọn Destination Memory Trong trường hợp này, bạn nhấn Alt+F9 vào menu chọn Compile biên dịch chương trình, báo kết sai Không tạo tập tin Khi nhấp chuột menu Compile Bạn thấy Destination memory Hình H16 Nếu muốn chọn chế độ Disk, bạn cần nhấp chuột dòng Destination Memory nhấn phím D bàn phím, menu biến Thực chọn lại menu Compile, bạn thấy hình sau: Khi nhấp chuột menu Compile Bạn thấy Destination Disk Hình H17 Bạn lưu ý, Compile chương trình Destination Disk tạo tập tin với tên có phần mở rộng EXE đĩa, bạn chạy chương trình cách gõ đường dẫn tên chương trình dấu nhắc hệ thống, chạy cách chọn tên chương trình Norton Commander, chạy menu Start/Run Windows Nếu chỗ sai, bạn thấy hộp thông báo sau Hình H18 Compile chọn Destination Memory Hình H19 Compile chọn Destination Disk Nếu sai, bạn thấy dòng chữ màu đỏ báo phía đỉnh hình 10 Type …… Var …… Begin …… …… End; Ghi chú: Thủ tục kiểu trả về, sau End dấu chấm phẩy Ví dụ: Procedure Giaithua(m:integer; var gt:Real); Var i : integer; Begin gt:= 1; For i:=1 to m gt:= gt * i; End; Dạng Function FUNCTiON Tên (Thamsố1 : Kiểu; …,ThamsốN: kiểu) : Kiểu; Const …… Type …… Var …… Begin …… …… Tên := giá trị trả End; Ghi chú: Hàm có trả về, sau End dấu chấm phẩy Ví dụ: Function Giaithua(m:integer) : Real; Var i : integer; gt : Real; Begin gt:= 1; For i:=1 to m gt:= gt * i; giaithua:= gt; (* Gán trị kết cho tên hàm*) End; III/ Một số đặc tính chương trình Biến toàn cục biến địa phương Giả sử có chương trình có chương trình con, biến nằm phần khai báo chương trình gọi biến toàn cục (global variable) Những biến thuộc phần khai báo Var chương trình gọi biến cục (local variable) hay gọi biến địa phương chương trình Ví dụ: Program TínhGiaithua; Var n : integer; Function giaithua(m : integer) : Real; Var i : integer; gt : real; Begin gt := 1; For i:=1 to m gt := gt * i; giaithua := gt; End; Begin …… …… End n biến toàn cục, biết đến toàn chương trình i, gt biến địa phương chương trình con, biến ý nghĩa thân chương trình chính, tức đến Ví dụ: Trong thân chương trình ví dụ trên, bạn viết câu lệnh Write(‘Ket qua’, gt); compiler bị báo lỗi, biến gt chưa khai báo chương trình Ghi chú: Tầm vực biến phạm vi khối (chương trình hay chương trình khai báo nó) Chuyển tham số cho chương trình Tham trị - tham biến Các tham số gọi chương trình gọi tham số thực (actual parameter) Khi gọi tham số thực chuyển cho chương trình tương ứng với tham số hình thức theo thứ tự xuất chúng danh sách tham số Ví dụ: Program Tinh; Var a,b : integer; Function Cong(x:integer; y:integer):integer; Var ……… Begin ……… ……… End; Begin Write(‘Ban nhap so a = ‘); Readln(a); Write(‘Ban nhap so b = ‘); Readln(b); Writeln( a, ‘+’, b, ‘= ‘, Cong(a,b)); Readln; End Nhìn vào chương trình trên, bạn thấy chương trình hàm có tên Cong, với hai tham số hình thức theo thứ tự x, y có kiểu nguyên Trong thân chương trình chính, bạn thấy tham số thực a, b truyền tương ứng cho hàm gọi Cong(a,b) a tương ứng với x, b tương ứng với y Bạn thử thay lại lời gọi hàm Cong(b,b) kết b+b, số a nhập vào không tham gia việc gọi hàm Tham trị (value parameter): Không sau từ khoá Var danh sách tham số hình thức Được cấp ô nhớ riêng chương trình gọi bị xoá bỏ chương trình thực xong Tham số thực tương ứng biểu thức Tham trị thực chất biến cục bộ, chương trình gọi, tham trị nhận trị trị tham số thực, trước chương trình bắt đầu thực Những thay đổi tham trị không ảnh hưởng đến chương trình chính, nghĩa không kéo theo thay đổi tham số thực tương ứng Tham biến (variable parameter): Đi sau tứ khoá Var danh sách tham số Tham số thực tương ứng phải biến Những thay đổi tham biến thực chất thực tham số thực tương ứng Thực chất truyền tham số tham biến truyền địa Viết chương trình Như biết, chương trình có hai dạng, Procedure Function a Dạng Procedure Ví dụ: Viết chương trình tính phép toán dùng chương trình thủ tục Program Thutuc; Var a,b,c : real; Procedure Cong(x:real; y:real; z:real;); Begin z := x + y; End; Procedure Tru(x:real; y:real; z:real;); Begin z := x - y; End; Procedure Nhan(x:real; y:real; z:real;); Begin z := x * y; End; Procedure Chia(x:real; y:real; z:real;); Begin z := x / y; End; Begin (*Chương trình chính*) Write(‘Ban nhap vao so a = ‘); Readln(a); Write(‘Ban nhap vao so b = ‘); Readln(b); Cong(a,b,c); Writeln(a, ‘+’, b, ‘= ‘, c); Tru(a,b,c); Writeln(a, ‘-’, b, ‘= ‘, c); Nhan(a,b,c); Writeln(a, ‘*’, b, ‘= ‘, c); Chia(a,b,c); Writeln(a, ‘/’, b, ‘= ‘, c); Readln; End b Dạng Function Ví dụ: Viết chương trình tính phép toán dùng chương trình hàm Program Ham; Var a,b : real; Function Cong(x:real; y:real) : real; Var z : real; Begin z := x + y; Cong:=z; End; Function Tru(x:real; y:real) : real; Var z : real; Begin z := x - y; Tru:=z; End; Function Nhan(x:real; y:real) : real; Var z : real; Begin z := x * y; Nhan:=z; End; Function Chia(x:real; y:real) : real; Var z : real; Begin z := x / y; Chia:=z; End; Begin (*Chương trình chính*) Write(‘Ban nhap vao so a = ‘); Readln(a); Write(‘Ban nhap vao so b = ‘); Readln(b); Writeln(a, ‘+’, b, ‘= ‘, Cong(a,b)); Writeln(a, ‘-’, b, ‘= ‘, Tru(a,b)); Writeln(a, ‘*’, b, ‘= ‘, Nhan(a,b)); Writeln(a, ‘/’, b, ‘= ‘, Chia(a,b)); Readln; End Qua hai ví dụ viết chương trình dạng thủ tục hàm, bạn cần lưu ý cách gọi, bước thực hiện, phân biệt khác để nắm vững tránh sai sót viết chương trình sau Ghi chú: Tầm vực chương trình toàn cha (tại vị trí cha gọi chương trình nó) Tính đệ quy chương trình Đệ quy khái niệm toán học khoa học máy tính Định nghĩa đơn giản chương trình đệ quy chương trình mà gọi đến (và hàm đệ quy hàm định nghĩa dựa nó) Một chương trình đệ quy gọi đến mãi (và hàm đệ quy lúc định nghĩa dựa vào trừ định nghĩa bị xoay vòng) Một điều kiện cần thiết phải có điều kiện kết thúc chương trình không gọi đến (và hàm không định nghĩa dựa nó) Tất tính toán thực tế diễn đạt khuôn mẫu đệ quy Ví dụ 1: Bạn xem hàm giai thừa, định nghĩa công thức: N! = N * (N-1)! với N>=1 0! = Hàm tương ứng với chương trình đệ quy sau: FuncTion Giaithua(N : integer) : integer; Begin if N = then Giaithua:= else Giaithua := N * Giaithua(N - 1); End; Nó gọi đến (với giá trị đối số nhỏ hơn) có điều kiện kết thúc tính kết trực tiếp Ví dụ 2: Tính dãy Fibonacci: Fn = Fn-1 + Fn-2 với n = F0 = F1 = Quan hệ định nghĩa dãy 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, … Số sau hai số trước cộng lại Chúng ta có chương trình đệ quy Function Fibonacci(n: integer) : integer; Begin if n; Hoặc khai báo trực tiếp sau: Var : FiLE OF Kieuphantu; Có thể hiểu phần tử file có định kiểu Record Ví dụ: Type Lilich = Record Hovaten : String [40]; Namsinh : integer; Noisinh : String [50]; Diachi : String [50]; Tencha : String [40]; Tenme : String [40]; End; FileLilich = FiLE OF Lilich; Var Hocsinh : Lilich; F1, F2 : FileLilich; (Từ Type đến End; cấu trúc kiểu Record) c/ Khai báo file không định kiểu Được khai báo với từ khoá có chữ FiLE Bạn khai báo sau: Var : FiLE; Với kiểu file trên, ta phải dùng thủ tục sau để gán tên file, mở file đóng file Lệnh gán tên file cho biến file đại diện ASSiGN (F, Tenfile); Lệnh mở file a/ Mở file để đọc RESET (F); b/ Mở file để ghi REWRiTE (F); Lệnh đóng file Khi xử lý xong, phải đóng file lại CLOSE (F); Ví dụ 1: Assign(F1, ‘Hocsinh.LL’); Gán Hocsinh.LL cho F1 Ví dụ 2: Assign(F1, “Hocsinh.LL’); Rewrite(F1); Chỉ sau thực phát biểu Rewrite(F1) đĩa có file Hocsinh.LL, file rỗng Nếu file Hocsinh.LL có đĩa, hai phát biểu xoá file Hocsinh.LL cũ Ví dụ 3: Assign(F2, ‘Hocsinh.LL’); Reset(F2); Nếu file chưa có đĩa, có lỗi thời gian thi hành Một số lệnh hàm xử lý file a Với File có định kiểu: Lệnh Read(Bienfile, cacbien) Cacbien hay nhiều biến thuộc kiểu thành phần kiểu file, có nhiều chúng cách dấu phẩy (,) Các biến đọc từ Bienfile, sau lần đọc, trỏ file tự động đưa đến phần tử Ví dụ: Var F1 : FileLilich; x, y : Lilich; Begin Assign(F1, ‘Hocsinh.LL’); Reset(F1); Read(F1, x, y); …… …… x.Hovaten ‘Nguyễn Thành An’ x.Namsinh 1990 …… …… y.Hovaten ‘Phan Thanh Bình’ y.Namsinh 1991 …… …… Lệnh Write(Bienfile, Cacbien) Giải thích lệnh read, biến ghi lên Bienfile, sau lần ghi trỏ file tự động đưa đến phần tử Ví dụ: …… …… Write(‘Ban cho biet ten file: ‘); Readln(Tenfile); Assign(F1, Tenfile); Rewrite(F1); x.Hovaten := ‘Thanh Văn Anh’; x.Namsinh := 1990; x.Noisinh := ‘Saigon’; …… …… y.Hovaten := ‘Phan Văn Bình’; y.Namsinh := 1991; y.Noisinh := ‘HaNoi’; …… …… Write(F1,x, y); Close(F1); b Với File văn Ngoài Read(F, ch); Write(F, ch); dùng để đọc, ghi ký tự, tập tin văn có lệnh ghi, đọc theo dòng văn Readln(F, Cacbien); Writeln(F, Cacbien); c Với File không định kiểu Dùng lệnh đọc ghi theo khối, có tốc độ nhanh BlockRead BlockWrite Ngoài có số thủ tục hàm xử lý File thông dụng sau: Hàm EOF(F): Cho giá trị True trỏ file vị trí kết thúc file Thủ tục dùng cần đọc liệu Hàm EOLN(F): Cho giá trị True trỏ file vị trí kết thúc dòng file văn bản, thủ tục dùng với file văn Hàm SEEK(F, i): Đặt vị trí trỏ file vào vị trí RECORD thứ i (i đếm từ 0) SEEK áp dụng cho file có định kiểu Thủ tục EARSE(F): Xoá file đĩa Thủ tục RENAME(F): Đổi tên file TÓM LƯỢC Kiểu File cấu trúc liệu gồm nhiều phần tử kiểu chứa thiết bị đĩa cứng hay đĩa mềm File dùng để lưu trữ liệu thời gian dài, chương trình kết thúc Chứa với khối lượng lớn Để cung cấp cho hay nhiều chương trình hoạt động nhiều thời điểm Chúng ta có loại file File văn (text) File có định kiểu File không định kiểu Khai báo biến file văn bản: Var : Text; Khai báo biến file định kiểu: Type = FiLE OF Kieuphantu; Var : (Tenkieufile>; Hoặc khai báo trực tiếp sau: Var : FiLE OF Kieuphantu; Khai báo biến file không định kiểu: Var : FiLE; Lệnh gán tên file: ASSiGN (F, Tenfile); Lệnh mở file để đọc: RESET (F); Lệnh mở file để ghi: REWRiTE (F); Lệnh đóng file: CLOSE (F); PHẦN THỰC HÀNH: Tham khảo chương trình nhập điểm cho học sinh, không muốn nhập phần họ tên học sinh bỏ trống Program Vaodiem; Type Phieudiem = Record HotenHs : String[40]; Van : real; Toan : real; Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF Phieudiem; Var HS : Phieudiem; F : FilePhieudiem; DK : Boolean; Begin Assign(F, ‘Lop’); Rewrite(F); DK := True; While DK With HS Begin Writeln(‘Ban de vung ho ten neu khong nhap tiep, go Enter.’); Write(‘Ho va ten hoc sinh: ‘); Readln(HotenHS); if HotenHS = ‘ ‘ then DK:= False Else Begin Write(‘Diem Van : ‘); Readln(Van); Write(‘Diem Toan : ‘); Readln(Toan); Write(‘Diem Ngoai ngu : ‘); Readln(Ngoaingu); Write(‘Diem Ly : ‘); Readln(Ly); Write(‘Diem Hoa : ‘); Readln(Hoa); Write(‘Diem Sinh : ‘); Readln(Sinh); Write(‘Diem Ky thuat : ‘); Readln(Kythuat); Write(‘Diem Su : ‘); Readln(Su); Write(‘Diem Dia : ‘); Readln(Dia); Write(‘Diem Cong dan : ‘); Readln(CD); Write(‘Diem The duc : ‘); Readln(TD); Write(‘Diem Nhac : ‘); Readln(Nhac); Write(‘Diem Ve : ‘); Readln(Ve); Write(F, HS); End; End; Close(F); End Giải thích: Trong chương trình trên, bạn khai báo Phieudiem có kiểu Record gồm 13 phần tử Thành phần HotenHS có kiểu chuỗi, thành phần lại có kiểu số thực Khai báo File có định kiểu Khai báo biến HS có kiểu Phieudiem Khai báo biến F có kiểu FilePhieudiem Biến DK có kiểu Boolean, dùng làm điều kiện vòng lặp Vì dùng kiểu File, bạn phải dùng lệnh gán Assign, theo điều kiện bạn phải dùng lệnh mở file để ghi Rewrite Vòng lặp While để nhập thông tin Phieudiem DK true Nếu để trống phần HotenHS, gõ Enter, thoát khỏi vòng lặp DK lúc False Chương trình dùng để nhập thông tin vào File, muốn vừa nhập thông tin vào File đồng thời cho xuất hình thông tin vừa nhập Bạn thay đổi chương trình chút sau: Program Vaodiem; Type Phieudiem = Record HotenHs : String[40]; Van : real; Toan : real; Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF Phieudiem; Var HS : Phieudiem; F : FilePhieudiem; DK : Boolean; Begin Assign(F, ‘Lop’); Rewrite(F); DK := True; While DK With HS Begin Writeln(‘Ban de vung ho ten neu khong nhap tiep, go Enter.’); Write(‘Ho va ten hoc sinh: ‘); Readln(HotenHS); if HotenHS = ‘ ‘ then DK:= False Else Begin Write(‘Diem Van : ‘); Readln(Van); Write(‘Diem Toan : ‘); Readln(Toan); Write(‘Diem Ngoai ngu : ‘); Readln(Ngoaingu); Write(‘Diem Ly : ‘); Readln(Ly); Write(‘Diem Hoa : ‘); Readln(Hoa); Write(‘Diem Sinh : ‘); Readln(Sinh); Write(‘Diem Ky thuat : ‘); Readln(Kythuat); Write(‘Diem Su : ‘); Readln(Su); Write(‘Diem Dia : ‘); Readln(Dia); Write(‘Diem Cong dan : ‘); Readln(CD); Write(‘Diem The duc : ‘); Readln(TD); Write(‘Diem Nhac : ‘); Readln(Nhac); Write(‘Diem Ve : ‘); Readln(Ve); Write(F, HS); End; End; Close(F); Reset(F); While not EOF(F) Begin Read(F, HS); Begin Writeln(‘Ho va ten hoc sinh: ‘, HS.HotenHS); Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem Writeln(‘Diem End; End; Close(F); Readln; End Van: ‘, HS.Van); Toan: ‘, HS.Toan); Ngoai ngu: ‘, HS.Ngoaingu); Ly: ‘, HS.Ly); Hoa: ‘, HS.Hoa); Sinh: ‘, HS.Sinh); Ky thuat: ‘, HS.Kythuat); Su: ‘, HS.Su); Dia: ‘, HS.Dia); Cong dan: ‘, HS.CD); The duc: ‘, HS.TD); Nhac: ‘, HS.Nhac); Ve: ‘, HS.Ve); Phần đầu chương trình giống Để đọc File, dùng lệnh Reset Vòng lặp While in thông tin hình EOF (cuối tập tin) Khi thực chương trình, in lần tất học sinh mà bạn vừa nhập, có nhiều học sinh, thấy hình cuối cùng, để thấy lần thông tin học sinh mà cho biết học sinh thứ mấy, bạn thêm vài lệnh (những lệnh đậm) Program Vaodiem; Type Phieudiem = Record HotenHs : String[40]; Van : real; Toan : real; Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF Phieudiem; Var HS : Phieudiem; F : FilePhieudiem; DK : Boolean; N : integer; Begin Assign(F, ‘Lop’); Rewrite(F); DK := True; While DK With HS Begin Writeln(‘Ban de vung ho ten neu khong nhap tiep, go Enter.’); Write(‘Ho va ten hoc sinh: ‘); Readln(HotenHS); if HotenHS = ‘ ‘ then DK:= False Else Begin Write(‘Diem Van : ‘); Readln(Van); Write(‘Diem Toan : ‘); Readln(Toan); Write(‘Diem Ngoai ngu : ‘); Readln(Ngoaingu); Write(‘Diem Ly : ‘); Readln(Ly); Write(‘Diem Hoa : ‘); Readln(Hoa); Write(‘Diem Sinh : ‘); Readln(Sinh); Write(‘Diem Ky thuat : ‘); Readln(Kythuat); Write(‘Diem Su : ‘); Readln(Su); Write(‘Diem Dia : ‘); Readln(Dia); Write(‘Diem Cong dan : ‘); Readln(CD); Write(‘Diem The duc : ‘); Readln(TD); Write(‘Diem Nhac : ‘); Readln(Nhac); Write(‘Diem Ve : ‘); Readln(Ve); Write(F, HS); End; End; Close(F); Reset(F); N := 1; While not EOF(F) Begin Read(F, HS); Begin Writeln(‘Day la hoc sinh thu: ‘,N); Writeln(‘Ho va ten hoc sinh: ‘, HS.HotenHS); Writeln(‘Diem Van: ‘, HS.Van); Writeln(‘Diem Toan: ‘, HS.Toan); Writeln(‘Diem Ngoai ngu: ‘, HS.Ngoaingu); Writeln(‘Diem Ly: ‘, HS.Ly); Writeln(‘Diem Hoa: ‘, HS.Hoa); Writeln(‘Diem Sinh: ‘, HS.Sinh); Writeln(‘Diem Ky thuat: ‘, HS.Kythuat); Writeln(‘Diem Su: ‘, HS.Su); Writeln(‘Diem Dia: ‘, HS.Dia); Writeln(‘Diem Cong dan: ‘, HS.CD); Writeln(‘Diem The duc: ‘, HS.TD); Writeln(‘Diem Nhac: ‘, HS.Nhac); Writeln(‘Diem Ve: ‘, HS.Ve); N;= N + 1; Readln; End; End; Close(F); Readln; End Viết chương trình để ghi phần tử mảng so[] lên file Viết chương trình đọc liệu từ file phần tử có kiểu Luong = record Hoten : String[40]; Mucluong : real; End; Vào mảng, xếp lại theo thứ tự tăng dần vùng mức lương ghi trở lại vào file Viết chương trình dự đoán giải bóng đá Sea games 22, in kết dự đoán lên file Cách dự đoán: cho điểm đội bóng theo mục sau: Điểm huấn luyện viên tối đa 30 điểm Điểm thủ môn tối đa 15 Điểm hậu vệ tối đa 30 Điểm cầu thủ khác tối đa 50 Điểm thuận lợi sân bãi tối đa 20 Sau tính tổng điểm đội [...]... 1.5E-45 đến 3.4E+38 2 .9 x 10 – 39 đến 1.7 x 1038 5.0E-324 đến 1.7E+308 3.4E- 493 2 đến 1.1E+ 493 2 -9. 2E+18 đến 9. 2E+18 Kích thước 4 byte 6 byte 8 byte 10 byte 8 byte Cách khai báo: Tên biến, dấu hai chấm “:”, kiểu, dấu chấm phẩy “;” Ví dụ: VAR X : Real; Y : Single; Z : Double; Chúng ta có thể khai báo nhiều biến cùng kiểu cách nhau bằng dấu phẩy “,” Ví dụ: VAR So,Ketqua : Real; Các phép toán có thể thực hiện... tốt Có những giải thuật tổng quát như tổ chức cấu trúc dữ liệu, thuật toán sắp xếp, thuật toán tìm kiếm, thuật toán phân phối bộ nhớ … những thuật toán thuộc lĩnh vực chuyên môn như những giải thuật của toán, của cơ sở dữ liệu, của trí tuệ nhân tạo, của đồ hoạ …Tuy nhiên trong lĩnh vực cấp 2, các bạn chỉ cần biết qua các thuật toán đơn giản Ví dụ: Để giải phương trình bậc 2, ta phải xét dấu delta với... tin Turbo.exe, di chuyển vệt sáng đến tập tin này và nhấn phím Enter Để tạo một chương trình, bạn gõ thông tin vào cửa sổ soạn thảo Để lưu chương trình, bạn nhấn phím F2 hoặc vào menu File, chọn Save Sau này muốn lưu thêm một tập tin nữa có tên khác, bạn vào menu File, chọn Save as Để mở một chương trình, bạn nhấn phím F3 hoặc vào menu File, chọn Open, trong hộp thoại hiện ra, chọn tên tập tin. .. diễn bằng các trị từ 0 đến 255 2 Toán tử và các hàm thư viện dùng cho kiểu Char Các ký tự có thể so sánh với nhau dựa trên bảng mã ASCii Vậy có thể dùng các toán tử so sánh đối với kiểu này Ví dụ : ‘A’ < ‘B’ vì trong bảng mã ASCii A=65 và B=66 vì 653, x ... chương trình, bạn có kết sau: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: 10 Đây tháng: 11 Đây tháng: 12 Ghi chú: Không nên thay... chương trình, bạn có kết sau: Đây tháng: 12 Đây tháng: 11 Đây tháng: 10 Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: Đây tháng: II/ Câu lệnh WHILE Câu lệnh... đá giới tổ chức vào năm 193 0, năm tổ chức lần 10 Viết chương trình nhập vào số tháng (1 đến 12), báo tháng có ngày Biết tháng có 28 ngày, tháng 4,6 ,9, 11 có 30 ngày, tháng lại có 31 ngày BÀI CÂU