Файл: Практикум по информатике рекомендовано в качестве учебного пособия.docx

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

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

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

Добавлен: 28.03.2024

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

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

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

СОДЕРЖАНИЕ

ИЗУЧЕНИЕ СРЕДЫ РАЗРАБОТКИ VISUAL STUDIO

Настройка формы

Размещение надписей

Запуск и работа с программой

Индивидуальные задания

Структура приложения

Работа с проектом

Ввод/вывод данных в программу

Пример написания программы

Выполнение индивидуального задания

Логические переменные и операции над ними

Индивидуальные задания

Операторы организации циклов

Цикл с параметром

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

Индивидуальные задания

Классы и объекты

Область видимости

Сведения, передаваемые в событие

Индивидуальные задания

Строковый тип данных

Порядок выполнения индивидуального задания

Индивидуальные задания

Работа с массивами

Случайные числа

Индивидуальные задания

Двухмерные массивы

Индивидуальные задания

Как строится график с помощью элемента управления Chart

Выполнение индивидуального задания

Индивидуальное задание

Движение по траектории

Индивидуальное задание

Отображение графических файлов

Простой графический редактор

Индивидуальное задание

Общие понятия

Параметры по умолчанию

Индивидуальное задание

Общие понятия

Формирование задержки с помощью таймера

Индивидуальное задание

Общие понятия

Быстрая сортировка

Индивидуальное задание

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ПОВЫШЕННОЙ СЛОЖНОСТИ

ПРИЛОЖЕНИЕ 1. СВОЙСТВА ЭЛЕМЕНТОВ УПРАВЛЕНИЯ

ПРИЛОЖЕНИЕ 2. СОБЫТИЯ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ

ПРИЛОЖЕНИЕ 3. МЕТОДЫ ДЛЯ РАБОТЫ СО СТРОКАМИ

ПРИЛОЖЕНИЕ 4. МЕТОДЫ ДЛЯ РАБОТЫ С МАССИВАМИ

СПИСОК ЛИТЕРАТУРЫ

Индивидуальное задание


Общая часть задания: сформировать массив из 100 случайных чи- сел. Выполнить простой поиск элемента, подсчитать количество итера- ций. Отсортировать массив всеми рассмотренными методами и посчи- тать количество итерация для каждого метода. Выполнить поиск элемента методом дихотомии, подсчитать количество итераций. Сде- лать выводы.


ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ПОВЫШЕННОЙ СЛОЖНОСТИ


Для решения геометрических задач повышенной сложности необ- ходимо:

  1. знать, как представляются на плоскости такие геометрические объ- екты, как точка, прямая, отрезок и окружность;

  2. уметь находить уравнение прямой, соединяющей две заданные точки;

  3. уметь определять координаты точки пересечения двух прямых;

  4. знать, как провести перпендикуляр к прямой или определить, яв- ляются ли прямые параллельными;

  5. уметь находить скалярное и векторное произведения;

  6. находить площадь многоугольника;

  7. уметь работать с фигурами на плоскости.


Напомним основные моменты, связанные с этими понятиями. Каждую точку плоскости можно считать вектором с началом в точ-

ке (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= (xixi–1, yiyi–1), ai+1 = (xi+1 xi, yi+1 yi), следовательно,

[ai× ai+1] = (xixi–1) (yi+1 yi) (yiyi–1)(xi+1 xi), i= 2, …, N 1.
Задача 2. «Здесь будет город-сад». Жители одного дома города Хрешиливысадитьусебяводворенесколькодеревьев.Таккакжильцыне смогли договориться, как должны быть расположены посадки, токаждый посадил дерево в том месте двора, где ему захотелось. Послепроведения посадок полученный сад решили обнести забором. Но покадоскинепривезли,деревьяобвязалиоднойдлиннойверевкой.

Исходная информация: N – количество деревьев в саду, (xi, yi) – ко- ординаты деревьев, i = 1, 2, …, N. Так как были высажены молодые са- женцы, то их толщиной можно пренебречь.

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

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