Bài tập Pascal_Phần 4

32 184 1
Bài tập Pascal_Phần 4

Đ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ư Viện Các Dạng Bài Tập Pascal của Tin Học 11 - Phần 4  Program Lam_tron; Var so:Real; le:Integer; (* *) FUNCTION Tron(so:Real;le:Integer):Real; Var i,n:LongInt; Begin For i:=1 To le+1 Do so:=so*10; n:=Trunc(so); If (n Mod 10) >= 5 Then n:=(n Div 10) +1 Else n:=n Div 10; so:=n; For i:=1 To le Do so:=so/10; Tron:=so; End; (* *) BEGIN Writeln('LAM TRON SO THUC'); Writeln(' Su dung ham'); Writeln(' '); Write('-Nhap so: '); Readln(so); Write('-Can bao nhieu so le: '); Readln(le); Writeln; Writeln(' KET QUA'); Writeln('*So nhap vao = ',so:12:10); Writeln('*So lam tron = ',Tron(so,le):12:le); Writeln; Write(' Bam phim <Enter> de ket thuc '); Readln END.  Program Loang_mau; Uses Crt; Const St=' Chao mung ban da den voi THPTXuanLoc.CoM '; Var k:Integer; Procedure Mau(nen,chu:Integer); Begin TextBackGround(nen); TextColor(chu); End; BEGIN TextMode(C80); TextBackGround(Black); ClrScr; For k:=2 To 23 Do Begin Mau(k Mod 8,(k+4) Mod 8 + 8); GotoXY(1,k); Write(St) End; Readln END.  Program May_tinh_tay; Var so1,so2,kq:Real; toantu,tiep:Char; thuchien:Boolean; Begin Writeln(' MAY TINH TAY'); Writeln('Thuc hien 4 phep tinh so hoc'); Writeln(' '); Repeat Write('-Bam so: '); Readln(so1); Write('-Phep toan(+,-,*,/): '); Readln(toantu); Write('-Bam so: '); Readln(so2); thuchien:=True; Case toantu Of '+' :kq:=so1+so2; '-' :kq:=so1-so2; '*' :kq:=so1*so2; '/' :If so2 <> 0 Then kq:=so1/so2 Else thuchien:=False; Else thuchien:=False; End; If thuchien Then Writeln('+Ket qua = ',kq:6:2) Else Writeln('+Khong lam duoc'); Writeln; Write('-Thuc hien tiep khong ? (C/K) '); Readln(tiep); Until Upcase(tiep) = 'K'; Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End.  ! Program Nam_nhuan; Var nam:Word; nhuan:boolean; Begin Writeln('NAM NHUAN HAY NAM THUONG'); Writeln(' '); Write('-Nhap vao nam can kiem tra: '); Readln(nam); If nam Mod 100 = 0 Then Nhuan:=(nam Mod 400)=0 Else Nhuan:=(nam Mod 4)=0; Write('Nam: ',nam, ' la: '); If nhuan Then Writeln('nam nhuan') Else Writeln('nam thuong ( khong nhuan)'); Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End. "#$% Program Thu_trong_tuan; Var thu,ngay,thang:Byte; Nam,luu:Integer; Begin Writeln('NGAY THU MAY TRONG TUAN'); Writeln(' '); Write('-Ngay: '); Readln(ngay); Write('-Thang: '); Readln(thang); Write('-Nam: '); Readln(nam); luu:=nam; nam:=1900 + (nam Mod 1900); If thang < 3 Then Begin thang:=thang + 12; nam:=nam - 1; End; thu:=ABS(ngay+2*thang+3*(thang+1) Div 5+nam+nam Div 4) Mod 7; Case thu Of 0 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln(' +La ngay Chu Nhat'); End; 1 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln('+La ngay Thu Hai'); End; 2 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln(' +La ngay Thu Ba'); End; 3 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln(' +La ngay Thu Tu'); End; 4 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln(' +La ngay Thu Nam'); End; 5 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln(' +La ngay Thu Sau'); End; 6 : Begin Writeln('+Ngay:',ngay:3,',thang:',thang:3,',nam:',luu:5); Writeln(' +La ngay Thu Bay'); End; End; Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End. &'()* Program thuaso; Var n,i:Integer; Begin Writeln('PHAN TICH N THANH TICH CAC THUA SO NGUYEN TO'); Writeln(' '); Write('-Nhap so N= '); Readln(n); Repeat i:=2; While (n Mod i <> 0) And (i < n ) Do i:=i + 1; Write(i:4); n:=n Div i; Until n=1; Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End. +'(*, -.$ Program Phan_tich; Const n=15; Var a:Array[1 n, 1 n] Of Longint; i,j,i1,j1:Integer; Begin Writeln('PHAN TICH SO NGUYEN DUONG NHO NHAT'); Writeln(' '); Writeln; For i:=1 To n Do For j:=1 To n Do a[i,j]:=i*i*i + j*j*j; Writeln; Writeln('IN KET QUA'); Writeln(' '); For i:=1 To n Do For j:=1 To i Do Begin For i1:= i+1 To n Do For j1:=1 To j-1 Do If a[i,j]=a[i1,j1] Then Writeln(a[i,j],' = ',i,' ^3 ',' + ',j,' ^3 ',' = ', i1,' ^3 ',' + ',j1,' ^3'); End; Writeln; Writeln(' Bam phim <Enter> de ket thuc '); Readln End. /'01234101) Program Phep_chia; Var chia,bichia,luu,thuong,du:Integer; Begin Writeln('PHEP CHIA CHI LA PHEP TRU'); Writeln(' '); Write('-Nhap so bi chia: '); Readln(bichia); Write('-Nhap so chia: '); Readln(chia); luu:=bichia; thuong:=0; While bichia >=chia Do Begin bichia:=bichia-chia; thuong:=thuong+1; End; du:=bichia; Writeln; Writeln('+Neu dem so ',luu,' chia cho so ',chia,' ket qua la: '); Writeln(' *So thuong = ',thuong:6); Writeln(' *So du = ',du:6); Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End. 56789 Program Xo_so; Uses Crt; Var quacau,i:Byte; ch:Char; BEGIN ClrScr; TextColor(Red); Writeln(' QUAY XO SO'); TextColor(Magenta); Writeln(' Su dung ham Random'); TextColor(Yellow); Writeln(' '); Writeln; TextColor(Green); Write(' Cho so qua cau de quay: '); Readln(quacau); Writeln; TextColor(Cyan); Write(' Bam phim bat ky de bat dau quay xo so'); Repeat i:= Random(9); Until KeyPressed; Writeln; TextColor(LightBlue); Write(' Bam phim <Enter> de ngung quay'); Readln; ch:=ReadKey; Writeln; TextColor(Yellow); Writeln(' KET QUA TRUNG THUONG LA SO: '); Writeln; TextColor(Red); Write(' '); For i:=1 To quacau Do Write(' ',Random(9):3); Writeln; Writeln; TextColor(Magenta); Write(' Bam phim <Enter> de ket thuc'); Readln END. 9* Program So_nguyen_to; Var n,i:Integer; Begin Writeln('SO VUA NHAP CO PHAI LA SO NGUYEN TO ?'); Writeln(' '); Write('-Nhap mot so : '); Readln(n); While n > 1 Do Begin i:=2; While (n Mod i <> 0) Do i:=i+1; if i=n Then Writeln('-So ',n,' la so nguyen to') Else Writeln('-So ',n,' khong phai la so nguyen to'); Write('-Nhap mot so (so 0 de ngung): '); Readln(n); End; Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End. 9:2* Program So_ngau_Nhien; Uses Crt; CONST N = 100; VAR Mang : Array[1 N] Of ^Word; HeapTop : Pointer; { } Procedure TaoSo; Var i : Byte; Begin Randomize; For i := 1 To N Do Begin New(Mang[i]); Mang[i]^ := Random(999); End; End; { } Procedure SapXep; Var i : Byte; Tam : Word; KetThuc : Boolean; Begin Repeat KetThuc := True; For i := 1 To n-1 Do If Mang[i]^ > Mang[i+1]^ Then Begin Tam := Mang[i]^; Mang[i]^ := Mang[i+1]^; Mang[i+1]^ := Tam; KetThuc := False; End; Until ketThuc; End; { } Procedure InKq; Var i :Byte; Begin For i := 1 To N Do Write(Mang[i]^:4); End; { } BEGIN ClrScr; Writeln(' TAO VA SAP XEP THU TU 100 SO NGAU NHIEN'); Writeln(' '); Writeln; Mark(HeapTop); TaoSo; SapXep; Inkq; Writeln; Write(' Bam <Enter> . . . '); Readln; Release(HeapTop); END. 9 Program So_ngay; Uses Crt; TYPE Nam=1900 2000; Thang=1 12; Ngay=1 31; Var Nam1,Nam2:Nam; Thang1,Thang2:Thang; Ngay1,Ngay2:Ngay; n:Real; kq:Boolean; (* *) FUNCTION KTngay(d:Ngay;m:Thang;y:Nam):Boolean; Begin KTngay:=True; Case m Of 4,6,9,11: If d > 30 Then KTngay:=False; 2 : If (d > 29) Or ((d =29) And (y Mod 4 <> 0)) Then KTngay:=True; End; End; (* *) FUNCTION Julian(d:Ngay;m:Thang;y:Nam):Real; {Lich Julieng} Var Tam:Real; Begin Tam:=Int((m-14.0)/12.0); Julian:=d-32075.0+ Int(1461.0*(y+4800.0+Tam)/4.0+ Int(367.0*(m-2.0-Tam*12.0)/12.0)- Int(3.0*Int(y+4900.00+Tam)/100.0)/4.0) End; (* *) BEGIN {$R+} Repeat ClrScr; Writeln(' *Nhap moc thoi gian dau'); Write('-Ngay: '); Readln(Ngay1); Write('-Thang: '); Readln(Thang1); Write('-Nam: '); Readln(Nam1); Kq:=KTngay(Ngay1,Thang1,Nam1); If not Kq Then Begin Sound(100); Delay(50); NoSound; Writeln('-Ngay khong hop le'); End; Until Kq; Repeat ClrScr; Writeln(' *Nhap moc thoi gian cuoi'); Write('-Ngay: '); Readln(Ngay2); Write('-Thang: '); Readln(Thang2); Write('-Nam: '); Readln(Nam2); Kq:=KTngay(Ngay2,Thang2,Nam2); If not Kq Then Begin Sound(100); Delay(50); NoSound; Writeln('-Ngay khong hop le'); End; Until Kq; n:=Julian(Ngay2,Thang2,Nam2)-Julian(Ngay1,Thang1,Nam1); Writeln('Ket qua: ',n:8:0,' ngay'); Writeln; Writeln(' Bam phim <Enter> de ket thuc '); Readln END. ;7<=2* Program Ngay_cua_thang; Var thang,nam,luu,songay:Integer; Begin Writeln('THANG. X . CO BAO NHIEU NGAY'); Writeln(' '); Write('-Ban muon hoi thang nao co bao nhieu ngay: '); Readln(thang); Write('-Cho biet nam : '); Readln(nam); luu:=nam; Case thang Of 1,3,5,7,8,10,12: songay:=31; 4,6,9,11 : songay:=30; 2 :Case nam Mod 4 Of 1,2,3 :songay:=28; 0 :songay:=29; End; End; If songay >=30 Then Writeln('+Thang:',thang:3,', nam: ',luu:4,', co: ',songay:3,' ngay') Else Writeln('+Thang:',thang:3,', nam: ',luu:5,', co: ',songay:3,' ngay'); Writeln; Writeln(' Bam phin <Enter> de ket thuc'); Readln End. ;>:2*?@( Program So_ngau_nhien; CONST N=100; TYPE Nguyen= Set of 1 N; Var a:Nguyen; So,i,spt:Integer; Begin Writeln('TIM 10 S0 NGUYEN NGAU NHIEN KHONG AM'); Writeln(' NHO HON 100, KHONG TRUNG NHAU'); Writeln(' '); spt:=0; a:=[]; Randomize; Repeat So:=Random(100); If Not (So In a) Then Begin a:=a+[So]; Spt:=Spt +1; End; Until Spt = 10; Writeln; Writeln('10 so ngau nhien nho hon 100 la: '); Writeln; For i:= 0 To 100 Do If i In a Then Write(i,', '); Writeln; Writeln; Write(' Bam phim <Enter> de ket thuc '); Readln End. ";>1%A42*2B1=C2D7 Program Tim_PT_Mang; Uses Crt; Var a:Array[1 1000] Of Integer; { } Procedure Tao; Var k:Integer; Begin Randomize; For k:=1 To 100 Do a[k]:=Random(100); End; { } Procedure Tim; Var k,x:Integer; Begin Write('-Nhap gia tri X= '); Readln(x); For k:=1 To 999 Do Begin If a[k] +a[k+1] = X Then Writeln('a[',K,'] + a[',K+1,']= ',X) Else Writeln('Khong co 2 phan tu nao bang: ',X); End; End; BEGIN Writeln('TIM 2 PHAN TU LIEN TIEP BANG GIA TRI X'); Writeln(' '); Writeln; Tao; Tim; Writeln; Writeln(' Bam phim <Enter> de ket thuc '); Readln; END. &;>*)EB Program Tim_so_nguyen_to; Var n,i,j:Integer; nguyento:Boolean; Begin Writeln('TIM CAC SO NGUYEN TO TU 2 DEN N'); Writeln(' '); Write('-Nhap so N= '); Readln(n); For i:=2 To n Do Begin nguyento:=True; j:=2; While nguyento And (j <i) Do Begin If (i Mod j)=0 Then nguyento:=False; j:=j+1; End; If nguyento Then Write(i:4); End; Writeln; Writeln(' Bam phim <Enter> de ket thuc'); Readln End. +;> FG* Program uoc_so; Var i,n:Integer; [...]... so1,so2,so3,so4,max,min:Integer; Begin Writeln('TIM SO LON NHAT VA SO NHO NHAT'); Writeln(' -'); Write('-Nhap so thu nhat: '); Readln(so1); Write('-Nhap so thu hai : '); Readln(so2); Write('-Nhap so thu ba : '); Readln(so3); Write('-Nhap so thu tu : '); Readln(so4); max:=so1; min:=so1; If max < so2 Then max:=so2 Else min:=so2; If max < so3 Then max:=so3 Else min:=so3; If max < so4 Then max:=so4;... End 241 /Ma trận chuyển vị: Program Ma_tran_Chuyen_Vi; Uses Crt; Const Max=10; Var a:Array[1 Max, 1 Max] Of Integer; Procedure Tao; Var j,k:Integer; Begin Randomize; For k:=1 To Max Do For j:= 1 To Max Do a[k,j]:=Random(100); End; { } Procedure Xuat; Var k,j:Integer; Begin Window(5,3,36, 24) ; For k:=1 to Max Do Begin For j:=1 To Max Do Write(a[k,j]:3); Writeln(#10); End; Window (45 ,3,76, 24) ;... max:=so1; min:=so1; If max < so2 Then max:=so2 Else min:=so2; If max < so3 Then max:=so3 Else min:=so3; If max < so4 Then max:=so4; Writeln; Writeln('+So lon nhat trong 4 so: ',so1,',',so2,',',so3,',',so4,' la: ',max); Writeln('+Va so nho nhat trong 4 so do la : ',min); Writeln; Writeln(' Bam phim de ket thuc'); Readln End 220/Tính độ dài vectơ: Program Tinh_do_dai_vec_to; Var x,y,z:Integer; l:Real;... '); Until Readkey = #27; END 244 /Bản ghi và con trỏ: Program Ban_ghi_va_Con_Tro; Uses Crt; TYPE ConTro = ^LyLich; LyLich = RECORD HoLot : String[17]; Ten : String[7]; BacLuong,PhuCap,Tong : LongInt; Next : ConTro; End; VAR First, Last, Newp : ConTro; Ch : Char; i : Integer; Begin ClrScr; GoToXY(5,25); Write('Bam nut bat ky de tiep tuc Bam de dung '); Window(1,1,80, 24) ; Writeln('** CHUONG TRINH... ',MemAvail,' bytes trong'); Writeln; New(p1); P1^ :=12 345 ; Writeln('-Noi dung cua bien dong P1 la: ',P1^); Writeln('-Sau khi cap phat bo nho cho bien dong P1 (kieu Integer)'); Writeln('Vung nho Heap con: ',MemAvail,' bytes trong'); Writeln; k := Sizeof(p2^); GetMem(p2,Sizeof(p2^)); P2^ :='Nha sach Minh Khai, 249 Nguyen Thi Minh Khai, Q1, Tel 8.331.1 24' ; Writeln('-Noi dung cua bien dong P2 la: ',P2^);... Do Write('*'); Writeln; Writeln; Writeln(' Bam phim de ket thuc'); Readln End 240 /Xếp loại học tập: Program Phan_loai; Var ten:String; diem:Integer; Begin Writeln('XEP LOAI HOC TAP'); Writeln(' '); Write('-Cho biet ten: '); Readln(ten); Write('-Cho biet diem: '); Readln(diem); Case diem Of 0,1,2,3 ,4: Begin Writeln('+Hoc sinh: ',ten); Writeln('+So diem : ',diem); Writeln('+Xep loai... bien dong} Writeln('-p^ = ',p^); Writeln('-q^ = ',q^); Writeln; Writeln(' Vung nho bay gio la: ',MemAvail,' bytes'); Writeln; Writeln('-Buoc 4: Giai phong vung nho '); Dispose(p); Dispose(q); Writeln; Writeln(' Vung nho bay gio la: ',MemAvail,' bytes'); Readln End 246 /Thủ tục FREEMEN & DISPOSE: Program Thu_Tuc_FreeMem_Dispose; VAR p1 : ^Integer; p2 : ^String; p3 : ^Real; k : Word; Begin Writeln('THU... Writeln(' '); Tao; Xuat; Readln END 242 /Giải thuật quicksort: Program Gt_QuickSort; Uses Crt; Const Max=1000; Type Mang = Array[1 Max] Of Integer; Var a:Mang; i:Integer; { -} Procedure Hoanvi(Var m,n : Integer); Var Tam:Byte; Begin Tam:=m; m:=n; n:=Tam; End; { -} Procedure Xuat; Var i:Integer; Begin ClrScr; For i:= 1 to Max Do Begin If i Mod 240 =0 Then Readln; Write(' ',a[i]:6,'... Writeln; Release(p); Writeln('-Sau khi Xoa cac bien dong P2 (kieu String) va P3 (kieu Real)'); Writeln('Vung nho Heap bay gio la: ',MemAvail,' bytes trong'); Readln End 249 /Danh sách vòng: Program Danh_Sach_Vong; Uses Crt; TYPE Chuoi = String[ 24] ; NodePtr = ^Node; Node = RECORD Doivien : Chuoi; Next : NodePtr; End; VAR R : NodePtr; N : Word; HeapTop : Pointer; { } Procedure Append(St :... Function Date.StrDate; Var Strdd,Strmm,Stryy : String [4] ; Begin Str(Day,Strdd); Str(Month,Strmm); Str(Year,Stryy); StrDate := Strdd + '/'+ Strmm + '/' + Stryy; End; { } BEGIN Writeln('DINH NGHIA KIEU CHA, KHONG DINH NGHIA KIEU CON'); Writeln(' Xem ngay hien hanh cua may'); Writeln(' '); Writeln; Regs.Ah := 42 ; MsDos(Regs); With Regs Do Today.Init(dl, dh, cx); Writeln('-Hom . Tam:Real; Begin Tam:=Int((m- 14. 0)/12.0); Julian:=d-32075.0+ Int( 146 1.0*(y +48 00.0+Tam) /4. 0+ Int(367.0*(m-2.0-Tam*12.0)/12.0)- Int(3.0*Int(y +49 00.00+Tam)/100.0) /4. 0) End; (* *) BEGIN {$R+} . Thư Viện Các Dạng Bài Tập Pascal của Tin Học 11 - Phần 4  Program Lam_tron; Var so:Real; le:Integer; (* *) . songay:=31; 4, 6,9,11 : songay:=30; 2 :Case nam Mod 4 Of 1,2,3 :songay:=28; 0 :songay:=29; End; End; If songay >=30 Then Writeln('+Thang:',thang:3,', nam: ',luu :4, ',

Ngày đăng: 10/05/2015, 08:00

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan