Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (121.06 KB, 3 trang )
<span class='text_page_counter'>(1)</span>A. LÍ THUYẾT: 1. Câu lệnh rẽ nhánh: - Dạng thiếu: Ở dạng thiếu, “điều kiện” sẽ được tính và kiểm tra. Nếu “điều kiện” đúng (có giá trị true) thì “câu lệnh” sẽ được thực hiện, ngược lại thì “câu lệnh” sẽ bị bỏ qua. if <điều kiện> then <câu lệnh>; - Dạng đủ: Ở dạng đủ: “điều kiện” cũng được tính và kiểm tra. Nếu “điều kiện” đúng thì “câu lệnh 1” sẽ được thực hiện, ngược lại thì “câu lệnh 2” sẽ được thực hiện. if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>; trong đó: “điều kiện” là biểu thức logic, “câu lệnh”, “câu lệnh 1”, “câu lệnh 2” là một câu lệnh của Pascal. * Câu lệnh ghép: begin <các câu lệnh>; end; 2. Lặp với số lần biết trước: - Dạng lặp tiến, câu lệnh viết sau từ khóa “do” được thực hiện tuần tự, với “biến đếm” lần lượt nhận các giá trị liên tiếp tăng từ “giá trị đầu” đến “giá trị cuối”. for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; - Dạng lặp lùi, câu lệnh viết sau từ khóa “do” được thực hiện tuần tự, với “biến đếm” lần lượt nhận các giá trị liên tiếp giảm từ “giá trị cuối” đến “giá trị đầu”. for <biến đếm>:= <giá trị cuối> downto <giá trị đầu> do <câu lệnh>; trong đó: • “Biến đếm” là biến đơn, thường có kiểu nguyên. • “Giá trị đầu”, “giá trị cuối” là các biểu thức cùng kiểu với biến đếm và “giá trị đầu” phải nhỏ hơn hoặc bằng “giá trị cuối”. Nếu “giá trị đầu” lớn hơn “giá trị cuối” thì vòng lặp không được thực hiện. 3. Lặp với số lần chưa biết trước: while <điều kiện> do <câu lệnh>; trong đó: • “Điều kiện” là biểu thức logic • “Câu lệnh” là một câu lệnh đơn hoặc ghép B. BÀI TẬP: 1. Nhập vào 2 số nguyên a, b (a < b). Tìm các ước của b trong phạm vi từ 1 đến a. program Bai_1; uses crt; var a,b,i: integer; begin writeln(‘Nhap so a nho hon so b’); readln(a, b); for i:= 10 to a do if (b mod i = 0) then writeln(‘Uoc cua b la i’); readln end. 2. Nhập vào 2 số nguyên a, b (a < b). Tính tổng các ước tìm được trong phạm vi từ 1 đến a. program Tong_uoc; uses crt; var a, b, x, i: integer; begin writeln(‘Nhap so a nho hon so b’); readln(a, b); x:= 0; for i:= 1 to a do if (b mod i = 0) then x:= x + 1; writeln(‘Tong cac uoc tim duoc la’, x); readln end..
<span class='text_page_counter'>(2)</span> 3. Nhập vào 1 số nguyên N, kiểm tra N là số chẵn hay số lẻ. Nếu N chẵn, tính giá trị √ N và viết ra màn hình. Nếu N lẻ, tính N2 và viết ra màn hình. program Tim_N; uses crt; var N, X, Y: integer; begin write(‘Nhap N bang’); readln(N); if (N mod 2 = 0) then writeln(‘N la so chan’) else writeln(‘N la so le’); if (N mod 2 = 0) then begin X:= sqrt(N); writeln(‘Gia tri cua X la’, X); end; if (N mod 2 <> 0) then begin Y:= sqr(N); writeln(‘Gia tri cua Y la’, Y); readln end. 4. Nhập vào 2 số nguyên A, B. a) Kiểm tra tính chẵn lẻ của chúng b) Đưa ra số lớn hơn hoặc nhỏ hơn program Bai_4; uses crt; var A, B: integer; begin write(‘Nhap gia tri cua A va B bang’); readln(A, B); if (A mod 2 = 0) then writeln(‘A la so chan’) else writeln(‘A la so le’); if (B mod 2 = 0) then writeln(‘B la so chan’) else writeln(‘B la so le’); if A>B then writeln(‘A lon hon B’) else writeln(‘A nho hon B’); readln end. 5. Nhập 1 số N có 3 chữ số. Tính tổng bình phương các chữ số của N. program Tong_binh_phuong; uses crt; var N, a, b, c, m: integer; begin writeln(‘Ba chu so hang tram, chuc, don vi cua so N lan luot la’); readln(a, b, c); N:= a*100 + b*10 + c; m:= sqr(a) = sqr(b) + sqr(c); writeln(‘Tong binh phuong cua cac chu so cua N la’, m); readln end. 6. Nhập n và kiểm tra n có phải là số nguyên tố hay không. program Kt_so_nguyen_to; uses crt; var n: integer; begin writeln (‘Gia tri cua n la’); readln(n); if (n mod 1 = 0) and (n mod n = 0) then writeln(‘n la so nguyen to’) else writeln(‘n khong la so nguyen to’); readln end..
<span class='text_page_counter'>(3)</span> 7. Tìm bội chung nhỏ nhất của 2 số A và B. program Boi_chung_nho_nhat; uses crt; var A, B, C: integer; begin writeln(‘Nhap hai so A va B’); readln(A, B); C:= B; while (C mod A <> 0) and (C mod B <> 0) do C:= C+1; writeln(‘Boi chung nho nhat cua A va B la’, C:8); readln end. 8. Tìm nghiệm thực của phương trình bậc hai ax 2 + bx + c = 0, với a ≠ 0. program Giai_ptb2; uses crt; var a,b,c: real; D, x1, x2: real; begin clrscr; write(‘a, b, c: ‘); readln(a,b, c); D:= b*b – 4*a*c; if D < 0 then writeln(‘Phuong trinh vo nghiem’) else begin x1:= (-b – sqrt(D))/(2*a); x2:= -b/1 – x1; writeln(‘ x1 = ‘, x1:8:3,’ x2 = ‘, x2:8:3); end; readln end. 9. Tìm số ngày của năm N, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. program Nam_nhuan; uses crt; var N, SN: integer; begin clrscr; write(‘Nam: ‘); readln(N): if (N mod 400 = 0) or ((N mod 4 = 0) and (N mod 100 <> 0)) then SN:= 366 else SN:= 365; writeln(‘So ngay cua nam’ , N, ‘ la ’, SN); readln end. 10. Tìm ước chung lớn nhất của hai số nguyên dương M và N. program UCLN; uses crt; var M,N: integer; begin clrscr; write(‘Gia tri cua hai so M va N la’); readln(M, N); while M <> N do if M > N then M:= M-N else N:= N-M; write(‘Uoc chung lon nhat cua M va N la’, M); readln end..
<span class='text_page_counter'>(4)</span>