ngoân ngöõ laäp trình pascal http violet vnthanhliem24 giaùo aùn pascal 9 tuaàn ngaøy soaïn tieát ngaøy daïy teân baøi giôùi thieäu ngoân ngöõ pascal turbo pascal i muïc tieâu naém khaùi nieäm n

44 6 0
ngoân ngöõ laäp trình pascal http violet vnthanhliem24 giaùo aùn pascal 9 tuaàn ngaøy soaïn tieát ngaøy daïy teân baøi giôùi thieäu ngoân ngöõ pascal turbo pascal i muïc tieâu naém khaùi nieäm n

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Moät caâu leänh xaùc ñònh moät coâng vieäc maø chöông trình phaûi thöïc hieän ñeå xöû lyù caùc döõ lieäu ñaõ ñöôïc moâ taû vaø khai baùo.. taùc duïng ngaên caùch gi[r]

(1)

Tuần Ngày soạn:

Tiết Ngày dạy:

Tên bài: GIỚI THIỆU NGÔN NGỮ PASCAL & TURBO PASCAL I) Mục tiêu:

- Nắm khái niệm ngôn ngữ lập trình Pascal, bước khởi động khỏi Pascal, tạo, lưu, mở tập tin môi trường Pascal

- Nắm cách dịch chương trình thực chương trình Pascal II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1:Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.

Kiểm tra cũ:

Sửa kiểm tra tiết

Hoạt động 2: Hướng dẫn khái niệm ngơn ngữ lập trình Pascal.

Giáo viên giới thiệu: 1-Ngôn ngữ Pascal Vào năm đầu 1970 nhu cầu học tập sinh viên, giáo sư Niklaus Wirth (Trường Đại học kỹ thuật Zurich Thụy sĩ ) sáng tác ngơn ngữ lập trình cấp cao dùng cho cơng tác giảng dạy sinh viên Nó đặt tên Pascal để kỉ niệm nhà

Hs lắng nghe 1) khái niệm ngơn ngữ lập trình Pascal:

(2)

toán học người Pháp Blaise Pascal

Pascal ngơn ngữ lập trình có cấu trúc thể phương diện:

-Về mặt liệu: ngồi kiểu liệu đơn giản cịn có kiểu liệu có cấu trúc ta xây dựng kiểu liệu phức tạp từ kiểu có -Về mặt câu lệnh: từ câu lệnh đơn giản lệnh có cấu trúc ta xây dựng câu lệnh hợp thành

-Về mặt chương trình: chương trình chia làm nhiều chương trình

2-Turbo Pascal

Như trình bày Pascal lúc đời ngôn ngữ dùng để giảng dạy học tập ưu điểm phát huy trở thành ngơn ngữ lập trình mạnh Từ Pascal chuẩn ban đầu nhiều hãng cải tiến với nhiều thêm bớt khác

TURBO PASCAL sản phẩm hãng Borland dùng phổ biến giới ưu điểm như: tốc độ dịch nhanh, cải tiến so

học người Pháp Blaise Pascal

Pascal ngôn ngữ lập trình có cấu trúc thể phương diện:

-Về mặt liệu -Về mặt câu lệnh -Về mặt chương trình

2-Turbo Pascal:

(3)

với Pascal chuẩn đáp ứng nhiều yêu cầu người dùng

TURBO PASCAL 4.0 có cải tiến quan trọng đưa vào khái niệm Unit để dịch sẵn module đĩa làm cho việc lập trình trở nên ngắn gọn

TURBO PASCAL 5.5 version đời năm 1989 có kiểu liệu hồn tốn kiểu OBJECT cho phép đưa mã lệnh xen kẽ với liệu

Hiện có Turbo Pascal version 7.0

Hoạt động 3: Hướng dẫn bước khởi động thoát khỏi Pascal, tạo, lưu, mở tập

tin môi trường Pascal Như trình bày, người sử dụng MTĐT thường viết chương trình ngôn ngữ cấp cao Trong tài liệu ta dùng Pascal, ngôn ngữ cấp cao mạnh sử dụng rộng rãi mà phiên Turbo Pascal

Để sử dụng Turbo Pascal ta cần tối thiểu

hai teäp: Turbo

Để sử dụng Turbo Pascal ta cần tối thiểu hai tệp: Turbo PASCAL.EXE

1)Khởi động – kết

thuùc Turbo Pascal:

*Khởi động:

(4)

PASCAL.EXE TURBO PASCAL.TPL giả sử hai tệp ghi đĩa mềm 1.44MB máy ta có ổ đĩa A đọc loại đĩa

Để khởi động Turbo Pascal Pascal, ta đưa đĩa có hai tệp vào ổ A chọn Turbo phím Enter

Khởi động Turbo Pascal là ta vào môi trường

triển khai hợp mà để

cho đơn giản, ta gọi môi trường Turbo Pascal Muốn thoát khỏi Turbo Pascal trở hệ thống ta làm

1-Soạn thảo chương trình đưa chương trình có sẵn đĩa vào nhớ

Để soạn thảo chương trình muốn lưu chương trình, mở chương trình có sẵn đĩa tương tự phần mềm biết (Word,Excel…) Turbo Pascal 7.0 có hỗ trợ chuột

Nhưng ta cần ý điều

gì ?

TURBO PASCAL.TPL

Nhưng ta cần ý:

Khi ta đưa tên file vào đánh Enter (chú ý

tên file phải theo quy cách đặt tên DOS “phần tên có từ 1 đến ký tự, lớn nhỏ, khơng có khoản trống, ký tự là: AZ az 09 @ # $ % & ( ) _     ) có 2

trường hợp xẩy

-Nếu file chưa có đĩa hình

chọn Turbo phím Enter

*Kết thúc:

Muốn thoát khỏi Turbo Pascal trở hệ thống gõ ALT+X (Giữ phím Alt đánh phím X)

2)Tạo, mở, lưu File Program:

* Taïo tập tin:

Nhấn F10/ File/ New * Lưu taäp tin:

Nhấn F10/ File/Save ( Save as )/đặt tên * Mở Tập tin:

(5)

Khi đưa vào chương trình mà chương trình soạn thảo chưa ghi vào đĩa (chưa ghi toàn tập tin hặc chưa ghi lại thay đổi nhất) Turbo Pascal thơng báo:

Nếu chọn Yes ghi chương trình hành

xóa để ta soạn thảo chương trình

-Nếu file có đĩa (chương trình dược soạn thảo rồi) đưa vào nhớ trình bày lên hình Lúc ta chạy chương trình sửa chữa

-Trong trường hợp ta muốn đưa chương trình có đĩa vào hình soạn thảo ta lại quên tên tập tin chương trình nhập *.PAS vào chỗ “Name” Một danh sách tập tin chương trình trình bày để ta lựa chọn cách sử dụng phím mũi tên để di chuyển trỏ dùng chuột để chọn Enter để đưa chương trình vào soạn thảo

Ghi chương trình đang soạn thảo vào đĩa

Một chương trình soạn thảo xong soạn thảo mà ta muốn lưu trữ đĩa đánh phím F2 dùng chuột chọn File\Save chương trình chưa có tên chọn File\Save as… muốn đặt lại tên

Ghi chương trình đang soạn thảo vào đĩa

(6)

vào đĩa trước soạn thảo chương trình

Nếu chọn No chương trình hành khơng ghi vào đĩa

Trong q trình soạn thảo sửa chữa chương trình ta sử dụng phím chức sau:

Các phím thơng tin trợ giúp

F1 Xem

thông tin phần trợ giúp

Ctrl-F1 Trợ

giúp theo ngữ cảnh

Hướng dẫn phím sử dụng trỏ sử dụng khối ?

Sử dụng khối

Khối đoạn văn chương trình hình chữ nhật xác định đầu khối góc bên trái cuối khối góc bên phải hình chữ nhật Khi khối xác định (trên hình thấy khối có màu khác chỗ bình thường) ta chép, di chuyển, xóa khối… sử dụng khối cho phép soạn thảo chương trình cách nhanh chóng Sau thao tác khối:

Ctrl-K-B Đánh dấu đầu khối

Ctrl-K-K Đánh dấu cuối khối

Ctrl-K-C Chép khối vào sau vị trí trỏ

Ctrl-K-C Di chuyển khối tới sau vị trí trỏ

Các phím dịch chuyển con trỏ

Enter Đưa trỏ xuống dòng

Đưa trỏ lên hàng

trước

Đưa trỏxuống hàng

sau

Đưa trỏsang phải

một ký tự

Đưa trỏ sang traùi

một ký tự

End Đưa trỏ đến cuối dòng

Home Đưa trỏ đến đầu dịng

PageUp Đưa trỏ lên trang treân

PageDowwn Đưa trỏ xuống trang dưới

Các phím xóa ký tự

Delete Xóa ký tự vị trí con trỏ

(7)

Ctrl-K-Y Xóa khối hành

Ctrl-K-W Ghi khối hành vào đóa tập tin

Ctrl-K-R Đọc khối (tập tin) từ đĩa vào sau vị trí trỏ

Ctrl-K-H Tắt mở khối

trước vị trí trỏ

Ctrl-Y Xóa dòng vị trí trỏ

Hoạt động 4: Hướng dẫn dịch chương trình chạy chương trình Turbo Pascal.

Như ta biết, MTĐT hoạt động dựa nguyên tắc làm việc cách tự động theo chương trình Chương trình gồm lệnh riêng lẻ xếp theo trình tự

MTĐT trực tiếp thực chương trình viết ngơn ngữ máy, tức với từ vựng cần hai ký tự Đối với máy tính thuộc vài hệ ban đầu, người ta dùng ngôn ngữ máy, chương trình thường dài cồng kềnh Ngôn ngữ máy lại phụ thuộc vào loại máy tính Người chun sâu, thơng thạo máy viết chương trình cho máy đó, chuyển sang máy khác có đành chịu bó tay Đối với máy tính thuộc hệ sau này, người ta sáng tạo

*Dịch chương trình Giả sử chương trình hành chương trình chao.PAS Muốn dịch chương trình Pascal này(gọi chương trình nguồn) mã máy chạy hệ thống, ta làm sau:

-Gõ đồng thời Alt-C để chọn COMPILE;

-Nếu dịng DESTINATION có ghi MEMORY gõ D để chuyển sang DISK (đĩa chứa tập tin Turbo.PAS) ghi sẵn DISK đương nhiên khơng phải gõ D;

-Gõ đồng thời Alt-F9 để dịch chương trình

Kết dịch chương trình có EXE, trường hợp chao.exe

Gõ Alt-X để trở hệ thống, hệ thống ta mở đĩa chứa Pascal tìm

3) Dịch chương trình

chạy chương trình:

* Muốn dịch chương trình gõ đồng thời Alt-F9 để dịch chương trình.

* Muốn chạy một

(8)

những ngơn ngữ cấp cao nhằm làm dễ dàng cho người sử dụng Những ngôn ngữ cấp cao thường dùng

FORTRAN, BASIC,

PASCAL, ACCESS,

COBOL, C,… lệnh ngơn ngữ có cách diễn đạt gần giống với ngôn ngữ tự nhiên, nhờ chương trình trở nên rõ ràng, dễ hiểu người Tuy nhiên, MTĐT không trực tiếp thực chương trình viết ngơn ngữ cấp cao mà phải gián tiếp thơng qua chương trình

dịch (giống người

phiên dịch) để chuyển chương trình từ ngôn ngữ cấp cao sang ngôn ngữ máy

mở chương trình chao.exe thực Như vậy, chương trình dịch (mang EXE dịch nhờ Turbo Pascal) chạy hệ thống

Hoạt động 5: Dặn dị

Xem cấu trúc chương trình Pascal chuẩn bị tiết học

Tuần Ngày soạn:

Tiết Ngày dạy:

Tên bài: CẤU TRÚC CHƯƠNG TRÌNH PASCAL

I) Mục tiêu:

- Nắm thành phần ngôn ngữ lập trình Pascal

- Nắm cấu trúc chương trình bước để viết chương trình II) Chuẩn bị:

(9)

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ.

Ổn định lớp: Kt sĩ số. Kiểm tra cũ:

Nêu cách khởi động thoát khỏi Pascal ?

Nêu bước tạo mở lưu File Pascal ?

Hoạt động 2: Giới thiệu thành phần Pascal.

Giới thiệu kí tự chương trình Pascal ?

Bộ chữ ngôn ngữ Pascal bao gồm:

-26 chữ la tinh lớn: A, B, C,… Z

-26 chữ la tinh nhỏ: a, b, c,… z

-Ký tự gạch nối _ (cần phân biệt với dấu -)

-Bộ chữ số thập phân: 0, 1,2,3,4,5,6,7,8,9

-Các ký hiệu toán học: + , - , * , / , = , < , > , ( , )

-Các ký tự đặc biệt: , : ;   ? % @ \ { ! & # $ 

-Dấu cách hay khoản trống (Space)

Các từ khóa từ dành riêng Pascal mà người lập trình sử dụng chúng chương trình

Hs lắng nghe

1) Các thành phần bản:

a) Ki tự:

Bộ chữ ngôn ngữ Pascal bao gồm:

-26 chữ la tinh lớn: A, B, C,… Z

-26 chữ la tinh nhỏ: a, b, c,… z

-Ký tự gạch nối _ (cần phân biệt với dấu -)

-Bộ chữ số thập phân: 0, 1,2,3,4,5,6,7,8,9

-Các ký hiệu toán học: + , - , * , / , = , < , > , ( , )

-Các ký tự đặc biệt: , : ;   ? % @ \ { ! & # $ 

-Dấu cách hay khoản trống (Space)

b) Từ khoá:

(10)

tùy theo ý nghĩa từ không dùng từ khóa để đặt tên riêng

-Tên hay gọi danh biểu (identifier) dùng để đặt cho chương trình, hằng, kiểu, biến, chương trình

-Tên có loại tên chuẩn Pascal đặt trước chẳng hạn hàm số SIN, COS…, số PI, kiểu INTERGER, CHAR…, tên người lập trình tự đặt

Ví dụ: write(‘nhap so a:’); readln(a);

Program Begin End Or Var If else

While Whith Type Array Const File ………

……

c) Teân:

-Dùng chữ cái, chữ số ký tự gạch ( _ ) để đặt tên phải tuân thủ quy cách:

*Bắt đầu chữ

*Khơng có khoảng trống tên

*Khơng trùng với từ khóa

-Độ dài tối đa tên 127 ký tự, nhiên cần đặt tên cho gọn có ý nghĩa, dễ nhận biết, dễ nhớ

-Pascal không nghiêm cấm việc đặt tên trùng với tên chuẩn ý nghĩa tên chuẩn khơng cịn giá trị

d) Dấu chấm phẩy:

Dấu chấm phẩy dùng để ngăn cách câu lệnh

Hoạt động 3: Giới thiệu cấu trúc chương trình Trong ngơn ngữ Pascal.

(11)

phần khai báo

phần khai báo gồm mục sau

-Tên chương trình: PROGRAM<tên chương trình>

-Khai báo sử dụng UNIT: USE<tên UNIT>  <, tên UNIT>

-Khai baùo

nhãn:LABEL<nhãn> <, nhãn>

-Khai báo

hằng:CONST

-Khai báo kiểu:TYPE -Khai báo biến:VAR -Khai báo chương trình

a) Tiêu đề:

Program tênchươngtrình;

b) Các khai báo:

Phần khai báo gồm mục sau

-Tên chương trình: PROGRAM<tên chương trình>

-Khai báo sử dụng UNIT: USE<tên UNIT>  <, tên UNIT>

-Khai báo

nhãn:LABEL<nhãn> <, nhãn>

-Khai báo

hằng:CONST

-Khai báo kiểu:TYPE -Khai báo biến:VAR -Khai báo chương trình

c) Thân chương trình:

Phần thân chương trình Bắt đầu từ khóa Begin, kết thúc từ khóa End dấu “.” begin end câu lệnh

Hoạt động 4: Giới thiệu bước viết chương trình.

Thuật giải khái niệm quan trọng Toán học Tin học

