Diễn đàn ngôn ngữ lập trình Pascal
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bài tập Pascal sử dụng kiểu mảng, có giải. :D

2 posters

Go down

Bài tập Pascal sử dụng kiểu mảng, có giải.  :D Empty Bài tập Pascal sử dụng kiểu mảng, có giải. :D

Bài gửi  vanhongha 2010-02-19, 14:17

Bài 1 :
Giải hệ phương trình tuyến tính hai ẩn dùng ma trận :
a11x + a12y = c1
a21x + a22y = c2
Uses Crt;
Var a: array[1..2, 1..2] of real;
c: array[1..2] of real;
d, dx, dy, x, y: real;

BEGIN
Clrscr;
Writeln('Giai he phuong tring tuyen tinh hai an:');
Writeln(' a11x+a12y=c1');
Writeln(' a21x+a22y=c2');
Writeln('Nhap cac he so cua he phuong trinh');
Write('a11='); Readln(a[1,1]);
Write('a12='); Readln(a[1,2]);
Write('c1='); Readln(c[1]);
Write('a21='); Readln(a[2,1]);
Write('a22='); Readln(a[2,2]);
Write('c2='); Readln(c[2]);
d:=a[1,1]*a[2,2] - a[2,1] * a[1,2];
dx:=c[1]*a[2,2] - c[2] * a[1,2];
dy:=a[1,1]*c[2] - a[2,1] * c[1];
If d=0 then Writeln(' He vo nghiem hoac vo so nghiem')
Else
Begin
x:=dx/d; y:=dy/d;
Writeln('He co nghiem duy nhat :');
Writeln('x=', x:0:2, ' ; y=', y:0:2);
End ;
Readln;
END .
Bài 2 :
Lập phương trình tạo ra một mảng chứa bảng cửu chương .
Uses Crt ;
Var a : Array[1..10, 2..9] Of Byte ;
i, j : Byte ;
BEGIN
Clrscr ;
For i := 1 To 10 Do
For j := 2 To 9 Do a[i, j] := i*j ;
Writeln(' Bang cuu chuong : ') ; Writeln ;
For i := 1 To 10 Do
For j := 2 to 9 do Write ( j:4 , 'x' , i:2 , '=' , a[i , j]:2) ;
Readln ;
END .
Bài 3 :
Viết chương trình nhập hai số nguyên dương m , n . Sau đó tính trung bình cộng bình phương các số nguyên từ m đến n .
Var m , n , k , s : Word ;
tb : real ;

BEGIN
Writeln('Nhap 2 so nguyen duong m, n :') ;
Write (' m = ') ; Readln(m) ;
Write (' n = ') ; Readln(n);
If m > n Then (* ñoãi choã ñeå m <= n *)
Begin
k := m ; m := n ; n := k ;
End ;
s := 0 ;
For k := m To n do s := s + sqr(k) ;
tb := s / (n - m + 1) ;
Writeln ('Trung binh cong bimh phuong cac so '
+ 'nguyen tu m den n la: ', tb:12:2);
Readln ;
END .
Bài 4 :
Viết chương trình nhập từ bàn phím các phần tử của một mảng hai chiều . Kích thước của mảng được nhập trước từ bàn phím .
Var m , n , i , j : Byte ;
a : Array[1..100, 1..100] Of Real;

BEGIN
Write ('Nhap cac kich thuoc cua mang hai chieu : ') ;
Write (' So hang m = ') ; Readln(m) ;
Write (' So cot n = ') ; Readln(n) ;
Writeln (' Nhap cac phan tu cua mang : ') ;
For i := 1 To m Do
For j := 1 To n Do
Begin
Write ('a[', i:2, ', ' , j:2 ,']=') ; Readln(a[i, j]) ;
End ;
Readln ;
END .
Bài 5 :
Dãy số sau được gọi là dãy Fibonaci :
a1 = 1
a2 = 1
a3 = 2
a4 = 3
. . .
an = an-1 + an-2
Viết chương trình tính 20 số Fibonaci đầu tiên và đưa ra kết quả vào một mảng 20 phần tử .
Var
a : Array[1..20] Of Byte ;
i : Byte ;

BEGIN
a[1] :=1;
a[2] :=1;
For i:=3 to 20 do a[i]:=a[i-1]+a[i-2] ;
For i:=1 to 20 do Write(a[i]:Cool;
END .
Bài 6 :
Dãy số an được định nghĩa như sau :
a1 = 1
a2 = 2
. . .
an = 2an-1 + an-2 ( n > 2 )
Hãy lập chương trình tính và gán giá trị của dãy vào biến mảng .
Var a : Array [1..100] Of Word ;
i, N : Byte ;
S : Real ;

BEGIN
Write (' Nhap so N>=2 : ') ; Readln(n) ;
a[1] := 1 ;
a[2] := 2 ;
For i := 3 To N Do a[i] := 2*a[i-1]+a[i-2] ;
S := 0 ;
For i := 1 to N do S := S+1/sqr(a[i]) ;
Writeln (' S = ', S:12:6) ;
Readln ;
END .
Bài 7 :
Nhập số tự nhiên N và viết chương trình tạo mảng bao gồm N số nguyên tố đầu tiên .

Bài 8 :
Viết chương trình nhập một bảng số 3 x 3 với điều kiện các số được nhập sẽ hiện trên màn hình đúng tại vị trí của mình trên bảng số .
Uses Crt;
Var
a : array[1..3, 1..3] of integer ;
i, j: byte ;

BEGIN
Clrscr;
Writeln('Nhap mot bang so nguyen kich thuoc 3x3:');
Gotoxy(10, 4); Write(1);
Gotoxy(19, 4); Write(2);
Gotoxy(28, 4); Write(3);
Gotoxy(5, 6); Write(1);
Gotoxy(5, Cool; Write(2);
Gotoxy(5,10); Write(3);
For i:=1 to 3 do
For j:=1 to 3 do
Begin
Gotoxy(9*j-1, 2*i+4); Read(a[i, j]);
Gotoxy(9*j-1, 2*i+4); ClrEol; Write(a[i, j]:6);
End;
Readln;
END .
Bài 9 :
a. Viết chương trình nhập dữ liệu từ dãy đối xứng vào mảng một chiều .
b. Viết chương trình nhập dữ liệu là ma trận đối xứng vào mảng hai chiều .
a)
Var a: array [1..100] of integer;
n, i: byte;
Begin
Write('Nhap so phan tu cua day doi xung:');
Readln(n);
Writeln('Nhap cac phan tu cua day:');
For i:=1 to (n+1) div 2 do
Begin
Write('a[', i:2, ']='); Readln(a[i]);
a[n-i+1] := a[i];
End;
Readln ;
END ;

b)
Var a: array [1..100, 1..100] of integer;
n, i, j: integer;
BEGIN
Write('Nhap kich thuoc cua mang doi xung: ');
Readln(n);
Write('Nhap cac phan tu cua mang:');
For i:=1 to n do
For j:=1 to i do
Begin
Write('a[', i:2, ',', j:2, ']='); Readln(a[i, j]);
a[j,i]:=a[i,j];
End;
Readln ;
END ;

vanhongha

Tổng số bài gửi : 6
Join date : 19/02/2010

Về Đầu Trang Go down

Bài tập Pascal sử dụng kiểu mảng, có giải.  :D Empty Re: Bài tập Pascal sử dụng kiểu mảng, có giải. :D

Bài gửi  trungsyk10it 2010-06-20, 13:42

Thank bạn nhiều mình đang học cái này..

trungsyk10it

Tổng số bài gửi : 3
Join date : 06/04/2010
Age : 36
Đến từ : Vinh Phuc

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết