Giáo trình Tin học đại cương CĐ Nghề Công Nghiệp Hà Nội

144 47 0
Giáo trình Tin học đại cương  CĐ Nghề Công Nghiệp Hà Nội

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

(NB) Giáo trình Tin học đại cương cung cấp cho người học các kiến thức về: hệ đếm, biểu diễn thông tin trong máy tính điện tử, kiến trúc máy tính, tổng quan về hệ điều hành và file, khởi tạo máy, hệ điều hành MS DOS,...

TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHIỆP HÀ NỘI Chủ biên: Nguyễn Gia Phúc Đồng tác giả:Nguyễn Thái Hà GIÁO TRÌNH TIN HỌC ĐẠI CƯƠNG (Lưu hành nội bộ) Hà Nội năm 2003 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo Tuyên bố quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình với mục đích kinh doanh Mọi trích dẫn, sử dụng giáo trình với mục đích khác hay nơi khác phải đồng ý văn trường Cao đẳng nghề Công nghiệp Hà Nội Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo CHƯƠNG I HỆ ĐẾM, BIỂU DIỄN THƠNG TIN TRONG MÁY TÍNH ĐIỆN TỬ I- MỘT SỐ KHÁI NIỆM CƠ BẢN Thông tin, lưu trữ truyền tin Thông tin phản ánh vật, việc, tượng giới khách quan hoạt động người đời sống xã hội Điều người thông qua việc cảm nhận thơng tin làm tăng hiểu biết cho tiến hành hoạt động có ích cho cộng đồng Thông tin lưu giữ nhiều dạng vật liệu khác khắc đá, ghi lại giấy, bìa, băng từ, đĩa từ Việc lưu giữ truyền tin có giá trị q trình đảm bảo xác nội dung Để thuận tiện người ta phải biến đổi khôi phục thông tin theo quy ước cho đảm bảo: xác, kinh tế, thời gian, khơng gian, mà thực chất q trình xử lý thơng tin: mã hố thơng tin, cất giữ, truyền tin giải mã thông tin Môi trường vận động thông tin mơi trường truyền tin, bao gồm kênh liên lạc tự nhiên nhân tạo sóng âm, tia sáng, dây dẫn, sóng âm thanh, sóng hình Kênh liên lạc thường nối thiết bị máy móc với hay nối với người Con người có hình thức liên lạc tự nhiên cao cấp tiếng nói, từ nghĩ chữ viết Ngày nhiều công cụ phổ biến thông tin xuất hiện: bút viết, máy in, điện tín, điện thoại, phát thanh, truyền hình, phim ảnh v.v Máy tính điện tử công cụ đại cho phép tự động hố việc xử lý truyền thơng tinđảm bảo xác nhanh gọn II- BIỂU DIỄN THƠNG TIN TRONG MÁY TÍNH ĐIỆN TỬ (MTĐT) Máy tính điện tử biểu diễn thông tin sở ghép nối linh kiện, mạch điện tử thực hai trạng thái vật lý ký hiệu Để mô tả trạng thái vật lý tương ứng với hai ký hiệu 1, Ví dụ: Bóng điện tử hai trạng thái sáng tắt; Một cơng tắc điện hai trạng thái bật tắt; Một nguồn điện có điện cao hay thấp v.v Trong máy tính mạch điện tử, linh kiện điện tử thể hai trạng thái quy ước biểu diễn sau: Nếu trạng thái đóng: Nếu trạng thái ngắt : X biểu diễn ký hiệu số biểu diễn ký hiệu số Thơng tin biểu diễn máy tính có dạng liệu, bao gồm số, chữ cái, ký hiệu chọn lọc tổ chức theo quy cách xác định để thuận tiện cho việc xử lý tự động Dữ liệu thể cách ghép nối theo nhóm linh kiện điện tử thời điểm, nhóm linh kiện thể trạng thái tín hiệu điện ký hiệu 0,1 MTĐT biểu Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo diễn thơng tin đa dạng sống sở mã hoá thành ký hiệu theo quy luật náo gọi mã nhị phân Trong thực tế người ta hay ghép linh kiện thành nhóm, xử lý máy tính thường ghép theo nhóm 8, 16, 32 linh kiện để biểu diễn thông tin Việc dùng từ “linh kiện điện tử” nhằm mục đích mô tả, thực chất linh kiện điện tử vi mạch bán dẫn, vi xử lý thực hai tín hiệu nhanh III- HỆ ĐẾM NHỊ PHÂN Trong sống hàng ngày ta thường dùng số đếm thập phân (hệ số 10), tức dùng mười chữ số : 0,1,2,3,4,5,6,7,8,9 để biểu diễn số Trong máy tính, số câu lệnh biểu diễn dãy số nhị phân (cơ số 2) tức để biểu diễn số theo số này, dùng hai chữ số: ghép lại theo trật tự Ví dụ: số nhị phân: 10112 = 1110; IV- 11022 = 1310 CHUYỂN ĐỔI HỆ ĐẾM Chuyển dạng biểu diễn từ nhị phân sang thập phân: Cho số X dạng nhị phân: X= anan-1an-2 a2a1a0 (ai=0 ai=1) Muốn tìm dạng biểu diễn thập phân X ta tính đa thức: X= an*2n + an-1 *2n-1 + + a1 *21 + a0*20 Ví dụ: dạng thập phân 11012 là: 1823 + 1*22 + 0*21 + 1*20 = 8+4+1=13 Vậy 11012 = 13 Chuyển dạng biểu diễn thập phân sang nhị phân Cho số X dạng thập phân, muốn tìm dạng biểu diễn nhị phân X ta chia X liên tiếp cho lấy số dư (chỉ gồm số 1) theo chiều ngược lại Ví dụ: cho X=13, chuyển X sang biểu diễn dạng nhị phân 13 1 Viết đảo ngược thứ tự số dư 11012 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương V- Giáo BIỂU DIỄN CÁC KÝ TỰ Hệ thống máy tính thướng xuyên trao đổi số liệu, đưa hình dòng thống báo, thể câu lệnh v.v dạng chữ ký hiệu thông thường, nhứng máy xử lý tín hiệu mã hố dạng nhị phân (binary digit) Ví dụ: chữ A mã thành số nhị phân 0100 0001 Dấu * mã thành số nhị phân 0010 1010 Vì cần chọn bảng mã nhị phân để biểu diễn chữ cái, chữ số, dấu ngắt câu, câu lệnh để trao đổi thiết bị máy máy tính với Bảng mã ASCII (American Standard Code for Information Interchange) chọn làm bảng mã chuẩn quốc tế máy tin học để thực trao đổi thơng tin Trong ký tự biểu diễn nhóm cố định chữ số tức tương đương với số nhị phân Tổng số tất ký hiệu ASCII 256=28, 128 ký hiệu chuẩn 128 ký hiệu mở rộng dùng cho ký hiệu đặc biệt cho ngôn ngũ quốc gia riêng biệt Bảng mã chuẩn bao gồm ký hiệu: - Các chữ la tinh: 26 chữ hoa (A, B, C, , Z) 26 chữ thường (a, b, c, ., z) - Các chữ số tự nhiên: 0, 1, 2, 3, 4, 5, 6, , 8, - Các ký hiệu tốn học thơng dụng: +, -, *, /, =, - Các ký hiệu thường dùng: , ; ( ) “ ‘ [ ] ? % $ # @ ! - Các ký hiệu điều khiển:’xuống dòng’, ‘thực chương trình"’: ENTER ‘đánh dấu đầu tin’, ‘ đánh dấu cuối tin’ v.v Bảng mã ASCII có 128 ký tự chuẩn (tham khảo bảng mã ASCIII phần phụ lục) Giả sử muốn hiển thị chữ A hình ta phải tác động vào chương trình giải mã chương trình thể ký tự hình, q trình diễn nhanh, ta hình dung theo mơ tả khổi đây: A Bộ (chương trình) giải mã bàn phím Bộ (chương trình) hiển thị ký tự C:\>A Gõ chữ A từ bàn phím VI- TỔ CHỨC BỘ NHỚ VÀ ĐƠN VỊ ĐO THÔNG TIN Bit (Binary digit) Bộ nhớ MTĐT tạo từ vật liệu hai trạng thái, ký hiệu X | | | | bit bit bit bit 10 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo tương ứng Mỗi vị trí chất liệu đơn vị nhỏ gọi bit (binary digit) Từ máy (Word memory) Để tiện việc biểu diễn cất giữ thông tin, người ta ghép bit, bit, bit, 16 bit, 32 bit lại với thành đơn vị nhớ gọi ô nhớ (hay gọi từ máy) Địa Các từ máy (ô nhớ) đặt liên tiếp đánh số thứ tự từ: 0,1, ,n gọi địa từ máy Địa từ máy (ô nhớ) n Bai (Byte) Bai đơn vị nhớ chuẩn, cách ghép liên tiếp bít liền tạo thành byte nhớ, đọc bai, viết tắt: B Ngoài ra, đơn vị dẫn xuất để đo thông tin là: Kilobai (viết tắt: 1KB) =1024 B Mêgabai (viết tắt: 1MB) =1024KB Gigabai (viết tắt: 1GB) = 1024MB Các từ máy (ô nhớ) Dung lượng (Memory capacity) Khả chứa thông tin (trong thời gian xử lý CPU) nhớ dung lượng nhớ Các nhớ MTĐT thường có dung lượng: 640KB, 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB Bộ nhớ chia thành ô nhớ, ô nhớ đánh số thứ tự gọi địa ô nhớ, nội dung thông tin chứa ô nhớ Địa từ máy (ô nhớ) n Có thể diễn tả ô nhớ địa nhớ hình bên Cách đọc tệp thơng tin thông báo Các từ máy chứa nội dung liệu Thông tin lưu đĩa từ, băng từ (bộ nhớ ngoài) gọi liệu Dữ liệu tổ chức thành tệp (file) có tên tệp độ lớn mà chiếm giữ khơng gian nhớ đĩa băng từ Độ lớn tệp đo thể bytes Để thuận lợi đơn giản hoá cách gọi ta thường gọi vắn tắt độ lớn tệp, thông báo hình đơn vị KB, MB Cứ chữ số tính từ bên phải sang trái để gọi theo độ lớn tệp: 11 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo Ví dụ: COMMAND.COM 54645B đọc tệp COMMAND chiếm 54 KB đĩa từ, dòng chữ 35,475,154 bytes free hình, đọc “còn khoảng 35MB trống để chứa thơng tin đĩa” Dựa vào đơn vị đo thơng tin ta hình dung sức chứa thông tin vật mang đĩa từ chẳng hạn: Đĩa từ 1,2 MB chứa lượng thông tin dạng ký hiệu văn chữ, chữ số, ký hiệu chiếm byte nhớ, tính ra: 1,2 x 1024 (KByte) x 1024 (byte) = 1258171 ký hiệu, trang văn có 80 cột chữ x 80 dòng đĩa từ 1,2MB chứa xấp xỉ 800-1000 trang liệu kiểu văn CÂU HỎI ÔN TẬP Trong MTĐT muốn biểu diễn thông tin sở (đơn vị nhỏ biểu diễn thông tin) người ta mã hoá dạng nào? Nêu cách chuyển dạng biểu diễn số từ thập phân sang nhị phân ngược lại Nêu ví dụ cụ thể? Nêu cơng dụng bảng mã ASCII Đơn vị sở biểu diễn thơng tin gì? Nêu tên độ lớn đơn vị đo thông tin? Phân biệt địa ô nhớ nội dung ô nhớ thông tin? Cách đọc viết đơn vị đo thông tin? 12 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo CHƯƠNG II KIẾN TRÚC MÁY TÍNH I- XỬ LÝ THƠNG TIN TRONG MÁY TÍNH Trong sống, hoạt động người hướng tới mục đích cụ thể Để đạt mục đích đó, người cần nắm điều kiện tạc động ảnh hưởng tới hoạt động Từ phân tích lựa chọn chương trình hành động để đạt hiệu cơng việc Việc phân tích lựa chọn phương án hành động q trình xử lý thơng tin, mơ tả cách tổng qt đây: Thơng tin vào Q trình xử lý Kết Các phương án hành động Việc xử lý thông tin MTĐT theo nguyên tắc vậy: người sử dụng phải nhập liệu vào máy (đưa thông tin vào) qua thiết bị bàn phím thiết bị nhập khác máy scaner lệnh cho máy thực thao tác cách tự động, theo quy tắc dẫn- câu lệnh chương trình Mỗi thao tác đơn nguyên công việc, tương ứng với câu lệnh chương trình cuối cho kết thiết bị xuất thơng tin Tóm lại: MTĐT hoạt động theo nguyên tắc:” Tự động thực thao tác theo chương trình hành động vạch sẵn từ trước” II- KIẾN TRÚC MÁY TÍNH Bộ xử lý trung tâm (CPU: Center Proccessing Unit) Bộ xử lý trung tâm óc máy tính, diễn việc xử lý thông tin điều khiển toàn hoạt động MTĐT Bộ xử lý trung tâm bao gồm phận: Bộ số học logic (gọi tắt ALU) Bộ điều khiển 13 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo Đặc trưng thể mặt: - Tốc độ xử lý: phép xử lý thực giây Các máy vi tính ngày có tốc độ xử lý lên đến từ hàng trăm triệu đến hàng tỉ phép xử lý giây - Lượng thông tin xử lý đồng thời tính theo đơn vị bit Các vi xử lý thường có dạng xử lý bit, 16bit, 32bit, 64bit Cấu tạo vật lý xử lý trung tâm gọn nhẹ: nhỏ nửa bao diêm Bộ nhớ (ROM, RAM) - Bộ nhớ ROM (Read Only Memory) ROM nhớ tĩnh hay gọi nhớ đọc Từ chế tạo, người ta nạp cố định chương trình để khởi tạo máy vào ROM, thời gian chạy máy, nhớ ROM không thay đổi kể điện Khi khởi tạo máy, chương trình từ ROM đọc ra, ghi thông tin vào ROM - Bộ nhớ RAM (Random Access Memory) RAM nhớ động dùng để chứa liệu trình xử lý thơng tin máy Bộ xử lý trung tâm thường xuyên lấy liệu từ nhớ để xử lý lại gửi thông tin vào Đặc trưng nhớ khả chứa liệu tốc độ truy nhập thông tin Bộ nhớ tổ chức thành n byte nhớ đánh số thứ tự từ đến n gọi địa nhớ Ngồi ra, CPU có nhớ đặc biệt để ghi nhận câu lệnh thực hiện, lưu trữ toán hạng kết trung gian: chúng gọi ghi, có ghi tổng để lưu giữ tạm thời toán hạng kết trung gian Bộ số học logic (ALU) Là thành phần CPU, có nhiệm vụ thực phép toán số học (cộng, trừ, nhân, chia) phép tốn logic, mơ tả việc thực câu lệnh cộng địa chỉ: Câu lệnh cộng có dạng: CỘNG N Câu lệnh lấy số có ghi tổng A cộng với số có nhớ thứ N nhớ Kết thu đặt ghi tổng A Giả sử ô nhớ địa nhớ chứa số 15, ghi tổng A chứa số hình dưới: A 20 15 10 Hiện trạng nhớ ghi tổng A (tr­íc thùc hiƯn c©u lƯnh) Sau ALU thực câu lệnh: 14 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo CỘNG Kết (15 + 20 = 35) ghi ghi tổng A A 35 15 10 Hiện trạng nhớ ghi tổng A (sau thực câu lệnh) SƠ ĐỒ CẤU TRÚC CỦA MTĐT Bộ nhớ RAM Bộ nhớ ROM Bàn phím Chuột Máy quét ảnh Máy in Máy vẽ Bộ nhớ Bộ xử lý trung tâm CPU Bộ số học logic Bộ điều khiển Ổ đĩa đĩa từ Màn hình CÁC THIẾT BỊ NGOẠI VI Để thuận lợi việc giao tiếp người sử dụng máy, người ta lắp thêm cho máy số thiết bị nhập xuất thông tin gọi thiết bị ngoại vi (ổ đĩa đĩa từ, máy in, hình, máy vẽ ) Các thiết bị nối với CPU thông qua kênh truyền tin gọi kênh vào 15 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo BEGIN clrscr; n:=0; repeat with bt begin write('Ngay '); ix:= wherex+3; iy:=wherey; read(ng); if ng0 then begin gotoxy(ix,iy); ix:=ix+10; write(' Thang '); read(th); gotoxy(ix,iy) write(' Nam'); readln(nam); write(' Dia diem: '); readln(dia_diem); write(' Luong mua '); readln (l_mua); write(' Nhiet '); readln(nh_do); writeln(' **********'); end; end; if bt.ng then begin inc(n); bc [n]:=bt; end; until bt.ng=0; nt:= -273; nx:=0; lmtrb:=0; for i:=1 to n begin if nt < bc[i] nh_do then begin nt:=bc[i].nh_do; nx:=i; end; lmtrb:= lmtrb + bc[i].l_mua end; writeln(#13#10' Nhiet cao nhat quan sat duoc la :'nt:3); writeln( ' Do duoc tai:' , bc[nx].dia_diem); writeln(' Trong :' , bc[nx].ng ,' thang ', bc[nx].th, ' nam ' , bc[nx].nam); writeln(#13#10'***** Luong mua trung binh cua khu vuc la :' , lmtrb/n:10:2); readln; END Chương : Kiểu tệp Bài : Viết chương trình đọc dãy số từ bàn phím ghi chúng vào đĩa mềm , sau đọc từ đĩa dãy số tính tổng chúng Bài : Lập chương trình thực cơng việc sau: -Đọc từ bàn phím danh sách sinh viên gồm họ tên, giới tính, năm sinh - Ghi liệu đĩa mềm với tên file SVLOP_X - Tìm sinh viên nữ sinh trước 1972 đưa kết hình Bài : Lập chương trình thực việc sau: - Đọc từ bàn phím dãy n số nguyên 135 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo - Ghi dãy số vào đĩa mềm - Sắp số lẻ lên đầu dãy , số chẵn xuống cuối dãy mà không sử dụng thêm mảng - Đưa hình dãy số , số lượng số lẻ tổng chúng Bài : Viết chương trình thực việc sau : a) Đọc từ bàn phím danh sách gồm họ tên , môn thi thứ nhất, điểm môn thi thứ , môn thi thứ hai, điểm môn thi thứ hai b) Ghi vào đĩa mềm với tên file QLHT c) Đọc liệu từ file QLHT , tìm sinh viên phải thi lại ( có mơn khơng đạt ) Đưa họ tên , môn thi điểm tương ứng hình Program c9b4; Uses crt; type phdiem = record ht: string[22]; mh1: string[10]; d1: real; mh2: string[10]; d2: real; end; Var Pd : phdiem ; F1: file of phdiem; n , i : integer; BEGIN clrscr; write (' So phieu diem n = '); readln(n); assign(f1 , ' QLHT '); rewrite(f1); for i := to n with pd begin writeln (' Vao phieu diem thu ', i ); write(' Ho ten : '); readln(ht); write(' Mon thu : '); readln(mh1); write(' Diem mon thu : '); readln(d1); write(' Mon thu : '); readln(mh2); write(' Diem mon thu : '); readln(d2); write(f1,pd); end; close(f1); clrscr; writeln( ' DANH SACH SINH VIEN THI LAI'); writeln; Assign(f1, 'QLHT'); reset(f1); while not eof (f1) begin read(f1,pd); with pd if (d1 < 5) or (d2 < ) then writeln (ht :25, mh1:10, ': ' , d1:3:1 , mh2: 10, ':',d2:3:1); 136 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo end; Close(f1); writeln; writeln(' An ENTER de ket thuc ! '); readln; END Bài : Viết chương trình thực việc sau : a) Tạo hai file f1, f2 file text để ghi liệu từ bàn phím b) Nối file f2 vào cuối file f1 tính độ dài file f1 c) Đưa nội dung file f1 hình Bài : Có n mặt hàng (n =22 then begin 137 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo window(1,180,23); gotoxy(1,1); clrscr; end; until ch = #27; END Bài : Giả sử có file F1, F2 F3 file text lập chương trình tạo file FR từ F1 F2 cho ghi FR tạo cách ghép ghi tương ứng F1, F2 Nếu file F1 , F2 có số lượng ghi khác ghi phần dư vào cuối file F3 Bài : Lập chương trình thực việc sau : a) Tạo hai file FA, FB để ghi liệu, ghi FA chưa ba liệu thực , ghi FB chứa liệu nguyên liệu xâu kí tự Các liệu đưa vào từ bàn phím b) Tạo file FS từ FA FB cho ghi FS tạo cách ghép ghi tương ứng FA, FB Nếu file FA , FB có số lượng ghi khác bỏ phần dư hai file c) Đưa ghi FS hình Program c9b9; Uses crt; type = record x1 , x2 , x3 ::real ; end; rb = record n1:integer; s1 :string; end; rc = record x1 , x2 , x3 : real; n1 : integer; s1 : string; end; Var i : integer; ba : ra; bb : rb; bc : rc; f1 : file of ra; f2 : file of rb; f3 : file of rc; ans: char; BEGIN clrscr; assign (f1,' FA '); rewrite(f1); writeln(' Nhap du lieu cho file FA : '); repeat write(#13#10 ' Cho so thuc :'); readln(ba.x1,ba.x2,ba.x3); write(f1,ba); repeat write (' Co nhap tiep du lieu cho file FA nua khong ?(C/K)'); 138 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo ans :=upcase ( readkey ); until ans in ['C' , 'K']; until ans= 'K'; close (f1); assign (f2,' FB '); rewrite(f2); writeln(#13#10' Nhap du lieu cho file FB : '); repeat write(#13#10 ' Cho so nguyen va mot xau :'); write ( ' n = '); readln(bb.n1); write ( ' xau : '); readln (bb.s1); write(f2,bb); repeat write (' Co nhap tiep du lieu cho file FB nua khong ?(C/K)'); ans :=upcase ( readkey ); until ans in ['C' , 'K']; until ans= 'K'; close (f2); assign (f3,'FC '); rewrite(f3); i:=0; assign(f1,'FA'); reset(f1); assign(f2,'FB'); reset(f2); while (not eof(f1)) and not(eof(f2)) begin read(f1,ba); read(f2,bb); bc.x1:=ba.x1; bc.x2:=ba.x2; bc.x3:=ba.x3; bc.n1:=bb.n1; bc.s1:=bb.s1; write(f3,bc); inc(i); with bc begin writeln(#13#10 '***** Ban ghi thu ' , i ,' :'); writeln('x1 , x2 , x3 = ', x1:12:3,x2:12:3, x3:12:3); writeln(' n = ',n1); writeln(' Xau : ' ,s1); delay(1000); end; end; close(f1); close(f2); close(f3); END Bài 10 : Hãy lập chương trình làm việc sau : a) Tạo file , ghi gồm : - Tên sản phẩm : xâu < 21 kí tự - Mã sản phẩm : gồm mã , mã số nguyên - Đơn giá : số thực Tên file đọc từ bàn phím kết thúc vào liệu gặp tệp rỗng b) Cập nhật đơn giá sản phẩm thông tin ghi file dựa theo mã thứ đơn giá sản phẩm tương ứng Nếu ặp mã thơng báo bỏ qua Chương 10 : Thủ tục , hàm ,chương trình pascal có cấu trúc 139 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo Bài : Lập chương trình tính min/max hàm số đoạn [a , b] cách dùng thủ tục hàm Các giá trị a b đưa vào từ bàn phím , tìm hay max tuỳ chọn Program c10b1; Uses crt; Var a , b , ketqua : real ; chon : integer; Procedure menu; begin writeln(' ***** TIM MIN/MAX HAM SO *****'); writeln(' 1- Tim f(x) '); writeln(' 2- Tim max f(x) '); writeln(' 3- Ket thuc '); writeln(' -'); writeln(' An so de chon ! '); readln(chon); end; {Menu} Function f(x:real): real; begin f:=x*x - 5*x + ; end; Procedure minf(aa,bb:real; var mi:real); Var x , dx : real; i : integer; Begin mi := 1e10; dx:=(bb-aa)/200; for i:=1 to 200 begin x:=aa+(i-1)*dx; if f(x) ma then ma:=f(x); end; End; {maxf} Procedure thongbao; Begin gotoxy(50,15); writeln('* An ENTER de tiep tuc !'); repeat until keypressed; end; { thong bao } BEGIN clrscr; 140 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo menu; while chon begin writeln; write(' a, b ='); readln(a, b); if chon=1 then minf(a,b,ketqua); if chon=2 then maxf(a,b,ketqua); writeln(' ket qua =',ketqua:16:2); thongbao; clrscr; menu; end; END Bài : Lập chương trình nhập toạ độ n điểm không gian (x1 , y1 , z1) tìm toạ độ đỉnh hình hộp có cạnh song song với trục toạ độ chứa tất điểm Program c10b2; Uses crt; Type vt = array[1 100] of real; Var n:type x, y, z: vt; xl,yl,zl,xn,yn,zn :real; Procedure Nhap; Var i:byte; Begin repeat write('#13#10' Tong so diem :'); readln(n); until (n>0) and (n0 begin inc(k); delete(c,j,1); insert(d,c,j); j:=pos(b,c); end; if k = then writeln(' Xau ' , a , ' Khong chua xau ', b , ' ') else writeln(' Xau ' ' , b , ' ' ' co mat xau ' ' ' , a , ' ' ' ', k , ' lan '); readln; END Bài : a) Lập hàm xác định số kể từ xây B tham gia vào xâu A xâu lần thứ k 142 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo b) Viết chương trình dùng hàm để tìm số xâu A mà từ số xâu B tham gia vào xâu A xâu lầ thứ k Các xâu A , B số k nhập từ bàn phím Function indxk(a , b : string; k :byte) :byte; Var i , j , l : byte; c , d :string; ok:boolean; Begin c:=a; l:=length(b); d:=' '; d := chr (219); i:= pos (b , c); j:=1; ok:=(i>0) and (j=k); while (i>0) and (j0) and (j=k); end; if ok then indxk:=i else indxk:=0; End; { het ham INDXK } Program c10b13; Uses crt; Var a,b : string; k: byte; Function indxk(a , b : string; k :byte) :byte; Var i , j , l : byte; c , d :string; ok:boolean; Begin c:=a; l:=length(b); d:=' '; d := chr (219); i:= pos (b , c); j:=1; ok:=(i>0) and (j=k); while (i>0) and (j0) and (j=k); end; if ok then indxk:=i else indxk:=0; End; { het ham INDXK } BEGIN clrscr; write(' Xau A : '); readln(a); write(' Xau B : '); readln(b); write(#13#10'K = ' ); readln(k); 143 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo writeln(indxk(a,b,k); readln; END Bài : a) Lập thủ tục biến đổi kí tự xâu A theo qui tắc sau : Nếu kí tự thứ i (  i  length(A) Ai có mặt xâu B thay kí tự tương ứng xâu C ( xâu B, C có độ dài m ) Các kí tự Ai khơng có mặt rong B giữ nguyên b) Lập chương trình nhập cá xâu A , B , C từ bàn phím sử dụng thủ tục biến đổi xâu A theo qui tắc nêu Đưa kết hình Program translate(var a, b , c : string ; m : byte); Var i , j : byte; Begin for i:=1 to length(a) begin j:= pos(a[i], b); if j>0 then a[i] :=c[j]; end; End; Program c10b8; Uses crt; Var s1 , s2 , s3 : string ; ans:char; n:byte; Program translate(var a, b , c : string ; m : byte); Var i , j : byte; Begin for i:=1 to length(a) begin j:= pos(a[i], b); if j>0 then a[i] :=c[j]; end; End; BEGIN clrscr; repeat write(#13#10' Xau nguon :'); readln(s1); repeat write(' Xau khoa :'); readln(s2); write( 'Xau thay :'); readln(s3); n:=length(s2); until n = length(s3); translate(s1,s2,s3,n); writeln(' Ket qua thay the :',s1); repeat write(#13#10' Co lam tiep nua khong ?(C/K)'); ans:=upcase(readkey); until ans in [' C ' , ' K ']; until ans='K' END 144 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo Bài : Lập thủ tục viết câu vào vị trí (x , y) thủ tục xố câu từ vị trí (x , y) trở , (1  x  80 ,  y  25) Dùng thủ tục viết lập chương trình dòng chữ ** DAI HOC BACH KHOA HA NOI ** chạy hình từ trái sang phải , ri chạy đường chéo hình Program DEMO; Uses crt; Const a= ' DAI HOC BACH KHOA HA NOI'; b= ' KHOA TIN HOC ' ; c= "PHONG MAY TINH'; Procedure writeXY ( x , y : integer; st : string); Begin gotoxy(x,y); write(st); End; Procedure delxy( x , y : integer); Var i: integer; Begin gotoxy(x , y); for i:=x to 80 write(' '); end; {delxy} Procedure qc1(st : string); Var k , x , y : integer; Begin for k:=25 to 75 begin x:=80-k; y:=10; writexy(x,y,st); delay(100); delxy(x , y); if keypressed then exit; end; End; {qc1} Procedure qc2(st : string); Var k , x , y : integer; Begin for k:=1 to 64 begin x:=65-k; y:=(25- (k div 3)); writexy(x,y,st); delay(100); delxy(x , y); if keypressed then exit; end; End; {qc2} { chuong trinh chinh } BEGIN textbackground(1); clrscr; writexy(2,2,'An ENTER de ketthuc !'); textcolor(3); repeat 145 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo qc1(a); qc2(a); qc1(b); qc2(b); qc1(c); qc2(c); until keypressed; END Bài 10 : Lập thủ tục Di : Đổi dấu tất phần tử dòng i ma trận A ; Thủ tục Cj : Đổi dấu tất phần tử cột j ma trận A ; Lập chương trình dùng thủ tục để biến đổi ma trận A thành ma trận có tổng phần tử dòng cột khơng âm Program c10b10; Uses crt; Var q:array[1 20,1 40] of real; i , j , m , n : integer; ok : boolean; Function d(i:integer):real; Var j:integer; s:real; Begin s:=0; for j:=1 to n s:=s+q[i,j]; d:=s; End; {End of function D(i) } Function c(j:integer):real; Var i:integer; s:real; Begin s:=0; for i:=1 to m s:=s+q[i,j]; c:=s; End; {End of function C(j) } Procedure sc(j:integer); { Doi dau cot j } Var i:integer; Begin writeln(' Doi dau dong',j); delay(500); for i:=1 to m q[i,j]:=-q[i,j]; End; { End of Procedure sc(i) } Procedure sd(i:integer); { Doi dau hang i } Var j:integer; Begin writeln(' Doi dau dong',i); delay(500); for j:=1 to n q[i,j]:=-q[i,j]; End; { End of Procedure sd(i) } BEGIN clrscr; write(#13#10 ' M ,N ='); readln(m,n); writeln( ' Nhap mang Q :'); for i:=1 to m for j:=1 to n begin write('Q[' , i , ',' , j , ']='); 146 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin họcđạicương Giáo readln(q[i,j]); end; ok:=false; while not ok begin ok:=true; for i:=1 to m if (d(i) ? 86 87 88 89 90 91 92 93 94 95 V W X Y Z [ \ ] ^ _ Giáo 118 119 120 121 122 123 124 125 126 127 v w x y z { | } ~ DEL 149 ... Nguyễn Thái Hà trình Tin học ạicương Giáo Tuyên bố quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử... thơng tin gì? Nêu tên độ lớn đơn vị đo thông tin? Phân biệt địa ô nhớ nội dung ô nhớ thông tin? Cách đọc viết đơn vị đo thông tin? 12 Nguyễn Gia Phúc, Nguyễn Thái Hà trình Tin học ạicương Giáo. .. Thái Hà trình Tin học ạicương Giáo CHƯƠNG IV KHỞI TẠO MÁY, HỆ ĐIỀU HÀNH MS-DOS I- HỆ ĐIỀU HÀNH MS-DOS Hệ điều hành MS-DOS (MicroSoft Disk Operating System) hãng MicroSoft (Mỹ) hệ thống chương trình

Ngày đăng: 18/06/2020, 10:37

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan