Nhập môn Tin học và bài tập (Kèm lời giải)
MỤC LỤC
Tiết 1: LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAK OUT
Tiết 2: Thực hành
LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAK OUT
Tiết 3: MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
Tiết 4 MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH (tt)
Tiết 5: BÀI 2: LÀM QUEN VỚI CHƯƠNG TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNH
Tiết 6: BÀI 2: LÀM QUEN VỚI CHƯƠNG TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNH (tt)
Tiết 7: Bài thực hành số 1
LÀM QUEN VỚI TURBO PASCAL
Tiết 8 Bài thực hành số 1(tt)
LÀM QUEN VỚI TURBO PASCAL
Tiết 9 BÀI 3: CHƯƠNG TRÌNH MÁY TÍNH VÀ DỮ LIỆU
Tiết 10: BÀI 3: CHƯƠNG TRÌNH MÁY TÍNH VÀ DỮ LIỆU (tt)
n luyện kĩ năng tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: Sách giáo khoa, máy tính điện tử. III. Tiến trình bài dạy: Kiểm tra bài cũ: (5p) ? Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình. Bài mới: Hoạt động của GV Hoạt động của HS Nội dung Tìm hiểu cách tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số. Ví dụ 3. Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất. N cũng được nhập từ bàn phím - Giáo viên đưa ra ý tưởng để viết chương trình Trước hết ta khai báo biến N để nhập số các số nguyên sẽ được nhập vào. Sau đó khai báo N biến lưu các số được nhập vào như là các phần tử của một biến mảng A. Ngoài ra, cần khai báo một biến i làm biến đếm cho các lệnh lặp và biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất. - Yêu cầu học sinh tìm hiểu ý nghĩa của từng câu lệnh trong chương trình - Trong chương trình này, chúng ta hãy lưu ý một số điểm sau: Số tối đa các phần tử của mảng phải được khai báo bằng một số cụ thể (Ở đây là 100) + Học sinh đọc và tìm hiểu yêu cầu của bài toán. - Học sinh chú ý lắng nghe => ghi nhớ kiến thức. + Học sinh thực hiện theo yêu cầu của giáo viên. program MaxMin; uses crt; Var i, n, Max, Min: integer; A: array[1..100] of integer; Phần thân chương trình sẽ tương tự dưới đây: Begin clrscr; write('Hay nhap do dai cua day so, = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Max:=a[1]; Min:=a[1]; for i:=2 to n do begin if Max<a[i] then Max:=a[i]; if Min>a[i] then Min:=a[i] end; write('So lon nhat la Max = ',Max); write('; So nho nhat la Min = ',Min); readln; End. + Học sinh chú ý lắng nghe. 1. Tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số IV. Củng cố (2 phút) - “Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu nhưng chỉ dưới một tiên duy nhất”. Phát biểu đó đúng hay sai. V. Dặn dò (5 phút) - Về nhà học bài, kết hợp SGK, tiết sau thực hành -------------------------------- & ---------------------------------- Tiết 62: Bài thực hành số 7 XỬ LÝ DÃY SỐ TRONG CHƯƠNG TRÌNH I. Mục tiêu: 1. Kiến thức: - Làm quen với việc khai báo và sử dụng biến mảng. - Ôn luyện cách sử dụng câu lệnh lặp for..do 2. Kĩ năng: - Củng cố các kĩ năng đọc hiểu và chỉnh sửa chương trình. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị: Nội dung bài thực hành, máy tính điện tử. III. Tiến trình thực hành: Hoạt động của GV Hoạt động của HS Nội dung Chương trình tìm giá trị nhỏ nhất trong dãy số nguyên P_Min ? HS chia nhóm làm thực hành. Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, TB và kém. Tiêu chuẩn: - Loại giỏi: 8.0 trở lên - Loại khá: 6.5 đến 7.9 - Loại TB: 5.0 đến 6.4 - Loại kém: dưới 5.0 HS chia nhóm làm thực hành. GV gợi ý: - Dùng câu lệnh if…then… Bài 1: Program P_Min; Var i, n, Min : integer; A: array[1..100] of integer; Begin write('Hay nhap do dai cua day so, N='); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Min:=a[1]; for i:=2 to n do if Min>a[i] then Min:=a[i]; write('So nho nhat la Min = ',Min); readln; End. Bài 2: Program Phan_loai; uses crt; Var i, n, G, Kh, TB, K: integer; A: array[1..100] of real; Begin clrscr; write('nhap so HS trong lop, n= '); readln(n); writeln('Nhap diem :'); For i:=1 to n do Begin write(i,' . '); readln(a[i]); End; G:=0; Kh:= 0; TB:= 0; K:= 0; for i:=1 to n do Begin if a[i] >= 8.0 then G:= G + 1; if a[i] <5.0 then K:= K + 1; if (a[i] =6.5) then Kh:= Kh + 1; if (a[i] >= 5 ) and (a[i] < 6.5) then TB:= TB + 1; end; writeln(' Ket qua hoc tap: '); writeln(G, ' ban hoc gioi '); writeln(Kh, ' ban hoc kha '); writeln(TB, ' ban hoc trung binh'); writeln(K, ' ban hoc kem '); readln; End. Chương trình tìm giá trị nhỏ nhất trong dãy số nguyên P_Min ? Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, TB và kém. Tiêu chuẩn: - Loại giỏi: 8.0 trở lên - Loại khá: 6.5 đến 7.9 - Loại TB: 5.0 đến 6.4 - Loại kém: dưới 5.0 IV. Nhận xét (5 phút) Giáo viên nhận xét và đánh giá tiết thực hành. V. Dặn dò: (2 phút) - Tiết sau thực hành: “ Bài thực hành số 6 (tt) -------------------------------- & ---------------------------------- Tiết 63: Bài thực hành số 7 (tt) XỬ LÝ DÃY SỐ TRONG CHƯƠNG TRÌNH I. Mục tiêu: 1. Kiến thức: - Làm quen với việc khai báo và sử dụng biến mảng. - Ôn luyện cách sử dụng câu lệnh lặp for..do 2. Kĩ năng: - Củng cố các kĩ năng đọc hiểu và chỉnh sửa chương trình. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị: Nội dung bài thực hành, máy tính điện tử. III. Tiến trình thực hành: Hoạt động của GV Hoạt động của HS Nội dung Chương trình tính tổng dãy số, in ra màn hình dãy số vừa nhập. HS chia nhóm làm thực hành. Bổ sung và chỉnh sửa chương trình trong BT2 (tiết 59 ) để nhập 2 loại điểm Toán và Ngữ văn của các bạn. Sau đó in ra màn hình : a/ điểm TB của mỗi bạn trong lớp theo công thức: Điểm TB = (Điểm toán + điểm văn)/2 b/ Điểm TB của cả lớp theo từng môn Toán và Ngữ văn HS chia nhóm làm thực hành. Bài 1: Program P_Sum; Var i, n, Sum : integer; A: array[1..100] of integer; Begin write('Hay nhap do dai cua day so, N = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Sum:=0; for i:=1 to n do Sum:= Sum + a[i]; write('Day so vua nhap la: '); for i:=1 to n do write(a[i], ' '); writeln; write('Tong day so la = ',Sum); readln; End. Bài 2: Program Xep_loai; uses crt; Var i, n: integer; TBtoan, TBvan: real; diemT, diemV: array[1..100] of real; Begin clrscr; writeln('Diem TB : '); For i:=1 to n do write(i,' . ',(diemT[i] + diemV[i])/2:3:1); TBtoan: =0; TBvan: =0; For i:=1 to n do Begin TBtoan: = TBtoan + diemT[i] ; TBvan: = TBvan + diemV[i] ; end; TBtoan: = TBtoan /n; TBvan: = TBvan /n; writeln('Diem TB mon Toan : ',TBtoan :3:2); writeln('Diem TB mon Van: ',TBvan :3:2); readln; End. Chương trình tính tổng dãy số, in ra màn hình dãy số vừa nhập. Bổ sung và chỉnh sửa chương trình trong BT2 (tiết 59 ) để nhập 2 loại điểm Toán và Ngữ văn của các bạn. Sau đó in ra màn hình : a/ điểm TB của mỗi bạn trong lớp theo công thức: Điểm TB = (Điểm toán + điểm văn)/2 b/ Điểm TB của cả lớp theo từng môn Toán và Ngữ văn IV. Nhận xét (5 phút) Giáo viên nhận xét và đánh giá tiết thực hành. V. Dặn dò: (2 phút) - Về nhà xem trước bài: “ Quan sát hình không gian với phần mềm Yenka -------------------------------- & ---------------------------------- Tiết 64-65: BÀI TẬP I. Mục tiêu: 1. Kiến thức: - Sử dụng các kiến thức đã học để làm một số bài tập 2. Kĩ năng: - Rèn luyện kĩ năng sử dụng các câu lệnh trong Pascal 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: Sách giáo khoa, máy tính điện tử. III. Tiến trình bài dạy: Hoạt động của GV Hoạt động của HS Nội dung + Bài tập 1. - Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu ? J:= 0; For i:= 1 to 5 do J:= j + 2; + Bài tập 2. - 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’); + Bài tập 3 - Viết chương trình in ra màn hình bảng cửu chương 2. - Yêu cầu học sinh viết chương trình. - Nhận xét chương trình của học sinh. - Yêu cầu học sinh dịch, sửa lỗi và chạy chương trình + Sau khi thực hiện đoạn chương trình trên, giá trị của biến j = 2.. + Học sinh đọc đề bài => suy nghĩ và trả lời. a) Câu lệnh này không hợp lệ vì giá trị đầu lớn hơn giá trị cuối. b) Câu lệnh này không hợp lệ vì giá trị đầu và giá trị cuối không phải là giá trị nguyên. c) Đây là câu lệnh hợp lệ. d) Đây là câu lệnh không hợp lệ vì sau từ khóa do không có dấu chấm phẩy. + Học sinh tìm hiều đề bài. + Học sinh viết chương trình theo yêu cầu của giáo viên. Program in_bang_cuu_chuong ; Var i: integer; Begin For i:= 1 to 10 do Writeln(‘2 lan’,i,’=’i*2); Readln; End. + Thực hiện theo yêu cầu của giáo viên. 1. Bài tập 1 - Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu ? J:= 0; For i:= 1 to 5 do J:= j + 2; 2. Bài tập 2. - 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’); 3. Bài tập 3 - Viết chương trình in ra màn hình bảng cửu chương 2. IV. Dặn dò: (2 phút) - Về nhà học bài kết hợp sách giáo khoa, tiết sau học bài “ lặp với số lần chưa biết trước’ -------------------------------- & ---------------------------------- Tiết 66: KIỂM TRA 1 TIẾT ( TH) I. Mục tiêu: - Hệ thống lại một số kiến thức đã học. - Biết sử dụng vòng lặp xác định và vòng lặp không xác định để viết chương trình. II. Đề bài: Câu 1. Em hãy viết chương trình tính tổng các số chẳn từ 1 đến 100 (6đ) Câu 2. Em hãy dịch và sửa lỗi chương trình (nếu có) (2đ) Câu 3. Em hãy chạy chương trình và kiểm tra kết quả (2đ) III. Đáp án: Câu 1: Chương trình tính tổng các số chẳn từ 1 đến 100 (sử dụng vòng lặp không xác đinh) Program tinh_tong_cac_so_chan; Var i, S: Integer; Begin S:= 0; i:= 2; While i <= 100 do Begin S:= S+ i; i:= i + 2; End; Writeln( ‘ Tong cac so chẳn tu 1 den 100 =’, S); Readln; End. Câu 2: Nhấn F9 để dịch và sửa lỗi chương trình Câu 3. Nhấn Ctrl +F9 để chạy và kiểm tra chương trình
File đính kèm:
- Nhập môn Tin học và bài tập (Kèm lời giải).doc