Đề hsg huyện
Chia sẻ bởi Nguyễn Thanh |
Ngày 16/10/2018 |
103
Chia sẻ tài liệu: Đề hsg huyện thuộc Tin học 9
Nội dung tài liệu:
Bài 1: (3 đ ) Tính tổng các số nguyên dương có trong một chuỗi.
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_1.pas
- Chương trình cho phép nhập vào một chuỗi gồm nhiều ký tự và có ít nhất một số nguyên dương
- Xuất ra màn hình chuỗi đã nhập
- Xuất tổng các số nguyên dương có trong chuỗi
Ví dụ:
Input
Output
abcAcb90acgH3abcb12bdcnhag
Chuoi da nhap: abcAcb90acgH3abcb12bdcnhag
Tong cac so co trong chuoi: 105
bacDgfhrthg
Nhap sai! Yeu cau nhap lai:
Bài 2: (3đ) Sắp xếp các số nguyên dương theo thứ tự giảm dần theo số ước của chúng.
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_2.pas
- Chương trình tạo ra 20 số nguyên dương ngẫu nhiên trong khoảng [20..100]
- Xuất ra màn hình các số đã tạo
- Xuất ra màn hình các số đã tạo sau khi đã sắp xếp các số đó theo thứ tự giảm dần theo số ước của chúng.
Ví dụ:
Input
Output
47; 78; 32; 38; 30; 56; 35; 31; 51; 66;
Cac so da tao:
47; 78; 32; 38; 30; 56; 35; 31; 51; 66;
Cac so sau khi da sap xep giam dan theo so uoc:
78; 30; 56; 66; 32; 35; 51; 38; 47; 31;
Bài 3 (3đ)
Nhập vào một dãy số nguyên
Cho biết dãy đã sắp xếp chưa tăng dần hay giảm dần
Nếu dãy dã sắp xếp hãy cho nhập số n bất kì và chèn vào dãy sao cho dãy vẫn bảo đảm được sắp xếp (không được xếp lại sau khi chèn thêm).
Nếu dãy chưa sắp xếp thì sắp xếp lại dãy tăng dần
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_3.pas
- Dữ liệu vào là dãy số nguyên
- Dữ liệu ra dãy vừa nhập
- Nếu dãy đã được sắp xếp thì xuất dãy sau khi chèn thêm n
- Nếu dãy chưa được sắp xếp thì xuất dãy đã sắp xếp lại
Ví dụ
dữ liệu vào
5 6 7 8 9
N =6
dữ liệu ra
dãy đã được sắp xếp tăng dần
dãy sau khi chèn thêm n là
5 6 6 7 8 9
dữ liệu vào
3 8 9 5 7
dữ liệu ra
dãy chưa được sắp xếp
sắp xếp lại dãy là
3 5 7 8 9
Bài 1:
program bai1;
Uses crt;
Var
st,s1,tam:string;
i,n,e,tong:integer;
kt:boolean;
BEGIN
clrscr;
kt:=false;
repeat
write(`Nhap chuoi gom ky tu va so: `); readln(st);
for i:=1 to length(st) do if st[i] in [`0`..`9`] then kt:=true;
if kt = false then
begin
write(`Nhap sai! Yeu cau nhap lai: `); readln(st)
end;
until kt=true;
s1:=st;
for i:=1 to length(s1) do if not(s1[i] in [`0`..`9`]) then s1[i]:=#32;
repeat
delete(s1,pos(#32#32,s1),1);
until pos(#32#32,s1) = 0;
if s1[1]=#32 then delete(s1,1,1);
if s1[length(s1)]=#32 then delete(s1,length(s1),1);
tam:=``; s1:=s1+#32; tong:=0;
for i:=1 to length(s1) do if s1[i]<>#32 then tam:=tam+s1[i]
else begin
val(tam,n,e);
tong:=tong+n;
tam:=``;
end;
writeln(`Chuoi da nhap: `,st);
write(`Tong cac so co trong chuoi: `, tong);
readln
end.
Bài 2:
program bai2;
Uses crt;
Type Data = record
n,u:integer;
end;
Var
a:array[1..10] of Data; tam: Data;
i, j, d: integer;
Begin
clrscr;
Randomize;
writeln(`Cac so ngau nhien da tao: `);
For i:=1 to 10 do
Begin
a[i].n:=
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_1.pas
- Chương trình cho phép nhập vào một chuỗi gồm nhiều ký tự và có ít nhất một số nguyên dương
- Xuất ra màn hình chuỗi đã nhập
- Xuất tổng các số nguyên dương có trong chuỗi
Ví dụ:
Input
Output
abcAcb90acgH3abcb12bdcnhag
Chuoi da nhap: abcAcb90acgH3abcb12bdcnhag
Tong cac so co trong chuoi: 105
bacDgfhrthg
Nhap sai! Yeu cau nhap lai:
Bài 2: (3đ) Sắp xếp các số nguyên dương theo thứ tự giảm dần theo số ước của chúng.
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_2.pas
- Chương trình tạo ra 20 số nguyên dương ngẫu nhiên trong khoảng [20..100]
- Xuất ra màn hình các số đã tạo
- Xuất ra màn hình các số đã tạo sau khi đã sắp xếp các số đó theo thứ tự giảm dần theo số ước của chúng.
Ví dụ:
Input
Output
47; 78; 32; 38; 30; 56; 35; 31; 51; 66;
Cac so da tao:
47; 78; 32; 38; 30; 56; 35; 31; 51; 66;
Cac so sau khi da sap xep giam dan theo so uoc:
78; 30; 56; 66; 32; 35; 51; 38; 47; 31;
Bài 3 (3đ)
Nhập vào một dãy số nguyên
Cho biết dãy đã sắp xếp chưa tăng dần hay giảm dần
Nếu dãy dã sắp xếp hãy cho nhập số n bất kì và chèn vào dãy sao cho dãy vẫn bảo đảm được sắp xếp (không được xếp lại sau khi chèn thêm).
Nếu dãy chưa sắp xếp thì sắp xếp lại dãy tăng dần
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_3.pas
- Dữ liệu vào là dãy số nguyên
- Dữ liệu ra dãy vừa nhập
- Nếu dãy đã được sắp xếp thì xuất dãy sau khi chèn thêm n
- Nếu dãy chưa được sắp xếp thì xuất dãy đã sắp xếp lại
Ví dụ
dữ liệu vào
5 6 7 8 9
N =6
dữ liệu ra
dãy đã được sắp xếp tăng dần
dãy sau khi chèn thêm n là
5 6 6 7 8 9
dữ liệu vào
3 8 9 5 7
dữ liệu ra
dãy chưa được sắp xếp
sắp xếp lại dãy là
3 5 7 8 9
Bài 1:
program bai1;
Uses crt;
Var
st,s1,tam:string;
i,n,e,tong:integer;
kt:boolean;
BEGIN
clrscr;
kt:=false;
repeat
write(`Nhap chuoi gom ky tu va so: `); readln(st);
for i:=1 to length(st) do if st[i] in [`0`..`9`] then kt:=true;
if kt = false then
begin
write(`Nhap sai! Yeu cau nhap lai: `); readln(st)
end;
until kt=true;
s1:=st;
for i:=1 to length(s1) do if not(s1[i] in [`0`..`9`]) then s1[i]:=#32;
repeat
delete(s1,pos(#32#32,s1),1);
until pos(#32#32,s1) = 0;
if s1[1]=#32 then delete(s1,1,1);
if s1[length(s1)]=#32 then delete(s1,length(s1),1);
tam:=``; s1:=s1+#32; tong:=0;
for i:=1 to length(s1) do if s1[i]<>#32 then tam:=tam+s1[i]
else begin
val(tam,n,e);
tong:=tong+n;
tam:=``;
end;
writeln(`Chuoi da nhap: `,st);
write(`Tong cac so co trong chuoi: `, tong);
readln
end.
Bài 2:
program bai2;
Uses crt;
Type Data = record
n,u:integer;
end;
Var
a:array[1..10] of Data; tam: Data;
i, j, d: integer;
Begin
clrscr;
Randomize;
writeln(`Cac so ngau nhien da tao: `);
For i:=1 to 10 do
Begin
a[i].n:=
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thanh
Dung lượng: 49,00KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)