М.Э. Абрамян - Programming Taskbook (1157415), страница 33
Текст из файла (страница 33)
задание Dynamic70). Объединить исходные списки, связав конец первого и начало второго спискаДинамические структуры данных (.NET)151(барьерным элементом объединенного списка должен остаться барьерныйэлемент второго списка). Вывести ссылки на первый и последний элементы объединенного списка (если объединенный список является пустым,то дважды вывести ссылку на его барьерный элемент). После удалениялишнего барьерного элемента вызвать для него метод Dispose.Dynamic74◦ .
Даны ссылки A1 и A2 на барьерный и текущий элементы двусвязного списка (о списке с барьерным элементом см. задание Dynamic70).Также дано число N (> 0) и набор из N чисел. Описать класс IntListB,содержащий следующие члены:• закрытые поля barrier и current типа Node (барьерный и текущий элементы списка);• конструктор с параметрами aBarrier и aCurrent — барьерным и текущим элементами существующего списка;• процедура InsertLast(D), которая добавляет новый элемент со значением D в конец списка (D — входной параметр целого типа, добавленныйэлемент становится текущим);• процедура Put (без параметров), которая выводит ссылку на полеcurrent, используя метод Put класса PT.С помощью метода InsertLast добавить в конец исходного списка данныйнабор чисел (в том же порядке) и вывести сссылку на текущий элементполученного списка, используя для этого метод Put класса IntListB.Dynamic75. Даны ссылки A1 и A2 на барьерный и текущий элементы двусвязного списка.
Также дано число N (> 0) и набор из N чисел. Включить вкласс IntListB (см. задание Dynamic74) процедуру InsertFirst(D), котораядобавляет новый элемент со значением D в начало списка (D — входной параметр целого типа). Добавленный элемент становится текущим. Спомощью метода InsertFirst добавить в начало исходного списка данныйнабор чисел (добавленные числа будут располагаться в списке в обратномпорядке) и вывести ссылку на текущий элемент полученного списка.Dynamic76.
Даны ссылки A1 и A2 на барьерный и текущий элементы двусвязного списка. Также даны пять чисел. Включить в класс IntListB (см.задание Dynamic74) процедуру InsertBefore(D), которая вставляет новыйэлемент со значением D перед текущим элементом списка (D — входной параметр целого типа). Вставленный элемент становится текущим.С помощью метода InsertBefore вставить пять данных чисел в исходныйсписок и вывести ссылку на текущий элемент полученного списка.152М.
Э. Абрамян. Электронный задачник Programming Taskbook 4.6Dynamic77. Даны ссылки A1 и A2 на барьерный и текущий элементы двусвязного списка. Также даны пять чисел. Включить в класс IntListB (см.задание Dynamic74) процедуру InsertAfter(D), которая вставляет новыйэлемент со значением D после текущего элемента списка (D — входнойпараметр целого типа). Вставленный элемент становится текущим.
С помощью метода InsertAfter вставить пять данных чисел в исходный списоки вывести ссылку на текущий элемент полученного списка.Dynamic78◦ . Даны ссылки A1 и A2 на барьерный и текущий элементы двусвязного списка. Включить в класс IntListB (см. задание Dynamic74) процедуры ToFirst (делает текущим первый элемент списка), ToNext (делаеттекущим следующий элемент в списке), SetData(D) (присваивает текущему элементу списка значение D целого типа, если данный элемент неявляется барьерным) и функцию IsBarrier логического типа (возвращаетTRUE, если текущий элемент списка является его барьерным элементом, иFALSE в противном случае).
Методы ToFirst, ToNext и IsBarrier не имеютпараметров. Параметр D метода SetData является входным параметромцелого типа. С помощью этих методов присвоить нулевые значения элементам исходного списка с нечетными номерами и вывести количествоэлементов в списке, а также ссылку на новый текущий элемент списка.Нумерация ведется от первого элемента списка; барьерный элемент ненумеруется и не учитывается при подсчете элементов.Dynamic79. Даны ссылки A1 и A2 на барьерный и текущий элементы двусвязного списка. Включить в класс IntListB (см. задание Dynamic74) процедуры ToLast (делает текущим последний элемент списка), ToPrev (делаеттекущим предыдущий элемент в списке) и функцию GetData целого типа(возвращает значение текущего элемента списка L).
Данные методы неимеют параметров. С помощью этих методов, а также с использованиемфункции IsBarrier из задания Dynamic78, вывести все четные значенияэлементов исходного списка, просматривая список с конца. Вывести также количество элементов в списке. Барьерный элемент не обрабатываетсяи не учитывается при подсчете элементов.Dynamic80. Даны ссылки A1 и A2 на барьерный и текущий элементы непустого двусвязного списка, причем текущий элемент не совпадает с барьерным. Включить в класс IntListB (см.
задание Dynamic74) функциюDeleteCurrent целого типа, удаляющую из списка текущий элемент и возвращающую его значение. Текущим становится следующий элемент или,Литература153если следующий элемент является барьерным, предыдущий элемент списка. Функция также вызывает для удаленного элемента метод Dispose. Еслитекущим элементом является барьерный элемент, то функция не выполняет никаких действий и возвращает 0. С помощью этой функции, а такжеметода IsBarrier из задания Dynamic78, удалить из исходного списка пятьэлементов (или все элементы, если их менее пяти) и вывести их значения.Вывести также ссылку на новый текущий элемент списка.Литература1.
Абрамян М. Э. 1000 задач по программированию. Часть I: Скалярныетипы данных, управляющие операторы, процедуры и функции. — УПЛРГУ, 2004. — 43 с.2. Абрамян М. Э. 1000 задач по программированию. Часть II: Минимумы имаксимумы, одномерные и двумерные массивы, символы и строки, двоичные файлы. — УПЛ РГУ, 2004. — 42 с.3. Абрамян М. Э. 1000 задач по программированию.
Часть III: Текстовыефайлы, составные типы данных в процедурах и функциях, рекурсия, указатели и динамические структуры. — УПЛ РГУ, 2004. — 43 с.4. Абрамян М. Э., Михалкович С. С. Основы программирования на языкеПаскаль: Скалярные типы данных, управляющие операторы, процедурыи функции. 2-е изд. — Ростов-на-Дону: «ЦВВР», 2005. — 198 с.5.
Абрамян М. Э. Практикум по программированию на языке Паскаль: Массивы, строки, файлы, рекурсия, динамические структуры. 5-е изд., перераб. — Ростов-на-Дону: «ЦВВР», 2006. — 187 с.6. Абрамян М. Э. Практикум по программированию на языках C# и VB.NET. — Ростов-на-Дону: «ЦВВР», 2006. — 220 с.154М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6СодержаниеОбщее описание3Замечания о формулировках заданий6Ввод исходных данных и вывод результатовЯзык Паскаль .
. . . . . . . . . . . . . . . . . . .Язык C++ . . . . . . . . . . . . . . . . . . . . . .Язык Visual Basic . . . . . . . . . . . . . . . . . .Языки платформы .NET (C# и VB.NET) . . . .............................................789910Ввод и вывод данных, оператор присваивания11Целые числа14Логические выражения17Условный оператор20Оператор выбора22Цикл с параметромВложенные циклы .
. . . . . . . . . . . . . . . . . . . . . . . . . . .2529Цикл с условием29ПоследовательностиВложенные циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . .3234Процедуры и функцииПроцедуры с числовыми параметрами . . . . . . . . . . . . . . .Функции с числовыми параметрами . . . . . . .
. . . . . . . . . .Дополнительные задания на процедуры и функции . . . . . . . .36363841Минимумы и максимумы46Одномерные массивыФормирование массива и вывод его элементов . . . . . . . . . .4949155СодержаниеАнализ элементов массива . . . . .Работа с несколькими массивами .Преобразование массива . . . . . . .Изменение элементов массиваУдаление и вставка элементовСортировка массива . . .
. . . .Серии целых чисел . . . . . . . . . .Множества точек на плоскости . . .........................................................Двумерные массивы (матрицы)Формирование матрицы и вывод ее элементовАнализ элементов матрицы . . . . . . . . . . . .Преобразование матрицы . . . . . . . . . . . . .Диагонали квадратной матрицы . . . . . . . . . .....................................Символы и строкиСимволы и их коды.
Формирование строк . . . . . . .Посимвольный анализ и преобразование строк.Строки и числа . . . . . . . . . . . . . . . . . . . .Обработка строк с помощью стандартных функций.Поиск и замена . . . . . . . . . . . . . . . . . . . .Анализ и преобразование слов в строке . . . . . . .Дополнительные задания на обработку строк . . .
.................5154555557596061....6363656870. . . . . . .7272. . . . . . .73. . . . . . .. . . . . . .. . . . . . .747677....................................................Двоичные файлыОсновные операции с двоичными файлами . . . . . . . . . .Создание файла, ввод и вывод его элементов . . . . . .Преобразование файла . . . . . . . . . . . . . . . . . . . .Обработка нетипизированных двоичных файлов . . . .Работа с несколькими числовыми файлами. Файлы-архивыCимвольные и строковые файлы .
. . . . . . . . . . . . . . . .Использование файлов для работы с матрицами . . . . . . ....................7980808283848587Текстовые файлыОсновные операции с текстовыми файлами . . . . . . . . . . . .Анализ и форматирование текста . . . . . . . . . . . . . . . . . .Текстовые файлы с числовой информацией . . . . . . . .