Hàng ngày người tiếp xúc với nhiều toán từ đơn giản đến phức tạp Đối với số toán, tồn quy tắc

Thuật giải theo nghĩa trực giác hiểu quy tắc xác đơn trị để tiến hành số

3) Các bước viết chương trình:

Phân tích công việc và chọn cách giải:

a) Thuật giải:

(12)

xác định mơ tả q trình giải Từ người ta đến khái niệm trực giác thuật giải khái niệm dùng từ lâu, kéo dài suốt nghìn năm Tốn học

Trong việc sử dụng MTĐT, người ta giao cho chúng giải nhiều tốn Để thiết bị kĩ thuật làm việc cách tự động, người ta cần mơ tả xác hành động trình tự thực hành động để giải toán đặt ra, tức cần xác định thuật giải để giải

Ví dụ: Giải phương

trình bậc ax+b=0 với a khác 0.

Thuật giải pt1;

Biến a, b, x: thực; y: văn bản;

hữu hạn thao tác sơ cấp theo trình tự định đối tượng cho sau số hữu hạn bước đến kết mong muốn

Ví dụ: Hãy trình bày thuật giải để giải phương trình bậc dạng ax+b=0

Giải đáp:

Bước 1: Nạp vào số a b;

Bước 2: Kiểm tra điều kiện a=0

Nếu chuyển sang bước

Cịn sai chuyển sang bước 4;

Bước 3: Kiểm tra điều kiện b=0

Nếu kết luận phương trình có vơ số nghiệm, tất nghiệm thực

Còn sai kết phương trình vô nghiệm;

Chuyển sang bước 5;

Bước 4: Trả lời nghiệm phương trình –b/a;

Bước 5: Kết thúc

Chương trình bao gồm hai thành phần cấu trúc liệu (tổ chức, sắp xếp thông tin) thuật giải.

Thuật giải thường biểu diễn hình thức khác

-Ngơn ngữ tự nhiên

-Sơ đồ khối

-Ngơn ngữ trình

-Những ngơn ngữ lập trình

b)Bố cục thuật giải:

(13)

bắt đầu

đọc vào a, b với giả thuyết a khác 0;

y:= “phương trình có nghiệm nhất”;

x:=-b/a in y; in x

kết thúc.

Trước hết ta lập chương trình Pascal đơn giản để tập làm việc với môi trường Turbo Pascal Muốn soạn thảo chương trình(hay mở chương trình có sẵn), ta gõ F3 để mở tệp Trên hình thơng báo:

Name *.PAS

Nó có nghĩa yêu cầu ta nạp tên tệp mà ta ghi chương trình vào Tên tệp dãy ký tự nên lấy tập hợp chữ chữ số Với ý định soạn chương trình mang tên CHAO.PAS ta gõ CHAO gõ phím ENTER, máy tự động điền Pas (có nghĩa tệp chương trình soạn thảo Pascal) vào sau phần tên tệp

Nếu chương trình có lỗi máy thông báo lỗi trỏ xuất vị trí có lỗi để chờ ta sửa

Thuật giải tên

thuật giải; Khai báo

Bắt đầu

Các lệnh thuật giải cách dấu “;”

Kết thúc.

b)Chương trình Pascal

(14)

Ta nạp qua bàn phím chương trình ngắn gọn sau:

Program chao;

Begin

Write(‘Chaøo cac ban !’); readln

End

Giả sử chương trình hành chương trình chao.PAS Muốn dịch chương trình Pascal này(gọi chương trình nguồn) mã máy chạy hệ thống, ta làm sau:

-Để chạy chương trình chao đánh Ctrl-F9, kiểm tra(học sinh tự kiểm tra)

-Gõ Alt-X để trở hệ thống, hệ thống ta mở đĩa chứa Pascal tìm mở chương trình chao.exe thực Như vậy, chương trình dịch (mang EXE dịch nhờ Turbo Pascal) chạy hệ thống (học sinh tự kiểm tra)

-Nếu dòng DESTINATION có ghi MEMORY gõ D để chuyển sang DISK (đĩa chứa tập tin Turbo.PAS) ghi sẵn DISK đương nhiên khơng phải gõ D;

c) Dịch chương trình chạy chương trình:

-Gõ đồng thời Alt-C để chọn COMPILE;

-Gõ đồng thời Alt-F9 để dịch chương trình

Kết dịch chương trình có EXE Ta ghi chương trình vào đĩa cách dùng phím F2 cho thực chương trình cách gõ đồng thời hai phím Ctrl+F9

TÓM TẮT

1 Dạng đơn giản chương trình Pascal

program tên chương trình ; begin

Những lệnh (ngăn cách dấu chấm phẩy)

end.

(15)

Hoạt động 5: Viết chương trình để máy in lên hình thơng báo trang trí như

sau: ********************************* & TRUNG TAM MAY TÍNH &

& xin gui loi &

& CHAO CAC BAN & *********************************

Ghi chương trình vào đóa

cho chạy chương trình

Hoạt động 6: Dặn dò.

Xem kiểu liệu chuẩn bị cho tiết học

Tuần Ngày soạn:

Tieát Ngày dạy:

Tên bài: KIỂU DỮ LIỆU VÀ CÁC KHAI BÁO. I) Mục tiêu:

- Nắm khái niệm kiểu liệu ngơn ngữ lập trình Pascal

- Nắm kiểu liệu sở như: kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic

II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.

Kiểm tra cuõ:

(16)

Pascal ?

Hoạt động 2: Hướng dẫn kiểu liệu Pascal.

Một cách chung nhất, thông tin xử lý máy tính gọi liệu Ơû mức ngơn ngữ máy, liệu biểu diễn dãy phần tử nhị phân, cịn gọi bít Các ngơn ngữ bậc cao trừu tượng hóa khái niệm liệu bỏ qua chi tiết biểu diễn bên xây dựng khái niệm liệu

Một kiểu liệu xác định tập hợp giá trị mà biến thuộc kiểu nhận, biến xuất chương trình dều phải gán kiểu Các kiểu liệu Pascal phức tạp, tạo từ kiểu đơn giản, không cấu trúc Các kiểu đơn giản người lập trình định nghĩa gọi kiểu vô hướng, bốn kiểu chuẩn: nguyên (interger), thực (real), logic (boolean) kí tự (char)

Một kiểu vô hướng đặc trưng tập hợp các giá trị với quan hệ thứ tự tuyến tính trong tập hợp Các giá trị được mô tả tên liệt kê định nghĩa kiểu.

Một giá trị kiểu nguyên phần tử tập hợp số nguyên biểu diễn máy cụ thể

chú ý: abs sqr cho kết nguyên đối số thuộc kiểu ngun

Nếu I biến kiểu nguyên thì:

Succ(i) cho số nguyên ( i+1)

Pred(i) cho số nguyên đằng trước ( i-1)

Tên chuẩn maxint (phụ thuộc vào máy) ký hiệu số nguyên lớn biểu diễn máy cụ thể Nếu a b biểu thức nguyên op tốn tử phép tốn a op b cho kết abs(a op b)<= maxint

1) Kiểu liệu sở: a) Kiểu số nguyên:

(interger)

Các phép toán sau áp dụng cho toán hạng nguyên cho kết nguyên

abs(x) : giá trị tuyệt đối x

sqr(x) : bình phương x

trunc(x): x số thực, kết phần nguyên(phần thập phân bị bỏ qua), ví dụ trunc(3.7)=3, trunc(-3.7)= -3

(17)

Một giá trị kiểu thực phần tử tập số thực biểu diễn máy cụ thể

Nếu các tốn hạng có kiểu thực,

Chú ý: định nghĩa kiểu vô hướng, kiểu thực sử dụng kiểu vô hướng khác; chẳng hạn hàm succ pred không chấp nhận tham số thực; số

vaø abs(a)<=maxint

abs(b)<=maxint

Một giá trị kiểu ký tự phần tử tập hợp hữu hạn thứ tự ký tự Mọi máy tính có tập ký tự mình, bao gồm

b) Kiểu thực (real)

các phép toán sau cho kết thực:

* nhaân

/ chia (kết thuộc kiểu thực, hai toán hạng thuộc kiểu nguyên)

