51406

Использование динамических структур данных

Лабораторная работа

Информатика, кибернетика и программирование

Задания по вариантам Задача 1 Сформировать однонаправленный список без заглавного звена со следующим описанием: Type telem=rel; List=^elem; Elem=record; Dt:telem; Next:List End; Описать функцию или процедуру которая: 1 определяет является ли список пустым; 2 находит среднее арифметическое элементов списка.z; List=^elem; Elem=record; Dt:telem; Next:List End; Описать функцию или процедуру которая: 1 определяет является ли список пустым; 2 меняет местами первый и последний элементы списка. Сформировать однонаправленный список без...

Русский

2014-02-11

24.82 KB

14 чел.

Лабораторная работа 9

Использование динамических структур данных

Цели работы: выработка навыков использования динамических структур данных.

Задания по вариантам

Задача 1

  1.  

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

Type telem=real;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, которая: 1) определяет, является ли список пустым; 2) находит среднее арифметическое элементов списка.

  1.  

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

Type telem=’a’..’z’;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, которая: 1) определяет, является ли список пустым; 2) меняет местами первый и последний элементы списка.

  1.  

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

Type telem=integer;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, которая: 1) определяет, является ли список пустым; 2) заменяет в списке все вхождения Data1 на Data2.

  1.  

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

Type telem=’a’..’z’;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, которая: 1) определяет, является ли список пустым; 2) изменяет направление ссылок всех указателей на противоположное.

  1.  

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

Type telem=’a’..’z’;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, которая: 1) определяет, является ли список пустым; 2) проверяет, упорядочены ли элементы списка по алфавиту.

  1.  

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

Type telem=string[10];

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, подсчитывающую количество слов списка, которые: 1) начинаются и оканчиваются одной и той же литерой; 2) начинаются с той же литеры, что и следующее слово.

  1.  

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

Type telem=real;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая вставляет: 1) в начало списка новый элемент E; 2) новый элемент E после первого элемента списка.

  1.  

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

Type telem=real;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая вставляет: 1) новый элемент E после каждого третьего элемента списка; 2) пару новых элементов E1 и E2 перед последним элементом списка.

  1.  

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

Type telem=integer;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать функцию или процедуру, которая: 1) определяет минимальный элемент списка; 2) удаляет из списка все элементы, равные M.

  1.  

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

Type telem=real;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая вставляет: 1) в конец списка новый элемент E; 2) в список новый элемент E1 за каждым вхождением элемента E.

  1.  

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

Type telem=’A’..’Z’;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая вставляет: 1) в упорядоченный список элемент E так, чтобы сохранилась упорядоченность; 2) в начало списка наиболее часто встречающуюся литеру.

  1.  

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

Type telem=’A’..’Z’;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая исключает из списка элементы, входящие во множество символов M.

  1.  

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

Type telem=real;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая находит среднее арифметическое элементов списка и вычитает это значение из каждого элемента.

  1.  

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

Type telem=real;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая осуществляет сдвиг элементов списка на N элементов вправо.

  1.  

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

Type telem=’A’..’Z’;

List=^elem;

Elem=record;

Data:telem;

Next:List

End;

Описать процедуру, которая N раз дублирует каждую гласную букву в списке.

Задача 2

  1.  

Описать процедуру или функцию, которая определяет, входит ли список L1 в список L2.

  1.  

Описать процедуру или функцию, которая объединяет два упорядоченных по возрастанию списка L1 и L2 в один упорядоченный по возрастанию список L.

  1.  

Описать процедуру или функцию, которая для списка L подсчитывает, сколько раз встречается каждый элемент списка.

  1.  

Описать процедуру или функцию, которая в конец списка L добавляет все его элементы, располагая их в обратном порядке.

  1.  

Описать процедуру или функцию, которая в непустой кольцевой список L добавляет элементы однонаправленного списка L1, которых нет в L.

  1.  

Описать процедуру или функцию, которая оставляет в списке L только первые вхождения одинаковых элементов.

  1.  

В списке L записано 100 целых чисел. Удалите из списка наименьшее количество чисел, чтобы получилась возрастающая последовательность.

  1.  

Описать процедуру или функцию, которая из списка L, содержащего не менее двух элементов, удаляет все элементы, у которых одинаковые соседи.

  1.  

Описать процедуру или функцию, которая вставляет в список L за первым вхождением элемента E все элементы списка L1, если E входит в L.

  1.  

В списке L записано 100 чисел от 0 до 9. Удалите  из списка все пары одинаковых чисел. После первого прохода проверьте, не образовались ли новые пары после удаления ранее обнаруженных. Процесс продолжайте до тех пор, пока не останется ни одной пары одинаковых чисел.

  1.  

В списках L1 и L2 записаны два сверхдлинных числа, то есть каждый разряд такого числа записан как элемент списка. В списке L3 получить сумму двух сверхдлинных чисел.

  1.  

Описать процедуру или функцию, которая проверяет, есть ли в списке L хотя бы два одинаковых элемента.

Задача 3

  1.  

Описать процедуру или функцию, которая находит величину наибольшего элемента дерева T.

  1.  

Исключить из дерева все совпадающие элементы.

  1.  

В дереве T найти кратчайший путь между двумя его вершинами.

  1.  

Описать процедуру или функцию, которая добавляет к дереву поиска T новый элемент E, если его не было в T.

  1.  

Определить, можно ли разбить множество вершин дерева T так, чтобы каждый узел связывал вершины двух разных подмножеств.

  1.  

