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
Câu trả lời của bạn
Viết chương trình nhập số N và in ra chữ số đầu và cuối của N
Câu trả lời của bạn
Hãy tìm hiểu đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp và khi kết thúc giá trị của S bằng bao nhiêu ?
S:= 1;
For i:= 1 to 3 do S:= S * 2
Câu trả lời của bạn
Viết chương trình nhập vào số k . Tìm N để tổng S nhỏ nhất và lớn hơn K vs S = 1+2+3+...... +N
Câu trả lời của bạn
Tính tích các số tự nhiên nhỏ hơn hoặc bằng N
Câu trả lời của bạn
Câu trả lời của bạn
Nhập vào một số n. n có mấy chữ số, tìm chữ lớn nhất, chữ số bé nhất. Tính tổng các chữ số của n.
Câu trả lời của bạn
a).tính tổng/tích các số trong dãy a).tìm giá trị lớn nhất trong dãy
b). Đếm xem trong dãy có bao nhiêu số chẵn/lẻ
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ó 2 cú pháp điều kiện: dạng thiếu và dạng đủ
Có 2 cú pháp điều kiện
2 cú pháp: dạng đủ và thiếu
3 nhá
2 cú pháp
Hình như là 4 hay 5 gì ấy
MÌNH ĐANG CẦN GẤP MỌI NGƯỜI GIÚP MÌNH NHANH NHÉ :)))))
Khởi động chương trình pascal, viết chương trình nhập số ttuwj nhiên n sao cho 5<n<100, nếu nhập sai yêu cầu nhập lại đúng thì tính tổng Sn:
Sn=\(\frac{1.2}{3.4}\)+\(\frac{2.3}{4.5}\)+\(\frac{3.4}{5.6}\)+....+\(\frac{n.\left(n+1\right)}{\left(n+2\right)\left(n+3\right)}\)
- Mình mới dùng nên phân số còn hơi chệch choạc, mong mn thông cảm nhé.
Câu trả lời của bạn
ko phải do bạn lập trình hơi chệch choạng đâu mà do nó khó đó
Giúp em giải 2 bài này với :
1/ viết chương trình nhập vào một mảng gồm n số. Tìm và in ra màn hình số lớn nhất và số nhỏ nhất trong mảng . Với n được nhập từ bàn phím
2/ viết chương trình nhập vào một mảng gồm n phần tử. Tính tổng và tính tích của các phần tử trong mảng rồi in ra màn hình
Câu trả lời của bạn
1) Type mang=array [1..20] of integer;
var a:mang; i,n,max,min:integer;
begin
readln(n);
for i:=1 to n dO
begin
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(min); writeln(max);
readln;
end.
câu 1 viết CT tìm số lớn nhất
câu 2 viết CT tìm số nhỏ nhất
câu 3 viết CT tìm đếm có bao nhiêu số chẵn trang dãy số
câu 4 viết CT tính tổng của các phần tuwrtrang dãy số
----------->CẦN GẤP LẮM<---------------
Câu trả lời của bạn
Câu 4:
PROGRAM TINH_TONG;
Uses Crt;
Type Mang = ARRAY[1..50] Of Integer;
Var A: Mang;
N, i, Sum: Integer;
BEGIN
Repeat Write('Nhap N='); Readln(N);
until (N>0) and (N<=50)
For i:=1 To N Do
Begin
Write('A[',i,']='); Readln(A[i]);
End;
Sum:=A[1];
For i:=2 To N Do Sum:= Sum + A[i];
Writeln('Tong cac phan tu cua mang la:', Sum);
Readln;
END.
1)Viết CT nhập vào số N nguyen dương. Hãy đếm xem có bao nhieu số chia hết cho 2 va 5 từ 1->N
5)Viết CT nhập vào 2 số M, N nguyên dương(0<M<N). Hãy in ra màn hình các số là ước của 1000 từ M đến N
6) Các câu lệnh sau đúng hay sai, vì sao? Nếu sai, hãy sửa lại cho đúng
a.For i:=1 to 10 do; write(i:5); b. for i:= 100 to 10 do x=x-i;
c.For i:=100 to200 do i:=i+5; d. for i:=0*4 to 20*4 do write(i-5);
d. Vả n,i:real;
begin n:=0;i:=0;fori:=5 to105 do n:=n+i;end.
Câu trả lời của bạn
Cho mảng a có n phần tử kiểu số nguyên .Viết công thức in các số nguyên tố trong mảng ra màn hình
mong đc mọi người giúp cho
6.a sai vì sau do có dấu ;
==> sửa lại: for i := 1 to 10 do write(i:5);
6.b sai vì chỉ số đầu lớn hơn chỉ số cuối (100>10) và chỗ gán cho x thế dấu :
==> sửa lại: for i:=10 tờ 100 đô x:=x-i;
6.c sai vì to viết liền với số 200
==> sữa lại: for i:= 100 tờ 200 độ i:=i+5;
6.d đúng
6.d2 thừa i:=0 và còn ko cách chỗ to và 105
sử lại: var n, i:real;
begin n:=0; for i:=5 to 105 do n:=n+1; end.
viết chương trình tính tổng n số tự nhiên nhập từ bàn phím
Câu trả lời của bạn
program tinhtong;
uses crt;
var i, s, n : integer;
a : array [1..100] of integer;
begin
clrscr;
write('So thu n la: '); readln(n);
s:=0
for i:=1 to n do begin
write('Nhap so thu ',i); readln(a[i]);
s:=s+a[i]; end;
writeln('Tong cac so do la: ',s);
readln
end.
viết chương trình pascal 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ố in ra màn fhình dãy số vừa nhập và tính tổng các số chẵn trong dãy
Câu trả lời của bạn
program bien_mang;
uses crt;
var i, n, s : integer;
a: array [1..100] of integer;
begin
clrscr;
write('So phan tu la: '); readln(n);
s:=0;
for i:=1 to n do begin
write('Nhap so thu ',i); readln(a[i]);
if a[i] mod 2 = 0 then s:=s+1;
end;
for i:=1 to n do writeln('Các số vừa nhập là :',a[i]);
writeln('Tong cac so chan la',s);
readln;
end.
Viết chương trình Pascal sử dụng lệnh lặp for ... do để tính trung bình n số thực a1
Câu trả lời của bạn
program CTTTB;
uses crt;
var TB,x:real; n,y: integer;
begin
Write('Hay nhap so so thuc ban can tinh TB'); Readln(n);
for y:=1 to n do
begin Write('Nhap so thu',y);Readln(x);
TB:=TB+x;
end;
TB:=TB/n;
Writeln('Trung binh cong cua',n,' so nhap vao tu ban phim la',TB);
Readln;
End.
viết chương trình nhập vào 30 số nguyên bất kì. Tìm số lớn nhất. Giúp mik gấp nha
Câu trả lời của bạn
uses crt;
var i, max: integer;
a: array [1..30] of integer;
begin
clrscr;
for i:=1 to 30 do
begin
write ('a[ ',i ,']='); readln (a[i]);
end;
max:= a[1];
for i:=2 to 30 do
if a[i] > max then max := a[i];
writeln( ' so lon nhat la: ' ,max);
readln
end.
Câu 6 .Tính tổng dãy 50 số bất kì được nhập từ bàn phím Câu 7. Đếm số lẻ trong dãy 50 số bất kì được nhập vào từ bàn phím. Giúp mik vs. Thanks trc nha.
Câu trả lời của bạn
1/
uses crt;
var i,tong:integer;
a:array[1..50] of integer;
begin
clrscr;
for i:=1 to 50 do
begin
write('a[',i,']='); readln(a[i]);
end;
tong:=0;
for i:=1 to 50 do tong:=tong+a[i];
write('tong la:',tong);
readln;
end.
*ở đây bạn k ns là số nguyên hay số thực nên mk làm số nguyên, nếu số thực thì bạn sửa khai báo lại nha
viết chương trình nhập số nguyên dương n . tính và in ra tổng các số tự nhiên nhỏ hơn n
Câu trả lời của bạn
Var i,n,s:integer;
begin
readln(n); s:=0;
for i:=1 to n do
if i > 0 then s:=s+i;
writeln(s);
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 *