+ cộng - trừ

nếu tham số số thực hàm chuẩn sau cho kết thuộc kiểu thực:

abs(x) giá trị tuyệt đối x

sqr(x) bình phương x cịn hàm sau cho kết thuộc kiểu thực trường hợp:

sin(x) cos(x) arctan(x)

ln(x) logarit số e x

exp(x) e muõ x

sprt(x) bậc x. c) Kiểu ký tự: (char) Kiểu kí tự bao gồm:

1 Các chữ cái, bảng chữ Latinh xếp thứ tự từ A->Z:

2 Các chữ số thập phân xếp thứ tự từ 0->9

(18)

thực sử dụng làm số mảng, chu trình sở tập hợp

Một giá trị logic nhận giá trị “đúng” “sai”; Pascal chúng ký hiệu tên xác định sẵn true false

Các phép toán quan hệ =, < >, <=, <, >, >=, in; cho kết logic

khác, ví dụ: <, >, , , (, )…

d) Kieåu logic (boolean)

Các phép toán áp dụng tới giá trị logic cho kết logic

and phép “và” logic or phép “hoặc” logic

Not phép “không” logic

Ngồi cịn có hàm logic chuẩn, hàm cho kết kiểu boolean:

odd(x) : true x lẻ, false x chẵn

eold(f) :ký hiệu xuống dòng

eof(f) : ký hiệu kết thúc tệp

Hoạt động 3: Dặn dị.

Xem phần khai báo chuẩn bị cho tiết học

Tuần Ngày soạn:

Tiết Ngày dạy:

Tên bài: KIỂU DỮ LIỆU VÀ CÁC KHAI BÁO ( Tiếp theo ) I) Mục tiêu:

- Nắm khái niệm kiểu liệu khai báo ngơn ngữ lập trình Pascal - Nắm khai báo nhãn, hằng, biến Pascal

II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

(19)

III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ.

Ổn định lớp: Kt sĩ số. Kiểm tra cũ:

- Nêu kiểu liệu chương trình Pascal ?

Hoạt động 2: Hướng dẫn khai báo Pascal.

Nhãn đặt trước tất câu lệnh dấu : , để thực câu lệnh có nhãn có hai cách : để thực theo trật tự tự nhiên chương trình sử dụng câu lệnh chuyển điều khiển goto Tất nhãn phải khai báo phần khai báo nhãn trước sử dụng

Nhãn số nguyên không dấu, không nhiều chữ số

Ví dụ: label 3, 18, 1977;

Hằng đại lượng khơng đổi q trình thực chương trình

Có loại chuẩn người lập trình định nghĩa

*Hằng chuẩn

Nhãn số ngun khơng dấu, khơng nhiều chữ số

Ví dụ: label 3, 18, 1977;

1)Khai báo nhãn: (label)

Có hai cách :

-Thực theo trật tự tự nhiên chương trình - sử dụng câu lệnh chuyển điều khiển goto

2)Khai báo hằng (constant);

Cú pháp khai báo là:

CONST<Tên hằng> = <Giá trị hằng>;

(20)

do Pascal định sẵn Chẳng hạn số PI Hằng màu Red=4… Người lập trình khơng cần định nghĩa lại khơng cần thiết

*Hằng người lập trình định nghĩa thông qua việc khai báo hằng.

Biến ô nhớ nhớ máy, giá trị biến thay đổi q trình thực chương trình biến giải phóng (bộ nhớ thu hồi nhớ) chương trình kết thúc

Chương trình quản lý biến thơng qua tên biến và biến tương ứng với chương trình nhất định.

Như biết kiểu có loại kiểu kiểu chuẩn kiểu người lập trình tự định nghĩa

Kiểu người lập trình định nghĩa thơng qua việc khai báo kiểu.

ví dụ: CONST a=50; ch=’A’;

d=TRUE;

ví dụ: VAR a, b, c: interger;

r:Real;

  Giá trị 

3)Khai báo biến: (Varible)

Biến trước sử dụng phải khai báo kiểu theo cú pháp sau:

VAR < Tên biến> ,Tên biến : <kiểu biến>;

,Tên biến,Tên biến : <kiểu>

4) Mơ tả kiểu liệu mới:

Cú pháp khai báo là:

TYPE <Tên kiểu> = <kiểu>;

Tên kiểu   kieåu ;

Hoạt động 3: Dặn dị.

Xem phép tốn biểu, thức, hàm chuẩn bị cho tiết học

Tuần Ngày soạn:

(21)

Tên bài: PHÉP TỐN, BIỂU THỨC, HÀM I) Mục tiêu:

- Nắm khái niệm Phép toán, biểu thức, hàm Pascal - Aùp dụng giải tập

II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.

Kieåm tra cũ:

-Nêu cấu trúc chương trình Pascal ?

- Nêu thành phần Pascal ?

Hoạt động 2: Hướng dẫn sử dụng biểu thức số học biểu thức logic.

Là phần câu lệnh bao gồm hằng, biến, hàm liên kết với phép toán, dấu ( )

Các toán tử logic kiểu Boolean cho kết kiểu Boolean bao gồm:

Vídụ:

(b+SQRT(d) )/(2*a)

Là biểu thức số học

1) Biểu thức số học:

Là phần câu lệnh bao gồm hằng, biến, hàm liên kết với phép toán, dấu ( )

Ví dụ: (b+SQRT(d))/(2*a)

2) Biểu thức logic:

(22)

AND (và ), OR (hoặc), XOR NOT (phủ định) Bảng giá trị toán tử định nghĩa sau:

Hoạt động 3: Dặn dị.

Xem biểu thức kí tự hàm chuẩn bị cho tiết học

Tuần Ngày soạn:

Tiết Ngày dạy:

Tên bài: PHÉP TỐN, BIỂU THỨC, HÀM ( Tiếp theo ) I) Mục tiêu:

- Nắm khái niệm Phép toán, biểu thức, hàm Pascal - Aùp dụng giải tập

II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.

Kieåm tra cũ:

-Nêu khái niệm biểu thức số học chương trình Pascal ?

- Nêu khái niệm biểu thức logic kết quả trong chương trình Pascal ?

X Y X AND Y X OR Y X XOR Y

FALSE FALSE FALSE FALSE FALSE

FALSE TRUE FALSE TRUE TRUE

TRUE FALSE FALSE TRUE TRUE

(23)

Hoạt động 2: Hướng dẫn sử dụng biểu thức kí tự biểu thức số hàm bản.

Trong chương trình Pascal ta thường sử dụng số hàm thông dụng sau: a)Hàm cắt TRUNC(x) cho kết số nguyên phần nguyên x

b) Haøm laøm tròn ROUND(x) cho kết số nguyên cách quy tròn phần thập phân x Nói cách khác hàm Round(x) cho ta số nguyên gần x

c) Hàm CHR (n) cho kết là1 kí tự có mã ASCII số n Để cho gọn ta viết #n thay cho CHR (n)

d) Hàm ORD (ch) cho kết số nguyên mã số ASCII kí tự ch

e) Hàm ODD (n) cho kết TRUE n số lẻ cho kết FALSE n chẵn

Ngồi cịn hàm SIN,COS,…

ví dụ Trunc(35,12)=35, Trunc(-35,12)=-35

Vídụ

Round(56.596)=57, Round(56.215)=56, Round(-56.589)=-57, Round(-56.231)=-56

Các hàm bản:

a)Hàm cắt TRUNC(x) cho kết số nguyên phần nguyên x

b) Hàm làm tròn ROUND(x) cho kết số nguyên cách quy tròn phần thập phân x Nói cách khác hàm Round(x) cho ta số nguyên gần x

c) Hàm CHR (n) cho kết là1 kí tự có mã ASCII số n Để cho gọn ta viết #n thay cho CHR (n)

d) Hàm ORD (ch) cho kết số nguyên mã số ASCII kí tự ch

e) Hàm ODD (n) cho kết TRUE n số lẻ cho kết FALSE n chẵn

f) Hàm ABS (x) lấy giá trị tuyệt đối số x

g) Hàm SQR (x) lấy giá trị bình phương x

h) Hàm SQRT(x) lấy giá trị bậc hai x

