Nội dung của Bài 9: Làm việc với dãy số dưới đây chúng ta sẽ cùng tìm hiểu về khái niệm mảng một chiều; cách khai báo mảng, nhập, in, truy cập các phần tử của mảng; thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số;... Mời các em cùng theo dõi bài học để tìm hiểu nội dung chi tiết.
Dữ liệu kiểu mảng:
Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu, được sắp xếp thứ tự bằng cách gán cho mỗi phần tử một chỉ số.
Hình 1. Minh họa dữ liệu kiểu mảng
Trong đó:
Biến mảng:
Hình 2. Minh họa biến mảng và giá trị của biến mảng
Cách khai báo mảng trong Pascal như sau:
Tên mảng: array [ < Chỉ số đầu > .. < Chỉ số cuối > ] of < Kiểu dữ liệu >;
Trong đó:
Ví dụ 1: Khai báo mảng sau:
Hình 3. Mảng Tuoi
var Tuoi: array[1..40] of integer;
Trong đó:
Lưu ý:
Kích thước của mảng phải được khai báo bằng một con số cụ thể.
Cú pháp: Tên mảng [ Chỉ số ]
Ví dụ 2: Tuoi[4]=9
Tham chiếu tới phần tử thứ tư của mảng Tuoi
Sử dụng lệnh Read (hoặc Readln) kết hợp với For ... do để nhập giá trị cho mảng.
Các bước nhập giá trị cho mảng:
Ví dụ 3: Thể hiện bằng pascal
Write('Nhap vao so HS: ');
Readln(n);
For i:=1 to n do
Begin
write('Diem cho HS thu ',i, ' : ');
readln(A[i]);
end;
Sử dụng lệnh Write (hoặc Writeln) kết hợp với For ... do để in giá trị các phần tử của mảng.
Các bước in giá trị của mảng:
Ví dụ 4: Thể hiện bằng pascal
Writeln('Điểm của lớp: ');
For i:=1 to n do
Write(A[i]:5);
Ví dụ 5: Tìm những học sinh có điểm Tin đạt loại giỏi
For t := 1 to 40 do if DiemTin[t] > 8.0 then writeln('Loai Gioi');
Sử dụng biến mảng và câu lệnh lặp (thường là For…do) giúp cho việc viết chương trình được ngắn ngọn và dễ dàng hơn.
Ví dụ 6: Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất. N cũng được nhập từ bàn phím.
Ý tưởng: Trước hết ta khai báo biến N để nhập số các số nguyên sẽ được nhập vào. Sau đó khai báo N biến lưu các số được nhập vào như là các phần tử của một biến mảng A. Ngoài ra, cần khai báo một biến i làm biến đếm cho các lệnh lặp và biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất.
Chương trình mẫu:
program MaxMin;
uses crt;
Var
i, n, Max, Min: integer;
A: array[1..100] of integer;
{Phần thân chương trình sẽ tương tự dưới đây}
Begin
clrscr;
write('Hay nhap do dai cua day so, = ');
readln(n);
writeln('Nhap cac phan tu cua day so: ');
For i:=1 to n do
Begin
write('a[',i,']='); readln(a[i]);
End;
Max:=a[1];
Min:=a[1];
For i:=2 to n do
Begin
if Max
Max:=a[i];
if Min>a[i] then
Min:=a[i]
End;
write('So lon nhat la Max = ',Max);
write('; So nho nhat la Min = ',Min);
readln;
End.
Trong chương trình này, chúng ta hãy lưu ý một số điểm sau: Số tối đa các phần tử của mảng phải được khai báo bằng một số cụ thể (Ở đây là 100).
Sau khi học xong Bài 9: Làm việc với dãy số - Tin học 8, các em cần ghi nhớ:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Bài 9 cực hay có đáp án và lời giải chi tiết.
Số phần tử trong khai báo dưới đây là bao nhiêu?
Var tuoi : array[12..80] of integer;
Khai báo mảng nào là đúng trong các khai báo sau đây?
Cú pháp khai báo dãy số nào sau đây đúng nhất?
Câu 4- 10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Bài 9để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Bài tập 1 trang 79 SGK Tin học 8
Bài tập 2 trang 79 SGK Tin học 8
Bài tập 3 trang 79 SGK Tin học 8
Bài tập 4 trang 79 SGK Tin học 8
Bài tập 5 trang 79 SGK Tin học 8
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 8 DapAnHay
Số phần tử trong khai báo dưới đây là bao nhiêu?
Var tuoi : array[12..80] of integer;
Khai báo mảng nào là đúng trong các khai báo sau đây?
Cú pháp khai báo dãy số nào sau đây đúng nhất?
Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên ta dùng lệnh nào sau đây?
Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào không hợp lệ?
Em hãy chọn phát biểu đúng khi nói về dữ liệu kiểu mảng:
Cách khai báo biến mảng sau đây là đúng?
Cú pháp để truy cập đến giá trị phần tử trong mảng là:
Chọn câu phát biểu đúng về kiểu dữ liệu của mảng?
Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết:
Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình.
Các khai báo biến mảng sau đây trong Pascal đúng hay sai:
a) var X: Array[10,13] Of Integer;
b) var X: Array[5..10.5] Of Real;
c) var X: Array[3.4..4.8] Of Integer;
d) var X: Array[10..1] Of Integer;
e) var X: Array[4..10] Of Real;
"Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ dưới một tên duy nhất". Phát biểu đó đúng hay sai?
Câu lệnh khai báo mảng sau đây có được máy tính thực hiện không?
var N: integer;
A: array[1..N] of real;
Viết chương trình Pascal sử dụng mảng để nhập từ bàn phím các phần tử của một dãy số. Độ dài của dãy cũng được nhập từ bàn phím.
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
1/Tính tổng các phần tử trong mảng.
2/Tính tổng các phần tử lẻ trong mảng.
3/Tính tích các phần tử trong mảng.
4/Tính tích các phần tử lẻ trong mảng.
5/Tìm trung bình cộng các phần tử trong mảng
Câu trả lời của bạn
Cho biết tính hợp lệ của các câu lệnh sau và lí do nếu không hợp lệ
a. for i:=1 to 10 do x:=x+1 ;
b. for i:=10 to 1 do x:=x+1 ;
c. for i:=1 to 10 for j:=1 to 10 do x:=x+1 ;
d. for i:=1 to 10 do for i:=1 to 10 do x:=x+1 ;
e. while i:=1 do t:=10;
f. while a <= b ; do write('b khong nho hon a' ) ;
g. while 1=1 do write( toi lap trinh gioi);
i. var A:array[1...10] of real;
j. var Diemtoan[35..1] of integer;
Câu trả lời của bạn
2. Hãy viết các biểu thức toán học dưới đây sang ngôn ngữ C++
Trong C++
Trong toán học a/ 15(4+30+12)
b/ ax²+bx+2c
c/ 15(4+30+2018)
d/ax²+bx³+2c
C++
Câu trả lời của bạn
Câu trả lời của bạn
viết chương trình nhập vào mảng D là dãy số nguyên sau đó đưa ra màn hình các số dương trong dãy và tổng các số âm
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
:viết chương trình sắp xếp mảng n phần tử tăng dần
1 3 8 4 2 6 (n=6)
-> 1 2 3 4 6 8
Câu trả lời của bạn
Viết chương trình Tính tổng trong dãy n phần tử.
S:=S+a[i];
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
Viết Chương trình sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số nguyên gồm n số (n được nhập từ bàn phím, n>1). In ra màn hình dãy số vừa nhập.
Bài này khó quá :< mà mình còn ngu tin nữa huhu ai đó hãy giúp mình với TwT
Câu trả lời của bạn
Viết chương trình tính tổng các số lẻ trong mảng a gồm 10 phần tử.
- Tìm ra số lẻ trong [ 1..10 ]
- Tính tổng các phần tử trong mảng đó
Câu trả lời của bạn
pram bai1;
ues crt;
varn:interger
A:array [1..10 of interger
begin
clrscr
write (nhap n: (n)
for i:=1 to 10 do
write('dap an'):readln (n);
end;
write (n=);
readln
end.
program tongle;
uses crt;
var A:array[1..10] of integer;
i, n, S:integer;
begin
clrscr;
writeln('Nhap so luong phan tu:'); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(A[i]);
end;
S:=0;
writeln('Cac so le trong day la:');
for i:=1 to n do
if (A[i] mod 2=1) then
begin
write(A[i]:6);
S:=S+A[i];
end;
writeln;
writeln('Tong cac so le la:',S);
readln
end
program tongle;
uses crt;
var A:array[1..10] of integer;
i, n, S:integer;
begin
clrscr;
writeln('Nhap so luong phan tu:'); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(A[i]);
end;
S:=0;
writeln('Cac so le trong day la:');
for i:=1 to n do
if (A[i] mod 2=1) then
begin
write(A[i]:6);
S:=S+A[i];
end;
writeln;
writeln('Tong cac so le la:',S);
readln
end.
Viết chương trình nhập n số nguyên từ bàn phím in ra màn hình dãy số lớn nhất
Câu trả lời của bạn
program solonnhat;
uses crt;
var a:array[1..100] of longint;
i,n,max:longint;
begin
clrscr;
write('N= ');readln(n);
for i:=1 to n do
begin
write('A[',i,']= '); readln(a[i]);
end;
max:=a[1];
for i:=1 to n do
if a[i]>max then max:=a[i];
writeln('So lon nhat la ',max);
readln
end.
1. Nhập từ bàn phím một dãy số nguyên không âm . Hãy in ra màn hình chỉ số i nhỏ nhất sao cho tổng các phần tử từ 1 đến i lớn hơn 100.
2. Hãy viết chương trình pascal để thực hiện các nhiệm vụ :
- Nhập vào từ bàn phím một dãy số không quá 30 số nguyên
- Kiểm tra rồi cho biết dãy số vừa nhập có phải là một dãy số không giảm hay không
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
Viết chương trình tính tổng của N số tự nhiên đầu tiên. Cho số tự nhiên n, hãy lập trình để tính các tổng sau : 1+1/2^2 +1/3^2 +.......+1/n^2
a) viết bằng câu lệnh for...to..do
b) viết lại bằng câu lệnh while do
Câu trả lời của bạn
nhập học và tên học sinh
nhập mon
biết 1 cột miệng
1 cột 15 phút
1 cột 45 phút
1 cột thi
tính điểm trung bình mông biết cột 45 phút nhân hệ số 2 và cột thi nhân hệ số 3
xuất ra tbm và xuất
+ nếu Tbm>=5.0 "bạn đậu"
+ nếu Tbm <5.0 "bạn rớt"
Câu trả lời của bạn
Câu trả lời của bạn
Program max_real;
Uses crt;
Var n,i:integer;
day:array[1..100] of real;
max:real;
Begin
Clrscr;
Write('Nhap so phan tu cua day: '); Read(n);
For i:=1 to n do
Begin
Write('Nhap phan tu thu ',i,': '); Read(day[i]);
End;
max:=day[1];
For i:=2 to n do
If max<day[i] then max:=day[i];
Write('Gia tri lon nhat cua day so la: ',n);
Readln;
End.
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *