ÔNTẬPHỌC KỲ ITIN8 Năm học: 2008_ 2009 A. Đề lí thuyết: I. Bài 1:Máy tính và chương trình MT: 1. Hãy cho biết lí do cần phải viết chương trình để điều khiển mt? 2. Tại sao người ta phải tạo ra các NNLT trong khi có thể điều khiển mt bằng ngôn ngữ máy? 3. Chương trình dịch là gì? II. Bài 2: Làm quen với CT và NNLT: 1. Tìm hiểu về từ khóa và tên? 2. Tìm hiểu về cấu trúc chương trình? 3. Hãy trình bày cách Lưu ct, mở file mới,mở file đã có trên đĩa( xem phần đọc thêm/ trang 19 SGK)? 4. Hãy nêu các bước để thực hiện chương trình?( xem phần tổng kết trang 18 SGK). III. Bài 3:Chương trinh MT và dữliệu: 1. Tìm hiểu các kiểu dữ liệu, các phép toán trong từng kiểu dữ liệu? 2. Tìm hiểu cách đổi BT toán học sang pascal và ngược lại? 3. Tìm hiểu cách giao tiếp giữa người và MT?( xem phần ghi nhớ trang 26 SGK) a. Thông báo kết qảu tính toán( Xuất dữ liệu: Write, cho ví dụ). b. Nhập dữ liệu( read, cho ví dụ). c. Tạm ngừng chương trình( readln, delay). IV. Bài 4:Sử dụng biến trong chương trình: 1. Nêu khái niệm “Biến” và “Hằng”? 2. Cách khai báo “Biến” và “Hằng”? 3 . Câu lệnh gán? 4. Xem lại Bài tập 1,2,3,4,5,6/ trang 33(sgk). V. Bài 5: Từ bài toán đến chương trình: 1. Quá trình giải bài toán trên MT? 2. Khái niệm về thuât toán ? 3. Xem lại phần 4( các ví dụ về thuật toán)/ trang 40,41 sgk. 4. Xem lại bài tập 2,3,4,5,6/ trang 45(sgk). VI. Bài 6: Câu lệnh điều kiện: 1. Quá trình hoạt động và cú pháp ở câu lệnh điều kiện (2 dạng)? 2. Xem lại bài tập 2,5,6/ trang 51(sgk)? B. Bài tập: * Giải bài tập 2,3,4 /trang 21sgk): BT2: Lí do: Điều khiển MT tự động thực hiện các công việc đa dạng và phức tạp mà một lệnh đơn giản không đủ để chỉ dẫn. BT3: Trong NN máy, mọi lệnh đều được biểu diễn bằng các con số 0 và1. NN máy khó đọc và khó sử dụng. Các NNLT được phát triển để khắc phục các nhược điểm của NN máy. NNLT sủ dụng các cụm từ tự nhiên nên dễ nhớ, dễ sữ dụng. BT4:Chương trình dich giúp chuyển đổi ct được viết bằng NNLT thành ct bằng NN máy thực hiện được trên máy tính. Như vậy, ct dịch chuyển đổi tệp gồm các dòng lệnh được soạn thảo thành tệp có thể chạy trên MT. * Bài tập làm thêm: 1. Em hãy dự đoán thiết bị nào dưới đấy có gắn chương trình bên trong: a. Thang máy ở những nhà cao tầng. b. Quạt điện có điều khiển từ xa. c. Cửa đóng tự động trong các siêu thị và sân bay. d. Điện thoại cố định có tin nhắn. e. Điều hòa diệt độ. f. Hệ thống bấo cháy g. Máy giặt. 2. Trong các tên dưới đây tên nào hợp lệ? a. 76Z b. Begin_end c. Lop. 8A d. Day_la_ten_sai e. Ngay – 20-11 3. Một ct máy tính được viết để nhập điểm 3 môn học và in ra điểm trung bình của 3 môn học đó . Em hãy cho biết ct đó xử lí những dữ liệu gì và những dữ liệu đó phải có kiểu gì? 4. Đổi các BT sau đây sang dạng pascal: 5. Bạn thành nói : “ số 234 thuộc hai kiểu dữ liệu khác nhau, đó là dữ liệu kiểu số và dữ liệu kiểu xâu kí tự ‘ ‘234’. Thành nói đúng không ? tại sao? 6. Hãy viết các phép so sánh sau bằng kí hiệu trong pascal? a. (a+b>c) và (b+c>a); b. (x < a 1 ) hoặc ( x > a 2 ); c. ( a 2 < 10 ) hoặc ( a chia hết cho 3); 7. Hãy ghép mỗi cột bên trái và cột bên phải : a. Hằng 1.Tên do người lập trình đặt tuân thủ quy tắc của NNLT b. Từ khóa 2.Những đại lượng do người lập trình đặt tên và có thể thay đổi giá trị trong khi thực hiện ct c. Biến 3.Những tên gọi có ý nghĩa được xác định từ trước và không thể sử dụng cho mục đích khác d. Tên 4.Những đại lượng do người lập trình đặt tên và có giá trị không thay đổi trong khi thực hiện ct 8. Em hãy viết một chương trình pascal hoàn chỉnh để tính diện tích và chu vi một HCN,trong đó số đo hai cạnh được nhập từ bàn phím. a. Khai báo:Hai biến a,b: (chiều rộng và chiều dài của HCN). Hai biến CV, S ( chu vi và diện tích của HCN). b. Thân ct: - Nhập giá trị của các kích thước a,b - Tính chu vi và diện tích của HCN. - In giá trị của CV và S ra màn hình. 9. Em hãy xác định INPUT, OUTPUT và mô tả thuật toán tìm giá trị tuyệt đối của một số cho trước. 10. Viết thuật toán tính tổng các ssó tự nhiên từ 1 đến n ( n số tự nhiên). 11.Thuật toán tìm giá trị lớn nhất trong 3 số a,b,c như sau: INPUT: Ba số a,b,c OUTPUT: Max = max{ a,b,c} Bược 1: Nhập ba số a, b, c. Bước 2: gán Max a. Bước 3: Nếu b > Max thì gán Max b. Bước 4: Nếu c > Max thì gán Max c. Bước5: Thông báo và kết thúc thuật toán. Em hãy mô phỏng thuật toán với bộ dữ liệu sau:( 6,3,10); ( 10,6,3). 12. Bố Phan hằng ngày đi làm bằng xe máy,Nếu xăng có giá 14500 đồng/ lít,tháng bố chi x đồng mua xăng.Khi xăng tăng lên giá 19000 đồng / lít, hỏi bố Phan phải chi thêm một khỏan tiền để mua xăng là bao nhiêu? a) Hãy viết thuật toán tính số tiền mà bố Phan phải chi thêm để mua xăng. b) Hãy viết chương trình thể hiện thuật toán trên. 13. Hằng tháng các hộ dân trong thành phố ddeeuf được nhận hóa đơn tiền điện . Tiền tiêu dùng của mõi hộ gia đình được tính như sau : - 100 số đầu tiên : mỗi số phải trả 550 đồng; - Từ 100 đến 150 số mỗi số phải trả 1110 đồng ; - Từ 150 số đến 200 số mỗi số phải trả 1470 đồng ; - Trên 200 số mỗi số phải trả 1600 đồng . - Số tiền phải trả là tổng số tiền tính được cộng thêm 10% thuế VAT. Biết rằng lượng điện tiêu thụ trong một tháng của nhà bạn Tuấn la a (KW) Hãy tính số tiền điẹn tiêu thụ trong một tháng của gia đình bạn Tuấn . a) Hãy xác định INPUT , OUTPUT của bài toán . b) Hãy viết thuật toán giải bài toán trên . 14. Giả sử điểm kiểm tra môn Tinhọc của một lớp có n học sinh được cho bởi n biến số thực a1, a2, ., an, trong đó a1 là điểm kiểm tra của học sinh thứ i, với i = 1, 2, ., n . Hãy tính điểm trung bình môn tinhọc của cả lớp a) Xác định INPUT và OUTPUT cảu bài toán trên. b) Mô tả thuật toán giải bài toán trên. 15. Cho biết tính hợp lệ của các câu lệnh Pascal sau và lí do nếu không hợp lệ : (A) if x : = a+b then x: = x +1 (B) if a > b then max = a (C) if a > b then max: = a ; else max : = b (D) if a > b then max : = a else max :=b (E) if 5=6 then x: = 10 16. Sau mỗi câu lệnh dưới đây ,giá trị của biến X sẽ là bao nhiêu nếu trước đó là giá trị của X = 5 ? (A) if x mod 3=2 then x:= x+1 ; (B) if (x mod 3=0 ) or ( x > = 5 ) ) then x ; = 2 * x ; (C) if ( x mod 2=1 ) and (x > 10 ) then x : = 0; (D) if x mod 5=0 then begin x: = x*x ; x : =x -10 end ; (E) if x < 10 then ; 17. Để thấy được ý nghĩa của câu lệnh ghép “begin .end” , bạn Pạhm đã viết ba chương trình sau đây : Chương trình 1 : var a , b : interger begin a : 16 ; b := 8 if a < b then a : a = a + b ; a: a= a –b ; b: = b+a writeln ( ‘ a = ‘ , a , ‘ b = ‘, b) ; end Chương trình 2 : var a , b : integer begin a:= 16 ; b := 8 if a < b then begin a : = a +b ; a : = a –b end b : = b+a ; writeln ( ‘a = ‘ , a , ‘b = ‘ , b ) ; end. Chương trình 3 var a , b : integer ; begin a: = 16 ; b := 8 ; if a < b then a : = a +b else begin a: = a-b ; b: = b+a end writeln ( ‘a = ‘ , a , ‘b = ‘ , b ) ; end end Không cần gõ các chương trình vào máy để chạy, em hãy cho biết lệnh writeln trong từng chương trình nói trên sẽ in ra các giá trị của a và b là bao nhiêu ? Giải thích tại sao có kết qủa đó ? Theo em , cách trình bày các lệnh trong các chương trình nói trên có giúp người đọc dễ theo dõi không ? Em sẽ trình bày như thế nào ? 18. Hãy viết chương trình đổi tờ bạc có mệnh giá n đồng ra các loại 500 , 200 , 100 đồng sao cho số tờ giấy bạc là ít nhất . n được nhập vào từ bàn phím . OUTPUT của b i toán . b) Hãy viết thuật toán gi i b i toán trên . 14. Giả sử i m ki m tra môn Tin học của một lớp có n học sinh được cho b i n biến số thực. thành n i : “ số 234 thuộc hai ki u dữ liệu khác nhau, đó là dữ liệu ki u số và dữ liệu ki u xâu kí tự ‘ ‘234’. Thành n i đúng không ? t i sao? 6. Hãy viết