End; Giá trị của i là bao nhiêu?. Giá trị biến đếm của vịng lặp sau khi thốt khỏi vịng lặp là tùy thuộc vào mỗi chương trình dịch.. Người lập trình cĩ thể sử dụng lại biến này bằng cách
Trang 2Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết lệnh writeln in ra màn hình giá trị của i , j và k là bao nhiêu?
Đoạn CT 3:
j:= 3 ; k:= 2 ;
for i:=1 to 6 do
if i mod 2 = 0 then begin
j:= j + 1 ; k:= k + j ; end;
write('j= ', j ,'; k= ',k);
Đoạn CT 2:
j:= 3 ; k:= 2 ;
for i:=1 to 6 do
begin j:= j + 1 ; k:= k + j ; end ;
write('j= ', j ,'; k= ',k);
Đoạn CT 1:
j:= 3 ; k:= 2 ;
for i:=1 to 6 do
j:= j + 1 ;
k:= k + j ;
write('j= ', j ,'; k= ',k) ;
i = 6 ; j = 9 ; k = 11 i = 6 ; j = 9 ; k = 41 i = 6 ; j = 6 ; k = 17
Bài 7
Trang 3Các câu lệnh Pascal sau đây 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’) ;
e) Var x : real ; begin for x :=1 to 10 do writeln(‘A’) ; end.
Bài 7
Trang 4Trong câu lệnh lặp for i:=1 to 10 do begin … end;
Câu lệnh ghép được thực hiện bao nhiêu lần?
Bài 7
Sau khi thực hiện đoạn CT Pasacl sau:
For i:=0 to 10 do Begin
………
End;
Giá trị của i là bao nhiêu?
Giá trị biến đếm của vịng lặp sau khi thốt khỏi vịng lặp là tùy thuộc vào mỗi chương trình dịch Người lập trình cĩ thể sử dụng lại biến này bằng cách khởi tạo lại giá trị cho nĩ nhưng khơng nên sử dụng giá trị của nĩ ngay sau vịng lặp.
Trang 5Bài 7
Sau khi thực hiện đoạn CT Pascal:
x:=1;
For i:=1 to m do Begin
y:= x ; x:= y – 1 ; End;
Chúng ta sẽ nhận được kết quả nào dưới đây?
A x = x – m ; B x = i – x ;
C x:= x – i ; D i = 0 và x = y – 1 ;
Trang 6Bài 7
Trong lệnh lặp for … to … do của Pascal, trong mỗi vịng lặp, biến đếm thay đổi như thế nào?
C Một giá trị bất kì D Một giá trị khác 0.
Bổ sung kiến thức:
Ta đã biết sau mỗi vịng lặp của lệnh lặp for … to … do biến đếm được
tăng lên 1.
Ngồi lệnh trên, Pascal cịn cĩ câu lệnh lặp dạng:
For <biến đếm>:= <giá trị cuối> downto <giá trị đầu> do <câu lệnh> ;
Trong đĩ, sau mỗi vịng lặp biến đếm lại giảm đi 1.
Trang 7Bài 7
Hãy mơ tả thuật tốn để tính tổng sau đây:
+
Thuật tốn:
Bước 1: A ← 0, i ← 1
Bước 2: A ←
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 tốn.
1 ( 2)
i i +
Trang 8Em hãy viết chương trình tính tổng các số nguyên liên tiếp từ n đến m với n, m là các số nguyên dương nhập vào từ bàn phím
Gợi ý :
- Tìm input,output ?
- Khai báo các biến nào? Kiểu dữ liệu gì?
- Nhập vào từ bàn phím giá trị cho biến nào?
- Tìm thuật tốn của chương trình?
- Sử dụng các câu lệnh gì để viết chương trình?
Bài 7
Hướng dẫn:
- Input: n, m ; Output : Tổng S
- Khai báo biến : n, m, S, i kiểu Word
- Nhập giá trị vào từ bàn phím cho biến n và m
- Thuật tốn : Cho biến đếm i chạy từ n đến m ,n: Nếu I <= m thì tổng S:= S + i
- Sử dụng câu lệnh Write, Readln, For to do
Trang 9Trả lời:
Program tinh_tong;
Uses crt;
Var m, n, i: integer;
S: longint;
Begin write (‘Nhap n = ‘); readln(n); write (‘Nhap m = ‘); readln(m); S:=0;
For i:= n to m do
S:= S + i;
Writeln (‘Tong cua S = ’,s);
Readln End
Bài 7
Trang 101 Viết chương trình tính tổng các số chẵn, lẻ từ 1 đến n
với n nhập từ bàn phím.
2 Viết chương trình để tìm tất cả các số Py-ta-go trong
khoảng (1 ; 32000).
3 BT 7.6 , 7.11 , 7.12 , 7.13 SBT tr 60-62.
Bài 7
Trang 11program so_chanle;
uses crt;
var x,y,i,s,s1 : integer;
begin clrscr;
write('Nhap x = ');readln(x);
write('Nhap y = ');readln(y);
for i:=x to y do
if i mod 2 = 0 then s:=s+i;
write('Tong cac so chan tu ',x,' den ',y,' la ',s); writeln;
for i:=x to y do
if i mod 2 <> 0 then s1:=s1+i;
write('Tong cac so le tu ',x,' den ',y,' la ',s1); readln
1 Tổng các số chẵn, lẻ từ 1 đến n, với n nhập từ bàn phím.
Trang 12Program so_pytago;
Uses crt;
var n,k,i : integer;
Begin
clrscr;
write('Nhap n = ') ; readln(n);
if n <= 2 then
writeln('So nhap vao khong hop le, n <= 2')
else
begin i:= 0;
for k:=3 to n do
if k*k = (k-2)*(k-2) + (k-1)*(k-1) then
begin
end;
writeln ( 'trong khoang (1,‘ ,n, ‘) co ‘ ,i, ' so Pytago‘ ); end;
readln
2 Tìm tất cả các số Py-ta-go trong khoảng (1 ; 32000).