Файл: Informatika_Chast_3_2009_Naumov.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.07.2024

Просмотров: 255

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Продолжение табл. 2

№ варианта

Задание

9

Ввести три числа a, b, c. Определить, принадлежит ли максимальное из них интервалу [1,3], и вывести соответствующее сообщение

10

Определить правильность даты, введенной с клавиатуры (число от 1 до 31, месяц – от 1 до 12), если введены некорректные данные, то сообщить об этом

11

Составить программу, определяющую результат гадания на ромашке «любит – не любит», взяв за исходное данное количество лепестков N

12

Ввести три положительные вещественные числа a, b, c. Определить, существует ли треугольник с длинами сторон a, b, c. Если нет, то вывести соответствующее сообщение, если да, то определить форму треугольника (остро-, прямо- или тупоугольный) и вывести соответствующее сообщение

13

Написать программу, распознающую по длинам сторон среди всех треугольников прямоугольные. Если таковых нет, то вычислить величину угла С

14

Ввести четыре положительные целые числа a, b, c, d. Определить, может ли прямоугольник со сторонами a, b уместиться внутри прямоугольника со сторонами c, d так, чтобы каждая из сторон прямоугольников была параллельна или перпендикулярна другим сторонам. Вывести соответствующее сообщение

15

Даны три числа a, b, c. Определить, какое из них равно d. Если ни одно не равно d, то найти max (d-a, d-b, d-c)

16

Заданы размеры А, В прямоугольного отверстия и размеры X, Y, Z кирпича. Определить, пройдет ли кирпич через отверстие

17

Определить номер четверти координатной плоскости, в которой расположен треугольник, образованный прямой, заданной уравнением вида y = kx+b, и осями координат. Вывести соответствующее сообщение


Продолжение табл. 2

№ варианта

Задание

18

Составить программу, осуществляющую перевод величин из радианной меры в градусную или наоборот. Программа должна запрашивать, какой перевод нужно осуществить, и выполнять указанное действие

19

Написать программу, которая по заданным трем числам определяет, является ли сумма каких-либо двух из них положительной

20

Ввести два целых числа а, b. Если значение а делится нацело на 3 и значение b делится нацело на 5, то вывести полусумму квадратов этих чисел, иначе вывести сумму

21

В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры М. На какой этаж должен доставить лифт пассажира?

22

Составить программу, которая проверяла бы, не приводит ли суммирование двух целых чисел А и В к переполнению (т.е. к результату большему, чем 32 767). Если будет переполнение, то сообщить об этом, иначе вывести сумму этих чисел

23

Составить программный модуль для определения, является ли треугольник со сторонами a, b, c равнобедренным

24

Составить алгоритм и программный модуль для нахождения произведения четных чисел от 50 до 100

25

Составить алгоритм и программный модуль для нахождения произведения нечетных чисел от 41 до 89

26

Разработайте программу «Угадай-ка», которая будет загадывать число, а пользователь пытаться его угадать. Создайте следующую форму:

Окончание табл. 2

№ варианта

Задание

А. Щелкните по кнопке Ответ и в процедуре обработки события создайте код, который сравнивает введенное пользователем число в Text1.text с любым фиксированным числом, например, 5. Если числа равны, то в Text2.text должно быть выведено «Угадал», в противном случае – «Не угадал».

Б. Запустите программу, введите исходные данные, щелкните по кнопке Ответ, протестируйте программу, остановите, исправьте при необходимости ошибки в программе.

В. Доработайте программу так, чтобы она в Text2.text сообщала «Больше», «Меньше», либо «Горячо», если разница между числами меньше 10, и холодно, если 10 и более



Порядок выполнения работы

  1. Открыть в бригадной папке созданный в предыдущей лабораторной работе Excel-документ с именем «max2_my» и подготовить для текущей работы копию этого документа по команде «Файл/Сохранить как», задав для копии имя «max3_my».

  2. Запустить редактор VBA. Результат: открытие окна и формы ранее созданного проекта.

  3. Оставить имя проекта «Проба_If», но изменить свойством «Caption» заголовок формы на «Выбор максимума из трех чисел».

  4. Дополнить форму надписью «Ввод с» (с – латинская буква) и текстовым полем для ввода значения переменной «с» с именем «Text4». Задать в этом поле, например, значение 15.

