Список задач для лабораторной работы «Типизированные файлы»

Условие задачи

Ввести файл действительных чисел. В файле элементы стоящие после второго нуля переставить в обратном порядке. Вывести файл до и после преобразования.

Тестовые примеры

1)

Входные данные:

файл f до изменения:

5 74 2 8 0 2 5 0 6 5 4 1 56

Выходные данные:

файл f после изменения:

5 74 2 8 0 2 5 0 56 1 4 5 6

2)

Входные данные:

файл f до изменения:

5 74 2 8 0 2 5 3 6 5 4 1 56

Выходные данные:

В файле меньше двух нулевых компонент

Блок-схема

Листинг программы на Pascal

program ABC;

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);

inc(i);

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.

Список задач для лабораторной работы «Типизированные файлы»

1. Создать числовой файл . Получить файл , в который записать сначала положительные, затем отрицательные и, наконец, нулевые компоненты файла . Далее в файле заменить точки стыковки последовательностей увеличением на 100 элементов стоящих слева и справа от этих точек (мест где положительные сменяются с отрицательными и отрицательные с нулевыми). Файлы и вывести до и после преобразования.

2. Создать файл целого типа. Получить два файла: . В файл последовательно писать четные числа, в файл – все нечетные числа файла . В файле элементы кратные трём или пяти возвести уменьшить на единицу. Файлы распечатать.

3. Создать числовой файл . Найти сумму положительных компонент файла, расположенных до максимальной компоненты. Найденной суммой заменить отрицательные компоненты, строящие после максимума. Файл и сумму распечатать (как до, так и после преобразования).

4. Создать числовой файл . Найти в файле сумму и произведение максимальной и минимальной компонент. Выяснить что больше. Найденным значением заменить первую и предпоследнюю компоненты файла, если сумма окажется больше. Заменить все отрицательные компоненты, если большим будет произведение. Сумму, произведение, исходный файл и файл после замены распечатать.

5. Создать файл целого типа. Вычислить сумму четных компонент файла. Суммой заменить вторую отрицательную компоненту файла, или вывести сообщение о невозможности таковой замены. Исходный и файл после замены распечатать.

6. Создать файл вещественных чисел. Найти максимальную компоненту и дописать её в конец файла исходную максимальную компоненту уменьшить в два раза. Далее сформировать файл , записав в него каждую вторую компоненту файла . Файлы распечатать.

7. Сформировать файл целого типа. Найти и распечатать произведение максимальной и минимальной компонент файла. Произведением заменить все нулевые компоненты. Если нулевых компонент в файле нет, то поменять в нём местами максимум и минимум. Исходный и полученный файлы распечатать.

8. Создать файл вещественных чисел. Найти – среднее арифметическое элементов расположенных левее максимума. Все компоненты файла, начиная с максимальной и по последнюю включительно, увеличить на число и просуммировать. Суммой заменить максимальную компоненту файла.

9. Ввести файл , посчитать – количество положительных компонент файла , которые расположены на тех позициях, номера которых кратны трем. Далее все компоненты от -й и до максимальной заменить единицами.

10. Сформировать файл , компонентами которого являются действительные числа. Найти и распечатать сумму компонент файла, произведение отрицательных компонент файла и среднее арифметическое компонент файла. Эти три значения вписать в файл справа от его максимума. Файл вывести до и после преобразования.

11. Сформировать файл . Определить сумму и произведение наибольшего и наименьшего из значений компонент. Заменить значением суммы первую и последнюю компоненты, а на значение произведения – увеличить каждую третью компоненту файла. Файл вывести до и после преобразования.

12. Ввести файл . Записать в файл компоненты файла в обратном порядке. В каждом из файлов элемент, стоящий справа от максимума продублировать значением этого максимума. Файлы вывести до и после преобразования. (При решении задачи вспомогательных массивов и файлов не использовать)

13. Ввести файлы и . Переписать с сохранением порядка следования компоненты файла в файл , а компоненты файла в файл . При решении допускается использование вспомогательного файла . Файлы вывести до и после преобразования с возведением в квадрат их максимальных компонент.

