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 cho phép nhập vào 1 dãy số nguyên từ bàn phím. Tính giá trị lớn nhất của dãy và in ra màn hình.
Câu trả lời của bạn
a)VCT nhập 1 dãy n số nguyên b) In ra màn hình tổng các số chẵn, tổng các số lẻ
Câu trả lời của bạn
a) in ra màn hình có bao nhiêu số chia hết cho 3
b) tính tổng các số chia hết cho 7 của dãy
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 điểm cho 10 bạn học sinh. Viết chương trình in ra màn hình các bạn học sinh giỏi,tính điểm TB 10 bạn đó
Câu trả lời của bạn
Viết chương trình nhập dãy n số nguyên và tính giá trị trung bình cộng của số chẵn.
Câu trả lời của bạn
Câu trả lời của bạn
Câu 1. Viết chương trình nhập vào dãy số nguyên và in ra các số nguyên âm ( sử dụng mảng)
câu 2. Viết ct nhập vào dãy số và in ra các số chẵn (sd mảng)
câu 3. Viết ct nhập vào dãy số và in ra các số lẻ (sd mảng)
câu 4. Viết ct nhập vào dãy số và tìm số lớn nhất của dãy (sd mảng)
câu 5. Viết ct nhập vào dãy số và tìm số bé nhất của dãy (sd mảng)
các bạn giải nhanh giùm mk nha mốt thi rồi, nhớ giải hết lun cho mk
Câu trả lời của bạn
Viết chương trình nhập n dãy số nguyên. In ra màn hình kết quả tính tổng các phần tử của dãy số trên và in ra các số cần nhập
Câu trả lời của bạn
Viết ct nhập vào 1 dãy số nguyên sau đó in ra màn hình các số nguyên tố vừa nhập
Câu trả lời của bạn
program nguyento;
uses crt;
var i,n,b,c,d:longint; a: array[1..100] of longint;
begin
clrscr;
write('Nhap so n: '); readln(n);
for i:=1 to n do
begin
write(i,'. '); readln(a[i]);
end;
for i:=1 to n do
begin
for j:=1 to a[i] do if a[i] mod j=0 then d:=d+1;
if d=2 then write(a[i]:5);
d:=0;
end;
readln
end.
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.
VAR a:ARRAY[1..100] OF longint;
n,d,dem,i,j,t:longint;
BEGIN
dem:=0;
WRITELN('NHAP SO PHAN TU N:');
READ(N);
WRITELN('NHAP MANG:');
FOR i:=1 TO n DO
BEGIN
WRITE('a[',i,']=');READLN(a[i]);
END;
//---------sap---xep------
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
write('day sau khi sap xep: ');
for i:=1 to n do write(a[i],' ');
writeln;
//--------tim-so-nguyen--to------
write('cac so nguyen to trrong day la: ');
for i:=1 to n do
if a[i]>=2 then
begin
j:=2;
while (j<=sqrt(a[i])) and ((a[i] mod j<>0)) do j:=j+1;
if j>sqrt(a[i]) then write(a[i],' ');
end;
writeln;
//----------dem-so-nguyen-to-----
FOR i:=1 TO n DO
BEGIN
d:=0;
FOR j:=1 TO a[i] DO
IF a[i] MOD j = 0 THEN d:=d+1;
IF d=2 THEN dem:=dem+1;
END;
WRITE('SO NGUYEN TO CO TRONG MANG LA:',dem);
readln;
END.
8
Mơn nha
uses crt;
var n,j,i:integer;
a:array[1..100]og integer;
kt:boolean;
begin
readln(n);
for i:=1 to n do readln(a[i]);
for i:=1 to n do if a[i]>1 do
begin
kt:=true;
for j:=2 to a[i]-1 do if a[i] mod j=0 then
begin
kt:=false;
break;
end;
if kt=true then write(a[i];' ');
end;
readln
end.
Câu trả lời của bạn
/
ý B nhé
Câu trả lời của bạn
| |
---|---|
| |
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int n , s = 0; 7 cin>>n; 8 for(int i = 1; i <= n; i++) 9 { 10 s = s+i; 11 } 12 13 cout << s; 14 return 0; 15 }
Câu trả lời của bạn
Uses crt;
Var a:array[1..100] of longint;
n,i,dem,so: Longint;
begin
repeat
clrscr;
write('nhap so phan tu cua day: ');
readln(n);
until (n > 0) and (n <= 100);
for i := 1 to n do
begin
write('a[',i,'] = ');
readln(a[i]);
if (a[i] > 0) and (dem = 0) then
begin
inc(dem);
so:=a[i];
end;
end;
if (dem = 0) then writeln('khong co so duong trong day')
else writeln('so duong dau tien trong day la: ',so);
readln;
end.
Var
a:array[1..100] of integer;
m,n:integer;
Begin
Readln(n);
For i:=1 to n do readln(a[i]);
For i:=1 to n do
If a[i]>0 then m:=a[i];
write(m);
readln
End.
Câu trả lời của bạn
Program bt1;
Var a:array[1..100] of integer;
I,n:integer;
Begin
Write('moi nhap gia tri n=');.
readln(n);
For i:=1 to n do begin
Write ('a[',i,']=');
Readln (a[i]);
End;
Write ('cac so chan la ');
For i:=1 to n do
If a[i] mod 2 = 0 then write (a[i]:3);
Readln;
End.
{ ở đây mk dùng :3 có nghĩa là cách khoảng ra nha}
đây bạn
int n = Int32.Parse(Console.ReadLine());
for(int i = 0; i < n/2; i++)
{
Console.WriteLine(i * 2);
}
Console.ReadLine();
Muốn gán giá trị 5 vào phần tử thứ 2 của mảng A ta phải làm như thế nào
Câu trả lời của bạn
Câu trả lời của bạn
program bt;
uses crt;
var a:array[1..1000] of integer;
i,n,tong,tich:integer;
begin
clrscr;
write('Do dai cua day la:'); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
tong:=0; tich:=1;
for i:=1 to n do
begin
tong:=tong + a[i];
tich:=tich*a[i];
end;
write('tong cac so tu nhien nhap tu ban phim:',tong);
writeln;
write('tich cac so tu nhien nhap tu ban phim:',tich);
readln
end.
Viết chương trình nhập 4 số nguyên bất kì từ bàn phím. Tính tổng số lớn nhất và số nhỏ nhất?
Câu trả lời của bạn
program tim_max_min ;
var i,n,max,min:integer;
a:array[1..100] of integer;
begin
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);
writeln('so be nhat la:',min);
readln
end.
A. For i:=1 to 10 do Readln(A[i]);
B. For i:= 1 to 10 do Writeln(A[i]);
C. Dùng 10 lệnh Readln(A);
D. Tất cả đều sai.
Câu trả lời của bạn
A
viết khai báo biến Điểm để lưu dãy 20 số nguyên
Câu trả lời của bạn
var diem: array [1..20] of integer;
Viết chương trình tính tổng C = 1+8+27+...+n3
Câu trả lời của bạn
PROGRAM TINH_TONG;
Uses Crt;
N, i, C:Integer;
BEGIN
clrscr();
Repeat
begin
Write('Nhap N='); Readln(N);
end;
Until N>0;
C:=1;
For i:=2 To N Do
C:= C + i*i*i;
Writeln('Tong can tim la C = ', C);
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 *