1. Trang chủ
  2. » Luận Văn - Báo Cáo

Các bài toán về mảng một chiều và ma trận

12 32 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 52,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lời nói đầu Ngôn ngữ lập trình đợc phổ biến hiện nay trong công việc giảng dạy tin học.. Trong đú ngụn ngữ Pascal có đặc điểm ngữ nghĩa đơn giản và có tính logic, cấu trúc chơng trình rõ

Trang 1

Lời nói đầu

Ngôn ngữ lập trình đợc phổ biến hiện nay trong công

việc giảng dạy tin học Trong đú ngụn ngữ Pascal có đặc điểm ngữ nghĩa đơn giản và có tính logic, cấu trúc chơng trình

rõ ràng dễ hiểu, để sữa chữa và cải tiến Tiểu luận “cỏc bài

toỏn về mảng một chiều và ma trận, nhập, sắp xếp, cộng, nhõn ma trận, nghịch đảo, dữ liệu vào ra băng file văn bản ” này giỳp cỏc bạn

sinh viờn thuận tiện hơn trong việc tỡm phương phỏp giải cỏc bài toỏn

số nguyờn một cách khoa học nhanh chóng và thuận tiện

Tiểu luận cho phép ngời dùng:

1 Nhập

2 Cộng ma trận

3 Nhõn ma trận

4 Nghịch đảo

5 thoỏt Vì khả năng và thời gian có hạn nên tiểu luận của em không tránh khỏi những hạn chế và thiếu sót Em rất mong

đ-ợc sự chỉ bảo của thầy và sự góp ý của bạn bè để chơng trình hoàn thiện hơn

Cuối cùng em xin chân thành cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin trờng Đại học Vinh đã giảng dạy

và chỉ bảo những vấn đề liên quan đến tiểu luận Đặc biệt

Em xin chân thành cảm ơn ThS Vũ Văn Nam về những chỉ

Trang 2

dẫn khoa học và sự tận tình huớng dẫn giúp đỡ em hoàn thiện tiểu luận này

Em Xin chân thành cảm ơn!

Vinh

04/2010

program sunge1;

uses crt;

type

imatr=array[1 20,1 20] of real;

imatr1=array[1 20] of integer;

var

f:text;

a3:imatr1;

a,a1,a2,c,d:imatr;

hangA,cotA,hangB,cotB:integer;fn:string;

i,j,m,n,q,max:integer;

Ch:char;

procedure doctep( var a:imatr;var h1,c1:integer);

begin

write('nhap ten tep:');readln(fn);

Writeln('Ma tran la: ');

assign(f,fn);

reset(f);

Trang 3

readln(f,n,m); h1:=n;c1:=m;

for i:=1 to n do

begin

for j:=1 to m do

begin

read(f,a[i,j]);

end;

readln(f);

end;

for i:=1 to n do

begin

for j:=1 to m do

write(a[i,j]:4:0);

writeln;

end;

close(f);

end;

{ -}

procedure xuat(a:imatr;n1:integer;n2:integer;fn:string); begin

{Writeln('Nhap vao ten tep chua ket qua: '); readln(fn); } assign(f,fn);

Rewrite(f);

for i:=1 to n1 do

begin

for j:=1 to n2 do

write(f,a[i,j]:10:4); writeln(f);

Trang 4

close(f);

end;

{ -}

procedure nhanmt;

begin

if cotA<>hangB then

writeln('Khong nhan duoc do CotA khac HangB')

else

begin

For i:=1 To hangA Do

For j:=1 To cotB Do

Begin

c[i,j]:=0;

For q:=1 To cotA Do

c[i,j]:= c[i,j] + a1[i,q] * a2[q,j];

End;

{ dua ra tep }

xuat(c,hangA,cotB,'tich.txt');

{ -xem tren man hinh -}

Writeln('Ma tran tich (C=A*B) la: ');

for i:=1 to hangA do

begin

for j:=1 to cotB do

write(c[i,j]:4);

writeln;

Trang 5

end;

end;

end;

procedure congmt;

begin

Writeln('Ma tran tong C=A+B la:');

for i:=1 to hangA do

for j:=1 to cotA do

c[i,j]:=a1[i,j]+a2[i,j];

for i:=1 to hangA do

begin

for j:=1 to cotA do

write(c[i,j]:4); writeln;

end;

{ dua ra tep }

xuat(c,hangA,cotA,'tong.txt');

end;

{ -tinh dinh thuc -}

procedure phanra( a:imatr;var L:imatr; var U:imatr;

n:integer);

var i,j,k:integer;

s:real;

Begin

for i:=0 to n do

for j:=0 to n do

Trang 6

Begin

U[i][j]:=0;

if(i=j) then

L[i,j]:=1

else

L[i][j]:=0;

end;

for j:=0 to n do

Begin

for i:=0 to j do

Begin

s:=0;

for k:=0 to i do

s:=s+L[i,k]*U[k,j];

U[i,j]:=a[i,j]-s;

end;

for i:=j+1 to n do

begin

s:=0;

for k:=0 to j do

s:=s+L[i,k]*U[k,j];

if (U[j,j]<>0) then

L[i,j]:=(a[i,j]-s)/U[j,j];

end;

end;

end;

function det( a:imatr;n:integer):real;

Trang 7

var d:real;

L,U:imatr;

Begin

d:=1;

phanra(a,L,U,n);

for i:=1 to n do

d:=d*L[i,i]*U[i,i];

det:=d;

end;

Procedure chuyenvi(a:imatr;var b:imatr;

hang:integer;cot:integer);

begin

for i:=1 to cot do

begin

for j:=1 to hang do

b[i,j]:=a[j,i];

end;

end;

procedure matrannd(a:imatr;var

b:imatr;hang:integer;cot:integer);

var dt:real;

begin

dt:=det(a,hang);

for i:=1 to hang do

begin

for j:=1 to cot do

b[i,j]:=1/dt*a[i,j];

end;

Trang 8

for i:=1 to hang do

begin

for j:=1 to cot do

write(b[i,j]:10:4);writeln;end;

end;

{ -Mang 1 chieu -}

{ -Doc mang mot chieu -}

procedure doctep1( var a:imatr1;var n:integer);

begin

write('nhap ten tep:');readln(fn);

Writeln('Ma tran la: ');

assign(f,fn);

reset(f);

readln(f,n);

for i:=1 to n do

read(f,a[i]);

for i:=1 to n do

write(a[i]:4); writeln;

close(f);

end;

{ -In mang 1 chieu -}

procedure xuat1chieu(a:imatr1;fn:string);

begin

{Writeln('Nhap vao ten tep chua ket qua: '); readln(fn); } assign(f,fn);

Rewrite(f);

Trang 9

for i:=1 to n do

write(f,a[i]:4); writeln;

close(f);

end;

procedure sapxep(var a:imatr1;n:integer);

var tg:integer;

begin

Writeln('Mang sau khi sap xep: ');

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]>a[j] then

begin

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

end;

for i:=1 to n do

write(a[i]:4);

xuat1chieu(a,'sapxep1.txt');

end;

{ -}

procedure mang1;

Begin

clrscr;

Repeat

repeat

Writeln(' MENU MANG MOT CHIEU ');

Trang 10

Writeln('1- Nhap');

Writeln('2-Sap xep');

Writeln('3-Thoat');

Ch := Readkey;

Until Ch in['1' '4'];

Case Ch Of

'1' : Begin doctep1(a3,n);writeln('Moi ban tiep tuc ');writeln;readln;end;

'2' : Begin sapxep(a3,n); writeln('Moi ban tiep tuc ');writeln;end;

End;

Until Ch = '3'

End;

{ -Menu ma tran -}

procedure mang2;

Begin

Repeat

Repeat

Writeln(' MENU MA TRAN ');

Writeln('1- Nhap');

Writeln('2-Cong ma tran');

Writeln('3-Nhan ma tran');

Writeln('4-Nghich dao');

Writeln('5-Thoat');

Ch := Readkey;

Trang 11

Until Ch in['1' '5'];

Case Ch Of

'1' : Begin

doctep(a1,hangA,cotA);

doctep(a2,hangB,cotB);

end;

'2' :congmt;

'3' :nhanmt;

'4':

Begin

doctep(a1,hangA,cotA);

writeln;

write('Det= ',det( a1,hangA):4:2);writeln;

chuyenvi(a1,a,hangA,cotA);

xuat(a,cotA,hangA,'chv.txt');

matrannd(a,d,hangA,cotA);

xuat(d,hangA,cotA,'ngdao.txt');

end;

End;

Until Ch = '5'

End;

{************ CHUONG TRINH CHINH ***********}

BEGIN

ClrScr;

Repeat

Repeat

ClrScr;

Trang 12

Writeln(' MENU CHINH');

Writeln(' 1-Mang mot chieu');

Writeln(' 2-MA tran');

Writeln(' 3-Ket thuc');

Writeln;

Ch := Readkey;

Until ch in['1' '3'];

Case Ch Of

'1' : mang1;

'2' : mang2;

End;

Until Ch = '3';

END.

readln;

end.

Ngày đăng: 29/08/2021, 16:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w