- •Утверждаю
- •Программирование на с#
- •Томск 2012
- •Рецензент доц., канд.Физ.-мат. Наук в.И.Рейзлин
- •Лабораторная работа № 1. Изучение среды разработкиVisualStudio
- •Интегрированная среда разработчика VisualStudio
- •1.2. Настройка формы
- •1.3. Размещение элементов управления на форме
- •1.4. Размещение строки ввода (TextBox)
- •1.5. Размещение надписей (Label)
- •1.6. Написание программы обработки события
- •1.7. Написание программы обработки события нажатия кнопки (Click)
- •1.8. Написание программы обработки события загрузки формы (Load)
- •1.9. Запуск и работа с программой
- •1.10. Динамическое изменение свойств
- •1.11. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №2. Программирование линейных алгоритмов
- •2.1. Структура приложения
- •2.2. Работа с проектом
- •2.3. Описание данных
- •2.4. Ввод/вывод данных в программу
- •2.5. Арифметические действия и стандартные функции
- •2.6. Пример написания программы
- •2.7. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №3. Программирование разветвляющихся алгоритмов
- •3.3. Кнопки-переключатели RadioButton
- •3.4. Пример написания программы
- •3.4.1. Создание формы
- •3.4.2. Создание обработчиков событий FormСreate и Botton1Сlick
- •3.5. Выполнение индивидуального задания
- •Лабораторная работа №4 Программирование циклических алгоритмов
- •4.1. Операторы организации циклов
- •4.2. Цикл с предусловием while
- •4.3. Цикл с постусловием do while
- •4.4. Цикл с параметром for
- •4.2. Средства отладки программ
- •4.3. Порядок выполнения задания
- •4.4. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа № 5. Программирование с использованием строк
- •5.1. Тип данных string
- •5.2. Компонент ListBox
- •5.3. Порядок выполнения индивидуального задания
- •5.4. Индивидуальные задания
- •Лабораторная работа № 6. Программирование с использованием одномерных массивов
- •6.1. Работа с массивами
- •6.2. Случайные числа
- •6.3. Порядок выполнения индивидуального задания
- •6.3. Варианты заданий
- •Лабораторная работа 7. Программирование с использованием многомерных массивов
- •7.1. Двухмерные массивы
- •7.2. Элемент управления DataGridView
- •7.3. Порядок выполнения задания
- •7.4. Индивидуальные задания
- •Лабораторная работа 8. Программирование с использованием средств для отображения графической информации
- •8.1. Как строится график с помощью компонента Chart
- •8.2. Пример написания программы
- •8.3. Выполнение индивидуального задания
- •Лабораторная работа 9. Программирование графики
- •9.1. Сообщение wm_paint
- •9.2. Событие Paint
- •9.3. Объект Graphics для рисования
- •9.4. Методы и свойства класса Graphics
- •9.5. Выполнение индивидуального задания
- •Лабораторная работа 10. Простейшая анимация
- •10.1. Работа с таймером
- •10.2. Создание анимации
- •10.3. Выполнение индивидуального задания
- •Лабораторная работа 11. Обработка изображений
- •11.1. Отображение графических файлов
- •11.2. Компоненты OpenFileDialog и SaveFileDialog
- •11.3. Простой графический редактор
- •11.4. Выполнение индивидуального задания
- •Лабораторная работа 12. Методы
- •12.1. Общие понятия
- •12.2. Перегрузка методов
- •12.3. Параметры по умолчанию
- •12.4. Передача параметров по значению и по ссылке
- •12.5. Выполнение индивидуального задания
- •Лабораторная работа 13. Сортировка
- •13.1. Общие понятия
- •13.2. Алгоритмы сортировки. Метод пузырька
- •13.3. Сортировка выбором
- •13.4. Быстрая сортировка
- •13.5. Поиск элемента
- •13.6. Выполнение индивидуального задания
- •ПРиложение 1. Команды основного меню
- •ПРиЛожение 2. Свойства компонентов п2.1. Общие свойства компонентов
- •Свойство Name
- •Свойство Dock
- •Свойство Margin
- •Свойство Color
- •Свойство Cursor
- •Свойство Size
- •Приложение 3. Простые типы данных п3.1.Целые типы
- •П3.2.Логические типы
- •П3.3.Символьный тип
- •П3.4. Перечисляемый тип
- •П3.5. Вещественные типы
- •Пз.6. Тип дата-время
- •Приложение 4. Процедуры и функции для работы со строками
- •Приложение 5. Математические формулы
- •Литература
- •Программирование в среде delphi
10.3. Выполнение индивидуального задания
Изучите с помощью справки MSDNметоды и свойства классовGraphics,Color,PenиSolidBrush. Создайте собственное приложение выводящий на форму рисунок, состоящий из различных объектов (линий, многоугольников, эллипсов, прямоугольников и пр.), не закрашенных и закрашенных полностью. Используйте разные цвета и стили линий (сплошные, штриховые, штрих-пунктирные).
Создайте программу, показывающую пульсирующее сердце.
Создайте приложение, отображающее вращающийся винт самолета.
Разработайте программу анимации двигающегося человечка.
Создайте программу, показывающую движение окружности по синусойде.
Создайте приложение, отображающее движение окружности по спирали.
Разработайте программу анимации падения снежинки.
Создайте программу, показывающую скачущий мячик.
Создайте приложение, отображающее движение окружности вдоль границы окна. Учтите возможность изменения размеров окна.
Разработайте программу анимации летающего бумеранга.
Создайте программу, показывающую падение нескольких звезд одновременно.
Создайте приложение, отображающее хаотичное движение звезды в окне.
Разработайте программу анимации взлета ракеты. Старт осуществялется по нажатию специальной «красной» кнопки.
Создайте программу, показывающую движение окружности вдоль многоугольника. Число вершин вводится пользователем до анимации.
Создайте приложение, отображающее броуновское движение молекулы в окне.
Разработайте программу анимации движения планет в солнейчной системе.
Создайте программу, показывающую движение квадратика по траектории, состоящей из 100 точек, и хранящихся в специальном массиве.
Создайте приложение, имитирующие механические часы.
Разработайте программу анимации падения несколько листков с дерева. Движение не должно быть линейным.
Создайте программу, показывающую движение окружности по спирале с плавно изменющейся сокростью.
Создайте приложение, отображающее движение автомобиля с вращающимимся колесами.
Лабораторная работа 11. Обработка изображений
Цель лабораторной работы:изучить возможностиVisualStudioпо открытию и сохранению фалйов. Написать и отладить программу для обработки изображений.
11.1. Отображение графических файлов
Обычно для отображения точечных рисунков, рисунков из метафайлов, значков, рисунков из файлов в формате BMP, JPEG, GIF или PNG используется объектPictureBox,т.е. элемент управленияPictureBoxдействует как контейнер для картинок. Можно выбрать изображение для вывода, присвоив значение свойствуImage. СвойствоImageможет быть установлено в окнеСвойстваили в коде программы, указывая на рисунок, который следует отображать.
Элемент управления PictureBoxсодержит и другие полезные свойства, в том числе:AutoSizeопределяющее, будет ли изображение растянуто в элементеPictureBox, иSizeMode, которое может использоваться для растягивания, центрирования или увеличения изображения в элементе управленияPictureBox.
Перед добавлением рисунка к элементу управления PictureBoxв проект обычно добавляется файл рисунка в качествересурса3. После добавления ресурса к проекту можно повторно использовать его. Например, может потребоваться отображение одного и того же изображения в нескольких местах.
Необходимо отметить, что поле Imageсамо является классом для работы с изображениями, у которого есть свои методы. Например, методFromFileиспользуется для загрузки изображения из файла. Кроме классаImageсуществует классBitmap, коотрый расширяет возможности классаImageза счет дополнительных методов для загрузки, сохранения и использования растровых изображений. Так методSaveклассаBitmapпозволяет сохранять изображения в разных форматах, а методыGetPixelиSetPixelпозволяют получить доступ к отдельным пикселям рисунка.