Bài 2 : Đọc chương trình con sau đây và cho biết mục đích của đọan chương trình này.. Viết chương trình chính có câu lệnh gọi chương trình con này, khai báo thêm các biến và sửa lỗi nếu
Trang 1ÔN TẬP HK II TIN HỌC 11
Bài 1: Đọc chương trình sau đây và cho biết kết quả hiện trên màn hình
Program bai1;
Uses crt;
Var a,b:integer;
Procedure p(var x:integer; y:integer);
Begin
writeln(x,’ ‘,y);
x := x * x;
y:= y *10 ; writeln(x, ‘ ‘ ,y);
end;
begin
clrscr;
a := 1;
b:=10;
p (a,b);
writeln(x,’ ’,y);
readln
end
Bài 2 : Đọc chương trình con sau đây và cho biết mục đích của đọan chương trình này Viết chương trình chính có câu lệnh gọi chương trình con này, khai báo thêm các biến và sửa lỗi nếu cần.
Program bai2;
Uses crt;
Type xau=string[25];
Mang=array[1 100] of xau;
Var M: mang;
Procedure nhapM(var ten:mang);
Begin
write(‘Nhap so phan tu thuc su cua mang(<=100):’);
readln(spt);
while(spt <0) or (spt >100) do
begin
write(‘Nhap so phan tu cua mang (<=100):’):
readln(spt):
end;
Trang 2for i:= 1 to spt do
begin
write(‘Nhap xau thu : ‘ , i , ‘:’);
readln(ten[i]);
end;
end;
Bài 3: Viết chương trình có sử dụng hàm chuyển một xâu kí tự sang chữ
hoa.
function viethoa(st:string):string;
var i : integer;
st1 : string;
begin
st1:=’’;
for i:=1 to length(st) do
st1:=st1 + upcase(st[i]);
viethoa:=s1;
end;
Bài 4 : Viết chương trình có sử dụng hàm tính tiền điện Nếu số KW tiêu thụ <= 100 có giá 500 đồng Trên 100 thì có giá 1000 đồng.
Function tinhtien(tieuthu : longint):longint;
Begin
If tieuthu > 100 then
Tinhtien : = 500 * 100 + (tieuthu -100) * 1000 Else
Tinhtien : = tieuthu * 500;
End;
Bài 5 : Viết chương trình có sử dụng hàm tính tổng các số chẵn từ x đến y
Function tong(x,y : longint):longint;
Var i : longint;
Begin
Tong:=0;
For i:=x to y do
If (i mod 2 =0) then
Tong:=tong + i;
End;
Trang 3II) MẢNG HAI CHIỀU (MA TRẬN)
Bài 1 :Tính trung bình cộng các số âm của mảng hai chiều có n x m phần tử nguyên.
Tong := 0;
Dem:= 0 ;
For i: =1 to n do
For j : =1 to m do
If a[i,j] < 0 then
Begin
Tong:= tong + a[i,j];
Dem : =dem + 1;
End;
TBC : = tong / dem;
Bài 2 : Tính trung bình cộng các số chẵn trong mảng hai chiều có n x m phần tử nguyên.
Thay điều kiện ở bài 1 :
If (a[i,j] mod 2 =0) then
Bài 3 : Tính tích các số chẵn trong mảng hai chiều có n x m phần tử
nguyên.
Tich : =1;
For i: =1 to n do
For j := 1 to m do
If (a[i,j] mod 2 =0 ) then
Tich :=tich *a[i,j];
Bài 4 :Đếm các phần tử có giá trị trong phạm vi từ 5 đến 20 trong mảng hai chiều có n x m phần t ử nguyên.
Dem : =0 ;
For i:=1 to n do
For j:= 1 to m do
If (a[i,j] > = 5) and (a[i,j] < =20) then
Dem : =dem +1;
Bài 5 : Tìm phần tử có giá trị nhỏ nhất và vị trí của các phần tử đó trong mảng hai chiều có n x m phần tử thực.
Min := a[1,1];
For i: =1 to n do
For j:=1 to m do
If a[i,j] < min then
Min := a[i,j];
Writle(‘gia tri nho nhat la : ’, min :3 :1);
For i: =1 to n do
For j := 1 to m do
Trang 4If a[i,j] = min then
Writeln(‘hang ’, i, ‘ cot’, j);