Bài giảng Tin học đại cương - Chương 1: Cơ bản về tin học cung cấp cho người học các kiến thức: Tổng quan về máy tính, tổng quan về mạng máy tính, tổng quan về việc giải quyết bài toán trên máy tính. Mời các bạn cùng tham khảo nội dung chi tiết.
TIN HỌC ĐẠI CƯƠNG Chương 1: Cơ tin học ttdung@utc2.edu.vn Nội dung Tổng quan máy tính • • • • • Giới thiệu Thơng tin- Biểu diễn xử lý thông tin Các hệ đếm Cấu tạo chung MTĐT Tổng quan hệ điều hành Tổng quan mạng máy tính • • • • • Cơ sở mạng Phương thức truyền thông mạng Internet Email Internet World WideWeb Tổng quan việc giải toán máy tính • • • • • Khái niệm vấn đề toán Các bước giải toán máy tính Thuật tốn thuật giải Biểu diễn thuật toán thuật giải Một số toán thường gặp ttdung@utc2.edu.vn 1.1 Giới thiệu Tin học: – Là ngành khoa học chuyên nghiên cứu phương pháp, q trình xử lý thơng tin cách tự động phương tiện kỹ thuật (chủ yếu máy tính điện tử) Phần cứng (hardware) – Là thiết bị vật lý mặt khí, điện tử (như vi mạch, dây nối, nhớ…v.v) cấu tạo lên máy tính – Phần cứng xử lý thơng tin mức mức tín hiệu nhị phân (0 | 1) Phần mềm (software) – Là chương trình điều khiển hoạt động phần cứng máy vi tính – Phần mềm đạo việc xử lý liệu ttdung@utc2.edu.vn Thông tin – Biểu diễn xử lý thông tin Thông tin (Information): – Là khái niệm trừu tượng, bao gồm kiện đối tượng thời điểm cụ thể Thông tin giúp người nhận biết, hiểu có đánh giá thân đối tượng Dữ liệu (Data): – Là Thơng tin mã hố theo quy tắc Máy tính xử lý liệu mã hoá dạng nhị phân (các bit 0, 1) – Đơn vị đo liệu: • Bit • Byte: Byte=8 Bits • KB: KB= 1024 Bytes • MB: MB= 1024 KB • GB: 1GB= 1024 MB • TB: 1MB= 1024 GB • PB: 1PB = 1024 TB ttdung@utc2.edu.vn Thông tin – Biểu diễn xử lý thơng tin Mã hố thơng tin máy tính – Muốn máy tính lưu trữ, xử lý thông tin, thông tin phải biến đổi thành tín hiệu điện, tín hiệu điện tương ứng với trạng thái (đóng mạch/hở mạch) Các biến đổi gọi mã hoá thơng tin – Mã hóa thơng tin dạng văn đơn giản (các ký tự) người ta dùng bảng mã ASCII gồm 256 (= 28) ký tự đánh số từ – 255 Mỗi ký tự theo bảng mã ASCII tương ứng với Byte nhớ máy tính – Trong mã Unicode người ta dùng byte để mã hoá ký tự → Bộ mã Unicode biểu ký tự ngôn ngữ giới ttdung@utc2.edu.vn Các hệ đếm • Hệ đếm tập hợp ký hiệu (các chữ số bản) để biểu diễn số xác định giá trị biểu diễn số • Ví dụ: • Hệ thập phân (cơ số 10, decimal) • Hệ nhị phân (cơ số 2, binary) • Hệ bát phân (cơ số 8, octal) • Hệ thập lục phân (cơ số 16, hexadecimal) ttdung@utc2.edu.vn Chuyển từ số sang số 10 (anan-1…a0)2 = an.2n + an-1.2n-1 +…+ a0.20 Ví dụ: • 0B = 0; 10B = • 1001B = 1.23 + 0.22 +0.21 + 1.20 = ttdung@utc2.edu.vn Chuyển từ số 10 sang số D = số cần chuyển Chia D (chia nguyên) liên tục cho kết phép chia = Lấy phần dư lần chia viết theo thứ tự ngược lại • Kết quả: 1011 ttdung@utc2.edu.vn Chuyển từ số 10 sang số (tt) Phần nguyên – Chia liên tiếp cho – Viết phần dư theo chiều ngược lại Phần thập phân – X = phần thập phân – Nhân X với → kết quả: • Phần nguyên (0,1) • Phần thập phân – Lặp lại từ bước đầu, đến muốn dừng kết quả=0 – Viết phần nguyên theo thứ tự kết ttdung@utc2.edu.vn Chuyển đổi số 16 số 10 Từ hệ 10 → hệ 16 –Thực chia liên tiếp cho 16 –Lấy phần dư viết ngược lại Từ hệ 16 → hệ 10 • (anan-1…a0)H= an.16n + an-1.16n-1 +…+ a0.160 ttdung@utc2.edu.vn 10 Ví dụ Nhập số nguyên dương n số thực x.Tính 𝑆 =2 + Nhập số nguyên dương n số thực x.Tính 𝑆 =2 + 1+𝑥 +𝑥2 +𝑥𝑛 + + ⋯+ 𝑛 +1 𝑥 +3 𝑥 +5 𝑥 + 2𝑛 +1 + + ⋯+ 11 2𝑛 +7 Nhập số nguyên dương n số thực x.Tính 𝑆 = 𝑥 + (1 + 𝑥)3+(2 + 𝑥)3+ ⋯+ (𝑛 +𝑥)3 Nhập số thực x Tính 𝑆= 𝑥+ 𝑥 +⋯+ (n lần) Nhập số nguyên dương n Tính 1.3.5 ⋯.𝑛 𝑆 =ቊ 2.4.6 ⋯.𝑛 𝑥 (nlẻ) (nchẵn) Nhập số nguyên dương n số thực x.Tính 𝑆= ttdung@utc2.edu.vn 2013 +𝑥 + 𝑥𝑛 + ⋯+ 𝑛! 2! 𝑥2 66 Bài tốntìm gtln(gtnn) Begin Input: n i = 1, 2, …,n i = 1, 2, …,n Max N) • In S ttdung@utc2.edu.vn 70 Thiết kế thuật toán Các bước giải toán máy tính: – – – – – Xác định tốn Thiết kế giải thuật Viết chương trình Hiệu chỉnh, làm tinh Viết tài liệu Thiết kế giải thuật từ yêu cầu toán, diễn đạt giải thuật giải tốn – Mơ-đun hoá việc giải toán – Tinh chỉnh bước Phân tích giải thuật – Xem xét tiêu chuẩn giải thuật có thoả mãn khơng, có đến mức độ ttdung@utc2.edu.vn 71 Thiết kế từ xuống Các tốn lớn đòi hỏi giải thuật có quy mơ lớn Mơ-đun hố – Bài tốn = nhiều mô-đun – Mô-đun lớn = nhiều mô-đun – Việc giải mô-đun mức thấp “đủ đơn giản” → Chia để trị • Thiết kế từ xuống (top- down design): Bài toán xem xét từ tổng quát đến chi tiết ttdung@utc2.edu.vn 72 Bài tốn giải phương trình bậc GIẢI PHƯƠNG TRÌNH BẬC II NHẬP HỆ SỐ TRƯỜNG HỢP SUY BIẾN XỬ LÝ TRƯỜNG HỢP KHƠNG SUY BIẾN TÍNH DELTA ttdung@utc2.edu.vn HIỂN THỊ KẾT QUẢ TÍNH NGHIỆM THEO DELTA 73 Phương pháp tinh chỉnh bước Phương pháp tinh chỉnh bước (stepwise refinement) – Ban đầu, sử dụng ngôn ngữ tự nhiên để diễn tả cơng việc giải thuật – Các bước sau, công việc chi tiết hố dần dần, ngơn ngữ tự nhiên thay giả ngôn ngữ – Cuối cùng, giả ngôn ngữ chuyển sang ngôn ngữ lập trình Đặc điểm – Thể rõ ý tưởng thiết kế từ xuống – Gắn liền việc thiết kế giải thuật với việc lập trình ttdung@utc2.edu.vn 74 Bài toán xếp dãy số (tăng dần) Phác thảo “thô” với “ý tưởng bản” – “Từ dãy số chưa xếp, tìm số nhỏ đưa lên đầu” – Lặp lại quy trình tới dãy chưa xếp trở thành rỗng Ban đầu, dãy chưa xếp dãy cho, dãy xếp rỗng Lưu trữ dãy “mảng” (danh sách số), đưa số nhỏ (aj) lên đầu danh sách đổi chỗ với số Đổi chỗ – Số trung gian := aj – aj := số – Số : = số trung gian …, cuối ta chương trình với ngơn ngữ cụ thể ttdung@utc2.edu.vn 75 Phân tích thuật tốn Tính đắn – Chạy thử nghiệm, đối chiếu kết → phát tính sai – Dùng cơng cụ tốn học để chứng minh → tính đắn Tính đơn giản – Giải thuật hiểu, dễ lập trình khơng? Tính hiệu – Đơn giản chưa hiệu – Đối với nhiều toán, tính hiệu quan trọng, giải thuật đơn giản lại gây tốn tài nguyên, chạy chậm – Thời gian tính tốn → Độ phức tạp tính tốn – Những giải thuật hiệu phải có độ phức tạp (thời gian) tính tốn chấp nhận Tính hữu hạn dừng – Chứng minh, suy luận – Chạy thử ttdung@utc2.edu.vn 76 Một số thuật toán thường gặp Bài toán tìm kiếm – Thuật tốn tìm kiếm tuyến tính – Thuật tốn tìm kiếm nhị phân Bài tốn tìm số USCLN số – Thuật toán lặp, kiểm tra giá trị từ 1,2, ,min(a, b) – Thuật toán phân tích số nguyên cho thành thừa số nguyên tố – Thuật toán euclide Bài toán xếp dãy tăng/giảm dần – – – – Thuật Thuật Thuật Thuật toán toán toán toán ttdung@utc2.edu.vn bọt (bubble sort) chọn trực tiếp (selection sort) chèn trực tiếp (insertion sort) vun đống (heap sort) 77 Một số thuật toán thường gặp (tt) Thuật toán đệ quy – Định nghĩa: Một thuật toán gọi đệ quy giải tốn cách rút gọn liên tiếp toán ban đầu tới toán đồng dạng với liệu đầu vào nhỏ – Ví dụ: Bài tốn tính n! Bài tốn tìm số thứ n dãy số Fibonaci Bài tốn tìm USCLN số a, b Bài tốn tìm kiếm nhị phân Bài tốn tháp Hà Nội ttdung@utc2.edu.vn 78 Bài tập Vẽ sơ đồ biểu diễn thuật tốn tìm trung bình cộng dãy số a1, a2, …, an Vẽ sơ đồ biểu diễn thuật tốn tìm TBC số chẵn chia hết cho dãy số a1, a2, …, an Vẽ sơ đồ biểu diễn thuật toán đếm xem dãy số a1, a2, …, an có cặp có số liên tiếp (vd: a2, a3) thỏa điều kiện tích chúng chia hết tổng chúng Hãy vẽ sơ đồ thuật tốn tìm in số số nguyên tố dãy số a1, a2, ,aN ttdung@utc2.edu.vn 79 Bài tập (tt) Hãy vẽ sơ đồ thuật tốn tìm số phần tử dãy a1, a2, ,aN có cặp (ai, aj) với i≠j thỏa điều kiện ai+aj = x Hãy vẽ sơ đồ thể thuật toán đổi số nguyên dương N sang hệ đếm số (hệ nhị phân) Hãy vẽ sơ đồ thể thuật toán giải phương trình bậc 2: ax2+ bx + c = Hãy vẽ sơ đồ thể tốn tìm tích ma trận Amxn Bnxp Hãy vẽ sơ đồ thể thuật tốn tìm độ dài đường gấp khúc qua N điểm mặt phẳng M1(x1, y1), M2(x2, y2), ,Mn(xn, yn) Vẽ sơ đồ thể thuật toán xếp lại dãy số a1, a2, ,an theo thứ tự giảm dần Vẽ sơ đồ thể thuật tốn tìm phần tử dãy a1, a2, ,an thỏa điều kiện = ai-1 + ai-2 + + a2+ a1 10 Vẽ sơ đồ thể thuật tốn tìm trung bình cộng phần tử số phương dãy a1, a2, ,aN 80 ... PB: 1PB = 1024 TB ttdung@utc2.edu.vn Thông tin – Biểu diễn xử lý thơng tin Mã hố thơng tin máy tính – Muốn máy tính lưu trữ, xử lý thơng tin, thơng tin phải biến đổi thành tín hiệu điện, tín... chữ số bản) để biểu diễn số xác định giá trị biểu diễn số • Ví dụ: • Hệ thập phân (cơ số 10, decimal) • Hệ nhị phân (cơ số 2, binary) • Hệ bát phân (cơ số 8, octal) • Hệ thập lục phân (cơ số 16,... thông tin Thông tin (Information): – Là khái niệm trừu tượng, bao gồm kiện đối tượng thời điểm cụ thể Thông tin giúp người nhận biết, hiểu có đánh giá thân đối tượng Dữ liệu (Data): – Là Thông tin