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

Контрольная работа 2 Pascal

.pdf
Скачиваний:
25
Добавлен:
29.03.2016
Размер:
262.86 Кб
Скачать

Контрольная работа № 2 по курсу «Программирование»

Вариант № 21

Задание 1. Дан текстовый файл, содержащий более трех строк. Удалить из него последние три строки.

Задание 2. Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B —

целые). Если A > B, то функция возвращает 0. С помощью этой функции найти суммы чисел от A до B и от B до C, если даны числа A, B, C.

Задание 3. Дан массив A размера N и целое число K (1 <= K <= 4, K < N). Осуществить циклический сдвиг элементов массива вправо на

K позиций (при этом A1 перейдет в AK+1, A2 — в AK+2, …, AN — в AK). Допускается использовать вспомогательный массив из 4

элементов.

Задание 4. Дан целочисленный массив размера N. Продублировать в нем все четные числа.

Задание 5. Дано целое число N (> 1), а также первый член A и знаменатель D геометрической прогрессии. Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: A, A·D, A·D^2, A·D^3, … .

Задание 6. Дана матрица размера M ´ N, содержащая как положительные, так и отрицательные элементы. Удалить все ее столбцы,

содержащие только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.

Задание 7. Дана матрица размера M ´ N. Для каждой строки матрицы с нечетным номером (1, 3, …) найти среднее арифметическое ее элементов. Условный оператор не использовать.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 22

Задание 1. Дано целое число K (0 < K < 10) и текстовый файл, содержащий более K строк. Удалить из файла последние K строк.

Задание 2. Описать функцию Calc(A, B, Op) вещественного типа, выполняющую над ненулевыми вещественными числами A и B одну из арифметических операций и возвращающую ее результат. Вид операции определяется целым параметром Op: 1 — вычитание,

2 — умножение, 3 — деление, остальные значения — сложение. С помощью Calc выполнить для данных A и B операции,

определяемые данными целыми N1, N2, N3.

Задание 3. Дан массив A размера N и целое число K (1 <= K <= 4, K < N). Осуществить циклический сдвиг элементов массива влево на K

позиций (при этом AN перейдет в AN–K, AN–1 — в AN–K–1, …, A1 — в AN–K+1). Допускается использовать вспомогательный массив из 4 элементов.

Задание 4. Дан целочисленный массив размера N. Утроить в нем вхождения всех нечетных чисел.

Задание 5. Дано целое число N (> 2). Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи FK: F1 = 1, F2 = 1, FK = FK–2 + FK–1, K = 3, 4, … .

Задание 6. Дана матрица размера M ´ N и целое число K (1 <= K <= M). Перед строкой матрицы с номером K вставить строку из нулей.

Задание 7. Дана матрица размера M ´ N. Для каждого столбца матрицы с четным номером (2, 4, …) найти сумму его элементов. Условный оператор не использовать.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 23

Задание 1. Дано целое число K (0 < K < 10) и текстовый файл, содержащий более K строк. Создать новый текстовый файл, содержащий K

последних строк исходного файла.

Задание 2. Описать функцию Quarter(x, y) целого типа, определяющую номер координатной четверти, в которой находится точка с ненулевыми вещественными координатами (x, y). С помощью этой функции найти номера координатных четвертей для трех точек с данными ненулевыми координатами.

Задание 3. Дан массив размера N, все элементы которого, кроме первого, упорядочены по возрастанию. Сделать массив упорядоченным,

переместив первый элемент на новую позицию.

Задание 4. Дан массив A размера N (<= 6). Упорядочить его по возрастанию методом сортировки простым обменом («пузырьковой» сортировкой): просматривать массив, сравнивая его соседние элементы (A1 и A2, A2 и A3 и т. д.) и меняя их местами, если левый элемент пары больше правого; повторить описанные действия N – 1 раз. Для контроля за выполняемыми действиями выводить содержимое массива после каждого просмотра. Учесть, что при каждом просмотре количество анализируемых пар можно уменьшить на 1.

Задание 5. Даны целые числа N (> 2), A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен

A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих.

Задание 6. Дана матрица размера M ´ N и целое число K (1 <= K <= N). После столбца матрицы с номером K вставить столбец из единиц.

Задание 7. Дана матрица размера M ´ N. В каждой строке матрицы найти минимальный элемент.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 24

Задание 1. Дан текстовый файл. Найти количество абзацев в тексте, если абзацы отделяются друг от друга одной или несколькими пустыми строками.

Задание 2. Описать функцию Even(K) логического типа, возвращающую True, если целый параметр K является четным, и False в

противном случае. С ее помощью найти количество четных чисел в наборе из 10 целых чисел.

Задание 3. Дан массив размера N, все элементы которого, кроме последнего, упорядочены по возрастанию. Сделать массив упорядоченным, переместив последний элемент на новую позицию.

Задание 4. Дан массив A размера N (<= 6). Упорядочить его по возрастанию методом сортировки простым выбором: найти максимальный элемент массива и поменять его местами с последним (N-м) элементом; выполнить описанные действия N – 1 раз, каждый раз уменьшая на 1 количество анализируемых элементов и выводя содержимое массива.

Задание 5. Дан массив размера N. Вывести его элементы в обратном порядке.

Задание 6. Дана матрица размера M ´ N. Продублировать строку матрицы, содержащую ее максимальный элемент.

Задание 7. Дана матрица размера M ´ N. В каждом столбце матрицы найти максимальный элемент.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 25

Задание 1. Дано целое число K и текстовый файл. Удалить из файла абзац с номером K (абзацы отделяются друг от друга одной или несколькими пустыми строками). Пустые строки, предшествующие и следующие за удаляемым абзацем, не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений.

Задание 2. Описать функцию IsSquare(K) логического типа, возвращающую True, если целый параметр K (> 0) является квадратом некоторого целого числа, и False в противном случае. С ее помощью найти количество квадратов в наборе из 10 целых положительных чисел.

Задание 3. Дан массив размера N, все элементы которого, кроме одного, упорядочены по убыванию. Сделать массив упорядоченным,

переместив элемент, нарушающий упорядоченность, на новую позицию.

Задание 4. Дан массив A размера N (<= 6). Упорядочить его по возрастанию методом сортировки простыми вставками: сравнить элементы A1 и A2 и, при необходимости меняя их местами, добиться того, чтобы они оказались упорядоченными по возрастанию; затем обратиться к элементу A3 и переместить его в левую (уже упорядоченную) часть массива, сохранив

ее упорядоченность; повторить этот процесс для остальных элементов, выводя содержимое массива после обработки каждого элемента (от 2-го до N-го). При выполнении описанных действий удобно использовать прием «барьера», записывая очередной элемент перед его обработкой в дополнительный элемент массива A0.

Задание 5. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество K.

Задание 6. Дана матрица размера M ´ N. Продублировать столбец матрицы, содержащий ее минимальный элемент.

Задание 7. Дана матрица размера M ´ N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 26

Задание 1. Дан текстовый файл. Найти количество абзацев в тексте, если первая строка каждого абзаца начинается с 5 пробелов («красная строка»). Пустые строки между абзацами не учитывать.

Задание 2. Описать функцию IsPower5(K) логического типа, возвращающую True, если целый параметр K (> 0) является степенью числа

5, и False в противном случае. С ее помощью найти количество степеней числа 5 в наборе из 10 целых положительных чисел.

Задание 3. Дан массив A размера N и целое число K (1 <= K <= N). Преобразовать массив, увеличив каждый его элемент на исходное значение элемента AK.

Задание 4. Дан массив A размера N. Не изменяя данный массив, вывести номера его элементов в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность. Использовать метод «пузырьковой» сортировки,

модифицировав его следующим образом: создать вспомогательный целочисленный массив номеров I, заполнив его числами от 1 до N; просматривать массив A, сравнивая пары элементов массива A с номерами I1 и I2, I2 и I3, … и меняя местами соответствующие элементы массива I, если левый элемент пары больше правого. Повторив описанную процедуру просмотра

N – 1 раз, получим в массиве I требуемую последовательность номеров.

Задание 5. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество K.

Задание 6. Дана матрица размера M ´ N. Перед первым столбцом, содержащим только положительные элементы, вставить столбец из единиц. Если требуемых столбцов нет, то вывести матрицу без изменений.

Задание 7. Дана матрица размера M ´ N. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а

также значение наименьшего произведения.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 27

Задание 1. Дано целое число K и текстовый файл. Удалить из файла абзац с номером K (абзацы выделяются с помощью красной строки

— см. вар 26 Пустые строки между абзацами не учитывать и не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений.

Задание 2. Описать функцию IsPowerN(K, N) логического типа, возвращающую True, если целый параметр K (> 0) является степенью числа N (> 1), и False в противном случае. Дано число N (> 1) и набор из 10 целых положительных чисел. С помощью функции

IsPowerN найти количество степеней числа N в данном наборе.

Задание 3. Дан целочисленный массив размера N. Увеличить все четные числа, содержащиеся в массиве, на исходное значение первого четного числа. Если четные числа в массиве отсутствуют, то оставить массив без изменений.

Задание 4. Дан массив размера N и целое число K (1 <= K <= N). Удалить из массива элемент с порядковым номером K.

Задание 5. Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов.

Задание 6. Дана матрица размера M ´ N. После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. Если требуемых столбцов нет, то вывести матрицу без изменений.

Задание 7. Дана матрица размера M ´ N. Найти максимальный среди минимальных элементов ее строк.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 28

Задание 1. Дан текстовый файл. Абзацы выделяются в нем с помощью красной строки (см. задание Text26), а пустых строк нет. Вставить между соседними абзацами по одной пустой строке (в начало и конец файла пустые строки не добавлять).

Задание 2. Описать функцию IsPrime(N) логического типа, возвращающую True, если целый параметр N (> 1) является простым числом, и False в противном случае (число, большее 1, называется простым, если оно не имеет положительных делителей, кроме 1 и

самого себя). Дан набор из 10 целых чисел, больших 1. С помощью функции IsPrime найти количество простых чисел в данном наборе.

Задание 3. Дан целочисленный массив размера N. Увеличить все нечетные числа, содержащиеся в массиве, на исходное значение последнего нечетного числа. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.

Задание 4. Дан массив размера N и целые числа K и L (1 <= K < L <= N). Удалить из массива элементы с номерами от K до L

включительно и вывести размер полученного массива и его содержимое.

Задание 5. Дан массив A размера N и целое число K (1 <= K <= N). Вывести элементы массива с порядковыми номерами, кратными K:

AK, A2·K, A3·K, … . Условный оператор не использовать.

Задание 6. Дана матрица размера M ´ N. Элемент матрицы называется ее локальным минимумом, если он меньше всех окружающих его элементов. Заменить все локальные минимумы данной матрицы на нули. При решении допускается использовать вспомогательную матрицу.

Задание 7. Дана матрица размера M ´ N. Найти минимальный среди максимальных элементов ее столбцов.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 29

Задание 1. Дан текстовый файл. Вывести первое слово текста наибольшей длины. Словом считать набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки.

Задание 2. Описать функцию DigitCount(K) целого типа, находящую количество цифр целого положительного числа K. Используя эту функцию, найти количество цифр для каждого из пяти данных целых положительных чисел.

Задание 3. Дан массив размера N. Поменять местами его минимальный и максимальный элементы.

Задание 4. Дан целочисленный массив размера N. Удалить из массива все нечетные числа и вывести размер полученного массива и его содержимое.

Задание 5. Дан массив A размера N (N — четное число). Вывести его элементы с четными номерами в порядке возрастания номеров: A2, A4, A6, …, AN. Условный оператор не использовать.

Задание 6. Дана матрица размера M ´ N. Элемент матрицы называется ее локальным максимумом, если он больше всех окружающих его элементов. Поменять знак всех локальныx максимумов данной матрицы на противоположный.

Задание 7. Дана матрица размера M ´ N. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки.

Контрольная работа № 2 по курсу «Программирование»

Вариант № 30

Задание 1. Дан текстовый файл. Вывести последнее слово текста наименьшей длины. Словом считать набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки.

Задание 2. Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K (цифры в числе нумеруются справа налево). Если количество цифр в числе K меньше N, то функция возвращает –1. Для каждого из пяти данных целых положительных чисел K1, K2, …, K5 вызвать функцию DigitN с параметром N, изменяющимся от 1 до 5.

Задание 3. Дан массив размера N (N — четное число). Поменять местами его первый элемент со вторым, третий — с четвертым и т. д.

Задание 4. Дан целочисленный массив размера N (> 2). Удалить из массива все элементы с четными номерами (2, 4, …). Условный оператор не использовать.

Задание 5. Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров:

AN, AN–2, AN–4, …, A1. Условный оператор не использовать.

Задание 6. Дана матрица размера M ´ N. Упорядочить ее строки так, чтобы их первые элементы образовывали возрастающую последовательность.

Задание 7. Дана матрица размера M ´ N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца.