Giáo trình và bài tập Pascal

25 592 11
Giáo trình và bài tập Pascal

Đ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

Nguyn Hu nh THPT Thi Lai Bài 1: Ngôn ngữ lập trình pascal. I/ Giới thiệu - Giáo s Wirth, trờng đại học Thụy Sĩ viết năm 1970 nhằm giúp học sinh làm quen, tiếp cận với máy tính. - Ông lấy tên nhà bác học ngời Pháp là Pascal để đặt tên cho ngôn ngữ lập trình của mình . - Đặc điểm: Nó là ngôn ngữ lập trình có cấu trúc, dễ đọc, dễ hiểu. II/ Khởi động kết thúc. 1) Chạy trong môi trờng window. - Khởi động nh những chơng trình ứng dụng bình thờng. 2) Chạy trong môi trờng Dos. C:>- gõ đờng dẫn\Turbo .exe * Chú ý : Muốn biết đờng dẫn đến tệp tin cần tìm thì ta sử dụng : C :>- Dir turbo.exe /b/s VD: C: >-TP\bin\turbo.exe 3) Thoát khỏi chơng trình. C 1 : Vào file \ exit C 2 : Nhấn tổ hợp phím Alt+X. III/ Soạn thảo chơng trình. 1) Mở mới: file\new 2) Mở tập tin đã ghi vào đĩa: file\open hoặc bấm F 3 3) Ghi tập tin vào đĩa: file\save hoặc F 2 4) Dịch chơng trình: bấm Alt+F 9 5)Chạy chơng trình: Ctrl+F 9 *Chú ý: Pascal là chơng trình biên dịch nghĩa là nó dịch hết chơng trình sang ngôn ngữ máy nếu không có lỗi chơng trình mới đợc thực hiện. Chính vì vậy trong chơng trình Pascal thờng có 2 lỗi sảy ra: - Lỗi cú pháp: chơng trình sẽ không đợc thực hiện sẽ có thông báo lỗi - Lỗi thuật toán: chơng trình chạy nhng ra kết quả sai. IV/ Bộ kí tự, từ khóa, tên gọi. 1) Bộ kí tự : là các kí tự đợc sử dụng trong Pascal. Đó là bộ kí tự chuẩn của Mĩ là ASCII gồm có 256 kí tự đợc mã hóa theo các số tơng ứng. 2) Từ khóa: là các từ do Pascal định nghĩa sẵn, em không đợc đặt chùng. VD: program, var, uses, label, array,type, . Câu lệnh: write; read; if .then; case .of; while . do; repeat .until; for .to .do, . 3) Tên gọi:dùng để chỉ tên biến hoặc hằng sử dụng trong chơng trình đợc đặt bằng chữ cái không phân biệt chữ thờng hay chữ hoa không có kí tự trắng. VD: A12 Đ 1 Nguyn Hu nh THPT Thi Lai 12A S (vì bắt đầu là chữ số) lop hoc S (vì trong tên có ký tự trắng) Danh_sach Đ Bài 2:Dữ liệu đơn giản chuẩn 1. Dữ liệu kiểu kí tự (char) :là các kí tự có trên bàn phím. Các hàm kí tự : ORD(kí tự ): trả về số thứ tự của kí tự trong bảng ACSII. Chr (n) : trả về kí tự của thứ tự n trong bảng ACSII. Upcase (kí tự) : kí tự hoa tơng ứng. Ví dụ : Ord (a) = 97 Chr (97) = a Upcase (a) = A 2. Dữ liệu kiểu số nguyên . tên Phạm vi biểu diễn byte 0 255 shortint -128 127 word 0 65535 integer -32768 32767 longint -2174483648 2174483647 Các phép toán * :nhân +: cộng / :chia -: trừ MOD : phép chia lấy phần d vd : 10 mod 3 = 1 (10 chia 3 d 1) DIV : phép chia lấy phần nguyên vd : 10 div 3 = 3 Một số hàm ABS( n ) = trị tuyệt đối của n SQR( x ) = x 2 SQRT( x ) = căn bậc 2 của x Inc(n) = n + 1 Random( n ) = số nguyên ngẫu nhiên từ 1 . n . 3.Dữ liệu kiểu số thực (Real). - Phạm vi biểu diễn rất lớn, có thể biểu diễn các số có phần thập phân. Có tất cả các phép toán số học trừ phép Mod Div 4 . Dữ liệu kiểu logic ( Boolean ) - Chỉ nhận 2 dữ liệu True (đúng) hoặc False (sai) 2 Nguyn Hu nh THPT Thi Lai + AND : cho kết quả là T khi tất cả các toán hạng đều T. Cú pháp: (biểu thức đk 1) AND (biểu thức đk 2) AND ( ) VD : ( 3 > 7 ) and ( 3 = 1+2 ) = F ( 3 < 7 ) and ( 3 = 1 +2 ) = T + OR : Cho kết quả là T khi tồn tại 1 điều kiện T Cú pháp : (biểu thức đk 1) OR (biểu thức đk 2) OR ( ) VD : (3 > 7) or ( 3 = 2 + 1 ) = T. bài 3: hằng, biến, kiểu, biểu thức câu lệnh I,Khai báo hằng Hằng là đại lợng có giá trị không đổi trong suốt chơng trình. Cách khai báo Const tên hằng = giá trị của hằng; VD: Const m=10; pi=3,14; chú ý: Sau từ khóa Const liệt kê hết các hằng có trong chơng trình. II,Biến Là đại lợng có thể thay đổi giá trị. Biến của chơng trình là tên vùng nhớ lu trữ dữ liệu. Cách khai báo biến: Var tên biến :kiểu của biến VD : Var a: integer ; (biến a có kiểu dữ liệu là integer nghĩa là nó chỉ có khả năng nhận giá trị từ -32768 đến 32767 nếu trong chơng trình gán giá trị lớn hơn hoặc nhỏ hơn thì biến sẽ bị tràn cho kết quả không chính xác) x : real; III,Khai báo kiểu dữ liệu mới Là kiểu dữ liệu do lập trình viên tự dịch nghĩa. Type tên dữ liệu mới =(các thành phần kiểu dữ liệu mới); VD: Type traicay =(cam, tao, xoai, dua); (dữ liệu mới có tên là traicay chỉ nhận 4 loại trái có trong danh sách dã liệt kê) mau =(xanh,do ,tim,vang); (dữ liệu mới có tên là mau) Var a: traicay; (biến a có kiểu dữ liệu là trái cây vừa đợc định nghĩa ở trên) m: mau; IV,Biểu thức Là công thức tính toán để có 1 giá trị theo quy tắc nào đó. Biểu thức gồm toán tử toán hạng xếp xen kẽ nhau.Trong đó -Toán hạng: là các đại lợng cần tinh toán có thể là: hằng, biến, hàm, . 3 Nguyn Hu nh THPT Thi Lai -Toán tử: là các phép toán tác động lên toán hạng ( ): u tiên 1 *, /, div, mod, and: u tiên 2 +, -, or: u tiên 3 =, <>, >, <, >=, =<: u tiên 4 V,Câu lệnh Xác định công việc mà chơng trình phải thực hiện. Các câu lệnh đợc phân cách nhau bởi dấu ; (dấu chấm phẩy) VI,Phép gán Dùng để gán giá trị của 1 biểu thức, 1 hằng cho 1 biến tên biến: =giá trị 1 biểu thức VD: Var a,i:integer; Begin i:=3; a:=7{biến a nhận giá trị =7} i:=i + 1{biến i nhận giá trị = nó +1, i=3+1=4} end. Bài 4: cấu trúc chơng trình pascal Gồm 3 phần: 1.Phần tên 2.Phần khai báo 3.Thân chơng trình *Phần tên: program tên chơng trình; (tên đợc đặt theo quy định của pascal) *Phần khai báo: USES khai báo các Unit(chơng trình chuẩn) cần sử dụng. VD :USES crt ;{khai báo sử dụng chơng trình màn hình} Graph ;{ khai báo sử dụng chơng trình đồ họa} Type {định nghĩa kiểu dữ liệu mới} Const {khai báo hằng} Var {khai báo biến} *Phần tên ch ơng trình: Begin Các câu lệnh pascal End. 4 Nguyn Hu nh THPT Thi Lai Bài 5: Nhập xuất tính toán cơ bản. 1/ Xuất dữ liệu. - Để xuất dữ liệu ra màn hình, ta sử dụng lệnh write hoặc writeln. Dữ liệu là các kiểu tùy ý. a) Lệnh write Cú pháp write(biến hoặc danh sách biến); Xuất dữ liệu ra màn hình, con trỏ đợc đặt ở vị trí tiếp theo. Nếu là danh sách biến thì các biến đợc phân cách với nhau bởi dấu phẩy. VD: write(a,b); (đa giá trị của biến a,b ra màn hình con trỏ nằm ngay saugiá trị của biến b). *Chú ý: Nếu muốn đa nguyên một dòng thông báo nào đó, khi chạy chơng trình ta đặt chúng giữa hai dấu nháy đơn VD: write(chuong trinh tinh dien tich hinh chu nhat); Kết quả: chuong trinh tinh dien tich hinh chu nhat_ (dấu con trỏ đậu) b) Lệnh writeln Cú pháp writeln( biến hoặc danh sách biến); Tơng tự nh lệnh write nhng khi xuất hết dữ liệu con trỏ tự động xuống dòng dới. VD: writeln(chuong trinh tinh dien tich hinh chu nhat); Kết quả: chuong trinh tinh dien tich hinh chu nhat _ (dấu con trỏ đậu) Clrscr: lệnh xóa màn hình(có lạc rang sẽ có rợu) chỉ sử dụng đợc khi đã khai báo sử dụng chơng trình màn hình CRT. 2/ Nhập dữ liệu - Để gán dữ liệu cho các biến trong chơng trình từ bàn phím sử dụng lệnh read hoặc readln. Cú pháp : read(biến hoặc danh sách biến); readln(biến hoặc danh sách biến); Lệnh read dùng để nhập dữ liệu cho các biến từ bàn phím, giá tri của chúng đợc cách nhau bởi dấu cách. Còn lệnh readln kết thúc nhập một biến phải nhấn phím enter. VD: program HCN; uses crt; var a,b:integer; Begin 5 Nguyn Hu nh THPT Thi Lai clrscr; write(nhap vao chieu dai HCN a = ); readln(a); write(nhap vao chieu rong HCN b = ); readln(b); writeln(dien tich HCN la: , a*b); end. ví dụ nhập a = 6 b = 3 Kq: nhap vao chieu dai HCN a = 6 (enter) nhap vao chieu rong HCN b = 3 (enter) dien tich HCN là: 18 Bài tập Bài 1: Viết chơng trình tính chu vi, diện tích hình tam giác. program tamgiac; uses crt; var a,b,c:integer; begin clrscr; write(nhap vao chieu dai canh thu nhat a = ); readln(a); write(nhap vao chieu dai canh thu hai b = ); readln(b); write(nhap vao chieu dai canh thu ba c = ); readln(c); writeln(chu vi hinh tam giac la: , a+b+c); writeln(dien tich hinh tam giac la: , SQRT(p*(a-b)*(b-c))); readln; {dừng ở màn hình kết quả chờ nhấn phím enter = Alt + F5} end. Bài 2:Viết chơng trình tính diện tích, chu vi hình tròn. Program hinhtron; uses crt; const pi=3,14; var r:real; begin clrscr; write(nhap vao ban kinh hinh tron r = ); readln(r); writeln(chu vi hinh tron la: , 2*pi*r:6:2); {kết quả biểu thức đợc viết trong 6 vị trí trong đó có 2 vị trí dành cho phần thập phân} writeln(dien tich hinh tron la: , pi*sqr(r):6:2); readln; end. Bài 3. Viết chơng trình nhập 3 số nguyên dơng a,b,c sau đó tính in ra màn hình trung bình cộng của 3 số đó. 6 Nguyn Hu nh THPT Thi Lai Program songuyenduong; uses crt; var a,b,c:integer; begin clrscr; write(nhap vao so nguyen duong thu nhat a=); readln(a); write(nhap vao so nguyen duong thu hai b=); readln(b); write(nhap vao so nguyen duong thu ba c=); readln(c); writeln(trung binh cong cua ba so nguyen la: , (a+b+c)/3)); readln; end. Bài 4. Viết chơng trình nhập 2 số nguyên x,y tính tổng, hiệu, tích, thơng của chúng xuất ra màn hình. Program pl; uses crt; var x,y: integer; begin clrscr; write(nhap vao so x = ); readln(x); write(nhap vao so y = ); readln(y); write(hieu hai so nguyen la: , x-y); write(tong hai so nguyen la: , x+y); write(tich hai so nguyen la: , x*y); write(thuog hai so nguyen la: , x/y); readln ; end. Bài 5. Viết chơng trình giải phơng trình bậc nhất : a*x+b=0. Program phuongtrinh; uses crt; var a,b: integer; begin clrscr; write(nhap vao so a = ); readln(a); write(nhap vao so b = ); readln(b); writeln(x = ,-b/a); readln; end. Bài 6: Các lệnh điều kiện . 1/ Câu lệnh if. 7 Nguyn Hu nh THPT Thi Lai - Cấu trúc 1: if (điều kiện) then (công việc). - Công dụng : Kiểm tra điều kiện nếu điều kiện trả giá trị đúng thì thực hiện công việc, điều kiện sai không làm gì. - Trong đó : + If .then là từ khóa + Điều kiện là biểu thức logic chỉ nhận 1 trong 2 giá trị đúng hoặc sai. + công việc là các lệnh của Pascal nếu từ 2 lệnh trở lên phải đặt trong khối begin end; VD 1 : if 2>3 then begin write(nhap vao gia tri a=); readln(a); end; Điều kiện sai nên hai câu lệnh trên không đợc thực hiện . VD 2 : a:=5 b:=3 if a>= b then begin a:=a-b; b:=b+a; end; tính a:=a-b = 5-3=2; b:=b+a = 3+2=5; - Cấu trúc2: if <điều kiện> then < cv1> else <cv2>; - Công dụng : kiểm tra (điều kiện) nếu (điều kiện) đúng thì thực hiện (cv1) ngợc lại (điều kiện) sai thực hiện (cv2) Bài tập Bài 1. Viết chơng trình nhập vào số nguyên dơng x in kết quả cho biết số nguyên dơng có chia hết cho 3 hay 7 không? Program chia_het; uses crt; var x: byte; begin clrscr; write(nhap vao gia tri x=); readln(x); if (x mod 3=0) or (x mod 7=0) then write(chia het cho 3 hoac 7) else write(khong chia het cho 3 hoac 7); readln; end. 8 Nguyn Hu nh THPT Thi Lai Bài2. Viết chơng trình nhập chiều dài, chiều rộng hcn bán kính hình tròn. So sánh diện tích của hcn hình tròn. Program bankinh; uses crt; var a,b,r,s1,s2: real; begin clrscr; write(nhap vao chieu dai hcn a =); readln(a); write(nhap vao chieu rong hcn b =); readln(b); write(nhap vao ban kinh hinh tron r =); readln(r); writeln(s1 hcn la: , a*b:8:2); writeln(s2 hinh tron la: , pi*sqr(r):8:2); if a*b= pi*sqr(r) then writeln(dien tich hcn bang dien tich hinh tron) else if a*b>pi*sqr(r) then writeln(dien tich hcn lon hon dien tich hinh tron) else writeln(dien tich hcn nho hon dien tich hinh tron); readln; end. Bài 3. Viết chơng trình vào 1 số nguyên dơng xuất kết quả cho biết số có chia hết cho 2và3 không? Program chia_het; uses crt; var a: byte; begin clrscr; write(nhap vao gia tri a=); readln(a); if (a mod 2=0) and (a mod 3=0) then write(chia het cho 3 va 2) else writeln(khong chia het cho 2 va 3); readln; end. Bài 4. Viết chơng trình nhập vào 1 năm dơng lịch kiểm tra xem năm đó có phải là năm nhuận không ? Gợi ý : năm nhuận là năm có 2 số cuối của năm chia hết cho 4. Nếu 2 số cuối là 00 thì lấy 2 số đầu chia hết cho 4. Program duonglich; uses crt; var nam:word; begin clrscr; 9 Nguyn Hu nh THPT Thi Lai write(nhap vao so nam=); readln(nam); if (nam mod 100<>0) and ( nam mod 4=0) or (nam mod 100 = 0) and ((nam div 100) mod 4 = 0) then write(Nam da cho la nam nhuan) else write(khong phai la nam nhuan); writeln; end. 5. Viết chơng trình nhập vào 3 độ dài (a,b,c) kiểm tra xem chúng có phải là 3 cạnh của tam giác hay không? Nếu có, in diện tích tam giác đó. Nếu không in thông báo không phải là tam giác? program tamgiac; uses crt; var a,b,c,s,p:real; begin clrscr; write(nhap vao so a=); readln(a); write(nhap vao so b=); readln(b); write(nhap vao so c=); readln(c); if (a<b+c) and (b<a+c) and(c<b+a) then begin write(do la do dai 3 canh cua tam giac ); p:=a+b+c; writeln(p hinh tam giac la:, a+b+c:8:2); writeln(s hinh tam giac la:, sqrt(p*(p-a)*(p-b)*(p-c)):8:2); end else write(khong phai la 3 canh cua tam giac); readln; end. 6. Viết chơng trình nhập vào điểm trung bình. In kết quả xếp loại nh sau: 10 >= điểm TB >=9 : xuất sắc 9 > điểm TB >= 8 : giỏi 8 > điểm TB >=7 :khá 7 > điểm TB >=5: TB 5 > điểm TB >=0: yếu. Program TB; uses crt; var a:real; begin clrscr; 10 [...]... đợc chạy tay i=2 công việc đợc thực hiện là viết 2 ra màn hình i:=i+3=2+3=5 i=5 . bấm F 3 3) Ghi tập tin vào đĩa: filesave hoặc F 2 4) Dịch chơng trình: bấm Alt+F 9 5)Chạy chơng trình: Ctrl+F 9 *Chú ý: Pascal là chơng trình biên dịch. khỏi chơng trình. C 1 : Vào file exit C 2 : Nhấn tổ hợp phím Alt+X. III/ Soạn thảo chơng trình. 1) Mở mới: file ew 2) Mở tập tin đã ghi vào đĩa: fileopen

Ngày đăng: 30/09/2013, 12:10

Hình ảnh liên quan

màn hình và i:=i+2=2+2=4 - Giáo trình và bài tập Pascal

m.

àn hình và i:=i+2=2+2=4 Xem tại trang 16 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan