1. Trang chủ
  2. » Công Nghệ Thông Tin

giáo trình tin học đại cương

29 339 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 2,2 MB

Nội dung

CHƯƠNG MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA TIN HỌC §1 TIN HỌC LÀ MỘT NGÀNH KHOA HỌC SỰ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA TIN HỌC Cuộc cách mạng công nghiệp lịch sử loài người diễn tương đối nhanh Trong khoảng thời gian từ năm 1890 đến năm 1920, điện năng, điện thoại, ô tô, máy bay phát minh đưa vào phục vụ đời sống người Tiếp theo đời hàng loạt thành tựu khoa học kĩ thuật khác có máy tính điện tử Con người quan tâm tới thông tin từ sớm, nhiên kết đạt không cao xuất số lĩnh vực Trong thập kỉ gần đây, xã hội loài người bùng nổ thông tin Bên cạnh quan điểm truyền thống như: điều kiện tự nhiên, nguồn lao động vốn đầu tư ba nhân tố xuất nhân tố quan trọng thông tin – dạng tài nguyên Sự hình thành phát triển văn minh gắn liền với công cụ lao động o Ví dụ: Máy nước gắn với văn minh công nghiệp, máy tính điện tử gắn với văn minh thông tin… Ngành Tin học hình thành phát triển thành ngành khoa học với nội dung, mục tiêu, phương pháp nghiên cứu riêng ngày có nhiều ứng dụng hầu hết lĩnh vực hoạt động xã hội loài người ĐẶC TÍNH VÀ VAI TRÒ CỦA MÁY TÍNH ĐIỆN TỬ Máy tính giúp người thực tính toán túy giai đoạn đầu, sau lượng thông tin lưu trữ lớn, người cải tiến công cụ lao động để đáp ứng nhu cầu lưu trữ, tìm kiếm xử lí thông tin cách hiệu Những đặc tính máy tính điện tử: o Máy tính “làm việc không mệt mỏi” suốt 24/24 o Tốc độ xử lí thông tin máy tính nhanh ngày nâng cao o Máy tính thiết bị tính toán có độ xác cao o Máy tính lưu trữ lượng lớn thông tin không gian hạn chế o Giá thành máy tính ngày hạ o Máy tính ngày gọn nhẹ tiện dụng o Các máy tính liên kết với thành mạng máy tính lớn để tăng thu nhập xử lí thông tin tốt TIN HỌC Trong tiếng Pháp, Tin học Informatique Tiếng anh dùng Informatics người Mỹ dùng thuật ngữ Computer Science GIÁO TRÌNH TIN HỌC 10 Tin học ngành khoa học có mục tiêu phát triển sử dụng máy tính điện tử để nghiên cứu cấu trúc, tính chất thông tin, phương pháp thu thập, lưu trữ, tìm kiếm, biến đổi, truyền thông tin ứng dụng vào lĩnh vực khác đời sống xã hội §2 THÔNG TIN VÀ DỮ LIỆU KHÁI NIỆM THÔNG TIN VÀ DỮ LIỆU: Dữ liệu (data) kiện, tín hiệu, việc, hình ảnh giới thực Thông thường việc, kiện hình ảnh thô mang ý nghĩa thực tiễn không tổ chức theo cấu trúc Khi liệu tổ chức xếp thêm vào vài tính toán, thống kê (quá trình gọi xử lý liệu - data processing) ta thông tin Thông tin (infomation) hiểu biết người thực thể (sự vật, tượng) tồn đời sống, giúp ta có hành động hợp lý để đạt mục đích Ví dụ: o Tín hiệu đèn giao thông màu đỏ liệu Khi ta gặp liệu cho ta biết thông tin phương tiện giao thông phải ngừng lại o Biển số xe ô tô, xe máy gồm có liệu: màu sắc, ký tự chữ số cho ta biết thông tin xe đăng ký tỉnh nào, loại xe công hay tư… o Trên bưu kiện, thùng hàng có ký hiệu hình cốc hình ô liệu báo cho ta biết thông tin thùng có vật dễ vỡ phải che đậy để không bị thấm nước ĐƠN VỊ ĐO LƯỢNG THÔNG TIN Đơn vị dùng để thông tin bit (Binary digiT) Một bit tương ứng với thị thông báo kiện có trạng thái có số đo khả xuất đồng thời Tắt (Off)/Mở (On) hay Đúng (True)/Sai (False) o Ví dụ: Một mạch đèn có trạng thái là:  Tắt (Off) mạch điện hở (Khóa mở)  Mở (On) mạch điện kín (Khóa đóng) Một thỉ hay thông báo có trạng thái trạng thái thời điểm nên xem bit đơn vị nhỏ dùng để đo lượng thông tin o Ví dụ: Tại thời điểm bóng đèn tắt mở GIÁO TRÌNH TIN HỌC 10 Trong số học nhị phân ta dùng hai số để biểu diễn trạng thái Các đơn vị đo thông tin khác: Tên Ký hiệu Giá trị B 1B = bit Byte KB 1KB = 1024B = 210B KiloByte MB 1MB = 1024KB = 220B MegaByte GB 1GB = 1024MB = 230B GigaByte TB 1TB = 1024GB = 240B TeraByte PB 1PB = 1024TB = 250B PetaByte CÁC DẠNG THÔNG TIN: Trong giới thực có nhiều dạng thông tin khác dạng có số cách thể riêng Có nhiều cách để phân loại thông tin, chương trình ta học phân loại thông tin theo dạng số (số nguyên, số thực…) phi số (văn bản, hình ảnh, âm thanh…) Ở dạng phi số ta có dạng thông tin thường gặp là: o Dạng văn bản: Là dạng quen thuộc thường gặp Ta thường gặp dạng thông tin phương tiện: sách, báo, tờ rơi, vở, bia… o Dạng thông tin hình ảnh: Bức tranh vẽ, tranh chụp, đồ, băng hình… phương tiện chứa thông tin dạng hình ảnh o Dạng âm thanh: Giọng nói, tiếng sóng biển, tiếng đàn, tiếng chim hót… thông tin dạng âm Băng từ, đĩa từ… phương tiện dùng để chứa thông tin dạng âm Ngoài ta có có cách khác để phân biệt thông tin phân biệt dựa vào đặc tính liên tục hay gián đoạn thời gian tín thể thông tin Ví dụ: o Thông tin liên tục: Thông tin mực nước biển, mực thủy triều, hay nhiệt độ ngày o Thông tin gián đoạn: Thông tin vụ tai nạn đường Nguyễn Văn Cừ, thông tin số lượng tin nhắn ngày số điện thoại 090xxx MÃ HÓA THÔNG TIN TRONG MÁY TÍNH Muốn máy tính xử lí được, thông tin phải biến đổi thành dãy bit Cách biến đổi gọi mã hóa thông tin GIÁO TRÌNH TIN HỌC 10 BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH 5.1 Hệ đếm: a Khái niệm hệ đếm, hệ đếm số b Hệ đếm tập hợp ký hiệu quy tắc sử dụng tập ký hiệu để biểu diễn xác định giá trị số Hệ đếm số b (b ≥ nguyên dương) mang tính chất sau: o Có b chữ số để thể giá trị số Chữ số nhỏ lớn b-1 o Số N hệ đếm số b có ký hiệu Nb biểu diễn sau: Nb =anan-1an-2…a1a0.a-1a-2…b-m Trong số Nb có n+1 chữ số biều diễn cho phần nguyên m chữ số biểu diễn cho phần lẻ (bên phải dấu phân chia nhỏ 1) Nb có giá trị tính công thức sau: Nb = an.bn + an-1.bn-1 + … + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + … + a-m.b-m = ∑𝒏𝒊=−𝒎 𝒂𝒊 𝒃𝒊 Lưu ý: o Giá trị Nb giá trị Nb hệ đếm số 10 o Khi tính giá trị Nb ta cần xác định vị trí dấu phân cách phần nguyên phần lẻ (phần phân) đâu để đánh số thứ tự cho chữ số cho xác Ví dụ: Tính giá trị số số hệ đếm sau: 101110.012, 100101012, 10.48, A4B516 o 101110.012 GIÁO TRÌNH TIN HỌC 10 Vậy: 101110.012 = 1.25 + 0.24 + 1.23 + 1.22 + 1.21 + 0.20 + 0.2-1 + 1.2-2 = 32 + + + + + + + 0.25 = 45.2510 o Tương tự cách làm ta tìm giá trị số lại  100101012 = 1.27 + 0.26 + 0.25 + 1.24 + 0.23 + 1.22 + 0.21 + 1.20 = 14910  10.48 = 1.81 + 0.80 + 4.8-1 = 8.510  A4B516 = 10.163 + 4.162 + 11.161 + 5.160 = 4216510 Trong môn tin học ta thường dùng hệ đếm sau: Hệ đếm Cơ số Tập chữ số Hệ nhị phân (Binary system) 0, Hệ bát phân (Octal system) 0, 1, 2, 3, 4, 5, 6, Hệ thập phân (Decimal system) 10 0, 1, 2, 3, 4, 5, 6, 7, 8, Hệ thập lục phân 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, 16 (Hexa-decimal system) D, E, F b Hệ đếm thập phân (Decimal system, b=10): Hệ đếm thập phân hay hệ đếm số 10 phát minh người Ả rập cổ, bao gồm tập chữ số có 10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, Giá trị chữ số phụ thuộc vào vị trí biểu diễn o Ví dụ số 121 chữ số hàng đơn vị đơn vị chữ số hàng trăm 100 đơn vị Giá trị số hệ thập phân xác định theo quy tắc: đơn vị hàng có giá trị 10 đơn vị hàng kế cận bên phải Tức lũy thừa 10 tăng dần từ trái sang phải tương ứng với vị trí chữ số o Ví dụ: 536,4 = 5.102 + 3.101 + 6.100 + 4.10-1 = 500 + 30 + + 10 Trong chữ số hàng trăm, chữ số hàng chục, chữ số hàng đơn vị chữ số hàng phần chục c Hệ đếm nhị phân (Binary system, b=2): Hệ đếm nhị phân có số b=2, hệ đếm đơn giản với chữ số (tương ứng với giá trị hệ thập phân) để biểu diễn số hệ Mỗi chữ số nhị phân gọi BIT (viết tắt từ chữ BInary digiT) o Ví dụ: Số nhị phân 10010101 có bit GIÁO TRÌNH TIN HỌC 10 Áp dụng định nghĩa tính chất hệ đếm số b nêu phần trước ta dễ dàng tính giá trị số nhị phân (hay số nhị phân có giá trị hệ thập phân) o Ví dụ:  100101012 = 1.27 + 0.26 + 0.25 + 1.24 + 0.23 + 1.22 + 0.21 + 1.20 = 128 + + + 16 + + + + = 14910  101110.012 = 1.25 + 0.24 + 1.23 + 1.22 + 1.21 + 0.20 + 0.2-1 + 1.2-2 = 32 + + + + + + + 0.25 = 45.2510 d Hệ thập lục phân (Hexa-decimal system, b=16) Hệ đếm thập lục phân hệ số b = có 16 ký tự, gồm 10 chữ số từ đến chữ in A, B, C, D, E, F để biểu diễn giá trị số tương ứng 10, 11, 12, 13, 14, 15 o Ví dụ:  A4B516 = 10.163 + 4.162 + 11.161 + 5.160 = 40960 + 1024 + 176 + = 4216510  10F.C816 = 1.162 + 0.161 + 15.160 + 12.16-1 + 8.16-2 = 256 + + 15 + 0.75 + 0.03125 = 271.7812510 Bảng quy đổi tương đương hệ đếm với (16 số hệ): Hệ 10 Hệ Hệ 16 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15 5.2 Các quy tắc chuyển đổi số hệ đếm: a Chuyển đổi số từ hệ đếm thập phân sang hệ đếm số b (nhị phân, thập lục phân) GIÁO TRÌNH TIN HỌC 10 Quy tắc: Muốn đổi số nguyên hệ thập phân sang hệ đếm số b ta đem số nguyên- N10 chia cho b thương số Kết số chuyển đổi Nb dư số phép chia viết theo thứ tự ngược lại o Ví dụ:  Đổi số 13 sang hệ nhị phân Vậy: 1310 = 11012  Đổi số 271 sang hệ thập lục phân: Vậy: 27110 = 10F b Chuyển đổi số từ hệ nhị phân sang hệ bát phân, thập lục phân ngược lại:  Đổi số 110001.0112 sang hệ bát phân Nguyên lý mã hóa nhị phân: Thông tin có nhiều dạng khác số, văn bản, hình ảnh, âm thanh… Khi đưa vào máy tính chúng biến đổi thành dạng chung – dãy bit Dãy bit gọi mã nhị phân thông tin mà biểu diễn 5.3 Biểu diễn thông tin máy tính: 5.3.1 Biểu diễn thông tin dạng số: Dữ liệu số máy tính gồm có hai dạng số nguyên số thực a Biểu diễn số nguyên: GIÁO TRÌNH TIN HỌC 10 Số nguyên gồm số nguyên không dấu số nguyên có dấu Tùy theo phạm vi giá trị tuyệt đối số mà ta dùng byte, byte, byte… để biểu diễn số nguyên o Số nguyên không dấu số dấu bit Xét số nguyên byte  byte có bit, bit có giá trị → biểu diễn 28=256 số nguyên dương, có giá trị từ (00000000) đến 255 (11111111)  Các bit byte đánh số từ phải sang trái số Ta gọi bit số hiệu nhỏ bit thấp bit số hiệu cao bit cao o Số nguyên có dấu thể máy tính dạng nhị phân số dùng bit làm bit dấu, người ta qui ước dùng bit cao làm bit dấu (S): số dương cho số âm bit lại biểu diễn giá trị tuyệt đối số biết dạng nhị phân → byte biểu diễn số nguyên phạm vi từ - 127 đến 127 b Biểu diễn số thực: Đối với số thực (real number) số có phần lẻ (hoặc phần thập phân) Trong số thực ta biểu diễn số thức hai dạng số thực với dấu chấm tĩnh (fixed point number) số thực với dấu chấm động (floating point number) o Số thực với dấu chấm tĩnh số thực có phần nguyên phần lẻ (phần thập phân) o Số thực với dấu chấm động số thực có dạng ±Mx10±K Trong 0.1 ≤ M < 1, M gọi phần định trị K số nguyên không âm gọi phần bậc, E số 10  Ví dụ:  Số thực 45.85 → +0.4585 x 102  Số thực: -678.5 → -0.6785 x 103  Số thực: -0.001357 → -0.1357 x 10-2 5.3.2 Biểu diễn thông tin dạng phi số: a Dạng văn (ký tự): GIÁO TRÌNH TIN HỌC 10 Như nguyên lý mã hóa nhị phân nêu phần trên, để biễu diễn ký tự chữ in thường, chữ số, ký hiệu máy tính phương tiện trao đổi thông tin khác, người ta phải lập mã (code system) qui ước khác dựa vào việc chọn tập hợp bit để diễn tả ký tự tương ứng Các hệ mã phổ biến: o Hệ thập phân mã nhị phân BCD (Binary Coded Decima) dùng bit o Hệ thập phân mã nhị phân mở rộng EBCDIC(Extended Binary Coded Decimal Interchange Code) dùng bit tương đương byte để biểu diễn ký tự o Hệ chuyển đổi thông tin theo mã chuẩn Mỹ ASCII (American Standard Code for Information Interchange) hệ mã thông dụng kỹ thuật tin học Hệ mã ASCII dùng nhóm bit bit để biểu diễn tối đa 128 256 ký tự khác mã hóa theo ký tự liên tục theo số 16 Để biểu diễn xâu ký tự (dãy ký tự), máy tính dùng dãy byte, byte biểu diễn cho ký tự theo thứ tự từ trái sang phải Ví dụ: Ta sử dụng mã ASCII để mã hóa xâu ký tự “TIN” nhận dãy byte sau: 01010100 01001001 01001110 b Các dạng khác: Các liệu phi số khác âm thanh, hình ảnh nhiều đại lượng vật lý khác muốn đưa vào máy phải số hoá (digitalizing) Có thể hiểu cách đơn giản khái niệm số hoá sau: liệu tự nhiên thường trình biến đổi liên tục, để đưa vào máy tính, cần biến đổi sang dãy hữu hạn giá trị số (nguyên hay thực) biểu diễn dạng nhị phân GIÁO TRÌNH TIN HỌC 10 §3 GIỚI THIỆU VỀ MÁY TÍNH KHÁI NIỆM HỆ THỐNG TIN HỌC: Hệ thống tin học dùng để nhập, xử lý, xuất truyền lưu trữ thông tin Hệ thống tin học gồm thành phần: o Phần cứng (Hardware): máy tính có thiết bị liên quan o Phần mềm (Software): chương trình o Sự quản lý điều khiển người SƠ ĐỒ CẤU TRÚC CÙA MỘT MÁY TÍNH: Tuy loại máy tính có hình dạng khác cấu tạo khác tùy theo mục đích sử dụng tất chúng có chung cấu trúc tổ chức sau: Hình: Sơ đồ cấu trúc máy tính Cấu trúc chung máy tính gồm có thành phần là: o Bộ xử lý trung tâm o Bộ nhớ trong/ngoài o Thiết bị vào/ra BỘ XỬ LÝ TRUNG TÂM (CPU – Central Processing Unit): Bộ xử lý trung tâm (Central Processing Unit), thường gọi tắt CPU, thành phần quan trọng máy tính, não máy tính, điều khiển hoạt động máy, có chức xử lý, tính toán liệu điều khiển chương trình lưu trữ nhớ Chất lượng máy tính phụ thuộc nhiều vào chất lượng CPU GIÁO TRÌNH TIN HỌC 10 10 Thông tin thể hình phương pháp ánh xạ nhớ (memory mapping), với cách hình việc đọc liên tục nhớ hiển thị (display) thông tin có vùng nhớ hình Chất lượng hình định tham số sau: o Độ phân giải: Số lượng điểm ảnh hình  Ví dụ hình: 1366 x 768 hiểu hình hiển thị 768 dòng với dòng có 1366 điểm ảnh  Độ phân giải cao thù hình ảnh hiển thị rõ nét, mịn Phân loại: hình ống phóng điện tử CRT, hình tinh thể lỏng LCD, hình plasma Hình: Một số loại hình 6.2 Máy in (Printer): Là thiết bị xuất để đưa thông tin giấy Máy in phổ biến loại máy in ma trận điểm(dot matrix) loại 24 kim, máy in phun mực, máy in laser trắng đen màu Hình: Một số loại máy in 6.3 Máy chiếu (Projector): Chức tương tự hình, thường sử dụng thay cho hình buổi Seminar, báo cáo, thuyết trình, … GIÁO TRÌNH TIN HỌC 10 15 6.4 Loa – Tai nghe (Speaker - Headphone): Các thiết bị để nghe Loa tích hợp sẵn máy tính hay gắn phía Hình: Loa tai nghe HOẠT ĐỘNG CỦA MÁY TÍNH: Máy tính điện tử thực dãy lệnh cho trước (chương trình) mà không cần sự tham gia trực tiếp người Chương trình dãy lệnh dẫn cho máy biết điều cần làm Mỗi lệnh thể thao tác xử lí liệu Tại thời điểm máy tính thực lệnh, nhiên thực nhanh Máy vi tính thực hàng trăm triệu lênh, siêu máy tính thực hàng tỉ lệnh giây Thông tin lệnh bao gồm: Địa lệnh ô nhớ Mã thao tác cần thực Địa ô nhớ liên quan Địa ô nhớ cố định nội dung ghi thay đổi trình máy làm việc Khi xử lí liệu máy tính xử lí đồng thời dãy bit không xử lý bit riêng lẻ độ dài 8, 16, 32, 64 phụ thuộc vào kiến trúc tùy máy GIÁO TRÌNH TIN HỌC 10 16 §4 BÀI TOÁN VÀ THUẬT TOÁN KHÁI NIỆM BÀI TOÁN Vấn đề xem vướng mắc cần giải Vấn đề biểu diễn dạng toán, có điều kiện ban đầu kết cần đạt tới A B A: Là giả thiết hay điều kiện ban đầu B: Là kết luận hay kết cần đạt tới :Là suy luận hay giải pháp giải vấn đề Bài toán tin học: Là việc ta muốn máy tính thực KHÁI NIỆM THUẬT TOÁN 2.1 Định nghĩa thuật toán Có nhiều định nghĩa thuật toán định nghĩa thường dùng: Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận Output cần tìm Đặc trưng thuật toán Tính dừng: thuật toán cần phải kết thúc sau số hữu hạn lần thực thao tác Tính xác định: sau thực số thao tác thuật toán phải kết thúc có thao tác xác định để thực bước Tính đắn: sau thuật toán kết thúc phải nhận Output cần tìm 2.3 Biểu diễn thuật toán Thường có hai cách để biểu diễn thuật toán, cách thứ mô tả bước thực (liệt kê), cách thứ hai sử dụng sơ đồ giải thuật (sơ đồ khối) Ngoài biểu diễn thuật toán mã giả a Mô tả bước thực (liệt kê) Là việc sử dụng ngôn ngữ thường ngày để biểu diễn thuật toán Phương pháp biểu diễn không yêu cầu người viết thuật toán người đọc thuật toán phải nắm quy tắc Tuy vậy, cách biểu diễn thường dài dòng, rõ cấu trúc thuật toán, đôi lúc gây hiểu lầm khó hiểu cho người đọc Gần quy tắc cố định việc thể thuật toán ngôn ngữ tự nhiên 2.2 GIÁO TRÌNH TIN HỌC 10 17 Ví dụ: Có 43 que diêm Hai người chơi luân phiên bốc diêm Mỗi lượt, người bốc từ đến que diêm Người bốc cuối thắng • Giải thuật để người trước thắng diễn tả cách liệt kê bước sau: – Bước 1: Bốc que đợi đối phương – Bước 2: Đối phương bốc (giả sử x que, 0 Max Max nhận giá trị c) Thuật toán Liệt kê Bước Nhập N dãy a1,…,aN; Bước Max ← a1, i ← 2; GIÁO TRÌNH TIN HỌC 10 18 Bước Nếu i > N đưa giá trị Max kết thúc; Bước Bước 4.1 Nếu > Max Max ← ai; Bước 4.2 i ← i+1 quay lại bước 3; Sơ đồ khối Nhập N dãy a1, ,aN Max ←a1, i ← Đúng i>N? Đưa Max kết thúc Sai a i> Max ? Sai Đúng Max ←a i ← i+1 3.2 Kiểm tra tính nguyên tố số nguyên dương a) Xác định toán Input: N số nguyên dương Output: “N số nguyên tố” “N không số nguyên tố” b) Ý tưởng Nếu N = N không số nguyên tố; Nếu < N < N số nguyên tố; Nếu N ≥ ước số phạm vi từ đến phần nguyên bậc hai N N số nguyên tố c) Thuật toán Liệt kê Bước Nhập số nguyên dương N; Bước Nếu N = thông báo N không số nguyên tố kết thúc; Bước Nếu N < thông báo N số nguyên tố kết thúc; Bước i ← 2; Bước Nếu i > [√𝑁] thông báo N số nguyên tố kết thúc; Bước Nếu N chia hết cho i thông báo N không số nguyên tố kết thúc; Bước i ← i + quay lại bước GIÁO TRÌNH TIN HỌC 10 19 Sơ đồ khối Nhập N dãy a1, ,aN Đúng N = 1? Sai Đúng N [√N] ? Sai Sai i ← i+1 Thông báo N không số nguyên tố kết thúc N chia hết cho i ? Đúng 3.3 Thuật toán xếp tráo đổi a) Xác định toán Input: Dãy A gồm N số nguyên a1, a2,…,aN; Output: Dãy A xếp lại thành dãy không giảm b) Ý tưởng Với cặp số hạng liền kề dãy, số đứng trước lớn số đứng sau ta đổi chỗ chúng cho Việc lặp lặp lại, đổi chỗ xảy c) Thuật toán Liệt kê Bước Nhập N số hạng a1, a2,…,aN; Bước M ← N; Bước Nếu M < đưa dãy A xếp kết thúc; Bước M ← M – 1, i ← 0; Bước i ← i + 1; Bước i > M quay lại bước 3; Bước Nếu > ai+1 tráo đổi ai+1 cho nhau; GIÁO TRÌNH TIN HỌC 10 20 Bước Quay lại bước 5; Sơ đồ khối Nhập N dãy a1, ,aN M ← N MM ? Sai Đúng Tráo đổi ai+1 > ai+1 ? Sai 3.4 Thuật toán tìm kiếm a) Xác định toán Input: dãy A gồm N số nguyên khác a1, a2,…, aN số nguyên k; Output: số i mà = k thông báo số hạng dãy A có giá trị k b) Ý tưởng Lần lượt từ giá trị thứ nhất, ta so sánh giá trị xét với khóa gặp số hạng khóa dãy xét hết mà giá trị khóa c) Thuật toán Liệt kê Bước Nhập N, số hạng a1, a2,…, aN khóa k; Bước i ←1; Bước Nếu = k thông báo số i kết thúc; Bước i ← i + 1; Bước Nếu i > N thông báo dãy A số hạng có giá trị k, kết thúc; Bước Quay lại bước Sơ đồ khối GIÁO TRÌNH TIN HỌC 10 21 Nhập N dãy a1, ,aN; k i← = k ? Đúng Đưa Max kết thúc Sai Sai i ← i+1 i>N? Đúng Thông báo dãy A số hạng có giá trị k kết thúc 3.5 Thuật toán tìm kiếm nhị phân a) Xác định toán - Input: dãy A tăng gồm N số nguyên khác a1, a2,…, aN số nguyên k; - Output: số i mà = k thông báo số hạng dãy A có giá trị k b) Ý tưởng Dùng dãy số xếp đơn điệu theo thứ tự tăng dần.Tư tưởng thuật toán chọn phần tử vị trí làm chốt, chia dãy thành phần có kích thước nhỏ Sau so sánh phần tử cần tìm k với chốt, k lớn chốt tìm nửa sau dãy, k nhỏ chốt tìm nửa trước dãy, trình tiếp tục tìm k dãy chia không phần tử c) Thuật toán Liệt kê Bước Nhập N, số hạng a1, a2,…, aN khóa k; Bước Dau ←1, Cuoi ←N; Bước Bước Bước Bước Giua ← [ 𝐷𝑎𝑢+𝐶𝑢𝑜𝑖 ]; Nếu aGiua = k thông báo số Giua, kết thúc; Nếu aGiua > k đặt Cuoi ← Giua -1, chuyển đến bước 7; Dau ← Giua + 1; GIÁO TRÌNH TIN HỌC 10 22 Bước Nếu Dau > Cuoi thông báo dãy A số hạng có giá trị k , kết thúc; Bước Quay lại bước Sơ đồ khối Nhập N dãy a1, ,aN; k Dau ←1, Cuoi ←N Giua ← [(Dau+Cuoi)/2]; aGiua = k ? Đúng Đưa Giua kết thúc Sai Đúng aGiua > k Cuoi ← Giua -1 Sai Dau ← Giua + Dau > Cuoi ? Sai Đúng Thông báo dãy A số hạng có giá trị k kết thúc GIÁO TRÌNH TIN HỌC 10 23 §5 NGÔN NGỮ LẬP TRÌNH Để diễn tả thuật toán ngôn ngữ cho máy tính thực Kết diễn tả thuật toán cho ta chương trình, ngôn ngữ viết chương trình gọi ngôn ngữ lập trình I NGÔN NGỮ MÁY Là ngôn ngữ lập trình hệ đầu tiên; máy tính có ngôn ngữ máy riêng; lệnh viết dạng mã nhị phân dạng mã hexa Mọi chương trình viết ngôn ngữ khác muốn thực thi máy tính phải dịch ngôn ngữ máy Ưu điểm: o Là ngôn ngữ để viết chương trình mà máy tính trực tiếp hiểu thực thi o Khi thác triệt để phần cứng máy tính Nhược điểm: o Không thuận lợi cho người việc viết đọc hiểu chương trình o Ghi nhớ máy móc dòng số ý nghĩa gợi nhớ ý nghĩa lệnh o Sử dụng nhiều câu lệnh để diễn tả thao tác thuật toán II HỢP NGỮ Là ngôn ngữ cấp thấp dùng để viết chương trình máy tính Cho phép người lập trình dùng từ viết tắt tiếng anh để thể lệnh - Ví dụ: để cộng hai ghi AX BX, hợp ngữ ta biểu điễn sau: ADD AX BX Một chương trình viết hợp ngữ phải dịch ngôn ngữ máy nhờ chương trình dịch hợp ngữ trước thực máy tính III NGÔN NGỮ BẬC CAO Còn gọi ngôn ngữ thuật toán Gần gũi với ngôn ngữ tự nhiên ngôn ngữ toán học Có tính độc lập cao, phụ thuộc vào loại máy tính chương trình dịch để dịch chương trình viết loại ngôn ngữ máy cho máy tính thực Chương trình dịch: chương trình có chức chuyển đổi chương trình viết ngôn ngữ lập trình bậc cao thành chương trình thực máy tính Ngôn ngữ bậc cao xây dựng vào năm 1957 ngôn ngữ FORTRAN Ngày có nhiều ngôn ngữ lập trình bậc cao PASCAL, C, C++, Visual Basic, Foxpro, C#, Java, PHP, Net, GIÁO TRÌNH TIN HỌC 10 24 §6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH Các bước để giải toán máy tính: XÁC ĐỊNH BÀI TOÁN Là xác định rõ hai thành phần Input Output toán Mối quan hệ chúng để lựa chọn thuật toán ngôn ngữ lập trình thích hợp Ví dụ: Bài toán tìm ước chung lớn hai số nguyên dương M N - Input: M N - Output: Ước chung lớn M N II LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN 2.1 Lựa chọn thuật toán Là bước quan trọng để giải toán Có thể có nhiều thuật toán để giải toán; Cần thiết kế chọn thuật toán phù hợp để giải toán cho trước Cần quan tâm đến tài nguyên như: thời gian thực hiện, số lượng ô nhớ,…Người ta quan tâm nhiều đến thời gian tài nguyên không tái tạo Ngoài cần quan tâm đến thiết kế lựa chọn thuật toán cho việc viết chương trình cho thuật toán phức tạp Tiêu chí thuật toán tính hiệu Cần vào lượng tài nguyên mà thuật toán đòi hỏi lượng tài nguyên thực tế cho phép 2.2 Diễn tả thuật toán Bài toán tìm ước chung lớn hai số nguyên dương M N Xác định toán - Input: M N - Output: Ước chung lớn (ƯCLN) M N Ý tưởng - Nếu M = N giá trị chung ƯCLN M N; - Nếu M < N ƯCLN(M, N) = ƯCLN (M, N – M); - Nếu M > N ƯCLN(M, N) = ƯCLN (M – N, N) Thuật toán o Liệt kê B1.Nhập M, N; B2.Nếu M = N lấy giá trị chung làm ƯCLN chuyển đến bước 5; B3.Nếu M > N M ← M – N quay lại bước 2; B4.N ← N – M quay lại bước 2; B5.Dưa kết ƯCLN kết thúc o Sơ đồ khối I GIÁO TRÌNH TIN HỌC 10 25 Nhập M N Sai M = N? Đúng Đưa M kết thúc III IV V M>N? Sai N←N–M Đúng M←M–N VIẾT CHƯƠNG TRÌNH Là việc lựa chọn cách tổ chức liệu sử dụng ngôn ngữ lập trình để diễn đạt thuật toán Nên chọn ngôn ngữ lập trình phần mềm chuyên dụng thích hợp với thuật toán Viết chương trình ngôn ngữ cần phải tuân theo quy định cú pháp (Syntax) ngôn ngữ Chương trình dịch phát thông báo lỗi mặt cú pháp HIỆU CHỈNH Sau viết xong, chương trình cần phải thử số Input tiêu biểu Nếu phát sai sót phải sửa chương trình thử lại Ví dụ: để kiểm tra tính đắn chương trình giải phương trình bậc ax + b = 0, ta sử dụng ba thử sau:  a = 0; b = (Thông báo pt có vô số nghiệm)  a = 0; b < > (Thông báo pt vô nghiệm)  a = 1, b = (Đưa nghiệm x = -1/3) VIẾT TÀI LIỆU Tài liệu phải mô tả toán, thuật toán, thiết kế chương trình, kết thử nghiệm hướng dẫn sử dụng Rất có ích cho người sử dụng chương trình việc đề xuất khả hoàn thiện thêm GIÁO TRÌNH TIN HỌC 10 26 §7 PHẦN MỀM MÁY TÍNH I PHẦN MỀM MÁY TÍNH Sau thực bước giải toán máy tính ta chương trình Chương trình xem phần mềm máy tính II PHẦN MỀM HỆ THỐNG III Là chương trình cung cấp dịch vụ theo yêu cầu chương trình khác trình máy tính hoạt động Ví dụ: Hệ điều hành phần mềm hệ thống quan trọng PHẦN MỀM ỨNG DỤNG Là phần mềm phát triển để giải việc thường gặp soạn văn bản, quản lý học sinh, … Ví dụ: MS Word, MS Excel, … Phần mềm công cụ: phần mềm dùng để tạo phần mềm khác Phần mềm tiện ích: phần mềm giúp người làm việc với máy tính thuận lợi §8 NHỮNG ỨNG DỤNG CỦA TIN HỌC I II III GIẢI CÁC BÀI TOÁN KHOA HỌC KĨ THUẬT Các toán thường có khối lượng tính toán lớn, không sử dụng máy tính ta thực phạm vi thời gian cho phép Hỗ trợ nhà thiết kế tính nhiều phương án mà in giấy cách trực quan Ví dụ: Thiết kế oto máy tính, thiết kế quy hoạch,… HỖ TRỢ VIỆC QUẢN LÍ Có phần mềm chuyên dụng hỗ trợ đắc lực cho người lĩnh vực Các hoạt động quản lý có số đặc điểm chung: o Xử lý số lượng lớn thông tin o Thông tin đa dạng Quy trình ứng dụng tin học dùng để quản lý gồm bước: o Tổ chức lưu trữ hồ sơ, chứng từ máy, bao gồm việc xếp chúng cách hợp lý để tiện dùng; o Xây dựng chương trình tiện dụng làm việc cập nhật ( sửa chửa, loại bỏ,…) hồ sơ; o Khai thác thông tin theo yêu cầu khác nhau: tìm kiếm, thống kê, in biểu bảng,… TỰ ĐỘNG HÓA VÀ ĐIỀU KHIỂN GIÁO TRÌNH TIN HỌC 10 27 IV V VI VII VIII Giúp người có quy trình công nghệ tự động hóa linh hoạt, xác, chi phí thấp, hiệu Ví dụ: phóng vệ tinh nhân tạo; bay lên vũ trụ;…… TRUYỀN THÔNG Tạo mạng máy tính toàn cầu nhờ phát triển nhiều dịch vụ tiện dụng, đa dạng SOẠN THẢO, IN ẤN, LƯU TRỮ, VĂN PHÒNG Việc biên soạn văn hành chính, lập kế hoạch công tác, tiện lợi, nhanh chóng hiệu TRÍ TUỆ NHÂN TẠO Giúp người tính đến yếu tố, tình liên quan đến việc đó, đưa số lựa chọn tương đối tốt với lý giải kèm theo GIÁO DỤC Việc học tập hiệu hơn, việc dạy học sinh động hơn, người học hứng thú Các hình thức đào tạo qua mạng ngày phổ biến GIẢI TRÍ Sử dụng phần mềm máy tính tạo cho người có nhiều phương tiện giải trí phong phú như: nghe nhạc, xem phim, chơi game, mạng xã hội,… §9 TIN HỌC VÀ XÃ HỘI I II ẢNH HƯỞNG CỦA TIN HỌC ĐỐI VỚI SỰ PHÁT TRIỂN CỦA XÃ HỘI Tin học áp dụng hầu hết lĩnh vực đời sống xã hội, mang lại hiệu to lớn Tin học góp phần phát triển kinh tế nâng cao dân trí Tin học thúc đẩy khoa học phát triển ngược lại khoa học thúc đẩy tin học phát triển Sự phát triển tin học làm cho xã hội có nhiều nhận thức cách tổ chức hoạt động Nhiều quốc gia đầu tư nâng cao dân trí tin học Nền tin học quốc gia xem phát triển đóng góp đáng kể vào kinh tế quốc dân tri thức chung giới XÃ HỘI TIN HỌC HÓA Các mặt xã hội điều hành hỗ trợ hệ thống mạng máy tính kết nối vùng, quốc gia Giao dịch mặt đối mặt dần người phối hợp hoạt động hiệu Lao động thủ công thay lao động trí óc, nâng cao hiệu công việc GIÁO TRÌNH TIN HỌC 10 28 III VĂN HÓA VÀ PHÁP LUẬT TRONG XÃ HỘI TIN HỌC HÓA Phải có ý thức bảo vệ hông tin tài nguyên quý giá Mọi hành động vô ý thức cố ý làm ảnh hưởng đến hoạt động bình thường hệ thống trái pháp luật Giáo dục, đào tạo hệ nhằm đáp ứng yêu cầu xã hội Đưa điều luật bảo vệ thông tin xử lý tội phạm tin học GIÁO TRÌNH TIN HỌC 10 29

Ngày đăng: 18/10/2016, 08:03

TỪ KHÓA LIÊN QUAN

w