Bài tập làm việc với dãy số là áp dụng kiến thức về dãy số để giải quyết bài toán. . Giúp bạn nhớ lại lý thuyết và có kỹ năng phân tích mấu chốt của bài toán. Hy vọng bài tập với dãy số sẽ giúp bạn giải quyết được những chương trình liên quan đến dãy số.
Bài viết liên quan:
I. Tính tổng và trung bình của dãy số
Cách 1:
Program T_TB1;
Uses Crt;
Var a:array[1..50] of Integer;
i,n,Tong: Integer;
Trungbinh:Real;
Begin
ClrScr;
Write(‘Day so bao nhieu phan tu: ‘); Readln(n);
For i:=1 to n do
Begin
Write(‘So thu ‘,i,’ :’); Readln(a[i]);
End;
Tong:=0;
For i:=1 to n do
Tong:=Tong+a[i];
Trungbinh:=Tong/n;
Writeln(‘Tong cua day: ‘,Tong);
Writeln(‘Trung binh cua day: ‘,Trungbinh:2:1);
Readln;
End.
Cách 2:
Program T_TB1;
Uses Crt;
Var a:array[1..50] of Integer;
i,n,Tong: Integer;
Trungbinh:Real;
Begin
ClrScr;
Write(‘Day so bao nhieu phan tu: ‘); Readln(n);
Tong≔0;
For i:=1 to n do
Begin
Write(‘So thu ‘,i,’ :’); Readln(a[i]);
Tong≔Tong+a[i]);
End;
Trungbinh:=Tong/n;
Writeln(‘Tong cua day: ‘,Tong);
Writeln(‘Trung binh cua day: ‘,Trungbinh:2:1);
Readln;
End.
II. Đếm số âm và số dương
Program T_TB;
Uses Crt;
Var a:array[1..50] of Integer;
i,n,So_Am,So_Duong: Integer; // Gia su nhap cac phan tu <> 0
Begin
ClrScr;
Write(‘Day so bao nhieu phan tu: ‘); Readln(n);
For i:=1 to n do
Begin
Write(‘So thu ‘,i,’ :’); Readln(a[i]);
End;
So_Am:=0;
So_Duong:=0;
For i:=1 to n do
If a[i]>0 Then
So_Duong:=So_Duong+1
Else
So_Am:=So_Am+1;
Writeln(‘Tong so Am: ‘,So_Am);
Writeln(‘Tong so Duong: ‘,So_Duong);
Readln;
End.
III. In dãy ngược
Program InNguocDay;
Uses Crt;
Var a:array[1..50] of Integer;
i,n:Integer;
Begin
ClrScr;
Write(‘Day so bao nhieu phan tu: ‘); Readln(n);
For i:=1 to n do
Begin
Write(‘So thu ‘,i,’ :’); Readln(a[i]);
End;
For i:=n downto 1 do
Write(a[i],’ ‘);
Readln;
End.
Chú ý:
– Trong chương trình trên sử dụng vòng lặp và câu lệnh:
For i:=n downto 1 do // duyệt các phần tử từ lớn đến nhỏ, sử dụng downto.
// chương trình lớp 8 không có, được học lớp 11.
Write(a[i],’ ‘);
– Nếu muốn sử dụng For i:=1 to n do thì lệnh Write được viết như sau:
Write(a[n+1-i],’ ‘);
– Lệnh trên sẽ in các phần tử ngược:
+ Khi i=1 => Write(a[n]);
+ Khi i=2 => Write(a[n-1]);
+ …..
+ Khi i=n => Write(a[1]);
Kết luận
Viết chương trình làm việc với dãy số không khó, chỉ dài và phải tổng hợp nhiều kiến thức của các phần trước (khai báo, cấu trúc rẽ nhánh, vòng lặp For,…). Bạn có thể bám vào cấu trúc này để làm “khung” phát triển cho các chương trình làm việc với dãy số tiếp theo.