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
*Bài tập lập trình pascal:
Cho số tự nhiên n( n<1000). Tìm chữ số cuối và chữ số đầu của n.
Câu trả lời của bạn
-đưa sang dạng xâu rồi chạy for tìm được cuối với đầu
-cách 2 thì: lấy nó chia dư cho 10 thì thu dc số cuối , chia nguyên nó cho 10 cho đến khi nó nhỏ hơn 10 thì dừng :v
Viết chương trình in ra màn hình tam giác Pascal.
Vd: n=4 sẽ in ra màn hình như sau:
* Giúp mình với mấy bạn ơi!*
1 | ||||
1 | 1 | |||
1 | 2 | 1 | ||
1 | 3 | 3 | 1 | |
1 | 4 | 6 | 4 | 1 |
Câu trả lời của bạn
program bt;
uses crt;
var n,i,j:word;
a:array[1..100] of longint;
begin
clrscr;
write('nhap so n:');readln(n);
for i:=1 to n+1 do a[i]:=0;
a[1]:=1;
for i:=0 to n do
begin
for j:=i+1 downto 2 do a[j]:=a[j]+a[j-1];
for j:=1 to i+1 do write(a[j]:3);
writeln;
end;
readln;
end.
Nhập vào 10 số nguyên dương. Tính tổng các số nguyên dương chẵn.
Câu trả lời của bạn
program tong_chan;
uses crt;
var i,tong:integer;
a:array[1..10] of integer;
begin
clrscr;
writeln('nhap vao 10 so nguyen duong');
for i:=1 to 10 do
begin
write('a[',i,']=');readln(a[i]);
while a[i]<=0 do
begin
write('nhap lai a[',i,'] la so nguyen duong:');
readln(a[i]);
end;
end;
tong:=0;
for i:=1 to n do
if a[i] mod 2 = 0 then tong:=tong+a[i];
if tong= 0 then write('khong co so nguyen duong chan')
else write('tong cua ca so nguyen duong chan la:',tong);
readln;
end.
chúc bạn học tốt!!
viết chương trình tìm số lớn nhất trong dãy A các số a1, a2, ..., an cho trước
Câu trả lời của bạn
Program So_nho_nhat;
uses crt;
Var i,n:Byte; so,Min:Integer;
Begin
clrscr;
Writeln('TIM SO LON NHAT TRONG N SO NGUYEN');
Writeln('---------------------------------'); Write('Cho biet so phan tu nhap N= '); Readln(n); i:=1;
Write('So thu ',i,' = '); Readln(so); Min:=so; For i:=2 To N Do Begin
Write('So thu ',i,' = '); Readln(so);
If Min < so Then Min:=so;
End;
Writeln;
Writeln('+So lon nhat trong ',n,' so vua nhap la so: ',Min);
Writeln(' Bam phim de ket thuc');
Readln;
End.
Viết chương trình nhập vào số n in ra màn hình số nguyên tố thứ n
Câu trả lời của bạn
Uses crt;
var i,dem,j,n:Integer;
Begin
write('Nhap so nguyen n');ReadLn(n);
if n>0 Then
begin
WriteLn('Cac so nguyen to tu 2 den ',n,' la:');
for j:=2 to n Do
begin
dem:=0;
for i:= 1 to j do if j mod i=0 then dem:=dem+1;
if dem=2 then write(j,' ');
end;
end;
Readln
End.
đúng ko z?
Viết chương trình nhập vào một mảng gồm N số nguyên. Tính tổng các phần tử đã nhập.
Câu trả lời của bạn
chnứng là chị
program bt;
var a:array[1..1000] : integer;
i,n,t:integer;
begin
write('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('phan tu thu ',i,' : ');
readln(a[i]);
end;
for i:=1 to n do
t:= t + a[i]
write('tong cac phan tu trong mang la :',t);
readln
end.
viết chương trình thực hiện các yêu cầu sau:
a,nhập mảng số nguyên gồm n phần tử(n>0)
b, In mảng ra màn hình
c, Đếm xem trong dãy số có bao nhiêu số chia hết cho 3 và gt của nó
d,Đếm xem trong dãy số có bn số lớn hơn 10 và gt của nó.
Câu trả lời của bạn
Gửi đc rồi thây -_-
Viết chương trình Pascal tìm GTNN trong dãy A={a1, a2, a3,....., an} (Sử dụng biến mảng)
Câu trả lời của bạn
Viết chương trình nhập vào 1 sãy số có giá trị nhỏ hơn 100 và in ra màng hình dãy số đó.
Program Search_Min;
Uses Crt;
Var i, N, 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;
Min:=a[1];
For i:=2 to N do
begin if Min>a[i] then Min:=a[i];
end;
Writeln('Gia tri Min:',Min);
Readln
End.
Viết chương trình nhập điểm học kì môn tin của N học sinh.
(giúp mình với nha mai mình kiểm tra rồi)
Câu trả lời của bạn
program diemhktin;
uses crt;
var n,i:integer;
a:array[1..100] of real;
begin
clrscr;
write('Nhap so hoc sinh:');readln(n);
for i:=1 to n do begin
write('Nhap diem hoc ki mon tin cua hoc sinh thu ',i,':');readln(a[i]);
end;
readln
end.
1. Viết chương trình tìm giá trị nhỏ nhất trong dãy số nguyên
2. Viết chương trình tính tổng các phần tử lớn hơn 0 của dãy n số nhập vào từ bàn phím
3. Viết chương trình tìm phần tử lớn nhất của dãy n số nhập từ bàn phím
Các bạn giúp được bài nào thì giúp mk vs nha. Giúp mk vs nha rồi mk sẽ tick cho nha. Mơn trước
Câu trả lời của bạn
:v đề câu 1 phải là tìm gtnn trong mảng số nhập vào từ bàn phím hoặc j đó chớ ai tìm được gtnn trong dãy số nguyên
Viết chương trình tìm các số nguyên tố từ 10 đến n với n được nhập từ bàn phímm
Câu trả lời của bạn
Uses crt;
var i,dem,j,n:Integer;
Begin
write('Nhap so nguyen n');Readln(n);
if n>0 Then
begin
Writeln('Cac so nguyen to tu 10 den ',n,' la:');
for j:=10 to n Do
begin
dem:=0;
for i:= 1 to j do if j mod i=0 then dem:=dem+1;
if dem=2 then write(j,' ');
end;
end;
Readln;
End.
Viết công thức nhập 5 số nguyên từ bàn phim và ghi ra màng hình số nhỏ nhất trong 5 số đó bằng cách dử dụng biến mảng .
Giup mình với ak.
Câu trả lời của bạn
https://pastebin.com/aBdUyhi4
Viết chương trình tổng các phần tử của mảng,tính tổng lẻ, tổng chẵn , giá trị trung bình, của các phần tử mảng, giá trị trung bình các số chẵn, giá trị trung bình các số lẻ.
Câu trả lời của bạn
program Mang;
uses crt;
var a:array[1..50] of integer;
i,n,Sle,Schan,TB:integer;
begin
Schan:=0;Sle:=0;
writeln('Nhap vao so phan tu:');
readln(n);
for i:=1 to n do
begin
writeln('a[',i,']=');
readln(a[i]);
end;
for i:=1 to n do
begin
if a[i] mod 2=1 then Sle:=Sle+a[i];
if a[i] mod 2=0 then Schan:=Schan+a[i]
TB:=a[i]/n;
end;
writeln('Tong cac so chan la:',Schan);
writeln('Tong cac so le la:',Sle);
writeln('Gia tri TB la:',TB);
readln
end.
viết chương trình nhập vào 1 dãy gồm 10 số nguyên in ra màn hình các số không chia hết cho 4
Câu trả lời của bạn
Click chuột phải vào ảnh và mở hình ảnh trong tab mới nha!
vt chương trình tính
S=\(\dfrac{2}{1}+\dfrac{3}{2}+\dfrac{4}{3}+.........+\dfrac{n+1}{n}\)
Câu trả lời của bạn
Uses crt;
Var i,n:integer;
S:real;
Begin
Clrscr;
Write('Nhap n = ');Readln(n);
S:=0;
For i:=1 to n do
S:=S+(i+1)/2;
Write(S:0:1);
Readln
End.
{ Có sai sót gì thì cho mình xin lỗi, phần S có thể ra số vô tỉ nên mình làm tròn số lại =) }
Viết chương trình nhập vào một số nguyên n và số a, liệt kê các số lớn hơn số a cho trước từ 1 đến n
Câu trả lời của bạn
Var n , a , i : integer;
Begin
write (' n = ') ; read (n);
write (' a = ') ; read (a);
For i:=1 to n do
If i > a then write (i ' ');
Readln;
End.
Các bạn giúp mình nhé , sắp xếp dãy tăng dần và giảm dần , ( lưu ý cho cả 2 ý chung 1 chương trình ) bằng pascal
Câu trả lời của bạn
Program Day_So_Giam_Dan;
Uses Crt;
Var s,n,i,j,t:integer;
a:array[1..20] of integer;
Begin
Clrscr;
Writeln(‘SAP XEP DAY SO:’);
Write(‘Nhap so phan tu cua day n = ‘); 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 sau khi sap xep giam dan la:'); For i:=1 to n do
Write(a[i]:4); Readln;
s:=0;
For i:=1 to n do s:=s+a[i];
Writeln('Gia tri trung binh la: ',s/n:6:2);
Readln;
End.
Viết chương trình sử dụng biến mảng để nhập n số nguyên từ bàn phím và tính tổng các số nguyên dương của N số đó ?
Câu trả lời của bạn
uses crt; var a:array[1..100] of integer; n,i,s:integer; begin clrscr; writeln('hay nhap so phan tu cua mang');readln(n); for i:=1 to n do begin writeln('phan tu thu ',i,':');readln(a[i]); end; s:=0; for i:=1 to n do if i>0 then s=s+a[i]; writeln('tong cac so duong la',s); 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 *