Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Else begin
fHead^.Left: = DisItem^.Left; DisItem^.Left^.Right: =fHead; // последним становится предпоследний эл-т end; Dispose(DisItem); Dec(fSize); // уменьшение числа элементов на 1 end; // function tDCCircleList.DeleteRear Исключение элемента из начала двусвязного циклического списка. При реализации этой операции сначала указатель первого элемента списка fHead передвигается на элемент, стоящий справа от него – бывший первый элемент (который и нужно исключить) становится последним. Его можно исключить из списка с использованием метода исключения справа DeleteRear. Метод класса tCDCircleList, реализующий исключение элемента слева, имеет вид: function tDCCircleList.DeleteHead: tValue; Begin fHead: = fHead^.Right; DeleteHead: = DeleteRear; end; // function tDCCircleList.DeleteHead Операции исключения элементов из двусвязного списка DeleteFirst и DeleteLast неприменимы к пустому списку, поэтому перед их выполнением необходимо анализировать значение признака «список пуст». Лабораторная работа 2. Задание Опишите классы-списки, необходимые для решения задачи, указанной в вашем варианте задания, и реализуйте его методы. Составьте программу решения задачи с использованием динамических структур данных, реализованных в виде классов. Варианты заданий 1. Описать односвязный линейный список, каждый элемент которого представляет собой запись, состоящую из двух полей: символ и количество его повторений в тексте. Для создания списка использовать метод вставки в список в отсортированном порядке. Переписать в односвязный циклический список элементы с числом повторений 1. 2. Сложение длинных чисел. Используя двусвязные циклические списки сложить два числа: x = 134557952499317879 и y = 79349864365110. Числа разбить на группы по девять цифр, которые будут являться элементами списка. Результат сложения занести в циклический список. 3. Задача Джозефуса. По кругу стоит группа людей. С терминала вводятся число n и фамилия человека, с которого начинается счет. Начиная с введенной фамилии по кругу отсчитывается n человек, n-й выбывает из круга и т.д. Выводить фамилии исключенных из круга людей. Задачу решить, используя односвязный циклический список. 4. Создать два односвязных циклических списка с целочисленными элементами. Переписать в односвязный линейный список элементы с совпадающими значениями. 5. Описать односвязный циклический список строк. Реализовать метод вставки, который выполняет вставку отсутствующего в списке символа в его конец и перемещение в начало элемента с присутствующим в списке значением. Продемонстрировать работу метода. 6. Проверить правильность расстановки скобок в арифметическом выражении. Для слежения за скобками воспользоваться односвязным циклическим списком. Допустимы четыре вида скобок: круглые, квадратные, фигурные и угловые. 7. Описать двусвязный линейный список строк. Реализовать метод вставки, который выполняет вставку отсутствующего в списке символа в его конец и перемещение на один элемент к началу списка элемента с присутствующим в списке значением. Продемонстрировать работу метода. 8. Из односвязного списка с фамилиями студентов двух групп сформировать два циклических по группам, причем фамилии в циклических списках должны быть упорядочены. 9. С использованием односвязного циклического списка определить правильность вложения циклов в программе на языке Бейсик, состоящей из произвольного количества последовательно расположенных или вложенных инструкций: 10 FOR x=a TO b STEP c … 30 NEXT c где x – переменная цикла. Для каждого цикла выводить сообщение вида: «Цикл по x открыт», «Цикл по x закрыт». 10. Создать односвязные списки студентов двух групп с полученными на экзаменах оценками. Сформировать в алфавитном порядке односвязный циклический список студентов, получивших отличные оценки. 11. Сформировать двусвязный список строк. Исключить из списка последние три элемента. Скопировать в двусвязный циклический список вторую половину его элементов, начиная с конца. 12. Выполнить задание 9 при условии, что один оператор NEXT, содержащий несколько переменных, может завершать одновременно несколько вложенных циклов (например: NEXT x, y, z). 13. Сформировать два двусвязных циклических списка с элементами – фамилиями клиентов. Удалить из первого списка клиентов, находящихся в двух списках. 14. Сформировать циклический список целых чисел. Скопировать элементы исходного списка в линейный список таким образом, чтобы они были расположены в нем в порядке, обратном к исходному. 15. Описать односвязный циклический список, тип значения элемента которого – запись из двух полей: символ и количество его повторений в тексте. Переписать в линейный список элементы с русскими буквами. 16. Сформировать два списка с фамилиями клиентов. Слить оба списка в третий, циклический, расположив клиентов через одного. 17. Сформировать двусвязный список, каждым элементом которого являются сведения о студенте (фамилия, номер группы, год рождения). Переписать в двусвязный циклический список студентов заданной группы в порядке, обратном их расположению в исходном списке. 18. Сформировать два циклических списка целых чисел. Слить их в один список, а затем оставить в нем только отличающиеся элементы. 19. Описать односвязный циклический список, тип значения элемента которого – запись из двух полей: символ русского алфавита и количество его повторений в тексте. С использованием односвязного линейного списка расположить элементы исходного списка в обратном порядке. 20. Сформировать два односвязных списка целых чисел. Слить их в односвязный циклический список так, чтобы элементы были расположены по возрастанию значений. 21. В односвязном циклическом списке, каждый элемент которого является совокупностью двух целых значений, заменить нулевыми все элементы с заданной суммой. 22. Создать списки студентов двух групп с фамилиями, расположенными в алфавитном порядке (с использованием метода вставки в отсортированном порядке). Слить их в один циклический список. 23. Решить задачу 3 при счете через одного человека с использованием двусвязного циклического списка. 24. Описать односвязный линейный список, тип значения элемента которого – запись из двух полей: символ и количество его повторений в тексте. Реализовать метод вставки, выполняющий вставку отсутствующего в списке символа в его конец и перемещение на один элемент к началу списка элемента с присутствующим в списке значением. 25. По кругу стоит группа людей. С терминала вводятся число n и фамилия человека, с которого начинается счет. Начиная с введенной фамилии в обратную сторону по кругу отсчитывается N человек, N-й выбывает из круга и т.д. Выводить фамилии исключенных из круга людей. Задачу решить, используя двусвязный циклический список. 26. Сформировать два двусвязных циклических списка с элементами – фамилиями клиентов. Слить эти списки в один, таким образом, чтобы он включал в себя фамилии клиентов поочередно из каждого из исходных списков в обратном порядке. 27. Описать двусвязный список строк и реализовать метод возвращения адреса первого с конца и первого с начала элемента с заданным значением. Исключить второй с начала и второй с конца элемент со значением «дом». 28. С использованием односвязного циклического списка смоделировать работу очереди. 29. Распределить элементы циклического списка по двум линейным спискам следующим образом: в первый список помещаются элементы с начала циклического списка, а во второй – с его конца. 30. Реализовать методы возвращения адреса элемента двусвязного циклического списка по его номеру, начиная от начала и от конца списка. С использованием этого метода поменять местами третий с начала элемент списка с третьим с конца.
|