Những bài tập pascal hay

15 1.3K 16
Những bài tập pascal hay

Đ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

Bài tập pascal 11 Bài tập 1:Nhập ba số bất kỳ kiểm tra ba số vừa nhập có phải là ba cạnh của tam giác hay không? Var a , b , c : Real ; BEGIN Writeln (' Nhap do dai 3 so bat ky : ') ; Write (' a = ') ; Readln ( a ) ; Write (' b = ') ; Readln ( b ) ; Write (' c = ') ; Readln ( c ) ; If ( a + b > c ) and ( b + c > a ) and ( c + a > b ) and ( a > 0 ) and ( b > 0 ) and ( c > 0 ) Then Writeln (' Thoa man : Day la 3 canh cua mot tam giac ') Else Writeln (' Khong thoa man ! ') ; Readln ; END . Bài tập 2: Nhập vào N số cho trước đếm có bao nhiêu phần tử nằm trong khoảng 10 đến 20 Var Tong , So : Real ; I , N , Dem : Integer ; BEGIN Write (' Bao nhieu so : ') ; Readln ( N ) ; Tong := 0 ; Dem := 0 ; For I := 1 To N Do Begin Write (' So = ') ; Readln ( So ) ; If ( So > 10 ) and ( So < 20 ) Then Begin Tong := Tong + So ; Dem := Dem + 1 ; End ; End ; Writeln (' So cac so >10 va <20 la : ', Dem ) ; Writeln (' Tong cua chung la :', Tong ) ; Readln ; END. Bài tập 3: Tìm giá trị lớn nhất, nhỏ nhất trong 4 số nhập từ bàn phím Var Max , a , b , c , d : Real ; BEGIN Writeln (' Nhap gia tri cua 4 so : ') ; Write (' a = ') ; Readln ( a ) ; Write (' b = ') ; Readln ( b ) ; Write (' c = ') ; Readln ( c ) ; Write (' d = ') ; Readln ( d ) ; Max := a ; If Max < b Then Max := b ; If Max < c Then Max := c ; If Max < d Then Max := d ; Min:=a; If Min > b Then Min := b ; If Min > c Then Min := c ; If Min>d Then Min := d ; Writeln (' Gia tri lon nhat la : ', Max ) ; Writeln (' Gia tri nho nhat la : ', Min ) ; Readln ; END . Bài tập 4: Nhập ngày tháng bất kỳ chương trình tìm ngày trong tuần của ngày vừa nhập Var Thu , Ngay , Thang : Byte ; Nam : Integer ; BEGIN Write (' Doc Ngay Thang Nam : ') ; Readln ( Ngay , Thang , Nam ) ; Nam := 1900 + ( Nam mod 1900 ) ; If Thang < 3 Then Begin Thang := Thang + 12 ; Nam := Nam - 1 ; End ; Thu := Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3 div 5 + Nam + Nam div 4 ) mod 7 ; Case Thu Of 0 : Writeln ('Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Chu Nhat ') ; 1 : Writeln (''Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Thu Hai ') ; 2 : Writeln (''Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Thu Ba ') ; 3 : Writeln (' 'Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Thu Tu ') ; 4 : Writeln (' 'Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Thu Nam ') ; 5 : Writeln (' 'Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Thu Sau ') ; 6 : Writeln (' 'Ngay ‘,Ngay, ‘thang’, thang, ‘nam’ ,nam,‘la ngay Thu Bay ') ; End ; Readln ; END. Bài tập 5: chương trình nhập điểm văn, toán, ngoại nữ của học sinh, chương trình in ra màn hình giấy báo nếu tổng điểm lớn hơn 15 thì trúng tuyển, nếu không thì ghi không trúng tuyển Uses Crt ; Var SBD : Integer; Van , Toan , Ngoaingu , Tongdiem : Real ; BEGIN Clrscr ; Write (' So bao danh : ') ; Readln( SBD ) ; Write (' Diem toan : ') ; Readln( Toan ) ; Write (' Diem ngoai ngu : ') ; Readln( Ngoaingu ) ; Write (' Diem van : ') ; Readln ( Van ) ; Tongdiem := Toan + Van + Ngoaingu ; Clrscr ; Writeln (' Phieu Bao Diem ') ; Writeln (' So bao danh : ', SBD ) ; Writeln (' Diem van : ', Van ) ; Writeln (' Diem toan : ', Toan ) ; Writeln (' Diem ngoai ngu : ', Ngoaingu) ; Writeln (' Tong diem : ', Tongdiem) ; If Tongdiem >= 15 Then Writeln(' Ban da trung tuyen ') Else Writeln(' Ban khong trung tuyen ') ; Readln ; END. Bài tập 6: Nhập hai số a,b cho trước, nhập phép tính cuẩ và b,các phép tính cộng, trừ, nhân,chia Hiển thị lên màn hình kết quả của phép tính đó Uses Crt ; Var a , b , T : Real ; Pt : Char ; BEGIN Clrscr ; Write (' a = ') ; Readln( a ) ; Write (' b = ') ; Readln( b ) ; Write (' Phep tinh thuc hien la (+ - * /) : ') ; Readln( Pt ) ; If Pt = '+’ Then T := a + b ; If Pt = '-’ Then T := a - b ; If Pt = '*’ Then T := a * b ; If Pt = '/’ Then T := a / b ; Write ( a , pt , b , ' = ', T ) ; Readln ; END. Bài tập 7: Chương trình giải phương trình bậc 2 Uses Crt; Var m , Delta : Real ; BEGIN Clrscr; Write (' m = ') ; Readln( m ) ; Delta := sqr( m-2 ) - 4 ; If Delta < 0 Then Writeln(' Phuong trinh vo nghiem ') Else Begin If Delta = 0 Then Writeln(' Phuong trinh co nghiem kep X= ', -( m - 2 ) / 2 ) Else Begin Writeln(' Phuong trinh co 2 nghiem : ') ; Writeln (' X1 = ', ( -(m-2) + sqrt(delta) ) / 2 ) ; Writeln (' X2 = ', ( -(m-2) - sqrt(Delta) ) / 2 ) ; End ; End ; Readln ; END. Bài tập 8: Chương trình nhập từ bàn phím các ký tự chương trình đếm số lần xuất hiện của mỗi ký tự Uses Crt ; Var a : Array[ 'A' 'Z' ] of integer; ch : char ; i : byte ; BEGIN Clrscr ; For ch :='A' to 'Z' Do a[ch] := 0 ; Writeln (' Go phim 50 lan ') ; For i := 1 To 50 Do Begin ch :=Readkey ; ch := Upcase(ch) ; a[ch] := a[ch] + 1 ; End; Writeln (' So lan xuat hien cac ki tu la :') ; For ch :='A' to 'Z' do If a[ch] > 0 Then Writeln (ch , a[ch] : 4 , ' lan . '); Readln ; END. Bài tập 9: Chương tình tính tổng S:=1+1/1+1/2+1/3+1/4+1/5+….1/n Uses Crt ; Var i , n : Integer ; tong: Real ; BEGIN Clrscr ; Write (' Cho so tu nhien n : ') ; Readln (n) ; tong :=0 ; i :=1 ; While i <= n Do Begin tong := tong + 1/i ; i := i + 1 ; End ; Writeln (' Tong can tim la : ', tong:12:6 ) ; Readln ; END. Bài tập 10: Bài toán tính a mũ n Uses Crt ; Var i , n : Integer ; a , giatri : Real ; BEGIN Clrscr ; Write (' Cho so a : ') ; Readln(a) ; Write (' Cho so mu n : ') ; Readln(n) ; i := 1 ; giatri := 1 ; While i <= n Do Begin giatri := giatri * a ; i:= i+1 ; End ; Writeln(' a mu n bang : ', giatri ) ; Readln ; END. Bài tập 11 : Sắp xếp các phần tử trong mảng cho trước uses crt; var a: array[1 100] of integer; var i,n,j, tg,max, vt : integer; begin clrscr; write(' nhap so phan tu cua mang '); readln(n); writeln(' moi nhap cac phan tu cua mang '); for i:= 1 to n do begin write('A', i,']= '); readln(a[i]); end; Max:=a[1]; vt:=1; For i:=1 to n do begin If A[i]>max then Begin Max:=a[i]; vt:=i; End; end; Writeln('gia tri lon nhat la ', max, ' nam o vi tri thu ' ,vt); 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; writeln(' day sau khi sap xep la '); for i:=1 to n do write(' ', a[i]); readln; end. Bài tập 12: Nhập xâu cho trước kiểm tra có phải xâu đối xứng hay không? Uses Crt; Var St : string; dx : Boolean; i, len: byte; BEGIN Clrscr; Write(' Nhap xau St = '); Readln(St); dx:= True; i:=1; len:= Length(St); While dx and (i<=(len div 2)) do Begin dx:=(St[i] = St[len - i+1]); inc(i); End; If dx then Write(' St la xau doi xung ') Else Write(' St khong phai la xau doi xung ') ; Readln; END. Bài tập 13: Chương trình nhập vào họ tên của một người sau đó xóa hết ký tự trắng dư thừa Uses crt; Const Chu=['a' 'z']; Var Hoten: string; i,len: byte; BEGIN Clrscr; Write('Ho ten='); Readln(Hoten); Len:=length(Hoten); If Hoten[1] in Chu then Hoten[1]:=Upcase(Hoten[1]); For i:=2 to len do If (Hoten[i-1]=#32)and(Hoten[i] in Chu) then Hoten[i]:=Upcase(Hoten[i]); Write('Ho ten sau khi dieu chinh la: ', Hoten); Readln; END. Bài tập 14: Chương trình nhập tệp tin và tính số phần tử tệp vừa nhập Uses Crt; Type Tap=set of 0 99; Const inp='Number.dat'; Var S : Tap; i : byte; Procedure Nhap; Var a: byte; f: text; Begin S:=[]; Assign(f,inp); Reset(f); While not SeekEoF(f) do begin Readln(f,a); If (a>=0)and(a<=99) then S:=S+[a]; End; Close(f); End; Function Card(S: Tap): byte; Var i,n: byte; Begin n:=0; For i:=0 to 99 do If i in S then Inc(n); Card:=n; End; BEGIN Nhap; Clrscr; Write('Tap S co ',Card(S),' phan tu.'); Readln; END. Bài tập 15: Chương trình nhập danh sách học sinh gồm Họ tên, tuổi, lớp của học sinh,in ra danh sách vừa nhập Uses Crt; Const n=15; Type Danhsach=record holot: string[25]; ten: string[10]; tuoi: 0 99; lop: string[3]; End; Var ds: array [1 n] of Danhsach; i : byte; BEGIN ClrScr; Writeln('Hay nhap danh sach hoc sinh : '); Writeln; For i:=1 to n do Begin Writeln('Thong tin hoc sinh thu ',i); Write('Cho ho lot : '); Readln(ds[i].holot); Write('Cho ten : '); Readln(ds[i].ten); Write('Cho tuoi : '); Readln(ds[i].tuoi); Write('Cho lop : '); Readln(ds[i].lop); Writeln; End; Writeln('Danh sach hoc sinh :'); For i:=1 to n do With ds[i] do Writeln(holot:20,ten:10,tuoi:4,lop:5); Writeln; Write('Bam Enter de ket thuc .'); Readln; END. Bài tập 16: Chương trình nhập danh sách học sinh gồm Họ tên, tuổi, lớp. Chương trình in ra danh sách sau khi sắp xếp theo thứ tự tăng dần. Uses Crt; Const n=5; Type Danhsach=record holot: string[25]; ten: string[10]; tuoi: 0 99; lop: string[3]; End ; Var ds: array [1 20] of Danhsach; i,j: byte; f: file of Danhsach; Procedure Doi(i,j: byte); Var tg: Danhsach; Begin tg:=ds[i]; ds[i]:=ds[j]; ds[j]:=tg; End; BEGIN ClrScr; Writeln('Nhap danh sach hoc sinh tu file data.dat : '); Writeln; Assign(f,'data.dat'); Reset(f); For i:=1 to n do Read(f,ds[i]); Close(f); For i:=1 to n-1 do For j:=i+1 to n do begin If (ds[i].ten>ds[j].ten) then Doi(i,j) Else If (ds[i].ten=ds[j].ten)and(ds[i].holot>ds[j].holot) then Doi(i,j); end; Writeln('Danh sach hoc sinh:'); For i:=1 to n do With ds[i] do Writeln(holot:20,ten:11,tuoi:4,lop:5); Writeln; Write('Bam Enter de ket thuc .'); Readln; END. Bài tập 17: Thông tin về mỗi học sinh là một bản ghi gồm các trường : Họđệm : một xâu 25 kí tự . Tên : một xâu 10 kí tự . Tuổi : một số nguyên hai chữ số . Lớp : một xâu hai chữ số và một chữ cái viết hoa Một file bản ghi chứa một danh sách một lớp gồm 20 học sinh . Hãy lập chương trình hiển thị danh sách lên màn hình , mỗi người một dòng. Uses Crt; Const n=5; Type Danhsach=record holot: string[25]; ten: string[10]; tuoi: 0 99; lop: string[3]; end; Var ds: Danhsach; i: byte; f: file of Danhsach; BEGIN ClrScr; Writeln('Danh sach hoc sinh tu file bai2.dat'); Writeln; Assign(f,'bai2.dat'); Reset(f); For i:=1 to n do Begin Read(f,ds); With ds do Writeln(holot:20,ten:11,tuoi:4,lop:5); End; Close(f); Writeln; Write('Bam Enter de ket thuc .'); Readln; END . Bài tập 18: Một file bản ghi chứa một danh sách học sinh , thông tin về mỗi học sinh giống như bài trên . Hãy lập chương trình tạo một file bản ghi khác chứa danh sách đó , mỗi bản ghi gồm các trường : Họtên : một xâu 35 kí tự . Tuổi : một số nguyên hai chữ số . Khối : một số nguyên hai chữ số . Lớp : một chữ cái viết hoa Uses Crt; Type Danhsach1=record holot: string[25]; ten: string[10]; tuoi: 0 99; lop: string[3]; End; Danhsach2=record hoten: string[35]; tuoi: byte; khoi: byte; lop: char; End; Var ds1 : Danhsach1; ds2 : Danhsach2; f1 : file of Danhsach1; f2 : file of Danhsach2; c : integer; BEGIN ClrScr; Writeln('Ghi tu file bai3.dat sang bai3n.dat:'); Writeln; Assign(f1,'bai3.dat'); Reset(f1); Assign(f2,'bai3n.dat'); Rewrite(f2); While not Eof(f1) do Begin Read(f1,ds1); With ds1 do Begin ds2.hoten:=holot+ten; val(copy(lop,1,2),ds2.khoi,c); ds2.tuoi:=tuoi; ds2.lop:=UpCase(lop[3]); Write(f2,ds2); End; End; Close(f1); Close(f2); Writeln; Writeln('Bam Enter de ket thuc!'); Readln; END. Bài tập 19: Một file bản ghi chứa một danh sách học sinh PTTH , thông tin về mỗi học sinh ngoài các trường Họđệm , Tên , Tuổi , Lớp giống như các bài trên còn có thêm trường Điểm chứa điểm trung bình của học sinh trong năm học . Hãy lập chương trình : a. Hiển thị lên màn hình danh sách những học sinh giỏi nhất của trường là những bạn có điểm trung bình từ 8.0 trở lên và cao nhất trong khối . b. Lập danh sách học sinh trong năm học mới , biết một học sinh có điểm trung bình từ 5.0 trở lên thì được lên lớp . Chú ý : lớp 10A lên lớp 11A , lớp 11A lên 12A . Kết quả chứa trong file . Uses Crt; Type Danhsach=record holot: string[25]; ten: string[10]; tuoi: 0 99; lop: string[3]; diem: real; End; Var ds: array [1 100] of Danhsach; f: file of Danhsach; n: integer; Procedure Nhap; Begin Assign(f,'bai4.dat'); Reset(f); n:=0; While not Eof(f) do Begin n:=n+1; Read(f,ds[n]); End; Close(f); End; Procedure Timgioi; Var i: integer; max10,max11,max12: real; l: string; Begin max10:=0; max11:=0; max12:=0; [...]... Readln; END Bài tập 20: Cho file bản ghi f chứa dữ liệu về kho sách , dữ liệu về mỗi cuốn sách được chứa trong một bản ghi gồm 3 trường mang thơng tin về : Họ tên tác giả : một xâu 26 kí tự Tên sách : một xâu 40 kí tự Năm xuất bản : một số ngun 4 chữ số Hăy lập chương trình nhập dữ liệu vào kho sách , sau đó tìm ra : Những cuốn sách của một tác giả cho trước xuất bản vào một năm cho trước Những cuốn... END 3: Viết chương trình thực hiện lần lượt các cơng việc sau : _ _ _ _ _ Lập thủ tục nhập ba số thực dương a , b , c từ bàn phím Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay khơng ? Viết thủ tục tính diện tích của tam giác Viết thủ tục tính các trung tuyến của tam giác Viết hồn thiện chương trình chính Uses Crt; Var a, b, c: real ; (*================================*) . Bài tập pascal 11 Bài tập 1:Nhập ba số bất kỳ kiểm tra ba số vừa nhập có phải là ba cạnh của tam giác hay không? Var a , b , c. Writeln (' Tong can tim la : ', tong:12:6 ) ; Readln ; END. Bài tập 10: Bài toán tính a mũ n Uses Crt ; Var i , n : Integer ; a , giatri : Real

Ngày đăng: 01/11/2013, 06:11

Hình ảnh liên quan

Bài tập 5: chương trình nhập điểm văn, tốn, ngoại nữ của học sinh, chương trình in ra màn hình - Những bài tập pascal hay

i.

tập 5: chương trình nhập điểm văn, tốn, ngoại nữ của học sinh, chương trình in ra màn hình Xem tại trang 2 của tài liệu.
Hiển thị lên màn hình kết quả của phép tính đĩ Uses Crt ;  - Những bài tập pascal hay

i.

ển thị lên màn hình kết quả của phép tính đĩ Uses Crt ; Xem tại trang 3 của tài liệu.
Kết quả hiện trên màn hình Uses Crt; - Những bài tập pascal hay

t.

quả hiện trên màn hình Uses Crt; Xem tại trang 12 của tài liệu.

Từ khóa liên quan

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

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

Tài liệu liên quan