Сборник д.з. Информатика
.pdf
|
|
|
– 11 – |
Продолжение таблицы 2. Исходные данные к задаче № 2 |
|||
|
|
||
|
Дано вещественное число > 0. Последовательность вещественных чисел Ak |
||
|
определяется следующим образом: |
||
21 |
А1 = 1 |
А2 = 2 А3 = 5 Аk = (Ak-3 + Ak-2 + Аk-1)/3, K = 4, 5… Найти первый |
|
|
из номеров К, для которых выполняется условие |
||
|
Ak - Ak-1 < . Вывести этот номер и числа Ak-1 и Ak |
||
|
Дано вещественное число > 0. Последовательность вещественных чисел Ak |
||
|
определяется следующим образом: |
||
22 |
А1 = 3 |
А2 = 1 А3 = 4 Аk = (2Ak-3 – 3Ak-2 + Аk-1)/5,K = 4, 5 … |
|
|
Найти первый из номеров К, для которых выполняется условие |
||
|
Ak - Ak-1 < . Вывести этот номер и числа Ak-1 и Ak |
||
|
Дано вещественное число > 0. Последовательность вещественных чисел Ak |
||
|
определяется следующим образом: |
||
23 |
А1 = 1 |
А2 = 5 А3 = 12 |
Аk = 5(Ak-3 + 3Ak-2 + Аk-1), K = 4, 5 …Найти |
|
первый из номеров К, для которых выполняется условие |
||
|
Ak - Ak-1 < . Вывести этот номер и числа Ak-1 и Ak |
||
|
Дано вещественное число > 0. Последовательность вещественных чисел Ak |
||
|
определяется следующим образом: |
||
24 |
А1 = -2 |
А2 = 3 А3 = 0 Аk = (Ak-32 3Ak-2 Аk-1)/2, K = 4, 5 … Найти |
|
|
первый из номеров К, для которых выполняется условие |
||
|
Ak - Ak-1 < . Вывести этот номер и числа Ak-1 и Ak |
||
|
Дано вещественное число > 0. Последовательность вещественных чисел Ak |
||
|
определяется следующим образом: |
||
25 |
А1 = -20 |
А2 = 10 |
А3 = 2 Аk = (2Ak-3 + Ak-2 - 3Аk-1)/4, K = 4, 5 … |
|
Найти первый из номеров К, для которых выполняется условие |
||
|
Ak - Ak-1 < . Вывести этот номер и числа Ak-1 и Ak |
||
– 12 –
ЗАДАЧА 3. МАССИВЫ: АЛГОРИТМЫ ГРУППЫ MINMAX
Написать алгоритм решения задачи на нахождение локального или глобального минимума или максимума функции, используя данные в виде одномерного массива.
Методические указания.
Алгоритм должен включать последовательность ранее рассмотренных конструкций; как правило, используется цикл с параметром For, в котором количество шагов определяется размерностью массива. В большинстве вариантов внутри цикла должен находиться оператор ветвления If. Разрабатываемый алгоритм должен предусматривать однократный просмотр массива.
Исходные данные для решения задачи приведены в табл. 3.
Таблица 3 – Исходные данные к задаче № 3
№ |
|
|
вари- |
Задача |
|
анта |
||
|
1Дано целое число N и набор из N прямоугольников. Найти прямоугольник с минимальной площадью из данного набора.
2Дано целое число N и набор из N прямоугольников. Найти прямоугольник с максимальным периметром из данного набора.
3Дано целое число N и набор из N прямоугольных параллелепипедов. Найти параллелепипед с максимальным объемом из данного набора.
4Дано целое число N и набор из N прямоугольных параллелепипедов. Найти параллелепипед с минимальной площадью поверхности из данного набора.
5Дано целое число N и набор из N чисел. Найти номер максимального элемента из данного набора.
Дано целое число N и набор из N целых чисел. Найти номера первого
6минимального и последнего максимального элементов из данного набора и вывести их в указанном порядке.
Дано целое число N и набор из N целых чисел. Найти номера первого
7максимального и последнего минимального элементов из данного набора и вывести их в указанном порядке.
Дано целое число N и набор из N целых чисел. Найти номера первого и
8последнего минимального элементов из данного набора и вывести их в указанном порядке.
Дано целое число N и набор из N целых чисел. Найти номера первого и
9последнего максимального элементов из данного набора и вывести их в указанном порядке.
Дано целое число N и набор из N целых чисел. Найти номер первого
10экстремального (т.е. минимального или максимального) элемента из данного набора.
Дано целое число N и набор из N чисел. Найти минимальное положительное
11число из данного набора. Если положительные числа в наборе отсутствуют, вывести 0.
– 13 –
Продолжение таблицы 3. Исходные данные к задаче № 3
Дано целое число N и набор из N чисел. Найти номер первого максимального
12нечетного числа из данного набора. Если нечетные числа в наборе отсутствуют, вывести 0.
Дано целое число N и набор из N чисел. Найти номер первого минимального
13четного числа из данного набора. Если четные числа в наборе отсутствуют, вывести 0.
Даны числа А, В (0 < А < В) и набор из 12 чисел. Вывести минимальный из
14элементов набора, содержащихся в интервале (А,В), и его номер. Если требуемые числа в наборе отсутствуют, то дважды вывести 0.
Дано целое число N и набор из N чисел. Найти номер последнего минимального
15четного числа из данного набора. Если четные числа в наборе отсутствуют, вывести 0.
Дано целое число N и набор из N чисел. Найти максимальное отрицательное
16число из данного набора. Если отрицательные числа в наборе отсутствуют, вывести 0.
17Дано целое число N и набор из N целых чисел. Найти количество элементов, расположенных после последнего максимального элемента.
Дано целое число N и набор из N целых чисел. Найти количество элементов,
18содержащихся между первым и последним максимальными элементами. Если максимальный элемент 1, вывести 0.
19Дано целое число N и набор из N целых чисел. Найти количество минимальных элементов из данного набора.
20Дано целое число N и набор из N целых чисел. Найти количество экстремальных элементов из данного набора.
21Дано целое число N > 2 и набор из N чисел. Найти два наименьших элемента из данного набора и вывести эти элементы в порядке возрастания значений.
22Дано целое число N > 1 и набор из N чисел. Найти минимальную разность двух соседних чисел из данного набора.
Дано целое число N > 1 и набор из N чисел. Найти номера двух соседних чисел
23набора, произведение которых является минимальным, и вывести сначала меньший, а затем больший номер.
Дано целое число N и набор из N чисел, содержащих только нули и единицы.
24Найти номер элемента, с которого начинается самая длинная последовательность одинаковых чисел, и количество элементов в этой последовательности. Если таких последовательностей несколько, вывести номер первой из них.
25Дано целое число N и набор из N чисел. Найти максимальное количество подряд идущих максимальных элементов из данного набора.
– 14 –
ЗАДАЧА 4. МАССИВЫ: АЛГОРИТМЫ ГРУППЫ МАТРИЦЫ
Написать алгоритм решения задачи на формирование, вывод или нахождение необходимого элемента в соответствии с заданием.
Методические указания.
Условие вида «дана матрица M x N» означает, что в начале задания дается фактический размер двумерного массива-матрицы (количество строк М, количество столбцов N). Количество элементов равно M N. Порядковые номера начальной строки и начального столбца равны единице.
Ввод и вывод элементов осуществляется по строкам.
Квадратная матрица порядка М – это двумерный массив-матрица размера М х М.
Алгоритм должен включать последовательность ранее рассмотренных конструкций; как правило, используется два цикла с параметром For, в каждом из которых количество шагов определяется размерностью массива i и j. В большинстве вариантов внутри цикла должен находиться оператор ветвления If или подцикл с условием, т.е. параметром While.
Исходные данные для решения задачи приведены в табл. 4.
Таблица 4 – Исходные данные к задаче № 4
№ |
|
|
вари- |
Задача |
|
анта |
||
|
Даны целые положительные числа M, N и набор из N чисел. Сформировать
1матрицу M x N, у которой в каждой строке содержатся все числа из исходного набора (в том же порядке).
Даны целые положительные числа M, N, число D и набор из М чисел. Сформировать матрицу M x N, у которой первый столбец совпадает с исходным
2набором чисел, а элементы каждого последующего столбца равны сумме соответствующего элемента предыдущего столбца и числа D (арифметическая прогрессия).
Даны целые положительные числа M, N, число Q и набор из М чисел. Сформировать матрицу M x N, у которой первый столбец совпадает с исходным
3набором чисел, а элементы каждого последующего столбца равны произведению соответствующего элемента предыдущего столбца и числа D (геометрическая прогрессия).
Даны целые положительные числа M, N, число D и набор из N чисел. Сформировать матрицу M x N, у которой первая строка совпадает с исходным
4набором чисел, а элементы каждой последующей строки равны сумме соответствующего элемента предыдущей строки и числа D (арифметическая прогрессия).
– 15 –
Продолжение таблицы 4. Исходные данные к задаче № 4
Даны целые положительные числа M, N, число Q и набор из N чисел. Сформировать матрицу M x N, у которой первая строка совпадает с исходным
5набором чисел, а элементы каждой последующей строки равны произведению соответствующего элемента предыдущей строки и числа Q (геометрическая прогрессия).
Дана матрица размером M x N. Вывести ее элементы, расположенные в строках с
6четными номерами (2, 4, …). Вывод элементов производить по строкам, условный оператор не использовать.
Дана матрица размером M x N. Вывести ее элементы, расположенные в столбцах
7с нечетными номерами (1, 3, …). Вывод элементов производить по столбцам, условный оператор не использовать.
Дана матрица размером M x N. Вывести ее элементы в следующем порядке:
8первая строка слева направо, вторая справа налево, третья строка слева направо, четвертая справа налево и т.д.
9Дана матрица размером M x N. Для каждой строки матрицы найти сумму ее элементов.
10Дана матрица размером M x N. Для каждого столбца матрицы найти произведение его элементов.
11Дана матрица размером M x N. Для каждого столбца матрицы найти произведение его элементов.
12Дана матрица размером M x N. Для каждого столбца матрицы с четным номером найти сумму его элементов.
13Дана матрица размером M x N. В каждой строке матрицы найти минимальный элемент.
14Дана матрица размером M x N. В каждом столбце матрицы найти максимальный элемент.
15Дана матрица размером M x N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а так же значение наибольшей суммы. Дана матрица размером M x N. Найти номер ее столбца с наименьшим
16произведением элементов и вывести данный номер, а так же значение наименьшего произведения.
17Дана матрица размером M x N. Найти максимальный среди минимальных элементов ее строк.
18Дана матрица размером M x N. Найти минимальный среди максимальных элементов ее столбцов.
19Дана матрица размером M x N. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки.
20Дана матрица размером M x N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца.
21Дана матрица размером M x N. Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов.
Дана целочисленная матрица размером M x N. Найти номер первой из ее строк,
22содержащих равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк нет, вывести 0.
Дана целочисленная матрица размером M x N. Найти номер последнего из ее
23столбцов, содержащих равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких столбцов нет, вывести 0.
– 16 –
Продолжение таблицы 4. Исходные данные к задаче № 4
24Дана целочисленная матрица размером M x N. Найти номер последней из ее строк, содержащих только четные числа. Если таких строк нет, вывести 0. Дана целочисленная матрица размером M x N. Найти номер первого из ее
25столбцов, содержащих только нечетные числа. Если таких столбцов нет, вывести
0.
Дана квадратная матрица А порядка M. Начиная с элемента А11 вывести ее элементы следующим образом (уголками): все элементы первого столбца;
26элементы последней строки, кроме первого (уже выведенного) элемента, оставшиеся элементы второго столбца, оставшиеся элементы предпоследней строки, и т.д., последний элемент А1М.
– 17 –
ДОМАШНЕЕ ЗАДАНИЕ № 2
ЗАДАЧА 1. ПРОГРАММА С ОРГАНИЗАЦИЕЙ ЦИКЛА (ПАРАМЕТР
FOR) В MS EXCEL
Написать программу на языке Visual Basic for Application по алгоритму задачи 1, используя цикл с параметром FOR. Решение задачи необходимо производить в MS Excel. Входные данные должны быть записаны на Листе1 до запуска программы; на этом же листе необходимо отразить и выходные данные. Решение задачи должно представлять листинг программы, работоспособность которой проверена преподавателем.
Методические указания.
При написании программы необходимо обращать внимание на описание переменных. Основными типами данных, используемыми при описании переменных, являются:
Integer – целое число (2 байта);
Long – длинное целое число (4 байта);
Single – десятичное число одинарной точности (4 байта);
Double – десятичное число двойной точности (8 байтов);
Currency – десятичное число с фиксированной точкой (8 байтов);
String – строка текста (до 65400 символов);
Byte – целое от 0 до 255 (1 байт);
Boolean – логическое значение True или False (2 байта);
Date – дата и время (8 байтов);
Object – экземпляр класса (4 байта);
Range –описание ячейки.
Variant – любой из перечисленных выше типов (16 байтов + 1
байт/символ).
Переменные X, Y и Z описываются с типом данных Integer:
Dim X As Integer, Y As Integer, Z As Integer
Переменные X и Y описываются с типом данных Variant, а переменная Z с типом данных Integer:
Dim X, Y, Z As Integer
Переменная curs_range описывается с типом данных Range:
Dim curs_range As Range
Установка курсора в ячейку (например, В4) осуществляется командой Set:
Set curs_range = Range("B4")
– 18 –
ЗАДАЧА 2. ПРОГРАММА С ОРГАНИЗАЦИЕЙ ЦИКЛА (ПАРАМЕТР WHILE) – АКТИВАЦИЯ ЛИСТОВ
Написать программу на языке Visual Basic for Application по алгоритму задачи 2, используя цикл с параметром While. Решение задачи необходимо производить в MS Excel. Входные данные должны быть записаны на листе Данные, а выходные – на листе Результат. Решение задачи должно представлять листинг программы, работоспособность которой проверена преподавателем.
Методические указания.
Активация нужного листа (например, Данные) осуществляется командой
Worksheets("Данные").Activate
Для отладки программы и проверки правильности ее работы используются точки останова: установив курсор на нужной строке, необходимо вызвать контекстное меню и выбрать Toggle/Breakpoint. После запуска программы исполнение приостановится, когда она дойдет до отмеченной строки. Нажимая клавишу F8, можно выполнить пошаговое трассирование программы.
Для контроля правильности записи значений в переменные рекомендуется включение отображения локальных переменных, которое осуществляется через меню View-Locals Window. При пошаговом трассировании программы удобно следить за изменением значений локальных переменных.
– 19 –
ЗАДАЧА 3. ПРОГРАММА НА ПОИСК MINMAX С ИСПОЛЬЗОВАНИЕМ
КОМАНД MSGBOX() И INPUTBOX()
Написать программу на языке Visual Basic for Application по алгоритму задачи 3. Решение задачи необходимо производить в MS Excel. Запрос входных данных и вывод результата работы программы необходимо производить с помощью окон. Входные данные должны быть продублированы на листе Данные, а выходные записаны на листе Результат. Решение задачи должно представлять листинг программы, работоспособность которой проверена преподавателем.
Методические указания.
Подробно работа с функциями MsgBox() и InputBox() рассмотрена в лабораторных работах «Параметры окна вывода информации» и «Ввод и вывод значений».
Функция InputBox() возвращает текстовое значение. Поэтому при необходимости ввести число следует преобразовать возвращаемое значение в требуемый числовой тип. Для преобразования в основные числовые типы используются функции:
CInt() – для преобразования в целый тип Integer;
CSng() – для преобразования в вещественный тип Single. Таким образом, для ввода целого значения N следует записать:
N = CInt(InputBox("Введите N"))
Функция MsgBox() выводит только текстовое значение. Поэтому при необходимости вывести число следует преобразовать возвращаемое значение в требуемую строчную переменную. Для этого используется функция CStr(). Таким образом, для вывода числового значения N следует записать:
MsgBox(CStr(N)).
– 20 –
ЗАДАЧА 4. ПРОГРАММА ОРГАНИЗАЦИИ РАБОТЫ С МАТРИЦАМИ – ОФОРМЛЕНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Написать программу на языке Visual Basic for Application по алгоритму задачи 4, используя необходимые циклы. Разработать пользовательский интерфейс, создав форму с окнами для ввода данных и вывода результатов вычислений. Решение задачи должно представлять листинги программы, формы и управляющих клавиш, работоспособность которых проверена преподавателем.
Методические указания.
Подробно разработка пользовательской формы рассмотрена в лабораторной работе «Технология визуального программирования. Разработка интерфейса». Для создания формы используется вызов меню Insert – UserForm. Окна для запроса отдельных значений оформляются с помощью кнопки TextBox, для массива Х – с помощью кнопки Listbox, подписи к ним - с помощью Label, Управляющие кнопки, такие, как «Запуск» и «Выход» - с помощью кнопки
CommandButton. Изменение имен кнопок (Name) и заголовков (Caption)
производится в окне свойств.
