Файл: Лабораторная работа Программирование циклических вычислительных процессов Для функции.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 121

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Уровень C
Имеется текстовый файл с целыми числами. Требуется сначала все числа из данного файла записать в двусвязный линейный список. Затем удалить из списка все элементы, обладающие свойством Q. После чего продублировать все элементы линейного списка, обладающие свойством
R
. Наконец, упорядочить все элементы линейного списка, обладающие свойством T, оставив остальные элементы на своих местах. Свойства Q, R и T указаны в индивидуальных вариантах. После каждого преобразования линейного списка вывести его на экран.
84

Программа должна содержать следующие функции:
• создание списка и заполнение его целыми числами из текстового файла;
• вывод списка на экран;
• удаление всех элементов списка, обладающих свойством Q;
• дублирование всех элементов списка, обладающих свойством R;
• сортировка всех элементов списка, обладающих свойством T;
• удаление всего списка.
Варианты заданий
C1. Q: число является отрицательным. R: число не содержит четных цифр.
T: число начинается с цифры 1.
С2. Q: число содержит цифру 1. R: число является составным. T: число яв- ляется простым.
С3. Q: число не содержит цифру 0. R: число начинается с 2. T: первая циф- ра числа совпадает с последней.
С4. Q: число является нечетным. R: число начинается с 3. T: число являет- ся составным.
С5. Q: число является простым. R: число является степенью двойки. T: число содержит в своем составе цифру 5.
С6. Q: число является двузначным. R: число является четным. T: число не содержит в своем составе цифру 7.
С7. Q: число является симметричным. R: число содержит хотя бы одну четную цифру. T: число является трехзначным.
С8. Q: сумма цифр числа равна 10. R: число содержит в младшем разряде цифру 3. T: число является двузначным.
C9. Q: сумма цифр числа является четным числом. R: число является про- изведением двух различных простых чисел. T: число является простым.
C10. Q: число является квадратом некоторого натурального числа. R: чис- ло является степенью некоторого простого числа. T: число является со- ставным.
85

Лабораторная работа № 13. Обработка линейных
динамических структур
Данная лабораторная работа является продолжением лабораторной работы № 11. Выполнить тот же вариант, что и в лабораторной работе
№ 11.
Уровень A
Требуется создать двоичный файл, выгрузить все его содержимое в линейный список и обработать список в соответствии с вариантом.
Уровни B и C
Требуется создать двоичный файл Fin, выгрузить все его содержимое в линейный список LIn. Выполнить тот же вариант, что и в лабораторной работе № 11, но при этом сначала создать результирующий список LOut, а уже после этого информацию из LOut переместить в FOut. Схема данной лабораторной работы такая:
FIn -> LIn -> LOut -> FOut.
Все операции необходимо выполнять только со списком Lin, файл
Fin нужен только для хранения информации. Из него разрешается только считать информацию в Lin.
86


Лабораторная работа № 14. Обработка бинарных деревьев
Уровень B
Имеется текстовый файл с изображением целых чисел. Требуется сначала все числа из данного файла записать в двоичное дерево. Затем об- работать дерево в соответствии с заданием.
Программа должна содержать следующие функции.
• CreateTree(char *fname, ELEMENT **root) – построение дерева из элементов файла fname.
• PrintTree(ELEMENT *root) – вывод дерева на экран.
• DestroyTree(ELEMENT **root) – удаление дерева.
Варианты заданий
B1.
Дан текстовый файл с изображениями целых чисел. Построить из них сбалансированное дерево. Определить количество элементов в левом под- дереве той вершины, которая является максимальным элементом в дереве.
B2.
Дан текстовый файл с изображением целых чисел. Построить сбалан- сированное дерево. Определить количество элементов на самом нижнем уровне дерева.
B3.
Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Определить уровень дерева, на котором все элементы являются четными. Найти их сумму и количество листьев на этом уровне.
B4.
Дан текстовый файл с изображением целых чисел. Построить сбалан- сированное дерево, не включая в него повторно встреченные элементы.
Определить количество элементов-листьев в левом поддереве вершины, которая имеет минимальное значение.
B5.
Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Определить количество элементов на самом нижнем уровне дерева.
B6.
Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Удалить из дерева все вершины, содержащие простые числа.
87

B7.
Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Определить уровень, на котором находится наибольшее количе- ство вершин-листьев.
B8.
Дан текстовый файл с изображением целых чисел. Построить сбалан- сированное дерево. Определить количество наиболее часто встречающего- ся элемента в дереве.
B9.
Дан текстовый файл с изображением целых чисел. Построить сбалан- сированное дерево. Определить количество простых чисел на самом ниж- нем уровне дерева.
B10.
Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Определить количество вершин в дереве, имеющих ровно двух по- томков.
B11.
Дан текстовый файл с изображением целых чисел. Построить сбалан- сированное дерево, не включая в него повторно встреченные элементы.
Определить количество вершин в дереве, имеющих только одного потомка.
B12.
Дан текстовый файл с изображениями целых чисел. Построить сба- лансированное дерево, не включая в него повторно встреченные элементы.
Определить количество элементов в правом поддереве той вершины, кото- рая является минимальным элементом в дереве.
B
13. Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Определить количество элементов на каждом четном уровне дерева.
B14.
Дан текстовый файл с изображением целых чисел. Построить дерево поиска. Определить количество всех простых элементов в дереве.
B15.
Дан текстовый файл. Построить частотный словарь слов на основе дерева поиска. Частотный словарь (слова которого лексикографически упорядочены) записать в другой текстовый файл.
Уровень C
Имеется текстовый файл с изображением целых чисел. Создать два бинарных дерева из данных чисел: сбалансированное дерево T1 и дерево поиска T2. На каждом уровне дерева T1 найти минимальный из всех эле- ментов, которые обладают свойством Q. Также вывести на экран все пути
88

