![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пример выполнения задания. Описать и реализовать в модуле LineStrs (линейные структуры) класс – стек
Описать и реализовать в модуле LineStrs (линейные структуры) класс – стек. Сформировать стек из вещественных элементов, записанных в файле LW3Dat.txt. Исключить из стека элементы с введенным с терминала значением. Результаты работы записать в файл LW3Res.txt. Программа решения задачи: // Лабораторная работа 1. Стеки, очереди, деки. // Выполнил Сергеев Андрей, группа 500. // Формирование стека и исключение заданных элементов. // Исходные данные - элементы стека - в файле LW1Dat.txt // Результаты работы помещаются в файл LW1Res.txt program LW1; Uses SysUtils, Stacks in 'Stacks.pas'; function WinDOS(const s: string): string; // Перекодировка русских символов строки s из ANSI (Windows) в ASCII (DOS) Var i: Word; Begin Result: =s; // копирование исходной Windows-строки в строку-результат for i: =1 to Length(s) do begin case Result[i] of 'А'..'п': Dec(Result[i], 64); // уменьшение кода ANSI на 64 'р'..'я': Dec(Result[i], 16); // уменьшение кода ANSI на 16 'Ё': Inc(Result[i], 72); // увеличение кода ANSI на 72 'ё': Inc(Result[i], 57); // увеличение кода ANSI на 57 end; // case end; // for end; // WinDOS Var Stack1, Stack2: tStack; // основной и вспомогательный стеки fDat, fRes: Text; // файлы исходных данных и результатов StVal, DelVal: tValue; // значения текущего и исключаемого элемента quan: Word; // количество элементов стека Begin Try Assign(fDat, 'LW1Dat.txt'); Reset(fDat); Assign(fRes, ' LW1Res.txt'); Rewrite(fRes); // Вывод заголовков в файл результатов WriteLn(fRes, 'Работа со стеком - поиск и удаление заданного элемента'); // Создание экземпляров Stack1, Stack2 класса tStack Stack1: = tStack.Create; Stack2: = tStack.Create; // Формирование стека 1 While not eof(fDat) do begin Read(fDat, StVal); Stack1.Push(StVal); end; quan: = Stack1.Size; // Вывод элементов стека 1 в файл результатов с помощью итератора Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение WriteLn(fRes, 'Сформирован стек из ', quan, ' элементов: '); Stack1.IterInit; while not Stack1.IterDone do Write(fRes, Stack1.IterNext: 5: 1); Write(WinDos('Значение исключаемого элемента? ')); ReadLn(DelVal); WriteLn(fRes); WriteLn(fRes, 'Значение исключаемого элемента = ', DelVal: 5: 1); // Исключение элементов из стека 1 и включение не равных DelVal в стек 2 While not Stack1.Empty do begin StVal: = Stack1.Pop; if StVal < > DelVal then Stack2.Push(StVal); end; // Перезапись оставшихся после удаления элементов из стека 2 в стек 1 While not Stack2.Empty do begin StVal: = Stack2.Pop; Stack1.Push(StVal); end; // Вывод элементов стека 1 в файл результатов с помощью итератора WriteLn(fRes, 'Из стека исключено ', quan - Stack1.Size, ' элементов'); WriteLn(fRes, 'В стеке осталось ', Stack1.Size, ' элементов: '); Stack1.IterInit; while not Stack1.IterDone do Write(fRes, Stack1.IterNext: 5: 1); WriteLn(fRes); Stack1.Free; Stack2.Free;
|