Примечание. Если в форме нет свободного места для дополнительных объектов, то следует сместить ранее созданные объекты, возможно, уменьшив их размеры.

  1. Дополнить текст подпрограммы, используя возможность копирования фрагментов текста:

  • в инструкцию Dim вставить описание переменной «с» и изменить в этой инструкции и далее по тексту имя результата на «max3»;

  • вставить строку с оператором присваивания переменной «с» числового значения из поля «Text4»;

  • вставить строку со вторым условным оператором без ветви «Else» для переприсваивания переменной «max3» значения переменной «с», если выполняется соответствующее условие.

Примечание. Для рационального использования поля редактирования с текстом подпрограммы (чтобы весь текст был виден в этом поле) можно воспользоваться следующими двумя возможностями размещения текста:

  1. логически единую, но длинную строку инструкции Dim (или другой инструкции внутри оператора), выходящую, возможно, за правую границу поля, можно разместить на две строки (и более), обозначив перенос; для этого нужно после запятой (разделителя списка описаний переменных) или по тексту другой инструкции вставить пробел, знак подчерк, а далее, нажав клавишу Enter, перенести остаток текста строки на следующую строку поля (для наглядности рекомендуется сместить перенесенный текст вправо под аналогичные элементы списка описаний переменных);

  2. для размещения всего текста на виду в поле редактирования по вертикали можно размещать в одной строке поля по несколько коротких записей операторов, разделяя их внутри строки двоеточием (в конце строки перед следующей строкой операторов двоеточие не ставить).


  1. Сохранить вновь созданный проект, выполнить заложенную в него программу и в конце работы закрыть файл.

  2. Скопировать в бригадную папку:

  • в вычислительном центре из папки Х:\Программы каф. ПМ и САПР\Наумов\VBA,

  • на кафедре ПМ и САПР из папки \Naumov\VBA файлы max2.xls и max3_func.xls.

  1. Открыть сначала файл max2.xls, а в нем – программную реализацию проекта вывода максимального из 2-х чисел с помощью структурированной программы, состоящей из главной (командной, вызывающей) подпрограммы с именем «CmdРешение» и вспомогательной (вызываемой, содержащей описание выполняемых действий) подпрограммы с именем «Анализ».

  2. Ознакомиться с содержанием программы «Выбор максимального числа из двух чисел с помощью структурированной программы, состоящей из главной и вспомогательной подпрограмм»

Вспомогательная подпрограмма (описание)

Private Sub Анализ (Byval x As Integer, └┘–

Byval y As Integer, └┘–

ByRef r As Integer)

If x>y Then

r = x

Else

If x<y Then Вложенный оператор

r = y

Else Блок из 2-х операторов

МsgBox “числа равные”: r = x

End If

End If

End Sub

Главная подпрограмма

Private Sub CmdРешение_ Click ()

Dim a As Integer, b As Integer, └┘–

maximum2 As Integer

a = CInt (Text1.Text)

b = CInt (Text2.Text)

Анализ a, b, maximum2 Вызов вспомогательной подпрограммы

Text3.Text= maximum2

End Sub

Пояснения.

В главной подпрограмме помещен вызов вспомогательной подпрограммы с именем «Анализ». После имени следует список фактических параметров: «а» и «b» – входные данные, «maximum2» – результат анализа.

В описании вспомогательной подпрограммы помещен блочный условный оператор. В этой подпрограмме фигурируют формальные параметры, соответствующие фактическим параметрам по месту в списке и типу.

Перед именем каждого формального параметра стоит одно из двух ключевых (служебных) слов: ByVal или ByRef. Эти слова определяют статус параметра, а именно условия передачи параметра в подпрограмму и из нее.

Слово ByVal задает передачу по значению (By Value – посредством значения). Параметры такого статуса являются только входными. На их месте при вызове подпрограммы на выполнение в качестве фактических параметров кроме переменных, имеющих присвоенные им значения, могут стоять непосредственно числа и даже арифметические выражения. Значение переменной, переданной по значению, остается в вызывающей подпрограмме неизменным, даже если оно изменялось внутри вызываемой (вспомогательной) подпрограммы.