Thông tin tài liệu
CHƯƠNG 6: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC THỦ TỤC HÀM Bài 1:Viết thủ tục để nhập 1 xâu từ bàn phím rồi xuất xâu ra n lần: Program Loichao; var s:string[50]; n:byte; Procedure Xuatxau(xau:string;m:byte); Var i:byte; {******************} Begin for i:=1 to m do Writeln(xau); End; {******************} BEGIN Write('Nhap xau: ');readln(s); Write('Nhap so lan xuat ra:');readln(n); {Goi thu tuc} xuatxau(s,n); readln END. Bài 2: Viết thủ tục vẽ 1 hình chữ nhậtcó dạng: * * * * * * * * * * * * * * Bài 3a: Viết thủ tục tính tổng của 2 số được nhập từ bàn phím. Áp dụng: Tính giá trị biểu thức (a+b) 2 Program TT_cong; Var x,y,z : integer; A : Longint; {****************} Procedure Cong(a,b:integer; var tong:integer); Begin tong := a + b; End; {****************} BEGIN Write('x='); Readln(x); Write('y='); Readln(y); cong(x,y,z); A:= z*z; Writeln('Ket qua A =',A:2); Readln; END. Bài 3b: Viết hàm tính tổng của 2 số được nhập từ bàn phím. Áp dụng: Tính giá trị biểu thức (a+b) 2 Program Hamcong; Var x,y : integer; A : Longint; {****************} Function Cong(a,b:integer):integer; Begin cong := a + b; End; {****************} BEGIN Write('x='); Readln(x); Write('y='); Readln(y); A := cong(x,y)* cong(x,y); Writeln('Ket qua A =',A:2); Readln; END. Bài 4a: Viết thủ tục tính hiệu của 2 số được nhập từ bàn phím. Áp dụng: Tính giá trị biểu thức (a-b) 3 Bài 5a: Viết thủ tục tính tích của 2 số được nhập từ bàn phím. Bài 6a: Viết thủ tục tính thương của 2 số được nhập từ bàn phím. Bài 7a: Viết thủ tục chuvi và thủ tục dientich để xuất ra màn hình chu vi và diện tích hình chữ nhật có chiều dài và chiều rộng nhập từ bàn phím. Bài 8a: Nhập vào giá trị của a 1 , công sai d và n (vị trí thứ n), viết thủ tục xuất ra màn hình giá trị a n và tổng của dãy từ a 1 đến a n Program Cap_so_cong; Var a1,an,d,n: integer; Procedure So_n(a1,d,n: integer); var tam, i: integer; Begin tam:=a1; for i:=1 to n-1 do tam:=tam + d; Writeln('Gia tri cua so thu ',n,' la: ',tam) End; Procedure Tong(a1,d, n: integer); var tam1, tam2, i: integer; Begin tam1:= a1; tam2:= a1; for i:=1 to n-1 do begin tam1:= tam1 + d; tam2:= tam2 + tam1; end; Writeln('Tong cua day so la: ',tam2); End; BEGIN Write('-Nhap so hang thu 1: '); readln(a1); Write('-Nhap cong sai : '); readln(d); Write('-Nhap n: '); readln(n); So_n(a1,d,n); Tong(a1,d,n); Readln; END. Bài 9a: Viết thủ tục giải phương trình bậc 1 ax+b=0. Bài 10a : Viết thủ tục giải phương trình bậc 2 ax 2 +bx+c=0. Bài 11a: Viết thủ tục luythua để tính a n , áp dụng: tính a m +b n (a, b, m, n) được nhập từ bàn phím. Bài 4a: Viết hàm tính hiệu của 2 số được nhập từ bàn phím. Áp dụng: Tính giá trị biểu thức (a-b) 3 Bài 5b: Viết hàm tính tích của 2 số được nhập từ bàn phím. Bài 6b: Viết hàm tính thương của 2 số được nhập từ bàn phím. Bài 7b: Viết hàm chuvi và hàm dientich để tính chu vi và diện tích hình chữ nhật có chiều dài và chiều rộng nhập từ bàn phím. 8b: Nhập vào giá trị của a 1 , công sai d và n (vị trí thứ n), viết hàm giá trị a n và tổng của dãy từ a 1 đến a n , Xuất kết quả ra màn hình. Bài 11b: Viết hàm luythua để tính a n , áp dụng: tính a m +b n (a, b, m, n) được nhập từ bàn phím. Bài 12: Viết thủ tục vẽ hình chữ nhật rỗng ruột (bằng dấu *) có chiều dài và chiều rộng nhập từ bàn phím. Bài 13: Viết thủ tục vẽ hình chữ nhật đặc ruột (bằng dấu *) có chiều dài và chiều rộng nhập từ bàn phím. Bài 14a: Viết thủ tục Uper để chuyển đổi các ký tự trong 1 xâu thành chữ hoa 14b. Viết hàm Uper để chuyển đổi 1 xâu thành chữ hoa. CHƯƠNG 7: TỆP VÀ THAO TÁC VỚI TỆP Bài 1: a. Cho 1 mảng 1 chiều A (kiểu số nguyên) gồm 10 phần tử - được nhập từ bàn phím, viết chương trình Ghitep1 để ghi các phần tử của mảng A vào tệp C:\data1.txt. Các phần tử được ghi trên 1 dòng, mỗi phần tử cách nhau ít nhất một khoảng trắng. b. Từ tệp C:\data1.txt ở trên, hãy viết chương trình Doctep1 để đọc các giá trị trong tệp vào mảng B (kiểu số nguyên). Xuất mảng B ra màn hình. Giải: 1a: Program Ghitep1; Var f1:text; a: array[1 10] of integer; i:byte; Begin for i:=1 to 10 do Begin Write('Nhap so ',i,' : '); readln(a[i]); End; assign(f1,'c:\data1.txt'); rewrite(f1); for i:=1 to 10 do write(f1,a[i]:4); close(f1); End. 1b: Program Doctep1; Var f1:text; a: array[1 10] of integer; i:byte; Begin assign(f1,'c:\data1.txt'); reset(f1); i:=1; while not eof(f1) do Begin read(f1,a[i]); write(a[i]:4); i:=i+1; end; close(f1); readln End. Bài 2: Cho 1 mảng một chiều A(kiểu số thực) chứa tối đa 10 phần tử. a. Viết chương trình nhập bán kính 5 hình tròn vào mảng trên, ghi dữ liệu vào tệp bankinh.txt b. Viết chương trình đọc bán kính của 5 hình tròn từ tệp bankinh.txt. Tạo mảng 1 chiều B (kiểu số thực) chứa thông tin là diện tích của 5 hình tròn trên. Ghi kết quả vào tệp C:\dientich.txt Bài 3*: Cho 2 mảng 1 chiều (kiểu số nguyên) A và B, mỗi mảng gồm 5 phần tử - chứa thông tin về độ dài 2 cạnh của 5 hình chữ nhật. Phần tử A[i], B[i] là độ dài 2 cạnh của hình chữ nhật thứ i. a. Viết chương trình ghitep2 để nhập độ dài các cạnh của 5 hinh chữ nhật trên và ghi dữ liệu vào têp C:\data3.txt. b. Viết chương trình dọc dữ liệu cuả 5 hình chữ nhật từ tệp c:\data3.txt, tính chu vi, diện tích của 5 hcn vủa đọc. ghi kết quả vừa tính vào tệp data03.txt. Bài 4: Viết chương trình tạo 1 tệp chứa các số nguyên từ 1 đến 100. Bài 5: A. Viết chương trình tạo 1 tệp chứa các số chẵn trong khảng từ 1 đến 100. B. Viết chương trình tạo 1 tệp chứa các số lẽ trong khảng từ 1 đến 100. Bài 5: Viết chương trình tạo 1 tệp chứa các số chia hết cho 2 và 5 trong khoảng từ 1 đến 100. Dạng tệp có cấu trúc: Bài 6: a. Viết chương trình tạo 1 bản ghi tối đa 10 mẩu tin ghi các thông tin sau: Hoten: string[30], tuoi:byte, thông tin được nhập từ bàn phím. Ghi bản ghi trên vào tệp C:\data10.txt. b. Viết chương trình tạo 1 bản ghi tối đa 10 mẩu tin ghi các thông tin sau: Hoten: string[30], tuoi:byte, thông tin của bản ghi được đọc từ tệp C:\data10.txt Giải: Câu a: Program Ghitep; Uses Crt; Type Hocsinh=Record Ten : String[30]; Tuoi: Byte; End; var F : file of Hocsinh; Hs: array[1 10] of Hocsinh; i,n: byte; BEGIN Assign(F,'C:\DATA10.txt'); Rewrite(f); Write('Danh sach co bao nhieu hoc sinh? '); readln(n); For i:=1 to n do Begin Write('Ho va ten: '); Readln(Hs[i].Ten); Write('Tuoi : '); Readln(Hs[i].Tuoi); End; for i:=1 to n do Write(f,Hs[i]); Close(f); END. Câu b: Program Doctep; Uses Crt; Type Hocsinh=Record Ten : String[30]; Tuoi: Byte; End; var F : file of Hocsinh; Hs: array[1 10] of Hocsinh; i,n: byte; BEGIN Assign(F,'C:\DATA10.txt'); Reset(f); n:=0; While not eof(f) do Begin n:=n+1; read(f,Hs[n]); end; Close(f); for i:=1 to 2 do with hs[i] do Writeln(ten,tuoi:25-length(ten)); readln; END. . tích của 5 hcn vủa đọc. ghi kết quả vừa tính vào tệp data03.txt. Bài 4: Viết chương trình tạo 1 tệp chứa các số nguyên từ 1 đến 100. Bài 5: A. Viết chương. Viết chương trình ghitep2 để nhập độ dài các cạnh của 5 hinh chữ nhật trên và ghi dữ liệu vào têp C:data3.txt. b. Viết chương trình dọc dữ liệu cuả 5 hình
Ngày đăng: 14/09/2013, 14:10
Xem thêm: Bài tập tin học 11 chương 5 và 6, Bài tập tin học 11 chương 5 và 6