Найти все вершины дерева T, к которым можно добраться не более чем за N шагов, где шагом называется переход от одного узла дерева к другому.

  1.  

Описать процедуру Copy(T, T1), которая строит копию дерева.

  1.  

Описать рекурсивную процедуру или функцию, которая определяет максимальную глубину непустого дерева T, то есть число ветвей в самом длинном из путей от корня дерева до листьев.

  1.  

Описать процедуру или функцию, которая по ASCII-файлу F, все элементы которого различны, строит соответствующее дерево поиска T.

  1.  

Описать логическую функцию Same(T), которая определяет, есть ли в дереве T хотя бы два одинаковых элемента.

  1.  

Описать процедуру, которая удаляет из дерева T все элементы равные E.

  1.  

Описать процедуру, которая подсчитывает число вершин на n-м уровне непустого дерева T (корень считать веершиной 0-гог уровня).

  1.  

Деревом поиска называется двоичное дерево, в котором слева от любой вершины находятся вершины с элементами, меньшими элемента этой вершины, а справа – с большими элементами. Составить процедуру или функцию, которая записывает в файл F элементы дерева поиска T в порядке возрастания.

  1.  

В разветвленном дереве T найти все истоки, то есть вершины, в которые только входят дуги.

  1.  

Описать рекурсивную функцию или процедуру, которая определяет, входит ли элемент E в двоичное дерево T.


 

А также другие работы, которые могут Вас заинтересовать

22591. Адміністративні правовідносини 57 KB
  Основні ознаки адміністративних правовідносин: вони виникають на основі адміністративноправових норм; характеризуються наявністю сторін що іменуються суб'єктами адміністративного права; за змістом включають в себе адміністративні права владного характеру і юридичні обов'язки; є видом суспільних відносин державних органів фізичних або юридичних осіборганізацій і спільностей; здійснення суб'єктивних прав або додержання юридичних обов'язків у правовідносинах контролюється і забезпечується державою; Групувати адміністративні правовідносини...
22592. Права та форми власності на землю 64 KB
  Земля в Україні може перебувати у приватній комунальній та державній власності. Суб'єкти права власності на землю. а громадяни та юридичні особи на землі приватної власності; б територіальні громади які реалізують це право безпосередньо або через органи місцевого самоврядуванні на землі комунальної власності; в держава яка реалізує це право через відповідні органи державної влади на землі державної власності.
22593. Цивільне - правові угоди та договори 33.93 KB
  Угоди укладають як юридичні так і фізичні особи. Угоди бувають односторонніми для виникнення такої угоди достатньо волевиявлення однієї сторони; двосторонніми для виникнення угоди необхідні зустрічні волевиявлення двох сторін; багатосторонніми для їх виникнення необхідне волевиявлення трьох і більше сторін. Деякі угоди можуть бути як платними такі безоплатними наприклад договір схову.
22594. Договір найму жилого приміщення 30.71 KB
  Договір найму жилого приміщення в будинках що належать громадянам на правах особистої власності укладається з власником будинку. Предметом договору найму жилого приміщення в будинках державного і громадського житлового фонду є окрема квартира чи інше ізольоване житлове приміщення а також одноквартирний жилий будинок. Не можуть бути самостійним предметом договору найму: жиле приміщення яке хоча і є ізольованим але розмір якого менший від установленого для надання одній особі; частина кімнати або кімнат з'єднаних з іншою кімнатою...
22595. Контролер локальних дисків 63.5 KB
  Програмування контролера НГМД 765 і мікросхеми прямого доступу до пам'яті 8237. Мікросхема контролера НГМД 765 фірми NEC управляє мотором і головками накопичувача на дискетах і обробляє потоки даних що направляються в або з дискових секторів. Один контролер встановлений на платі адаптора дисків може обслуговувати до чотирьох НГМД. За винятком випадків пов'язаних із захистом від копіювання програмістам не доводиться програмувати мікросхему контролера НГМД напряму.
22596. Імітаційна модель процесора 97.5 KB
  Команда як послідовність деяких дій над даними виконується по тактам мікропрограма команди. Команда має вигляд: Код команди 1й операнд 2й операнд . Найчастіше результат команди заноситься за місцем першого операнда. Формат операндів закладається у формат команди.
22597. Визначення швидкодії обчислювальної системи 80 KB
  2; текстові операції 0.2; файлові операції 0.35; операції сортування 0.15; текстові операції 0.
22598. Робота з регістрами CMOS-memory 45.5 KB
  Приведемо тут тільки короткі зведення: Номер регістра Використання 10H тип накопичувача НГМД 12H тип накопичувача фіксованого диска 14H периферія 15H пам'ять на системній платі молодший байт 16H пам'ять на системній платі старший байт 17H загальна пам'ять молодший байт 18H загальна пам'ять старший байт 30H пам'ять понад 1 мегабайту молодший байт 31H пам'ять понад 1 мегабайту старший байт Кожний з трьох каналів мікросхеми таймера 8253 8254 для AT складається з трьох регістрів. Доступ до кожної групи з трьох регістрів здійснюється...
22599. Контроль клавіатурного вводу 32 KB
  Скенкод це однобайтне число молодші 7 бітів якого представляють ідентифікаційний номер призначений кожній клавіші. На всіх машинах крім AT старший біт коду говорить про те чи була клавіша натиснута біт = 1 код натискання або відпущена біт = 0 код звільнення. Наприклад 7бітный скенкод клавіші В 48 або 110000 в двійковій системі.