1. Trang chủ
  2. » Giáo án - Bài giảng

Mot so BT Pascal nang cao

32 259 1

Đ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 32
Dung lượng 208,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

Program HinhChuNhat ; Uses Crt ; If Not HopLe a , b Then Writeln'Du lieu khong hop le, vao lai';... Program mang1Chieu ; Uses Crt ; {exit: lệnh ra khỏi chương trình con}... Viết chương

Trang 1

Writeln ('Dien tich la ',a*b:0:2);

Writeln ('Duong cheo la ', d:0 : 3);

Writeln ('Chu vi duong tron la ',Pi*d : 0 :4);

Writeln (' Chu vi la ',2*(a+b ):0 :3);

Writeln (' Dien tich la ', a*b:0:2);

Writeln (' Duong cheo la ', d:0 :3);

Writeln (' Chu vi duong tron la ', Pi*d :0:4);

EndElse Writeln('Du lieu ngai vao khong hop le');

Trang 2

Writeln ( ' Dien tich la ', a*b:0:2);

Writeln ( ' Duong cheo la ', d:0:3);

Writeln ( ' Chu vi duong tron la ', Pi*d : 0 :4);

Writeln ( ' Dien tich la ', a*b:0:2);

Writeln ( ' Duong cheo la ', d:0:3);

Writeln ( ' Chu vi duong tron la ', Pi*d :0:4);

- Hình thứ hai có hai kích thước là a2 và b2.

- Hình thứ ba có hai kích thước là a1+a2 và b1+b2.

Program HinhChuNhat ; Uses Crt ;

If Not HopLe( a , b) Then

Writeln('Du lieu khong hop le, vao lai');

Trang 3

d := SQRT ( a*a + b * b) ;Writeln ( ' Chu vi la ', 2*(a+b ) : 0 : 3);

Writeln ( ' Dien tich la ', a*b:0:2 );

Writeln ( ' Duong cheo la ', d:0 : 3 );

Writeln ( ' Chu vi duong tron la ', Pi*d : 0 :4 );

3, In lên màn hình các phần tử nguyên tố cùng nhau với phần tử đầu tiên của mỗi mảng (in riêng cho từng mảng)

Program mang1Chieu ; Uses Crt ;

Trang 4

Writeln(' - Day la mang ', T , ' -'); For K := 1 TO N DO Write (X[k] : 7); Writeln;

Writeln(X[1],'Nguyen to cung nhau voi cac so sau day'); For K := 2 TO N DO

If NTCN ( X[1] , X[k] ) Then Write(X[k] : 7);

Writeln ;End ;

BEGIN

CLRSCR ; Nhap (A , 'A'); Nhap (B , 'B'); MgC ;

INKQ ( A , 'A') ; INKQ ( B , 'B') ;INKQ ( C , 'C') ;

- In lên các phần tử là các số nguyên tố của mảng.

Program mang1Chieu ; Uses Crt ;

{exit: lệnh ra khỏi chương trình con}

Trang 5

PROCEDURE INKQ(X : MG ; T : Char);

CLRSCR ; Nhap (A , 'A'); Nhap (B , 'B'); MgC ;

INKQ ( A , 'A') ; INKQ ( B , 'B') ;INKQ ( C , 'C') ;

Procedure Timmin(X: MG; t: char);

Var Min: Integer ; D: Byte;

Begin

Min:= X[1]; D:=0;

For K := 2 to n do If Min > X[k] then Min := X[k];

For k:= 1 to n do If X[k] = Min then D:= D + 1;

Writeln('Phan tu nho nhat cua mang ',t,' la:',Min);

Writeln('So phan tu nho nhat la ',d);

End;

Procedure INKQ (X: MG; T: char);

Begin

Writeln (' -Day la mang ', t, ' -');

For k:= 1 to n do Write(X[k]: 7); Writeln;

End;

Trang 6

Có n thanh nhôm chiều dài từ l 1 đến l n đợc nhập vào từ bàn phím (0< n < 100).

Tìm ra phơng án tối u cắt các thanh ra chiều dài a1 và a2 để sử dụng sao cho các mẩu gõ thừa (d) bị cắt ra là nhỏ nhất.

Ch

ơng trình:

Program Thitingioi_HD;

Const a1 = 3.5 ; a2 = 4.7 ;

Var A: Array [1 100, 1 4] of Real;

N , K, p, q : Byte ; Min, d : Real;

Begin

Writeln('Cho biet so thanh nhom: '); Readln (N);

For K:= 1 to n do

Begin

Write('Nhap do dai cua thanh thu ',k,' ');

Readln(A[k,1]); Min:= A[k,1];

A[k,2]:= 0 ; A[k,3]:= 0; A[k,4]:= Min;

Writeln('So thanh 4.7m la ', A[k,3]:0:0);

Writeln('do dai thua la ', A[k,4]:0:3);

End;

Readln

End

Trang 7

If b < 0 then Writeln ('Lan thu ',K, a:5, 'X ' ,b,' = 0')

else Writeln ('Lan thu ',K, a:5, 'X + ' ,b,' = 0');

Str (-b/a:0:2, X); Val (X,Ng,c);

Writeln('Nhap dap so '); Readln(Ds);

If Ds = Ng then Writeln(' Dung')

else Writeln('Sai roi, dap so la ',X);

Write('Tiep tuc C/K '); Readln(X);

Until (X= 'k') or ( X = 'K');

End

2 Viết chương trình lưu kết quả mà HS đã giải PT bậc nhất lên ổ

đĩa E, với tên tệp là tên của HS đó.

Program Giaiphuongtrinhbac1 ;

Var a, b, c, k: integer ; X: string; Ds, Ng: Real;

keo: Text;

Begin

Writeln('Hay cho biet ten cua em '); readln(x);

x:= 'E:\'+ x; Assign(keo,X); Rewrite(keo);

If b < 0 then Writeln ('Lan thu ',K, a:5, 'X ' ,b,' = 0')

else Writeln ('Lan thu ',K, a:5, 'X + ' ,b,' = 0');

If b < 0 then Write (keo,'Lan thu ',K, a:5, 'X ' ,b,' = 0') else Write (keo,'Lan thu ',K, a:5, 'X + ' ,b,' = 0');

Str (-b/a:0:2, X); Val (X,Ng,c);

Writeln('Nhap dap so '); Readln(Ds);

If Ds = Ng then Writeln(' Dung')

else Writeln('Sai roi, dap so la ',X);

If Ds = Ng then Writeln(keo,' Dung')

Trang 8

keo: Text;

Begin

Writeln('Hay cho biet ten tep can xem ');Readln(x);

x:= 'E:\'+ x; Assign(keo,X); Reset(keo);

While not EOF (keo) do

-(*BT2_103:Viet chuong trinh cho may lam nhung viec sau:

a) Nhan vao mang A[1 n](n>9), cac phan tu la so thuc lon hon -2 va nho hon 2.

b) Tinh trung binh cong cua cac phan tu duong cua mang.

c) So sanh so phan tu duong voi so phan tu am cua mang.

d) Tim phan tu nho nhat va lon nhat cua mang Chi ra vi tri va gia tri cua chung.*

e) Tinh a[1]+a[2] 2 +a[3] 3 + +a[n] n (chua lam duoc)

program BT2; uses crt;

const n = 3;

type MG= array[1 n] of real;

var a:MG; i: integer; X: String;

procedure nhap; { -CT phan a -}

if (a[i]>=2) or (a[i]<= -2) then

writeln('phan tu cua mang phai nho hon 2 va lon hon -2');

until (a[i]>(-2)) and (a[i] < 2);

writeln('mang vua nhap la: ');

Trang 9

else if a[i]<0 then k:=k+1;

if j>k then writeln('So phan tu duong lon hon so phan tu am')

else if j=k then writeln(' So phan tu duong bang so phan tu am')

else writeln('So phan tu duong nho hon so phan tu am');

For i:=1 to k-1 do C:= c + t[i];

Writeln(‘vi khach thu ‘,k,’ phai cho mot khoang thoi gian la:

‘,c ,' phut ' );

C:= 0;

Writeln(‘tiep tuc c/k? ‘); readln(tl);

Until (tl=’k’) or (tl=’K’);

Trang 10

a n

n

i i

Program BT3_103

Const n=8;

Type: MG=array [1 n] of real;

Var a: MG; i,n : integer; p,q,a,s: real;

BT5_T103: cho A[1 n] (n>7), c¸c phÇn tö lµ sè tù nhiªn víi a[i] = i 2 + 2.

a) TÝnh tæng c¸c c¨n bËc hai cña c¸c phÇn tö chia cho 7 d 3.

b) T×m c¸c phÇn tö lµ sè nguyªn tè cña m¶ng ChØ ra vÞ trÝ vµ gi¸ trÞ cña chóng.

c) x©y dùng m¶ng B cã c¸c phÇn tö lµ c¸c sè nguyªn tè cña m¶ng A

Trang 11

If (x mod k )=0 then exit;

(*Doc vao gia tri cua ma tran A*)

Writeln('Ma tran A:');

Trang 12

(*Nhan hai ma tran *)

(*In ket qua theo kieu viet ma tran*)

Writeln('Ma tran C, la tich cua hai ma tran A va B: ');

Write(T,’[‘,i,’]=’); readln(x[i];

If (x[i]<2) or (x[i]> 2000) then writeln(‘vao lai‘);Until (x[i] > 2) and (x[i] < 2000);

End;

Function P (K: integer): word;

Var tong, sochu: integer;

Begin

tong :=0; sochu := 0While K > 0 do Begin

Trang 13

Writeln(‘ -day la mang

‘,T,’ -‘);

For i := 1 to n do write (X[i] : 7); writeln;

Writeln(‘ mang ’,T,’ co cac so nguyen to la: ‘);

For i:= 1 to n do if SNT(X[i]) = 1 then write(X[i] : 7);End;

BEGIN

END

- Cách 2 (đã chạy)

-{Bai 10 Viet chuong trinh cho may tin lam viec nhu sau

a) Nhan vao hai day so co n phan tu la cac so nguyen > 2, <2000 (n>9)

a1, a2, a3, , an (day A)

b1, b2, b3, , bn (day B)

b) Goi P(k) la tich cua tong cac chu so cua k va so chu so cua k (VD: P(235)= 10 * 3 = 30)

Xay dung day C co n phan tu duoc tao thanh tu hai day tren sao cho Ci= P(Ai)+P(Bi) voi <=1i<=n c) In len man hinh cac so nguyen to cua tung day

d) In len man hinh cac phan tu nho hon tat ca cac phan tu o sau no cua tung day

e) In le man hinh cac phan tu la boi cua tat ca cac phan tu o truoc no cua tung day

g) In len man hinh cac day con lien tuc tang nghiem ngatco so phan tu lon nhat cua tung day A, B, C

Chi ra vi tri phan tu dau tien va cuoi cung, so phan tu, cac phan tu trong day con do

VD - 16,25,17,25,36,45,31,45,45,11,47,34,37,12,48 Ket qua la day con tu phan tu thu 3 den phan tu thu 6

Trang 15

Begin

End;

BEGIN

Nhap(A,'A'); Nhap(B,'B'); MangC;

-{Bai 12 Viet chuong trinh cho may tinh lam nhung viec sau:

a) Nhan vao mang A va B la mang 2 chieu gom n dong n cot, cacs phan tu la nhung so nguyen lon hon 3, nho hon 300

(n>5) chi so dong vaf chi so cot bat dau tu 1

b) Goij P(k) la tich cua tong cacs chu so cua K va cac uoc cua K

(VD P(25)= (2+5)*(1+5+25)= 217

Xay dung va in len mang C co n dong n cot duoc tao thanh tu hai mang tren sao cho

C[i,j] = P(A[i,j]) + P(B[i,j]) voi 1<=i<=n va 1<=j<=n

c) In len man hinh phan tu lon nhat cua duong cheo chinh coar tung mang A, B, C

d) In len man hinh cacs phan tu la nguyen to cung nhau voi phan tu o dong 1 cot 1

e) In len man hinh tong cac pha tu nam phia duoi duong cheo phu, in rieng cho tung mang}

Writeln('Moi ban vao lai');

Until (x[i,j] >= 3) and (x[i,j] < 300);

End;

Trang 16

var T,U: Byte;

Begin

Then Max := X[i,j];

Writeln('Tong cac phan tu phia duoi duong cheo phu = ',T);

End;

Procedure TDCC(X: MG);

Var T: word;

Trang 17

InKQ(A,'A'); Writeln; TimMax(A); TTDCP(A); TDCC(A);

InKQ(B,'B'); Writeln; TimMax(B); TTDCP(B); TDCC(B);

Var A: Array [1 20] of real;

N,i,j, m, t, d: byte; min, R,S,tg: real; TB: boolean;

Trang 18

If abs(a[i] - n) = S then Writeln('A[',i,']','=',A[i]:0:1);{ -b -}

If TB then Writeln('day la day tang')

Else writeln('day khong phai la day tang dan');}

If Tb then Writeln('Day la day giam dan')

Else Writeln('Day khong phai la day giam');

{ -e) phan tu lon hon tat ca cac phan tu truoc no -}

Writeln ('cac so lon hon tat ca cac phan tu dung truoc no = ');min:=a[1]; i:= 2;

Repeat

Trang 19

-Bai10 _202 {Viet chuong trinh cho may

a) Nhan vao motj xau X co khong it hon 9 ky tu so (Yeu cau kiem tra du lieu nhan vao)

b) Chuyen tat ca cac chu so le ve dau xau (khong lam thay doi thu tu truoc sau cua chung) khong dung xau trung gian, khong dung mang chi chen, xoa ngay tren xau}

Trang 20

a) nhap vao mang A co n (n > 6) phan tu la nhung xau ki tu

b) Xay dung mang B co n phan tu , voi P[i] = P(a[i])}

c) In những phần tử xuất hiện đúng một lần trong B.

Trang 21

Function P(T: byte): boolean;

Var k, min: byte; Tb: boolean;

If P(length(S)) then Writeln(S);

Writeln('Nhap du lieu cho mang s ');

Write('Nhap m= '); read(m); write(' n = '); readln(n);

Writeln('So tu nhien be hon ',n,' ma co tong cac binh phuong cac chu so cua no bang ',m,' la: ');

For i :=1 to n-1 do

Begin

Ng:=i div 1000;

T:=(i mod 1000) div 100;

C:= ((i mod 1000) mod 100)div 10;

Trang 22

if s[j]= ' ' then dem :=dem + 1;

writeln(' So ki tu cach trong xau la: ',dem); {dua ra man hinh}

delete(s,5,1); {xoa ki tu thu 5}

delete(s,4,1); {xoa ki tu thu 4}

delete(s,3,1); {xoa ki tu thu 3}

delete(s,2,1); {xoa ki tu thu 2}

writeln(' Xau s sau khi xoa: ',s);

Trang 23

i,d,j: byte; m,z:integer;

Function dx(S:string): boolean;

Var j: byte; kt:boolean;

Function PT9(S: String): Boolean;

var j: byte; kt: boolean;

Trang 25

Var A: Array [1 20] of real;

i,j,m: byte; tg: real;

Writeln('Day da sap xep');

For i:= 1 to m do Write(a[i]:6:1); writeln;

Write('hay nhap vao gia tri can chen:'); readln(a[m+1]);

Writeln('Day sau khi chen ');

for i:= 1 to m+1 do Write(a[i]:6:2);

Trang 26

Writeln('Day da duoc sap xep');

For k:=1 to m do Write(B[k]:7); writeln;

Writeln('Day da duoc sap xep');

Trang 27

{BT: Viet chuong trinh cho may nhan vao mang A, B co n phan tu la nhung so nguyen duoc sap xep theo thu tu tang dan Xay dung mang C voi C[i]=A[i]+B[i], cac phan tu cua mang C cung duoc sap theo thu tu tang dan }

Procedure sapxep(x:MG; T: char);

Var Tg, i,j: Byte;

Trang 28

BT: Viết chơng trình nhập vào một dãy gồm n số nguyên, xác định số lợng số chẵn, lẻ trong dãy

đó.

program bt;

uses crt;

const n = 4;

type arrint= array[1 n] of integer;

var i, j,k : integer; a:arrint;

writeln('Day so vua nhap: ');

for i:=1 to n do write(a[i]:5); writeln;

writeln(' so luong so chan trong day la: ' ,j);

writeln(' so luong so le trong day la: ',k);

Program Ghi_Giaiphuongtrinhbac1 ; Uses crt;

Var a, b, c, k: integer ; X: string; Ds, Ng: Real;

Begin

clrscr;

Writeln('Hay cho biet ten cua em '); readln(x);

x:= 'E:\'+ x; Assign(keo,X); Rewrite(keo);

If b < 0 then Writeln ('Lan thu ',K, a:5, 'X ' ,b,' = 0')

else Writeln ('Lan thu ',K, a:5, 'X + ' ,b,' = 0');

If b < 0 then Write (keo,'Lan thu ',K, a:5, 'X ' ,b,' = 0') else Write (keo,'Lan thu ',K, a:5, 'X + ' ,b,' = 0');

Str (-b/a:0:2, X); Val (X,Ng,c);

Writeln('Nhap dap so '); Readln(Ds);

If Ds = Ng then Writeln(' Dung')

else Writeln('Sai roi, dap so la ',X);

If Ds = Ng then Writeln(keo,' Dung')

else Writeln(keo,'Sai');

Write('Tiep tuc C/K '); Readln(X);

Until (X= 'k') or ( X = 'K');

Trang 29

Writeln('Hay cho biet ten tep can xem ');Readln(x);

x:= 'E:\'+ x; Assign(keo,X); Reset(keo);

While not EOF (keo) do

Trang 30

3 §äc tÖp Tho võa ghi.

Program Doctho ;

Var X: string; tho:text;

keo: Text;

Begin

Writeln('Hay cho biet ten tep can xem ');Readln(x);

x:= 'E:\'+ x; Assign(tho,X); Reset(tho);

While not EOF (tho) do

Assign ( Matran, 'E:\mang2c'); rewrite ( maTran);

Write('cho so dong ') ; Readln(m);

Write('cho so cot ') ; Readln(n);

var M , N , j , k : byte ; SN : Word ; MaTran : Text;

Function NT (n :Word ) : Boolean;

Var U : Word;

Begin

Trang 31

var M , N , j , k : byte ; SN : Word ; MaTran : Text;

Function NT (n :Word ) : Boolean;

Var U : Word;

Begin

-Tính điểm của ngời chơi ở đấu trờng 100

Var S: Word ; N , k : byte;

Trang 32

readln(n); {tao ngau nhien mang gom n so nguyen}

for i:=1 to n do A[i]:= random(300) - random(300);

for i:=1 to n do write(A[i]:5); {in ra mang vua tao} writeln;

write('nhap k= '); readln(k);

s:=0; posi:= 0; neg:= 0;

for i:=1to n do

begin

if A[i] mod k=0 then s:=s+A[i];

if A[i]>0 then posi:= posi+1

else if A[i]<0 then neg:= neg+1;

end;

writeln(' so phan tu duong cua mang la: ',posi:4);

writeln(' so phan tu am cua mang la: ',neg:4);

writeln(' tong cac phan tu chia het cho ',k,' la :',s); readln

Ngày đăng: 22/05/2015, 06:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w