Bµi 11
Gi¸o ¸n ®iÖn tö tin häc líp 11
Câu 1: Em hãy trình cấu trúc và cách
thực hiện của vòng lặp
While?
<§iỊu kiƯn><C©u
lƯnh>;
§iỊu kiƯn: Lµ biĨu thøc
quan hƯ hc l«gic.
C©u lƯnh: Lµ mét c©u lƯnh cđa
Pascal.
Trong ®ã:
Chõng nµo ®iỊu kiƯn cßn ®óng th× c©u lƯnh cßn ®(ỵc thùc hiƯn.
§iỊu kiƯn
C©u lƯnh
!"#$%&'()$*+,-!.
% !"$%'$*/01.2)3 !",45
$%$*6
* Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7.
* Dữ cần tính và in ra (OUTPUT): tb, dem.
Hãy xác định
Input, Output và
viết chơng trình
giải bài toán trên ?
47!89!:
;<=>
?/@/>
gặp khó khăn gì ?
Khai báo quá lớn
(t1,t2,t3, ,t365) và
chơng trình quá
dài (với 365 lệnh IF)
!!!!!
Để khắc phục khó khăn
đó ta sử dụng kiểu dữ liệu
mảng một chiều.
17 20 18 25 19 12 19
A
1 2 3 4 5 6 7
Trong ®ã :
F
Khi tham chiÕu ®Õn phÇn tö thø i ta viÕt A[i].
VÝ dô: A[5] = 19.
Tªn m¶ng : A.
Sè phÇn tö cña m¶ng: 7.
VÝ dô:
KiÓu d÷ liÖu cña c¸c phÇn tö: KiÓu nguyªn.
19
6.7 90452510204.5 21
B
1 2 3 4 5 6 7 8
4+=>?6++,@@1"2+93
4786 4+9"6++,:;<1"299+3
Type
Arrayr1 = array[1 200] of real;
Arrayr2 = array[byte] of real;
Arrayb = array [0 100] of Boolean;
* Khai báo mảng 1 chiều có 200 phần tử kiểu real , chiếm 800 byte
* Mảng 1 chiều có 100 phần tử kiểu Boolean, chiếm 100 byte
trong bộ nhớ.
Tìm xem khai báo
nào đúng, ý nghóa
của các lệnh, chiếm
dung lượng bộ nhớ là
bao nhiêu?
47!89!:
AAB"C7+"
A
n
1. Nhập số phần tử của mảng (n).
Write( Nhap vao so ngay:);
Readln(n);
2. Nhập vào giá trị của các phần tử
trong mảng (A[i]).
For i:=1 to n do
Begin
write(nhiet do ngay thu ,i, : );
readln(A[i]);
end;
Các bớc
19171921182017
A[i]
0 1 1 2
3
3 4
20 21 19 19
+1 +1 +1+1
à 1;
;
: [1 366] ;
,,à: ;
, : ;
;
( : ) ;
() ;
:= 0 ;
:= 1
( ,, : ) ;
([]) ;
:=+[] ;
;
:= / ; à := 0 ;
:= 1
[]> à := à+1;
( ,, = , : 6 : 2) ;
( : , à) ;
;
For i :=1 to n do
IF A[i] mod 3 = 0 then S:=S+A[i];
19121825162015
LEF
Hãy nhớ!
Mảng một chiều là một dãy hữu
hạn các phần tử cùng kiểu.
!"6 tên mảng, chỉ số đầu,
chỉ số cuối, kiểu phần tử.
ỉ
#56
Tên biến mảng[chỉ số phần tử]
Nhiều thao tác xử lí mảng dùng
cấu trúc lặp FOR TO DO.
15 20 19 25 18 12 16
Var A:ARRAY[1 100] OF integer;
A[5] = 18
TiÕt häc h«m nay ®Õn ®©y lµ hÕt råi!