Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика_всем

.pdf
Скачиваний:
75
Добавлен:
03.03.2016
Размер:
5.42 Mб
Скачать

writeLn('max1=',max1);

Vivod2m(X2,N2,'X2');

max2:=Maximum(X2,N2,N2);

writeLn('max2=',max2);

Vivod2m(X3,N3,'X3');

max3:=Maximum(X3,N3,N3);

writeLn('max3=',max3);

// ищем минимальный максимум

MinOfMax:=min(max1,min(max2,max3)); writeLn('минимальный максимум равен ',MinOfMax);

// заменяем побочные диагонали в матрицах

Zamena(X1,N1,MinOfMax);

Zamena(X2,N2,MinOfMax);

Zamena(X3,N3,MinOfMax);

// выводим матрицы после замены

Vivod2m(X1,N1,'X1');

Vivod2m(X2,N2,'X2');

Vivod2m(X3,N3,'X3');

// формирование одномерного массива if (max1>max2) and (max1>max3) then

begin Ny:=N1;

form(X1,Y,Ny); end

else

if max2>max3 then begin

Ny:=N2;

form(X2,Y,Ny); end

59

else

begin

Ny:=N3;

form(X3,Y,Ny);

end;

// выводим одномерный массив

Vivod1m(Y,Ny,'Y');

end.

20. ФАЙЛЫ

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

Б л о к - с х е м а к з а д а ч е № 2 0

 

 

1

 

 

 

2

Начало

 

 

 

b ≠ 555

 

Assign(F, ‘F.dat’)

 

Not EOF(F)

 

 

 

F←b

 

Rewrite(F)

 

b←F

 

 

Ввод b (1-я

i:= i + 1

 

 

 

компонента файла)

 

Вывод b

 

 

 

Ввод b (i-я

 

 

компонента файла)

 

i:=1

 

 

 

 

reset(F)

1

reset(F)

 

 

 

 

 

1

 

 

стр. 63

 

2

 

 

60

 

 

1

 

 

1

 

стр. 62

 

 

 

 

 

 

 

k<2

 

k:=0

 

 

 

 

 

 

'В файле нет двух

 

 

 

 

нулей'

 

 

 

I2_0=fileSize(f)

(not EOF(F)) and (k2)

 

 

 

 

 

 

left:=I2_0+1

 

b←F

 

 

 

 

 

 

 

right:=fileSize(f)-1

 

b=0

 

 

 

k:=k+1

 

 

 

left<right

 

 

 

 

k=2

 

 

 

seek(f,left);

 

 

 

 

 

 

 

 

b←F

I2_0:=filePos(f)-1

 

 

 

 

 

 

 

 

seek(f,right);

 

 

 

 

a←F

 

 

 

 

seek(f,left);

 

 

 

 

F←a

 

 

 

 

seek(f,right);

Шаг 1-2

 

 

 

F←b

 

 

 

 

Алгоритм вывода файла F

1

 

 

 

 

 

 

left:=left+1;

 

 

 

 

 

 

 

 

right:=right-1

reset(F)

 

 

 

 

 

 

‘второй ноль в

1

 

 

файле на

 

 

 

 

 

 

 

последнем месте’

алгоритм вывода

 

 

 

 

Not EOF(F)

 

 

 

файла F

 

 

 

 

2

b←F

 

Вывод b

close(F)

 

Конец

61

Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 2 0

program Z20;

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;

62

// поиск позиции второго нуля 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);

63

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.

64

У ч е б н о е и з д а н и е

Вадим Юрьевич Наумов Леонид Геннадьевич Акулов Оксана Алексеевна Авдеюк

ИНФОРМАТИКА ДЛЯ СТУДЕНТОВ ЗАОЧНОЙ ФОРМЫ ОБУЧЕНИЯ ПРАКТИКА

Учебное пособие

Редактор Л. Н. Рыжих

Темплан заказных изданий 2012 г. Поз. № 6 з. Подписано в печать 16.03.2012. Формат 60x84 1/16. Бумага газетная. Гарнитура Times. Печать офсетная. Усл. печ. л. 3,72. Уч.-изд. л. 2,80.

Тираж 30 экз. Заказ

Волгоградский государственный технический университет. 400005, г. Волгоград, просп. им. В. И. Ленина, 28, корп. 1.

Отпечатано в типографии ИУНЛ ВолгГТУ. 400005, г. Волгоград, просп. им. В. И. Ленина, 28, корп. 7.

65

В. Ю. Наумов, Л. Г. Акулов, О. А. Авдеюк

Информатика для студентов заочной формы

обучения. Сборник заданий.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

В. Ю. Наумов, Л. Г. Акулов, О. А. Авдеюк

Информатика для студентов заочной формы

обучения. Сборник заданий.

Учебное пособие

Волгоград

2012

2

УДК 681.3 (075)

Р е ц е н з е н т ы :

зав. кафедрой «Информатика и методика обучения информатике» ВГПУ д-р педагог. наук, профессор Т. К. Смыковская;

зав. Кафедрой «Автоматизация технологических процессов и производств» филиала ФГБОУ ВПО «Национальный исследовательский университет (МЭИ)» в г. Волжском, д-р техн. наук, профессор В. П. Шевчук

Печатается по решению редакционно-издательского совета Волгоградского государственного технического университета

Наумов, В. Ю.

Информатика для студентов заочной формы обучения. Сборник заданий: учеб. пособие / В. Ю. Наумов, Л. Г. Акулов, О. А. Авдеюк. – Волгоград : ИУНЛ ВолгГТУ, 2012. – 67с.

© Волгоградский государственный технический университет, 2012

© Коллектив авторов, 2012

3