14. Сформировать два файла целых чисел одинаковой длины и . Затем необходимо слить их в файл таким образом, чтобы сначала шла компонента из , потом из и т. д. В файле поменять местами минимальную и предпоследние компоненты. Файлы вывести до и после преобразования.

15. Сформировать файл целых чисел. Произвести «зеркалирование» файла, т.е. увеличение его длины в два раза методом добавления в конец собственных элементов в обратном порядке. В конец файла дописать произведение его нечётных и сумму чётных элементов. (При решении вспомогательных файлов и массивов не использовать)

16. Задан числовой файл . Найти максимум среди компонент, расположенных на четных позициях файла и минимум среди компонент на нечётных позициях. Все нулевые компоненты заменить значением максимума, а значение минимума дописать в конце файла пять раз. Файл до и после преобразований распечатать.

17. Задан числовой файл . Найти сумму компонент, стоящих между минимальной и максимальной. Заменить этой суммой все элементы из которых она сформирована (элементы между максимумом и минимумом). Файл вывести как до, так и после преобразования.

18. Дан целочисленный файл . Все его отрицательные компоненты увеличить в два раза, положительные уменьшить в три раза, на место нулевых компонент записать их количество. Файл распечатать как до, так и после преобразования.

19. Ввести файл действительных чисел. Заменить в нем максимальный и минимальный компоненты на значение среднего арифметического всех положительных компонент файла. Выдать на печать файл до преобразования и после. В случае невозможности преобразования дать об этом сообщение.

20. Ввести файл целых положительных чисел . Компоненты файла , меньшие числа (среднего арифметического его элементов), записать в файл . В файле этим компонентам присвоить значение нуль. Выдать на печать файлы и как до, так и после преобразования.

21. Ввести с клавиатуры файл действительных чисел. Компоненты файла, стоящие между наибольшим и наименьшим компонентом, переставить в обратном порядке. Выдать на печать исходный и преобразованный файл.

22. Ввести с клавиатуры файл с числовыми компонентами и выдать его на печать. Определить среднее арифметическое компонентов файла и все компоненты, меньшие среднего арифметического, увеличить в два раза, а большие уменьшить в три раза. Преобразованный файл выдать на печать.

23. Ввести файл целых чисел. Определить в нем первую компоненту, кратную пяти, и поменять её местами с минимальной по модулю компонентой в файле. Выдать на печать файл до преобразования и после. Если преобразование невозможно, то выдать об этом сообщение.

24. Ввести числовой файл . Переставить в нём все компоненты, предшествующие минимальной в обратном порядке. Определить в изменённом файле на какой позиции находится максимум. Файл вывести как до, так и после преобразования.

25. Ввести числовой файл , продублировать все компоненты файла, расположенные между максимумом и минимумом, дописав их в конец файла. Исходный файл, максимум, минимум и файл после преобразования вывести.

26. Ввести целочисленный файл . Найти значение – количество чётных элементов в файле, далее найти сумму последних элементов. Полученным значением заменить каждую вторую компоненту файла. Вывести на экран файл как до, так и после преобразования.

27. Ввести с клавиатуры файл действительных чисел и выдать его на печать. Определить среднее геометрическое положительных компонент файла, стоящих после третьей отрицательной компоненты, и записать его в конец файла. Выдать на печать файл после преобразования, значение вычисленного среднего геометрического или сообщение о невозможности преобразования.

28. Ввести числовой файл . Если первая компонента файла положительна, то домножить все его компоненты на квадрат минимального элемента, если отрицательна, то домножить все компоненты на квадрат максимума. В случае нулевой первой компоненты максимум и минимум продублировать, записав их значения в конец файла. Файл до и после преобразования отпечатать.

29. В файле заменить все нулевые компоненты значением суммы первой и последней компонент файла, все отрицательные компоненты уменьшить на значение суммы, а также найти среднее арифметическое положительных компонент, которым заменить сами положительные элементы. Файл вывести как до, так и после преобразования.

30. Ввести файл действительных чисел и выдать его на печать. Поменять местами наибольший по модулю и первый компоненты файла. Преобразовать его, не создавая нового файла, разделив компоненты на абсолютное значение наибольшего по модулю компонента.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: