Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Удаление всех элементов списка






    При удалении списка производятся последовательное перемещение указателя начала списка на следующий элемент и удаление освободившегося элемента:

    Elem: = List;

    while Elem < > Nil do {пока не достигнут конец списка}

    Begin

    List: = List^.Link; {перемещение начала списка на следующую

    позицию}

    Dispose(Elem); {удаление предыдущего элемента}

    Elem: = List

    end;

     

    Вывод на печать всех элементов списка

    Содержимое списка на печать выводится посредством последовательного перемещения указателя от одного элемента к последующему и распечаткой содержимого текущего элемента:

    Elem: = List; {установка текущего элемента на начало списка}
    while Elem < > Nil do {пока не достигнут конец списка}
    begin

    Write(Elem^.Data); {вывод текущего элемента на печать} Elem: = Elem^.Link; {перемещение элемента на следующую

    позицию} end;

    Пример составления программы

    Пусть необходимо сформировать два списка действительных элементов: Listl и List2. Минимальный элемент списка Listl поместить первым в список List2, максимальный элемент второго списка List2 поместить последним в список Listl. Если количество элементов соответствующего списка четно, вставить в середину списка значение среднего арифметического его элементов, если нечетно - удалить центральный элемент и на его место поместить значение среднего арифметического.

    {Программа: Lists. }
    {Цель работы: работа с динамическими списками. }
    {Исходные данные: Listl, List2 - списки действительных элементов. }
    {Программист: Чепрасов Д.В. }
    {Дата: 25 марта 2001 г. }
    Program
    Lists;

    TData = real; {тип элемента списка}

    PLink = ^TEIement; {тип указателя списка}

    TElement = record {динамический объект}

    Data: TData; {поле данных}

    Link: PLink; {ссылка на следующий элемент списка)

    End;

    {процедура ввода}
    Procedure lnPutList(Name: string; Var List: PLink);
    Var

    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






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.