- •4. Разветвляющиеся вычислительные процессы.
- •4.1 Условие задачи 1
- •4.2 Условие задачи 2
- •5. Циклические вычислительные процессы
- •5.1 Условие задачи 1
- •5.2 Условие задачи 2
- •5.3 Условие задачи 3
- •6. Одномерные массивы
- •6.1 Условие задачи №1
- •6.2 Условие задачи №2
- •6.3 Условие задачи №3
- •7. Двумерные массивы
- •7.1 Условие задачи №1
- •7.2 Условие задачи №2
- •7.3. Условие задачи №3
- •8. Подпрограммы
- •8.1 Условие задачи 1
- •8.2 Условие задачи 2
- •9. Файлы.
- •9.1 Условие задачи 1
- •9.2 Условие задачи 2
- •9.3 Условие задачи 3
- •Сборник задач для семестровых работ по информатике
- •400131, Волгоград, просп. Им. В. И. Ленина, 28, корп. 1.
- •400131, Волгоград, просп. Им. В. И. Ленина, 28, корп. 7.
9. Файлы.
9.1 Условие задачи 1
Ввести файл целых чисел, состоящий из 9 элементов. Определить среднее арифметическое чётных элементов.
Блок-схема к задаче 1
Листинг программы на Pascal к задаче 1
program Zad9_1;
var b,S,k,i:integer;
f:file of integer;
SrA:real;
begin
assign(f,'f.dat');
//ввод файла
rewrite(f);
writeLn('вводите 9 компонент файла f:');
for i:=1 to 9 do
begin
writeLn('введите ',i,'-ую компоненту файла f');
readLn(b);
write(f,b);
end;
// поиск среднего арифм. четных
reset(f);
S:=0;
k:=0;
while not EOF(f) do
begin
read(f,b);
if b mod 2 = 0 then
begin
S:=S+b;
K:=k+1;
end;
end;
// вывод результатов
if k>0 then
begin
SrA:=S/k;
writeLn('среднее арифметическое четных =',SrA:8:2)
end
else
writeLn('в файле нет четных элементов');
close(f);
end.
9.2 Условие задачи 2
Ввести файл . В файле элементы большие четырёх, стоящие на позициях некратных трём увеличить на 5. Файл вывести до и после преобразования.
Блок-схема к задаче 2
Листинг программы на Pascal к задаче 2
program Zad9_2;
var b,i:integer;
f:file of integer;
begin
assign(f,'f.dat');
writeLn('введите первую компоненту файла f или ризнак конца ввода: "555")');
//ввод файла
rewrite(f);
readLn(b);
i:=1; //номер компоненты файла
while b<>555 do
begin
write(f,b);
i:=i+1;
writeLn('введите ',i,'-ую компоненту файла f');
readLn(b);
end;
//вывод файла до изменения
reset(f);
writeLn('файл f до изменения:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
// увеличение на 5 в файле элементов больших
// четырех, не стоящих на позициях кратных трём
reset(f);
while not EOF(f) do
begin
read(f,b);
if (b>4) and ((filepos(f)-1) mod 3 <> 0) then
begin
seek(f,filepos(f)-1);
b:=b+5;
write(f,b);
end;
end;
//вывод файла после изменения
reset(f);
writeLn('файл f после изменения:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
close(f);
end.
9.3 Условие задачи 3
Ввести файл действительных чисел. В файле элементы стоящие после второго нуля переставить в обратном порядке. Вывести файл до и после преобразования.
Блок-схема к задаче 3
Листинг программы на Pascal к задаче 3
program Zad9_3;
var a,b,i,left,right,I2_0,k:integer;
f:file of integer;
begin
assign(f,'f.dat');
writeLn('введите первую компоненту файла f (признак конца ввода: "555")');
//ввод файла
rewrite(f);
readLn(b);
i:=1; //номер компоненты файла
while b<>555 do
begin
write(f,b);
i:=i+1;
writeLn('введите ',i,'-ую компоненту файла f');
readLn(b);
end;
//вывод файла до изменения
reset(f);
writeLn('файл f до изменения:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
// поиск позиции второго нуля
k:=0;
reset(f);
while (not EOF(f)) and (k<>2) do
begin
read(f,b);
if b=0 then
begin
k:=k+1;
if k=2 then
I2_0:=filePos(f)-1;
end;
end;
// проверка возможности перестановки в файле
if k<2 then
writeLn('в файле нет двух нулей')
else
if I2_0=fileSize(f) then
writeLn('второй ноль в файле на последнем месте')
else
begin
// перестановка элементов файла
left:=I2_0+1;
right:=fileSize(f)-1;
while left<right do
begin
seek(f,left);
read(f,b);
seek(f,right);
read(f,a);
seek(f,left);
write(f,a);
seek(f,right);
write(f,b);
left:=left+1;
right:=right-1;
end;
//вывод файла после изменения
reset(f);
writeLn('файл f после изменения:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
end;
close(f);
end.
Учебное издание
Вадим Юрьевич Наумов
Леонид Геннадьевич Акулов
Оксана Алексеевна Авдеюк