- •Контрольная работа № 1. Простейшие задачи целочисленной арифметики
- •Контрольная работа № 2. Простейшие задачи с действительными числами.
- •Контрольная работа № 3. Логический тип данных. Составные условия.
- •Контрольная работа № 4. Ветвящиеся алгоритмы.
- •Контрольная работа № 5. Задачи на арифметический цикл.
- •Контрольная работа № 6. Задачи на итерационные циклы.
- •Контрольная работа № 7. Задачи поиска в массиве.
- •Контрольная работа № 8. Задачи обработки массивов.
Контрольная работа № 7. Задачи поиска в массиве.
Дан массив А[1..n], элементами которого являются целые числа. Разработать программу поиска всех его элементы, меньших, чем все предыдущие (другими словами, требуется распечатать все такие индексы j, для которых справедливо условие: для любого i < j A[i] < A[j]).
Дан массив A[1..n], элементами которого являются действительные числа. Разработать программу, которая находит в этом массиве наибольшую по количеству элементов возрастающую подпоследовательность подряд идущих элементов.
Дан числовой массив A[1..n], состоящий из нечетного (n = 2k+1) числа попарно неравных элементов. Разработать программу, которая ищет средний по величине элемент в этом массиве.
Дан массив A[1..n], состоящий из действительных чисел. Разработать программу, которая ищет в этом массиве наименьшее положительное число.
Последовательность из n точек плоскости задана массивами Х[1..n] и Y[1..n] координат этих точек. Разработать программу, которая ищет в этой последоватедльности точку, наименее удаленную от начала координат.
Элемент A[i] числового массива A[1..n] называется барьерным, если
A[j] <= A[i] при j < i и A[j] >= A[i] при j > i.
Разработать программу, которая ищет все барьерные элементы массива А.
Массив A[1..n] состоит из действительных чисел, причем для любого 2 £ i £ n-1 выполнено неравенство A[i] £ (A[i-1] + A[i+1])/2. Составить программу поиска наименьшего и наибольшего элементов этого массива. Клоичество действий должно быть пропорционально log2(n).
Даны упорядоченные по неубыванию числовые массивы А[1..n] и В[1..m]. Разработать программу, которая ищет и выводит на экран индексы всех элементов массива A, входящих также и в массив В.
Дан целочисленный массив A[1..n], элементы которого упорядочены по возрастанию. Разработать программу, которая ищет такое целое число i, что A[i] = i. Количество действий должно быть пропорционально log2 (n).
Дан упорядоченный по неубыванию целочисленный массив A[1..n] и целое число В. Разработать программу, которая ищет такие два элемента массива A[i] и A[j], что A[i] + A[j] = B. Количество действий должно быть пропорционально n.
Контрольная работа № 8. Задачи обработки массивов.
Коэффициенты многочлена хранятся в массиве a: array [0..n] of integer (n - натуральное число - степень многочлена). Разработать программу вычисления значения этого многочлена в точке x (т. е. программу вычисления Y = a[n]*xn+...+a[1]*x+a[0]).
Дан массив A[1..n]. (Тип элементов массива роли не играет.) Составить программу циклического сдвига элементов этого массива на k позиций. (Для исходного массива a[1]),... ,a[k], a[k+1]),..., a[n] результат - массив a[k+1]),..., a[n], a[1]),... ,a[k].) Алгоритм не должен использовать массивы в качестве дополнительной памяти. Количество действий алгоритма должно быть пропорционально n.
Массив A[1..n] состоит из данных типа Color = (white, red, black). Составить программу сортировки массива A, которая проверяет цвет каждого элемента только один раз.
(Задача слияния массивов) Даны два упорядоченных по неубыванию числовых массива X[1..k] и Y[1..l]. Разработать программу объедининения (слияния) их в упорядоченный массив Z[1..m], m = k+l, каждый элемент должен входить в массив Z столько раз, сколько раз он входит в общей сложности в массивы X и Y). Число действий должно быть порядка m.
Разработать программу, которая решает методом интервалов уравнение с модулями:
| X - a1 | + | X - a2 | + . . . + | X - an | = b
a1, a2, . . ., an - произвольные действительные числа, b > 0 - действительное число.
На числовой оси дано n отрезков [a1, b1], [a2, b2], . . . [an, bn]. Разработать программу поиска максимального k, для которого существует точка оси, принадлежащая k отрезками (k - максимальное число слоев в покрытии числовой оси отрезками).
Данные для обработки на компьютере подготовлены в виде N файлов, состоящих из однотипных записей. Программа обработки этих файлов требует, чтобы все данные были объединены в одном входном файле. Для объединения всех файлов в один решили применить стандартную программу слияния, которая получая на вход 2 файла, объединяет их в новый файл за время, пропорциональное сумме длин этих файлов (длина файла – количество записей в этом файле). Эту программу запускают до тех пор, пока не получат один файл, содержащий все элементы исходных файлов. Составить программу, которая определяет такой порядок слияния файлов с помощью стандартной программы, при котором общее время слияния N файлов было бы минимальным. Длины файлов заданы массивом L[1..N].
Дан двумерный массив А[1..n, 1..n]. Разработать программу транспонирования этого массива. (Транспонированием называют такое преобразование массива, при которос его элементы, симметричные относительно главной диагонали, меняются местами.)
Дан двумерный числовой массив А[1..n, 1..m]. Разработать программу поиска седловой точки этого массива. (Элемент двумерного массива называется седловой точкой, если он максимален в своем столбце и минимален в своей строке.)
Дан двумерный числовой массив А[1..n, 1..m]. Разработать программу поиска столбца, сумма квадратов элементов которого минимальна.
