Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
23. В массивах a и b длины n+1 и k+1 хранятся коэффициенты
двух многочленов степеней n и k. Поместить в массив c длины n+k+1 коэффициенты их произведения.
24. Дано множестве n точек на плоскости, заданных координатами
(х,y). Найти вторую по удаленности пару в списке всех пар то- чек данного множества.
25. По матрице a размером 2n*2m построить матрицу b размером
nxm, элементы которой есть суммы четырех элементов соот- ветствующей ячейки 2*2.
26. Умножить две матрицы порядков m*n и n*k.
27. Транспонировать матрицу относительно главной диагонали.
28. Транспонировать матрицу относительно побочной диагонали.
29. Ряд Фибоначчи задается формулой a1 =1, a2 =2, an = a
n-1
+a
n-2
. Вывести на экран члены ряда от 1 до 35 в четыре столбика по 10 членов (последний неполный). Можно использовать допол­нительный массив.
30. Число называется совершенным, если оно равно сумме своих
делителей, включая 1. Например, 6=1+2+3. Найти все совер­шенные числа от 1 до n и вывести их на экран.
31. В строке определить правильность расстановки круглых скобок
(соответствие открывающих и закрывающих).
32. Написать функцию преобразования целого числа в двоичную
строку.
33. Написать функцию преобразования двоичной строки в целое
число.
Группа C
1. Дан массив A целых чисел, расположенных в возрастающем
порядке. Длина массива – 1024. Для заданного числа x не бо­лее чем за 20 сравнений найти номер j элемента, для которого
A[j]x<A[j+1].
2. Слить два упорядоченных по возрастанию массива a и b в мас-
сив c.
3. Не используя другого массива и не используя сортировки, пе-
реставить элементы массива a длины n так, чтобы вначале шли элементы меньше b, а затем элементы больше b (b задано).
4. Заданную последовательность v длины n преобразовать таким
образом, чтобы вначале шли неположительные, а затем поло-
191
жительные элементы. Не использовать других массивов и не сортировать массив.
5. Вывести на дисплей календарь января 1997г.
6. Дан массив a целых чисел. Не используя дополнительных мас-
сивов, переставить элементы массива так, чтобы вначале шли четные, а затем нечетные числа.
7. Дан массив целых чисел a длины m+n, рассматриваемый как
соединение двух его отрезков: начала длины m и конца длины n. Не используя дополнительных массивов, переставить начало и конец.
8. Написать процедуру сортировки (любым способом) строк мат-
рицы размером N*N в порядке убывания длины строки (строка рассматривается как вектор).
9. Дана матрица размером N*N. Определить, где положительных
чисел больше - над главной диагональю (включая ее) или под ней (не включая главную диагональ). Построить функцию или фрагмент программы.
10. Определить, есть ли среди делителей числа n два, отличаю-
щихся на единицу.
11. Подсчитать количество делящихся на 11 чисел от 1 до n, в за-
писи которых нет двоек и семерок.
12. Подсчитать сумму всех простых делителей данного числа n
(кратные считать столько раз, какова их кратность).
13. Поместить в массив a все простые делители числа n в порядке
возрастания (с учетом кратности).
14. Проверить правильность расстановки круглых и квадратных
скобок в символьной строке. Указание: хранить дополнитель­ную строку открытых к текущему моменту скобок. Закрываю­щая скобка должна соответствовать типу последней открытой скобки.
15. Подсчитать количество слов в заданной строке. Разделителями
считать пробел, точку, запятую и точку с запятой.
16. Написать функцию, удаляющую из строки все повторяющиеся,
лидирующие и замыкающие пробелы.
17. Построение и вывод символьной строки, изображающей n-
ричное представление целого числа, n16.
18. Расставить на шахматной доске восемь ферзей, не бьющих
друг друга.
192
19. Игра "Ханойские башни" состоит в следующем. Есть три
1. 2
7 .
Что такое язык про­граммирования вы­сокого уровня?
1. Язык с большим числом функ- циональных возможностей
2. Язык программирования, удобный для человека
3. Язык программирования супер- ЭВМ
2. 2
8 .
Что такое ключевое слово?
1. Предназначено для меток в про- грамме
2. Имеет фиксированное написа- ние и смысл
3. Специальное слово для пароля
стержня. На первый из них надета пирамидка из n колец (большие кольца снизу, меньшие сверху). Требуется переме­стить кольца на второй стержень. Разрешается перекладывать кольца со стержня на стержень, но класть большее кольцо по­верх меньшего нельзя. Написать рекурсивную процедуру, осу­ществляющую следующую идею: чтобы переложить k верхних колец с 1-го стержня на 2-ой, надо переложить (k-1) кольцо с 1­го стержня на 3-ий, k-ое кольцо переложить на 2-ой стержень, а затем (k-1) сколько переложить с 3-го стержня на 2-ой.
20. Построить рекурсивную процедуру, определяющую, содержит
ли данное число нечетные простые делители, дающие при де­лении на 4 остаток 1.
5. Тест для самопроверки
193
3. 2
9 .
Что такое идентифи­катор?
1. Адрес объекта
2. Указатель на подпрограмму
3.Имя о бъ екта
4. 3
0 .
Алгоритм может быть выполнен процессо­ром компьютера, если
...
1. Алгоритм записан на алгорит- мическом языке
2. Алгоритм записан на машинном языке (в двоичном коде)
3. Алгоритм зафиксирован в виде блок-схемы
5. 3
1 .
Какие символы можно включать в идентифи- каторы?
1. Буквы латиницы, арабские циф-
ры, символ подчеркивания
2. Любые буквы и арабские цифры
3. Буквы латиницы, арабские циф- ры, специальные символы
6. 3
3 .
Что изменяет опера­ция присваивания?
1. Значение переменной
2. Имя переменной
3. Тип переменной
194
7. 3
4 .
Что такое тип Real?
1. Числа с дробной частью
2. Комплексные числа
3. Целые числа
8. 3
5 .
Что такое тип Integer?
1. Числа с дробной частью
2. Комплексные числа
3. Целые числа
9. 3
6 .
Что такое тип String?
1. Числа с дробной частью
2. Строки
3. Целые числа
10.
Что такое тип Record?
1.Запись, включающую данные разного типа
2.Комплексные числа
3.Целые числа
195
11.
Чем заканчивается оператор? (язык программирова­ния Pascal)
1. Переходом к другой строке
2. Символом точка с запятой
3. Горизонтальным многоточием
12.
Что такое оператор­ные скобки? (язык программирова­ния Pascal)
1. Фигурные скобки
2. Квадратные скобки
3. Ключевые слова Begin и End, обрамляющие набор операторов
13.
Для чего используют­ся квадратные скобки? (язык программирова­ния Pascal)
1. Для указания индексов массива
2. Для иерархической организации скобок
3. Для размещения внутри них па- раметров подпрограммы
14.
Для чего используется горизонтальное двое­точие? (язык программирова­ния Pascal)
1. Для обозначения продолжения операции в следующей строке
2. Для задания интервалов
3. Замещает символ пробела
196
15.
Символ операции присвоения. (язык программирова­ния Pascal)
1. := без разделителей. Перед оператором и после него пробелы не допускаются
2. := без разделителей. Перед оператором и после него пробелы допускаются
3. : = Между символами допус­кается одиночный пробел
№ вопроса
1 2 3 4 5 6 7
8
№ правильного ответа
2 2 3 2 1 1 1
3
№ вопроса
9
10
11
12
13
14
15
№ правильного ответа
2 1 2 3 1 2 2
Таблица проверочных ответов к тесту
197
Федеральное государственное образовательное бюджетное
учреждение высшего профессионального образования
“Поволжский государственный университет
телекоммуникаций и информатики»
443010, г. Самара, ул. Льва Толстого 23
________________________________________________________
Подписано в печать 14.04.14г. Формат 60 x 84/16
Бумага офсетная №1. Гарнитура Таймс.
Заказ 1000751. Печать оперативная. Усл. печ. л. 11,28. Тираж 100 экз.
________________________________________________________
Отпечатано в издательстве учебной и научной литературы
Поволжского государственного университета
телекоммуникаций и информатики
443090, г. Самара, Московское шоссе 77, т. (846) 228-00-44
198
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]