МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Линейные списки. Стек. Дек. Очередь

    Memo1.Lines.Add(' б) Добавьте после 2, 4, 1-го элемента число 0;');

    Memo1.Lines.Add(' Кнопка "Удалить" служит для удаления элемента из

    списка.');

    Memo1.Lines.Add(' Удалите 3, 5, 1, 4 элементы;');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('3. На листе формата А4, опишите ход проделанной

    работы.');

    Memo1.Lines.Add(' Ответьте на поставленные вопросы:');

    Memo1.Lines.Add(' 1) Обратите внимание как перемещается курсор?');

    Memo1.Lines.Add(' 2) Какую ссылку имеет последний элемент циклического

    списка?');

    Memo1.Lines.Add(' 3) Что называется головой и хвостом списка?');

    end;

    procedure TForm1.N41Click(Sender: TObject);

    begin

    Memo1.Clear;

    Memo1.Lines.Add(' Лабораторная работа №4.');

    Memo1.Lines.Add(' "Очередь"');

    Memo1.Lines.Add('___________________________________________________________

    ___');

    Memo1.Lines.Add('1. Нажмите кнопку "Теория" для очереди.');

    Memo1.Lines.Add(' Внимательно изучите теоретический материал.');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('2. Нажмите кнопку "Обновить" для формирования

    списков.');

    Memo1.Lines.Add(' Кнопки ">" служат для перемещения курсора по

    очереди.');

    Memo1.Lines.Add(' а) Переместитесь вправо до 3 элемента;');

    Memo1.Lines.Add(' б) Переместитесь влево (см. коментарии);');

    Memo1.Lines.Add(' Кнопка "Добавить" служит для добавления элемента в

    очередь.');

    Memo1.Lines.Add(' а) Добавьте 1, 4, 5-м элементами число 99;');

    Memo1.Lines.Add(' б) Добавьте последним число 999;');

    Memo1.Lines.Add(' Кнопка "Удалить" служит для удаления элемента из

    очереди.');

    Memo1.Lines.Add(' Удалите 1, 2, 3 элементы;');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('3. На листе формата А4, опишите ход проделанной

    работы.');

    Memo1.Lines.Add(' Ответьте на поставленные вопросы:');

    Memo1.Lines.Add(' 1) Как удаляется и добавляется элементы в очереди?');

    Memo1.Lines.Add(' 2) В чем различие и сходство очереди и

    однонаправленного списка?');

    Memo1.Lines.Add(' 3) Что называется головой и хвостом очереди?');

    Memo1.Lines.Add(' 4) Как располагаются элементы в очереди?');

    end;

    procedure TForm1.N51Click(Sender: TObject);

    begin

    Memo1.Clear;

    Memo1.Lines.Add(' Лабораторная работа №5.');

    Memo1.Lines.Add(' "Стек"');

    Memo1.Lines.Add('___________________________________________________________

    ___');

    Memo1.Lines.Add('1. Нажмите кнопку "Теория" для стека.');

    Memo1.Lines.Add(' Внимательно изучите теоретический материал.');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('2. Нажмите кнопку "Обновить" для формирования

    списков.');

    Memo1.Lines.Add(' Кнопки ">" служат для перемещения курсора в

    стеке.');

    Memo1.Lines.Add(' а) Переместитесь вправо до 4 элемента;');

    Memo1.Lines.Add(' б) Переместитесь влево (см. коментарии);');

    Memo1.Lines.Add(' Кнопка "Добавить" служит для добавления элемента в

    стек.');

    Memo1.Lines.Add(' Добавьте 1, 3, 5 элементами число 22;');

    Memo1.Lines.Add(' Кнопка "Удалить" служит для удаления элемента из

    стека.');

    Memo1.Lines.Add(' Удалите 1, 3, 5, последний элементы;');

    Memo1.Lines.Add('3. На листе формата А4, опишите ход проделанной

    работы.');

    Memo1.Lines.Add(' Ответьте на поставленные вопросы:');

    Memo1.Lines.Add(' 1) Как удаляется и добавляется элементы в стек?');

    Memo1.Lines.Add(' 2) Приведи примеры стека на практике?');

    end;

    procedure TForm1.N61Click(Sender: TObject);

    begin

    Memo1.Clear;

    Memo1.Lines.Add(' Лабораторная работа №6.');

    Memo1.Lines.Add(' "Дек"');

    Memo1.Lines.Add('___________________________________________________________

    ___');

    Memo1.Lines.Add('1. Нажмите кнопку "Теория" для дека.');

    Memo1.Lines.Add(' Внимательно изучите теоретический материал.');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('2. Нажмите кнопку "Обновить" для формирования

    списков.');

    Memo1.Lines.Add(' Кнопки ">" служат для перемещения курсора в

    деке.');

    Memo1.Lines.Add(' а) Переместитесь влево на 2 элемента;');

    Memo1.Lines.Add(' б Переместитесь вправо на 4 элемента;');

    Memo1.Lines.Add(' Кнопка "Добавить" служит для добавления элемента в

    дек.');

    Memo1.Lines.Add(' а) Добавьте 1, 3 элементом число 11;');

    Memo1.Lines.Add(' б) Добавьте 5, 6 элементом число 88;');

    Memo1.Lines.Add(' Кнопка "Удалить" служит для удаления элемента из

    дека.');

    Memo1.Lines.Add(' а) Удалите 2, 4 элементы;');

    Memo1.Lines.Add(' б) Добавте 6, 7 элементы;');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('3. На листе формата А4, опишите ход проделанной

    работы.');

    Memo1.Lines.Add(' Ответьте на поставленные вопросы:');

    Memo1.Lines.Add(' 1) Как удаляется и добавляется элементы в дек?');

    Memo1.Lines.Add(' 2) В чем сходны и различны дек, стек и

    двунаправленный список?');

    end;

    procedure TForm1.N71Click(Sender: TObject);

    begin

    Memo1.Clear;

    Memo1.Lines.Add(' Лабораторная работа №7.');

    Memo1.Lines.Add(' "Тест"');

    Memo1.Lines.Add('___________________________________________________________

    ___');

    Memo1.Lines.Add('1. Повторите весь теоретический материал.');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('2. Поработайте с демонстрационной программой.');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('3. Запустите тест (сервис\тест или Ctrl + T).');

    Memo1.Lines.Add(' Ответьте на поставленные вопросы теста.');

    Memo1.Lines.Add('');

    Memo1.Lines.Add('4. Результаты теста сообщить преподавателю.');

    end;

    procedure TForm1.N9Click(Sender: TObject);

    begin

    Form18.Show;

    end;

    end.

    unit Unit2; //Формирование списков

    interface

    uses SysUtils, Windows, Dialogs;

    type

    List = ^Spisok; //Однонаправленный

    Spisok = record

    Info: Integer;

    Next: List;

    end;

    ListTwo = ^SpisokTwo; //Двунаправленный

    SpisokTwo = record

    Info: Integer;

    Next: ListTwo;

    Prev: ListTwo;

    end;

    procedure CreateLists;

    procedure AddToList(X: Integer; var PointerEndList: List);

    procedure AddToListAfterPos(X: Integer; Position: Integer);

    procedure DeleteFromList(Position: Integer);

    procedure AddToListTwo(X: Integer; var PointerEndListTwo: ListTwo);

    procedure AddToListTwoAfterPos(X: Integer; Position: Integer);

    procedure DeleteFromListTwo(Position: Integer);

    procedure AddToQueue(X: Integer; var PointerEndQueue: List);

    procedure AddToEndQueue(X: Integer);

    function GetQueue(var PointerBegin: List): Integer;

    procedure AddToStack(X: Integer; var PointerStack: List);

    function GetStack(var PointerStack: List): Integer;

    procedure AddToDeck(X: Integer;

    var PointerDeckBegin, PointerDeckEnd: ListTwo; Flag: Integer);

    function GetDeckBegin(var PointerDeckBegin: ListTwo): Integer;

    function GetDeckEnd(var PointerDeckEnd: ListTwo): Integer;

    procedure DestroyList(PointerBegin: List);

    procedure DestroyListTwo(PointerBegin: ListTwo);

    procedure AddToRoundList(X: Integer; var PointerRoundList: List);

    procedure DeleteFromRoundList(Position: Integer);

    procedure DestroyRoundList(var PointerRoundList: List);

    implementation

    uses Unit1;

    procedure DestroyList(PointerBegin: List);

    var

    q: List;

    begin

    while PointerBegin <> nil do

    begin

    q := PointerBegin;

    PointerBegin := PointerBegin^.Next;

    if q <> nil then Dispose(q);

    end;

    end;

    procedure DestroyListTwo(PointerBegin: ListTwo);

    var

    q: ListTwo;

    begin

    while PointerBegin <> nil do

    begin

    q := PointerBegin;

    PointerBegin := PointerBegin^.Next;

    if q <> nil then Dispose(q);

    end;

    end;

    procedure DestroyRoundList(var PointerRoundList: List);

    var

    q, t: List;

    begin

    q := PointerRoundList^.Next;

    PointerRoundList^.Next := nil;

    while q <> nil do

    begin

    t := q;

    q := q^.Next;

    if t <> nil then Dispose(t);

    end;

    PointerRoundList := nil;

    end;

    procedure AddToList(X: Integer; var PointerEndList: List); //Добавить

    элемент в

    //конец списка (PointerEnd - указатель на последний элемент списка)

    begin

    if PointerEndList = nil then // Если первый элемент еще не существует

    begin

    New(PointerEndList);

    PointerEndList^.Info := X;

    PointerEndList^.Next := nil;

    end

    else

    begin

    New(PointerEndList^.Next);

    PointerEndList := PointerEndList^.Next;

    PointerEndList^.Info := X;

    PointerEndList^.Next := nil;

    end;

    end;

    procedure AddToListAfterPos(X: Integer; Position: Integer);

    var //Добавить элемент в список после Position

    i: Integer;

    q, qNew: List;

    begin

    if Position = 0 then // Если позиция = 0, то добавляем в начало

    begin

    New(qNew);

    qNew^.Info := X;

    qNew^.Next := ListBegin;

    ListBegin := qNew;

    end

    else

    begin

    q := ListBegin;

    i := 0;

    while (i < Position) and (q <> nil) do // Ищем элемент после которого

    // нужно вставить

    begin

    q := q^.Next;

    Inc(i);

    end;

    if q <> nil then // Если элемент существует то вставляем

    begin

    New(qNew);

    qNew^.Info := X;

    qNew^.Next := q^.Next;

    q^.Next := qNew;

    end

    else ShowMessage('Элемент, после которого хотите вставить, удален');

    end;

    end;

    procedure AddToRoundList(X: Integer; var PointerRoundList: List);

    var qRound: List;

    begin

    if PointerRoundList = nil then

    begin

    New(PointerRoundList);

    PointerRoundList^.Info := X;

    PointerRoundList^.Next := PointerRoundList;

    RoundList := PointerRoundList;

    end

    else

    begin

    New(qRound);

    qRound^.Info := X;

    qRound^.Next := PointerRoundList^.Next;

    PointerRoundList^.Next := qRound;

    end;

    PointerRoundList := PointerRoundList^.Next;

    end;

    procedure DeleteFromRoundList(Position: Integer);

    var

    q, h: List;

    i: Integer;

    begin

    if RoundList^.Next = RoundList then //один элемент в списке

    begin

    if RoundList <> nil then Dispose(RoundList);

    RoundList := nil;

    end

    else // не один элемент в списке

    begin

    i := 1;

    q := RoundList;

    while i < RoundListPos do

    begin

    Inc(i);

    q := q^.Next;

    end;

    if i <> 1 then

    begin

    h := q^.Next;

    q^.Next := h^.Next;

    if h <> nil then Dispose(h);

    end

    else

    begin

    q := RoundList^.Next;

    while q^.Next <> RoundList do q := q^.Next;

    h := q^.Next;

    q^.Next := h^.Next;

    if h <> nil then Dispose(h);

    RoundList := q^.Next;

    end;

    end;

    if RoundList <> nil then

    begin

    q := RoundList^.Next;

    i := 1;

    while q <> RoundList do

    begin

    Inc(i);

    q := q^.Next;

    end;

    if i = RoundListPos then

    begin

    RoundListPos := 0;

    Form1.Image7.Left := 9;

    end;

    end;

    end;

    procedure DeleteFromList(Position: Integer); //Удаляет элемент под

    //номером Position

    var

    i: Integer;

    q, r: List;

    begin

    q := ListBegin;

    if q <> nil then // Если список не пуст, то

    begin

    if Position = 0 then //Если позиция = 0, то удаляем первый элемент

    begin

    ListBegin := q^.Next;

    if q <> nil then Dispose(q);

    end

    else

    begin

    i := 0;

    while (i < Position - 1) and (q <> nil) do //Ищем элемент после

    //которого нужно удалить

    begin

    q := q^.Next;

    Inc(i);

    end;

    r := q^.Next;

    if r <> nil then //Если удаляемый элемент существует, то удаляем

    его

    begin

    q^.Next := r^.Next;

    if r <> nil then Dispose(r);

    end

    else ShowMessage('Элемент уже не существует');

    end;

    end

    else

    begin

    ShowMessage('Список пуст');

    Form1.Image1.Hide;

    end;

    end;

    procedure AddToListTwo(X: Integer; var PointerEndListTwo: ListTwo);

    //Добавить элемент в

    //конец дв-списка (PointerEnd - указатель на последний элемент

    списка)

    begin

    if PointerEndListTwo = nil then //Если список еще не существует или пуст,

    //добавляем в начало

    begin

    New(PointerEndListTwo);

    PointerEndListTwo^.Info := X;

    PointerEndListTwo^.Next := nil;

    PointerEndListTwo^.Prev := nil;

    end

    else

    begin

    New(PointerEndListTwo^.Next);

    PointerEndListTwo := PointerEndListTwo^.Next;

    PointerEndListTwo^.Info := X;

    PointerEndListTwo^.Next := nil;

    PointerEndListTwo^.Prev := nil;

    end;

    end;

    procedure AddToListTwoAfterPos(X: Integer; Position: Integer);

    var //Добавить элемент в двунап. список после Position

    i: Integer;

    q, qNew: ListTwo;

    begin

    if Position = 0 then //Если позиция = 0, вставляем в начало

    begin

    New(qNew);

    qNew^.Info := X;

    qNew^.Next := ListTwoBegin;

    ListTwoBegin := qNew;

    end

    else

    begin

    q := ListTwoBegin;

    i := 0;

    while (i < Position) and (q <> nil) do //Ищем элемент после которого

    //нужно вставить

    begin

    q := q^.Next;

    Inc(i);

    end;

    if q <> nil then // Если элемент существует то вставляем

    begin

    New(qNew);

    qNew^.Info := X;

    qNew^.Next := q^.Next;

    qNew^.Prev := q;

    q^.Next := qNew;

    end

    else ShowMessage('Элемент, после которого хотите вставить, удален');

    end;

    end;

    procedure DeleteFromListTwo(Position: Integer); //Удаляет элемент

    //под номером Position

    var

    i: Integer;

    q, r: ListTwo;

    begin

    q := ListTwoBegin;

    if q <> nil then //Если удаляемый элемент существует, то

    begin

    if Position = 0 then //Если позиция = 0, то удаляем первый элемент

    begin

    ListTwoBegin^.Prev := nil;

    ListTwoBegin := q^.Next;

    if q <> nil then Dispose(q);

    end

    else

    begin

    i := 0;

    while (i < Position - 1) and (q <> nil) do //Ищем элемент

    // после которого нужно удалить

    begin

    q := q^.Next;

    Inc(i);

    end;

    r := q^.Next;

    if r <> nil then //Если он существует, то удаляем его

    begin

    if r^.Next <> nil then r^.Next^.Prev := q;

    q^.Next := r^.Next;

    if r <> nil then Dispose(r);

    end

    else ShowMessage('Элемент уже не существует');

    end;

    end

    else

    begin

    ShowMessage('Список пуст');

    Form1.Image2.Hide;

    end;

    end;

    procedure AddToQueue(X: Integer; var PointerEndQueue: List); //Добавить

    элемент

    //в конец очереди (PointerEnd - указатель на последний элемент

    очереди)

    begin

    if PointerEndQueue = nil then //Если очередь еще не существует или пуста

    //добавляем в начало

    begin

    New(PointerEndQueue);

    PointerEndQueue^.Info := X;

    PointerEndQueue^.Next := nil;

    end

    else

    begin

    New(PointerEndQueue^.Next);

    PointerEndQueue := PointerEndQueue^.Next;

    PointerEndQueue^.Info := X;

    PointerEndQueue^.Next := nil;

    end;

    end;

    function GetQueue(var PointerBegin: List): Integer; //ф-ия получает элемент

    из

    // очереди и возвращает указатель на начало очереди

    var

    rQueue: List;

    begin

    rQueue := PointerBegin;

    if rQueue <> nil then //Если очередь не пуста

    begin

    PointerBegin := PointerBegin^.Next;

    Result := rQueue^.Info;

    if rQueue <> nil then Dispose(rQueue);

    end

    else

    begin

    ShowMessage('Очередь пуста');

    Form1.Edit3.Text := '';

    Form1.Button10.Enabled := False;

    Form1.Button11.Enabled := False;

    Form1.Button12.Enabled := False;

    Form1.Image3.Hide;

    end;

    end;

    procedure AddToEndQueue(X: Integer);

    var

    Info: Integer;

    rQueue, qQueue: List;

    Страницы: 1, 2, 3, 4, 5, 6, 7


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.