1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Các câu lệnh trong turbo pascal

14 5,3K 7
Tài liệu đã được kiểm tra trùng lặp

Đ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 14
Dung lượng 76 KB

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

Nội dung

Version 2.0: So với Pascal chuẩn, Turbo Pascal Version 2.0 có những mở rộng về các biến động, các biến địa chỉ tuyệt đố, Các phép toán trên bit và byte, các phép toán logic trên số nguyê

Trang 1

Version 2.0: So với Pascal chuẩn, Turbo Pascal Version 2.0 có những mở rộng về các biến động, các biến địa chỉ tuyệt đố, Các phép toán trên bit và byte, các phép toán logic trên số nguyên, Kết nối các chương trình với các biến chung,

Version 3.0: là một hệ thống phát triển gồm những đặc điểm của version 2.0 và có nhiều mở rộng quan trọng như: Bổ sung nhiề thủ tục và hàm chuẩn Bổ sung một vài dạng đặc biệt mới cho phép tính toán các số thực với độ chính xác lớn, So với version 2.0 thì version 3.0 có tốc độ dịch gấp đôi

Version 4.0: có đặc điểm là có thêm một số dữ liệu mới, thực hiện các biểu thức logic nhanh hơn, có nhiều thủ tục và hàm chuẩn về xử lí đồ họa đồ thị màu sắc hình khối cửa sổ,

Version 5.0 và 5.5: Năm 1989, hãng Borland đưa ra thị trường phiên bản Turbo Pascal Version 5.0 để giới thiệu các thủ tục và hàm tiện nghi Tiếp đó chưa đầy nữa năm họ đưa

ra version 5.5 có thêm cấu trúc hoàn toàn mới, đó là lập trình đối tượng

Version 6.0: Đặc điểm nổi bậc của version này là giới thiệu thành phần của Turbo vision, một thư viện chương trình cụ thể, định hình có các cửa sổ tiện ích để đối chiếu với nhau

Version 7.0: Cuối năm 1992, hãng Borland lại đưa ra version 7.0 để chạy trong nhiều

hệ điều hành kể cả Windows

Trang 2

Một số bài tập Ma trận trong Pascal

1 Dùng bộ sinh số ngẫu nhiên tạo ma trận A,B Sau đó tính tổng ma trận rùi in ra màn hình ma trận A,B và ma trận Tổng

Trích:

Program TONGMATRAN;

Uses WinCrt;

Const

TD1 = 'TRUONG DAI HOC BAN CONG MARKETING';

TD2 = ' »»»»» §¤Lïþ§ÑÆÇK® - ¥§æ «««««';

MAX = 30;

Type

MATRAN = Array[1 MAX,1 MAX] Of Byte ;

Var

MA,MB,MC:MATRAN;

CAP:Byte;

{Thu tuc dinh vi cursor}

Procedure WriteXY(X,Y:Byte;CHUOI:String);

Begin

GotoXY(X,Y);

Write(CHUOI);

End;

{Thu tuc in tieu de}

Procedure TIEUDE;

Begin

WriteXY(25,1,TD1);

WriteXY(25,2,TD2);

End;

{Thu tuc tao ma tran}

Procedure TAOMATRAN(Var A,B:MATRAN; Var N:Byte);

Var

i,j:Byte;

Begin

WriteXY(15,5,'- Nhap cap cua ma tran: '); Readln(N);

For i:=1 To CAP Do

For j:=1 To CAP Do

Begin

A[i,j]:=Random(100);

B[i,j]:=Random(50);

End;

End;

{Thu tuc in ma tran}

Procedure INMT(X:MATRAN;N:Byte);

Trang 3

i,j:Byte;

Begin

For i:=1 To N Do

Begin

For j:=1 To N Do Write(X[i,j]:5);

Writeln;

End;

Writeln;

End;

{Thu tuc xuat ma tran}

Procedure XUATKQ(A,B:MATRAN; Var C:MATRAN; N:Byte);

Var

i,j:BYte;

Begin

