Tải bản đầy đủ (.doc) (4 trang)

Bai tap chuong 3 Tin hoc 11

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 (101.1 KB, 4 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Bài tập chương 3 tin học 11 - Cấu trúc Rẽ Nhánh và Lặp</b>
<b>Phần 1: Cấu Trúc Rẽ Nhánh</b>


Bài 1: Viết chương trình nhập vào ba số a, b, c, xuất ra màn hình số lớn nhất (max) của
ba số đó.


Bài 2: Viết chương trình nhập vào số kw điện, tính và xuất ra số tiền phải trả (T) theo
công thức sau:


- Nếu kw <=100 thì Tính 2000 đ cho 1kw


- Nếu 100<kw<=200 thì những kw vượt 100 tính 2500 đ cho 1 kw
<b>Phần 2: Cấu Trúc Lặp</b>


Bài 1: Viết chương trình nhập vào số nguyên n, xuất ra dãy số từ 1 đến n.


Bài 2: Viết chương trình nhập vào số n, xuất ra dãy số chẵn trong khoảng 1 đến n.
Bài 3: Viết chương trình nhập vào hai số m, n, xuất ra dãy số chẵn từ m đến n.
Bài 4: Nhập vào hai số m, n, xuất ra dãy số bội 3 từ m đến n.


Bài 5: Nhập vào số nguyen dương n, tính và xuất ra tổng S = 1 + 2 + ...+n.


Bài 6: Nhập vào số nguyên dương n, tính và xuất ra tổng S = 2 + 4 + ...+ (n-k) với k=1
hay 0. Tức là tổng dãy số chẵn trong khoảng 1 đến n.


Bài 7: Nhập số nguyên dương n, kiểm tra xem n có phải số nguyên tố trong tập số
nguyên dương hay không


Bài 8: Nhập số nguyên dương n, tính n!, biết n! = 1.2.3.4.5...n
Bài 9: Nhập vào số a và số nguyên dương n, tính a mũ n.
<b>Phần 1: Cấu trúc rẽ nhánh:</b>



Bài 1: Xác định yêu cầu:

B i 1:

à



<b>*Xác định yêu cầu:</b>


+ Input: a, b, c ( số thực)
+Output: max ( số thực)
<b>* Thuật toán:</b>


B1: Nhập a, b, c
B2: max<-- a


B3 Nếu max<b thì max<--b
B4: nếu max <c thì max <-- c
B5: Xuất max, kết thúc.


<b>* Chương trình:</b>
Program Tim_Max;
Uses crt;


Var a, b, c, max: Real;
Begin


Clrscr;


Write(‘Hay nhap ba so a, b,c:’);
Readln(a, b, c);


Max:=a;



If ( Max < b) Then Max:= b;
If (Max < c) Then Max:=c;


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

End.
<b>Bài 2:</b>


<i>* Xác định yêu cầu:</i>


+ Input: kw ( số thực)
+ Output: T ( số thực)
<i>* Thuật toán:</i>


B1: Nhập kw


B2: Nếu kw <= 100 thì Tß kw*2000


B3: Nếu 100< kw<=200 thì Tß100* 2000 + ( kw-100) * 2500
B4: Xuất T, kết thúc


Học sinh tự viết chương trình.
<b>Phần 2: Cấu trúc lặp</b>


Bài 1:


* Xác định yêu cầu:
+ Input: n ( nguyên)


+ Output: Dãy số từ 1 đến n
* Thuật toán:



B1: Nhập n


B2: Cho i chạy từ 1 đến n thực hiện:
Xuất i


B3: Kết thúc


* Chương trình:
Program Dayso;
Uses crt;


Var i,n: Integer;
Begin


Clrscr;


Write(‘ nhap n:’); Readln(n);
For i:=1 to n do Write(i:4);
Readln;


End.
Bài 2:


* Xác định yêu cầu:
+ Input: n ( nguyên)


+ Output: Dãy số chẵn từ 1 đến n
* Thuật toán:



B1: Nhập n


B2: Cho i chạy từ 1 đến n thực hiện:
Nếu I chia hết cho 2 thì Xuất i


B3: Kết thúc


* Chương trình:
Program Dayso;
Uses crt;


Var i,n: Integer;
Begin


Clrscr;


Write(‘ nhap n:’); Readln(n);


For i:=1 to n do If ( i mod 2= 0) then
Write(i:4);


Readln;
End.


Bài 3: Nhập 2 số m, n ( m<n). Xuất dãy số lẻ từ m đến n.
*Xác định yêu cầu


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

+ output: dãy số lẻ từ m đến n
* Thuật toán:



B1: Nhập m, n


B2: Cho i chạy từ m đến n, nếu i khơng chia hết cho 2 thì xuất i.
B3: Bước 3, kết thúc


*Chương trình:


Học sinh tự viết, lưu ý để i khơng chia hết cho 2 thì i mod 2 <>0
Bài 4: Nhập 2 số m, n. Xuất ra dãy số bội 3 từ m đến n.


Tương tự bài 3, chỉ khác là thay vì kiểm tra I có chia hết cho 2 hay không ta kiểm tra I
có chia hết cho 3 hay khơng. Nghĩa là i mod 3 = 0.


Bài 5:


Ý tưởng: bài này yeu cầu chúng ta tính tổng S của dãy số từ 1 đến n. Để tính được
tổng S, chúng ta tưởng tượng S như chiếc thùng rỗng, chúng ta sẽ đổ lần lượt các ly
nước vào thùng theo quy tắc sau:


Số ly nước đổ vào tương ứng với số lần đổ: lần 1 đổ 1 ly, lần 2 đổ 2 ly, ….


Như vậy số nước trong thùng lúc sau bằng số nước trước đó cộng với số ly nước ở lần
đổ đó.


* Xác định yêu cầu:
+ Input: n ( nguyên)
+ Output: S ( số nguyên)
* Thuật toán:


B1: Nhập n


B2: S<--0


B3: Cho i chạy từ 1 đến n thực hiện:
S<-- S+ i


B4: Xuất S
B5: Kết thúc


* Chương trình:
Program TongDaySo;
Uses crt;


Var i,n, S: Integer;
Begin


Clrscr;


Write(‘ nhap n:’); Readln(n);
S:= 0;


For i:=1 to n do S:= S+i ;
Write( ‘ Tong S=’, S);
Readln;


End.


Bài 6: Bài này tương tự như bài 5, chỉ khác là chúng ta kiểm tra i trước khi cộng vào S,
chỉ i nào chia hết cho 2 mới cộng;


B3: Cho i chạy từ 1 đến n thực hiện: nếu i chia hết cho 2 thì S <--S+i.



Bài 7: Nhập vào số nguyên dương n, kiểm tra xem n có nguyên tố trong tập số nguyên
dương hay không.


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

+out put: n là nguyên tố hay không
* ý tưởng:


Trong tập số nguyên dương, số 1 không phải số nguyên tố, số 2 và 3 là hai số nguyên
tố. Từ số 4 trở lên, nếu số nào chỉ có hai ước là 1 và chính nó thì đó là số ngun tố. để
kiểm tra, ta kiểm tra từ 2 đến n-1 xem n có chia hết số nào khơng. Tuy nhiên ta chỉ cần
kiểm tra đến căn bậc 2 của n, mà không phải kiểm tra đến n-1. Trong quá trình kiểm
tra ta dùng một biến flag, ban đầu flag được gán là false, nếu n chia hết cho số nào đó
thì flag được bậc lên thành True, đến khi kết thúc vòng lặp, nếu như flag vẫn là False
chứng tỏ n không chia hết cho số nào, vậy nó là ngun tố, ngược lại thì nó khơng
ngun tố. Từ ý tưởng trên ta có thể xây dựng thuật toán như sau:


* Thuật toán:
B1 : nhập n


B2: Nếu n=1, xuất n không nguyên tố, đến bước 5.
B3: Nếu n <4 thì xuất n nguyên tố, đến bước 5.
B2: Cho flag<--False


B3: Chi i chạy từ 2 đến căn bậc 2 của n thực hiện: nếu n chia hết cho i thì gán flag<--
True


B4: Nếu flag = True thì xuất ra n không nguyên tố ngược lại xuất n nguyên tố.
B5: kết thúc.


</div>


<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×