Файл: Практикум по информатике рекомендовано в качестве учебного пособия.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.03.2024
Просмотров: 338
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
ИЗУЧЕНИЕ СРЕДЫ РАЗРАБОТКИ VISUAL STUDIO
Выполнение индивидуального задания
Логические переменные и операции над ними
Сведения, передаваемые в событие
Порядок выполнения индивидуального задания
Как строится график с помощью элемента управления Chart
Выполнение индивидуального задания
Отображение графических файлов
Формирование задержки с помощью таймера
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ПОВЫШЕННОЙ СЛОЖНОСТИ
ПРИЛОЖЕНИЕ 1. СВОЙСТВА ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
ПРИЛОЖЕНИЕ 2. СОБЫТИЯ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
ПРИЛОЖЕНИЕ 3. МЕТОДЫ ДЛЯ РАБОТЫ СО СТРОКАМИ
Индивидуальное задание
Общая часть задания: сформировать массив из 100 случайных чи- сел. Выполнить простой поиск элемента, подсчитать количество итера- ций. Отсортировать массив всеми рассмотренными методами и посчи- тать количество итерация для каждого метода. Выполнить поиск элемента методом дихотомии, подсчитать количество итераций. Сде- лать выводы.
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ПОВЫШЕННОЙ СЛОЖНОСТИ
Для решения геометрических задач повышенной сложности необ- ходимо:
-
знать, как представляются на плоскости такие геометрические объ- екты, как точка, прямая, отрезок и окружность; -
уметь находить уравнение прямой, соединяющей две заданные точки; -
уметь определять координаты точки пересечения двух прямых; -
знать, как провести перпендикуляр к прямой или определить, яв- ляются ли прямые параллельными; -
уметь находить скалярное и векторное произведения; -
находить площадь многоугольника; -
уметь работать с фигурами на плоскости.
Напомним основные моменты, связанные с этими понятиями. Каждую точку плоскости можно считать вектором с началом в точ-
ке (0, 0). Обозначим через a= (x, y) вектор с координатами (x, y). Длина
вектора (его модуль) вычисляется по формуле a .
Скалярное произведение
двух векторов – это число, равное про- изведению модулей этих векторов на косинус угла между ними, (a,b) = |a| · |b| · cos φ. Если вектор a имеет координаты (x1, y1), а вектор bкоординаты – (x2, y2), то скалярное произведение вычисляется по фор- муле (a,b) = x1 · x2 + y1 · y2.
Рис.16.1.Иллюстрациякскалярномупроизведениювекторов
Заметим, что если угол φ острый, то скалярное произведение (a, b) > 0, если угол φ тупой, то (a, b) < 0. Если два вектора перпендику- лярны, то их скалярное произведение равно нулю.
Векторным произведением двух векторов aи bназывается вектор
[a× b], такой, что
-
длина его равна |[a× b]| = |a| · |b| · sin φ; -
вектор [a× b] перпендикулярен векторам aи b; -
вектор [a × b] направлен так, что из его конца кратчайший поворот от a к b виден происходящим против часовой стрелки.
Длина векторного произведения равна площади параллелограмма, построенного на векторах a и b.
Через координаты векторов a и b векторное произведение выража- ется следующим образом:
i
[a× b] = x1
x2
j k
y1 z1
y2 z2
= (y1 · z2 – z1 · y2) i+ (x1 · z2 – z1 · x2) j+ (x1 · y2 – y1 · x2) k,
где i, j, k– единичные вектора осей Ox, Oy, Ozсоответственно.
При решении задач на плоскости координаты z1 и z2 равны нулю.
В этом случае [a× b] = (x1 · y2 – x2 · y1)· k.
Если вектор aобразует с осью Охугол α, а вектор b– угол β, то для ска- лярного произведения справедлива формула [a × b] = (|a| · |b| · sin(β – α))· k. Это означает, что для ненулевых векторов векторное произведение равно нулю тогда и только тогда, когда векторы параллельны. Если поворот от вектора ак вектору bпо наименьшему углу выполняется против часовой стрелки, то [a× b] > 0, если по часовой стрелке, то [a× b] < 0.
Рис.16.2.Иллюстрацияквекторномупроизведению
Рассмотрим задачи, при решении которых используются скалярное и векторное произведения.
Задача 1. «Штраф за левые повороты» [1]. В городе Х водителямзапрещено выполнять левые повороты. За каждый такой поворот во-дительдолженуплатитьштрафвразмереМрублей.Дляслежкиза водителями в городе установлена компьютерная система, фикси-рующая координаты автомобиля в начале движения, в конце движения
иво времяповорота.
Исходныеданные: N– количество зафиксированных координат авто- мобиля, (xi, yi) – координаты автомобиля в процессе движения, i= 1, 2, …, N, где (x1, y1) – точка начала движения, (xN, yN) – последняя точка маршрута автомобиля.
Требуется по заданной последовательности координат движения вычислить сумму штрафа водителя.
(xi+1, yi+1)
(xi, yi)
(xi-1, yi-1)
Рис.16.3.Иллюстрациякзадаче«Штрафзалевыеповороты»
Траекторию движения автомобиля можно представить в виде ло- маной, состоящей из направленных отрезков из точек (xi, yi) в точки (xi+1, yi+1), i = 1, 2,…, N–1. Поворот считается левым, если направление текущего отрезка пути ai+1 меняется относительно предыдущего отрезка aiв левую сторону, т. е. против часовой стрелки.
Таким образом, решение задачи сводится к вычислению количества пар участков пути aiи ai+1, для которых выполняется условие [ai× ai+1] > 0. Координаты векторов aiи ai+1
вычисляются через координаты точек (xi, yi): ai= (xi–xi–1, yi–yi–1), ai+1 = (xi+1 – xi, yi+1 – yi), следовательно,
[ai× ai+1] = (xi–xi–1) (yi+1 –yi) – (yi–yi–1)(xi+1 – xi), i= 2, …, N– 1.
Задача 2. «Здесь будет город-сад». Жители одного дома города Хрешиливысадитьусебяводворенесколькодеревьев.Таккакжильцыне смогли договориться, как должны быть расположены посадки, токаждый посадил дерево в том месте двора, где ему захотелось. Послепроведения посадок полученный сад решили обнести забором. Но покадоскинепривезли,деревьяобвязалиоднойдлиннойверевкой.
Исходная информация: N – количество деревьев в саду, (xi, yi) – ко- ординаты деревьев, i = 1, 2, …, N. Так как были высажены молодые са- женцы, то их толщиной можно пренебречь.
Требуется определить, к каким из посаженных деревьев надо при- вязать веревку так, чтобы все деревья оказались внутри обнесенной зо- ны, а длина веревки была минимальная.
Эта и подобные ей задачи сводятся к определению для заданного множества точек на плоскости выпуклой оболочки, то есть выпуклого многоугольника с вершинами в некоторых точках из заданного множе-