в дереве T2, ведущие от корня к листьям, содержащие хотя бы один эле- мент, обладающий свойством R.
Программа должна содержать следующие функции:
• построение сбалансированного дерева из чисел файла;
• построение дерева поиска из чисел файла;
• вывод произвольного бинарного дерева на экран;
• нахождение минимальных элементов на каждом уровне и запись их в массив;
• вывод путей от корня к листьям, отвечающих заданным условиям;
• удаление произвольного бинарного дерева.
Варианты заданий
C1. Q: число является четным. R: число состоит из попарно различных цифр.
C2. Q: число является положительным. R: только одна цифра в числе встречается ровно два раза, остальные – не более одного раза.
C3. Q: число содержит цифру 1. R: цифры в числе упорядочены по возрас- танию.
C4. Q: число не содержит цифру 0. R: число является симметричными в двоичном представлении.
C5. Q: число является нечетным. R: число является простым и не содержит в своем составе цифру 5.
C6. Q: число является простым. R: в числе хотя бы одна цифра встречается более одного раза.
C7. Q: число является двузначным. R: число состоит только из простых цифр.
C8. Q: число начинается с 1. R: каждая цифра, входящая в число, встреча- ется ровно два раза.
C9. Q: сумма цифр числа является четным числом. R: число является про- изведением двух различных простых чисел.
C10. Q: число является квадратом некоторого натурального числа. R: чис- ло является степенью некоторого простого числа.
89

Лабораторная работа № 15. Работа с битами памяти
Уровень C
Пусть имеется некоторое n-элементное множество целых чисел M
(10
n≤20), элементы которого записаны в массив размера n (элементы мас- сива попарно различны). Требуется в текстовый файл записать построчно все такие подмножества множества M, каждое из которых содержит хотя бы один элемент, обладающий свойством Q. Свойства Q указаны в инди- видуальных вариантах.
Варианты заданий
C1. Q: число состоит из попарно различных цифр.
C2. Q: четные цифры в числе чередуются с нечетными.
C3. Q: цифры в числе упорядочены по возрастанию.
C4. Q: число является симметричными в двоичном представлении.
C5. Q: число является простым и не содержит в своем составе цифру 5.
C6. Q: в числе хотя бы одна цифра встречается более одного раза.
C7. Q: число состоит только из простых цифр.
C8. Q: число является составным.
C9. Q: число является произведением двух различных простых чисел.
C10. Q: число является степенью некоторого простого числа.
90


Литература
1.
Дейтел Х. М. Как программировать на С / Х. М. Дейтел, П. Дж. Дей- тел. – М. : Бином-Пресс, 2009. – 910 с.
2.
Искусство программирования на С. Фундаментальные алгоритмы, структуры данных и примеры приложений / Р. Хэзфилд [и др.]. – М. :
ДиаСофт, 2001. – 736 с.
3.
Керниган Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М. :
Издательский дом «Вильямс», 2009. – 304 с.
4.
Подбельский В.В. Программирование на языке Си / В. В. Подбельский,
С. С. Фомин. – М. : Финансы и статистика, 2004. – 600 с.
5.
Прата С. Язык программирования С : лекции и упражнения / С. Прата. –
М. : Издательский дом «Вильямс», 2006. – 960 с.
6.
Рацеев С. М. Задачи по программированию и основные алгоритмы. Ч. 1, 2
/
С. М. Рацеев. – Ульяновск : УлГУ, 2009.
7.
Рацеев С. М. Язык Си. Структуры данных и алгоритмы / С. М. Рацеев. –
Ульяновск : УлГУ, 2011. – 214 с.
8.
Рацеев С. М. Программирование на языке Си [Электронный учебный курс] / С. М. Рацеев. – Ульяновск : УлГУ, 2012. – 1 CD-R. – № гос. реги- страции 0321301786.
9.
Скляров В. А. Программирование на языках Си и Си++ / В. А. Скля- ров. – М. : Высшая школа, 1999. – 288 с.
10.
Угаров В. В. Информатика и программирование / В. В. Угаров, Ю. В.
Цыганова. – Ульяновск : УлГУ, 2003. – 62 с.
11.
Шень А. Программирование: теоремы и задачи / А. Шень. – М. :
МЦНМО, 2004.
91