Материал: posobie_po_informatike_Chast1_Word

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Содержание отчета

Отчет должен содержать:

  • номер, название и цель работы;

  • краткую теоретическую часть, включающую краткое изложение общих понятий, связанных с визуальным подходом к программированию: форма, объекты формы, свойства и методы объектов формы, подпрограммы, их связь с объектами формы через наступление определенных событий;

  • результаты выполнения работы согласно заданию, выданному преподавателем, а именно, текст составленных программ с пояснениями к ним, структуру окна формы задачи, описание действий по выполнению программ;

  • заключение по работе.

Контрольные вопросы

1. Объясните термин «объектно-ориентированное программирование».

2. Дайте определение алгоритма, программы, языка программирования.

3. Назовите элементы языка VBA, приоритеты операций в VBA.

4. Какой элемент управления формы может не только отображать текст, но и получать его от пользователя?

5. Какую функцию выполняют события в Visual Basic?

Лабораторная работа №15 Редактор vba. Условный оператор. Подпрограммы

Цель работы:

  • изучить основы компьютерной логики, познакомиться с алгоритмом типа «ветвление» и условным оператором If…Then…Else;

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

Теоретическая часть

Как правило, алгоритмы обработки информации и реализующие их программы содержат проверки каких-либо условий, от которых зависит последующее действие. Для этого предназначен условный оператор, который имеет вид (см.рис. 56).

If условие Then инструкция 1 Else инструкция2

(если) (истинно) (то) (иначе)

Рис.56. Общий формат условного оператора

Этим оператором реализуется алгоритм типа «ветвление». Работает условный оператор следующим образом:

  1. Проверяется условие

  2. Если условие истинно, то исполняется инструкция 1

  3. Если условие ложно, то исполняется инструкция 2

В инструкциях, помещаемых в ветви Then или Else, обычно фигурируют выполняемые операторы. Ветвь Else может отсутствовать. В качестве условия может быть использовано любое логическое выражение со знаком > (больше), < (меньше), = (равно), > = (больше либо равно), < = (меньше либо равно), <> (не равно).

В каждой ветви может быть как один оператор, так и блок операторов, разделённых при линейной (строчной) записи двоеточием. Приведенный выше формат является форматом строчного условного оператора. Его удобно использовать в случае, когда в каждой ветви помещается по одному оператору. Иначе будет необходимо организовать перенос (через пробел знаком «подчерк») единой логически строки записи на вторую или несколько строк текста программы.

При помещении в ветви нескольких операторов удобнее (и это придаёт больше наглядности) использовать блочный условный оператор, имеющий следующий формат:

If условие Then

блок инструкций

Else

блок инструкций

End If

Начало (заголовок) блочного условного оператора (служебные слова If, Then и условие между ними), а также служебное слово Else и обозначение конца оператора End If помещаются в отдельные строки.

При включении в блок инструкций нескольких операторов можно размещать их по два или три и более, если они короткие, в одной или нескольких строках, разделяя внутри строки двоеточиями. Для наглядности связи рекомендуется помещать слово Else под соответствующим словом Then.

Допускается вложенность условного оператора в другой условный оператор (в любую ветвь внешнего условного оператора; обычно – в ветвь Else), когда требуется дополнительное ветвление.

Оборудование, инструменты и приборы

ПЭВМ, программное обеспечение Microsoft Office (Excel 2007).

Варианты заданий

Составить алгоритм, эскиз окна формы и программный код для решения задач, приведенных в таблице 3.2.

Таблица 3.2

Варианты заданий

№

варианта

Задание

1

2

Ввести два целых числа a, b. Меньшее из них заменить полусуммой, а большее – удвоенным произведением. Вывести новые значения a, b.

Решить задачу преобразования двух неравных чисел: большее число уменьшить на 2, а меньшее утроить и вывести результат. В окне формы разместить надписи и поля для ввода исходных данных и вывода результатов.

Решить квадратное уравнение.

Ввести четыре вещественных числа a, b, c, d. Если а  b  c  d, то каждое число заменить наибольшим из них; если a > b > c > d, то числа оставить без изменения; в противном случае все числа заменить их квадратами. Вывести новые значения a, b, c, d.

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

1

2

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

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

Ввести координаты x1, y1 и x2, y2 двух точек на плоскости. Определить принадлежат ли эти точки одной четверти.

Ввести координаты x1, y1 и x2, y2 левой верхней и правой нижней вершин прямоугольника, а также координаты x, y произвольной точки. Проверить правильность ввода координат прямоугольника. При неверном вводе этих координат вывести сообщение, а при верном – определить принадлежность точки данному прямоугольнику.

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

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

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

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

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

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

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

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

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

1

2

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

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

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

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

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

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

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

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

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

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

1

2

26.

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

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

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

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

Источник: https://files.student-it.ru/previewfile/281619