Bai tap ve chuong trinh con( co loi giai)
Chia sẻ bởi Doãn Thế Anh Tuấn |
Ngày 14/10/2018 |
26
Chia sẻ tài liệu: bai tap ve chuong trinh con( co loi giai) thuộc Tư liệu tham khảo
Nội dung tài liệu:
ĐỀ BÀI
Bài 1 :
Dùng thủ tục chuyển một số tự nhiên n cho trước sang hệ cơ số 2 .
Bài 2 :
Dùng thủ tục giải phương trình bậc hai ax2 + bx + c = 0
Bài 3 :
Hãy viết lại thủ tục Insert đối với một chuỗi kí tự cho trước tùy ý .
Bài 4 :
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 hoàn thiện chương trình chính .
Bài 5 :
Giải phương trình x + y + z = 12 trong phạm vi số nguyên không âm với điều kiện x < 4 .
Bài 6 :
Cho trước các số N , a , b , c tự nhiên . Giải phương trình sau trong phạm vi số nguyên không âm x + y + z = N với điều kiện x < a , y < b , z < c .
Bài 7 :
Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) thực hiện công việc sau : so sánh hai xâu S1 và S2 , tìm tất cả các kí tự có trong cả hai xâu trên . Xâu Kq sẽ chứa tất cả các kí tự đó , mỗi kí tự chỉ được nhớ một lần .
Bài 8 :
Viết hàm tính D (St1 , St2) , với U, V là hai xâu kí tự bất kì , là tổng số các kí tự không giống nhau trong hai xâu trên , mỗi loại kí tự chỉ được nhớ một lần . Ví dụ D (‘aabba’ , ‘bcdd’) = 2 vì chỉ có hai kí tự a và d là không giống nhau trong các xâu trên .
Bài 9 :
Viết chương trình hoàn chỉnh thực hiện các công việc của thực đơn sau :
1. Nhập dữ liệu ( nhập số tự nhiên n ) .
2. Phân tích ra thừa số nguyên tố ( phân tích n thành tích các số nguyên tố ) .
3. Thoát khỏi chương trình .
BÀI GIẢI
Bài 1 :
Dùng thủ tục chuyển một số tự nhiên n cho trước sang hệ cơ số 2 .
Procedure Change ( n : integer ; Var St : String ) ;
(* thủ tục chuyển số tự nhiên n cho trước sang
hệ cơ số 2 và được lưu ở trong xâu St *)
Type
b : Array[0 .. 1] Of Char = (`0` , `1`) ;
Var
du , So : Integer ;
S : String ;
Begin
S := `` ; (* xâu rỗng *)
So := n ;
Repeat
Du := So mod 2 ;
So :=So div 2 ;
S := b[du] + s ;
Until So = 0 ;
St := S ;
End ;
Bài 2 :
Dùng thủ tục giải phương trình bậc hai ax2 + bx + c = 0
Uses Crt ;
Var a, b, c, x1, x2: real;
(*================================*)
Procedure Nhapabc(var aa,bb,cc: real);
Begin
Write(`a=`); Readln(aa);
Write(`b=`); Readln(bb);
Write(`c=`); Readln(cc);
End;
(*=================================*)
Procedure GPTB2;
Var Delta: real;
Begin
Delta:=sqr(b)-4*a*c;
If Delta<0 then writeln(`phuong trinh vo nghiem.`)
Else
If Delta=0 then
Begin
Write(`Phuong trinh co nghiem kep : `);
Write(`x1,2=`,-b/(2*a):8:2);
End
Else
Begin
x1:=(-b+sqrt(Delta))/(2*a);
x2:=(-b-sqrt(Delta))/(2*a);
Writeln(`Phuong trinh co 2 nghiem phan biet la :`);
Writeln(`X1=`,x1:8:2, `X2=`,x2:8:2);
End;
End;
(*================================*)
BEGIN (* CT chính *)
Clrscr;
Writeln(` Giai Phuong Trinh Bac Hai Voi Cac He So :`);
Nhapabc(a,b,c);
If a<>0 then GPTB2
Else Writeln(` Khong phai phuong trinh bac hai `);
Readln ;
END .
Bài 3 :
Hãy viết lại thủ tục Insert đối với một chuỗi kí tự cho trước tùy ý .
Procedure Insert ( St1 : String ; Var St2 : String ;Vt : Byte
Bài 1 :
Dùng thủ tục chuyển một số tự nhiên n cho trước sang hệ cơ số 2 .
Bài 2 :
Dùng thủ tục giải phương trình bậc hai ax2 + bx + c = 0
Bài 3 :
Hãy viết lại thủ tục Insert đối với một chuỗi kí tự cho trước tùy ý .
Bài 4 :
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 hoàn thiện chương trình chính .
Bài 5 :
Giải phương trình x + y + z = 12 trong phạm vi số nguyên không âm với điều kiện x < 4 .
Bài 6 :
Cho trước các số N , a , b , c tự nhiên . Giải phương trình sau trong phạm vi số nguyên không âm x + y + z = N với điều kiện x < a , y < b , z < c .
Bài 7 :
Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) thực hiện công việc sau : so sánh hai xâu S1 và S2 , tìm tất cả các kí tự có trong cả hai xâu trên . Xâu Kq sẽ chứa tất cả các kí tự đó , mỗi kí tự chỉ được nhớ một lần .
Bài 8 :
Viết hàm tính D (St1 , St2) , với U, V là hai xâu kí tự bất kì , là tổng số các kí tự không giống nhau trong hai xâu trên , mỗi loại kí tự chỉ được nhớ một lần . Ví dụ D (‘aabba’ , ‘bcdd’) = 2 vì chỉ có hai kí tự a và d là không giống nhau trong các xâu trên .
Bài 9 :
Viết chương trình hoàn chỉnh thực hiện các công việc của thực đơn sau :
1. Nhập dữ liệu ( nhập số tự nhiên n ) .
2. Phân tích ra thừa số nguyên tố ( phân tích n thành tích các số nguyên tố ) .
3. Thoát khỏi chương trình .
BÀI GIẢI
Bài 1 :
Dùng thủ tục chuyển một số tự nhiên n cho trước sang hệ cơ số 2 .
Procedure Change ( n : integer ; Var St : String ) ;
(* thủ tục chuyển số tự nhiên n cho trước sang
hệ cơ số 2 và được lưu ở trong xâu St *)
Type
b : Array[0 .. 1] Of Char = (`0` , `1`) ;
Var
du , So : Integer ;
S : String ;
Begin
S := `` ; (* xâu rỗng *)
So := n ;
Repeat
Du := So mod 2 ;
So :=So div 2 ;
S := b[du] + s ;
Until So = 0 ;
St := S ;
End ;
Bài 2 :
Dùng thủ tục giải phương trình bậc hai ax2 + bx + c = 0
Uses Crt ;
Var a, b, c, x1, x2: real;
(*================================*)
Procedure Nhapabc(var aa,bb,cc: real);
Begin
Write(`a=`); Readln(aa);
Write(`b=`); Readln(bb);
Write(`c=`); Readln(cc);
End;
(*=================================*)
Procedure GPTB2;
Var Delta: real;
Begin
Delta:=sqr(b)-4*a*c;
If Delta<0 then writeln(`phuong trinh vo nghiem.`)
Else
If Delta=0 then
Begin
Write(`Phuong trinh co nghiem kep : `);
Write(`x1,2=`,-b/(2*a):8:2);
End
Else
Begin
x1:=(-b+sqrt(Delta))/(2*a);
x2:=(-b-sqrt(Delta))/(2*a);
Writeln(`Phuong trinh co 2 nghiem phan biet la :`);
Writeln(`X1=`,x1:8:2, `X2=`,x2:8:2);
End;
End;
(*================================*)
BEGIN (* CT chính *)
Clrscr;
Writeln(` Giai Phuong Trinh Bac Hai Voi Cac He So :`);
Nhapabc(a,b,c);
If a<>0 then GPTB2
Else Writeln(` Khong phai phuong trinh bac hai `);
Readln ;
END .
Bài 3 :
Hãy viết lại thủ tục Insert đối với một chuỗi kí tự cho trước tùy ý .
Procedure Insert ( St1 : String ; Var St2 : String ;Vt : Byte
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Doãn Thế Anh Tuấn
Dung lượng: 81,50KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)