Bạn có mong muốn tham gia đội tuyển học sinh giỏi tin học của trường hoặc chuẩn bị dự thi tin học trẻ với lĩnh vực lập trình Pascal? Hoặc đơn giản là bạn muốn tìm hiểu về lập trình Pascal? Đừng lo, tại đây chúng tôi giới thiệu với bạn Series bài viết hướng dẫn tự học lập trình Pascal miễn phí từ cơ bản đến nâng cao của Học Tập Chia Sẻ.
Contents
Video Tự Học Pascal
Tài Liệu Tự Học Lập Trình Pascal
Pascal là một ngôn ngữ lập trình cấp cao đã xuất hiện từ lâu và phần nào thể hiện được ưu điểm của nó trong việc giải quyết các bài toán trên máy tính. Hơn nữa, Pascal cũng được sử dụng rộng rãi trong việc giảng dạy lập trình tại nhiều trường học nhờ tính gần gũi và cú pháp khoa học.
Bạn đang xem: Tự Học Lập Trình Pascal: Những Bước Để Thi HSG Tin Hay Tin Học Trẻ
Giới Thiệu Chương Trình Pascal
- Hiểu các khái niệm cơ bản về ngôn ngữ Pascal.
- Cài đặt Pascal từ đĩa CD.
- Sử dụng Pascal 7.0.
- Tạo, lưu và mở tập tin chương trình.
- Biên dịch và thực thi chương trình.
Khái Niệm
Ngôn ngữ lập trình là một hệ thống các kí hiệu tuân theo quy ước về ngữ pháp và ngữ nghĩa, được sử dụng để xây dựng các chương trình cho máy tính. Ngữ pháp là quy ước về quan hệ giữa các ký hiệu, ví dụ như trong ngôn ngữ Pascal, các ký hiệu Begin, end phải đi thành từng cặp. Ngữ nghĩa là quy ước về ý nghĩa của ký hiệu, ví dụ trong Pascal, dấu + biểu thị phép cộng. Phát biểu if … then … có nghĩa là “nếu … thì làm …”.
Chương trình là một tập hợp các mô tả, phát biểu nằm trong một hệ thống quy ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển máy tính làm việc.
Lập trình là quá trình tạo ra chương trình, viết ra chương trình, còn được gọi là “thảo chương”.
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.
- Đưa đĩa CD chứa Turbo Pascal 7.0 (TP7.0) vào ổ đĩa CD.
- Vào cửa sổ My Computer hoặc Explore.
- Nhấp phải chuột trên hình đĩa CD, chọn Open trong menu hiện ra.
- Nhấp phải chuột trên thư mục TP7.0, chọn Open trong menu hiện ra hoặc nhấp đúp nút trái chuột vào thư mục TP7.0. Bạn sẽ thấy cửa sổ như sau:
- Nhấp đúp vào mục INSTALL, bạn sẽ thấy hộp thoại hiện ra như hình H2.
- Nhấp nút Run Program. Bạn sẽ thấy hộp thoại thông báo, trong hộp thoại này, nhấn phím Enter để tiếp tục cài đặt. Nếu không muốn cài đặt, nhấn phím ESC để thoát.
- Nhấn phím Enter để tiếp tục cài đặt, sẽ có hộp thoại hiện ra với tên ổ đĩa mặc định là tên ổ đĩa CD của máy chứa đĩa cài đặt. Bạn giữ nguyên tên ổ đĩa mặc định này, máy của bạn có thể có tên khác. Bạn sẽ thấy hình như sau:
- Nhấn phím Enter, bạn sẽ thấy hộp thoại hiện ra như hình H6.
- Bạn giữ nguyên đường dẫn mặc định này, máy của bạn có thể khác, tuỳ thuộc vào đường dẫn của ổ đĩa CD chứa chương trình.
- Nhấn phím Enter, bạn sẽ thấy hộp thoại hiện ra như hình H6.
Phần 1: Lý Thuyết Pascal Cô Đọng
Tài Liệu Pascal Lý Thuyết Xúc Tích
Phần 2: Thực Hành Qua Các Bài Tập Pascal Cơ Bản
- Các thuật toán số học cơ bản
- Các bài toán về mảng một chiều
- Các bài toán về mảng hai chiều
- Một số bài toán về xâu kí tự
Phần 3: Một Số Bài Tập Pascal Nâng Cao
Bài tập 10.1: Viết chương trình cho phép cộng hai đa thức. Kết quả in ra dạng:
anx^n + … + a1x + a0
Giải thuật:
- Dùng hai mảng A, B để lưu hệ số của hai đa thức. Có thể dùng mảng thứ ba C hoặc dùng lại một trong hai mảng A, B để lưu hệ số của đa thức tổng.
- Khi in kết quả cần kiểm tra hệ số để in dấu cho đúng.
Xem thêm : Cách tạo một máy tính đơn giản bằng HTML, CSS và JavaScript
Xem thêm : Bắt Đầu với Javascript (P1)
Cài đặt:
Program Cong_da_thuc;
uses crt;
Type KM = array<0..10> of integer;
Var A,B: KM;
n: byte;
Procedure NhapDT(Var A: KM; n:byte);
Var i: byte;
Begin
For i:=n downto 0 do
Begin
Write('M<',i,'>=');
Read(A);
End;
End;
Procedure CONG(Var A:KM;B:KM;n:byte);
Var i: byte;
Begin
For i:= 0 to n do A:=A+B;
End;
Procedure INDT(A:KM;n:byte);
Var i: byte;
Begin
if A <> 0 then
Write(A,'x^',n);
For i:=n-1 downto 0 do
if A <> 0 then
if A < 0 then
Begin
Write(' - ');
A:= -A;
End
else
Write(' + ');
Write(A,'x^',i);
End;
Begin
ClrScr;
Writeln('Chuong trinh cong hai da thuc:');
Writeln('Nhap da thuc A:');
Write('Nhap bac da thuc A: ');Readln(n);
NhapDT(A,n);
Writeln('Nhap da thuc B:');
Write('Nhap bac da thuc B: ');Readln(n);
NhapDT(B,n);
CONG(A,B,n);
Writeln('Ket qua: ');
INDT(A,n);
Readln;
End.
Bài tập 10.2: Viết chương trình cho phép tính giá trị của đa thức A(x) tại giá trị x = x0.
Giải thuật:
- Dùng chương trình con để tính x^n.
Xem thêm : Cách tạo một máy tính đơn giản bằng HTML, CSS và JavaScript
Xem thêm : Bắt Đầu với Javascript (P1)
Cài đặt:
Program Gia_tri_cua_da_thuc;
Var n,i: integer;
x,a,s:real;
Function XMU(x:real; n:integer):real;
Var i: integer;
Mu: real;
Begin
Mu:=1;
For i:=1 to n do
Mu:=Mu*x;
XMU:=Mu;
End;
Begin
Write('Nhap bac cua da thuc n = '); Readln(n);
Write('Tinh f(x) tai x = ');Readln(x);
S:=0;
For i:=n downto 0 do
Begin
Write('a',i,'= '); Readln(a);
S:=S+a*XMU(x,i);
End;
Writeln('F(',x:5:2,')=',S:5:2);
Readln;
End.
Bài tập 10.3: Viết chương trình tính giá trị của đa thức A(x) với điều kiện không dùng biến mảng.
Giải thuật:
f(x) = anxn + … +a1x + a0
= a0 + x(a1 + x(a2 + … x(an-1 + x(an))…))
Xem thêm : Cách tạo một máy tính đơn giản bằng HTML, CSS và JavaScript
Xem thêm : Bắt Đầu với Javascript (P1)
Cài đặt:
Program Gia_tri_da_thuc;
Var S,a,x: real;
n,i: byte;
Begin
Write('Nhap bac cua da thuc. n = '); Readln(n);
Write('Tinh f(x) tai x = ');Readln(x);
S:=0;
For i:= n downto 0 do
Begin
Write('a',i,'=');Readln(a);
S:=(S+a)*x;
End;
Write('f(',x:3:1,')=',S:5:1);
Readln;
End.
Bài tập 10.4: Viết chương trình cho phép nhân hai đa thức đã sắp xếp.
Giải thuật:
Tích đa thức A bậc m với đa thức B bậc n là đa thức C bậc m + n.
C = Tổng của các tích A * A sao cho i + j = m.
Xem thêm : Cách tạo một máy tính đơn giản bằng HTML, CSS và JavaScript
Xem thêm : Bắt Đầu với Javascript (P1)
Cài đặt:
Program Nhan_da_thuc;
Var m,n,i,j:byte;
A, B, C: array<0..10> of real;
TAM:array<0..10> of real;
Begin
Write(' Nhap bac cua da thuc A: '); Readln(m);
For i:= m downto 0 do
Begin
Write('A<',i,'>= '); Readln(A);
End;
Write(' Nhap bac cua da thuc B: '); Readln(n);
For i:= n downto 0 do
Begin
Write('B<',i,'>= '); Readln(B);
End;
For i:=0 to m+n do C[i]:=0;
For i:=0 to m do
For j:=0 to n do TAM[i+j]:=TAM[i+j]+A[i]*B[j];
For i:=0 to m+n do C[i]:=TAM[i];
Writeln('Ket qua: ');
For i:= m+n downto 0 do
if C[i] <> 0 then
Begin
if C[i] < 0 then
Write(' - ')
else if i <> m+n then
Write(' + ');
Write(C[i]:3:1,'x^',i);
End;
Readln;
End.
Bài tập 10.5: Viết chương trình cho phép chia hai đa thức để tìm đa thức thương và đa thức dư.
Giải thuật:
Chia đa thức A bậc m cho đa thức B bậc n làm tìm đa thức C bậc m - n làm đa thức thương.
C = tổng các phép chia của Ai, và lưu dư của phép chia đó thành đa thức D.
Thuật toán:
- Gọi cs = BAC(A,m) - BAC(B,n); (BAC(A,n) là bậc của đa thức A)
- Chuyển thành đa thức C, Cs = A/B
- In đa thức C
- Tính đa thức AB = B*C
- Tính đa thức A = A - AB
- In đa thức D
Xem thêm : Cách tạo một máy tính đơn giản bằng HTML, CSS và JavaScript
Xem thêm : Bắt Đầu với Javascript (P1)
Cài đặt:
Program Chia_da_thuc;
uses crt;
Type KM = array<0..10> of real;
Var A,B,C,AB,D: KM;
i,n,cs,bc: byte;
Procedure NhapDT(Var A: KM; n:byte);
Var i: byte;
Begin
For i:=n downto 0 do
Begin
Write('M<',i,'>=');
Read(A);
End;
End;
Function BAC(A:KM;n:integer):Byte;
Var i:Byte;
Begin
i:=n;
While (A[i] = 0) and (i > 0) do
i:=i-1;
BAC:=i;
End;
Procedure TRU(Var A:KM;B:KM;n:byte);
Var i: byte;
Begin
For i:= 0 to n do A:=A-B;
End;
Procedure NHAN(Var C:KM;A,B:KM; Var n:byte);
Var i,j:byte;
TAM:KM;
Begin
n:=BAC(A,n)+BAC(B,n);
For i:= 0 to 2*n do TAM[i]:=0;
For i:= 0 to n do
For j:=0 to n do
TAM[i+j]:=TAM[i+j]+A[i]*B[j];
For i:=0 to 2*n do C[i]:=TAM[i];
End;
Procedure INDT(A:KM;n:byte);
Var i: byte;
Begin
if A[n] <> 0 then
Write(A[n]:3:1,'x^',n);
For i:=n-1 downto 0 do
if A[i] <> 0 then
Begin
if A[i] < 0 then
Write(' - ')
else
Write(' + ');
Write(A[i]:3:1,'x^',i);
End;
End;
Procedure DT_BAC(Var D : KM; cs : byte; C: KM);
Var i : byte;
Begin
For i:= 0 to cs do D[i]:=C[i];
End;
Begin
ClrScr;
Writeln('Chuong trinh chia hai da thuc:');
Writeln('Nhap da thuc A:');
Write('Nhap bac da thuc A: ');Readln(n);
NhapDT(A,n);
Writeln('Nhap da thuc B:');
Write('Nhap bac da thuc B: ');Readln(n);
NhapDT(B,n);
cs:=BAC(A,n) - BAC(B,n);
C:=A/B;
Writeln('Da thuc thuong: ');
INDT(C,n-cs);
DT_BAC(D,cs,C);
Writeln;
Write('Da thuc D:');
INDT(D,n);
Writeln;
NHAN(AB,B,D,n);
Write('Da thuc AB:');
INDT(AB,n);
Writeln;
TRU(A,AB,n);
Write('Da thuc A moi:');
INDT(A,n);
Writeln;
Readln;
Readln;
End.
Nguồn: https://laptrinhc.edu.vn
Danh mục: Ngôn ngữ lập trình