Writeln('MA TRAN A:');

INMT(A,N);

Writeln('MA TRAN B:');

INMT(B,N);

For i:=1 To N Do

For j:=1 To N Do C[i,j]:=A[i,j]+B[i,j];

Writeln('MA TRAN TONG:');

INMT(C,N);

End;

{Chuong trinh chinh}

Begin

Clrscr;

TIEUDE;

TAOMATRAN(MA,MB,CAP);

XUATKQ(MA,MB,MC,CAP);

End

2 Dùng bộ sinh số ngẫu nhiên tạo ma trận A,B Sau đó tính tích 2 ma trận rùi in ra màn hình ma trận A,B và ma trận Tích

Trích:

Program NHANMATRAN;

Uses WinCrt;

Const

TD1 = 'TRUONG DAI HOC BAN CONG MARKETING';

TD2 = ' »»»»» §¤Lïþ§ÑÆÇK® - ¥§æ «««««';

MAX = 30;

Type

MATRAN = Array[1 MAX,1 MAX] Of Byte;

Var

MA,MB,MC:MATRAN;

Trang 4

{Thu tuc dinh vi cursor}

Procedure WriteXY(X,Y:Byte; CHUOI:String);

Begin

GotoXY(X,Y);

Write(CHUOI);

End;

{Thu tuc in tieu de}

Procedure TIEUDE;

Begin

Writexy(25,1,TD1);

WritexY(25,2,TD2);

End;

{thu tuc tao ma tran}

Procedure TAOMATRAN(Var A,B:MATRAN; Var DA,CA,DB,CB:Byte);

Var

i,j:Byte;

Begin

Repeat

WriteXY(15,4,'- Nhap so dong Ma tran A: '); Readln(DA);

WriteXY(15,5,'- Nhap so cot Ma tran A: '); Readln(CA);

WriteXY(15,6,'- Nhap so dong Ma tran B: '); Readln(DB);

WriteXY(15,7,'- Nhap so cot Ma tran B: '); Readln(CB);

Until CA=DB;

For i:=1 To DA Do

For j:=1 To CA Do A[i,j]:=Random(20);

For i:=1 To DB Do

For j:=1 To CB Do B[i,j]:=Random(10);

End;

{Thu tuc in ma tran}

Procedure INMATRAN(X:MATRAN;DONG,COT:Byte);

Var

i,j:Byte;

Begin

For i:=1 To DONG Do

Begin

For j:=1 To COT Do Write(X[i,j]:5);

Writeln;

End;

End;

{Thu tuc xuat ket qua}

Procedure XUATKQ(A,B:MATRAN;Var C:MATRAN; DA,CA,DB,CB:Byte;Var DC,CC:Byte);

Trang 5

i,j,k:Byte;

Begin

Writeln('MA TRAN A: ');

INMATRAN(A,DA,CA);

Writeln('MA TRAN B: ');

INMATRAN(B,DB,CB);

DC:=DA;

CC:=CB;

For i:=1 To DA Do

For j:=1 To CB Do

Begin

C[i,j]:=0;

For k:=1 To CA Do C[i,j]:=C[i,j]+(A[i,k]*B[k,j]);

End;

Writeln('MA TRAN TICH: ');

INMATRAN(C,DC,CC);

End;

{chuong trinh chinh}

Begin

Clrscr;

TIEUDE;

TAOMATRAN(MA,MB,DONGA,COTA,DONGB,COTB);

XUATKQ(MA,MB,MC,DONGA,COTA,DONGB,COTB,DONGC,COTC); End

*************************************************

2 Xu ly:

a) Dung bo sinh so ngau nhiencua Pascal de luu gia tri cho cac phan tu cua Mang Luu Ket qua vao tap tin LENTHOT.INP gom:

Dong1: la mot so nguyen cho biet gia tri phan tu cua mang

Dong: la gia tri cua phan tu mang

b) Mo tap tin LENTHOT.OUT va dua bien vao mang

c) Thuc hien sap xep bang thuat toan Selection Sort Luu ket qua vao tap tin LENTHOT.OUT

************************************************** *****

Program SELECT;

Uses WinCrt;

Const

TD1 = 'TRUONG DAI HOC BAN CONG MARKETING';

TD2 = 'SOLIDSNACK';

MAX = 20;

Type

MANG = Array[1 MAX] Of Byte;

Var

DAYSO:MANG;

Trang 6

{Thu tuc dinh vi cursor}

Procedure WriteXY(X,Y:Byte; CHUOI:String);

Begin

GotoXY(X,Y);

Write(CHUOI);

End;

{Thu tuc in TIEUDE}

Procedure TIEUDE;

Begin

WriteXY(25,1,TD1);

WriteXY(25,2,TD2);

End;

{Thu tuc tao mang}

Procedure TAOMANG(Var A:MANG;Var N:Byte);

Var

i:Byte;

F:Text;

Begin

WriteXY(15,4,'- Muon mang co may phan tu? '); Readln(N); For i:=1 To N Do A[i]:=Random(100);

Assign(F,'D:\LENTHOT.INP');

Rewrite(F);

Writeln(F,N);

For i:=1 To N Do Write(F,A[i]:5);

Close(F);

End;

{Thu tuc Hoan vi}

Procedure HOANVI(Var X,Y:Byte);

Var

TAM:Byte;

Begin

TAM:=X;

X:=Y;

Y:=TAM;

End;

{Thu tuc sap xep bang SelectionSort}

Procedure SELECTIONSORT(Var A:MANG; N:Byte); Var

i,j,MIN:Byte;

Begin

For i:=1 To N-1 Do

Trang 7

MIN:=i;

For j:=i+1 To N Do

If A[j]<A[MIN] Then MIN:=j;

HOANVI(A[MIN],A[i]);

End;

End;

{Thu tuc in vao tap tin LENTHOT.INP}

Procedure XUATKQ(Var A:MANG; Var N:Byte);

Var

i:Byte;

F1,F2:Text;

Begin

Assign(F1,'D:\LENTHOT.INP');

Reset(F1);

Readln(F1,N);

For i:=1 To N Do Read(F1,A[i]);

Close(F1);

WriteXY(15,6,'Mo file LENTHOT.OUT de xem ket qua sap xep'); Assign(F2,'D:\LENTHOT.OUT');

Rewrite(F2);

Writeln(F2,'Cac phan tu da duoc sap xep nhu sau: ');

SELECTIONSORT(A,N);

For i:=1 To N Do Write(F2,A[i]:5);

Close(F2);

End;

{Chuong trinh chinh}

Begin

Clrscr;

TIEUDE;

TAOMANG(DAYSO,SOPT);

XUATKQ(DAYSO,SOPT);

End

***********************************************

1 Du lieu nhap vao

- Tao tap tin TIMKIEM.INP gom:

Dong1 : So phan tu cua mang

Dong2: Cac phan tu cua mang mot chieu

- Nhap vao mot do muon tim

2 Xu ly

- Dung thuat toan tuan tu de tim kiem

3 OUTPUT

- Xuat thong bao tim thay hoac khong

- xuat thong bao phan tu muon tim la phan tu thu may cua mang

Trang 8

************************************************} Code:

Program TIMKIEMTUANTU;

Uses Wincrt;

Const

MAX = 30;

Type

MANG = Array[1 MAX] Of Byte;

Var

DAYSO:MANG;

SOPT,SOTIM:Byte;

{Thu tuc doc tap tin}

Procedure DOCTT(Var A:MANG; Var N,X:Byte);

Var

i:Byte;

F:Text;

Begin

Assign(F,'D:\TIMKIEM.INP');

Reset(F);

Readln(F,N);

For i:=1 To N Do Read(F,A[i]);

Close(F);

Write('Nhap con so muon tim: '); Readln(X);

End;

{Thu tuc tim kiem tuan tu}

Function TIMKIEM(A:MANG;N,X:Byte):Boolean;

Var

FOUND:Boolean;

i:Byte;

Begin

{Truoc khi tim thi gan gia tri ban dau cho bien found} FOUND:=False;

For i:=1 To N Do

If A[i]=X Then

Begin

Found:= True;

Writeln('Phan tu ',X,' o vi tri thu ',i);

End;

TIMKIEM:=FOUND;

End;

{Thu tuc xuat ket qua}

Procedure XUATKQ(A:MANG;N,X:Byte);

Var

KETQUA:Boolean;

Trang 9

Begin

KETQUA:=TIMKIEM(A,N,X);

If KETQUA = True Then Write('Tim thay phan tu') Else Write('Khong tim thay phan tu');

End;

{Chuong trinh chinh}

Begin

DOCTT(DAYSO,SOPT,SOTIM);

XUATKQ(DAYSO,SOPT,SOTIM);

End

Trang 10

Giải thuật Sắp xếp

1 Thủ tục hoán vị các phần tử (swap):

Trích:

Procedure SWAP(Var BIEN1,BIEN2:Byte);

Var

TAM:Byte;

Begin

TAM := BIEN1;

BIEN1:= BIEN2;

BIEN2 := TAM;

End;

2.Sắp xếp chọn (Selection Sort)

2.1 Giải thuật:

Đây là phương pháp sắp xếp đơn giản nhất được tiến hành như sau:

a) Chọn phần tử nhỏ nhất trong n phần tử từ A[1] đến A[n] và hoán vị nó với phần tử A[n] b) Chọn phần tử có khóa nhỏ nhất trong N-1 phần tử từ A[2] đến A[n] và hoán nó với vị trí A[2] c) Tổng quát ở bước thứ i, chọn phần tử cò khóa nhỏ nhất trong n-i+1 phần tử từ A[i] đến A[n]

và hoán vị nó với A[i]

Sau bước này thì mảng đã sắp xếp

VD: Cho 5 28 12 1 92

Sắp xếp:

2.2 Chương trình Demo:

Trích:

{Thủ tục hoán vị giữa hai phần tử}

Procedure SWAP(Var BIEN1,BIEN2:Byte);

Var

TAM:Byte;

Begin

TAM := BIEN1;

BIEN1:= BIEN2;

BIEN2 := TAM;

End;

Trang 11

{Thủ tục sắp xếp chọn – Selection Sort}

Procedure Selection Sort(Var A:MANG; SOPT:Byte);

Var

I,j:Byte;

MIN:Integer;

Begin

{Duyệt từ phần tử đầu đến phần tử cuối của Mảng}

For i:=1 To SOPT – 1 do

Begin

Min := I;

{Gán chỉ số của phần tử thứ i vào biến Min}

For j:=i+1 To N Do

{So sánh với phần tử của i+1 đến phần tử cuối}

If A[j] < A[min] Then Min := j

SWAP(A[Min],A[i]);

End;

End;

Trang 12

Các câu lệnh trong Turbo Pascal

SYSTEM

write() : in ra màn hình liền sau kí tự cuối

writeln() : in xuống một hàng

read() : đọc biến

readln() : dừng chương trình để đọc biến

Uses CRT

clrscr : xoá toàn bộ màn hình

textcolor() : in chữ màu

textcolor() : tô màu cho màn hình

sound() : tạo âm thanh

delay() : làm trể

nosound : tắt âm thanh

windows(x1,y1,x2,y2) : thay đổi cửa sổ màn hình

highvideo : tăng độ sáng màn hình

lowvideo : giảm độ sáng màn hình

normvideo : màn hình trở lại chế độ sáng bình thường

gotoxy(x,y) : đưa con trỏ đến vị trí x,y trên màn hình

deline : xoá một dòng đang chứa con trỏ

clreol : xoá các ký tự từ vị trí con trỏ đến cuối mà không di chuyển vị trí con trỏ insline : chèn thêm một dòng vào vị trí của con trỏ hiện hành

exit : thoát khỏi chương trình

textmode(co40) : tạo kiểu chữ lớn

randomize : khởi tạo chế độ ngẫu nhiên

