[r]
(1)ÔN TẬP KIỂM TRA HKII
Bài 1: Cho xâu S có độ dài khơng q 100 kí tự, thực hiện: in xâu chứa kí tự số.
Yêu cầu: Dữ liệu đọc vào từ tệp Xau.int; kết ghi vào tệp Xau.out Program b1;
var S, P: string [100]; f1, f2: text;
i: integer; begin
assign (f1, ‘Xau.int’); reset (f1);
read (f1, S); P:=’’;
For i:= to legnth (S)
If (S[i] > ‘0’) and (S[i] <= ‘9’) then P:= P + S [i];
Assign (f2, ‘Xau.out’); Rewrite (f2);
Writeln (f2, P); Close (f1); Close (f2); Readln End
Bài 2: Cho xâu S dài khơng q 30 kí tự a) Đếm số lần xuất kí tự ‘k’
b) Thay kí tự ‘k’ kí tự ‘e’ (Làm việc với tệp) Program b2;
Var f1, f2: text; S: string [30]; i, x, D, tim: integer; begin
assign (f1, ‘bandau.pas’); reset (f1);
read (f1, S); x:= length (S); D:= 0;
For i:= to x if S[i] = ‘k’ then D:= D + 1; While pos (‘k’, S) <>
Begin
(2)Assign (f2, ‘lucsau.pas’); Rewrite (f2);
Writeln (f2, D); Writeln (f2, S); Close (f1); Close (f2); Readln End
Viết chương trình có sử dụng chương trình thực hiện:
Bài 1: Tính tổng:
S =
2
4 2
3 2
2 n
* Hàm:
Program tong; Var n: integer;
Function tinh(a: integer): real; Var T: real;
i: integer; begin
T:= 0;
For i:= to a
T:= T + a*(2/sqrt(2)); Tinh:= T;
End; Begin
Write (‘Cho gia tri n = ‘); readln (n); Write (tinh(n));
Readln End * Thủ:
Program tong; Var n: integer;
Procedure tinh (b: integer); Var S: real;
i: integer; begin
S:= 0;
For i:= to b
S:= S + a * (2/sqrt(2)); Writeln (‘Tong bang: ‘,S); End;
(3)Tinh (n); Readln End
Bài 2: Tính tổng số nguyên a, b nhập vào từ bàn phím Program B2;
Var a, b: integer;
Function Tong(x, y: integer): integer; Var S: integer;
Begin
S:= x + y; Tong:= S; End;
Begin
Write (‘Cho so nguyen: ‘); Readln (a, b);
Writeln (Tong (a, b)); Readln
End
Bài : Tính chu vi, diện tích hình trịn với bán kính nhập từ bàn phím. Program hinhtron;
Var r: real;
Function chuvi(d: real): real; Const pi:= 3.14;
Var P: real; Begin
P:= * pi * d; Chu vi:= P; End;
Function dientich(x: real): real; Const pi:= 3.14;
Var S: real; Begin
S:= x * x * pi; Dientich:= S; End;
Begin
Write (‘Cho gia tri ban kinh: ‘,r); readln (r); Writeln (Chu vi (r));
(4)Bài : Tính tổng luỹ thừa: S = am + bn + cp + dq
Program b4;
Var tonglt: integer;
Function lthua(x, k: integer): integer; Var i, LT: integer;
Begin
LT:= 1;
For i:= to k LT:= LT * x; Lthua:= LT;
End; Begin
Write (‘Cho cac gia tri: ‘); Readln (a, b, c, d, m, n, p, q);
Tonglt:= lthua (a, m) + lthua (b, n) + lthua (c, p) + lthua (d, q); Writeln (‘Tong luy thua bang : ‘,Tonglt);
Readln End
Bài 5: Tính chu vi, diện tích hình vng với độ dài cạnh nhập từ bàn phím. Program hinhvuong;
Var a: real;
Procedure Chuvi (x: real); Var C: real;
Begin C:= x * 4;
Writeln (‘Chu vi hinh vuong bang: ‘, C); End;
Function Dientich(y: real): real; Var D: real;
Begin D:= y * y; Dientich:= D; End;
Begin
Write (‘Cho dai canh: ‘); readln (a); Chu vi (a);
Writeln (Dientich(a)); Readln
(5)Bài 6: Cho mảng gồm 100 phần tử thuộc kiểu số nguyên a) Đếm xem có phần tử lẻ?
b) Tính trung bình cộng phần tử chẵn? Program b6;
Type mang = array [1 100] of integer; Var X: mang;
Procedure Tinh(A: mang; n: integer); {Bắt đầu câu a} Var i, D: integer;
Begin D:= 0;
For i:= to n
If A[i] mod <> then D:= D + 1; Writeln (D);
End;
Function tim(B: mang; n: integer): real; {Bắt đầu câu b} Var S, T, i: integer;
Tbc: real; Begin
S:= 0; T:= 0; For i:=1 to n
If B[i] mod = then Begin
S:= S + B[i]; T:= T + 1; End;
Tbc:= S / T; Tim:= Tbc; End; Begin
Write (‘Nhap so phan tu: ‘); readln(n); For i:= to n
Begin
Write (‘Nhap phan tu thu ‘,i,’:’); Readln (X[i]);
End;
Tinh (X, n);
Writeln (Tim(X, n)); Readln
(6)Bài 7: Tính tổng: S = 1n
1
Program b7; Var n: integer;
Function tong (a: integer): real; Var i: integer;
S: real; Begin S:= 0;
For i:=1 to a S:= S + a/sqrt(i); Tong:= S;
End; Begin
Write (‘Nhap gia tri n bang: ‘); readln (n); Writeln (Tong (n));
Readln End
Bài 8: Tìm số lớn ba số a, b, c cho trước. Program maxbaso;
Var a, b, c: real;
Function max(a, b: real): real; Begin
If a>b then max:=a else max:=b; End;
Begin
Write (‘Nhap vao so: ‘); Readln (a, b, c);
Writeln (‘So lon nhat so la: ‘, max (max(a, b), c)); Readln