i)EXP(x) Hàm số mũ số e x

Hoạt động 3: Dặn dị.

(24)

Tuần Ngày soạn:

Tiết Ngày dạy:

Tên bài: CÂU LỆNH, LỆNH GÁN, NHẬP-XUẤT DỮ LIỆU I) Mục tiêu:

- Nắm khái niệm câu lệnh lời giả thích Pascal - Aùp dụng giải tập

II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ. Ổn định lớp: Kt sĩ số.

Kiểm tra cũ:

-Nêu khái niệm biểu thức kí tự chương trình Pascal ?

- Nêu hàm cách sử dụng chương trình Pascal ?

Hoạt động 2: Hướng dẫn khái niệm câu lệnh Pascal.

Một câu lệnh xác định cơng việc mà chương trình phải thực để xử lý liệu mô tả khai báo Các câu lệnh ngăn cách dấu chấm phẩy “;” Dấu chấm phẩy “;” có

1-Khái niệm câu

lệnh:

Có hai loại câu lệnh : câu lệnh đơn câu lệnh có cấu trúc

(25)

tác dụng ngăn cách câu lệnh kết thúc câu lệnh khơng thuộc vào câu lệnh

Trong chương trình nhiều lúc cần phải đưa vào lời giải thích nhằm diễn giải cơng việc mà đoạn chương trình thực làm cho chương trình dễ hiểu hiểu mà không ảnh hưởng đến kết chương trình Lời giải thích đặt chỗ chương trình phải để cặp dấu  cặp dấu “ * *” Trong lúc hiệu đính chương trình ta dùng cặp dấu  cặp dấu “ * *” để tạm thời bỏ đoạn chương trình

Ví dụ: Chương trình giải phương trình bậc hai

loại Procedure, lệnh nhảy không điều kiện Goto

Câu lệnh có cấu trúc: bao gồm cấu trúc điều kiện rẽ nhánh, cấu trúc điều kiện lựa chọn, cấu trúc lặp câu lệnh hợp thành Câu lệnh hợp thành bao gồm nhiều lệnh đơn, BEGIN kết thúc từ END

2-Lời giải thích

Trong chương trình nhiều lúc cần phải đưa vào lời giải thích nhằm diễn giải cơng việc mà đoạn chương trình thực làm cho chương trình dễ hiểu hiểu mà khơng ảnh hưởng đến kết chương trình Lời giải thích đặt chỗ chương trình phải để cặp dấu  cặp dấu “ * *” Trong lúc hiệu đính chương trình ta dùng cặp dấu  cặp dấu “ * *” để tạm thời bỏ đoạn chương trình

3-Một số lệnh đơn

(26)

Đó lệnh gán Thực lệnh này, MTĐT tính giá trị biểu thức bên phải, sau gán giá trị biểu thức cho biến bên trái dấu gán, tức giá trị vào vùng nhớ có địa ký hiệu tên biến bên trái Sau lệnh gán, giá trị cũ biến bị biến nhận giá trị

Ta cho máy thực chương trình cách gõ đồng thời hai phím Ctrl-F9

Trong chương trình phần tựa đề thân chương trình cịn có phần khai báo, ví dụ var k1, k2, cv, dt : real Từ var từ khóa, viết tắt variable, có nghĩa biến Từ real nghĩa là số thực Dòng khai báo chương trình có nghĩa số thực Dịng khai báo chương trình có nghĩa khai báo biến mang tên k1, k2, cv, dt; biến nhận giá trị thực Về thực chất sử dụng bốn vùng nhớ có địa ký hiệu k1, k2, cv, dt để sẵn sàng chứa bốn số thực

Ví dụ:

Program chunhat; Var k1, k2, cv, dt : real; Begin Readln(k1,k2); cv:=2*(k1+k2); dt:=k1*k2; writeln(cv); write(dt); readln end

Chú ý: không nên lẫn dấu “:=” lệnh gán (có nghĩa thao tác đưa giá trị vào ô nhớ) với dấu “=” toán học(chỉ mệnh đề nhau)

(assignment statement) Lệnh gán dùng để gán giá trị biểu thức, vào biến

Cú pháp: <Tên biến>:=<biểu thức>

Nội dung thân chương trình có nghóa là:

- Nhập từ bàn phím hai giá trị gán cho biến k1, k2, tức đưa giá trị vào địa ký hiệu k1 k2

- Tính giá trị biểu thức 2*(k1+k2) bên phải dấu “:=” gán giá trị cho biến cv, tức đưa giá trị vào địa kí hiệu cv Lệnh cv:= 2*(k1+k2) gọi

lệnh gán.

- Tính giá trị biểu thức k1*k2 bên phải dấu “:=” gán giá trị cho biến dt, tức đưa giá trị vào địa kí hiệu dt

- Đưa giá trị địa cv hình

- Đưa giá trị địa dt hình

Chú ý: khơng nên lẫn dấu “:=” lệnh gán (có nghĩa thao tác đưa giá trị vào ô nhớ) với dấu “=” toán học(chỉ mệnh đề nhau)

Trong chương trình có lệnh mới:

readln(k1,k2);

(27)

Ta ghi lại (dùng phím F2) cho thực chương trình CHUNHAT.PAS (gõ đồng thời Ctrl-F9) Khi thực chương trình, hình xuất tín hiệu mời (nhấp nháy) có nghĩa máy hỏi ta hai giá trị k1 k2

màn hình xuất hai giá trị:

1.8000000000E+01 2.0000000000E+01

Đó chu vi diện tích hình chữ nhật viết dạng dấu phẩy động Hai giá trị có nghĩa là:

1.8000000000 x 1001 tức 18

(nếu làm tròn tới đơn vị)

2.0000000000 x 1001 tức 20

(nếu làm tròn tới đơn vị)

Hai giá trị nạp vào phải cách hay nhiều dấu cách kết thúc phím Enter

Writeln(cv);

Cho hình giá trị biểu thức cv, sau xuống dịng

Write(dt);

Cho hình giá trị biểu thức dt

b/Thực hiện

chương trình

Ta ghi lại (dùng phím F2) cho thực chương trình CHUNHAT.PAS (gõ đồng thời Ctrl-F9) Khi thực chương trình, hình xuất tín hiệu mời (nhấp nháy) có nghĩa máy hỏi ta hai giá trị k1 k2 Đánh (cách dấu cách) gõ phím Enter, hình xuất hai giá trị:

1.8000000000E+01 2.0000000000E+01

Đó chu vi diện tích hình chữ nhật viết dạng dấu phẩy động Hai giá trị có nghĩa là:

1.8000000000 x 1001

tức 18 (nếu làm tròn tới đơn vị)

2.0000000000 x 1001

tức 20 (nếu làm tròn tới đơn vị)

Hoạt động 3: Dặn dò.

(28)

Tuần Ngày soạn:

Tiết Ngày dạy:

Tên bài: CÂU LỆNH, LỆNH GÁN, NHẬP-XUẤT DỮ LIỆU I) Mục tiêu:

- Nắm khái niệm câu lệnh nhập xuất liệu Pascal - Aùp dụng giải tập

II) Chuẩn bị:

- Giáo án, sách giáo khoa - Máy vi tính

- Hs: xem trước nội dung III) Các hoạt động dạy học:

Hoạt động GV Hoạt động Hs Nội dung

Hoạt động 1: Ổn định lớp, kiểm tra cũ.

Ổn định lớp: Kt sĩ số. Kiểm tra cũ:

-Nêu khái niệm câu lệnh chương trình

Pascal ?

- Nêu khái niệm lời giải thích chương trình Pascal ?

Hoạt động 2: Hướng dẫn lệnh nhập liệu xuất liệu Pascal.

Read vaø

Readln khác chỗ: Readln sau gõ Enter trỏ dời xuống dịng cịn read khơng Nên dùng Readln đọc liệu để dễ phân biệt hình

Bài tốn Tính chu vi và diện tích hình chữ nhật biết hai cạnh

Lệnh nhập-xuất liệu

a)Thủ tục đọc liệu từ bàn phím

(29)