move(var 1,var 2,n) : sao chép trong bộ nhớ một khối n byte từ biến Var 1 sang biến Var 2

halt : Ngưng thực hiện chương trình và trở về hệ điều hành

Abs(n) : Giá trị tuyệt đối

Arctan(x) : cho kết quả là hàm Arctan(x)

Cos(x) : cho kết quả là cos(x)

Exp(x) : hàm số mủ cơ số tự nhiên ex

Frac(x) : cho kết quả là phần thập phan của số x

int(x) : cho kết quả là phần nguyên của số thập phân x

ln(x) : Hàm loga cơ số tự nhiên

sin(x) : cho kết quả là sin(x), với x tính bằng Radian

Sqr(x) : bình phương của số x

Sqrt(x) : cho kết quả là căn bậc hai của x

pred(x) : cho kết quả là số nguyên đứng trước số nguyên x

Suuc(x) : chô kết quả là số nguyên đứng sau số nguyên x

odd(x) : cho kết quả là true nếu x số lẻ, ngược lại là false

chr(x) : trả về một kí tự có vị trí là x trong bảng mã ASCII

Ord(x) : trả về một số thứ tự của kí tự x

round(n) : Làm tròn số thực n

Random(n) : chó một số ngẫu nhiên trong phạm vi n

upcase(n) : đổi kí tự chữ thường sang chữ hoa

Trang 13

assign(f,) : tạo file.

rewrite(f) : khởi tạo

append(f) : chèn thêm dữ liệu cho file

close(f) : tắt file

erase(f) : xóa

rename() : đổi tên cho file

length(s) : cho kết quả là chiều dài của xâu

copy(s,a,b) : copy xau

insert(,s,a) : chèn thêm cho xâu

delete(s,a,b) : xoá xâu

Unit GRAGH

initgraph(a,b,) : khởi tạo chế độ đồ hoạ

closegraph; : tắt chế độ đồ hoạ

setcolor(x) : chọn màu

outtext() : in ra màn hình tại góc trên bên trái

outtextxy(x,y,); : in ra màn hình tại toạ độ màn hình

rectangle(x1,y1,x2,y2): vẽ hình chữ nhật

line(x1,y1,x2,y2) : vẽ đoạn thẳng

moveto(x,y) : lấy điểm xuất phát để vẽ đoạn thẳng

lineto(x,y) : lấy điểm kết thúc để vẽ doạn thảng

circle(x,y,n) : vẽ đường tròn

ellipse(x,y,o1,o2,a,b): vẽ hình elip

floodfill(a,b,n) : tô màu cho hình

getfillpattern(x) : tạo biến để tô

setfillpattern(x,a) : chọn màu để tô

cleardevice; : xoá toàn bộ màn hình

settextstyle(n,a,b) : chọn kiểu chữ

bar(a,b,c,d) : vẽ thanh

bar3d(a,b,c,d,n,h) : vẽ hộp

arc(a,b,c,d,e) : vẽ cung tròn

setbkcolor(n) : tô mà nền

putpixel(x,y,n) : vẽ điểm

setfillstyle(a,b) : tạo nền cho màn hình

setlinestyle(a,b,c) : chọn kiểu đoạn thẳng

getmem(p,1) : chuyển biến để nhớ dữ liệu

getimage(x1,y1,x2,y2,p): nhớ các hình vẽ trên vùng cửa sổ xác định putimage(x,y,p,n) : in ra màn hình các hình vừa nhớ

Unit DOS

getdate(y,m,d,t) : lấy các dữ liệu về ngày trong bộ nhớ

gettime(h,m,s,hund) : lấy các dữ liệu về giờ trong bộ nhớ

findnext(x) : tìm kiếm tiếp

Findfirst(,$20,dirinfo) : tìm kiếm

Đỗ Trung Thành @ 00:32 14/09/2009

Trang 14

Số lượt xem: 2016

Ngày đăng: 09/05/2014, 21:14

TỪ KHÓA LIÊN QUAN

w