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
viết chương trình tính a[1]1+a[2]2+a[3]3...+a[n]n
khó quá giúp mih đi
Câu trả lời của bạn
program tinh_tong;
uses crt;
var a,i,n: integer;
s:real;
Begin
clrscr;
write('Hay nhap so a');Readln(a);
write('Hay nhap so n');Readln(n);
S:=1
For i:=1 to n do s:=a*n^n;
writeln('Tong s =', s);
Readln
End.
Bạn Tham Khảo nhé!!!
*Bài tập Pascal:
Viết chương trình tìm số chính phương có 6 chữ số sao cho 3 chữ số sau lớn hơn 3 chữ số trước 4 đơn vị.
Các bạn giúp mình với .Mình cần gấp lắm.Cảm ơn các bạn nhiều
Câu trả lời của bạn
uses crt;
var i:longint;
{-----------------------------------------------------------}
function kt(x:longint):boolean;
var st,s:string;
i,a,b,o:longint;
begin
str(x,st);
s:='';
for i:=1 to length(st) do
begin
if i=4 then begin
val(s,a,o);
s:='';
end;
s:=s+st[i];
val(s,b,o);
end;
if b-a=4 then kt:=true
else kt:=false;
end;
{-----------------------------------------------------------}
begin
clrscr;
for i:=100000 to 999999 do
if (i=sqr(round(sqrt(i)))) and (kt(i)) then
writeln(i);
readln;
end.
Giúp mình với may mình thi rồi, mình xin thật lòng cảm tạ.
Viết chương trình nhập từ bàn phím một dãy số 14 phần tử để lưu điểm các nôn học của một học sinh. Thực hiện các thao tác sau:
1) nhập điểm cho học sinh, in ra màn hình các điểm số vừa nhập?
2) xuất ra màn hình có bao nhiêu điểm bé hơn 5 và có bao nhiêu điểm 10?
3) Xuất ra màn hình điểm trung bình của học sinh?
4) Xuất ra màn hình thông báo biết xếp loại của học sinh dựa điểm trung bình?
Câu trả lời của bạn
prograam bi1;
var a:array[1..100] of longint;
i:,sngint;tbc:real;ten:string
begin
write('Nhap ten ');readln(ten);
s:=0;
for i:=1 to n do
begin
write('Nhap diem thu ',i,'= ');
readln(a[i]);
s:=s+a[i];
end;
write('Nhung con diem <5 la ');
for i:=1 to n do
if a[i]<5 then write(a[i],' ');
wrtieln ;
write('NHung con diem 10 la ');
for i:=1 to n do
if a[i]<10then write(a[i],' ');
tbc:=s/n;
if tbc>=8 then write('Ban duoc hsg')
else if tbc>=6.5 then write('Ban dat danh hieu hoc sinh tien tien')
else if tbc>=5 then wrtie('Ban dat danh hieu trung binh ')
else write('Ban dat danh hieu yeu');
readln
end.
VCT nhập vào một dayn số nguyên. in ra màn hình số lớn nhấttrong dãy số đó và vị trícủa số đó trong dãy
Câu trả lời của bạn
Viết chương trình nhập 1 dãy số nguyên. In ra GTLN của dãy và đếm các số chẳn trong dãy số.
Làm ơn giúp mình đi, 7 tiếng nữa mình thi rồi.
program bai1;
var a:array[1..100] of longint;
i,n,max:longint;
begin
wrtie('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);
write('Vi tri la ');
for i:=1 to n do
if a[i]=max then write(i,' ');
readln
end.
vct nhập vào 1 dãy gồm n số thực in ra màn hình tổng các chữ số trong dãy
Câu trả lời của bạn
hình như là đề sai hay sao á..phải là tính tổng các số trong dãy chứ
Viết chương trình điểm thi cho một bạn học sinh bao gồm số báo danh điểm Toán điểm danh tính điểm trung bình in ra màn hình kết quả điểm trung bình lớn hơn hoặc bằng 8.0 thì thấy đỗ ngược lại là thông báo trượt
Các bạn giúp mk nhá mk cảm ơn các bạn nhiều
thanks trước
Câu trả lời của bạn
đề bài gồm có : số báo danh,điểm toán , điểm danh à
Một số được gọi là số bậc thang nếu biểu diễn thập phân của nó có nhiều hơn một chữ số đồng thời theo chiều từ trái qua phải, chữ số đứng sau không nhỏ hơn chữ số đứng trước. Viết chương trình in ra các số bậc thang trong đoạn [n1, n2] với n1, n2 được nhập từ bàn phím.
Câu trả lời của bạn
Program So_bac_thang; Var i,n1,n2: integer; Function BT(n:integer):Boolean; Var ok: boolean; so:byte; Begin ok:=true; While n>=10 do Begin so:=n mod 10; n:=n div 10; if so < (n mod 10) then ok:=ok and false; End;
BT:=ok; End; Begin Write('Nhap so n1: ');Readln(n1); Write('Nhap so n2: ');Readln(n2); For i:= n1 to n2 do if BT(i) then Write(i:4); Readln End. |
viết chương trình nhập vào một mảng số nguyên .Tính tổng các số nguyên đó.
Giup mình trả lời câu hỏi này với ạ
Cảm ơn rất nhiều !
Câu trả lời của bạn
bạn chưa gán biến T:=0; thì ko tín đc đâu
Var z:array[1..10000] of longint;
n,i,T:longint;
Begin
Readln(n);
For i:=1 to n do begin writeln('T', i, '='); Readln(z[i]);
T:= T + z[i];
End;
Writeln('Tong la ', T);
End.
Bạn thử kiểm tra lại nhé!
BÀI 1: Viết chương trình yêu cầu người dùng nhập vào giá trí số nguyên cho các phần tử của mảng A gồm 5 phần tử. Xuất ra giá trị của các phần tử cùng mảng A theo chiều dọc.
BÀI 2: Viết chương trình nhập vào các số nguyên cho mảng A gồm 5 phần tử. Xuất ra màn hình giá trị lớn nhất trong 5 phần tử đó.
GIÚP MÌNH VỚI NHA !!!!!
Câu trả lời của bạn
nhìn cái tên chắc bạn nữ nên anh đây mới giúp nhá.
bài 1
var i:byte;
a:array[1..5] of longint;
begin
for i:=1 to 5 do begin write('A[',i,']='); readln(a[i]); end;
for i:= 1 to 5 do writeln(a[i]);
end.
viết chương trình nhập vào 1 số mảng các số nguyên. ghi ra màn hình giá trị tb của mảng đó
Câu trả lời của bạn
Var z:array[1..1000] of real;
tbc : real; n,i : longint;
Begin
Readln(n);
For i:=1 to n do begin writeln('tbc',i,'=');
readln(z[i]);
tbc:=tbc + z[i];
End; writeln(tbc/n:8:2);
End.
Bạn chạy thử xem được chưa nhé!
Em hãy viết chương trình thực hiện những việc sau:
a) Khai báo một mảng các phần tử thuộc kiểu số nguyên;
b) Nhập các phần tử của mảng từ bàn phím;
c) Hiển thị phần tử lớn nhất trong mảng.
Câu trả lời của bạn
Program Vidu;
Uses crt;
Var A:array[1..100] ò longint;
i,n,max:integer;
Begin
clrscr;
write('N= ');readln(n);
Writeln('Nhap gia tri cho mang A');
For i:=1 to n do
Begin
Write('A[',i,'] = ');
Readln(A[i]); { đọc vào giá trị cho A thứ i}
End;
max:=a[1];
for i:=1 to n do
if a[i]>ma then max:=a[i];
write('Phan tu lon nhat la ',max);
readln
end.
Lập tính tổng:
S=1+2+3+...+n (n là số tự nhiên được nhập từ bàn phím)
Viết bằng câu lệnh while..do
Help me!!!
Câu trả lời của bạn
Var n,i,s : real;
Begin
s:=0;
i:=0;
Readln(n);
While i <> n do begin i:=i+1; s:=s+i
End;
Writeln('tong s la ',s);
End.
Bạn vào Pascal thử xem đúng chưa nhé!
Bài 1: Tìm tất cả các cặp số bạn bè nhỏ hơn n
Bài 2: Nhập 1 dãy kí tự chữ và số
-Tính Tổng các chử số trong xâu
-Sắp xếp các số tăng dần sao cho vẫn đảm bảo vị trí chữ cái
VD:1A4B8C2F=>1A2B4C8F
Mình đang cần gấp ai làm đúng,nhanh thì mình tick
Câu trả lời của bạn
Tuấn Anh Phan Nguyễn
Giao Huỳnh
Hà Ngân Hà
Giúp mik với
Viết chương trình tính tổng dãy số nguyên trong mảng một chiều với độ dài mảng được nhập từ bàn phím tối đa là 20 phần tử
Trả lời nhanh, đúng tặng liền GP!!!!!!!!
Câu trả lời của bạn
Program Tinhtong;
Uses Crt;
Var n,i,S: integer;
A:array [1..200] of integer;
Begin
writeln('Nhap cac phan tu cua dau:')
For i:=1 to 20 do
Begin
write('A[,'i',]=');Readln(A[i]);
end;
S:=0;
For i:=1 to 20 do S:=S+A[i];
Write('Tong la',S);
Readln;
end.
Viết chương trình tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số được nhập vào từ bàn phím (sử dụng biến mảng)
Câu trả lời của bạn
- Chương trình tham khảo:
Program Cau2;
Uses crt;
Var i: integer;
n: integer;
max: integer;
min: integer;
a: array[1..100] of integer;
Begin
Clrscr;
Write(‘ Nhap do dai cua day so, n= ‘);
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 < a[i] then max:= a[i];
If min > a[i] then min:= a[i];
End;
Writeln(‘So lon nhat la max= ‘, max); Writeln(‘So nho nhat la min= ‘, min); Readln; end.Em hãy viết chương trình :
+ nhập độ dài của một dãy số
+ im ra màn hình các phần tử của dãy số
+ tìm số lớn nhất và tổng của dãy số
+ in ra màn hình số lớn nhất và tổng các phần tử của dãy số đó
Câu trả lời của bạn
Mình làm đây nhé: https://hastebin.com/kijavakeko.pas
Viết 1 chương trình sử dụng câu lệnh lặp tính tổng các số nguyên trong dãy x1, x2Viết 1 chương trình sử dụng câu lệnh lặp tính tổng các số nguyên trong dãy x1, x2,.. xn ( các số này được nhập từ bàn phím )
Câu trả lời của bạn
uses crt;
var i,n,s:longint;
a:array[1..1000] of longint;
begin
clrscr;
writeln('nhap vao so cac so trong day');readln(n);
s:=0;
for i:=1 to n do
begin
writeln('a[',i,']','=');readln(a[i]);end;
writeln('tong cac so nguyen trong day la');
for i:=1 to n do
begin
s:=s+a[i];end;
writeln(s);readln;end.
Viết chương trình sử dụng biến mảng tính tổng các phần tử lẻ trong mảng gồm a (hay 0 gì đó ) phần tử.
Câu trả lời của bạn
mk làm n phần tử nha
Var i , x , n : integer;
a : array [1..100] of integer ;
begin
write (' n = ') ; read (n);
x:=0;
For i:=1 to n do
begin
writeln ('a [ ' , i , '] ');
readln (a[i]);
end;
For i:=1 to n do
If (a [ i ] mod 2<> 0 ) then x:= x+a[i]);
write(' tong cac so le la ' ,x);
Readln;
End.
Viết chương trình nhập vào một mảng số nguyên gồm n phần tử, in ra màn hình tổng các phần tử lẻ ở vị trí chẵn trong mảng.
Các bạn giúp mình với, mai mình kiểm tra học kỳ
Câu trả lời của bạn
Viết chương trình nhập vào bảng A gồm 50 phần tử .Hiển thị các phần tử chẵn ra màn hình,tính tổng các phần tử dương,nhập vào một số Y,K rồi cho biết trong bảng có bao nhiêu phần tử có giá trị bằng K,sắp xếp các phần tử trong bảng theo thứ tự không giảm
Có nghĩa là in ra tổng các phần tử lẻ đúng không bạn?
program Project1;
var a:array [1..100] of integer;
n, i: integer;
le: integer;
begin
write('Nhap so phan tu co trong mang: '); readln(n);
for i:=1 to n do
begin
write('Nhap vao phan tu thu A[',i,']: '); readln(A[i]);
end;
le:=0;
for i:=1 to n do
begin
if (A[i] mod 2 <> 0) then
le:=le+A[i];
end;
writeln('Tong cac phan tu le la ', le);
readln;
end.
viết chương trình tìm phần tử nhỏ nhất và lớn nhất của dãy n số nhập vào từ bàn phím
Câu trả lời của bạn
Program Tim_Max;
Var A:Array[1..255] of Integer;
i, n, Max: Integer;
Begin
Write('Nhap n: '); Readln(n);
For i := 1 to n do
Begin
Write('Nhap phan tu A[',i,'] = '); Readln(A[i]);
End;
Max := A[1];
For i := 2 to n do if A[i]>Max then Max := A[i];
Write('Phan tu lon nhat la :',Max);
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 *