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
Cho mảng A có m hàng, n cột các số nguyên.
Viết chương trình:
- Sắp xếp các phần tử của mảng theo thứ tự tăng dần của mỗi hàng.
- Tìm số lớn nhất và số lớn thứ nhì của mảng.
Help nha mn
Câu trả lời của bạn
program mang_2_chieu;
uses crt;
var m,n,i,j,t,k:word;
max,max2:longint;
a:array[1..100,1..100] of longint;
begin
clrscr;
write('nhap m:');readln(m);
write('nhap n:');readln(n);
writeln('nhap mang A:');
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',j,']=');readln(a[i,j]);
end;
writeln('mang da nhap :');
for i:=1 to m do
begin
for j:=1 to n do write(a[i,j]:3);
writeln;
end;
for i:=1 to m do
begin
for j:=1 to n-1 do
for t:=j+1 to n do
if(a[i,j]>a[i,t]) then
begin
k:=a[i,j];
a[i,j]:=a[i,t];
a[i,t]:=k;
end;
end;
writeln('mang da sap xep cac phan tu theo thu tu tang dan cua moi hang la:');
for i:=1 to m do
begin
for j:=1 to n do write(a[i,j]:3);
writeln;
end;
max:=a[1,1]; max2:=a[1,1];
for i:=1 to m do
for j:=1 to n do
if a[i,j]>max then max:=a[i,j];
for i:=1 to m do
for j:=1 to n do
if (a[i,j]<max) and (a[i,j]>max2) then max2:=a[i,j];
writeln('so lon nhat la:',max);
write('so lon nhi la:',max2);
readln;
end.
Viết chương trình nhập một mảng N số nguyên
+ In mảng theo chiều ngược lại
+ tính và in tổng các phần tử ở vị trí lẻ
Câu trả lời của bạn
type mang=array[1..20] of integer;
var a:mang;
i,n,s:integer;
begin
clrscr;
readln(N);
for i:=1 to n do
readln(a[i]);
{in theo chieu nguoc lai}
for i:=n downto 1 do
write(a[i],' ');
writeln();
{tinh va in tong cac phan tu o vi tri le}
s:=0;
for i:=1 to n do
if i mod 2 <>0 then s:=s+a[i];
writeln(s);
readln;
end.
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.
Cho một dãy số gồm n số thực và số thực x. Viết chương trình nhập n số thực đó và đếm xem có bao nhiêu số trong dãy không lớn hơn x ( Sử dụng dãy số)
Câu trả lời của bạn
uses crt;
var n,i,dem:longint;
a:array[1..100] of real;
x:real;
begin
clrscr;
write('nhap n:');readln(n);
writeln('nhap day so thuc:');
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
write('nhap x:');readln(x);
dem:=0;
for i:=1 to n do
if a[i]<=x then dem:=dem+1;
if dem=0 then write('trong day khong co so khong lon hon ',x:2:2)
else write('co ',dem,' so trong day khong lon hon ',x:2:2);
readln;
end.
Viết chương trình cho biết sau khoảng thời gian là bao nhiêu tháng thì ta có 1 đàn thỏ không ít hơn M cặp thỏ từ 1 cặp thỏ bố mẹ ở tháng đầu tiên. M là 1 số nguyên dương nhập từ bàn phím nằm trong khoảng 1 đến 10000. Lưu ý
Nếu nhỏ hơn 1 hoặc lớn hơn 10000 thì nhập lại
Ai làm đúng thì mk tick
Nhanh nhé mk đang cần gấp
Nhớ sử dụng câu lệnh while...do hoặc repeat.....until nhé
Câu trả lời của bạn
ai giúp mk với nhanh nhé
Viết chương trình đếm xem có bao nhiêu số chính phương trong dãy n số tự nhiên?
Câu trả lời của bạn
Program so_chinh_phuong;
uses crt;
type ArrInt = array[1..250] of integer;
Var n,i,x,d : integer;
a: ArrInt;
BEGIN
clrscr;
{Nhap n va day gom n so tu nhien}
write('Nhap so phan tu cua day so: n = ');
readln(n);
for i:=1 to n do
begin
write('Phan tu thu ',i,'= ');
readln(a[i]);
end;
{Dem cac so chinh phuong co trong day so vua nhap}
d:=0;
for i:=1 to n do
begin
x:=trunc(sqrt(a[i]));
if sqr(x)=a[i] then
d:=d+1;
end;
writeln('So cac so chinh phuong co trong day so tren la: ',d);
readln;
END.
Viết chương trình phát sinh một mảng số nguyên tối đa 50 phần tử, mỗi phần tử là một số nguyên gồm 3 chữ số. Sắp xếp lại mảng vừa phát sinh theo thứ tự giảm dần. ---Giúp e với ạ^^
Câu trả lời của bạn
Giúp em với ạ -.-
viết chương trình tính tổng T=1+\(\dfrac{1}{2}\)+\(\dfrac{1}{3}\)+...+\(\dfrac{1}{n}\). trong đó n là số nguyên nhập từ bàn phím
Câu trả lời của bạn
mik gửi lại
var n,i,t:integer;
begin
write('n=');readln(n);
t:=0;
for i:=1 to n do t:=t+1/i;
writeln(' Tong la: ',t);
readln;
end.
Viết chương trình pascal nhập một số và kiểm tra xem số đó có phải số song tố không (số song tố là số nguyên tố và tổng chữ số của nó cũng là số nguyên tố)
Câu trả lời của bạn
program song_to;
uses crt;
var x,i,dem,tcs,t:longint;
function tongchuso(x:longint):longint;
begin
tcs:=0;
while x<>0 do
begin
tcs:=tcs+x mod 10;
x:=x div 10;
end;
tongchuso:=tcs;
end;
begin
clrscr;
write('nhap vao mot so:');readln(x);
dem:=0;
for i:=1 to x do
if x mod i=0 then dem:=dem+1;
if dem=2 then
begin
t:=0;
for i:=1 to tongchuso(x) do
if tongchuso(x) mod i =0 then t:=t+1;
if t=2 then write(x,' la so song to');
end
else write(x,' k la so song to');
readln;
end.
Viết chương trình pascal tính hiệu n số tự nhiên đầu tiên bằng câu lệnh for do và while do
Help me.....
Câu trả lời của bạn
Viết bình thường một lệnh cũng được mà, mình không biết làm 2 lệnh
program Tinh_hieu;
var n,i: integer;
S: longint;
begin
write('Nhap so n='); readln(n);
S:=0;
for i:=1 to n do S:=S-i;
writeln('Hieu cua ',n,' so tu nhien dau tien S=', S);
readln
end.
viết chương trình biến mảng tính tổng của n số nguyên nhập từ bàn phím
Câu trả lời của bạn
Program tong;
Uses crt;
Var a:array[1..100] of integer;
n,s,i:integer;
Begin
Clrscr;
Write('nhap so phan tu cua mang:n=');readln(n);
For i:=1 to n do
Begin
Write('a[',i,']='); readln(a[i]);
End;
For i:= 1 to n do
Begin
S:=0;
S:= s+a[i];
Write('tong cua cac phan tu trong mang:s=',s);
End;
Readln;
End.
Program Tinh_tong;
Var i,S,n: integer; a: array;
Begin
Clrscr;
S:=0;
For i:=1 to n do
S:=S+a[i];
TinhTong:=S;
Writeln('Tong:',TinhTong);
Readln;
End.
Em mới lớp 7 nên em làm sai thì a bỏ qua cho e nhé
Viết chương trình in ra màn hình các số lẻ từ 1 đến 200
Câu trả lời của bạn
uses crt;
var i:integer;
begin
clrscr;
write('Cac so le tu 1 den 200 la: ');
writeln; {cách một dòng cho đẹp}
for i:=1 to 200 do
if i mod 2 <> 0 then write(i:5);
readln
End.
Viết chương trình in ra màn hình các số chẵn từ 1 đến 200
Câu trả lời của bạn
Chà! Cách làm này rắc rối wa Võ Hạnh Xuân nhỉ, nó cũng hơi khó đúng k Thuỳ Trang
uses crt;
var i:integer;
begin
clrscr;
write('Cac so le tu 1 den 200 la: ');
writeln; {cách cho đẹp}
for i:=1 to 200 do
if i mod 2 = 0 then write(i:6);
readln
End.
1. Viết chương trình nhập vào năm sinh của nhóm học sinh trong trường. Hãy in ra năm sinh lớn nhất trong nhóm đó.
- Tính tổng năm sinh của nhóm học sinh đó.
- Hãy đếm có bao nhiêu bạn có năm sinh là 2005.
2. Viết chương trình nhập vào chiều cao của một nhóm học sinh trong lớp. Hãy in ra màn hình:
- Chiều cao lớn nhất và nhỏ nhất trong nhóm.
- Đếm xem có bao nhiêu bạn có chiều cao trên 1,6m
Câu trả lời của bạn
Bài 1: https://hastebin.com/tuqotupemi.pas
Viết chương trình tính tổng S=1/(1+3)+1/(2+4)+......+1/n(n+2). Giải dụm mình với cảm ơn
Câu trả lời của bạn
begin
write('N= ');
readln(n);
s:=0;
for i:=1 to n do
s:=s+1/(i*(i+2));
write('s= ',s);
readln
end.
Viết ct tính tổng sau:
S=1/2+2/3+3/4+4/5+...+n/(n+1)
Câu trả lời của bạn
Var n , i : integer;
S : real;
Begin
write (' n = ') ; read (n);
S:= 0;
For i : = 1 to n do S : = S + i/(i+1);
writeln (S);
readln;
end.
viết chương trình tính gtri của biểu thức P=\(\dfrac{\sqrt{x+\sqrt{x+.....+\sqrt{x}}}}{n}\). Trong đó n được nhập từ bàn phím
Câu trả lời của bạn
program tinhp;
uses crt;
var x,n,i: integer;
s: real;
begin
write('Nhap n:');
readln(n);
write('Nhap x:');
readln(x);
s: sqrt(x);
for i:=1 to do s:= sqrt (x+s);
write('tong s=',s:6:2);
readln;
end.
Bài 1:Cho 1 dãy số nguyên,tách ra 1 dãy con là các số hoàn hảo,dãy con là số nguyên tố
Câu trả lời của bạn
uses crt;
var n,i,j,t,k:byte;
a,b,c:array[1..1000] of longint;
function shh(n:longint):boolean;
var tong:longint;
begin
tong:=0;
for k:=1 to n div 2 do
if n mod k =0 then tong:=tong+k;
if tong=n then shh:=true else shh:=false;
end;
function snt(n:longint):boolean;
var dem:byte;
begin
dem:=0;
for k:=1 to n do
if n mod k=0 then dem:=dem+1;
snt:=dem=2;
end;
begin
clrscr;
write('nhap so phan tu cua day:');readln(n);
writeln('nhap day so nguyen:');
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
j:=0; t:=0;
for i:=1 to n do
begin
if shh(a[i])=true then
begin
inc(j);
b[j]:=a[i];
end;
if snt(a[i])=true then
begin
inc(t);
c[t]:=a[i];
end;
end;
if j=0 then write('trong day khong co so hoan hao')
else
begin
writeln('day con gom cac so hoan hao la:');
for i:=1 to j do write(b[i],' ; ');
end;
writeln;
if t=0 then write('trong day khong co so nguyen to')
else
begin
writeln('day con gom cac so nguyen to la:');
for i:=1 to t do write(c[i],' ; ');
end;
readln;
end.
chúc bạn học tốt nhé!!
Viết chương trình in ra phép tính từ 2 nhân đến 1000 trên pascal.
Các bạn giúp mình với nhé! Cảm ơn nhiều!
Câu trả lời của bạn
uses crt;
var i:integer;
begin
clrscr;
writeln('phep tinh tu 2 nhan toi 1000:');
for i:=1 to 1000 do
begin
writeln(2:3,'x':3,i:5,' =':4,2*i:6);
end;
readln;
end.
chúc bạn học tốt!!
Viết chương trình nhập n số từ bàn phím và đếm xem có bao nhiêu số lẻ ( n > 0 ).
Câu trả lời của bạn
viết chương trình nhập 1 dãy số sau đó đếm xem có bao nhiêu số lẻ
Program bai1;
uses crt;
var a:array[1..100] of integer;
i,n,dem: integer;
begin
clrscr;
repeat
write('nhap n ='); readln(n);
until n > 0;
for i:=1 to n do
begin
write('nhap a[',i,'] = '); readln(a[i]);
end;
dem:=0;
for i:= 1 to n do
if a[i] mod 2 <> 0 then dem:=dem+1;
writeln('co ', dem,' so le ');
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 *