Câu 1:
*Các cách khai báo mảng 1 chiều:
-Cách 1: Khai báo trực tiếp:
Var <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;
Câu 1:
*Các cách khai báo mảng 1 chiều:
Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều:
type <tên kiểu mảng>=array[kiểu chỉ số] of <kiểu phần tử>;
var <tên biến mảng>:<tên kiểu mảng>;
Câu 1:
Các ví dụ về khai báo mảng 1 chiều:
Cách 1: Var a:array[1..100]of integer;
Bạn nào biết làm bài này theo pascal thì giúp mình với được ko ạ? Mình cảm ơn nhiều lắm luôn :((
Viết chương trình sử dụng chương trình con để tính điểm trung bình 3 môn Toán Văn Anh của năm bạn học sinh biết điểm từng bạn được nhập từ bàn phím
uses crt;
var a,b,c,tb:array[1..100]of real;
i,n:integer;
begin
clrscr;
n:=5;
for i:=1 to n do
begin
readln(a[i],b[i],c[i]);
end;
for i:=1 to n do
tb[i]:=(a[i]+b[i]+c[i])/3;
for i:=1 to n do
writeln('Diem trung binh cua ban thu ',i,' la: ',tb[i]:4:2);
readln;
end.
Giải giúp với ạ.Môn Tin thật khó khăn.
uses crt;
const fi='ktt2.inp'
var f1:text;
s:string;
a:array[1..100]of integer;
n,i,x,dem,t,kt,kt1,j,max,kt2:integer;
begin
clrscr;
assign(f1,fi);reset(f1);
readln(f1,n,x);
readln(f1,s);
for i:=1 to n do
read(f1,a[i]);
t:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to a[i]-1 do
if a[i] mod j=0 then kt:=1;
if kt=0 then t:=t+a[i];
end;
writeln('Tong cac so nguyen to la: ',t);
dem:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt1:=0;
for j:=2 to a[i]-1 do
if a[i] mod j=0 then kt1:=1;
if (kt1=0) and (a[i]<x) then inc(dem);
end;
writeln('So luong so nguyen to nho hon ',x,' la: ',dem);
max:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt2:=0;
for j:=2 to a[i]-1 do
if a[i] mod j=0 then kt2:=1;
if (kt2=0) and (max<a[i]) then max:=a[i];
end;
if max=0 then writeln('Khong co so nguyen to nao trong day')
else writeln('So nguyen to lon nhat la: ',max);
write('Xau ',s,' theo thu tu nguoc la: ');
d:=length(s);
for i:=d downto 1 do
write(s[i]);
writeln;
close(f1);
readln;
end.
Giúp mình với...mình cần gấp!!!
uses crt;
const fi='abc.inp'
var a:array[1..100]of integer;
i,n,dem,j,kt,dem1,dem2:integer;
f1:text;
begin
clrscr;
assign(f1,fi); reset(f1);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
dem:=0;
for i:=1 to n do
if a[i] mod 2=0 then inc(dem);
dem1:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to a[i]-1 do
if a[i] mod j=0 then kt:=1;
if kt=0 then inc(dem1);
end;
dem2:=0;
for i:=1 to n do
if trunc(sqrt(a[i]))=sqrt(a[i]) then inc(dem2);
writeln('So so chan la: ',dem);
writeln('So so nguyen to la: ',dem1);
writeln('So so chinh phuong la: ',dem2);
close(f1);
readln;
end.
Câu 2: Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện:
A. Chèn xâu S1 vào S2 bắt đầu từ vị trí vt
B. Chèn xâu S2 vào S1 bắt đầu từ vị trí vt
C. Nối xâu S2 vào S1
D. Sao chép vào cuối S1 một phần của S2 từ vị trí vt
Câu 2: Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện:
A. Chèn xâu S1 vào S2 bắt đầu từ vị trí vt
B. Chèn xâu S2 vào S1 bắt đầu từ vị trí vt
C. Nối xâu S2 vào S1
D. Sao chép vào cuối S1 một phần của S2 từ vị trí vt
Viết chương trình sử dụng các hàm và thủ tục xây dựng ở trên để giải bài toán:
Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau:
- Dòng đầu tiên chứa số N;
- N dòng tiếp theo, mỗi dòng chứa 6 số thực xA, yA, xB, yB, xC, yC là tọa độ 3 đỉnh A(xA, yA), B(xB, yB), C(xC, yC) của tam giác ABC
Hãy nhập dữ liệu từ tệpđã cho và trong số N tam giác đó, đưa ra tệp TAMGIAC.OUT gồm 3 dòng:
- Dòng đầu tiên là số lượng tam giác đều;
- Dòng thứ 2 là số lượng tam giác cân (nhưng không là đều);
- Dòng thứ 3 là số lượng tam giác vuông.
const fi='tamgiac.dat'
fo='tamgiac.out'
var f1,f2:text;
a,b,c,d,e,f:array[1..100]of integer;
i,n,dem1,dem2,dem3:integer;
ab,bc,ac:real;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
readln(f1,a[i],b[i],c[i],d[i],e[i],f[i]);
dem1:=0;
dem2:=0;
dem3:=0;
for i:=1 to n do
begin
ab:=sqrt(sqr(a[i]-c[i])+sqr(b[i]-d[i]));
ac:=sqrt(sqr(a[i]-e[i])+sqr(b[i]-f[i]));
bc:=sqrt(sqr(c[i]-e[i])+sqr(d[i]-f[i]));
if (ab>0) and (ac>0) and (bc>0) and (ab+ac>bc) and (ab+bc>ac) and
(ac+bc>ab) then
begin
if (ab=ac) or (ac=bc) then inc(dem1);
if ((ab=ac) and (ab<>bc) and (ac<>bc)) then inc(dem2);
if ((ac=bc) and (bc<>ab) and (ac<>ab)) then inc(dem2);
if ((ac=bc) and (ac<>ab) and (bc<>ab)) then inc(dem2);
if sqr(ab)=sqr(ac)+sqr(bc) then inc(dem3);
if sqr(ac)=sqr(bc)+sqr(ab) then inc(dem3);
if sqr(bc)=sqr(ab)+sqr(ac) then inc(dem3);
end;
end;
writeln(f2,dem1);
writeln(f2,dem2);
writeln(f2,dem3);
close(f1);
close(f2);
end.
viết chương trình con của x/y
function chia(x,y:integer):real;
begin
if y<>0 then chia:=x/y
else break;
end;
Bạn tham khảo nhé !!
· Lợi ích khi sử dụng chương trình con:
+ Tránh được sự lập lại cùng một dãy lệnh. Khi cần dùng có thể gọi lại chương trình con đó.
+ Hỗ trợ việc thực hiện các chương trình lớn và phức tạp.
+ Phục vụ quá trình trừu tượng hoá. Người lập trình có thể sử dụng kết quả của chương trình con mà ko cần quan tâm đến chương trình đó đã được cài đặt thế nào.
+ Mở rộng khả năng ngôn ngữ lập trình thành thư viện cho nhiều người dùng.
+ Thuận tiện cho phát triển và nâng cấp chương trình.Lợi ích khi sử dụng chương trình con:
+Tránh được việc lặp lại câu lệnh trong chương trình chính, từ đó máy chạy dễ chính xác hơn
+Hỗ trợ việc thực hiện các chương trình lớn và phức tạp.
Bạn tham khảo nhé !!
- Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.
a) Phân loại:
+ Hàm (Function) là chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó.
+ Thủ tục (Procedure) là chương trình con thực hiện một số thao tác nào đó nhưng không trả về một giá trị nào qua tên của nó.
Câu 6:
Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.