Профессиональное программирование на языке C# Лекция 2 «Правый поворот» Доктор физ.-мат. наук, профессор Р.В. Шамин Сахалинский филиал Дальневосточного федерального университета Кафедра прикладной информатики и математики Сахалинский научный центр Институт морской геологии и геофизики ДВО РАН
План сегодняшней лекции: Понятия переменных в C# Простейшее использование функций Методы рисования в Windows средствами GDI+.NET Понятия о событиях в Windows Мультипликация методами C# Что мы с вами сегодня создадим? Улыбку Чеширского кота Машинку, катающуюся по экрану …
Понятие переменных в C#: Переменная – это основное понятие в программировании! Джон фон Нейман – автор концепции современного программирования: данные отделены от исполняемых команд Переменная – это ячейка памяти для хранения данных, которые могут быть модифицированы по ходу выполнения программы Присвоение:a = 120основная операция! C# - строго типизированный язык программирования! перед использованием переменной нужно: объявить переменную указать ее тип В C# все переменные являются объектами, но об этом потом…
Типы переменных: Скалярные типы переменных: числовые символьные логические Составные типы переменных: массивы классы перечисления Помним, что каждая переменная – это объект класса и ссылка! Числовые: целый тип: int / long / uint дробные: float / double Символьные: символ: char строка: string / StringBuilder Логические: булев тип: bool Объявление переменных: int a; long b = 120; double c = ; float d = 2*2; char e = A; string s = Мама мыла раму; string p bool r = true; bool q = false; Пустой тип: void
Понятие функции: Функция (процедура, подпрограмма) – это отдельный код, который выполняется только при вызове его из другого программного кода. Код функции – замкнутый код, независящий от других участков программы. Функция имеет входные параметры и возвращаемое значение. int Summa(int a, int b) { int c; c = a + b; return c; } Определение функции: void Print(string name) { string s = Привет, + Name; Console.Writeln(s); } В C# все функции являются членами классов, поэтому эти функции называются методами!
Как рисуют под Windows? Рисуют на холсте Canvas (Device Context) – аппаратно- независимая технология. Линии рисуют перьями (Pen), фигуры закрашивают кистями (Brush), тексты пишут шрифтами (Font). Принципиальный момент! Оконные координаты: Преобразование из классических: Единица измерения - пиксель Обычно используют относительные координаты – каждый холст принадлежит какому-нибудь окну, а окном в Windows является почти все, что видимо – окна приложений, элементы управления и т.д. Сами окна тоже часто позиционируются относительно родительского окна.
Проба пера: Инструменты – методы холста Clear – очищает холст и заливает все одним цветом DrawArc – рисует дугу, часть эллипса DrawEllipse / FillEllipse – рисует эллипс DrawLine – рисует линию DrawLines – рисует ломанную DrawPie / FillPie – рисует сектор эллипса DrawPoligon / FillPoligon – рисует многоугольник DrawRectangle / FillRectangle – рисует прямоугольник DrawString – пишет графический текст
Еще один момент: Преобразование координат Удобно рисовать в относительных пропорциях, отображая его в реальности холста. Пусть наш рисунок на листе (-Xm, Xm)x(-Ym, Ym) с центром (0, 0). А холст имеет ширину = W, высоту = H. Код для преобразования:
Событийно-управляемая система: Программный код может вызываться явно из другого кода, либо в результате наступления события. События – это клавиатура, мышь, сообщения от операционной системы и так далее. Каждое окно в Windows может обрабатывать различные события. Рассмотрим событие – onPaint. Это событие возникает, когда необходимо перерисовать окно. Например, если окно было перекрыто другим окном или рисуется впервые. Можно вызвать это событие вручную с помощью метода Invalidate() Вывод: Рисовать на форме нужно в обработчике события onPaint! Тогда наш рисунок всегда будет на виду!
Почему нужно поворачивать направо? Компьютеры и программирование – это торжество правой идеи! Нет ничего лучше свободной конкуренции для прогресса и цивилизации Правый поворот – это прогресс и цивилизация Программирование позволяет строить свое индивидуальное будущее! Будьте творческими и свободными! Помните, что сейчас неминуемая третья волна, поэтому своевременность – это требование любого успеха. Поворот налево – это тупик.
Вспомним три шага успеха: Не бойтесь, творите! Творите с целью! Имея цель – общайтесь! «Бог ждет от человека творческого акта как ответ человека на творческий акт Бога» Николай Бердяев Очевидно, что смысл человека – в творчестве! Зачем ребенок играет? – он творит! Нет ничего интереснее нового, своего! Успех = ясность цели + целеустремленность Для настоящего успеха нужно образование и воля, желание успеха. Будьте конкурентоспособнее – сильнее!
IP / Labs предлагает: Формирование команд: 1.Научное программирование 2.Веб-программирование 3.Программирование для мобильных устройств Участие в научной работе Института морской геологии и геофизики ДВО РАН: Интересная работа в профессиональном молодежном коллективе из Москвы, Нижнего Новгорода, Новосибирска и Южно-Сахалинска Написание научных статей, выступление на международных конференциях, защита диссертации – возможность обучения / работы заграницей… Наша основная область – это исследования волн-убийц в океане. Основной метод – компьютерное моделирование и вычислительные эксперименты.