Nội dung của Bài thực hành 7: Xử lý dãy số trong chương trình dưới đây các em sẽ làm bài tập thực hành khai báo và sử dụng các biến mảng; ôn luyện cách sử dụng câu lệnh lặp if...then, for...do; củng cố kĩ năng đọc, hiểu và chỉnh sửa chương trình;... Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.
a. 1. 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 đó:
a.2. Truy cập đến giá trị phần tử trong mảng:
Tên mảng [ Chỉ số ];
a.3. Nhập giá trị cho mảng:
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:
a.4. In giá trị các phần tử của mảng:
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:
Tiêu chuẩn:
Gợi ý làm bài:
Ý tưởng:
Xác định bài toán:
Các biến sử dụng trong chương trình:
Chương trình:
Program Phan_loai;
uses crt;
Var i, N, Gioi, Kha, Trungbinh, Kem: integer;
A: array[1..100] of real;
Begin
clrscr;
write('Nhap so hoc sinh trong lop, N= ');
readln(N);
writeln('Nhap diem :');
For i:=1 to N do
Begin
write(‘Diem cua hoc sinh thu ‘, i,’ =’);
readln(A[i]);
End;
Gioi:=0;
Kha:= 0;
Trungbinh:= 0;
Kem:= 0;
for i:=1 to N do
Begin
if A[i] >= 8.0 then
Gioi:= Gioi + 1;
if (A[i] <8.0 ) and (A[i] >=6.5) then
Kha:= Kha + 1;
if (A[i] >= 5.0 ) and (A[i] < 6.5) then
Trungbinh:= Trungbinh + 1;
if a[i]<5.0 then
Kem:=Kem+1;
end;
writeln(' Ket qua hoc tap: ');
writeln(Gioi, ' ban hoc gioi ');
writeln(Kha, ' ban hoc kha ');
writeln(Trungbinh, ' ban hoc trung binh');
writeln(Kem, ' ban hoc kem ');
readln;
End.
Gợi ý làm bài:
Xác định bài toán:
Input: Điểm môn Toán và điểm môn Văn của các bạn trong lớp.
Output:
Thuật toán:
Chương trình:
Program Diem_trung_binh;
Uses crt;
Var i, N: integer;
TBToan, TBVan: real;
DiemToan, DiemVan: array [1..100] of real;
Begin
clrscr;
write(‘Nhap so cac ban HS trong lop, N =‘);
readln(N);
writeln(‘Nhap diem Toan: ‘);
For i:=1 to N do begin write(i, ‘ . ‘);
readln(DiemToan[i]); end;
Writeln(‘Nhap diem Van: ‘);
For i:=1 to n do begin write(i, ‘. ‘);
readln(DiemVan[i]); end;
writeln(‘Diem trung binh moi HS: ‘);
For i:=1 to n do
Writeln(i, ‘ . ’, (DiemToan[i]+DiemVan[i])/2:3:1);
TBToan:=0;
TBVan:=0;
For i:=1 to N do
Begin
TBToan:=TBToan+DiemToan[i];
TBVan:=TBVan+DiemVan[i];
end;
TBToan:=TBToan/N;
TBVan:=TBVan/N;
Writeln(‘Diem trung binh mon Toan: ‘, TBToan:3:2);
Writeln(‘Diem trung binh mon Van: ‘,TBVan:3:2);
readln
End.
Chạy chương trình với các số liệu cụ thể:
N=3 (3 học sinh):
Học sinh | Điểm Toán | Điểm Văn | Điểm trung bình của mỗi học sinh |
1 | 5 | 7 | 6.0 |
2 | 6 | 8 | 7.0 |
3 | 7 | 9 | 8.0 |
Điểm trung bình Toán và Văn | 6.0 | 8.0 |
Sau khi học xong Bài thực hành 7: Xử lý dãy số trong chương trình, các em cần ghi nhớ các nội dung:
1. Cú pháp khai báo biến mảng kiểu số nguyên và số thực trong Pascal có dạng:
Trong đó, chỉ số đầu không lớn hơn chỉ số cuối.
2. Tham chiếu tới phần tử của mảng được xác định bằng cách:
< tên biến mảng > [ chỉ số ]
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 thực hành 7 cực hay có đáp án và lời giải chi tiết.
Cách khai báo mảng sau đây cách nào khai báo đúng?
Lần lượt thực hiện đoạn lệnh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1;
Giá trị của t là:
Câu 3- 5: 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é!
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
Cách khai báo mảng sau đây cách nào khai báo đúng?
Lần lượt thực hiện đoạn lệnh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1;
Giá trị của t là:
Câu lệnh nào sau đây là câu lệnh nhập cho phần tử thứ 10 của biến mảng A?
Số phần tử trong khai báo dưới đây là bao nhiêu?
Var tuoi : array[12..80] of integer;
Các khai báo biến mảng sau đây trong Pascal là đúng?
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Viết chương trình nhập 1 mảng không quá 15 phần tử, tính tổng in ra màn hình tổng số lớn nhất, số nhỏ nhất.
Câu trả lời của bạn
Viết chương trình nhập 3 số nguyên dương, kiểm tra xem nó có là cạch của tam giác vuông cân đều.
Câu trả lời của bạn
Câu trả lời của bạn
Em hãy viết chương trình sử dụng biến mảng để nhập các phần tử của dãy số gồm n phần tử kiểm tra xem dãy số đã cho có bao nhiêu số dương và bao nhiêu số âm ?
Câu trả lời của bạn
Câu trả lời của bạn
****
sủ dụng if i mod 2=0
for i to 1 do
begin
*****
phaanf còn lại chắc bạn bt r
Nhập 1 dãy số
Câu a là in dãy số vừa nhập ra màn hình
Câu b là in các số lẻ trong dãy đó
Câu c là in số lẻ lớn nhất trong dãy đó
Câu trả lời của bạn
1)viết công thức sử dụng biến mảng nhập từ bàn phím một dãy số nguyên, in ra màn hình tổng các giá trị là số lẻ
2) viết công thức sử dụng biến mảng để nhập từ các phần tử dãy số nguyên In ra màn hình có bao nhiêu số chẵn
3) viết CT tính x ( mũ n)
4) viết công thức nhập n số nguyên đếm các số vừa chia hết cho 2 vừa chia hết cho 3
Câu trả lời của bạn
bạn có thê ghi kĩ lại mình trả lời
viết chương trình nhập vào một mảng các số nguyên.Ghi ra màn hình giá trị trung bình cộng của mảng đó và các phần tử nhỏ hơn giá trị trung bình công của mảng
mọi người giúp mình với
Câu trả lời của bạn
viết chương trình thực hiện lên màn hình các số nguyên dương nhỏ hơn hoặc bằng 20 theo thứ tự giảm dần
Câu trả lời của bạn
***
if i [a (i)]
phaanf chíncần làm đó
a <=20
program sapxepgiamdan;
uses crt;
var A:array[1..100] of integer;
n, i, j, t:integer;
begin
clrscr;
write('Nhap so phan tu:');readln(n);
for i:=1 to n do
begin
write('A[',i,']=');readln(A[i]);
end;
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;
Writeln(' Day so sau khi sap xep giam dan la:');
for i:=1 to n do
if (A[i] <=20) then write(A[i]:4);
Readln
end.
dùng integer
Viết chương trình nhập n số nguyên từ bàn phím, in dãy số nguyên đó ra màn hình và tìm giá trị lớn nhất trong dãy
Câu trả lời của bạn
nếu muốn tìm số lớn nhât thì dùng max
Câu trả lời của bạn
program tinhtong;
uses crt;
var A:array[1..100] of integer;
n, i, S:integer;
begin
clrscr;
write('Nhap so phan tu:');readln(n);
for i:=1 to n do
begin
write('A[',i,']=');readln(A[i]);
end;
S:=0;
for i:=1 to n do S:=S+A[i];
writeln('Tong cac phan tu trong mang A la:',S);
end.
Cho xin like >.<
program tinhtong;
uses crt;
var A:array[1..100] of integer;
n, i, S:integer;
begin
clrscr;
write('Nhap so phan tu:');readln(n);
for i:=1 to n do
begin
write('A[',i,']=');readln(A[i]);
end;
S:=0;
for i:=1 to n do S:=S+A[i];
writeln('Tong cac phan tu trong mang A la:',S);
end.
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
Câu trả lời của bạn
Chương trình nhập dãy số gồm n phần tử nguyên từ bàn phím:
program nhap;
uses crt;
var i,n:integer
A:array[1..100] of integer;
begin
clrscr;
write('Nhap so phan tu n: '); readln(n);
for i:=1 to n do begin
write('A[',i,']= '); readln(A[i]);
end;
readln
end.
câu 1: nhập độ dài của dãy số nguyên từ bàn phím
câu 2:nhập giá trị cho các phần tử của dãy số
câu 3:xuất các số chẵn của dãy số đó ra màn hình kết quả
Câu trả lời của bạn
Câu trả lời của bạn
Var a:array[1..80] of integer;
Câu trả lời của bạn
var a:array[1..10000] of longint;
i:longint;n: longint; max: longint; min: longint;
begin
write('nhap so phan tu :');
readln(n);
for i:= 1 to n do
begin
write('nhap phan tu thu ',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;
write('so be nhat cua day: ',min,' va so lon nhat cua day: ',max,');
readln
end.
program luyentap;
uses crt;
var n, i, max, min: integer;
var a:array[1..10000] of integer;
begin
write('Nhap gia tri n: '); readln(n);
for i:= 1 to n Do
begin
write('Nhap so thu ',i,': '); readln(a[i]);
end;
Max:= a[i]; Min:= a[i];
writeln('Day so nguyen vua nhap la: ');
for i:= 1 to n do
begin
if Max < a[i] then Max:= a[i];
if Min > a[i] then Min:= a[i];
write(a[i],'; ');
end;
writeln(' ');
writeln('So lon nhat la: ',Max); writeln('So be nhat la: ',Min);
writeln('Nhan enter de ket thuc');
readln
end.
Câu trả lời của bạn
Câu trả lời của bạn
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 *