Networks Business Online Việt Nam & International VH2

Tài liệu tự học lập trình Pascal – Giúp bạn thi HSG tin hay tin học trẻ

Đăng ngày 08 September, 2022 bởi admin
Phần 3 : Một số bài tập Pascal nâng cao

Bạn đang nằm trong đội tuyển học sinh giỏi tin học của trường hay đang chuẩn bị dự thi tin học trẻ lĩnh vực lập trình Pascal hoặc đơn giản bạn muốn tìm hiểu về lập trình Pascal, xin giới thiệu với các 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 tại học tập chia sẻ

Video tự học pascal

Tài liệu tự học lập trình pascal

Pascal là 1 trong những ngôn ngữ lập trình cấp cao sớm xuất hiện và phần nào thể hiện được ưu điểm của nó trong việc ứng dụng để giải quyết các bài toán trên máy tính. Thêm nữa Pascal cũng được đưa vào nhiều trường học để giảng dạy lập trình do tính gần gũi và khoa học trong cú pháp của nó.

Giới thiệu chương trình Pascal

  • Hiểu được các khái niệm cơ bản về ngôn ngữ Pascal.
  • Biết cách cài đặt Pascal từ đĩa CD.
  • Biết cách sử dụng Pascal 7.0.
  • Biết tạo, lưu và mở tập tin chương trình.
  • Biết biên dịch và thực thi chương trình.

Khái niệm

  • Ngôn ngữ lập trình (programming language): Là một hệ thống các kí hiệu tuân theo các quy ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng các chương trình cho máy tính.
    • Ngữ pháp (syntax): Quy ước về quan hệ giữa các ký hiệu. Ví dụ trong ngôn ngữ Pascal: các ký hiệu Begin, end phải đi thành từng cặp, sau if sẽ là một biểu thức điều kiện, sau đó là kí hiệu then.
    • Ngữ nghĩa (sematics): Quy ước về ý nghĩa của kí hiệu. Ví dụ trong 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 là “nếu … thì làm …”.
  • Chương trình (program): Là một tập hợp các mô tả, các 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 (to program): Làm ra chương trình, viết ra chương trình, còn gọi là “thảo chương”.

Cài đặt chương trình

1 / 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 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. Chúng ta sẽ thấy hình như sau:

Giới thiệu về Pascal

Hình H1 : Cửa sổ chứa những thư mục và những tập tin trong thư mục TP7. 0

  • Nhấp đúp vào mục INSTALL, bạn thấy hộp thoạI hiện ra như hình H2.

Giới thiệu về Pascal

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, bạn nhấn phím Enter để tiếp tục cài đặt, nếu không thích, bạn nhấn phím ESC để thoát.

Hướng dẫn cài đặt Pascal

Hình H3 Cửa sồ thông tin setup Turbo Pascal

  • 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 nhiên là tên ổ đĩa CD của máy đang chứa đĩa cài đặt, bạn giữ tên ổ đĩa mặc nhiên này, máy của bạn có thể là tên khác, chúng ta sẽ có hình như sau:

Hướng dẫn cài đặt Turbo Pascal

Hình H4 nhập vào tên ổ đĩa chứa Turbo Pascal

  • Nhấn phím Enter, các em sẽ thấy hộp thoạI hiện ra như hình H5.

Tài liệu tự học lập trình Pascal – Giúp bạn thi HSG tin hay tin học trẻ

Hình H5 Nhập vào đường dẫn chứa những tập tin của Turbo Pascal 7.0

  • Bạn giữ nguyên đường dẫn mặc nhiên này, máy bạn có thể khác, tuỳ theo đườ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

Hướng dẫn cài đặt Turbo Pascal

Hình H6 Chọn Install lên ổ đĩa cứng hay đĩa mềm

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

2.1. Các thuật toán số học cơ bản

2.2. Các bài toán về mảng một chiều

2.3. Các bàn toán về mảng hai chiều

2.4. 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 :
a ­ nx ^ n + … + a1x + a0

Giải thuật:

– Dùng hai mảng A, B để lưu thông 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 thông số của đa thức tổng .
– Khi in hiệu quả cần kiểm tra thông số để in dấu cho đúng .

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

Nhận xét:

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 xn .

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 .

Nhận xét:

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 kèm theo không dùng biến mảng .
Viết chương trình tính giá trị của đa thức f ( x ) = anxn + … + a1x + a0 tại x = x0 .
Thuật toán : f ( x ) = anxn + … + a1x + a0
= a0 + x ( a1 + x ( a2 + … x ( an-1 + x ( an ) ) … ) )
Lặp lại việc : Đọc và cộng thông số rồi nhân với x từ thông số an đến thông số a0 .
Chương trình :

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 .

Nhận xét:

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 .
Thuật toán : 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. Trong đó : C = Tổng của những tích A * A sao cho i + j = m .

Program Nhan_da_thuc;Var m,n,i,j:byte;
A, B, C : 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 : = 0 ;
For i : = 0 to m do

For j:=0 to n do C:=C+A*B;

For i : = m + n downto 0 do if C0 then Write ( C : 3 : 1, ’ x ^ ’, i, ’ + ‘ ) ;
Readln
End .

 Nhận xét:

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:

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 = 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 : = 0 ;
For i : = 0 to n do

For j:=0 to n do TAM:=TAM+A*B;

For i : = 0 to 2 * n do C : = TAM ;
End ;
Procedure INDT ( A : KM ; n : byte ) ;
Var i : byte ;
Begin
if A 0 then Write ( A : 3 : 1, ’ x ^ ’, n ) ;
For i : = n-1 downto 0 do
if A 0 then
if A = BAC ( B, n ) do
Begin
cs : = BAC ( A, n ) – BAC ( B, n ) ;

C:=A/B;

Writeln ( ‘ C < ‘, cs, ’ > = ’, C : 3 : 1 ) ;
DT_BAC ( D, cs, C ) ; Writeln ;
Write ( ‘ Da thuc D : ’ ) ;
Indt ( D, n ) ;
NHAN ( AB, B, D, n ) ; Writeln ;
Write ( ‘ Da thuc AB : ’ ) ;
Indt ( AB, n ) ; Writeln ;
TRU ( A, AB, n ) ;
Write ( ‘ Da thuc A moi : ’ ) ;
Indt ( A, n ) ;
End ;
Writeln ( ‘ Da thuc thuong : ‘ ) ;

Indt(C,bc);

Readln ;
Readln
End .

Source: https://vh2.com.vn
Category : Tin Học