Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Удаление всех элементов списка
При удалении списка производятся последовательное перемещение указателя начала списка на следующий элемент и удаление освободившегося элемента: Elem: = List; while Elem < > Nil do {пока не достигнут конец списка} Begin List: = List^.Link; {перемещение начала списка на следующую позицию} Dispose(Elem); {удаление предыдущего элемента} Elem: = List end;
Вывод на печать всех элементов списка Содержимое списка на печать выводится посредством последовательного перемещения указателя от одного элемента к последующему и распечаткой содержимого текущего элемента: Elem: = List; {установка текущего элемента на начало списка} Write(Elem^.Data); {вывод текущего элемента на печать} Elem: = Elem^.Link; {перемещение элемента на следующую позицию} end; Пример составления программы Пусть необходимо сформировать два списка действительных элементов: Listl и List2. Минимальный элемент списка Listl поместить первым в список List2, максимальный элемент второго списка List2 поместить последним в список Listl. Если количество элементов соответствующего списка четно, вставить в середину списка значение среднего арифметического его элементов, если нечетно - удалить центральный элемент и на его место поместить значение среднего арифметического. {Программа: Lists. } TData = real; {тип элемента списка} PLink = ^TEIement; {тип указателя списка} TElement = record {динамический объект} Data: TData; {поле данных} Link: PLink; {ссылка на следующий элемент списка) End; {процедура ввода} EINew, ElPred: PLink; Value: TData; i, n: integer; Begin {InPutList} ClrScr; {очистка экрана} Write('Введите колич. элементов списка', Name, ': '); ReadLn(n); List: = Nil; WriteLn('Ведите элементы списка', Name, ': '); for i: = 1 to n do begin Read(Value); New(EINew); EINew^.Data: = Value; EINew^.Link: = Nil; if List = nil then List: = EINew else EIPred^.Link: = EINew; ElPred: = EINew; end; End; {InPutList} {процедура вывода} Procedure OutPutList(Name: string; List: PLink); Var i: integer; Begin {OutPutList} Writeln('Элементы списка', Name, ': '); while List < > Nil do begin Write(List^.Data: 4: 2, ''); List: = List^.Link; end; Writeln; End; {OutPutList} {Функция поиска минимального элемента списка} Function MinElem(List: PLink): TData; Var Min: PLink; Begin {MinElem} Min; = List; while List < > Nil do begin if List^.Data < Min^.Data then Min: = List; List: = List^.Link; end; MinElem: = Min^.Data; End: (MinElem) {Функция поиска максимального элемента списка} Function MaxElem(List: PLink): TData; Var Max: PLink; Begin {MaxElem} Max: = List; while List < > Nil do Begin if List^.Data > Max^.Data Then Max: = List; List: = List^.Link; End; MaxElem: = Max^.Data; End; {MaxElem} {Функция определения колич. элементов списка} Function LenList(List: PLink): integer; Var
|