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.


 

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

60495. Развитие Теории урока в советской дидактике периода середины 50-х - середины 60-х годов 163.5 KB
  Степашко представляет большой интерес изучение теории и практики урока периода оттепели так как постсоветское время является известным преемником зародившихся в те годы процессов демократизации и гуманизации общества...
60497. Психологічна готовність дитини до навчання у школі 235 KB
  Вступна частина Сьогодні ми зібралися щоб краще пізнати себе своїх учнів навчитися знаходити індивідуальний підхід до всіх учнів допомагати їм у складний адаптаційний період. Вправа Знайомство Мета : сприяти знайомству учасників створити комфортну атмосферу сприяти згуртованості групи. Час: 15 хвилин. Хід вправи: тренер пропонує учасникам написати на бейджику своє ім’я або те яким вони б хотіли щоб їх називали у групі.