КУРСАВАЯ ПО ПРОГРАММИРОВАНИЮ

Jun 08, 2003 16:54


Это мне пыталась сдать девушка в прошлом семестре... и сдала таки, в конце концов!
Задача 1.("О сравнении векторов (массивов)") 1.Постановка задачи: В математике для векторов заданы отношения сравнения: AB, A≥B. Сравнение производится покоординатно, и отношение между векторами считается выполненым, если оно выполнено для каждой из координат. Примеры: (1,2,5,6)<(2,4,7,9); (1,2,5,6)≤(2,4,5,9) Даны два одномерных массива A и B длины N=10-заполнение реализуются от ДЧС (ДСЧ - датчик случайных чисел) а) выяснить, выполняется ли хотя бы одно из указанных отношений: AB, A≥B. б)* Элементы массива В разрешается переставлять. Для каждого из четырех отношений сравнения выяснить, можно ли переставить элементы массива В таким образом, чтобы данное отношение выполнялось? (этот пункт - вообще необязательный, но девушка не обратила внимания на такую ерунду) 2.Исходные данные и результат работы программы: а) Даны два одномерных массива A и B длины N=10-заполнение реализуется от ДСЧ б) (результат работы программы) Вектор A: Вектор B: Ни одно из отношений НЕ выполняется или выполняется Вектор A после сортировки: Вектор B после сортировки: Добиться выполнения отношения A < B Добиться выполнения отношения A <= B Добиться выполнения отношения A > B Добиться выполнения отношения A >= B (Мда. "И врагу никогда не добиться" отношения A меньше B :-) 3.а. (а вот и гвоздь программы - это описание её алгоритма!) Сравниваем векторы; Возвращает (кто, что, кому?): 0 - Ни одно из отношений (<, >, <=, >=) НЕ выполняется 1 - Хотя бы одно из отношений выполняется б. Сортируем вектора по возрастанию; в. Формируем вектора из случайных значений; (сейчас самое время - после сортировки) г. Определяем, можно ли путем перестановки элементов B добиться выполнения отношений (отношение может быть выполнено, если оно выполняется для отсортированных векторов); д. Сортируем по возрастанию. (отсортировать лишний раз всё же не помешает) (Теперь расскажу, откуда такое берётся. Программу пишет знакомый программист - довольно опытный, - не забывая при этом вставить куски, выдающие его с головой, а также ошибки. Описанием алгоритма и прочей бумажной работой, как и любой программист, он себя не затрудняет. Возможно, объяснениями он себя тоже не затрудняет (поскольку не видел в этом пользы ;-). Поэтому бедняжка вынуждена была переписать все комментарии в порядке их появления в программе (хорошо, что программист ещё не очень настоящий). Отсюда странный вид пункта а) - это был комметарий к подпрограмме сравнения векторов (ошибочной ;-), и странное расположение пункта б) - это был комметарий к подпрограмме сортировки. Надо сказать, что комментарии были переписаны не все, а подверглись отбору, но, видимо, случайному. То же относится и к пункту "результаты работы" - были переписаны все сообщения в порядке их появления в исходном тексте программы. Кстати, обе девушки в группе ещё и очень честные - на впорос "вы ведь не сами писали?" они, нимало не смущаясь, ответили правду.)
Previous post Next post
Up