Câu 1: Hãy nêu cú pháp khai báo biến mảnh trong pascal?
a) Giải thích cú pháp khai báo biến mảnh trong pascal?
b) Cho Ví dụ về khai báo biến mảnh
Câu 2: Viết chương trình tính tổng từ 1 đến 50
Câu 3: Hãy nêu hoạt động của câu lệnh lặp với số lần biết trước và vẽ sơ đồ
Câu 1:
Cú pháp:
<tên biến mảng>:array[<chỉ số đầu>..<chỉ số cuối>]of <kiểu dữ liệu>;
Giải thích:
+ tên biến mảng: từ khóa do bạn đặt.
+ array,of: từ khóa của chương trình.
+ chỉ số đầu & chỉ số cuối bắt buộc là số nguyên, chỉ số đầu bé hơn hoặc bằng chỉ số cuối, giữa hai chỉ số có dấu “..”
+ kiểu dữ liệu: kiểu dữ liệu của các phần tử trong mảng, rất nhiều nhưng mình cho 2 kiểu dữ liệu phổ biến là integer và real.
+ cách tính số phần tử: chỉ số cuối – chỉ số đầu + 1
VD:
var a:array[1..100]of integer;
Mẫu chương trình:
uses crt;
var n,i:integer;a:array[1..100]of integer;
begin
clrscr;
write(‘Nhap so luong phan tu: ‘);readln(n);
for i:=1 to n do
begin
write(‘Nhap phan tu thu ‘,i,’: ‘);readln(a[i]);
end;
write(‘Day so vua nhap: ‘);
for i:=1 to n do write(a[i],’ ‘);
readln
end.
Câu 2:
uses crt;
var i,s:longint;
begin
clrscr;
for i:=1 to 50 do inc(s,i);
write(‘Tong: ‘,s);
readln
end.
Câu 3:
Có 2 loại là for..to..do và for..downto..do
Cú pháp:
+ for <tên biến>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ for <tên biến>:=<giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
P/s:
+ đối với for..to..do: giá trị đầu phải bé hơn hoặc bằng giá trị cuối.
+ đối với for..downto..do: giá trị đầu phải lớn hơn hoặc bằng giá trị cuối.
– for..to..do còn gọi là lặp tiến, for..downto..do gọi là lặp lùi.
Hoạt động:
+ Lặp câu lệnh theo số lần lặp biết trước của câu lệnh đó.
+ Tên biến phải có giá trị integer (số nguyên)
Sơ đồ: (hình 1: for..to..do, hình 2: for..downto..do)
1.
Cú pháp: var <tên biến mảng> : array[<chỉ số đầu> .. <chỉ số cuối>] of <kiểu dữ liệu>;
a.
– Tên biến mảng: Đặt tuân theo quy tắc đặt tên.
– Chỉ số đầu và chỉ số cuối: Thuộc kiểu số nguyên.
– Kiểu dữ liệu: Bất kì kiểu dữ liệu nào.
b.
var A: array[1..500] of integer;
2.
program phuongt;
uses crt;
var s, i: integer;
begin
clrscr;
s:=0;
for i:=1 to 50 do s:=s+i;
write(‘Tong = ‘, s);
readln
end.
3.
Hoạt động: Khi thực hiện, ban đầu giá trị biến đếm bằng giá trị đầu. Sau mỗi vòng lặp, biến đếm tự động tăng lên 1 đơn vị và thực hiện câu lệnh cho đến khi bằng giá trị cuối.