Bài tập turbo pascal



tải về 0.6 Mb.
trang23/42
Chuyển đổi dữ liệu27.02.2022
Kích0.6 Mb.
#51050
1   ...   19   20   21   22   23   24   25   26   ...   42
100 bài tập pascal
13234
b.Mã chương trình:

var i,n: integer;

M: array[1..100] of longint;

f,g: text;

begin


assign(f,’bai5_7.inp’); reset(f);

assign(g,’bai5_7.out’); rewrite(g);

readln(f,n);

M[1]:=1;


M[2]:=1;

for i:=3 to n do M[i]:=M[i-1]+M[i-2];

for i:=1 to n do write(g,M[i],' ,');

close(f); close(g);

end.



Bài tập 5.8

Viết chương trình in ra màn hình tam giác Pascal. Ví dụ, với n=4 sẽ in ra hình sau:

1 1


1 2 1

1 3 3 1


1 4 6 4 1

... Hàng thứ n được xác định từ hàng n-1:

- Phần tử đầu tiên và phần tử cuối cùng đều bằng 1.

- Phần tử thứ 2 là tổng của phần tử thứ nhất và thứ 2 của hàng n-1

- Phần tử thứ k của hàng thứ n là tổng của phần tử thứ k-1 và k của hàng thứ n-1.

Thuật toán:

Bước 1: Khởi tạo một mảng một chiều n phần tử có giá trị 0.

Bước 2: Khởi tạo giá trị cho hàng thứ nhất M[1,1] = 1.

Bước 3: - Đối với hàng thứ i tính giá trị phần tử từ phần tử thứ i + 1 xuống phần tử thứ 2: M[j]:=M[j] + M[j-1]

- In ra hàng thứ i.

Chương trình:


Var n,i,j: integer;

M: array[1..100] of integer;

f,g: text;

Begin


Assign(f,’bai5_8.inp’); reset(f);

Assign(g,’bai5_8.out’); rewrite(g);

Readln(f,n);

For i:= 1 to n do M[i]:=0;

M[1]:=1;

For i:=1 to n do

Begin

For j:=i+ 1 downto 2 do M[j]:=M[j]+M[j-1];



For j:=1 to i+ 1 do Write(g,M[j]:3);

Writeln(g);

End;

Close(f); close(g);



End.




tải về 0.6 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   19   20   21   22   23   24   25   26   ...   42




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương