1. Программирование
2. Информация. Информационные процессы.
- №2936, 2949, 264. Дополнительно №2956, 304 на сайте http://informatics.mccme.ru.
- №63, 64, 65, 66. Дополнительно №68, 1456 на сайте http://informatics.mccme.ru.
- №69, 72, 223, 224, 226, 1566 (№1566: Поменять местами в массиве максимальный и минимальный элементы. На вход подается N - количество элементов, затем в следующей строке n элементов массива через пробел). Дополнительно №70, 71, 73, 1460, 1461. *300, *1467, *1468 на сайте http://informatics.mccme.ru.
- Решить все задачи или из базового или из продвинутого списка.
Текст задач (скачать текст):
Базовый уровень
- Найти сумму элементов, кратных заданному с клавиатуры числу.
- Найти количество положительных и отрицательных элементов (т.е. 0 не считать).
- Найти среднее арифметическое всех элементов массива.
- Найти номер последнего отрицательного элемента массива.
- Найти номера (индексы) всех элементов массива с максимальным значением.
- Найти количество нечетных элементов массива.
- Найти сумму всех четных элементов массива, имеющих четные номера.
- Найти количество элементов массива, кратных 3 или 5.
- Найти сумму элементов массива, имеющих нечетные индексы.
- Найти индексы тех элементов массива, у которых значение больше, чем значение предыдущего элемента.
- Найти индексы тех элементов массива, у которых значение индекса больше, чем значение соответствующего элемента.
- Заменить отрицательные элементы массива на противоположные по знаку.
- Если элемент массива четный, то прибавить к нему первый элемент. Если нечетный – последний. Первый и последний элементы не изме6нтять.
Продвинутый уровень
- Даны два одномерных массива. Найти элементы, которые есть в первом массиве, и которых нет во втором массиве.
- Даны два одномерных массива одинаковой размерности. Построить третий массив, элементами которого будут суммы соответствующих элементов первого и второго массива. Например, c[1]=a[1]+b[1].
- Дан первый член арифметической прогрессии и разность между соседними элементами. Сформировать одномерный массив из первых n элементов арифметической прогрессии.
- Даны массивы A и B одинаковой размерности. Найти их скалярное произведение:
a1•b1+a2•b2+…+an•bn.
- Из элементов массива A сформировать массив B по правилу:
b[i]=a[1]+a[2]+…+a[i].
- Переставьте в массиве местами второй и минимальный элементы.
- Удалить из массива последний максимальный элемент (последнему элементу присвоить 0).
- Вставить в массив элемент X, введенный с клавиатуры, после первого максимального элемента.
- Удалить из массива все элементы, значения которых меньше нуля.
- Домашнее задание: задача, записанная в тетради, на тему "Работа с файлами в Паскале" (Найти последнее вхождение элемента X в массив A методом линейного поиска с барьером. Массив задается из файла.)
+ доделать все долги.
- Выучить алгоритмы линейного поиска с барьером, бинарного поиска. Решить все задачи или из базового или из продвинутого списка.
Текст задач:
Базовый уровень
- В файле записано количество учеников в 10 классе, затем в следующей строке через пробел в невозрастающем порядке записаны в сантиметрах значения роста учащихся. Установить методом бинерного поиска, есть ли в классе ученик ростом 170 см.
Пример входных данных |
Пример выходных данных |
9
185 180 178 175 170 169 169 165 164 |
YES |
(сдать задачу)
- Есть ли в массиве отрицательный элемент? Установите методом линейного поиска с барьером.
(сдать задачу)
- В файле записаны через пробел значения среднесуточной температуры за август (31 число). Найдите методом линейного поиска с барьером - какого числа температура воздуха впервые за месяц опустилась ниже 15 градусов.
Пример входных данных |
Пример выходных данных |
31
28 29 25 24 23 20 25 16 14 ... 12 8 15 |
9 |
(сдать задачу)
Продвинутый уровень
- (сдать как №1567) На вход программе подается последовательность чисел от 1 до 9, заканчивающаяся нулем. Всего будет введено не более 100 000 чисел. Подсчитайте в этой последовательности количество единиц, количество двоек, количество троек и т. д. и выдайте результат. В выходных данных всегда должно быть 9 чисел. (Подсказка - создавать только один массив a[0..9], входные данные считывать и обрабатывать без использования массива.)
Пример входных данных |
Пример выходных данных |
1 1 4 1 5 8 6 3 5 1 0 |
4 0 1 1 2 1 0 1 0 |
- (№1570) Подсчитайте за один проход массива, сколько его элементов равны максимальному элементу. На вход программе сначала подается значение n<=100 —количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива - целые числа, по модулю не превосходящие 30000. Выдайте количество искомых элементов массива. (Подсказка: счетчик зануляется при каждом найденном наибольшем числе.)
Пример входных данных |
Пример выходных данных |
8
4 3 5 2 5 1 3 5 |
3 |
- (№1571) В массиве, заполненном произвольными целыми числами, найдите два числа, произведение которых максимально. Вложенные циклы не используйте.
На вход программе сначала подается значение n<=10000 - количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива - целые числа, по модулю не превосходящие 30000. Выдайте два искомых числа в порядке неубывания. (Подсказка: max1, max2 ищутся одновременно и по модулю.)
Примеры входных данных |
Примеры выходных данных |
5
4 3 5 2 5 |
5 5 |
5
-4 3 -5 2 5 |
-5 -4 |
|