Readln (khơng có biến ) khơng đọc mà chờ ta gõ Enter Người ta thường dùng read cuối chương trình (trước end.) để chương trình chạy xong hình kết cịn dừng lại để ta xem, gõ Enter để trở chế độ soạn thảo Cũng có người ta dùng readln chỗ chương trình để chạy tới chương trình tam dừng lại cho ta kiểm tra, gõ Enter để chương trình tiếp tục chạy

Trong chương trình có lệnh:

readln(k1,k2);

Đó u cầu nạp liệu từ bàn phím để đưa vào địa ký hiệu k1,k2 Hai giá trị nạp vào phải cách hay nhiều dấu cách kết thúc phím Enter

của nó.

Ta nghĩ tính chu vi diện tích hình chữ nhật khơng có khó khăn Tuy nhiên điều lại nằm ý đồ muốn chuyển từ lãnh vực quen thuộc (tính tốn) sang lãnh vực chưa biết (lập trình)

Thuật giải

Thuật giải chữ

nhaät;

Biến k1,k2,cv,dt: thực;

Bắt đầu

Nhận vào k1, k2; Cv:=2*(k1+k2); Dt:=k1*k2; Hiển thị cv dt

Kết thúc.

read(muïc1,muïc2,………,muïcN); readln(muïc1,muïc2,………,muïcN); readln;

Các cụm liệu gõ từ bàn phím cho biến phân biệt với cách gõ Space Bar lần Kết thúc việc gán trị phím Enter

Chương trình Program chunhat1; Var k1, k2, cv, dt : real; Begin Readln(k1,k2); cv:=2*(k1+k2); dt:=k1*k2; writeln(cv); write(dt); readln end

Trong chương trình có lệnh:

readln(k1,k2);

(30)

Hoạt động 3: Hướng dẫn thủ tục xuất hình Pascal. *Để viết liệu hình

Pascal có mẫu viết sau:

write(muïc1,muïc2, ………,muïcN);

writeln(muïc1,muïc2,………,muïcN); writeln;

Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng

Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng

Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng

Thủ tục writeln(mục1,mục2, ………,mụcN) khác thủ tục write(mục1,mục2,………,mụcN) chỗ viết xong xuống hàng

b)Thủ tục viết liệu ra

màn hình WRITE và WRITELN

*Để viết liệu hình Pascal có mẫu viết sau:

write(mục1,mục2, ………,mụcN);

writeln(mục1,mục2, ………,mụcN); writeln;

Trongđó mục1,mục2, ………,mụcN mục cần viết loại sau:

-Biến chẳng hạn write(i,j)

-Biểu thức

chẳng hạn write(2*a+b) -Hằng chẳng hạn write(Pi)

-Giá trị kiểu vô hướng chuẩn chẳng hạn write(230,23.56,TRUE,’a’)

-Một chuỗi ký tự

chẳng hạn

write(‘Chào bạn!!’)

Thủ tục

writeln(mục1,mục2,

………,mụcN) khác thủ tục write(muïc1,muïc2,

………,mụcN) chỗ viết xong xuống hàng

(31)

Nếu sau Write(mục1, ……,mụcN) có writeln dịng trống in

Nếu sau Write(mục1, ……,mụcN) có writeln dịng trống in

một việc làm việc đơn giản đặt trỏ xuống dịng lệnh writeln(mục1,mục2,

………,mụcN) tương đương với

Begin Write(muïc1, ……,muïcN);

Writeln; End

Nếu sau Write(mục1, ……,mụcN) có writeln dịng trống in

Hoạt động 4: Hướng dẫn qui định dạng thập phân Pascal. Với chương trình hình

chữ nhật viết mục giá trị chu vi diện tích hình chữ nhật xuất dạng mà ta chưa biết, dạng dấu phẩy động; cách viết

không quy cách Muốn

cho số thực xuất dạng thập phân thông thường (gọi dạng dấu phẩy tỉnh) ta phải viết quy cách.

Ta sửa đổi chương trình sau:

Program chunhat; Var k1, k2, cv, dt : real; Begin

Readln(k1,k2); cv:=2*(k1+k2); dt:=k1*k2; writeln(cv :6 :2);

Ví dụ:

write(biểuthứcthực :m :n) writeln(biểuthứcthực :m :n)

b)Quy định dạng xuất

hiện số thập phân

Cách viết quy cách: ta bố trí số chỗ cố định cách thêm dấu hai chấm“:” theo sau số chỗ để viết “:m:n” Máy bố trí số nguyên từ phải qua trái, thừa chỗ để trống bên trái

Hiển thị giá trị biểu thức thực vào khu vực có độ dài m ký tự với n chữ số phần thập phân Nếu dùng writeln sau in xong, máy chuyển chạy xuống dịng

Ta ghi chương trình vào đĩa với tệp mang tên khác (chunhat2.pas) để chương trình trước khỏi bị xóa Muốn ta gõ đồng thời Alt-F để chọn FILE chọn SAVE AS

(32)

write(dt :6 :2); readln

end

Dạng lệnh WRITELN WRITE có nghĩa là:

WRITELN(cv :6 :2); Cho hình giá trị biểu thức cv vào vùng ghi ký tự với chữ số thập phân, sau xuống dịng

WRITE(dt :6 :2); Cho hình giá trị biểu thức dt vào vùng ghi ký tự với chữ số thập phân

chunhat2, ta cho xuất số thực dạng dấu phẩy tỉnh Ngay dạng dấu phẩy động, ta quy định dạng trình bày nhờ lệnh WRITELN viết dạng chương trình tính chu vi, diện tích đường chéo hình chữ nhật cho hai kích thước sau:

Program chunhat;

Var k1, k2, cv, dt, dc : real;

Begin

Readln(k1,k2); cv:=2*(k1+k2);

dc:=sqrt(k1*k1+k2*k2); writeln(cv :9);

writeln(k1*k2 :9); write(dc :9); readln

end

Nghĩa dạng lệnh WRITELN chương trình là:

WRITELN(cv :9); Hiển thị chỉnh phải giá trị biến thực cv lên hình dạng dấu phẩy động vào khu vực có

Hoạt động 5: Hướng dẫn thực chương trình Pascal.

c/Thực chương

trình

(33)

Để tính chu vi diện tích hình chữ nhật ứng với giá trị khác k1 k2, trước hết ta lại gõ đồng thời Ctrl-F9 Sau ta nạp hai giá trị k1 k2 (cách dấu cách), gõ phím Enter, hình xuất hai giá trị chu vi diện tích hình chữ nhật

Qua việc thực chương trình trên, ta rút nhận xét sau: Nạp chương trình vào máy tức ta ghi máy cách giải toán mà

lớp toán với hai biến k1 và

k2 Sau đó, lần muốn giải tốn cụ thể lớp lớp đó, ta cần ấn phím Ctrl-F9 nạp hai giá trị k1 k2 không cần nạp lại chương trình Đó ưu điểm việc sử dụng MTĐT để giải toán Ngay máy tính bỏ túi (khơng lập trình), tính tốn nhanh khơng có ưu điểm

Chẳng hạn:

Với 3.17 51.26 máy cho kết quả: 108.86 162.49 Với 67.125 12.378 máy cho kết quả: 159.01 830.873

trị có dấu cách giữa, hình xuất kết dạng quen thuộc:

18.00 20.00

Dấu chấm nghĩa dấu phẩy cách biểu diễn số thập phân

Hoạt động 6: Dặn dò.

(34)(35)

BAØI LỆNH LỰA CHỌN, LỆNH LẶP I-LỆNH CẤU TRÚC RẼ NHÁNH

1/Dạng không đầy đủ

Cú pháp: IF <Điều kiện> THEN <Công việc>

Ý nghĩa: Điều kiện Thì thực Cơng việc Lưu đồ cú pháp:

Ví dụ 1: Trong việc thực phép chia số a cho b, phải có điều kiện b < > Điều thể chương trình sau:

Var

a,b: interger; Begin

Write(‘Nhập số a:’);readln(a); Write(‘Nhập số b:’);readln(b);

IF b < > THEN writeln(‘Thương số là:’,a/b:5:2); Readln;

End

2/Dạng đầy đủ

Cú pháp: IF <Điều kiện> THEN <Công việc 1> ELSE<Công việc 2>

