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 1Writeln ('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 2Writeln ( ' 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 3d := 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 4Writeln(' - 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 5PROCEDURE 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 6Có 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 7If 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 8keo: 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 9else 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 10a 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 11If (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 13Writeln(‘ -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 15Begin
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 16var 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 17InKQ(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 18If 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 20a) 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 21Function 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 22if 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 23i,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 25Var 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 26Writeln('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 28BT: 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 29Writeln('Hay cho biet ten tep can xem ');Readln(x);
x:= 'E:\'+ x; Assign(keo,X); Reset(keo);
While not EOF (keo) do
Trang 303 §ä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 31var 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 32readln(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