Bài tập về vòng lặp Repeat trong Pascal
thầy ơi, xem bài 4 em làm vậy được không? program bai4; uses crt; var a,b,c,gia,du:integer; begin clrscr; writeln('Nhap vao gia tien: '); readln(gia); writeln; for a:=0 to gia div 2 do for b:=0 to (gia-a*2) div 5 do begin c:=(gia-a*2-b*5) div 4; du:=n-a*2-b*5-c*4; writeln('Voi ',gia,'k ban se mua duoc ',a,' but bi ',b,' but chi ',c,' quyen tap va con du ',du,'k'); end; readln; end.
Ý nghĩa:
Ví dụ 1: Viết chương trình nhập vào lần lượt các số nguyên, quá trình nhập kết thúc khi nhập số nguyên là 0. Sau đó cho biết tổng các số nguyên đã nhập là bao nhiêu? Var n, s : integer; Begin s := 0; repeat write(’Nhập vào 1 số nguyên bất kỳ :‘); readln(n); s := s + n; until n = 0; writeln(‘Tổng các số nguyên đã nhập là : ‘, s); readln; End. Ví dụ 2: Viết chương trình nhập vào số nguyên dương N, kiểm tra xem N có phải là số nguyên tố không? Var n, i : integer; Begin write(‘Nhập số n = ‘); readln(n); i := 1; repeat i := i + 1; until (n mod i = 0) or (i = n) ; if i = n then write(n, ‘ là số nguyên tố.’) else write(n, ‘ là hợp.’) readln; End. ² Các Lưu ý: - Trong vòng lặp phải có ít nhất 1 câu lệnh có khả năng làm thay đổi Điều kiện sau từ khóa UNTIL để đến 1 lúc nào đó thì Điều kiện trở thành đúng và vòng lặp kết thúc. - Trong công việc có nhiều hơn 1 câu lệnh nhưng ta vẫn không cần đặt chúng trong cặp từ khóa BEGIN và END (lệnh hợp thành). - Số lần lặp ít nhất là 1 chính là lần thực hiện Công việc đầu tiên trước khi kiểm tra Điều kiện. - Người ta thường sử dụng REPEAT … UNTIL … để kiểm tra dữ liệu nhập cũng như để cho chương trình có thể thực hiện nhiều lần mà không cần chạy lại chương trình. Ví dụ: Viết chương trình tính n!, với n>=0 và được nhập từ bàn phím. Uses crt; Var n, i : integer; gt : longint; tl : char; Begin repeat clrscr; repeat write(‘Nhập n = ‘); readln(n); until n >= 0; gt := 1; for i := 2 to n do gt := gt * i; writeln(n , ‘ ! = ’, gt); write(‘Bạn muốn tiếp tục không?’); readln(tl); until (tl = ‘k’) or (tl = ‘K’); readln; End.I. BÀI TẬP LÀM QUEN PASCAL DẠNG CƠ BẢN Bài 1: Sử dụng cấu trúc điều kiện kiểm tra số chẳn hay lẻ Program chanle; var so:integer; begin writeln('nhap so kiem tra');readln(so); if so mod 2 =0 then writeln('so chan') else writeln('so le'); readln; end. Bài 2: Sử dụng cấu trúc lặp for …do viết chương trình in ra 10 dòng chữ “CAU TRUC LAP FOR … DO” program bai2; var i: integer; begin for i:=1 to 10 do writeln('CAU TRUC LAP FOR ..DO'); readln; Bài 3: Sử dụng cấu trúc lặp while … do viết chương trình in ra 10 dòng chữ “CAU TRUC LAP WHILE…DO” program bai3; var i:integer; begin i:=0; while i<=10 do begin writeln('CAU TRUC LAP WHILE...DO'); I:=I+1; end; readln; end. Bài 4: Sử dụng cấu trúc lặp repeat… until viết chương trinh in ra 10 dòng chữ “ CAU TRUC LAP REPEAT…UNTIL” program bai4; var i: integer; begin i:=0; repeat writeln(' CAU TRUC LAP REPEAT...UNTIL'); i:=i+1; until i=10; readln; end. Bài 5: Viết chương trình tính tổng số nguyên từ 1-n, n là số nguyên nhập từ bàn phím. Sử dụng vòng lặp for… do PROGRAM BAI5; var i: integer; s: real; begin writeln('nhap so n de tinh tong'); readln(n); s:=0; for i:=1 to n do s:=s+i; writeln('tong tu 1-n la=',s:2:0); readln; end. Bài 6: Viết chương trình tính tổng số nguyên từ 1-n, n là số nguyên nhập từ bàn phím. Sử dụng vòng lặp while… do program bai6; var i: integer; s: real; begin writeln('nhap so n de tinh tong tu 1-n'); readln(n); s:=0; i:=0; while i<=n do begin i:=i+1; s:=s+i; end; writeln('tong tu 1- ' , n , ' la= ' ,s:5:2); readln; end. Bài 7: Viết chương trình tính tổng số nguyên từ 1-n, n là số nguyên nhập từ bàn phím. Sử dụng vòng lặp repeat… until program bai7; var i:integer; s:real; begin write('n= '); readln(n); s:=0; i:=0; repeat i:=i+1; s:=s+i; until i=n; writeln('tong 1- ' , n, '=',s:0:2); readln; end. Bài 8: Viết chương trình sử dụng mảng số nguyên nhập n phần tử và in các phần tử vừa nhập ra man hình. program bai8; var a:array[1..100] of integer; i , n: integer; begin writeln('n= ');readln(n); for i:=1 to n do begin writeln('a[' ,i, ']='); readln(a[i]); end; for i:=1 to n do writeln('a[',i,']=',a[i]); readln; end. Bài 9: Viết chương trình sử dụng mảng số nguyên nhập n phần tử và in các phần tử là số chẳn program bai9; var a:array[1..100] of integer; i: integer; begin writeln('nhap so luong phan tu la bao nhieu'); readln(n); for i:=1 to n do begin writeln('a[',i,']='); readln(a[i]); end; writeln(' cac so chan vua nhap la:'); for i:=1 to n do if a[i] mod 2 =0 then writeln(a[i]); readln; end. Bài 10: Viết chương trình sử dụng mảng số nguyên nhập n phần tử và in tổng các giá trị phần tử là số chẳn. Bài 11: Viết chương trình sử dụng mảng số nguyên nhập n phần tử và in tổng các giá trị phần tử là số lẻ. Bài 12: Viết chương trình sử dụng mảng số nguyên nhập n phần tử và in tổng các giá trị phần tử là số dương. Bài 13: Viết chương trình sử dụng mảng số nguyên nhập n phần tử và in tổng các giá trị phần tử là số chia hết cho 2 và 3. Bài 14: Viết chương trình kiểm tra số nguyên tố. |