Ý nghĩa: Điều kiện Thì thực Cơng việc ngược lại thực Cơng việc 2 Lưu đồ cú pháp:

Ví dụ 2: Var

a,b: interger; Begin

Write(‘Nhập số a:’);readln(a); Write(‘Nhập soá b:’);readln(b);

(36)

ELSE

Writeln(‘Soá chia 0, phép chia nghóa’); Readln;

End

Chú ý: - Trước từ khóa ELSE khơng có dấu chấm phẩy

- Cơng việc lệnh nhiều lệnh Trong trường hợp nhiều lệnh phải để chúng cặp BEGIN END (tạo nên lệnh hợp thành)

Ví dụ 3: Nhập vào hai số a b tìm giá trị lớn nhỏ hai số Var

a,b:real; begin

write(‘Nhập vào a:’);radln(a); write(‘Nhập vào b:’);radln(b); IF a>b THEN

Begin

Writeln(a:5:2,’là số lớn nhất’); Writeln(b:5:2,’là số nhỏnhất’); End;

ELSE Begin

Writeln(a:5:2,’là số nhỏ nhất’); Writeln(b:5:2,’là số lớn nhất’); End;

End

II-LỆNH CẤU TRÚC LỰA CHỌN 1/Dạng không đầy đủ

Cú pháp

CASE <Biến> OF

Hằng1a,hằng1b,………….,hằng1x: <Công việc 1>; Hằng2a,hằng2b,………….,hằng1x: <Công việc 2>; ……… HằngNa,hằngNb,………….,hằngNx: <Công việc N>; END;

Ý nghĩa: Trước hết kiểm tra xem giá trị <Biến> có phải Hằng1a,hằng1b,………….,hằng1x hay khơng Nếu thực <cơng việc 1> kết thúc lệnh(thực lệnh sau END;), sai kiểm tra xem giá trị <Biến> có phải Hằng2a,hằng2b,………….,hằng1x hay khơng Nếu thực <Cơng việc 2> kết thúc lệnh, sai tiếp tục kiểm tra… Cứ tiếp tục vậy, giá trị <Biến> không thuộc tập hợp từ 1a đến Nx lệnh kết thúc mà không thực cơng việc

Ví dụ 4: viết chương trình nhập điểm học sinh theo thang điểm 10 tiến hành xếp loại văn hóa theo điểm sau:

9,10 : Loại giỏi

7,8 : Loại

(37)

3,4 : Loại yếu

0,1,2 : Loại

Program xeploại1; Var

Diem:integer; Begin

Write (‘Bai dat bao nhieu diem:’);readln(diem); CASE diem OF

9,10: Writeln(‘Loai gioi’); 7,8: Writeln(‘Loai kha’); 5,6: Writeln(‘Loai trung binh’); 3,4: Writeln(‘Loai yeu’); 0,1,2: Writeln(‘Loai kem’); END;

Readln End 2/Dạng đầy đủ

Cú pháp

CASE <Biến> OF

Hằng1a,hằng1b,………….,hằng1x: <Công việc 1>; Hằng2a,hằng2b,………….,hằng1x: <Công việc 2>; ……… HằngNa,hằngNb,………….,hằngNx: <Công việc N> ELSE

<Công việc N+1>; END;

Ýù nghĩa: Khác dạng khơng đầy đủ chỗ: giá trị <Biến> không thuộc tập hợp các

hằng từ 1a đến Nx thực <Công việc N+1>; (các lệnh sau từ khóa ELSE) kết thúc lệnh

ví dụ 5: ví dụ yêu cầu thêmlà số điểm nhập vào không nằm số từ đến 10 in câu: nhập điểm sai

Program xeploại2; Var

Diem:integer; Begin

Write (‘Bai dat bao nhieu diem:’);readln(diem); CASE diem OF

(38)

Write (‘nhap diem sai:’); END;

Readln End

Chú ý: Biến sau từ khóa CASE phải biến kiểu đếm được.

III-CÁC LỆNH VÒNG LẶP

1/Lệnh lặp với số lần lặp xác định a)Dạng 1:

Cú pháp: FOR <Biến>:= <Giá trị đầu> TO <Giá trị cuối> DO <Công việc> Ý nghĩa: Các bước thực lệnh sau:

Bước 1: Kiểm tra xem giá trị đầu <= giá trị cuối Nếu gán giá trị đầu cho biến và thực công việc.

Bước 2: Kiểm tra xem giá trị biến < > giá trị cuối Nếu tăng thêm cho biến một “đơn vị” (tức biến:=SUCC(biến)) thực công việc.

Lặp lại bước giá trị biến giá trị cuối kết thúc lệnh. Chú ý:

-Biến sau từ khóa FOR gọi biến đếm, biến đếm phải có kiểu đếm giá trị đầu <=

giaù trị cuối.

-Trong lệnh cơng việc khơng có lệnh làm thay đổi giá trị biến đếm. -Như sau vòng lặp kết thúc giá trị biến giá trị cuối

Ví dụ 6: Var

i: integer; begin

for i:= to

writeln(‘day la vong lap thu ‘,i); writeln(‘den day het vong lap’); readln;

end

Ví dụ 7: viết chương trình tính tổng n số, số n số hạng nhập từ bàn phím chạy chương trình

Var

N,I,s,so:integer; Begin

Write(‘Dãy có số?’);readln(n); s:=0;

FOR i:=1 TO n DO Begin

Write(‘Nhập số thứ ’, i ,’:’); readln(so); s:=s+so;

end;

writeln(‘Tổng dãy số S=’, s); readln;

(39)

b)Dạng cú pháp:

FOR <Biến>:= <giá trị đầu> DOWNTO <giá trị cuối> TO <công việc>

Ý nghĩa: tương tự dạng sau lần lặp biến bị giảm “đơn vị” (Biến := PRED(biến))

Trong chương trình có nhiều vịng lặp FOR…TO… DO FOR… DOWNTO… DO lồng Lúc ứng với giá trị biến vịng ngồi máy lặp lại cơng việc vịng

Ví dụ 8: tìm số nguyên dương ước n Program uocso;

Var

i,n:integer; begin

write(‘nhap so n:’);readln(n); for I:=n downto

if n mod i:=0 then write(i:8); readln;

end

2/Lệnh lặp với số lần lặp khơng xác định a)Dạng

Cú pháp: WHILE <Điều kiện> DO <Công việc>

nghĩa: Vào lệnh kiểm tra <Điều kiện> Nếu <Điều kiện> thực <Cơng việc> sau quay lại kiểm tra <Điều kiện> Cứ tiếp tục <Điều kiện> sai kết thúc lệnh

Lưu đồ cú pháp:

ví dụ 9: Tính tổng S=1+2+….+n cho S>1000 Hỏi S bao nhiêu? Var

i,s:integer; Begin

s:= 0; i:= 1;

(40)

s:= s + 1; i:= i + 1; end;

writeln(‘Khi tong S=’,S); readln;

End

Ví dụ 10: Để tìm USCLN số a b ta làm sau: Đầu tiên ta cho UCLN số nhỏ số a b sau ta kiểm tra điều kiện: Nếu hai số a b không chia hết cho UCLN xuống đơn vị lặp lại điều số a b chia hết cho UCLN UCLN số cần tìm

Program USCLN; Var

a,b,ucln: integer; begin

write(‘nhap so a :’);readln(a); write(‘nhap so b :’);readln(b); if a < b then

ucln:= a else

ucln:= b;

while (a mod ucln < > 0) or (b mod ucln < > 0) ucln := ucln – 1;

writeln(‘USCLN hai số ‘,a,’và’,b,’la:’,ucln); readln;

end

Chú ý: Trong vòng lặp phải có lệnh có khả làm thay đổi điều kiện sau từ khoá WHILE để đến lúc điều kiện khơng cịn vịng lặp kết thúc Trong ví dụ lệnh S:=S+1 cịn ví vụ 10 lệnh ucln := ucln –

b)Dạng

Cú pháp: REPEAT <Công việc> UNTIL <Điều kiện>

Ý nghĩa: Vào lệnh thực <cơng việc> sau kiểm tra <Điều kiện> Nếu <Điều kiện> sai tiếp tục thực <cơng việc>, sau lại kiểm tra <Điều kiện> Quá trình tiếp tục <Điều kiện> kết thúc lệnh

Ví dụ:Viết chương trình nhập vào số nguyên dương n xác định xem có phải số nguyên tố không?

(41)

n,i: integer; begin

write(‘Hay nhap vao so n:’);readln(n); i:=1;

REPEAT i:= i+1;

UNTIL (n mod I = 0) or (i*i>n); If i*i>n then

Write(n,’la so nguyen to’) Else

Write(n,’la hop so ’); Readln;

End

c) Sự khác WHILE…DO REPEAD… UNTIL Giữa hai loại lệnh có khác sau:

Trong lệnh WHILE…DO <Điều kiện> kiểm tra trước, <Điều kiện> thực <Cơng việc> Cịn lệnh REPEAD… UNTIL ngược lại <Cơng việc> làm trước kiểm tra <Điều kiện>, <Điều kiện> vịng lặp kết thúc Như tùy hoàn cảnh khác mà ta lựa chọn sử dụng lệnh thích hợp Nếu dùng loại lệnh để giải loại toán với giải thuật <Điều kiện> sau WHILE <Điều kiện> sau UNTIL phủ định

Chúng ta thường sử dụng lệnh lặp với số lần lặp khơng xác định để quay vịng cơng việc ta khơng muốn thực Như lần muốn tìm UCLS số ta phải chạy chương trình USCLN lần Điều làm bực phải đánh Ctrl-F9 hồi Có cách khắc phục điều khơng? Có đấy! Lệnh REPEAD… UNTIL giúp Hãy sửa đổi chương trình USCLS chút sau:

Program USCLN; Var

a,b,ucln: integer; traloi:char; begin

REPEAD

write(‘nhap so a :’);readln(a); write(‘nhap so b :’);readln(b); if a < b then

ucln:= a else

ucln:= b;

while (a mod ucln < > 0) or (b mod ucln < > 0) ucln := ucln – 1;

writeln(‘USCLN cuûa hai số ‘,a,’và’,b,’la:’,ucln); readln;

(42)

2/Làm việc với môi trường turbo pascal

Trong 1, ta viết chương trình Pascal đơn giản, hồn tồn giúp ta làm quen với thao tác chương trình Pascal Ta cho thực chương trình này, sửa chữa nó, ghi vào đĩa thành tệp, gọi vào nhớ v.v… Điều quan trọng tất thao tác áp dụng cho chương trình Pascal bất kì, dù phức tạp đến Vì ta tập làm việc với chương trình, với tệp, thơng qua chương trình đơn giản nói

1 Môi trường Turbo Pascal

Khởi Turbo Pascal ta vào môi trường hệ thống Mơi trường thể màn hình dạng bảng chọn sau:

Sau khởi động Turbo Pascal, hình có sẵn cửa sổ tệp tên NONAME00.PAS Tệp mang chương trình để máy làm số cơng việc ban đầu đó, chứa đoạn văn Nếu khơng cần thiết tệp này, ta đóng nó, đồng thời đóng cửa sổ có ghi NONAME00.PAS cách ấn đồng thời hai phím Alt – F3

Môi trường giúp ta làm việc với Turbo Pascal: soạn thảo chương trình (Edit), thực chương trình (Run), ghi chương trình vào đĩa, gọi chương trình từ đĩa (File) v.v…

2 Cách làm việc với bảng chọn

Với bảng chọn (MENU) trên, muốn chọn công việc nào, ta dùng cách sau: - Gõ đồng thời thời phím Alt chữ có độ sáng cao tên từ cần chọn Ví dụ gõ Alt – E để gõ chương trình

- Nhấn phím F10, di chuyển vệt sáng đến từ cần chọn gõ Enter

-Nhiều công việc ghi menu cịn thực cách gõ số phím chức cho nhanh Ví dụ F3 để mở tệp, Alt – F3 để đóng tệp, Ctrl – F9 để thực chương trình, Alt – X để kết thúc làm việc với Turbo Pascal

(43)

Trở lại công việc nay, sau soạn ghi chương trình CHAO.PAS lên đĩa, muốn kiểm tra việc ghi này, ta gõ phím F3 để mở tệp Trên hình cửa sổ, có ghi danh mục tệp đĩa ổ hoạt động Ta thấy danh mục có tên tệp CHAO.PAS Vì ta muốn xem danh mục tệp đĩa không muốn mở tệp khác nên ta gõ phím ESC để huỷ bỏ lệnh mở tệp quay hình soạn thảo

Hoạt động 1: Hãy sửa đổi chương trình “chào” xuất nhiều văn hơn

nữa hình, cụ thể ngồi văn cũ cịn có thêm dịng “ Chung ta bat dau lam viec”

Giải đáp: Muốn ta bổ sung vào chương trình cũ dịng lệnh sau:

Program chao; begin

write(‘Chao cac ban !’);

write(‘Chung ta bat dau lam viec !’); readln;

end

Một kiến thức cần ghi nhớ ta dùng dấu (“;”) để ngăn cách hai lệnh

Hoạt động 2: Hãy cho chạy chương trình vừa sửa đổi.

Giải đáp: Gõ đồng thời Ctrl – F9, ta thấy xuất hình:

Chao cac ban ! Chung ta bat dau lam viec ! Những lệnh hiển thị

Đối với chương trình mục 2, điều ngồi ý ta khơng có xuống dịng ngắt câu thứ Như write không gây việc xuống dịng kết thúc văn Muốn có xuống dịng, ta dùng lệnh writeln.

Hoạt động 3: Hãy sửa chương trình trở thành sau:

Program chao; begin

writeln(‘Chao’); writeln(‘ cac’); writeln(‘ ban !’); writeln;

writeln(‘CHUNG TA BAT DAU LAM VIEC !’);

writeln(‘ ******** ’);readln; end

Cho chạy chương trình này, ta thấy xuất hình: chao

cac ban

CHUNG TA BAT DAU LAM VIEC ! ********

Qua chương trình chương trình mục 2, ta nêu lại lệnh hiển thị sau đây: -write(‘dãy kí tự’);

Dãy kí tự dấu nháy đơn đưa lên hình ngun văn -writeln(‘dãy kí tự’);

Lệnh có tác dụng giống write có xuống dòng kết thúc văn bản. -writeln;

(44)

Hoạt động 4: Hãy sửa chương trình trở thành sau:

Program chao; Begin

writeln(‘Chao’); writeln(‘ cac’); writeln(‘ ban !’); writeln;

writeln(‘CHUNG TA BAT DAU LAM VIEC !’);

writeln(‘ ******** ’);readln; end

Cho chạy chương trình này, ta thấy kết Như điều lí thú là, chương trình Pascal, chỗ đã có kí tự trống (trừ trường hợp bên văn bản) ta thay số tuỳ ý kí tự trống số tuỳ ý lần xuống dịng mà khơng làm thay đổi tác dụng chương trình Đặc điểm cho phép ta linh hoạt cách trình bày chương trình Pascal (viết lùi vào, xuống dịng, trình bày thành khối v.v…) để chương trình sáng sủa, dễ đọc dễ hiểu

Để khỏi Pascal trở hệ thống, ta gõ đồng thời hai phím Alt – X lúc máy hỏi có ghi chương trình có nhớ lên đĩa hay khơng Nếu muốn ghi ta ấn phím chữ Y (viết tắt Yes), khơng ấn phím N (viết tắt No)

TÓM TẮT

4 p dụng

C Dịch chương trình

D Chạy thử kiểm tra kết quả

1 Những lệnh

writeln(‘dãy kí tự’);

Dãy kí tự hai dấu nháy đơn đưa lên hình ngun văn, sau xuống dịng

Writeln;

Bỏ trống dòng

2 Môi trường làm việc Turbo Pascal

Trong ta làm việc với phím sau:

F3 mở tệp Alt-F3 đóng tệp F2 ghi tệp lên đĩa

Ctrl-F9 thực chương trình

Ngày đăng: 17/04/2021, 18:57

Từ khóa liên quan

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

Tài liệu liên quan