МЕНЮ


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

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


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

    Form1.Edit2.Text := '';

    while q <> nil do

    begin

    Form1.Edit2.Text := Form1.Edit2.Text + ' ' + IntToStr(q^.Info);

    q := q^.Next;

    end;

    end;

    procedure DoNewEditRoundList;

    var

    q: List;

    begin

    q := RoundList^.Next;

    Form1.Edit7.Text := ' ' + IntToStr(RoundList^.Info);

    while q <> RoundList do

    begin

    Form1.Edit7.Text := Form1.Edit7.Text + ' ' + IntToStr(q^.Info);

    q := q^.Next;

    end;

    end;

    procedure TForm1.Button12Click(Sender: TObject);

    var

    i, j: Integer;

    s: string;

    begin

    StatusBar1.Panels[0].Text := '';

    GetQueue(QueueBegin);

    if QueueBegin <> nil then

    begin

    while Edit3.Text[QueuePos] <> ' ' do Inc(QueuePos);

    Inc(QueuePos);

    s := Edit3.Text;

    for i := 1 to QueuePos - 1 do

    if s[i] <> ' ' then s[i] := ' ';

    Edit3.Text := s;

    end

    else

    begin

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

    Edit3.Text := '';

    Image3.Hide;

    Button10.Enabled := False;

    Button11.Enabled := False;

    Button12.Enabled := False;

    StatusBar1.Panels[1].Text := 'Очередь пуста';

    end;

    Image3.Left := Round(QueuePos * 7);

    end;

    procedure TForm1.Button11Click(Sender: TObject);

    begin

    StatusBar1Panels[0].Text := 'Нельзя !!!';

    Memo1.Lines.Add('В очерди нельзя возвращаться в начало т.к. указатель

    указывает сразу на начало;');

    end;

    procedure TForm1.Button22Click(Sender: TObject);

    begin

    Application.Terminate;

    end;

    procedure TForm1.Button21Click(Sender: TObject);

    var

    q: List;

    qTwo: ListTwo;

    qQueue, rQueue: List;

    Info: Integer;

    FlagList: Boolean;

    qStack: List;

    qDeckBegin, qDeckEnd: ListTwo;

    qRoundList: List; // начало циклич. списка

    begin

    Button1.Enabled := True;

    Button2.Enabled := True;

    Button3.Enabled := True;

    Button4.Enabled := True;

    Button5.Enabled := True;

    Button6.Enabled := True;

    Button7.Enabled := True;

    Button8.Enabled := True;

    Button9.Enabled := True;

    Button10.Enabled := True;

    Button11.Enabled := True;

    Button12.Enabled := True;

    Button13.Enabled := True;

    Button14.Enabled := True;

    Button15.Enabled := True;

    Button16.Enabled := True;

    Button17.Enabled := True;

    Button18.Enabled := True;

    Button19.Enabled := True;

    Button20.Enabled := True;

    Button23.Enabled := True;

    Button24.Enabled := True;

    Button25.Enabled := True;

    Button26.Enabled := True;

    Image1.Visible := True;

    Image2.Visible := True;

    Image3.Visible := True;

    Image4.Visible := True;

    Image5.Visible := True;

    Image6.Visible := True;

    Image7.Visible := True;

    Edit1.Text := '';

    Edit2.Text := '';

    Edit3.Text := '';

    Edit4.Text := '';

    Edit5.Text := '';

    Edit7.Text := '';

    StatusBar1.Panels[0].Text := '';

    StatusBar1.Panels[1].Text := '';

    CreateLists;

    q := ListBegin;

    qTwo := ListTwoBegin;

    while q <> nil do

    begin

    Edit1.Text := Edit1.Text + ' ' + IntToStr(q^.Info);

    q := q^.Next;

    end;

    Image1.Left := 9;

    ListPos := 0;

    while qTwo <> nil do

    begin

    Edit2.Text := Edit2.Text + ' ' + IntToStr(qTwo^.Info);

    qTwo := qTwo^.Next;

    end;

    Image2.Left := 9;

    ListTwoPos := 0;

    FlagList := True;

    while QueueBegin <> nil do

    begin

    Info := GetQueue(QueueBegin);

    Edit3.Text := Edit3.Text + ' ' + IntToStr(Info);

    AddToQueue(Info, qQueue);

    if FlagList then

    begin

    FlagList := False;

    rQueue := qQueue;

    end;

    end;

    QueueBegin := rQueue;

    QueuePos := 2;

    Image3.Left := 9;

    while Stack <> nil do

    begin

    Info := GetStack(Stack);

    Edit4.Text := Edit4.Text + ' ' + IntToStr(Info);

    AddToStack(Info, qStack);

    end;

    Stack := qStack;

    Memo1.Lines.Add('В стеке числа идут на оборот т.к. элементы считываются

    из конца стека.');

    StackPos := 2;

    Image4.Left := 9;

    while DeckEnd <> nil do

    begin

    Info := GetDeckEnd(DeckEnd);

    Edit5.Text := Edit5.Text + ' ' + IntToStr(Info);

    AddToDeck(Info, qDeckBegin, qDeckEnd, 0);

    end;

    DeckBegin := qDeckBegin;

    DeckEnd := qDeckEnd;

    DeckBeginPos := 2;

    Image5.Left := 9;

    Memo1.Lines.Add('Дек прочитывался с начала, поэтому элементы записались

    по порядку.');

    DeckEndPosition := 1;

    while Edit5.Text[DeckEndPosition] <> '' do Inc(DeckEndPosition);

    Image6.Left := Round(9 + DeckEndPosition * 6.2);

    Dec(DeckEndPosition);

    DeckEndPos := DeckEndPosition;

    qRoundList := RoundList^.Next;

    Edit7.Text := ' ' + IntToStr(RoundList^.Info);

    while qRoundList <> RoundList do

    begin

    Edit7.Text := Edit7.Text + ' ' + IntToStr(qRoundList^.Info);

    qRoundList := qRoundList^.Next;

    end;

    Image7.Left := 9;

    RoundListPos := 0;

    end;

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Form3.Show;

    end;

    procedure TForm1.Button3Click(Sender: TObject);

    begin

    StatusBar1.Panels[0].Text := 'Нельзя !!!';

    Memo1.Lines.Add('В однонаправленном списке нельзя перемещаться назад,

    т.к. связь существует толко в одну сторону;');

    end;

    procedure TForm1.Button4Click(Sender: TObject);

    var

    qList: List;

    i, j: Integer;

    begin

    StatusBar1.Panels[0].Text := '';

    qList := ListBegin;

    i := 0;

    while i <> ListPos do

    begin

    qList := qList^.Next;

    Inc(i);

    end;

    if qList <> nil then

    begin

    if qList^.Next <> nil then Inc(ListPos);

    i := 0;

    j := 0;

    while i < ListPos do

    begin

    Inc(j);

    if Edit1.Text[j] = ' ' then Inc(i);

    end;

    Image1.Left := Round(9 + (j + 1) * 7.5);

    end;

    end;

    procedure TForm1.Button7Click(Sender: TObject);

    var

    qListTwo: ListTwo;

    i, j: Integer;

    begin

    StatusBar1.Panels[0].Text := '';

    qListTwo := ListTwoBegin;

    i := 0;

    if ListTwoPos <> 0 then dec(ListTwoPos);

    i := 0;

    j := 0;

    while i < ListTwoPos do

    begin

    Inc(j);

    if Edit2.Text[j] = ' ' then Inc(i);

    end;

    if ListTwoPos = 0 then Image2.Left := 9

    else Image2.Left := Round(9 + (j + 1) * 7.5);

    end;

    procedure TForm1.Button8Click(Sender: TObject);

    var

    qListTwo: ListTwo;

    i, j: Integer;

    begin

    StatusBar1.Panels[0].Text := '';

    qListTwo := ListTwoBegin;

    i := 0;

    while i <> ListTwoPos do

    begin

    qListTwo := qListTwo^.Next;

    Inc(i);

    end;

    if qListTwo <> nil then

    begin

    if qListTwo^.Next <> nil then Inc(ListTwoPos);

    i := 0;

    j := 0;

    while i < ListTwoPos do

    begin

    Inc(j);

    if Edit2.Text[j] = ' ' then Inc(i);

    end;

    Image2.Left := Round(9 + (j + 1) * 7.5);

    end;

    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

    begin

    DestroyList(ListBegin);

    DestroyListTwo(ListTwoBegin);

    DestroyList(QueueBegin);

    DestroyList(Stack);

    DestroyListTwo(DeckBegin);

    Application.Terminate;

    end;

    procedure TForm1.Button15Click(Sender: TObject);

    begin

    StatusBar1.Panels[0].Text := 'Нельзя !!!';

    Memo1.Lines.Add('В стеке нельзя возвращаться в начало т.к. указатель

    указывает сразу на начало;');

    end;

    procedure TForm1.Button16Click(Sender: TObject);

    var

    i: Integer;

    s: string;

    begin

    StatusBar1.Panels[0].Text := '';

    GetStack(Stack);

    if Stack <> nil then

    begin

    while Edit4.Text[StackPos] <> ' ' do Inc(StackPos);

    Inc(StackPos);

    s := Edit4.Text;

    for i := 1 to StackPos - 1 do

    if s[i] <> ' ' then s[i] := ' ';

    Edit4.Text := s;

    end

    else

    begin

    ShowMessage('Стек пуст');

    Edit4.Text := '';

    Image4.Hide;

    Button14.Enabled := False;

    Button15.Enabled := False;

    Button16.Enabled := False;

    StatusBar1.Panels[1].Text := 'Стек пуст';

    end;

    Image4.Left := Round(StackPos * 7);

    end;

    procedure TForm1.Button20Click(Sender: TObject);

    var

    i: Integer;

    s: string;

    begin

    StatusBar1.Panels[0].Text := '';

    GetDeckBegin(DeckBegin);

    if DeckBegin <> nil then

    begin

    while Edit5.Text[DeckBeginPos] <> ' ' do Inc(DeckBeginPos);

    Inc(DeckBeginPos);

    s := Edit5.Text;

    for i := 1 to DeckBeginPos - 1 do

    if s[i] <> ' ' then s[i] := ' ';

    Edit5.Text := s;

    end;

    if (DeckBegin = nil) and (DeckBegin = DeckEnd) then

    begin

    ShowMessage('Дек пуст');

    Edit5.Text := '';

    Image5.Hide;

    Image6.Hide;

    Button18.Enabled := False;

    Button19.Enabled := False;

    Button20.Enabled := False;

    StatusBar1.Panels[1].Text := 'Дек пуст';

    end;

    Image5.Left := Round(DeckBeginPos * 7);

    end;

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    Windows.SetFocus(Button21.Handle);

    end;

    procedure TForm1.Button19Click(Sender: TObject);

    var

    i, a: Integer;

    s: string;

    begin

    StatusBar1.Panels[0].Text := '';

    GetDeckEnd(DeckEnd);

    if DeckEnd <> nil then

    begin

    while Edit5.Text[DeckEndPos] <> ' ' do Dec(DeckEndPos);

    Dec(DeckEndPos);

    s := Edit5.Text;

    for i := DeckEndPosition downto DeckEndPos + 1 do

    if s[i] <> ' ' then s[i] := ' ';

    Edit5.Text := s;

    //удаляем все пробелы конце строки

    s := '';

    i := Length(Edit5.Text) - 1;

    while Edit5.Text[i] = ' ' do Dec(i);

    for a := 1 to i do s := s + Edit5.Text[a];

    Edit5.Text := s;

    end;

    if (DeckEnd = nil) and (DeckBegin = DeckEnd) then

    begin

    ShowMessage('Дек пуст');

    Edit5.Text := '';

    Image5.Hide;

    Image6.Hide;

    Button19.Enabled := False;

    Button20.Enabled := False;

    StatusBar1.Panels[1].Text := 'Дек пуст';

    end;

    Image6.Left := Round(DeckEndPos * 7 - 9);

    end;

    procedure TForm1.Button5Click(Sender: TObject);

    begin

    Form5.Show;

    end;

    procedure TForm1.Button2Click(Sender: TObject);

    begin

    DeleteFromList(ListPos);

    DoNewEditList;

    end;

    procedure TForm1.Button6Click(Sender: TObject);

    begin

    DeleteFromListTwo(ListTwoPos);

    DoNewEditListTwo;

    end;

    procedure TForm1.Button10Click(Sender: TObject);

    var

    i, a: Integer;

    s1, s2: string;

    begin

    GetQueue(QueueBegin);

    if QueueBegin <> nil then

    begin

    i := QueuePos;

    while (Edit3.Text[i] <> ' ') and (i ' ') and (i RoundList do

    begin

    Inc(Count);

    qRoundList := qRoundList^.Next;

    end;

    qRoundList := RoundList;

    i := 0;

    while i <> RoundListPos do

    begin

    qRoundList := qRoundList^.Next;

    Inc(i);

    end;

    if qRoundList <> nil then

    begin

    if qRoundList^.Next <> nil then Inc(RoundListPos);

    if RoundListPos > Count - 1 then RoundListPos := 0;

    i := 0;

    j := 0;

    while i < RoundListPos do

    begin

    Inc(j);

    if Edit7.Text[j] = ' ' then Inc(i);

    end;

    if RoundListPos = 0 then j := -1;

    Image7.Left := Round(9 + (j + 1) * 7.5);

    end;

    end;

    procedure TForm1.Button23Click(Sender: TObject);

    begin

    Form9.Show;

    end;

    procedure TForm1.Button24Click(Sender: TObject);

    begin

    if RoundList <> nil then

    begin

    DeleteFromRoundList(RoundListPos);

    if RoundList <> nil then DoNewEditRoundList;

    end

    else

    begin

    Edit7.Text := '';

    ShowMessage('Циклический список пуст');

    Button24.Enabled := False;

    Button25.Enabled := False;

    Button26.Enabled := False;

    Image7.Hide;

    end;

    end;

    procedure TForm1.N2Click(Sender: TObject);

    begin

    Close;

    end;

    procedure TForm1.N5Click(Sender: TObject);

    begin

    AboutBox.Visible := True;

    end;

    procedure TForm1.N4Click(Sender: TObject);

    begin

    Form10.Visible := True;

    end;

    procedure TForm1.Button27Click(Sender: TObject);

    begin

    Form11.Show;

    end;

    procedure TForm1.Button30Click(Sender: TObject);

    begin

    Form12.Show;

    end;

    procedure TForm1.Button29Click(Sender: TObject);

    begin

    Form13.Show;

    end;

    procedure TForm1.Button31Click(Sender: TObject);

    begin

    Form14.Show;

    end;

    procedure TForm1.Button32Click(Sender: TObject);

    begin

    Form15.Show;

    end;

    procedure TForm1.N8Click(Sender: TObject);

    begin

    Form1.Hide;

    Form16.Show;

    N8.Enabled := False;

    end;

    procedure TForm1.N11Click(Sender: TObject);

    begin

    Memo1.Clear;

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

    Memo1.Lines.Add(' "Списки"');

    Memo1.Lines.Add('___________________________________________________________

    ___');

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

    списках.');

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

    Memo1.Lines.Add('');

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

    работы.');

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

    Memo1.Lines.Add(' 1) Что такое линейный список?');

    Memo1.Lines.Add(' 2) Какие операции можно выполнить с линейным

    списком?');

    Memo1.Lines.Add(' 3) Какие существую еще списки?');

    Memo1.Lines.Add(' 4) Что представляет из себя связанное

    распределение?');

    Memo1.Lines.Add(' 5) Чем отличается связанное распределение от

    последовательного?');

    Memo1.Lines.Add(' 6) Что такое динамические переменные? Функции new и

    nil.');

    end;

    procedure TForm1.Button33Click(Sender: TObject);

    begin

    Form17.Show;

    end;

    procedure TForm1.N21Click(Sender: TObject);

    begin

    Memo1.Clear;

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

    Memo1.Lines.Add(' "Однонаправленный и двунаправленный список"');

    Memo1.Lines.Add('___________________________________________________________

    ___');

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

    Memo1.Lines.Add(' двунаправленного списка.');

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

    Memo1.Lines.Add('');

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

    списков.');

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

    списку.');

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

    элемента;');

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

    коментарии);');

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

    список.');

    Memo1.Lines.Add(' а) Добавьте после 3, 5, 7 элемента цифру 33 в обоих

    списках;');

    Memo1.Lines.Add(' б) Добавте 1-м и 3-м элементом цифру 55 в

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

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

    списка.');

    Memo1.Lines.Add(' а) Удалите 3, 5, 7 элементы в однонаправленном

    списке;');

    Memo1.Lines.Add(' б) Удалите последний, 1 и 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.N31Click(Sender: TObject);

    begin

    Memo1.Clear;

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

    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, 5, последнего, первого

    элемента;');

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

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

    список.');

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

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


    Приглашения

    09.12.2013 - 16.12.2013

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

    09.12.2013 - 16.12.2013

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




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