VinaOnline.net

Bai-tap-lam-viec-voi-day-so

Bài tập làm việc với dãy số : Phân tích chương trình chi tiết

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.

Leave a Comment