Giáo án Tin học Lớp 8 - Tuần 23, Tiết 43: Bài tập

pdf 8 trang hapham 2420
Bạn đang xem tài liệu "Giáo án Tin học Lớp 8 - Tuần 23, Tiết 43: Bài tập", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_an_tin_hoc_lop_8_tuan_23_tiet_43_bai_tap.pdf

Nội dung text: Giáo án Tin học Lớp 8 - Tuần 23, Tiết 43: Bài tập

  1. Tuần : 23 Tiết Bài tập : 43 Giáo án tin học lớp 8 I. Mục tiêu Củng cố lại kiến thức trong bài 7 thụng qua việc làm bài tập tại lớp và ở nhà của HS. Thái độ nghiêm túccẩn thận. II. Chuẩn bị : Gv: Soạn giỏo ỏn, SGK, SBT HS: Vở ghi, vở bài tập, SGK, SBT. III. Hoạt động dạy và học IV. Nội dung bài tập: Bài 1. (5’) Sau khi thực hiện đoạn chương trình trên giá trị của J là bao nhiêu ? J:=0;
  2. for i:=0 to 5 j:=j+2; Trả lời: Sau khi thực hiện đoạn chương chương trên giá trị của j =12. Bài 2. (7’): Hãy mo6ta3 thuật toán để tính tổng sau đây ? 1 1 1 1 A 1.3 2.4 3.5n ( n 2) Trả lời: 1 1 1 1 Thuật toán tính tổng A = 1 .3 2 .4 3 .5 n ( n 1) Bước 1. Gán A  0, i  1. Bước 2. A  1 . i( i 2) Bước 3. i  i + 1. Bước 4. Nếu i n, quay lại bước 2. Bước 5. Ghi kết quả A và kết thúc thuật toán.
  3. Bài 3. (7’): Các câu lệnh Pascal sau có hợp lệ không ? vì sao ? ? a) for i:=100 to 1 do writeln(‘A’); b) for i:=1.5 to 10.5 do writeln(‘A’); c) for i=1 to 10 do writeln(‘A’); d) for i:=1 to 10 do; writeln(‘A’); d) var x:real; begin for x:=1 to 10 do writeln(‘A’); end. Trả lời: Trừ d), tất cả các câu lệnh đều không hợp lệ: a) Giá trị đầu phải nhỏ hơn giá trị cuối; b) Các giá trị đầu và giá trị cuối phải là số nguyên; c) Thiếu dấu hai chấm khi gán giá trị đầu; d) Thừa dấu chấm phẩy thứ nhất, nếu như ta muốn lặp lại câu lệnh writeln('A') mười lần, ngược lại câu lệnh là hợp lệ;
  4. e) Biến x đã được khai báo như là biến có dữ liệu kiểu số thực và vì thế không thể dùng để xác định giá trị đầu và giá trị cuối trong câu lệnh lặp. Bài 4. (8’): Thuật toán: Bước 1. Nhập các số n và x. Bước 2. A  1, i  0 (A là biến lưu luỹ thừa bậc n của x). Bước 3. ii + 1, A  A.x. Bước 4. Nếu i < n, quay lại bước 3. Bước 5. Thông báo kết quả A là luỹ thừa bậc n của x và kết thúc thuật toán. Chương trình Pascal có thể như sau: var n,i,x: integer; a: longint; begin write('Nhap x='); readln(x); write('Nhap n='); readln(n);
  5. A:=1; for i:=1 to n do A:=A*X; writeln(x,' mu ',n,' bang ',A); end. Bài 5. (8’) Thuật toán: Bước 1. Nhập số n. Bước 2. A 32768 (gán số nhỏ nhất có thể trong các số kiểu nguyên cho A), i 1. Bước 3. Nhập số thứ i và gán giá trị đó vào biến A. Bước 4. Nếu Max < A, Max  A. Bước 5. i i + 1. Bước 6. Nếu i ≤ n, quay lại bước 3. Bước 7. Thông báo kết quả Max là số lớn nhất và kết thúc thuật toán. Chương trình Pascal có thể như sau:
  6. uses crt; var n,i,Max,A: integer; begin clrscr; write('Nhap N='); readln(n); Max:=-32768; for i:=1 to n do begin write('Nhap so thu ',i,':'); readln(A); if Max<A then Max:=A end; writeln('So lon nhat: ',Max); end. Lưu ý. Trong chương trình trên chúng ta chỉ sử dụng hai biến A và Max để giải bài toán. Một cách tự nhiên, để nhập n số chúng ta cần tới n biến. Tuy nhiên, ở đây việc xử lí các giá trị trong dãy số có thể thực hiện bằng cách chỉ cần so sánh các giá trị đã được nhập vào, do đó chúng ta
  7. chỉ cần một biến để lưu lần lượt các giá trị nhập vào là đủ. Một cách giải quyết khác là sử dụng biến mảng (xem bài tập 6, bài 9). Bài 6. (7’): Lời giải bài này tương tự như lời giải của bài 9 ở trên (xem thuật toán trong lời giải bài tập 5a, bài 5). Chương trình Pascal có thể như sau: uses crt; var n,i,SoDuong,A: integer; begin clrscr; write('Nhap N='); readln(n); if n>0 then begin SoDuong:=0; for i:=1 to n do begin write('Nhap so thu ',i,':'); readln(A); if A>0 then SoDuong:=SoDuong+1 end;
  8. writeln('So cac so duong = ',SoDuong) end else writeln('n phai > 0!'); end. III. Củng cố - Hướng dẫn về nhà học bài và làm bài: (3’) - Học bài. - Làm lại cỏc bài tập. Xem trước nội dung bài thực hành 5, giờ sau thực hành tại phũng mỏy.