Лабораторная работа, РГР на тему Лабораторная работа № 4. (Вариант 12)
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
1 Введение 3
2 Анализ задачи 1 4
3 Решение задачи 4
3.1 Описание используемых переменных, обоснование выбора типа данных 4
3.2 Описание алгоритма 5
3.3 Тестирование программы 6
4 Анализ задачи 2 7
5 Решение задачи 7
5.1 Описание используемых переменных, обоснование выбора типа данных 7
5.2 Описание алгоритма 8
5.3 Тестирование программы 8
6 Заключение 10
Приложение 1. Листинг программы 1 11
Приложение 2. Распечатка тестов программы 1 13
Приложение 3. Листинг программы 2 14
Приложение 4. Распечатка тестов программы 2 16
Введение:
Лабораторная работа посвящена работой со списками, а также графикой.
Первое задание посвящено работе со списками. Списком называется структура данных, каждый элемент которой посредством указателя связывается со следующим элементом.
Каждый элемент связанного списка, во-первых, хранит какую-либо информацию, во-вторых, указывает на следующий за ним элемент. Так как элемент списка хранит разнотипные части (хранимая информация и указатель), то его естественно представить записью, в которой в одном поле располагается объект, а в другом – указатель на следующую запись такого же типа. Такая запись называется звеном, а структура из таких записей называется списком или цепочкой.
Лишь на самый первый элемент списка (голову) имеется отдельный указатель. Последний элемент списка никуда не указывает.
Второе задание посвящено сортировке методом прямого включения и работе с графикой.
Суть метода прямого включения состоит в том, что элемент массива сравнивается с другими элементами массива и помещается на определенное место в готовую последовательность данных.
Для работы с графикой в pascal abc используется модуль GraphABC. Простейшая работы с графикой в pascal abc является рисование объектов, для которых созданы определенные функции, например, circle() для круга или restangle () для прямоугольников. Также средствами pascal abc можно задать цвет заливки и пера, используется следующие встроенные функции:
• SetPenColor(color) — устанавливает цвет пера, задаваемый параметром color;
• setBrushColor(color) — устанавливает цвет кисти, задаваемый параметром color.
Заключение:
В данной лабораторной работе были реализованы две программы:
— замены строк в списке;
— сортировка массива методом прямого включения с отрисовкой диаграммы на каждом этапе сортировки.
В теоретической части приведены условия задач, описание структуры программ, описание используемых переменных, блок-схемы основных функций программ.
Каждая программа тестировалась на разных наборах данных. Следует сделать вывод, что работа программ корректна, поэтому цель лабораторной работы достигнута.
Фрагмент текста работы:
2 Анализ задачи 1
Используйте представление последовательности строк в виде линейного списка и опишите процедуру ЗАМЕНА(L , i , j), заменяющую i-ю строку списка L на копию j-й строки.
3 Решение задачи
3.1 Описание используемых переменных, обоснование выбора типа данных
В программе используется тип данных – линейный список.
type
tList = ^rList;
rList = record
S : String;
N:Integer;
Next:tList;
end;
Он включает в себя строковое поле для хранения строк; целое поле для хранения номера строки и поле типа список для обозначения конца исходного списка.
К функциям программы относятся:
— ввод последовательности строк (InputStrings);
— вывод последовательности строк (OutputStrings);
— замена строк (ListChange).
Каждая функция программы реализована в виде отдельной процедуры.
Процедуры InputStrings и OutputStrings имеют только входные параметры в виде списка строк.
Процедура ListChange в качестве входных параметров использует исходный список строк и номера строк, которую следует заменить и которое следует заменить. В качестве выходного параметра используется новый список, где строки уже заменены.
В самом тексте программы упоминаются лишь имена процедур с конкретными параметрами:
List := nil;
InputStrings(List);
WriteLn(‘Введите номер строки, которую следует заменить:’);
ReadLn(N1);
WriteLn(‘Введите номер строки, которой следует заменить ‘+inttostr(N1)+’ строку:’);
ReadLn(N2);
ListChange(List,N1,N2, Ci);
OutputStrings(‘Результат:’, Ci);
3.2 Описание алгоритма
Основной целью задачи является замена строк, поэтому на рисунке 1 приведены блок схема процедуры ListChange.