Bài tập và thực hành 1

Chia sẻ bởi Vũ Henry | Ngày 26/04/2019 | 50

Chia sẻ tài liệu: Bài tập và thực hành 1 thuộc Tin học 11

Nội dung tài liệu:


Bài tập dành cho bồi dưỡng học sinh Giỏi cấp Trung học cơ sở:

( Bài 1:

Nhập vào một mảng có n số nguyên dương khác nhau. Hãy in ra tất cả các phần tử trong mảng có giá trị nhỏ hơn giá trị lớn nhất và lớn hơn giá trị nhỏ nhất của mảng.
Dữ liệu: Cho trong file BT.inp, gồm 2 dòng:
Dòng 1: Số n là số phần tử của mảng
Dòng 2: Giá trị các phần tử của mảng, mỗi phần tử cách nhau 1 khỏang trắng

Kết quả: Xuất ra file BT.out, là các phần tử tìm được, mỗi phần tử viết trên 1 dòng

Chương trình:
Type mang=array[1..100] of longint;
const fi=`bt.inp`;
fo=`bt.out`;
var f:text; n:integer; A:mang;
procedure nhap;
var i:integer;
begin
assign(f,fi);
reset(f);
read(f,n);
for i:=1 to n do
read(f,A[i]);
close(f);
end;
procedure xuli;
var i,min,max:longint;
begin
assign(f,fo);
rewrite(f);
max:=0;
min:=A[1];
for i:=1 to n do
begin
if max if min>A[i] then min:=A[i];
end;
for i:=1 to n do
if (A[i]<>max) and (A[i]<>min) then
writeln(f,A[i]);
close(f);
end;
begin
nhap;
xuli;
end.

( Bài 2:

Tổng lập phương

Tìm tất cả các số có 3 chữ số sao cho tổng lập phương của các chữ số bằng chính số đó
Ví dụ: 153=13+53+33
Dữ liệu xuất: Xuất ra file LP.OUT, mỗi dòng là một số tìm được

Chương trình:
program bt;
var f:text;n:longint;
const fo=`lp.out`;
procedure xuli;
var i,j,k:integer;
begin
assign(f,fo);
rewrite(f);
for i:=1 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
if i*i*i+j*j*j+k*k*k=i*100+j*10+k then writeln(f,i,j,k,`=`,i,`^3+`,j,`^3+`,k,`^3`);
close(f);
end;
begin
xuli;
end.

( Bài 3:

Hè đến rồi, Nam được bố dẫn đi chơi công viên. Trong công viên có nhiều gian hàng trò chơi, trong đó Nam thích nhất là gian trò chơi chọn số. Người ta viết sẵn một số dãy số số nguyên dương không được sắp xếp ( dãy này có N phần tử, các phần tử có giá trị khác nhau đôi một, N<=10000, các số của dãy có giá trị từ 1 đến 30000), sau đó họ đưa ra 1 số M (M<=N) và yêu cầu người chơi tìm số lớn thứ M trong dãy số này. Nam vốn tính tóan nhanh lẹ, nhưng dứng trước câu đố này Nam cũng nói: “Phải nhờ lập trình ta mới biết nhanh được!”. Bạn hãy giúp Nam thực hiện công việc này.
Dữ liệu vào: từ file văn bản CHONSO.INP bao gồm:
Dòng đầu tiên là số N và M
N dòng tiếp theo, mỗi dòng môt số là giá trị của các số trong dãy số

Dữ liệu ra: file văn bản CHONSO.OUT, gồm 1 dòng chứa 2 số K, L trong đó K chỉ số thứ tự của số cần tìm trong dãy và L là giá trị của số cần tìm.
Ví dụ:

CHONSO.INP
CHONSO.OUT

10 3
16
57
20
19
38
41
6
13
25
32
5 38


Chương trình:
program bt;
type mang=array[1..10000] of integer;
var n,m:integer;a,b:mang;f:text;
const fi=`chonso.inp`;
fo=`chonso.out`;
procedure nhap;
var i:integer;
begin
assign(f,fi);
* 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ẻ: Vũ Henry
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)