Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,84 MB
Nội dung
TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH MƠN HỌC: NHẬP MÔN TIN HỌC PHẦN I – NHỮNG KHÁI NIỆM CƠ BẢN - HỆ ĐIỀU HÀNH Giảng viên: ĐÀO TĂNG KIỆM Bộ môn : TIN HỌC XÂY DỰNG Hà nội 2011 Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm PHẦN NHỮNG KHÁI NIỆM CƠ BẢN - HỆ ĐIỀU HÀNH I NHỮNG KHÁI NIỆM CƠ BẢN Đối tượng Tin học (TH) 1.1 Định nghĩa : TH khoa học nghiên cứu cấu trúc & tính chất TT, thu thập,lưu trữ & truyền tin 1.2 Nguồn gốc Toán học ( logic toán ): đảm bảo toán học,thuật toán Vật lý ( điện tủ) :Thiết bị tính tốn, TB lưu trữ,xử lý,truyền tin 1.3 Các ngành liên quan đến TH : - Kỹ thuật chế tạo máy tính - Xây dựng ngơn ngữ lập trình - Lý thuyết thuật tốn lập trình - Cấu trúc liệu Quản trị liệu - Một số lĩnh vực chuyên sâu Thông tin & xử lý thông tin 2.1 Thông tin (TT) - Khái niệm: TT đa dạng chữ,số, âm thanh, hình ảnh … - Tính chất thơng tin: Xác đinh qua định tính định lượng - Đối tượng thông tin: TT phục vụ cho nhiều đối tượng: khoa học, xã hội , truyền thông, giải trí 2.2 Tin học : mơn khoa học lưu trữ, xử lý truyền tin 2.3 Xử lý thông tin - Xử lý thông tin trình lưu trữ, cách lưu trữ, tìm kiếm truyền tin - Để biểu diễn thông tin người ta sử dụng kỹ thuật số (rời rạc rời rạc hóa thông tin thành hai số &1) T/tin vào Xử lý thông tin T/tin Theo tập quy tắc xác định trước 2.4 Lưu trữ, tìm kiếm & truyền tin Các kiểu liệu : + Data thông tin cụ thể ( chưa xử lý ) + Information liệu máy tính xử lý + Dữ liệu thơng thường có nhiều kiểu khác nhau: nguyên, thực, ký tự, logic… Bộ môn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm + Dữ liệu có nhiều cách cấu trúc: Dữ liệu đơn ; Dữ liệu mảng; Bản ghi ; Tệp ; Cơ sở liệu ; Hệ quản trị CSDL 2.5 Các ứng dụng Tin học: - Xử lý toán khoa học kỹ thuật: lĩnh vực bản, kỹ thuật, công nghệ - Xử lý tốn xã hội: thống kê, tìm kiếm, lưu trữ … - Phục vụ cho tốn quốc phịng, vũ trụ … - Phục vụ tốn thơng tin :xử lý, truyền tin, đa phương tiện … - Các lĩnh vực văn hóa nghệ thuật, điện ảnh, truyền hình - Các lĩnh vực giải trí … Sự phát triển cấu trúc máy tính 3.1 Lịch sử phát triển máy tính: Các hệ Thế hệ thứ nhất: 1950 1959 Thiết bị - Phần cứng Đặc điểm bật Bóng đèn điện tử Bóng bán dẫn Thế hệ thứ hai Có nhớ lớn 1959 - 1963 Nhiều xử lý làm việc Mạch tích hợp Thế hệ thứ ba: Có hình màu 1964 – 1980 Thiết bị ngoại vi Hệ ĐH phát triển Mạch tích hợp lớn Các vi xử lý Intel, Thế hệ thứ tư Motorola, Pentium 1980 đến Tốc độ Ngàn FT/s Vạn FT/s Triệu FT/s Tỷ FT/s Ngôn ngữĐặc điểm Ngơn ngữ ký hiệu Ngơn ngữ thuật tốn FORTRAN,COBO, MINSK-32 ALGOL Ngôn ngữ bậc cao Phần mềm chuyên dụng, tự động hóa thiết kế Ngơn ngữ trí tuệ nhân tạo Hệ xử lý TT tự động Cấu trúc máy vi tính: Phần cứng thiết bị, máy móc để lưu trữ, xử lý & truyền tin Cấu trúc bên : Màn hình Cây (CPU) Bàn phím Thiết bị ngoại vi Sơ đồ cấu tạo chức : Bộ môn Tin học Xây dựng Các máy tính đặc trưng EDVAC STRELA URAL IBM 360, EC-1050, Máy mini Máy vi tính Mạng cục & diện rộng Bộ nhớ Thiết bị nhập Bộ điều khiển Đvị xử lý TT Thiết bị xuất Bộ số học Lơgic Giáo trình Nhập môn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm 3.3 Các phận chức năng: Bộ nguồn - Cung cấp nguồn điện cho phận dàn máy - Chuyển đổi nguồn điện phù hợp với bo mẹ - ổn định dòng điện - Cung cấp đầu nối nguồn - Thông gió cho thành phần nằm vỏ máy Bo mẹ - Là bo (bảng mạch ) thành phần quan trọng, nơi kết nối phận máy tính - Các phận bo mẹ: ổ cắm cho CPU ; cắm thêm nhớ truy xuất nhanh; ổ cắm cỏc RAM; Các rãnh cắm cho thiết bị ngoại vi; Các cổng giao tiếp với thiết bị ngoại vi - Mỗi loại bo thích hợp với VXL & loại RAM Bộ xử lý trung tâm -CPU - Là não máy tính,có nhiệm vụ thi hành chương trình lưu nhớ - CPU gồm: - Bộ điều khiển - Bộ số học lôgic (ALU) - Các ghi (Register):là nhớ tốc độ cao ( đếm chương trình, ghi lệnh ) - Các loại vi xử lý Intel: - 4004 -8088 (máy PC); 80286 - 80486 (máy XT & AT); Pentium - PentiumIV (máy Pentium ) Bộ nhớ - Bộ nhớ - Bộ nhớ trong: ROM, RAM, Cache - Tốc độ truy cập nhanh, gắn chặt máy, lưu lại thông tin gần nhất, tắt máy bị DL - RAM :bộ nhớ truy nhập ngẫu nhiên ,lưu liệu, chương trình, kết ( tạm thời ) - ROM : nhớ tĩnh,cài sẵn máy,lưu thông tin CT & số liệu cho hoạt động hệ thống MT Tốc độ truy cập cao, không bị tắt máy, không biến đổi - PROM,EPROM,EEPROM :chỉ đọc ,sản xuất sẵn để cài thêm - Bộ nhớ mở rộng (cache) : đặt bo mẹ để tăng tốc độ xử lý máy Bộ nhớ - Bộ nhớ - Bộ nhớ : Lưu trữ lâu dài liệu, chương trình, Phục vụ cho mục đích cá nhân, Có thển gắn vào máy để ngồi, Có thể chép, thay đổi, xóa … - Các loại: Băng từ, đĩa cứng, đĩa mềm, máy in, máy vẽ CD ROM, USB Hệ thống vào/ra: Chức năng: Trao đổi liệu vi xử lý hệ thống bên ngồi - Các thành phần: Bộ mơn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm + Các thiết bị ngoại vi + Các mạch ghép nối Đường truyền :Là dây dẫn song song khắc bảng mạch nối phận với máy tính Các loại đường truyền: Bus vào ; Bus xử lý; Bus địa chỉ; Bus nhớ ( nối CPU & RAM ) Cổng nơi nối máy tính với thiết bi bên ngồi.Có loại cổng cổng nối tiếp & cổng song song ( theo kiểu truyền ) 3.4 Nguyên lý làm việc : - Làm việc theo chương trình - Thi hành lệnh Cách biểu diễn số máy tính - Các hệ đếm: 4.1 Các hệ số đếm: Trong máy tính thường dùng hệ số 10, 8, 16 Hệ số 60 (cổ đại ): phút, giây Hệ 16 (hexa): từ 0-10, A-F Hệ 12 (tá ) : tháng, Hệ 10 (thập phân): cho ngành khoa học Hệ (bát phân): dựng 0-7 Hệ (nhị phân ):0 & 4.2.Chuyển đổi hệ : Để chuyển đổi số hệ 10 sang hệ theo cơng thức : - Hệ 10 : abcd …( n số) - Hệ : hệ x Công thức chung : a*x n-1 + b* x n-2+ … d*x0 - Ví dụ: Từ hệ -10 : Dùng công thức : a.23 + b.22 + c.21 + d.20 Số 1AD (16) = 1*162 + 10*161 +13*160 = 429 (10) - Từ hệ 10 sang hệ 2: chia cho 2, lấy phần dư (0,1) từ lên trên.Ví dụ: 25 12 Hệ 10 :25 Hệ :11001 1 4.3 Đơn vị đo thông tin: - Dùng hai ký tự để lưu trữ xử lý thông tin, gọi bit - Các đơn vị đo: byte, Kb, Mb, Gb Trong đó: Byte (B) = 8bit ; kilo byte (KB) = 1024 byte ; 1Giga byte (GB) = 1024 KB ; Tita byte (TB) = 1024 GB Bộ môn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm Mã hóa thơng tin - Mã hóa dùng số để chuyển đổi thông tin, dễ cho lưu trữ, xử lý, tìm kiếm - Morse:dùng nốt chấm, gạch để mã hóa - Telex : dùng ký tự thay cho dấu ( x: ~; s:’ ) - ASCII: mã tiêu chuẩn Mỹ để trao đổi thơng tin,có thể mã hóa 256 ký tự - UNICODE: mã hóa 65536 ký tự (cho ký tự & loại chữ viết) (16 bit) Tổng quan phần mềm: 6.1 Phần mềm phân loại phần mềm: Khái niệm: Phân loại: + Phần mềm hệ thống : MS-DOS,WINDOWS + Phần mềm ứng dụng - Bộ phần mềm: viết theo yêu cầu chung,có quyền, số lượng lớn ví dụ: Word, Excel, AutoCAD, SAP, NC - Phần mềm tự viết : đáp ứng cho nhu cầu cụ thể ,không bán rộng rãi, khơng kiểm duyệt 6.2 Lệnh chương trình Lệnh: qui ước ngơn ngữ lập trình mà người lập trình phải tn theo, máy tính nhận diện nhằm thực thao tác cụ q trình xử lý tốn Nó tổ hợp hai trạng thái ngắt mạch (ký hiệu &1 ) Chương trình: Là chuỗi lệnh mơ tả cách thực nhiệm vụ Các loại chương trình: - Chương trình nguồn: (source): viết ngơn ngữ lập trình: Pascal, Basic, C++… - Chương trình dịch: biên dịch thơng dịch Biên dịch thay tất lệnh chương trình nguồn thành chuỗi lệnh ngơn ngữ máy lưu trữ máy Thông dịch nghĩa tiến hành kiểm tra lệnh chương trình nguồn thi hành thẳng chuỗi lệnh ngơn ngữ máy khơng lưu lại chương trình dịch - Chương trình thực hiện: (execute): chương trình dịch sang ngơn ngữ máy thực độc lập với phần mềm ngôn ngữ 6.3 Ngôn ngữ lập trình Ngơn ngữ: Là tập hợp qui định, câu lệnh, đưa vào máy cho máy tính nhận diện thi hành Các loại ngôn ngữ: - Ngôn ngữ máy:dựa qui ước mạch điện - Ngôn ngữ ký hiệu: Assembly - Ngôn ngữ thuật tốn : Fortran - Ngơn ngữ lập trình: lập trình cấp thấp -> LT cao: … Bộ môn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm Khái niệm mạng Internet Về bản, mạng máy tính số máy tính nối kết với theo cách trao đổi thơng tin cho 7.1 Các loại mạng: LAN: Local Area Network: : nối kết máy tính phạm vi hẹp, theo đường truyền tốc độ cao cáp quang MAN: Metropolitan Area Network : : nối kết máy tính thành phố theo đường truyền tốc độ cao WAN: Wide Area Network : nối kết máy tính quốc gia hay quốc gia châu lục GAN: Global Area Network : nối kết máy tính châu lục với thông qua mạng viễn thông vệ tinh 7.2 Internet dịch vụ - Khái niệm mạng Internet : Internet liên mạng, mạng mạng có đặc điểm máy tính kết nối với thơng qua mạng nhất; Internet không thuộc quyền quản lý - Các dịch vụ : + Thư tín điện tử - Email + Dịch vụ trao đổi tệp liệu – File transfer + Dịch vụ siêu văn :- Hypertext -World Wide Web + Phục vụ hội thảo chuyên đề - News Group- Usenet + Truy cập thông tin từ xa –Remote Login :hội thảo, học trực tuyến … + Dịch vụ tìm kiếm tài nguyên II HỆ ĐIỀU HÀNH Khái niệm Hệ điều hành: Hệ điều hành công cụ phần mềm nhằm trợ giúp đắc lực cho người phần mềm ứng dụng khác tận dụng tối ưu tính máy tính Tùy hệ máy tính mà có HĐH khác Có số nhóm : Hệ điều hành cho máy tính lớn hệ điều hành đơn nhiệm ( thực nhiệm vụ thời điểm ) hệ điều hành đa nhiệm ( tiến hành đồng thời nhiều nhiệm vụ khác thời điểm ) Chức nhiệm vụ hệ điều hành Nhiệm vụ hệ điều hành quản lý nhớ, quản lý trình xử lý tin hệ thống, quản lý thiết bị ngoại vi, cấu hình hệ thống Theo khía cạnh khác, hệ điều hành có chức như: kiểm sốt làm cho máy tính hoạt động, liên kết phần cứng, phần mềm người, tổ chức đĩa mềm đĩa cứng Bộ môn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm Máy tính làm việc sau nạp hệ điều hành Hệ điều hành nạp vào máy từ đĩa mềm cài sẵn đĩa cứng (tự động nạp sau lần bật máy ) Có hai kiểu khởi động máy : Cold Boot – bật máy : nhấn nút Power cho bắt đầu làm việc với máy , lúc ROM dùng POST chương trình kiểm sốt nhớ phận khác sau tìm kiếm phần MS-DOS đĩa mềm đĩa cứng đọc vào nhớ – gọi nạp hệ điều hành Thông thường , ưu tiên tìm kiếm hệ điều hành ổ đĩa A , hi đọc đến ổ ổ bật sáng , nế u kết tìm kiếm có kết qủa , hệ điều hành nạp máy sẵn sàng làm việc , không máy thông báo Non System error ngừng hoạt động Warm Boot : khởi động lại máy trường hợp máy làm việc bị treo bị dừng chương trình , dịng điện cịn trì máy , lúc khởi động lại máy cách nhấn đồng thời ba phím Ctrl + Alt + Del Khởi động theo cách liệu nhớ bị xoá , nhiên khơng làm cơng việc POST mà nạp lại hệ điều hành , tốn thời gian đỡ hao mòn máy Một số khái niệm bản: 3.1 Đặt tên thiết bị Trong trình liên kết phần cứng, phần mềm người , thường truy nhập liệu, thông tin qua số thiết bị sau : Màn hình , bàn phím : ký hiệu CON Cổng ghép nối vào nối tiếp song song : ký hiệu AUX , COM1 Các máy in : ký hiệu PRN , LPT1, LPT2, LPT3 3.2 Bộ chữ viết Trong lệnh hệ điều hành sử dụng hệ chữ la tinh A-Z , chữ thường chữ in số ký hiệu / , * ,\ , ? 3.3 Tệp thuộc tính tệp Tệp tập hợp liệu liên quan đến chứa vùng đĩa đặt tên Ví dụ sách chương sách, hồ sơ, chương trình, vẽ chứa tệp Để phân biệt tệp với nhau, tệp phải có tên khác Tên tệp gồm hai phần, phần tên phần mở rộng ( đuôi ), hai phần phải ngăn cách dấm chấm ( ) Ví dụ Decuong.Doc , Ketcau.Dat , GPT.exe Tên tệp bao gồm chữ, số dấu viết chữ hoa chữ thường Số ký tự tên cách viết chúng khác phần mềm hệ thống Thông thường tên không nên ký tự không sử dụng dấu cách ký tự.Tuy Bộ môn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm nhiên số phần mềm, số lượng ký tự tên khơng hạn chế sử dụng dấu cách (trong Word Perfect ) Phần tên đặt bất kỳ, tuỳ theo ý thích người tạo tệp, phần đuôi tệp thông thường phải theo qui ước phần mềm tạo Bởi hầu hết trường hợp, nhìn vào tệp, người sử dụng đốn biết loại Ví dụ : - Các loại tệp có phần mở rộng COM EXE (viết tắt Command Executable) cho biết tệp chứa mệnh lệnh dẫn dắt cho máy tính thi hành nội dung viết dạng mã máy - Các tệp chương trình , phần thường tên tắt ngơn ngữ lập trình chương trình nguồn : TINH.PAS , DATN.BAS , TONG FOR - Các tệp có phần mở rộng Sys tệp hệ thống : Config Sys , Himem.sys - Các tệp có TXT, DOC, DAT thường tệp văn - Các tệp có Bat ( Bacth File ) thường chứa nhóm lệnh xếp theo thứ tự để thực dãy lệnh liên tiếp ,nó loại chương trình , lại chứa chương trình khác Thuộc tính tệp : Trong số trường hợp, người sử dụng muốn tệp có tính khác với tệp thông thường đựoc bảo vệ, lưu trữ ẩn khai báo thuộc tính sau trình tạo cất tệp: - Chỉ đọc ( Read only ): tệp khai báo thuộc tính cho phép đọc thông tin tệp mà không sửa chữa ghi thông tin vào tệp - Ẩn ( Hidden ): tệp có thuộc tính ẩn khơng tên danh sách tên tệp thư mục cất dấu tên đĩa - Dành cho hệ thống ( System ): tệp phục vụ trực tiếp hệ thống máy tính, điều khiển quản lý hệ thống - Lưu giữ ( Archive ) : tệp cần bảo tồn giữ liệu , tránh sai sót q trình chép , sử dụng thuộc tính , máy thơng báo tình trạng liệu có bị thay đổi hay khơng sau lần truy nhập đến tệp 3.4 Thư mục Trong trình lưu trữ liệu đĩa, để tổ chức cho người sử dụng dể tìm kiếm thơng tin vấn đề cần thiết Trong đĩa, với khả lưu trữ lớn, đổ ạt chương trình, liệu vào gây nên chồng chéo xố khơng cố ý tệp khác có tên Thư mục hình thức tổ chức đĩa theo chủ đề, nội dung chức , thuận lợi cho q trình truy cập thơng tin Thư mục miền để chứa tệp thư mục có nhớ khơng hạn chế đặt tên Thư mục có số tính chất sau : - Mỗi thư mục có tên với số ký tự tùy theo HĐH Ví dụ MS-DOS, Tên thư mục có từ 1-8 ký tự Bộ mơn Tin học Xây dựng Giáo trình Nhập môn Tin học: Phần I – Những khái niệm GVC: Đào Tăng Kiệm Thư mục lồng ( thư mục lại chứa nhiều thư mục khác với nhiều cấp khác ) - Kích thước thư mục (số byte mà chiếm đĩa ) phụ thuộc vào số lượng độ lớn tệp lưu trữ - Trong thư mục, tên tệp phải khác nhau, thư mục khác nhau, tên tệp giống - Thư mục có cấu trúc dạng - Thư mục làm việc gọi thư mục thời 3.5 Một số khái niệm khác Tên ổ đĩa: Theo qui định MS-DOS , ổ đĩa ký hiệu ký tự dấu : , với ổ đĩa mềm ký hiệu A, B, với ổ đĩa cứng ký hiệu C,D, với ổ CD ký hiệu E Ví dụ A: hay C: Dấu mời hệ thống: Sau khởi động máy nạp hệ điều hành, tất lệnh khác thi hành sau xuất dấu mời hệ thống, khác phần mềm HT Trong MS-DOS, dấu mời hệ thống tập hợp nhóm ký tự người dùng tự đặt, tên ổ đĩa, tên thư mục thời, ngày, tháng Với Window dấu mời hệ thống mũi tên Đường dẫn (Path): địa ( tên ổ đĩa, thư mục ) dẫn đến vị trí thực lệnh - Hệ điều hành MS-DOS 4.1 Khái niệm MS-DOS viết tắt chữ MicroSoft Disk Operating System , hệ điều hành đơn nhiệm 16 bit dùng cho máy vi tính Phiên PC DOS đời 1980 liên tục nâng cấp, cải tiến giúp cho việc sử dụng máy vi tính ngày càn dễ hiệu Như trình bày trên, hệ điều hành phận liên kết phần cứng, phần mềm người, thể qua hai giai đoạn sau : - Liên kết hệ điều hành với phần cứng: bật máy, hệ điều hành liên kết với phần cứng, cơng việc tự động chương trình nhỏ nằm ROM, khơng có can thiệp người, ROM kiểm soát đọc tệp Command.com - Liên kết phần mềm ứng dụng với phần cứng: thông tin liên lạc máy người thực thông qua phần mềm điểm người liên lạc với phần mềm sau có dấu mời hệ thống Tuy nhiên để tận dụng tốt chức máy khai thác tốt phần mềm, người phải biết ứng dụng lệnh hệ điều hành Một số phận hệ điều hành MS-DOS: ROMBIOS phần mềm gài sẵn vào linh kiện ROM vi mạch máy vi tính, diều khiển thao tác vào sau bật máy : kiểm ta phần cứng, nhớ, kiểm tra thiết bị đòng máy tính đọc hệ thống từ đĩa mềm Bộ mơn Tin học Xây dựng 10 Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm Nhóm lệnh nhiều lệnh phải thực nhánh Nếu có lệnh, viết sau Then, Else, từ hai lệnh trở lên phải đặt khối Begin … End; Cách thực : Khi gặp lệnh, chương trình tính tốn kiểm tra biểu thức điều kiện, kết biểu thức “đúng” bỏ qua Nhóm lệnh 2, thực Nhóm lệnh thực tiếp lệnh sau IF; kết biẻu thưc điều kiện sai bỏ qua Nhóm lệnh 1, thực Nhóm lệnh 1và thực tiếp lệnh sau IF; Các lưu ý : - Trong câu lệnh có Then, Else lệnh đầy đủ, dạng lệnh không đầy đủ có nhánh Then - Nếu lệnh đầy đủ End Begin … End nhánh Then khơng viết dấu chấm phẩy (; ) - Nếu Nhóm lệnh có từ lệnh trở lên lệnh phải đặt khối Begin …End; - Các lệnh IF lồng Ví dụ: - Các lệnh IF minh hoạ cho câu lệnh: + IF a>b THEN Max := a ELSE Max := b ; + IF a [i ,j ] >0 THEN begin T:= T+ a [i ,j ] ; SL := SL +1 ; End; - Viết chương trình Tìm giá trị lớn nhất, nhỏ số a,b,c - Program Tim_Max_Min_trong 3_so_abc; Uses Crt; Var a, b, c, Max, Min : real ; BEGIN Clrscr; Write (’ Nhap cac gia tri cua a, b, c ’ ) ; Readln (a, b, c ); IF a>b THEN Begin Max := a ; Min := b ; End ELSE Begin Max := b ; Min := a End; IF c > Max Then Max := c ; IF c < Min Then Min := c ; Writeln ( ’ Gia tri lon nhat so la : ’ , Max:8:2 ); Writeln ( ’ Gia tri nho nhat so la : ’ , Min:8:2 ); Readln END Bộ môn Tin học Xây dựng 22 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm - Viết chương trình để Giải phương trình bậc : ax2 +bx + c =0 (Thuật tốn Ví dụ 3) Program GPTbac2; Var a, b, c, delta, x1, x2: real; BEGIN repeat write ( 'nhap gia tri cho a: ' ); readln(a); until a0; write ( 'nhap gia tri cho b: ' ); readln(b); write ( 'nhap gia tri cho c: '); readln(c); delta:=b*b-4*a*c; IF delta>=0 Then begin x1:=(-b+sqrt(delta))/(2*a); x2:=(-b-sqrt(delta))/(2*a); writeln('Nghiem x1= ',x1:7:1); writeln('Nghiem x2= ',x2:7:1); end Else writeln( ' Phuong trinh vo nghiem! ' ); readln end Câu lệnh lựa chọn CASE (CASE OF) Khái niệm – ý nghĩa: Lệnh CASE OF lệnh chuyển điều khiển có điều kiện, thường dùng viết cho toán cần phân nhiều nhánh theo điều kiện Dạng lệnh : CASE < Biểu thức chọn > OF M1 : Nhóm lệnh ; M2 : Nhóm lệnh ; ……………… Mn : Nhóm lệnh n ; [ ELSE Nhóm lệnh n+1 ; ] END; Giải thích đại lượng : - Biểu thức chọn thường biểu thức nguyên BT xâu - Mi: giá trị có biểu thức chọn, nguyên, ký tự tập hợp số nguyên, ký tự Tập hợp có kiểu miền (5 10, 15 20) , (‘a’ ‘h’) kiểu liệt kê (4,7,9 ) , ( ‘ a’ , ‘h’, ‘ g’) - Câu lệnh có Else lệnh đầy đủ, lệnh khơng có Else lệnh không đầy đủ Cách thực hiện: - Chương trình xét biểu thức chọn, kiểm tra giá trị biểu thức chọn có thuộc giá trị Mi hay khơng, Nhóm lệnh i tương ứng Bộ môn Tin học Xây dựng 23 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm thực kết thúc lệnh Nếu giá trị biểu thức chọn không nằm Mi Thốt khỏi lệnh ( dạng khơng đầy đủ ) thực Nhóm lệnh n+1 (nhánh Else) với dạng đầy đủ - Mỗi lần thực có nhánh (Một nhóm lệnh) thực - Với dạng đầy đủ lúc có nhánh thực hiện, cịn dạng khơng đầy đủ, khơng có nhánh thực Các lưu ý : - Biểu thức chọn biến nguyên ký tự Tuỳ phiên mà biến mảng - Nếu Nhóm lệnh có từ lệnh trở lên lệnh phải đặt khối Begin …End; - Các lệnh CASE lồng Các lệnh Case cặp ngoặc tròn thực từ ngồi Tuy nhiên từ nhóm chuyển ngồi cấm lệnh từ nhóm ngồi chuyển vào Ví dụ : - Các ví dụ minh hoạ cho lệnh : CASE Dthi [i] OF CASE Tuoi OF : Writeln (‘Sinh vien kem’); : Writeln (‘Chưa học 1’); : Writeln (‘Sinh vien trung binh’); 10 : Writeln (‘Hoc sinh cap 1’); : Begin 11 14 : Writeln (‘Hoc sinh cap 2’); Slk := Slk + 1; j:= j+1; 15 17 : Writeln (‘Hoc sinh cap 3’); HSk [j] := HT [i] ; 18 23 : Writeln (‘Sinh viên’); End ELSE Writeln (‘ Cac loai hinh khac’); 10 : Begin End; Slg := Slg + 1; k:= k+1; HSg [j] := HT [i] ; End END; III Các lệnh chu trình (Cấu trúc lặp) Ở phần ta xét đến dạng tốn thực đơn lẻ phép tính phép xử lý Trong nhiều toán (đặc biệt xử lý liệu mảng), ta phải lặp lại nhiều lần số lệnh với dạng tổng quát không thay đổi Nếu viết lặp lại cơng thức dài, nhàm chán khơng thể chưa biết số lần lặp Để thể dạng thuật toán lặp, người ta đưa cấu trúc cho nhiều vòng lặp lồng Với dạng thuật toán lặp, Pascal xử dụng lệnh For To Do, While Do, Repeat Until lệnh gán kết hợp với IF – Goto để thể cho vòng lặp biết trước số lần lặp vịng lặp khơng xác định Bộ môn Tin học Xây dựng 24 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm Câu lệnh lặp với số lần lặp xác định FOR ( FOR TO DO) Khái niệm: Lệnh For To Do dùng cho toán lặp với số lần lặp xác định bước nhẩy (số gia) biến điều khiển +1 -1 Cấu trúc lệnh : FOR Bđk := n1 TO n2 DO Các lệnh lặp ; FOR Bđk := n1 DOWNTO n2 DO Các lệnh lặp ; Giải thích đại lượng : - Bđk biến điều khiển hay biến đếm chu trình n1 n2 giá trị đầu giá trị cuối biến điều khiển, chúng phải hằng, biến biểu thức đơn giản có kiểu nguyên ký tự - Miền tác động lệnh (Các lệnh lặp) nhiều lệnh thực với số vòng lặp |n1-n2| lần Cách thực lệnh: Khi gặp lệnh, chương trìnhc thực gồm bước phần thuật tốn Có thể hiểu là: Các lệnh lặp thực nhiều lần với giá trị biến điều khiển từ n1 đến n2 Câu lệnh tự động thực bước: gán giá trị đầu, tăng kiểm tra giá trị cuối biến điều khiển (mà bước câu lệnh) Các lưu ý: - Nếu Miền tác động có lệnh viết sau Do, có từ lệnh trở lên lệnh phải đặt khối Begin …End; - Khơngcó dấu ; sau Do - Các lệnh lồng nhau, nhiên vịng lặp khơng cắt - Vịng lặp kết thức trước đến giá trị cuối biến điều khiển chuyển vòng lặp ngồi, nhiên khơng thể chuyển từ vịng lặp ngồi vào vịng lặp - Lệnh For to Do loại lệnh thực trước, kiểm tra sau, thực lần - Trong miền tác động lệnh khơng có lệnh làm biến đổi giá trị đầu, cuối biến điều khiển Ví dụ: - Các ví dụ minh hoạ cho câu lệnh + FOR i := TO n DO T:=T + A[i] ; (Tính tổng véc tơ) + FOR i := m DO (Nhập liệu tính tổng cho mảng A) Begin Write (’ A[ ’ , I , ’ ] = ’); Readln ( A[i] ); T:=T + A[i] ; End; - Các tập: + Bài tập 1: Viết chương trình Tìm giá trị lớn vecto (Ví dụ phần thuật tốn) Bộ mơn Tin học Xây dựng 25 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm Program tim_max_cua_vec_to; Var i,n: integer; a: array [1 50] of real; ln:real; BEGIN write('Nhap so phan tu n='); readln (n); for i:=1 to n Begin Write ( 'Nhap gia tri cua phan tu thu ', i, ': ' ); Readln (a[i]); End; ln:= a [1]; for i:=1 to n if a[i]> ln then ln := a[i]; writeln ('Gia tri lon nhat cua day so la ', ln: 10:2); readln; END + Bài tập 2: Cho ma trận B có mxn phần tử Viết chương trình Pascal tính số lượng phần tử > K hàng tích phần tử < K ma trận Program Tim_so_luong_Tich ; Var i, j, m, n, dem : integer; B: array [1 10, 10 ] of real; Sl: array [1 10 ] of integer; K, Tich :real ; BEGIN Write ( ' Nhap so phan tu cua ma tran m, n= ' ); Readln (m, n); Write ( ' Nhap gia tri K = ' ); Readln (k); for i:=1 to m for j:=1 to n Begin Write ('Nhap gia tri cua phan tu B [', i, ',' , j , ’ ] ’ ); Readln ( B [ i,j ] ); End; For i := to m Begin SL [i] := ; for j := n If B [ i, j ] > K Then SL [i] := SL [i] +1 ; End; Tich := ; dem := ; For i := to m for j := n If B [ i, j ] < K Then Begin Tich := Tich * B [I,j] ; Dem := Dem + ; End; Bộ mơn Tin học Xây dựng 26 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - { Xuat ket qua } Wwiteln ( ’ So luong cac phan tu For i:= to m Writeln ( If Dem Then Writeln ( ’ Else Writeln ( Readln END GVC: Đào Tăng Kiệm cua tung hang > K ’ ); Hang ’ , i , ’ : ’ , SL [[i] :5 ) ; Tich cac phan tu < K = ’ , Tich : 8:2 ) ’ Khong co phan tu nao < K , Tich = ’ ) ’ Câu lệnh lặp kiểm tra điều kiện trước - WHILE (WHILE DO) Khái niệm: Lệnh While Do dùng cho dạng toán lặp với số lần lặp xác định không xác định Cấu trúc lệnh : WHILE < Biểu thức điều kiện > DO Các lệnh lặp ; Giải thích đại lượng : - Biểu thức điều kiện biểu thức so sánh Logic, kết nhận giá trị sai - Miền tác động lệnh (Các lệnh lặp) nhiều lệnh thực điều kiện Cách thực lệnh: Khi gặp lệnh, chương trình kiểm tra giá trị BTĐK, lệnh lặp thực giá trị biểu thức điều kiện “đúng” dừng thực giá trị BTĐK nhận giá trị “sai” Các lưu ý : - Khi sử dụng lệnh While Do cho thuật toán chu trình phải ý, câu lệnh chưa có bước gán giá trị đầu tăng biến điều khiển Do phải tự bổ sung cần Bước nhẩy biến điều khiển - Nếu Miền tác động có lệnh viết sau Do, có từ lệnh trở lên lệnh phải đặt khối Begin …End; - Khơngcó dấu ; sau Do - Các lệnh lồng nhau, nhiên vịng lặp khơng cắt - Vịng lặp kết thức trước giá trị biến điều khiển nhận giá trị “sai” chuyển vịng lặp ngồi, nhiên khơng thể chuyển từ vịng lặp ngồi vào vịng lặp - Lệnh While Do loại lệnh kiểm tra trước,thực sau, khơng có vịng lặp thực Ví dụ: - Các ví dụ minh hoạ cho câu lệnh: + WHILE i ; Giải thích đại lượng : - Biểu thức điều kiện biểu thức so sánh Logic, kết nhận giá trị sai - Miền tác động lệnh (Các lệnh lặp nằm Repeat Until) nhiều lệnh, lệnh thực điều kiện sai Cách thực lệnh: Khi gặp lệnh, chương trình thực lần lệnh miền tác động (giữa Repeat tới Until), sau kiểm tra giá trị BTĐK, lệnh thực lặp lại giá trị biểu thức điều kiện “sai” dừng thực giá trị BTĐK nhận giá trị “đúng” Các lưu ý : - Khi sử dụng lệnh Repeat Until cho thuật tốn chu trình phải ý, câu lệnh chưa có bước gán giá trị đầu tăng biến điều khiển Do phải tự bổ sung cần Bước nhẩy biến điều khiển - Miền tác động lệnh đặt khối Begin …End; - Các lệnh lồng nhau, nhiên vịng lặp khơng cắt - Vịng lặp kết thúc trước giá trị biểu thức điều kiện nhận giá trị “đúng” chuyển vòng lặp ngồi, nhiên khơng thể chuyển từ vịng lặp ngồi vào vòng lặp - Lệnh Repeat Until loại lệnh thực trước, kiểm tra sau, lệnh lặp thực lần Ví dụ: - Các ví dụ minh hoạ cho câu lệnh: + REPEAT T:= T + i / X[i] Until i > n ; + REPEAT Write (‘Nhap du lieu, Ho ten ‘); Readln ( SV[i] Hoten); Bộ môn Tin học Xây dựng 28 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - - GVC: Đào Tăng Kiệm … Readln (Hoi) ; Until Hoi = ‘K’; + i:= ; Repeat Write (’ A[ ’ , i , ’ ] = ’); Readln ( A[i] ); T:=T + A[i] ; i := i+ Until i > n ; Ví dụ sử dụng lệnh chu trình: Cho véc tơ A có n phần tử Viết chương trình tạo véc tơ từ A véc tơ B chứa phần tử dương véc tơ C chứa phần tử âm Program Tach_vec_to; Var i,j,k, n: integer; A, B, C : array [1 10] of real; BEGIN Write (' Nhap so phan tu n= '); Readln (n); i:=1; { Nhap du lieu mang A – su dung Repeat } Repeat Write (' Nhap gia tri cua phan tu thu A[ ', i, ' ] : ' ); Readln (a[i]); i:= i+ Until i >n ; { Tach vec to – Su dung While Do } i:=1; j:= ; k:= 1; While i Then Begin J:= j + 1; B [j] := A[i] End Else If a[i] tham số không cần xuất câu lệnh đựoc phủ miền With Cấu trúc lệnh With WITH Tên_biến_bản_ghi Tên_trường [tên_trường ] DO < Các lệnh miền tác động With> Bộ mơn Tin học Xây dựng 31 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm Viết lại câu lệnh dùng With For i:= to m Do With Ho_so[i] Do Writeln (Ho_ten: 25,N_sinh: 6, Luong: 8:2); Ví dụ: Các ví dụ minh hoạ cho câu lệnh: Khai báo gián tiếp ghi đơn Type SV = Record HT : string [15]; D : array [ 50 ] of TB : real; PL : Char; End ; real ; VT = array [1 60] of SV ; Var DS1,DS2 : VT ; Khai báo ghi kép Type HT = Record Ho : String [15] ; Dem : String [10] ; Ten : String [15] ; End; SV = Record Hoten : HT; D : array [ 50 ] of real ; TB : real; PL : Char; End ; Var DS : array [1 60] of SV; Các tập ví dụ: - Bài tập 1: Cho lớp học sinh, biết mã số SV, tên điểm thi môn sinh viên Viết chương trình (cấu trúc liệu kiểu ghi) tính điểm trung bình người xếp lại danh sách theo điểm trung bình tăng dần Program Vi_du_Ban_ghi_Sapxep; type sinhvien = record masv:string[10]; tensv: string[30]; dt,dl,dh,dtb:real; end; var temp:sinhvien; sv:array[1 100] of sinhvien; n, i, j: integer; BEGIN {Nhap du lieu n sinh vien} write('Nhap so sinh vien:'); readln(n); for i:=1 to n begin writeln('Nhap thong tin cua sv thu ' , i); Bộ môn Tin học Xây dựng 32 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm write('Ma sv:'); readln(sv[i].masv); write('Ten sv:'); readln(sv[i].tensv); write('Diem toan:'); readln(sv[i].dt); write('Diem ly:'); readln(sv[i].dl); write('Diem hoa:'); readln(sv[i].dh); sv[i].dtb := (sv[i].dt+sv[i].dl+sv[i].dh)/3; end; {in danh sach sinh vien vua nhap} writeln; writeln(' Danh sach sinh vien vua nhap'); writeln(' STT ','Masv':5,'Tensv':10,' DT DL DH DTB'); for i:=1 to n writeln(i:4, sv[i].masv:5, sv[i].tensv:10, sv[i].dt:6:1, sv[i].dl:6:1, sv[i].dh:6:1, sv[i].dtb:6:1); {sap xep danh sach sinh vien theo diem trung binh tang dan} for i:= to n for j:=i+1 to n if (sv[i].dtb >sv[j].dtb) then begin temp:=sv[i]; sv[i]:=sv[j]; sv[j]:=temp; end; {in ket qua sau danh sach sinh vien sau sap xep} writeln; writeln(' Danh sach sinh vien sap theo thu tu dtb tang dan'); writeln(' STT ','Masv':5,'Tensv':10,' DT DL DH DTB'); for i:=1 to n writeln(i:4, sv[i].masv:5, sv[i].tensv:10, sv[i].dt:6:1, sv[i].dl:6:1, sv[i].dh:6:1, sv[i].dtb:6:1); readln; END - Bài tập : Cho lớp học sinh có n người, biết mã số SV, tên điểm thi m môn sinh viên Viết chương trình (cấu trúc liệu kiểu ghi) tính điểm trung bình người tách danh sách lớp thành danh sách: SV có DTB nhỏ từ 57,và DTB >8 Program Ban_ghi_Tao_danh_sach; type sv=record ms:integer; ht:string[25]; d:array[1 20] of real; dtb:real end; var n,m,n1,n2,n3,i,j,k:integer; Bộ mơn Tin học Xây dựng 33 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm ds,ds1,ds2,ds3:array[1 30] of sv; ttsv:sv; t:real; BEGIN Write ( ' Nhap so nguoi n, somon m= '); readln(n,m); for i:=1 to n begin write ( 'ms[',i,']=? ' ); readln(ds[i].ms); write ( 'ht[',i,']=? ' ); readln(ds[i].ht); for j:=1 to m begin write('d[',j,']=? '); readln(ds[i].d[j]); end end; { Tinh diem trung binh cho tung nguoi } for i:=1 to n begin t:=0; for j:=1 to m t:=t+(ds[i].d[j]); ds[i].dtb:=t/m end; { Lap cac danh sach } n1:=0; n2:=0; n3:=0; for i:=1 to n if ds[i].dtbn, với n nhập từ bàn phím 4.5 Viết chương trình tính tổng S = + 1/2 + 1/3 + 1/4 + +1/n Với n số nguyên chẵn 4.6 Viết chương trình tính tổng S = + 1/x + 1/x2 + 1/x3 + +1/xn Với n nhập từ bàn phím 4.7 Cho mảng X (ngun) có m phần tử Hãy tách mảng X thành mảng Y chứa phần tử chẵn X mảng Z chứa phần tử chia hết cho 4.8 Cho liệu lớp học sinh có m người Biết thông tin Họ tên, Mã số sinh viên, điểm trung bình năm người Tìm số người có điểm trung bình >B Lập danh sách cho người có điểm trung bình từ từ 10 4.9 Cho dãy số (mảng chiều) số thực Tìm số lớn nhất, bé dãy số Sắp xếp dãy số theo chiều tăng dần giá trị 4.10 Cho mảng X có m phần tử, mảng Y có n phần tử Hãy tạo mảng Z có m+n phần tử ghép từ mảng X, Y Tính tổng phần tử >A mảng Z tích phần tử8 Bộ mơn Tin học Xây dựng 35 Giáo trình Nhập mơn Tin học: Phần III – Ngơn ngữ lập trình Pascal - GVC: Đào Tăng Kiệm - Sắp xếp lại danh sách lớp theo điểm trung bình giảm dần 4.12 Cho ma trận A vng (mảng chiều) có m hàng, m cột - Tính trung bình cộng ma trận - Tính tổng phần tử nằm phía đường chéo - Tìm giá trị lớn phần tử nằm phía đường chéo 4.13 Cho liệu phường dân cư có m người Biết thơng tin Tên chủ hộ, Địa chỉ, Tổng số nước tiêu thụ (m3) tháng nhà 12 tháng - Nhập thông tin hộ In lên hình (Tên CH., Địa ,Tháng Tháng 12) - Tìm số lượng nước tiêu thụ trung bình phường năm - Tìm tổng số nước tiêu thụ traong 12 tháng hộ - Lập danh sách hộ có lượng tiêu thu nước > X m3 4.14 Cho ma trận B (mảng chiều) có m hàng, n cột - Tìm giá trị nhỏ B - Xoá hàng cột chứa giá trị nhỏ (Xét theo hàng) ma trận (Ma trận cịn m-1 hàng n-1 cột) Bộ mơn Tin học Xây dựng 36 ... Bộ môn Tin học Xây dựng 15 Giáo trình Nhập mơn Tin học: Phần II - Thuật tốn GVC: Đào Tăng Kiệm TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH MƠN HỌC: NHẬP MƠN TIN. .. MƠN TIN HỌC PHẦN II – THUẬT TỐN Giảng viên: ĐÀO TĂNG KIỆM Bộ mơn : TIN HỌC XÂY DỰNG Hà nội 2011 -Bộ mơn Tin học Xây dựng Giáo trình Nhập mơn Tin học: Phần II - Thuật tốn GVC: Đào Tăng Kiệm PHẦN... TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH MƠN HỌC: NHẬP MƠN TIN HỌC PHẦN III – NGƠN NGỮ LẬP TRÌNH PASCAL -1 Giảng viên: ĐÀO TĂNG KIỆM Bộ môn : TIN HỌC XÂY DỰNG