Chương trình con gồm có: (chọn câu trả lời đúng nhất)
A. Hằng và biến
B. Hàm và hằng
C. Hàm và thủ tục
D. Thủ tục và biến
1- Viết chương trình con tính diện tích hình tròn bán kính R ( sử dụng thủ tục hoặc hàm)
2- Viết chương trình con tính diện tích tam giác khi biết đáy và chiều cao nhập từ bàn phím.( sử dụng 1 thủ tục hoặc hàm để tính diện tích)
3- Viết chương trình con tính diện tích tam giác với độ dài các cạnh nhập từ bàn phím.(sử dụng 1 thủ tục hoặc hàm )
1:
function dt(r:real):real;
begin
dt:=sqr(r)*pi;
end;
2:
function dt(a,b:real):real;
begin
dt:=1/2*a*b;
end;
3:
function dt(a,b,c:real):real;
var p,s:real;
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
dt:=s;
end;
2. Sử dụng hàm và thủ tục để viết chương trình tính tổng các số chẵn, lẻ trong xâu
Em xây dựng một số chương trình con để tính tổng dãy số nguyên từ a1, a2,...an, n và các số được nhập từ bàn phím, viết thủ tục nhập và hàm tổng
program nhap_tinhtong;
uses crt;
type kmang=array[1..1000] of integer;
var A:kmang;
n:integer;
{---Nhap---}
procedure nhap;
var i:integer;
begin
write('Nhap n: '); readln(n);
for i:=1 to n do
begin
write('A[',i,']= '); readln(A[i]);
end;
end;
{---Tinh-tong---}
function tinh_tong(A:kmang; n:integer):integer;
var t,i:integer;
begin
t:=0;
for i:=1 to n do
t:=t+A[i];
tinh_tong:=t;
end;
{---CT-chinh---}
BEGIN
clrscr;
nhap;
write('Tong cac phan tu la: ',tinh_tong(A,n));
readln;
end.
program nhap_tinhtong;
uses crt;
type kmang=array[1..1000] of integer;
var A:kmang;
n:integer;
{---Nhap---}
procedure nhap;
var i:integer;
begin
write('Nhap n: '); readln(n);
for i:=1 to n do
begin
write('A[',i,']= '); readln(A[i]);
end;
end;
{---Tinh-tong---}
function tinh_tong(A:kmang; n:integer):integer;
var t,i:integer;
begin
t:=0;
for i:=1 to n do
t:=t+A[i];
tinh_tong:=t;
end;
{---CT-chinh---}
BEGIN
clrscr;
nhap;
write('Tong cac phan tu la: ',tinh_tong(A,n));
readln;
end.
BT_04_01: Viết chương trình con tính chu vi và diện tích của hình chữ nhật.
Giải: Ta thấy rằng chương trình con tính chu vi, diện tích của hình chữ nhật nhất định phải có tham số đầu vào là 2 cạnh, đó là 2 tham trị. Nếu ta viết chương trình con là thủ tục thì kết quả phải lưu bằng một tham biến để đưa ra. Đặt tên các thủ tục là chu_vi, dien_tich ta cài đặt như sau:
procedure Chu_vi(a,b : real; var c : real);
begin
C := 2*(a+b);
end;
{=================================}
procedure Dien_tich(a,b : real; var d : real);
begin
d := a*b;
end;
Tuy nhiên kết quả ra là kiểu thực, là kiểu mà hàm có thể trả lại nên ta có thể cài đặt 2 chương trình con trên bằng hàm như sau:
function Chu_vi(a,b : real): real;
Begin
Chu_vi := 2*(a+b);
end;
{=================================}
function Dien_tich(a,b : real): real;
begin
Dien_tich := a*b;
end;
Viết chương trình tính giá trị biểu thức sau
T=a!+b!+(a-b)!
Với a,b nguyên dương (a>b) được nhập vào từ bàn phím. Chương trình có sử dụng chương trình con hàm hoặc thủ tục
Program HOC24;
var t: longint;
a,b: integer;
function gt(x: integer): longint;
var i: integer; tich: longint;
begin
tich:=1;
for i:=1 to n tich:=tich*i;
gt:=tich;
end;
begin
write('Nhap a: '); readln(a);
write('Nhap b: '); readln(b);
t:=gt(a)+gt(b)+gt(a-b);
write('T = ',t);
readln
end.
Bài tập chương trình con: (procedure và function) Bài 1: Viết hàm tính n giai thừa của một số nguyên dương (n!) Bài 2: Viết hàm tính tổng các số lẻ chia hết cho 5 từ 1 đến n Bài 3: Viết thủ tục thực hiện việc hoán đổi 2 giá trị của a và b
Tìm phát biểu sai trong các phát biểu sau:
A) Một thủ tục trong Logo có ba phần: tên thủ tục, thân thủ tục và kết thúc thủ tục.
B) Một thủ tục phải có tên.
C) Thân thủ tục phải có ít nhất một lệnh
D) Một thủ tục phải có phần kết thúc (là từ end).
Hãy bắt đầu một phiên làm việc mới: Khởi động Logo, mở một tệp chương trình chứa các thủ tục đã viết (ví dụ tệp Baihoc2.lgo) bằng cách chọn File -> Load… và tìm tệp trong cửa sổ Open. Xem nội dung và cách sắp xếp các thủ tục trong tệp này bằng cách nháy nút lệnh Edall. Viết thêm một thủ tục mới, thực hiện thủ tục này và ghi lại tệp với tên cũ.
Sử dụng ngôn ngữ lập trình viết chương trình thực hiện các công việc sau:
1. Viết thủ tục nhập vào mảng A là điểm toán của n học sinh
2. Viết thủ tục xuất mảng A đã được sắp xếp lên màn hình
3. Viết hàm tính Tổng điểm của n học sinh trên
4. Viết thủ tục hoán vị trí điểm giữa các học sinh
5. Hoàn thành chương trình chính với số điểm được sắp xếp theo thứ tự tăng dần
Mình viết chương trình chính thôi, bạn tự viết chương trình con nhé
uses crt;
var a:array[1..100]of integer;
i,n,t,tam,j:integer;
begin
clrscr;
write('Nhap n=');readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln('Tong diem cua ',n,' ban la: ',t);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
for i:=1 to n do
write(a[i]:4);
readln;
end.
Cho hàm số y=f(x) xác định R ∖ {1}và liên tục trên và có bảng biến thiên như hình dưới đây
Hãy chọn khẳng định đúng
A. Hàm số có 3 cực trị
B. Hàm số đạt cực đại tại x=-1, cực tiểu tại x=0
C. Hàm số đạt cực đại tại x= ± 1, cực tiểu tại x=0
D. Hàm số có giá trị lớn nhất bằng 1 và giá trị nhỏ nhất bằng -1