- •Часть II
- •Содержание
- •Общие указания к выполнению лабораторных работ
- •Лабораторная работа № 1 «Строки, записи, множества»
- •Общие сведения.
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 2 «Процедуры и функции»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 3 «Файлы»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 4 «Динамические структуры данных»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Список рекомендуемой литературы
- •Приложение
- •3.3. Спецификация подпрограмм:
- •Вывод элементов массива в начальном расположении
- •Отсутствуют
- •Процедура
- •Текст программы:
- •Контрольный пример:
3.3. Спецификация подпрограмм:
Еnt_Num :
3.3.1. Имя
Ent_Num
3.3.2. Назначение
Начальное заполнение массива элементами.
3.3.3. Входные данные
Отсутствуют
3.3.4. Выходные данные
mass :t_massive - исходный массив заданной размерности
3.3.5. Вид подпрограммы:
Процедура
3.3.6. Заголовок подпрограммы.
Procedure Ent_num(var mass :t_massive);
Show_Num_First :
3.3.1. Имя
Show_Num_First
3.3.2. Назначение
Вывод элементов массива в начальном расположении
3.3.3. Входные данные
mass :t_massive - исходный заполненный элементами массив
3.3.4. Выходные данные
Отсутствуют
3.3.5. Вид подпрограммы
Процедура
3.3.6. Заголовок подпрограммы.
Procedure Show_num_first (var mass :t_massive) ;
Working :
3.3.1. Имя
Working
3.3.2. Назначение
Перестановка элементов массива по заданному правилу.
3.3.3. Входные данные
mass_A:t_massive - массив заполненный элементами до перестановки
3.3.4. Выходные данные
mass_B: t_massive - массив заполненный элементами после перестановки
3.3.5. Вид подпрограммы:
Процедура
3.3.6. Заголовок подпрограммы.
Procedure Working(var mass_A, mass_B :t_massive);
Show_Num_Done :
3.3.1. Имя
Show_Num_Done
3.3.2. Назначение
Вывод на экран элементов массива после перестановки
3.3.3. Входные данные
mass :t_massive - массив заполненный элементами после перестановки
3.3.4. Выходные данные
Отсутствуют
3.3.5. Вид подпрограммы
Процедура
3.3.6. Заголовок подпрограммы.
Procedure Show_num_done (var mass :t_massive);
Текст программы:
Program Sort_Array_per_Index;
Const n = 10;
Type t_massive = array [1..n] of Real;
Procedure Ent_num(var mass :t_massive);
{Процедура получения значений элементов mass1 и его начальное заполнение }
var i :integer;
begin
writeln('Bведите элементы массива. ');
for i:=1 to n do read(mass[i]);
end;
Procedure Show_num_first (var mass :t_massive) ;
{ Процедура вывода на экран элементов mass1 (в начальном расположении) }
var i :integer;
begin
writeln;
writeln('Начальное заполнение массива : ');
writeln('Вида а1 а2 а3 а4 а5 а6 а7 а8 а9 а10 ');
for i:=1 to n do write(mass[i]:1:1,' ');
readln;
end;
Procedure Working(var mass_A, mass_B :t_massive);
{Процедура получения отсортированных значений и их запись в mass2}
var temp, i :integer;
begin
temp:=0;
for i:=1 to n do
begin
if(i mod 2) <> 0 then
begin
mass_B[(i-temp)] := mass_A[i];
temp:=temp+1;
end;
if(i mod 2) = 0 then mass_B[((i+n) div 2)] := mass_A[i];
end;
end;
Procedure Show_num_done (var mass :t_massive);
{ Процедура вывода на экран элементов mass2 (после сортировки) }
var i :integer;
begin
writeln; writeln;
writeln('Массив после сортировки: ');
writeln('Вида а1 а3 а5 а7 а9 а2 а4 а6 а8 а10 ');
for i:=1 to n do write(mass[i]:1:1,' ');
writeln; writeln; writeln('Для выхода из программы нажмите ENTER.');
readln;
end;
Var
mass2, mass1 :t_massive;
Begin
Ent_num(mass1);
Show_num_first(mass1);
Working(mass1, mass2);
Show_num_done(mass2);
End.
