Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
208,03 KB
Nội dung
LậptrìnhPascalLậptrìnhPascal Chuyên đề: Pascal Bài 1-Cấu trúc+Write&Read+Thuật toán+If … then … I/ Cấu trúc chương trìnhPascal Cấu trúc - Một chương trìnhPascal gồm phần + Phần khai báo bao gồm: khai báo biến; khai báo thư viện + Phần thân bao gồm lệnh mà máy tính cần thực Bắt đầu = Begin kết thức = End - Khai báo thư viện: bắt đầu uses tenthuvien[cosan] - Khai báo biến: kiểu liệu Kiểu liệu - Một số kiểu liệu phổ biến Pascal: + Số nguyên: integer + Số thực: real (số thực tập hợp số âm, số dương, số số thập phân) + Kí tự: char (VD: a, b, c, 1, % dấu cách) + Xâu kí tự: string (VD: ABC, fefei, 122et, &$*#, Thành Huy) - Các phép toán với liệu Kí hiệu + – * / Div Mod VD: Phép toán Cộng Trừ Nhân Chia Chia lấy phần nguyên Chia lấy phần dư 5+2=7 5/2 = 2,5 5–2=3 div = * = 10 mod = Kiểu liệu Số nguyên, số thực Số nguyên, số thực Số nguyên, số thực Số thực ( chia số nguyên số thực) Số nguyên Số nguyên ( có nghĩa chia = dư 1) Ab ( toán học) a * b * ((a+2)/(8-4)) – (7/(x*x)) – (5/(8*(4*x -7))) Các kí hiệu Kí hiệu Pascal = - Trong pascal Phép so sánh Bằng Khác Kí hiệu toán học = ≠ LậptrìnhPascalLậptrìnhPascal < Nhỏ < > Lớn > = Lớn ≥ - Trong Pascal, biểu thức so sánh trả kết Đ S Cách khai báo sử dụng biến chương trình a) Cách khai báo biến var tenbien:kieudulieu; (tất câu lệnh Pascal kết thúc phải có dấu ‘;’ trừ số ngoại lệ begin,…) Trong đó: var từ khóa để khai báo biến Tên biến người lậptrình đặt (ko chứa kí tự đặc biệt (^, &, *,…), ko cách, ko bắt đầu chữ số (VD: 1abc - sai) Kiểu liệu: kiểu liệu có sẵn Chương trìnhCó thể khai báo sau: a,b :integer; khai báo có nhiều biến kiểu liệu gộp - Bài tập nhỏ Hãy khai báo biến kiểu số nguyên; biến kiểu số thực; biến kiểu kí tự; biến kiểu xâu kí tự Làm thử var …,…,…:………….; …,…,…:………….; …,…,…:………….; …,…,…:………….; b) Cách sử dụng biến - Gán giá trị cho biến giá trị cũ bị xóa - Cú pháp phép gán: tênbiến:= biểuthức; II/ Lệnh Read & Write Hai lệnh Pascal - Lệnh in hình: - Write(‘Nội dung cần tìm’); - Phần nội dung phải để cặp dấu ngoặc ‘ ’ VD: Write(‘Toán’); -> hình hiển thị chữ Toán Writeln(‘Nội dung cần tìm’); - Phần nội dung phải để cặp dấu ngoặc ‘ ’ VD: Writeln(‘Toán’); -> hình hiển thị chữ Toán xuống dòng {Có thể In biến có sẵn (Lúc sau nói)} Lệnh nhập liệu vào: Read(biến); VD: Read(biến); -> hình hiển thị phần cho nhập giá trị Readln(biến); VD: Readln(biến); -> hình VD: Hãy viết phần mềm nhập vào số kiểu nguyên in số ra: LậptrìnhPascalLậptrìnhPascal - Lệnh readln; cuối có nghĩa dừng hình (làm cho hình đứng lại) Kết quả: Các số 5,6,7 hình tự nhập III/ Thuật toán & Hướng dẫn giải toán Các bước để giải toán - Một toán để giải Pascal cần thực bước (thuật toán) B1: Xác định toán (Input – Output) B2: Mô tả toán (Mô tả = lời) B3: Dựa vào phần mô tả lời -> viết lệnh chương trình VD: Nhập số a,b,c Ktra xem có phải cạnh tam giác không, Nếu phải tính chu vi hình Nếu sai in thông báo (Cách viết thuật toán phần 2) IV/ Cấu trúc lệnh điều kiện LậptrìnhPascalLậptrìnhPascal Câu lệnh điều kiện (1 – Dạng thiếu) If then ; (2 – Dạng đủ) If thên else ; Ý nghĩa câu lệnh: If < điều kiện> then ; Là điều kiện đưa thực câu lệnh If thên else ; Điều kiện phép so sánh, sai Là điều kiện đưa thực câu lệnh sai thực câu lệnh - Câu lệnh 1,2 lệnh Nếu nhiều lệnh phải thực phải đặt lệnh cặp: Nếu dạng thiếu Đặt câu lệnh cặp Begin – End; (có ‘’;’’) Nếu dạng đủ Đặt câu lệnh cặp begin – End (Không có ; & ngoại lệ thứ ‘’;’’) Đặt câu lệnh cặp begin – End; VD: Nhập số a,b,c Ktra xem có phải cạnh tam giác không, Nếu phải tính chu vi hình Nếu sai in thông báo Thuật toán: Input: a,b,c Output: Có phải cạnh tam giác Đúng: in chu vi Sai in thông báo Mô tả: B1: Nhập a,b,c B2: Kiểm tra: -> Nếu a+b>c a+c>b b+c>a cạnh tam giác -> | | -> Cvi:= a+b+c Viết thành lệnh: Var a,b,c:integer; Begin Write(‘Nhap a: ’); readln(a); Write(‘Nhap b: ’); readln(b); LậptrìnhPascalLậptrìnhPascal Write(‘Nhap c: ’); readln(c); If ((a+b)>c)) and ((a+c)>b)) and ((b+c)>a)) then Begin Write(‘Chu vi cua hinh tam giac la: ’); Writeln(a+b+c); End Else Writeln(‘Khong phai la tam giac’); Readln {Trường hợp ngoại trừ thứ 2: không ‘;’ sau lệnh } End Bài 2: Nhập x, tính y biết y=5x+8 Thuật toán Input: … Output: … B1: Nhập … B2: Tính … -> - x=0 -> y= … | | x0 -> y=5*x+8 Viết thành lệnh Var x,y:integer; Begin Write(‘Nhap x: ’); readln(x); If x=0 then y:=0 else y:=5*x+8; Writeln(‘y= ’,y); Readln End Bài 3: Nhập số a,b,c Tìm số lớn số a,b,c (Dựa vào thuật toán viết thành lệnh) Thuật toán: LậptrìnhPascalLậptrìnhPascal Input: a,b,c Output: Số lớn B1: Nhập a,b,c B2: Gán sln:=a B3: Nếu sln Nhap so thu : i:=2 -> Nhap so thu : i:=3 -> Nhap so thu : i:=4 -> Nhap so thu : VD: S = 1+2+…+20 Lệnh {Phần trước cậu tự viết nhé} s:=0; for i:=1 to 20 s:=s+i; LậptrìnhPascalLậptrìnhPascal ***** I=1 -> s=s+1 -> s=0+1=1 I=2 -> s=s+2 -> s=1+2=3 I=3 -> s=s+3 -> s=3+3=6 I=4 -> s=s+4 -> s=6+4=10 I=5 I=6 I=7 I=8 … I=20 Bài 1: Tính tổng số lẻ từ -> 50 in kết Mẫu: Thuật toán: Input: {Không có} Output: Tổng số lẻ từ -> 50 B1: Chạy từ -> 50 B2: Nếu lẻ cộng vào tổng B3: In k.quả Lệnh Var i,s:integer; Begin S:=0; For i:=1 to 50 if i mod 2=1 then s:=s+i; Writeln(‘Tổng là: ‘, s); Readln End Lập trìnhPascalLậptrìnhPascal Bài 2: S = + + + … + 57 + 60 Tính S Var s,i:integer; Begin S:=0; For i:=0 to 60 if mod 3=0 then s:=s+i; Writeln(‘S= ’,s); Readln End Lưu ý: Giống câu lệnh rẽ nhánh if…then, câu lệnh for…do lồng Khi biến đếm câu lệnh lặp phải khác Nâng cao – Lệnh downto Tương tự: downto có cấu trúc sau: For := downto + Trong for, downto, từ khóa + Biến đếm số nguyên + Số lần lặp = giá trị cuối – giá trị đầu + + Mỗi lần lặp biến đếm tự giảm + Giá trị cuối phải > giá trị đầu II/ Cấu trúc lệnh lặpvới số lần chưa biết trước Cú pháp While Trong đó: while, từ khóa Điều kiện phép so sánh Câu lệnh 1, nhiều phải đặt cặp Begin – End ; Cách hoạt động Bước 1: Kiểm tra điều kiện LậptrìnhPascalLậptrìnhPascal Bước 2: Nếu điều kiện sai, câu lệnh bị bỏ qua lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh quay lại bước Khái niệm Vòng lặp chưa biết trước tương từ biết trước có dùng vòng lặp chưa biết trước không cần nhập giá trị VD: a) S = + + + … + 100 Dùng lệnh while…do: Var i,s:integer; Begin I:=1; While i chọn Tab View > bỏ chọn dòng "Hide extansions for file types" để hiển thị phần mở rộng file máy tính >OK để lưu lại thiết lập Vậy phần mở rộng mở - Nếu chưa hiểu, xem mạng có Phần mở rộng mở, gửi nhanh Bài tập - Nhập mảng số thực với số phần tử nhập từ bàn phím Tính TBCộng số chẵn Lập trìnhPascalLậptrìnhPascal - BTVN Nhập mảng số nguyên với số phần tử nhập từ bàn phím Tìm số lớn nhất, nhỏ Chuyên đề: Pascal-File Bài 4-Tệp Pascal B4/ Tệp Cú pháp khai báo var :text; LậptrìnhPascalLậptrìnhPascal Các thao tác với tệp văn Mở tệp để ghi Assign(,); Rewrite(); Mở tệp để lấy liệu Assign(,); Reset(); Mở tệp để ghi thêm Assign(,); Append(); Đóng tệp Close(); Lưu ý: lệnh assign lệnh để mở tệp Bảng Định nghĩa VD lệnh (Các lệnh thực file thu.txt Trước nhập lệnh Rewrite(); Là để tạo file để ghi vào Assign(f,’thu.txt’); Rewrite(f); Writeln(f, ‘Day la file thu’); Close(f); Reset(); Là để mở file có sẵn để lấy liệu Assign(f,’thu.txt’); Reset(f); Readln(f, a); {a kiểu liệu string} Close(f); Append(); Là để mở file có sẵn ghi vào tiếp Assign(f,’thu.txt’); Append(f); Writeln(f, ‘Ghi them vo file do’); Close(f); a= {a giá trị} Chưa có chữ Day la file thu Chưa có chữ Ghi them vo file LậptrìnhPascalLậptrìnhPascal Sau nhập lệnh a=day la file thu Lưu ý: Các file txt tự tạo theo lệnh file pascalbạnlậptrình Để mở file pascal tạo bạn đặt chuột vào tên file (không đặt phần *) nhấn phím Ctrl + Enter Bài tập ví dụ 1) Nhập vào từ bàn phím số N, in X file ketqua.txt, biết file x=(n+2)x8 Lệnh Var n,x:integer; f:text; Begin Write(‘Nhap N: ’); readln(n); X:=(n+2)*8; Assign(f, ‘ketqua.txt’); Rewrite(f); Write(f, x); Close(f); End 2) Tạo file có tên abc.txt ghi chữ sau: 123 Abc Rồi lấy liệu dòng từ file abc.txt để in hình Phần tạo file tự làm Lệnh: Var x:integer; f:text; LậptrìnhPascalLậptrìnhPascal Begin Assign(f, ‘abc.txt’); Reset(f); Readln(f, x); Close(f); Writeln(x); Readln; End 3) Dùng file abc.txt ghi tiếp lệnh Pascalcó nội dung: 123abc Lệnh Var f:text; Begin Assign(f, ‘abc.txt’); Append(f); Writeln(f, ‘123abc’); Close(f); End Sau thực lệnh, bạn mở file abc.txt để ktra xem có thêm dòng ko Bài tập Nhập số N từ bàn phím Sau ghi n vào file tinh.txt BTVN Nhập số N từ bàn phím Sau tính tổng số từ đến N vào file nhap.txt LậptrìnhPascalLậptrìnhPascal ... trình nhập vào tên, tuổi, số điểm môn in TBC điểm môn Chuyên đề: Pascal Bài 2-For … do+Write&Read+Thuật toán+If … then … I/ Cấu trúc lệnh lặp với số lần đếm trước Lập trình Pascal Lập trình Pascal. .. chương trình nhập vào n lập bảng cửu chương n (Có SGK) Tính tổng số lẻ từ m đến n (m