116
Министерство образования и науки Российской Федерации Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова И.В. Шкуропадский Основы программирования Учебно-методическое пособие по изучению курса, для подготовки к практическим и семинарским занятиям и выполнению лабораторных работ (для бакалавров направления подготовки «Бизнес- информатика» и «Прикладная математика») Новочеркасск ЮРГПУ (НПИ) 2015

2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

Министерство образования и науки Российской Федерации Южно-Российский государственный политехнический университет

(НПИ) имени М.И. Платова

И.В. Шкуропадский

Основы программирования

Учебно-методическое пособие по изучению курса, для подготовки к практическим

и семинарским занятиям и выполнению лабораторных работ (для бакалавров направления подготовки «Бизнес-

информатика» и «Прикладная математика»)

Новочеркасск ЮРГПУ (НПИ)

2015

Page 2: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

2

УДК 004.41 (076.5) ББК 32.973-018

Ш 66

Рецензент – канд. техн. наук, доц. С.Ф. Сафаров Шкуропадский И.В.

Ш 66 Основы программирования: учебно-методическое пособие по изучению курса, для подготовки к практическим и семи-нарским занятиям и выполнению лабораторных работ (для бакалавров направления подготовки «Бизнес-информатика» и «Прикладная математика»)/ И.В. Шкуропадский; Южно-Российский государственный политехнический универси-тет (НПИ) имени М.И. Платова. – Новочеркасск: ЮРГПУ (НПИ), 2015. – 116 с.

Пособие содержит учебно-методические материалы по курсу «Осно-

вы программирования»: краткое изложение содержания лекционного кур-са, материалы для подготовки к семинарам, описание типовых задач и ме-тодов их решения, описание лабораторного практикума, методические ука-зания к выполнению лабораторных работ, оформлению отчёта и подготов-ке к его защите, контрольные вопросы, библиографический список.

Пособие предназначено для использования в учебном процессе при подготовке бакалавров по направлениям 38.03.05 – «Бизнес-информатика» и 01.03.04 – «Прикладная математика».

УДК 004.41 (075.8) ББК 32.973-018

© Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, 2015

Page 3: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

СОДЕРЖАНИЕ

ЧАСТЬ I. КРАТКИЙ КОНСПЕКТ ЛЕКЦИЙ

1. ИНФОРМАЦИЯ И ИНФОРМАТИКА. ПРОГРАММЫ.

ПРОГРАММИРОВАНИЕ ............................................................ 6

1.1. Системы счисления ............................................................... 6

1.2. Программы. Виды программного обеспечения ................... 7

1.3. Прикладное программное обеспечение ............................... 9

1.4. Языки программирования высокого уровня...................... 10

2. СОВРЕМЕННЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ....................................... 12

2.1. Процесс разработки программного обеспечения .............. 12

2.2. Жизненный цикл программной системы ........................... 13

2.3. Методология Microsoft Solutions Framework ..................... 15

3. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ .......................... 17

3.1. Общая характеристика языка Паскаль ............................... 17

3.2. Типы данных в языке Паскаль ............................................ 19

3.3. Язык программирования PascalABC .................................. 21

4. ПРОГРАММИРОВАНИЕ ДЛЯ ПЛАТФОРМЫ MICROSOFT .NET FRAMEWORK ........................................... 23

4.1. Платформа Microsoft .NET Framework .............................. 23

4.2. Интегрированная среда разработки Microsoft Visual Studio .................................................................................... 24

4.3. Интегрированная среда разработки PascalABC.NET ........ 26

5. ЯЗЫК ПРОГРАММИРОВАНИЯ C#......................................... 27

5.1. Общая характеристика языка C# ........................................ 27

5.2. Объектно-ориентированное программирование ............... 28

5.3. Инкапсуляция. Наследование. Полиморфизм ................... 30 6. РАЗРАБОТКА КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ НА

ЯЗЫКЕ ПРОГРАММИРОВАНИЯ C# ...................................... 32

Page 4: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

4

6.1. Структура программы ......................................................... 32

6.2. Элементы синтаксиса .......................................................... 33

6.3. Типы данных ........................................................................ 35

6.4. Операторы ............................................................................ 36

7. РАЗРАБОТКА ПРИЛОЖЕНИЙ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ........................................ 39

7.1. Проектирование пользовательского интерфейса .............. 39

7.2. Создание обработчиков событий ....................................... 40

7.3. Обработка исключений ....................................................... 41

7.4. Библиотека визуальных компонентов ............................... 42

ЧАСТЬ II. МАТЕРИАЛЫ ДЛЯ ПОДГОТОВКИ К СЕМИНАРАМ И ПРАКТИЧЕСКИМ ЗАНЯТИЯМ МЕТОДИЧЕСКИЕ УКАЗАНИЯ К СЕМИНАРАМ .................... 44

1. ПРОГРАММИРОВАНИЕ. МЕТОДОЛОГИИ

ПРОГРАММИРОВАНИЯ .......................................................... 45

2. МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММ ДЛЯ ЭВМ. ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ......................................................................... 48

3.ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ОБЪЕКТНО-

ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ ................. 51

4. ПЛАТФОРМА MICROSOFT .NET FRAMEWORK. МЕТОДОЛОГИЯ БЫСТРОЙ РАЗРАБОТКИ ПРИЛОЖЕНИЙ RAD ................................................................ 55

5. ЯЗЫК ПРОГРАММИРОВАНИЯ C# ........................................ 59

6. РАЗРАБОТКА КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ НА

ЯЗЫКЕ C# ................................................................................... 62

Page 5: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

5

7. РАЗРАБОТКА ПРИЛОЖЕНИЙ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ ........................................ 68

ЧАСТЬ III. ЛАБОРАТОРНЫЙ ПРАКТИКУМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ ................................................... 72

Лабораторная работа № 1

ПРОГРАММЫ ДЛЯ ЭВМ. ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ .......................................... 73

Лабораторная работа № 2 СОВРЕМЕННЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ....................................... 78

Лабораторная работа № 3 ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ ................. 82

Лабораторная работа № 4 ПЛАТФОРМА MICROSOFT .NET И ОСНОВЫ РАБОТЫ В СРЕДЕ MICROSOFT VISUAL STUDIO ............................... 90

Лабораторная работа № 5 ЯЗЫК ПРОГРАММИРОВАНИЯ C# ........................................ 94

Лабораторная работа № 6 РАЗРАБОТКА КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ C# ................................................................................. 102

Лабораторная работа № 7 РАЗРАБОТКА ПРИЛОЖЕНИЙ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ ...................................... 106

КОНТРОЛЬНЫЕ ВОПРОСЫ ...................................................... 113

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ......................................... 115

Page 6: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

6

ЧАСТЬ I. КРАТКИЙ КОНСПЕКТ ЛЕКЦИЙ

1. ИНФОРМАЦИЯ И ИНФОРМАТИКА. ПРОГРАММЫ. ПРОГРАММИРОВАНИЕ

1.1. Системы счисления Информатика – это наука о средствах и методах сбора, пе-

редачи, обработки и хранения информации с помощью вычисли-тельной техники.

Информация – это отражение окружающего мира в виде не-которых знаков или сигналов.

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

Система счисления – представление числа определенным набором символов. Системы счисления бывают:

1) единичные; 2) непозиционные (римская); 3) позиционные (десятичная, двоичная, восьмеричная, ше-

стнадцатеричная). Позиционной называется система счисления, в которой ко-

личественное значение каждой цифры зависит от ее места (пози-ции) в числе. Основанием позиционной системы счисления назы-вается возводимое в степень целое число, которое равно количе-ству цифр в данной системе.

Примеры позиционных систем счисления: 1. Двоичная система счисления включает алфавит из двух

цифр: 0 и 1. 2. Восьмеричная система счисления включает алфавит из 8

цифр: 0, 1, 2, 3, 4, 5, 6 и 7. 3. Десятичная система счисления включает алфавит из 10

цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9.

Page 7: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

7

4. Шестнадцатеричная система счисления включает алфавит из 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

В позиционной q-ичной системе счисления действительное число может быть представлено:

а) в развёрнутой форме 1 2 1 0 1

1 2 1 0 1( )n n mq n n mA a q a q a q a q a q a q

. б) в свёрнутой форме

1ni

q ii m

A a q

,

где A – само число; q – основание системы счисления; a – цифры из алфавита системы счисления; n – число целых разрядов числа; m – число дробных разрядов числа.

Сокращённой формой записи действительного числа явля-ется запись в виде:

1 2 1 0 1,n n ma a a a a a . Для перевода целого числа из одной системы счисления в

другую надо выполнить следующий алгоритм: 1. Основание новой системы счисления выразить цифрами

исходной системы счисления. 2. Последовательно выполнять деление данного числа на

основание новой системы счисления, пока не получится частное, меньшее делителя.

3. Полученные остатки перевести в новую систему счисле-ния.

4. Составить число из остатков в новой системе счисления, начиная с последнего остатка.

В вычислительной технике используется кодирование в двоичной системе счисления, т.е. последовательностью цифр «0» и «1».

1.2. Программы. Виды программного обеспечения

Программа – это последовательность команд компьютера, приводящая к решению поставленной задачи.

Программный продукт – это комплекс компьютерных про-грамм, предоставляющих широкий спектр возможностей по оп-

Page 8: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

8

ределенной тематике и использующихся как промышленный то-вар.

Программное обеспечение (ПО) – это совокупность про-грамм, которые могут выполняться на компьютере.

Программа-сервер – это программа, предоставляющая ка-кие-либо услуги по компьютерной сети.

Программа-клиент – это программа, получающая какие-либо услуги по компьютерной сети.

Пакет программ – это совокупность программ со сходным интерфейсом, объединённых производителем, которые выполня-ют различные функции по определённой тематике.

Например, в состав офисного пакета Microsoft Office входят: 1) текстовый процессор Microsoft Word; 2) табличный процессор Microsoft Excel; 3) система управления базами данных Microsoft Access; 4) программа презентационной графики Microsoft

PowerPoint. По сфере использования на ПК компьютерные программы

бывают: 1) системные, обеспечивающие работу всех систем ПК; 2) прикладные, которые позволяют прикладывать возмож-

ности ПК к какой-либо предметной области; 3) инструментальные, содержащие инструменты для созда-

ния новых программ. Программное обеспечение делится на: 1) системное программное обеспечение (СПО); 2) прикладное программное обеспечение (ППО); 3) инструментарий технологии программирования. Системная программа – программный продукт, предостав-

ляющий пользователю вспомогательные услуги по взаимодейст-вию с файловой системой и аппаратным обеспечением.

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

Инструментальная программа – программный продукт, по-зволяющий создавать новые программы с помощью каких-либо языков программирования.

Page 9: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

9

1.3. Прикладное программное обеспечение К прикладным программам относятся: 1. Программы обработки текста (текстовые редакторы и

текстовые процессоры, издательские системы, программы перевода, программы распознавания, программы-корректоры).

2. Программы обработки таблиц и массивов данных (таб-личные процессоры, системы управления базами данных, утилиты баз данных, программы-энциклопедии).

3. Программы обработки графических изображений (графи-ческие редакторы, графические утилиты, программы де-ловой графики, программы презентационной графики, программы инженерной графики, картографические про-граммы, программы анимации).

4. Программы обработки аудио-видеосигналов (звуковые программы, видеопрограммы, системы мультимедиа, программы виртуальной реальности).

5. Программы обработки чисел (программы-калькуляторы, математические системы, статистические системы).

6. Программы обработки знаний (системы искусственного интеллекта, экспертные системы, системы управления ба-зами знаний, обучающие программы, программы тести-рования).

7. Коммуникационные программы (браузеры, почтовые программы, Web-редакторы, клиенты сетевых служб).

8. Программы автоматизации работ (интегрированные паке-ты, органайзеры, системы делопроизводства).

К прикладному программному обеспечению относятся ком-плексы взаимосвязанных программ для решения функциональ-ных и вычислительных задач определённого класса в некоторой предметной области.

Отдельными видами прикладных программ являются: 1) Текстовый редактор – программа для создания и ре-

дактирования текстовых документов. 2) Табличный процессор – программа для создания и обра-

ботки электронных таблиц с данными.

Page 10: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

10

3) Система управления базами данных (СУБД) – про-граммное средство для создания и обработки баз дан-ных.

4) Графический редактор – программа для создания и об-работки рисунков, картинок, графических изображений.

5) Программа презентационной графики – программа для создания и обработки электронных презентаций со слайдами.

6) Программа инженерной графики (или система автома-тизированного проектирования) – программа для созда-ния чертежей, а также для проектирования трёхмерных деталей и сооружений.

7) Картографическая программа (геоинформационная система) – программа для оцифровки снимков местно-сти и для создания на их основе географических карт.

8) Система мультимедиа – программа, позволяющая об-рабатывать текст, рисунки, видео, звук и др. виды ин-формации.

9) Математическая система – программа для математи-ческой обработки числовых данных и для проведения аналитических преобразований.

10) Экспертная система – программа, содержащая знания экспертов в некоторой предметной области и выдающая советы по действиям в конкретных ситуациях.

11) Браузер – программа для просмотра Web-сайтов в сети Интернет и других гипертекстовых документов.

12) Бухгалтерская программа – программа, позволяющая автоматизировать ведение бухгалтерской документации.

1.4. Языки программирования высокого уровня Сложившиеся за последние десятилетия традиции препода-

вания информатики и программирования таковы, что знакомство с языками программирования начинается, как правило, с импера-тивных алгоритмических языков, таких как, например, BASIC, Pascal, C++, C# и др. Императивные языки обычно противопос-тавляются функциональным (Lisp, Haskell, F#) и логическим (Prolog). Каждый из видов языков программирования имеет свои

Page 11: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

11

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

Отличительной чертой программы, написанной на импера-тивном языке программирования, является то, что она описывает процесс вычисления в виде последовательно выполняющихся ин-струкций, изменяющих внутреннее состояние исполнителя про-граммы (например, компьютера). Исторически именно такой им-перативный подход был применён первым для программирова-ния ЭВМ (компьютеров): сначала в виде машинных кодов, а впо-следствии – с помощью языков программирования высокого уровня. В связи с этим понятия «алгоритм», как пошаговое опи-сание процесса выполнения программы, и «алгоритмизация», как процесс разработки алгоритма, стали той фундаментальной осно-вой, на которой строится всё последующее изучение технологий и методологий программирования.

Язык программирования Паскаль (Pascal) – это один из наиболее известных алгоритмических языков программирования общего назначения. Он был создан Никлаусом Виртом как язык, способствующий хорошему стилю программирования, исполь-зующий структурное программирование и структурированные данные. Своё название новый язык получил в честь французского математика, физика, литератора и философа Блеза Паскаля.

Наиболее известной реализацией Паскаля, обеспечившей его широкое распространение и развитие, является язык и среда программирования Turbo Pascal фирмы Borland (с 1983 по 1994 гг.) Впоследствии язык Паскаль стал основой для языка Ob-ject Pascal и профессиональной среды программирования Delphi (среда успешно развивается с 1995 года по настоящее время; пер-воначальное и наиболее известное её название – Borland Delphi). Кроме того существует большое число других компиляторов и сред разработки, поддерживающих язык Паскаль или его диалек-ты (например, Free Pascal, GNU Pascal). Отдельно следует выде-лить версию языка и среду программирования PascalABC.NET, разработанную в Южном федеральном университете и основан-ную на платформе Microsoft .NET Framework.

Page 12: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

12

2. СОВРЕМЕННЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ 2.1. Процесс разработки программного

обеспечения Процесс разработки программного обеспечения – это сово-

купность различных, связанных друг с другом видов деятельно-сти, методов, методик и шагов, используемых для разработки и эволюции программного обеспечения (ПО) и связанных с ним продуктов.

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

Разработка ПО является весьма сложной задачей, процесс решения которой разбивается на определённое количество эта-пов. Одним из ключевых этапов создания ПО является его проек-тирование на основе заданной спецификации.

Спецификация – это набор исходных требований и парамет-ров, которым должно удовлетворять разрабатываемое ПО.

Проект – это проектно-конструкторская и технологическая документация, в которой представлено описание проектных ре-шений по созданию и эксплуатации ПО.

Проектирование – процесс преобразования спецификации (входной информации) в проект ПО (результат проектирования).

Page 13: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

13

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

Жизненный цикл ПО – непрерывный процесс, который на-чинается с момента принятия решения о необходимости создания программной системы и заканчивается в момент её полного изъя-тия из эксплуатации.

Процесс разработки ПО может в точности следовать поло-жениям одной из основных моделей жизненного цикла (ЖЦ), ис-пользовать вариант одной из моделей или опираться на несколько моделей одновременно, преследуя цель использовать достоинст-ва и компенсировать недостатки каждой из моделей. Для по-строения эффективного процесса разработки ПО необходимо иметь представление о свойствах, характеристиках, достоинствах и недостатках различных моделей жизненного цикла.

2.2. Жизненный цикл программной системы Программной системой (ПС) будем считать комплекс свя-

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

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

Существующие методы анализа, разработки и использова-ния сложных систем основаны на применении понятия жизнен-ного цикла (ЖЦ) системы.

Жизненный цикл представляет собой некоторую последова-тельность этапов и совокупность протекающих в течение ЖЦ

Page 14: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

14

процессов. Для каждого этапа определяются: состав и последова-тельность выполняемых работ, получаемые результаты, методы и средства, необходимые для выполнения работ, роли и ответст-венность участников и т.д. Такое формальное описание ЖЦ по-зволяет спланировать и организовать процесс коллективной раз-работки, внедрения и эксплуатации информационной системы и обеспечить управление этим процессом.

Понятие жизненного цикла находит наиболее важное при-менение при организации производственного процесса разработ-ки ПС. Принятые международные и национальные стандарты, регламентирующие ЖЦ ПС, разработаны таким образом, чтобы охватить все множество существующих ПС и все известные ме-тодологии программирования. Для более детального описания и регламентации процесса разработки ПС, а также определения по-следовательности выполнения работ служат модели ЖЦ ПС.

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

В дальнейшем, рассматривая различные модели ЖЦ, для простоты будем использовать следующий набор этапов:

1. Анализ (разработка требований). 2. Проектирование (создание проекта). 3. Реализация (программирование). 4. Тестирование (исправление ошибок). 5. Внедрение (ввод в эксплуатацию). К настоящему времени наибольшее распространение полу-

чили следующие основные модели ЖЦ: 1) каскадная (водопадная) модель и её варианты; 2) инкрементная модель; 3) спиральная модель. Модель ЖЦ является методологической основой для орга-

низации процесса разработки реальной ПС.

Page 15: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

15

2.3. Методология Microsoft Solutions Framework Методология разработки ПО Microsoft Solutions Framework

(MSF) разработана компанией Microsoft на основе своего практи-ческого опыта работы над программными проектами. Методоло-гия описывает подходы и принципы управления людьми и рабо-чими процессами для организации процесса разработки про-граммного обеспечения.

Методология MSF представляет собой согласованный набор концепций, моделей и правил, определяющих процесс разработки ПО. Руководство по MSF структурно состоит из пяти докумен-тов, каждый из которых описывает определённую модель или дисциплину: модель процессов, модель проектной группы, дисци-плину управления проектами, дисциплину управления рисками, дисциплину управления подготовкой.

Методология MSF использует подход, основанный на итера-тивной разработке. Весь ЖЦ проекта протекает в виде последова-тельности итераций, каждая из которых заканчивается выпуском версии. Методология MSF рекомендует вкладывать в первую версию продукта только базовую функциональность и затем на-ращивать ее в следующих версиях. В модели процессов MSF пе-ресмотр функциональности, планов, спецификаций и требований не прекращается до конца проекта и производится после каждой итерации. Такой подход позволяет планировать последующие итерации, учитывая опыт предыдущих, обеспечивая гибкость и устойчивость к изменению требований заказчика.

Элементы каскадной модели ЖЦ реализуются в модели процессов MSF в виде системы вех и фаз.

Вехи – это контрольные точки проекта, характеризующие достижение в его рамках какого-либо существенного (промежу-точного или конечного) результата. В отличие от этапа или ста-дии, которые описывают характер и объём работ, вехи определя-ют цели разработки. Методология MSF предусматривает сле-дующие ключевые вехи:

1. Концепция проекта утверждена. 2. Планы проекта утверждены. 3. Разработка завершена. 4. Готовность решения утверждена.

Page 16: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

16

5. Внедрение завершено. Кроме этого может существовать большое количество про-

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

Фазы – это этапы (стадии) между вехами. Модель процессов MSF включает следующие основные фазы процесса разработки: выработки концепции, планирования, разработки, стабилизации и внедрения.

Фазы в модели процессов MSF по их последовательности, характеру и задачам соответствуют этапам в стандартных кас-кадной и спиральной моделях ЖЦ. Главной особенностью моде-ли процессов MSF является наличие вех – контрольных точек, позволяющих качественно и количественно оценить результат выполнения работ. Таким образом, процесс разработки про-граммного продукта становится более формализованным и управляемым.

Page 17: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

17

3. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

3.1. Общая характеристика языка Паскаль Язык Паскаль был создан Никлаусом Виртом в 1968–

1969 гг. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля. Представляя язык Пас-каль, автор в качестве цели его создания указывал построение не-большого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное про-граммирование и структурированные данные.

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

1. Последовательное (линейное) исполнение – однократное выполнение операций в том порядке, в котором они запи-саны в тексте программы.

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

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

Основные алгоритмические структуры – это типовые конст-рукции, используя которые, можно составить алгоритм решения любой задачи. Использование основных алгоритмических струк-тур является одной из отличительных особенностей структурного программирования. Базовые конструкции могут быть вложены друг в друга произвольным образом, формируя, таким образом,

Page 18: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

18

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

Особенностями языка Паскаль являются строгая типизация и наличие средств структурного (процедурного) программирова-ния. По мнению Вирта, язык должен способствовать дисципли-нированному программированию, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтак-сические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

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

Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с языком программирования Фортран, обладавшим гораздо более существенными недостатками, Пас-каль представлял собой значительный шаг вперёд. К 1980-м го-дам язык Паскаль стал основой для многочисленных учебных программ. В отдельных случаях на его основе были созданы спе-циализированные обучающие языки программирования.

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в язык программи-рования Dephi для интегрированной среды разработки Borland Delphi.

Page 19: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

19

3.2. Типы данных в языке Паскаль Данные, с которыми работает программа, хранятся в опера-

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

Для того чтобы предоставить исполнителю все необходи-мые для выполнения программы сведения в программировании используется понятие «тип данных».

Тип данных однозначно определяет: 1) внутреннее представление данных и, следовательно,

множество их возможных значений; 2) допустимые действия над данными, например: примени-

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

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

По тому, кем и как определяется тип, различают (рис. 3.1): 1) стандартные (встроенные) – это типы, поддерживаемые

компилятором; 2) пользовательские – типы, определяемые программистом

для решения конкретных задач. Стандартные типы данных не требуют предварительного

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

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

Page 20: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

20

Рис. 3.1. Типы данных в языке Паскаль

В языке Паскаль наряду со стандартными (встроенными) типами предусмотрено также определение и использование поль-зовательских типов данных.

Пользовательские типы данных позволяют определять но-вые, более сложные типы данных, основанные на стандартных типах. Стандартные типы данных обычно представляют собой простые, отдельно взятые значения (исключением, однако, явля-ются строки). В отличие от них пользовательские типы данных обычно используются для описания множества значений, обра-зующих определённую структуру данных. В языке Паскаль таки-ми структурами являются, например, массивы (одномерные, дву-мерные и т.д.) и записи. Подобные типы данных называются ещё структурированными.

Page 21: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

21

3.3. Язык программирования PascalABC PascalABC.NET – это система программирования и язык

Pascal нового поколения для платформы Microsoft .NET. Язык PascalABC.NET содержит все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщенные классы, сборку мусора, лямбда-выражения, а также некоторые средства параллельности. Система PascalABC.NET включает в себя также простую интег-рированную среду, ориентированную на эффективное обучение современному программированию.

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

Язык PascalABC.NET включает в себя практически весь стандартный язык Паскаль, а также большинство языковых рас-ширений языка Delphi. Однако, этих средств недостаточно для современного программирования. Поэтому PascalABC.NET до-полнен рядом конструкций, подпрограмм, типов и классов, что позволяет создавать легко читающиеся приложения средней сложности.

PascalABC.NET опирается на передовую платформу про-граммирования Microsoft.NET, которая обеспечивает язык PascalABC.NET огромным количеством стандартных библиотек и позволяет легко сочетать его с другими .NET-языками: C#, Visual Basic.NET, управляемый C++, и др. Платформа .NET предостав-ляет также такие языковые средства как единый механизм обра-ботки исключений, единый механизм управления памятью в виде сборки мусора, а также возможность свободного использования классов, наследования, полиморфизма и интерфейсов между мо-дулями, написанными на разных языках. Язык PascalABC.NET использует большинство средств, предоставляемых платформой .NET: единая система типов, классы, интерфейсы, исключения, перегрузка операций, обобщенные типы, методы расширения, лямбда-выражения. Язык позволяет программировать в классиче-ском процедурном стиле, в объектно-ориентированном стиле и

Page 22: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

22

содержит множество элементов для программирования в функ-циональном стиле.

Ключевыми особенностями языка программирования и ин-тегрированной среды разработки PascalABC.NET являются:

1. Расширения языка Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автооп-ределение типа при описании, встроенные множества произвольных типов, case по строкам, упрощенный син-таксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов, целые произвольной длины, многомерные ди-намические массивы.

2. Самые современные средства языков программирова-ния: обобщенные классы и подпрограммы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, методы расширения, безымянные классы, авто-классы.

3. Генерация эффективного кода для платформы .NET. 4. Высокая совместимость с Delphi. 5. Высокая скорость выполнения программ. 6. Возможность доступа к огромному количеству .NET-

библиотек от контейнерных классов до средств работы с сетью.

7. Среда разработки с встроенным отладчиком, обеспечи-вающая подсказки по коду, переход к определению и реализации подпрограммы, шаблоны кода, автоформа-тирование кода.

8. Встроенный в среду разработки дизайнер форм для бы-строго создания оконных приложений.

9. Простая и эффективная растровая графическая библио-тека.

10. Средства параллельного программирования в виде ди-ректив OpenMP.

11. Механизм проверяемых заданий, обеспечивающий ав-томатическую постановку и проверку заданий.

Page 23: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

23

4. ПРОГРАММИРОВАНИЕ ДЛЯ ПЛАТФОРМЫ

MICROSOFT .NET FRAMEWORK 4.1. Платформа Microsoft .NET Framework Платформа .NET Framework – программная платформа, вы-

пущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программи-рования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.

Программа для платформы .NET Framework, написанная на любом поддерживаемом языке программирования, сначала пере-водится компилятором в единый для .NET промежуточный байт-код на языке Common Intermediate Language. Затем этот код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется в исполняемый код для конкретного целевого процессора. Использование виртуальной машины пред-почтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае исполь-зования виртуальной машины CLR встроенный в неё JIT-компилятор преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамиче-ской компиляции позволяет достигнуть высокого уровня быстро-действия. Виртуальная машина CLR также сама заботится о базо-вой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.

Одной из основных идей Microsoft .NET является совмести-мость программных частей, написанных на разных языках. На-пример, служба, написанная на C++ для платформы Microsoft .NET, может обратиться к методу класса из библиотеки, написан-ной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, создан-

Page 24: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

24

ное методом, написанным на C#, может быть перехвачено и об-работано в Delphi. Каждая библиотека в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

Объектные классы .NET, доступные для всех поддерживае-мых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms для разработки приложений с графическим интерфейсом пользователя, ADO.NET для реализации доступа к базам данных, ASP.NET для разработки веб-приложений и другие.

4.2. Интегрированная среда разработки Microsoft Visual Studio

Microsoft Visual Studio – линейка продуктов компании Microsoft, включающих интегрированную среду разработки (ИСР) программного обеспечения и ряд других инструменталь-ных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим ин-терфейсом, а также веб-сайты, веб-приложения и веб-службы.

ИСР Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простей-шего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфей-са приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Среда разработки Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая до-бавление поддержки систем контроля версий исходного кода, до-бавление новых наборов инструментов или инструментов для прочих аспектов процесса разработки программного обеспече-ния.

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

Page 25: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

25

создания конечного программного продукта: исполняемого файла (с расширением «exe») или библиотеки (с расширением «dll»).

В состав проекта приложения, разрабатываемого на языке C# в среде Visual C#, входят:

основной файл проекта (файл с расширением «csproj»); файлы с текстом программы на языке С# (файлы с рас-

ширением «cs»); другие файлы, необходимые для разработки приложения. Совокупность всех файлов, образующих проект приложе-

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

Кроме понятия «проект» при разработке приложений ис-пользуется также и понятие «решение». Так же как проект пред-ставляет собой совокупность файлов, необходимых для работы над этим проектом, решение представляет собой совокупность нескольких проектов. В простых приложениях решение состоит только из одного проекта. В более сложных случаях решение может включать в себя несколько связанных друг с другом про-ектов.

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

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

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

Page 26: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

26

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

4.3. Интегрированная среда разработки PascalABC.NET

Интегрированная среда разработки (ИСР) PascalABC.NET ориентирована на создание проектов малой и средней сложности. Она достаточно легковесна и в то же время обеспечивает разра-ботчика всеми необходимыми средствами, такими как встроен-ный отладчик, средства Intellisense (подсказка по точке, подсказ-ка по параметрам, всплывающая подсказка по имени), переход к определению и реализации подпрограммы, шаблоны кода, авто-форматирование кода. В среду PascalABC.NET встроен также ди-зайнер форм, позволяющий создавать полноценные оконные приложения в стиле RAD (Rapid Application Development - бы-строе создание приложений).

В отличие от многих профессиональных сред, среда разра-ботки PascalABC.NET не имеет громоздкого интерфейса и не соз-дает множество дополнительных вспомогательных файлов на диске при компиляции программы. Для небольших программ это позволяет соблюсти принцип «Одна программа – один файл на диске».

В среде PascalABC.NET большое внимание уделено связи запущенной программы с оболочкой: консольная программа, за-пущенная из-под оболочки, осуществляет ввод-вывод в специ-альное окно, встроенное в оболочку. Можно также запустить не-сколько программ одновременно – все они будут контролиро-ваться оболочкой.

Кроме этого, внутренние представления PascalABC.NET по-зволяют создавать компиляторы других языков программирова-ния и встраивать их в среду разработки с помощью специальных плагинов.

Page 27: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

27

5. ЯЗЫК ПРОГРАММИРОВАНИЯ C# 5.1. Общая характеристика языка C#

Язык программирования C# (произносится «си-шарп») – это универсальный объектно-ориентированный язык программиро-вания. Первая общедоступная версия этого языка появилась в феврале 2002 года одновременно с выходом среды разработки Microsoft Visual Studio .NET. Начиная с того времени, язык C#, как и программная платформа Microsoft .NET, постоянно разви-ваются и приобретают всё более и более широкие дополнитель-ные функциональные возможности. Для создания приложений для платформы .NET с использованием языка C# существуют различные средства разработки. Наиболее популярным из них является интегрированная среда разработки (ИСР) Microsoft Visual Studio, а также её бесплатная версия Microsoft Visual C# Express Edition.

В настоящее время язык программирования C# получает широкое распространение не только как универсальный язык профессиональной разработки программного обеспечения (срав-нимый по возможностям с такими языками, как С++ и Java), но и как средство начального обучения программированию. В этом смысле язык C# составляет серьёзную конкуренцию таким язы-кам программирования, как BASIC и Pascal.

Отличительной особенностью языка программирования C# является то, что он построен на принципах объектно-ориентированного программирования (ООП). При этом любая, даже самая простая программа, является объектно-ориентированной. Таким образом, эффективное обучение про-граммированию на языке C# требует правильного и уверенного понимания таких фундаментальных понятий, как «объект», «класс», «абстракция», «иерархия», «инкапсуляция», «наследова-ние», «полиморфизм». Тем самым, одновременно с изучением языка C# происходит естественное освоение принципов объект-но-ориентированного программирования.

Page 28: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

28

5.2. Объектно-ориентированное программирование

Объектно-ориентированное программирование (ООП) – это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Основными элементами в объектно-ориентированном под-ходе к разработке приложений являются объекты и классы.

Объект представляет собой конкретный опознаваемый предмет, единицу или сущность (реальную или абстрактную), имеющую четко определенное функциональное назначение в данной предметной области.

Из этого определения следует, что в качестве объектов мо-гут рассматриваться:

объекты реального мира с четкими или размытыми физи-ческими границами (емкость с водой, токарный станок, завод, река, облако);

неосязаемые события или процессы (собрание, день рож-дения, производственный процесс, учебный процесс);

абстрактные сущности (точка в пространстве, линия пе-ресечения тел в пространстве).

Объект обладает: состоянием; поведением; идентичностью (индивидуальностью). Состояние объекта характеризуется перечнем (обычно ста-

тическим, т.е. неизменным) всех свойств (атрибутов) данного объекта и текущими значениями каждого из этих свойств. Пове-дение объекта – это то, как объект действует и реагирует. Пове-дение выражается в терминах состояния объекта и в его взаимо-действии с другими объектами. Идентичность объекта – это его индивидуальность, уникальность среди всех других объектов.

Объектами не являются, например, такие понятия, как цвет, размеры, время, красота, эмоции и т.д. Однако данные понятия могут являться характеристиками, свойствами других объектов.

Page 29: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

29

Класс – это множество объектов, имеющих общую структу-ру и общее поведение.

Структура и поведение схожих объектов определяет общий для них класс. Термины «экземпляр класса» и «объект» взаимо-заменяемы. Любой конкретный объект является экземпляром класса. Объекты, не связанные общностью структуры и поведе-ния, нельзя объединить в класс, так как они не связаны между со-бой ничем, кроме того, что все они – объекты.

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

В качестве примера объекта рассмотрим кнопку, располо-женную в окне приложения. Эта кнопка может находиться в на-жатом или в обычном (отпущенном) состоянии. Поведение этого объекта выражается в смене своего состояния, а также в том, что нажатие кнопки приводит к выполнению приложением каких-либо действий. Идентичность (индивидуальность) кнопки со-стоит в том, что как элемент пользовательского интерфейса кнопка уникальна, даже если рядом находятся другие кнопки та-кого же размера и цвета, с такой же надписью (заголовком кноп-ки) и, возможно, выполняющие точно такие же действия.

Существование множества объектов, имеющих общие свой-ства, структуру и общее поведение, позволяет говорить о классе этих объектов. Например, наличие в окне приложения несколь-ких текстовых меток (простейших надписей в окне) и окон редак-тирования текста (полей ввода различных значений) позволяет говорить о классах «Текстовая метка» и «Окно редактирования текста». При этом каждая из текстовых меток является объектом (или экземпляром) класса «Текстовая метка», а каждое из окон редактирования – объектом (или экземпляром) класса «Окно ре-дактирования текста».

Page 30: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

30

При анализе сложных систем широко используются такие понятия, как «абстракция» и «иерархия».

Абстрагирование является одним из основных методов, ис-пользуемых для решения сложных задач. Абстрагирование – это выделение существенных характеристик некоторого объекта, от-личающих его от всех остальных типов объектов. В результате отделения существенных особенностей объекта от несуществен-ных образуется абстракция. Абстракция определяет концепту-альные границы объекта с точки зрения наблюдателя.

Абстракция – это упрощенное описание объекта, при кото-ром одни детали устройства и поведения объекта выделяются, а другие – опускаются.

Хорошей является такая абстракция, которая подчеркивает детали, существенные для рассмотрения и использования, и опускает те, которые на данный момент несущественны. Отсюда следует, что количество абстракций (упрощенных описаний) мо-жет быть весьма велико. Значительное упрощение в таком случае может быть достигнуто за счет образования из абстракций иерар-хической структуры.

Иерархия – это упорядочение абстракций, расположение их по уровням.

Основными видами иерархических структур применительно к сложным системам являются структура объектов и структура классов.

5.3. Инкапсуляция. Наследование. Полиморфизм Основными концепциями ООП являются инкапсуляция, на-

следование и полиморфизм. Инкапсуляция – это процесс отделения друг от друга эле-

ментов объекта, определяющих его устройство и поведение. Абстракция и инкапсуляция дополняют друг друга: абстра-

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

Интерфейс отражает внешнее поведение объекта, описывая абстракцию поведения всех объектов данного класса. Реализация описывает механизмы достижения желаемого поведения объекта.

Page 31: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

31

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

Иерархия – это упорядочение абстракций, расположение их по уровням.

Наследование – это отношение между классами, при кото-ром класс использует структуру или поведение другого (одиноч-ное наследование) или других (множественное наследование) классов.

Наследование является основным видом иерархии типа «яв-ляться» (структуры классов). Наследование создает такую иерар-хию абстракций, в которой подклассы наследуют строение и по-ведение от одного или нескольких суперклассов. В терминах ООП наследуемый класс (суперкласс) называется классом-предком (классом-родителем) или «базовым классом», а насле-дующий класс (подкласс) – классом-потомком или «производным классом».

В результате наследования образуется дерево классов или иерархия классов. Класс-родитель в иерархии наследования стоит выше, чем класс-потомок, и описывает поведение объекта более абстрактно (менее конкретно). Чем дальше класс-потомок отсто-ит в дереве от класса-родителя, тем большей специфичностью он обладает – тем конкретнее он описывает объект.

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

Page 32: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

32

6. РАЗРАБОТКА КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ C#

6.1. Структура программы Консольное приложение – это приложение, для выполнения

которого операционная система создаёт окно, предназначенное для выполнения операций ввода и вывода информации в тексто-вом режиме.

При создании нового проекта консольного приложения ав-томатически создаётся файл Program.cs, который содержит ми-нимально необходимый набор конструкций, образующих про-стейшую программу на языке C#:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lab01 { class Program { static void Main(string[] args) { } } } Рассмотрим подробно содержание созданного файла. Пер-

вые четыре строки предназначены для импорта стандартных про-странств имён: основного – System, а также вложенных в него пространств имён System.Collections.Generic, System.Linq, System.Text. В зависимости от того, какие стандартные классы используются в программе, необходимо импортировать соответ-

Page 33: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

33

ствующие пространства имён. Перечисленные пространства имён автоматически добавляются средой разработки в файл програм-мы как наиболее типичные и часто используемые.

С помощью ключевого слова namespace в созданном проек-те определяется новое пространство имён Lab01. При создании нового проекта название пространства имён автоматически зада-ётся средой разработки таким же, как и имя самого проекта. Единственным на данном этапе объявлением в пространстве имён Lab01 является объявление класса Program. Хотя имя дан-ного класса может быть любым допустимым в языке C# именем, предложенное по умолчанию имя является наиболее предпочти-тельным, поскольку этот класс содержит функцию Main, управ-ление которой передаётся сразу после запуска программы. Таким образом, класс Program представляет собой основной класс раз-рабатываемого консольного приложения.

Объявление метода Main содержит описание параметра args, который представляет собой массив строк, передаваемых программе из среды выполнения в качестве исходных данных, – параметров командной строки. Если программа не предполагает использования параметров командной строки в качестве исход-ных данных, то параметр args может быть проигнорирован.

Консольное окно, создаваемое при запуске любого консоль-ного приложения, автоматически закрывается после того, как программа завершает свою работу. Для того чтобы результаты выполнения программы, выводимые в окно консольного прило-жения, могли быть просмотрены пользователем, необходимо приостановить выполнение программы любым подходящим спо-собом, например потребовать от пользователя нажатия любой клавиши на клавиатуре с путём вызова метода ReadKey класса Console.

6.2. Элементы синтаксиса Основными элементами синтаксиса языка C# являются: 1) идентификаторы; 2) ключевые слова; 3) литералы; 4) пунктуаторы;

Page 34: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

34

5) знаки операций. Идентификатор – это имя, используемое для обозначения

элемента программы (класса, метода, переменной, пространства имён и т.д.). Идентификатор может состоять из букв, цифр, сим-вола подчёркивания и не может начинаться с цифры.

Ключевые слова – это зарезервированные слова, которые нельзя использовать в качестве идентификаторов.

Литералы – это простейшие элементы данных, статически встроенных непосредственно в текст программы, представляю-щие собой конкретные значения определённых типов данных.

Пунктуаторы – это элементы программы, предназначенные для разметки её структуры.

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

Операции выполняются над операндами. По количеству операндов различают операции унарные (один операнд), бинар-ные (два операнда) и тернарные (три операнда).

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

Функция – это общее название подпрограммы в языке C#, как логически законченного и специальным образом описанного фрагмента кода, который можно вызвать по имени.

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

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

Page 35: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

35

{ // начало операторного блока /* операторы */ } // конец операторного блока

Переменная – это именованная область памяти, предназна-ченная для хранения определённых данных (значения перемен-ной). Во время выполнения программы значение переменной можно изменять.

Все переменные в программе должны быть описаны явным образом. При описании переменной задаётся её имя и указывает-ся тип переменной (тип значения, которое может принимать пе-ременная).

6.3. Типы данных Тип данных однозначно определяет: 1) внутреннее представление данных и, следовательно,

множество их возможных значений; 2) допустимые действия над данными (применимость опе-

раций и функций). Все значения в языке C# являются экземплярами (предста-

вителями) определённого типа. Тип имеет любая переменная, константа (литерал), а также значение, возвращаемое функцией.

По тому, кем и как определяется тип, различают: 1) стандартные (встроенные) – это типы, поддерживаемые

компилятором; 2) пользовательские – типы, определяемые программистом

для решения конкретных задач. К стандартным типам языка C#, относятся, например: 1) int – числовой тип, определяющий множество целых чи-

сел в диапазоне от –231 до 231–1, занимающих 32 бита в памяти;

2) double – числовой тип, определяющий множество веще-ственных чисел, абсолютное значение которых может лежать в диапазоне от 10-324 до 10308, занимающих 64 бита в памяти;

Page 36: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

36

3) string – строковый тип, неизменяемая последователь-ность символов.

Кроме типов int, double и string стандартными типами в языке C# являются также: bool – логический тип, char – сим-вольный тип и другие. Подробное описание всех встроенных ти-пов языка C# может быть найдено в справочной литературе и во встроенной справке к ИСР.

Пользовательские типы позволяют определять новые, более сложные типы данных, основанные на стандартных типах, такие, например, как классы. Примером пользовательского типа данных является класс Program. В составе этого класса находится только метод Main – функция, которой передаётся управление при за-пуске программы.

6.4. Операторы Оператор (инструкция, команда) – это элемент кода функ-

ции (метода класса), который заканчивается точкой с запятой. Функции (методы классов) состоят из операторов, которые

выполняются последовательно, друг за другом в порядке их по-явления в коде (в теле функции).

Операторный блок – это последовательность операторов, заключённая в фигурные скобки («{ ... }»).

В языке программирования C# различают следующие виды операторов:

1) оператор объявления; 2) операторы выражений; 3) управляющие операторы:

а) условный оператор if; б) оператор выбора switch; в) оператор цикла с предусловием while; г) оператор цикла с постусловием do-while; д) оператор цикла for; е) оператор цикла foreach;

4) операторы перехода: ж) оператор break; з) оператор continue;

Page 37: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

37

и) оператор return. Оператор объявления объявляет новую переменную и, воз-

можно, одновременно инициализирует её значением некоторого выражения.

Операторы выражений – это выражения, являющиеся до-пустимыми операторами и заканчивающиеся точкой с запятой.

Условный оператор if имеет две формы: полную и сокра-щённую. Полная форма условного оператора применяется для реализации алгоритмической структуры «полная форма ветвле-ния» и имеет следующий вид: if (<логическое выражение>) // оператор или операторный блок else // оператор или операторный блок

Логическое выражение – это выражение логического типа, принимающее значение true или false. В структуре условного оператора, а также в некоторых других операторах, логическое выражение (условие) указывается в круглых скобках. Действия, выполняемые в случае истинности условия, указываются после круглых скобок. Действия, выполняемые если условие ложно, указываются после ключевого слова else.

Оператор цикла while многократно выполняет фрагмент кода, пока некоторое условие (логическое выражение) остаётся истинным. Логическое выражение вычисляется и проверяется до выполнения тела цикла, поэтому данный оператор реализует ал-горитмическую структуру «цикл с предусловием».

Оператор цикла while имеет следующий формат: while (<логическое выражение>) // оператор или операторный блок

Оператор цикла do-while реализует алгоритмическую структуру «цикл с постусловием». В данной структуре сначала выполняется оператор или операторный блок, а затем вычисляет-ся и проверяется значение логического выражения: do

Page 38: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

38

// оператор или операторный блок while (<логическое выражение>);

Оператор цикла for имеет следующий формат: for (<инициализация>; <логическое выражение>; <модификации>) // оператор или операторный блок

Выражения из раздела инициализации выполняются перед началом повторений тела цикла и, чаще всего, служат для ини-циализации переменных, являющихся параметрами цикла.

Логическое выражение, как и в циклах while и while-do, представляет собой условие, при истинности которого выполня-ется тело цикла (условие продолжения работы). Обычно логиче-ское выражение сравнивает переменную-параметр цикла с её ко-нечным значением.

Модификации – это выражения, которые выполняются после каждого шага цикла (оператора или операторного блока). Обычно в разделе модификаций переменная-параметр цикла изменяет своё значение.

Таким образом, оператор цикла for позволяет реализовать алгоритмическую структуру «цикл со счётчиком». При этом пе-ременная, которая выступает в качестве параметра цикла, может быть как целого (int), так и вещественного (double) типа.

Page 39: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

39

7. РАЗРАБОТКА ПРИЛОЖЕНИЙ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ

ПОЛЬЗОВАТЕЛЯ 7.1. Проектирование пользовательского

интерфейса ИСР Borland Delphi и Microsoft Visual Studio относятся к

системам визуального программирования, называемым также системами быстрой разработки приложений. Разработка прило-жения операционной системы (ОС) Windows включает в себя два взаимосвязанных этапа:

– создание пользовательского интерфейса приложения; – определение функциональности приложения. Пользовательский интерфейс приложения определяет спо-

соб взаимодействия пользователя и приложения, т.е. внешний вид приложения и то, каким образом пользователь управляет приложением. Основным элементом интерфейса является форма (окно). Приложение может иметь одну или несколько форм.

Пользовательский интерфейс реализуется путем создания форм и размещения на них компонентов. Компоненты являются структурными единицами приложения и делятся на визуальные и невизуальные. К визуальным компонентам относятся, например, кнопки, списки, переключатели, а также сама форма. С их помо-щью визуальных компонентов реализуется интерфейс приложе-ния. Невизуальные компоненты выполняют вспомогательные действия.

Компоненты являются объектами определенных классов и, следовательно, могут иметь свойства. Свойства компонентов представляют собой атрибуты, определяющие внешний вид и способ функционирования компонентов во время работы прило-жения. Значения свойств могут быть заданы при разработке при-ложения или непосредственно во время его выполнения.

Page 40: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

40

7.2. Создание обработчиков событий Функциональность приложения определяется процедурами,

которые выполняются при наступлении определенных событий. События могут наступать, например, в результате действий пользователя: нажатие кнопки, выбор элемента списка, закрытие формы и т.д.

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

Таким образом, в процессе разработки приложения выпол-няются следующие действия:

– создание форм; – размещение на формах компонентов; – установка значений свойств компонентов; – написание обработчиков событий. Отдельно выделяют «методы-обработчики сообщений» и

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

В операционной системе Windows сообщениями называются небольшие пакеты информации, которыми обмениваются ядро Windows с программами и программы друг с другом. Сообщение всегда адресуется какому-либо окну-получателю. Любой класс, реализующий окно операционной системы имеет метод для по-лучения и обработки таких сообщений.

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

Page 41: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

41

Обработчик события для компонента – это процедура, вхо-дящая в состав компонента, определяющего действия, которые должны быть выполнены в момент наступления события.

Визуальные компоненты способны генерировать и обраба-тывать большое количество событий различных видов. К наибо-лее общим группам событий можно отнести следующие группы:

выбор элемента управления; перемещение указателя мыши; нажатие кнопок мыши и вращение колеса мыши; нажатие клавиш клавиатуры; получение и потеря элементом управления фокуса ввода

и т.д. Совокупность событий, обрабатываемых компонентом, и

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

7.3. Обработка исключений В процессе разработки и выполнения программы возникают

ошибки: синтаксические, логические, динамические (ошибки времени выполнения).

Синтаксические ошибки вызываются нарушением синтак-сиса языка. Они выявляются при компиляции программы.

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

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

Page 42: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

42

Для обработки динамических ошибок в языках программи-рования используется понятие «исключение».

Исключение – это нарушение условий выполнения програм-мы, вызывающее прерывание или полное прекращение ее работы.

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

Механизмы обработки ошибок инкапсулированы в класс Exception. Разные потомки этого класса охватывают значительно число ошибок, которые могут возникнуть в среде ОС Windows.

Возникающие при выполнении программы динамические ошибки автоматически преобразовываются в соответствующие объекты-исключения. Объект-исключение содержит информа-цию о типе исключения и при возникновении исключения за-ставляет программу временно приостановиться.

7.4. Библиотека визуальных компонентов Библиотека визуальных компонентов содержит большое ко-

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

Классы-потомки наследуют все элементы класса-родителя. Так, если свойство Caption принадлежит классу TControl, то это свойство будет и у его потомков, например, у классов TButton и TCheckBox, а значит у соответствующих компонентов – кнопки Button и «флажка» CheckBox соответственно.

Класс TObject – общий предок всех классов, находится в корне иерархии. Этот класс является абстрактным и реализует наиболее общие для всех классов-потомков методы, важнейшими из которых являются Create (создание объекта) и Destroy (унич-тожение объекта).

Page 43: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

43

Компонент – это класс-потомок класса TComponent. Класс TComponent – это базовый класс для всех компонентов. В допол-нение к методам своих предков он предоставляет средства, бла-годаря которым компоненты способны владеть другими компо-нентами. Этот класс при создании компонента обеспечивает ав-томатическое создание всех принадлежащих ему компонентов, а при уничтожении компонента – их автоматическое уничтожение. От класса TComponent происходят визуальные и невизуальные компоненты.

Невизуальный компонент – это компонент, не имеющий ви-зуального интерфейса, функции которого доступны только в тек-сте программы. Например, невизуальный компонент Timer по-зволяет реализовать выполнение действий через определенные интервалы времени.

Визуальный компонент – это компонент, предназначенный для реализации графического или оконного элемента интерфейса приложения. Класс TControl является базовым классом для визу-альных компонентов (элементов управления) и обеспечивает ос-новные средства для их функционирования, в том числе их про-рисовку на экране. Все визуальные компоненты делятся на окон-ные и графические, и происходят от классов TWinControl и TGraphicControl соответственно.

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

Значения свойств, доступных при проектировании прило-жения, можно задавать на этапе проектирования в специальном окне ИСР – инспекторе объектов. Значения свойств, доступных во время выполнения приложения можно изменять, обращаясь к этим свойствам по имени непосредственно в тексте программы.

Page 44: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

44

ЧАСТЬ II. МАТЕРИАЛЫ ДЛЯ ПОДГОТОВКИ К СЕМИНАРАМ И ПРАКТИЧЕСКИМ ЗАНЯТИЯМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К СЕМИНАРАМ Пособие включает в себя учебно-методические материалы

для подготовки и проведения семинаров по отдельным темам ра-бочей программы дисциплины «Основы программирования».

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

Внеаудиторная самостоятельная подготовка к семинару и работа на групповом практическом занятии состоят из следую-щих этапов:

1. Знакомство с темой семинара. Для получения общего представления о теме занятия используются теоретиче-ские сведения, приводимые в пособии.

2. Выполняется изучение отдельных вопросов по теме се-минара. Список вопросов приводится в пособии. В про-цессе подготовки к семинару используются источники из имеющегося в пособии библиографического списка.

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

4. После завершения доклада производится его обсуждение. Задаются вопросы докладчику. Высказываются индиви-дуальные мнения об актуальности темы доклада и прак-тической ценности рассмотренных вопросов.

Page 45: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

45

1. ПРОГРАММИРОВАНИЕ. МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ

Цели и задачи семинара Целями проведения семинара являются: 1. Изучение особенностей программных проектов и извест-

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

2. Изучение методологии программирования Microsoft Solutions Framework (MSF).

В процессе подготовки доклада и проведения семинара ре-шаются следующие задачи:

1. Изучается литература по общим вопросам управления проектами, методам организации работы над программ-ным проектом, особенностям программных проектов (в частности, проектов разработки информационных сис-тем).

2. Готовится доклад по одному из вопросов, связанному с постановкой задачи разработки информационной систе-мы, планированием и организацией проектной работы.

3. Обсуждаются вопросы актуальности и практического применения рассмотренных подходов к управлению про-граммными проектами.

4. Изучается литература по вопросам теоретических поло-жений методологии MSF и её практических рекоменда-ций по организации процесса разработки ПО.

5. Готовится доклад о методологии MSF, её отдельных эле-ментах (модели, дисциплины, фазы, вехи), а также о ре-комендуемых подходах к организации процесса разра-ботки ПО.

6. Обсуждаются вопросы актуальности и практического применения теоретических положений и практических

Page 46: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

46

рекомендаций методологии MSF для организации и пла-нирования процесса разработки ПО.

Вопросы для подготовки к семинару

1. Управление разработкой ПО 1. Процесс разработки программного обеспечения. 2. Проект. Управление проектами. Признаки проекта как

объекта управления. 3. Характеристики проекта: класс, тип, масштаб, слож-

ность, реализуемость. 4. Постановка задачи создания ИС как проекта разработки

программного обеспечения. 5. Программный проект. Особенности управления про-

граммными проектами. 6. Спецификация информационной системы. Проектиро-

вание системы. Проект системы. 7. Методы анализа функциональных требований к про-

граммному обеспечению. 8. Определение трудоёмкости выполнения типовых задач.

Вычисление общей трудоёмкости решения всех задач. 9. Оценка сложности, масштаба и реализуемости проекта. 10. Методы оценки стоимости программного проекта. 11. Составление календарных планов разработки ИС с учё-

том конкретных условий разработки. 12. Стандарты ГОСТ этапов и процессов ЖЦ программного

обеспечения.

2. Методология разработки MSF 1. Методология MSF. Модели и дисциплины MSF. 2. Модель процесса MSF. Итеративная разработка. 3. Структура модели жизненного цикла MSF. Вехи и фазы. 4. Подготовка исходных данных для планирования про-

цесса разработки ПО. 5. Составление документа «Техническое задание» с под-

робным описанием требований к ИС. 6. Составление плана разработки ИС с применением по-

ложений и рекомендаций методологии MSF.

Page 47: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

47

7. Постановка задачи на разработку соответствующей вер-сии ИС (на фазе «Выработка концепции»).

8. Описание организационных и технических проектных решений по разработке ИС (на фазе «Планирование»).

9. Определение характеристики ожидаемых результатов разработки очередной версии ИС на (фазе «Разработ-ка»).

10. Набор контрольных тестов для валидации и верифика-ции программного обеспечения ИС на (фазе «Стабили-зация»).

11. Описание мероприятий по переходу пользователей на новую версию ИС (на фазе «Внедрение»).

Page 48: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

48

2. МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММ ДЛЯ ЭВМ. ЖИЗНЕННЫЙ

ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Цели и задачи семинара

Целями проведения семинара являются: 1. Изучение понятия жизненного цикла ПО, а также стан-

дартов ГОСТ, определяющих состав и последователь-ность этапов ЖЦ.

2. Изучение понятия модели ЖЦ программного обеспечения и стандартных моделей жизненного цикла (каскадная, итеративная, спиральная).

В процессе подготовки доклада и проведения семинара ре-шаются следующие задачи:

1. Изучается литература (в том числе – документы ГОСТ) по вопросам состава и структуры жизненного цикла ПО, назначению отдельных этапов ЖЦ, содержания дейст-вующих стандартов ЖЦ.

2. Готовится доклад о структуре жизненного цикла ПО, оп-ределяемой в ГОСТ Р ИСО/МЭК 12207–2010, ГОСТ Р ИСО/МЭК 15288–2005, ГОСТ 34.601–90.

3. Обсуждаются вопросы актуальности и практического применения действующих стандартов ГОСТ в части опи-сания ЖЦ программного обеспечения ИС.

4. Изучается литература по вопросам структуры ЖЦ ПО, принципов построения моделей ЖЦ, назначения и воз-можностей стандартных моделей ЖЦ.

5. Готовится доклад о стандартных моделях ЖЦ (каскадной (с вариантами), итеративной, спиральной), их достоинст-вах и недостатках.

6. Обсуждаются вопросы актуальности и практического применения различных моделей ЖЦ для организации процесса разработки программного обеспечения ИС.

Page 49: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

49

Вопросы для подготовки к семинару 1. Жизненный цикл программного обеспечения 1. Современные методологии разработки ПО. 2. Информационные системы: виды, назначение, функ-

циональные возможности. 3. Жизненный цикл информационных систем. 4. Назначение этапов ЖЦ: анализ, проектирование, про-

граммирование, тестирование, эксплуатация. 5. Этап проектирования информационной системы. Спе-

цификация ИС. Проект ИС. 6. Структура ЖЦ согласно стандарту ГОСТ Р ИСО/МЭК

12207–2010. 7. Структура ЖЦ согласно стандарту ГОСТ Р ИСО/МЭК

15288–2005. 8. Структура ЖЦ согласно стандарту ГОСТ 34.601–90. 9. Подготовка исходных данных для планирования разра-

ботки ИС (общее описание некоторой ИС, ограничения и условия разработки).

10. Составление эскизного плана разработки ИС. 11. Разработка документа «Обоснование на разработку и

внедрение ИС». 12. Разработка документа «Техническое задание» с подроб-

ным описанием требований к ИС. 13. Разработка документа «Технический проект» с описани-

ем предполагаемых проектных решений. 14. Разработка документа «План тестирования ИС» с опи-

санием методики тестирования и контрольных тестов. 15. Разработка документа «План ввода ИС в эксплуата-

цию».

2. Модели жизненного цикла 1. Модель ЖЦ программного обеспечения. Стандартные

модели жизненного цикла. 2. Каскадная модель жизненного цикла. Её достоинства и

недостатки.

Page 50: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

50

3. Составление плана разработки ИС с использованием каскадной модели ЖЦ.

4. Каскадная модель с промежуточным контролем. 5. V-образная каскадная модель. 6. Модели ЖЦ, ориентированные на выпуск версий ПО (в

т. ч. прототипов). 7. Инкрементная модель жизненного цикла. Её достоинст-

ва и недостатки. 8. Составление плана разработки ИС с использованием

итеративной модели ЖЦ. 9. Спиральная модель жизненного цикла. Её достоинства и

недостатки. 10. Составление плана разработки ИС с использованием

спиральной модели ЖЦ.

Page 51: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

51

3.ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ

ПРОГРАММИРОВАНИЕ Цели и задачи занятия

Целями проведения практического занятия являются: 1. Изучение основных концепций и принципов объектно-

ориентированного программирования (ООП); 2. Закрепление навыков построения объектно-

ориентированных программ и разработки приложений, реализующих принципы ООП;

3. Получение навыков практическое применение средств реализации наследования и полиморфизма (построения иерархии классов, динамического перекрытия, виртуаль-ных и абстрактных методов).

Во время подготовки и проведения практического занятия решаются следующие задачи:

1. Создаётся класс, включающий в себя данные класса и ме-тоды класса, реализующие основные операции для рабо-ты с данными. Разрабатывается приложение, иллюстри-рующее работу с созданным классом.

2. Создаётся несколько отдельных классов, входящие в об-щую иерархию классов. Для каждого класса описываются данные класса и реализуются основные операции для ра-боты с данными. Разрабатывается приложение, иллюст-рирующее работу с созданной иерархией классов.

Варианты индивидуальных заданий

1. Разработка класса Создать класс, описать данные класса, реализовать основ-

ные операции для работы с данными.

Page 52: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

52

1. Создать класс Vector2D, задаваемый парой чисел. Реализовать: сложение, вычитание векторов и умножение вектора на скаляр.

2. Создать класс Vector2D, задаваемый парой чисел. Реализовать: вычисление длины вектора, сравнение векторов и скалярное произведение векторов.

3. Создать класс Money для работы с денежными суммами. Число должно быть представлено двумя полями: рубли и копейки. Реализовать: сложение, вычитание и операцию сравнения.

4. Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: вычисления площади, вычисления периметра, а также определение вида треугольника (равносторонний, равнобедренный, прямоугольный).

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

6. Создать класс Point для работы с точками на плоскости. Координаты точки – декартовы. Обязательно должны быть реализованы: определение расстояния до начала координат, расстояние между двумя точками, сравнение на совпадение и несовпадение.

7. Создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть со знаком и дробная часть, то что после запятой. Реализовать арифметические операции сложения, вычитания и операцию сравнения.

8. Создать класс Drobi для работы с дробными числами. Число должно быть представлено двумя полями: числителем и знаменателем. Реализовать операции сложения, вычитания и выделения целой части.

9. Создать класс Cylinder. Полями класса являются высота цилиндра и радиус основания. Требуется реализовать

Page 53: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

53

операции: вычисления объема цилиндра, вычисления площади основания и площади боковой поверхности.

10. Создать класс Time. Полями класса являются два числа: часы и минуты. Реализовать метод приведения времени в минуты, операцию увеличения времени на заданную величину.

11. Создать класс LineFunc для работы с линейными функциями вида ( )y x Ax B . Полями класса является пара чисел: коэффициенты A и B . Реализовать вычисление значения функции ( )y x для заданного значения x .

12. Создать класс SqrEqn для работы с уравнениями вида 2 0Ax Bx C . Полями класса являются

коэффициенты A , B и C . Реализовать вычисление корней уравнения. Обязательно реализовать проверку дискриминанта на положительность.

2. Разработка иерархии классов Создать отдельные классы, входящие в иерархию классов,

описать данные классов, реализовать основные операции для ра-боты с данными.

1. Создать базовый класс Figure с абстрактными методами вычисления площади и периметра. Создать производные классы: Rectangle (прямоугольник) и Trapezium (трапеция) со своими методами вычисления площади и периметра.

2. Создать базовый класс Body (тело) с абстрактными методами вычисления площади поверхности и объема. Создать производные классы: Parallelepiped (параллелепипед) и Ball (шар) со своими методами вычисления площади поверхности и объема.

3. Создать базовый класс Currency (валюта) для работы с денежными суммами. Определить абстрактные методы перевода в рубли и вывода на экран. Создать производные классы: Dollar (доллар) и Euro (евро) со своими методами перевода в рубли и вывода на экран.

Page 54: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

54

4. Создать базовый класс Triangle для представления треугольника с абстрактными методами вычисления площади и периметра. Поля данных должны включать две стороны и угол между ними. Определить классы-наследники: прямоугольный треугольник и равнобедренный треугольник.

5. Создать базовый класс Triangle для представления треугольника с абстрактными методами вычисления площади и периметра. Поля данных должны включать две стороны и угол между ними. Определить классы-наследники: равносторонний треугольник и равнобедренный треугольник.

6. Создать базовый класс Pair для работы с абстрактными арифметическими операциями. Создать производные классы: Drobi и Complex (комплексные числа).

7. Создать базовый класс Root (корень) с абстрактными методами вычисления корней и вывода результата на экран. Определить классы-наследники Linear (линейное уравнение) и Square (квадратное уравнение) с собственными методами вычисления корней и вывода на экран.

8. Создать базовый класс Function (функция) с абстрактными методами вычисления значения функции

y f x в заданной точке x и вывода результата на экран. Определить классы-наследники Ellips (эллипс) и Hyperbola (гипербола) с собственными методами вычисления корней и вывода на экран.

9. Создать базовый класс Series (прогрессия) с абстрактными функциями вычисления j-го элемента прогрессии и суммы прогрессии. Создать производные классы: Linear (арифметическая) и Exponential (геометрическая) с собственными методами вычисления j-го элемента прогрессии и суммы прогрессии.

10. Создать базовый класс Norm с абстрактными функциями вычисления нормы и модуля. Создать производные классы: Complex и Vector3D с собственными методами вычисления нормы и модуля.

Page 55: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

55

4. ПЛАТФОРМА MICROSOFT .NET FRAMEWORK.

МЕТОДОЛОГИЯ БЫСТРОЙ РАЗРАБОТКИ ПРИЛОЖЕНИЙ RAD Цели и задачи семинара

Целями проведения семинара являются: 1. Изучение возможностей платформы Microsoft .NET

Framework и интегрированной среды разработки (ИСР) Microsoft Visual Studio для быстрой разработки приложе-ний.

2. Изучение методологии быстрой разработки приложений Rapid Application Development (RAD) и принципов органи-зации разработки программного обеспечения (ПО) с ис-пользованием платформы Microsoft .NET Framework.

В процессе подготовки доклада и проведения семинара ре-шаются следующие задачи:

1. Изучаются возможности платформы Microsoft .NET Framework и ИСР Microsoft Visual Studio для быстрой разработки приложений.

2. Изучается литература по вопросам теоретических поло-жений методологии RAD и её практических рекоменда-ций по организации процесса разработки ПО.

3. Готовится доклад о методологии RAD, принципах объ-ектно-ориентированного проектирования, прототипиро-вания, макетирования и визуального программирования, а также о рекомендуемых подходах к организации процесса разработки ПО с использованием платформы Microsoft .NET Framework и ИСР Microsoft Visual Studio.

4. Обсуждаются вопросы актуальности и практического применения теоретических положений и практических рекомендаций методологии RAD для организации и пла-

Page 56: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

56

нирования процесса разработки ПО с использованием платформы Microsoft .NET Framework и ИСР Microsoft Visual Studio.

Общие теоретические сведения Быстрая разработка приложений RAD (Rapid Application De-

velopment) является одной из современных методологий разра-ботки программного обеспечения. Как и другие методологии (MSF, RUP и др.) RAD описывает итеративный подход к органи-зации процесса разработки ПО и соответствующую модель жиз-ненного цикла. Методологию RAD также часто связывают с тех-нологией визуального программирования и применением совре-менных интегрированных сред разработки программного обес-печения.

Одним из основных принципов методологии RAD является необходимость применения CASE-средств, обеспечивающих це-лостность проекта на всех этапах его реализации. Все модели и прототипы должны быть получены с применением тех CASE-средств, которые будут использоваться в дальнейшем при по-строении системы. Данное требование вызвано тем, что при пе-редаче информации о проекте с этапа на этап может произойти фактически неконтролируемое искажение данных. Применение единой среды хранения информации о проекте позволяет избе-жать этой опасности. Также CASE-средства применяются для ав-томатической генерации программного кода при помощи автома-тических генераторов, получающих информацию непосредствен-но из репозитория проекта.

Методология RAD предполагает, что разработка ПО осуще-ствляется небольшой командой разработчиков за несколько ме-сяцев путём использования инкрементного прототипирования с применением инструментальных средств визуального моделиро-вания и разработки. Для выработки требований и оценки резуль-татов каждой итерации требуется активное привлечение заказчи-ка к участию в работе на протяжении всего времени разработки программного продукта. Это позволяет в результате обеспечить полное выполнение функциональных и нефункциональных тре-бований заказчика, а также получение качественной документа-

Page 57: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

57

ции, обеспечивающей удобство эксплуатации и сопровождения системы.

Методология RAD основывается на визуализации процесса создания программного кода приложений и поддерживается ин-струментальным программным обеспечением, которое предос-тавляет разработчикам средства визуального программирования. Применение средств визуального программирования позволяет значительного ускорить процесс разработки приложений, а также уменьшить трудоёмкость работы по модификации уже готовой программы, внесению в неё необходимых дополнений или изме-нений.

Средства быстрой разработки приложений, как правило, ос-новываются на объектно-ориентированной компонентной архи-тектуре. Компоненты могут быть визуальными и невизуальными, атомарными и контейнерными (содержащими другие компонен-ты), низкоуровневыми (системными) и высокоуровневыми. Визу-альное проектирование пользовательского интерфейса предос-тавляет возможность выбора отдельных компонентов из палитры с последующим размещением их в нужном месте.

Процедура разработки интерфейса средствами RAD сводит-ся к набору последовательных операций, включающих:

1) размещение компонентов интерфейса в нужном месте; 2) задание моментов времени их появления на экране; 3) настройку связанных с ними атрибутов и событий. Методология RAD не сводится только к визуальной генера-

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

Интегрированная среда разработки (ИСР) является средст-вом, с помощью которого выполняются проектирование, про-граммирование, тестирование и отладка прикладных программ.

Page 58: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

58

Примерами современных ИСР, поддерживающих методологию RAD и технологию визуального программирования, являются Microsoft Visual Studio, Embarcadero RAD Studio, IntelliJ IDEA, MonoDevelop и др.

Вопросы для подготовки к семинару 1. Методология быстрой разработки приложений RAD. 2. Технология визуального программирования. 3. Принципы объектно-ориентированного программирова-

ния. 4. Автоматическая генерация программного кода. 5. Применение RAD и визуального программирования для

макетирования и прототипирования приложений. 6. Современные средства разработки ПО. Интегрирован-

ные среды разработки. 7. Платформа Microsoft .NET – назначение и основные

возможности. 8. Интегрированная среда разработки Microsoft Visual

Studio. 9. Разработка консольных приложений на языке програм-

мирования C#. 10. Разработка приложений с графическим интерфейсом

пользователя на языке программирования C#. 11. Подготовка исходных данных для планирования про-

цесса разработки ПО. 12. Составление плана разработки ИС с применением по-

ложений и рекомендаций методологии RAD. 13. Анализ требований к ПО (функциональных требований,

требований к пользовательскому интерфейсу). 14. Разработка проекта пользовательского интерфейса при-

ложения. Создание макетов экранных форм. 15. Разработка прототипа приложения средствами визуаль-

ного программирования ИСР. 16. Тестирование, верификация и валидация функциональ-

ных возможностей ПО.

Page 59: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

59

5. ЯЗЫК ПРОГРАММИРОВАНИЯ C# Цель и задачи занятия

Целью проведения практического занятия является приоб-ретение практических навыков решения простейших алгоритми-ческих задач с использованием языка программирования C#.

Во время подготовки и проведения практического занятия решаются следующие задачи:

1. Выполняется анализ постановки задачи. Определяются исходные данные и результаты решения задачи.

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

решения задачи на языке программирования C#. 4. Для проверки правильности решения задачи подготавли-

вается набор контрольных примеров.

Задачи для программирования После условия задачи приводится пример – рекомендуемый

вид экрана во время работы программы. 1. Написать программу вычисления площади параллело-

грамма. Вычисление площади параллелограмма. Введите исходные данные: Длина (см) —> 9 Ширина (см) —> 7.5 Площадь параллелограмма: 67.50 кв.см.

2. Написать программу вычисления объема параллелепипе-

да. Вычисление объема параллелепипеда. Введите исходные данные: Длинна (см) —> 9 Ширина (см) —> 7.5 Высота (см) —> 5 Объем: 337.50 куб.см.

Page 60: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

60

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

параллелепипеда. Вычисление площади поверхности параллелепипеда. Введите исходные данные: Длина (см) —> 9 Ширина (см) —> 7.5 Высота (см) —> 5 Площадь поверхности: 90.00 кв.см. 4. Написать программу вычисления объема куба. Вычисление объема куба. Введите длину ребра (см) и нажмите <Enter> 9.5 Объем куба: 857.38 куб.см. 5. Написать программу вычисления объема цилиндра. Вычисление объема цилиндра Введите исходные данные: Радиус основания (см) —> 5 Высота цилиндра (см) —> 10 Объем цилиндра 1570.80 куб. см. Для завершения работы программы нажмите <Enter>.

6. Написать программу вычисления стоимости покупки, со-

стоящей из нескольких тетрадей и карандашей. Вычисление стоимости покупки. Введите исходные данные: Цена тетради (руб.) —> 2.75 Количество тетрадей —> 5 Цена карандаша (руб.) —> 0.85 Количество карандашей —> 2 Стоимость покупки: 15.45 руб.

7. Написать программу вычисления стоимости покупки, со-

стоящей из нескольких тетрадей и такого же количества обложек к ним.

Вычисление стоимости покупки. Введите исходные данные: Цена тетради (руб.) —> 2.75 Цена обложки (руб.) —> 0.5 Количество комплектов (шт.) —> 7 Стоимость покупки: 22.75 руб.

Page 61: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

61

8. Написать программу вычисления стоимости некоторого количества (по весу) яблок.

Вычисление стоимости покупки. Введите исходные данные: Цена одного килограмма яблок (руб.) —> 8.5 Вес яблок (кг) —> 2.3 Стоимость покупки: 19.55 руб. 9. Написать программу вычисления площади треугольника,

если известна длина основания и высота. Вычисление площади треугольника. Введите исходные данные: Основание (см) —> 8.5 Высота (см) —> 10 Площадь треугольника 42.50 кв.см. 10. Написать программу вычисления площади треугольника,

если известны длины двух его сторон и величина угла между эти-ми сторонами.

Вычисление площади треугольника. Введите (через пробел) длины двух сторон (см) треугольника 25 17 Введите величину угла между сторонами треугольника 30 Площадь треугольника: 106.25 кв.см.

Page 62: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

62

6. РАЗРАБОТКА КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ C#

Цель и задачи занятия Целью проведения практического занятия является приоб-

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

Во время подготовки и проведения практического занятия решаются следующие задачи:

1. Выполняется анализ постановки задачи. Определяются исходные данные и результаты решения задачи.

2. Разрабатывается алгоритм решения задачи. 3. Формулируются концептуальные, функциональные и

технические требования к программе. 4. Составляется текст программы, реализующей алгоритм

решения задачи на языке программирования C#. 5. Для проверки правильности решения задачи подготавли-

вается набор контрольных примеров.

Задачи для программирования После условия задачи приводится пример – рекомендуемый

вид экрана во время работы программы. В задачах на программы с разветвляющейся и циклической структурой поведение и внеш-ний вид программы зависят от исходных данных и могут отли-чаться от приведенного примера.

1. Программы с ветвлениями 1.1. Написать программу, которая вычисляет частное от де-

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

Вычисление частного.

Page 63: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

63

Введите в одной строке делимое и делитель, затем нажмите <Enter> 12 0 Вы ошиблись. Делитель не должен быть равен нулю.

1.2. Написать программу вычисления площади кольца. Про-

грамма должна проверять правильность исходных данных. Вычисление площади кольца. Введите исходные данные: Радиус кольца (см) —> 3.5 Радиус отверстия (см) —> 7 Ошибка! Радиус отверстия не может быть больше радиуса кольца.

1.3. Написать программу решения квадратного уравнения.

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

Решение квадратного уравнения * Введите в одной строке значения коэффициентов и нажмите <Enter> 12 27 -10 Корни уравнения: x1=-25.551 x2=-28.449

1.4. Написать программу вычисления стоимости покупки с

учетом скидки. Скидка в 10% предоставляется, если сумма по-купки больше 1000 руб.

Вычисление стоимости покупки с учетом скидки. Введите сумму покупки и нажмите <Enter> 1200 Вам предоставляется скидка 10% Сумма покупки с учетом скидки: 1080.00 руб.

1.5. Написать программу вычисления стоимости покупки с

учетом скидки. Скидка в 3% предоставляется в том случае, если сумма покупки больше 500 руб., в 5% — если сумма больше 1000 руб.

Вычисление стоимости покупки с учетом скидки. Введите сумму покупки и нажмите <Enter> 640 Вам предоставляется скидка 3% Сумма покупки с учетом скидки: 620.80 руб.

Page 64: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

64

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

В каком году был основан Санкт-Петербург? Введите число и нажмите <Enter> 1705 Вы ошиблись, Санкт-Петербург был основан в 1703 году.

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

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

В каком году началась вторая мировая война? Введите число и нажмите <Enter> 1939 Правильно.

1.8. Написать программу проверки знания истории архитек-

туры. Программа должна вывести вопрос и три варианта ответа. Пользователь должен выбрать правильный ответ и ввести его но-мер.

Архитектор Исаакиевского собора: Доменико Трезини Огюст Монферран Карл Росси Введите номер правильного ответа и нажмите <Enter> 1 Вы ошиблись. Архитектор Исаакиевского собора — Огюдт Монферран. 1.9. Написать программу проверки знания истории архитек-

туры. Программа должна вывести вопрос и три варианта ответа, а пользователь — выбрать правильный ответ и ввести его номер.

Невский проспект получил свое название: По имени реки, на берегах которой расположен Санкт-Петербург По имени близко расположенного монастыря Александро-Невской лавры В память о знаменитом полководце Александре Невском Введите номер правильного ответа и нажмите <Enter> 1 Вы ошиблись. Правильный ответ: 2.

Page 65: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

65

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

Введите в одной строке два целых числа и нажмите <Enter>. 34 67 34 меньше 67.

2. Программы с циклами 2.1. Написать программу, которая выводит таблицу квадра-

тов первых десяти целых положительных чисел. Таблица квадратов Число Квадрат 1 1 2 4 3 9 ... 10 100

2.2. Написать программу, которая выводит таблицу квадра-

тов первых пяти целых положительных нечетных чисел. Таблица квадратов нечетных чисел Число Квадрат 1 1 3 9 5 25 7 49 9 81

2.3. Написать программу, которая вычисляет сумму первых

n целых положительных целых чисел. Количество суммируемых чисел должно вводиться во время работы программы.

Вычисление суммы положительных чисел. Введите количество суммируемых чисел —> 20 Сумма первых 20 положительных чисел равна 210.

2.4. Написать программу, которая вычисляет сумму первых

n целых положительных четных чисел. Количество суммируемых чисел должно вводиться во время работы программы.

Вычисление суммы четных положительных чисел.

Page 66: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

66

Введите количество суммируемых чисел и нажмите <Enter> 12 Сумма первых 12 положительных четных чисел равна 156.

2.5. Написать программу, которая вычисляет сумму первых

n членов ряда 1, 3, 5, 7, .... Количество суммируемых членов ряда задается во время работы программы.

Вычисление частичной суммы ряда: 1,3,5,7, ... Введите количество суммируемых членов ряда —> 15 Сумма первых 15 членов ряда равна 330.

2.6. Написать программу, которая вычисляет сумму первых

n членов ряда 1 + 1/2 + 1/3 + 1/4 + .... Количество суммируе-мых членов ряда задается во время работы программы.

Вычисление частичной суммы ряда: 1+1/2+1/3+ ... Введите кол-во суммируемых членов ряда —> 15 Сумма первых 15 членов ряда равна 3.3182.

2.7. Написать программу, которая выводит таблицу степеней

двойки (от нулевой до десятой). Таблица степеней двойки 0 1 1 2 2 4 ... 10 1024

2.8. Написать программу, которая вычисляет факториал

числа, введенного с клавиатуры. (Факториалом числа n называет-ся произведение целых чисел от 1 до n. Например, факториал числа 1 равен 1, а числа 8 - 40320.)

Вычисление факториала. Введите число, факториал которого надо вычислить 7 Факториал 7 равен 5040.

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

ний функции 22,4 5 3y x x в диапазоне от -2 до 2 с шагом 0.5 x y -2 -22,60

Page 67: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

67

-1,5 -15,90 ... 2 -2,60

2.10. Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое.

Вычисление среднего арифметического последовательности дробных чисел. После ввода каждого числа нажимайте <Enter> 5.4 7.8 3.0 1.5 2.3 Среднее арифметическое введенной последовательности: 4.00 Для завершения работы программы нажмите <Enter>.

Page 68: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

68

7. РАЗРАБОТКА ПРИЛОЖЕНИЙ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ

ПОЛЬЗОВАТЕЛЯ Цель и задачи занятия

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

Во время подготовки и проведения практического занятия решаются следующие задачи:

1. Выполняется анализ постановки задачи. Определяются исходные данные и результаты решения задачи.

2. Разрабатывается алгоритм решения задачи. 3. Формулируются концептуальные, функциональные и

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

нескольких модулей.

Указания к решению задач Процесс создания программы с графическим интерфейсом

пользователя состоит из следующих шагов: 1. Создание формы (окна) приложения. 2. Размещение на форме визуальных компонентов и их на-

стройка. 3. Написание процедур обработки событий для формы при-

ложения и размещённых на ней визуальных компонентов. В форме любого приложения есть компоненты, которые

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

1) Label – поле для вывода текста;

Page 69: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

69

2) Edit – поле для ввода и редактирования текста; 3) Button – командная кнопка; 4) CheckBox – независимую кнопку выбора; 5) RadioButton – зависимую кнопку выбора; 6) ListBox – список выбора, состоящий из элементов; 7) ComboBox – комбинированный список выбора, объеди-

няющий список ListBox и поле для ввода и редактирова-ния текста Edit.

Вид компонента, его размер и поведение определяются зна-чениями свойств (характеристик) компонента. Поведение про-граммы определяются процедуры обработки событий для формы и визуальных компонентов.

Исходную информацию для решения поставленной задачи программа может получить из полей ввода и редактирования (компонент Edit), списка выбора (компонент ListBox) или комби-нированного списка (компонент ComboBox). Для ввода значений логического типа можно использовать компоненты CheckBox и RadioButton.

Результат решения задачи программа может вывести в поле выводе текста (компонент Label) или в отдельном окне сообще-ния (функция ShowMessage).

Для преобразования текста, например находящегося в поле ввода и редактирования, в целое число нужно использовать функцию StrToInt, а в дробное – функцию StrToFloat. Для преоб-разования целого, например значения переменной, в строку нуж-но использовать функцию IntToStr, а для преобразования дробно-го – функцию FloatToStr или FloatToStrF.

Задачи для программирования 1. Написать программу, которая пересчитывает скорость

ветра из «метров в секунду» в «километров в час». 2. Написать программу, которая пересчитывает скорость

ветра из «метров в секунду» в «километров в час». Про-грамма должна быть спроектирована таким образом, чтобы пользователь мог ввести в поле «Скорость» толь-ко целое положительное число.

Page 70: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

70

3. Написать программу, которая пересчитывает скорость ветра из «метров в секунду» в «километров в час». Вы-числение должно выполняться как в результате щелчка на кнопке «Пересчет», так и при нажатии клавиши <Enter> после ввода последней цифры в поле «Ско-рость».

4. Написать программу, которая пересчитывает массу из фунтов в килограммы (1 фунт = 409,5 грамм). Програм-ма должна быть спроектирована таким образом, чтобы кнопка «Пересчет» была доступна только в том случае, если пользователь ввел исходные данные.

5. Написать программу, которая пересчитывает массу из фунтов в килограммы (1 фунт = 409,5 грамм). Програм-ма должна быть спроектирована таким образом, чтобы пользователь мог ввести в поле «Масса» только поло-жительное число (целое или дробное).

6. Написать программу, которая вычисляет скорость (км/час), с которой бегун пробежал дистанцию. Количе-ство минут задается целым числом, секунд – дробным.

7. Написать программу, которая вычисляет силу тока в электрической цепи. Программа должна быть спроекти-рована таким образом, чтобы кнопка «Вычислить» была доступна только в том случае, если пользователь ввел величину сопротивления.

8. Написать программу, которая вычисляет силу тока в электрической цепи. Цепь состоит из двух параллельно соединенных сопротивлений.

9. Написать программу, которая вычисляет стоимость по-купки с учетом скидки. Скидка 1% предоставляется, ес-ли сумма покупки больше 300 рублей, 2% - если сумма больше 500 рублей, 3% - если сумма больше 1000 руб-лей. Информация о предоставленной скидке (процент и величина) должна быть выведена в диалоговом окне.

10. Напишите программу, которая вычисляет стоимость по-купки. Пользователь должен вводить код товара и коли-чество единиц. Программа должна формировать список товаров.

Page 71: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

71

11. Напишите программу, которая вычисляет доход по вкладу. Программа должна обеспечивать расчет про-стых и сложных процентов. Простые проценты начис-ляются в конце срока вклада, сложные – ежемесячно и прибавляются к первоначальной сумме вклада и в сле-дующем месяце проценты начисляются на новую сум-му.

12. Написать программу, которая вычисляет сопротивление электрической цепи, состоящей из двух сопротивлений. Сопротивления могут быть соединены последовательно или параллельно. Если величина сопротивления цепи превышает 1000 Ом, то результат должен быть выведен в килоомах.

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

14. Написать программу, которая, используя закон Ома, вычисляет силу тока, напряжение или сопротивление электрической цепи. В результате выбора переключате-ля «Ток», «Напряжение» или «Сопротивление», текст, поясняющий назначение полей ввода должен меняться.

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

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

17. Напишите программу «Электронные часы», на поверх-ности формы которой отображается текущее время.

18. Напишите программу «Электронные часы», в окне ко-торой отображается текущее время и дата.

19. Напишите программу «Электронные часы», в окне ко-торой отображается текущее время, дата и день недели.

Page 72: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

72

ЧАСТЬ III. ЛАБОРАТОРНЫЙ ПРАКТИКУМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ Описание лабораторного практикума включает в себя учеб-

но-методические материалы к выполнению семи лабораторных работ по всем темам рабочей программы дисциплины «Основы программирования».

Работа выполняется как во время аудиторных занятий, так и в виде самостоятельной внеаудиторной работы. Выполнение ка-ждой лабораторной работы состоит из трёх этапов:

1. Подготовка и получение допуска к работе. 2. Получение индивидуального задания и выполнение ос-

новной части работы. 3. Оформление и защита отчёта о проделанной работе. В начале каждой лабораторной работы выполняется повто-

рение теоретического материала и проверка готовности к выпол-нению работы с помощью контрольных вопросов. После получе-ния допуска к выполнению работы выдаётся индивидуальный ва-риант задания для самостоятельной работы. На заключительном этапе оформляется отчёт о проделанной работе с описанием по-лученных результатов и выполняется процедура защиты отчёта.

Процедура защиты отчёта заключается в проверке: 1) правильности структуры и оформления отчёта; 2) корректности полученных результатов; 3) способности дать объяснение и необходимое обоснование

полученным результатам. Отчет должен включать в себя: 1. Титульный лист. 2. Задание на лабораторную работу. 3. Содержание отчёта. 4. Описание результатов по каждой части задания. 5. Приложение (диаграммы, тексты программ, содержание

документов и т.д.).

Page 73: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

73

Лабораторная работа № 1 ПРОГРАММЫ ДЛЯ ЭВМ. ПРИКЛАДНОЕ

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Цели и задачи лабораторной работы

Целями выполнения лабораторной работы являются: 1. Закрепление знаний о видах и назначении программных

средств ЭВМ. Изучение области применения и функцио-нальных возможностей современного программного обеспечения.

2. Приобретение практических навыков анализа программ-ного обеспечения, установленного на персональном ком-пьютере.

В процессе выполнения лабораторной работы решаются следующие задачи:

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

2. Составляется отчёт об установленном системном и при-кладном программном обеспечении.

3. Проверяется наличие обновлений и новых версий про-граммного обеспечения.

Краткие теоретические сведения Программа – это последовательность команд компьютера,

приводящая к решению поставленной задачи. Программный продукт – это комплекс компьютерных про-

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

Программное обеспечение (ПО) – это совокупность про-грамм, которые могут выполняться на компьютере.

Page 74: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

74

Программа-сервер – это программа, предоставляющая ка-кие-либо услуги по компьютерной сети.

Программа-клиент – это программа, получающая какие-либо услуги по компьютерной сети.

Пакет программ – это совокупность программ со сходным интерфейсом, объединённых производителем, которые выполня-ют различные функции по определённой тематике.

По сфере использования на ПК программы делятся на: 1) системные, обеспечивающие работу всех систем ПК; 2) прикладные, которые позволяют прикладывать возмож-

ности ПК к какой-либо предметной области; 3) инструментальные, содержащие инструменты для созда-

ния новых программ. Программное обеспечение делится на: 1) системное программное обеспечение (СПО); 2) прикладное программное обеспечение (ППО); 3) инструментарий технологии программирования. Системная программа – программный продукт, предостав-

ляющий пользователю вспомогательные услуги по взаимодейст-вию с файловой системой и аппаратным обеспечением.

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

Инструментальная программа – программный продукт, по-зволяющий создавать новые программы с помощью каких-либо языков программирования.

К прикладным программам относятся: 1. Программы обработки текста (текстовые редакторы, из-

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

2. Программы обработки таблиц и массивов данных (таб-личные процессоры, системы управления базами данных, утилиты баз данных).

3. Программы обработки графических изображений (графи-ческие редакторы, программы деловой и презентацион-ной графики, программы инженерной графики, картогра-фические программы, программы анимации).

Page 75: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

75

4. Программы обработки аудио-видеосигналов (звуковые программы, видеопрограммы, системы мультимедиа, программы виртуальной реальности).

5. Программы обработки чисел (программы-калькуляторы, математические системы, статистические системы, сис-темы моделирования).

6. Программы обработки знаний (системы искусственного интеллекта, экспертные системы, системы управления ба-зами знаний, обучающие программы, программы тести-рования).

7. Коммуникационные программы (браузеры, почтовые программы, клиенты сетевых служб).

8. Программы автоматизации работ (системы делопроиз-водства, бухгалтерские, экономические, юридические, управленческие и др. программы).

К ППО относятся комплексы взаимосвязанных программ для решения функциональных и вычислительных задач опреде-лённого класса в некоторой предметной области. Отдельными видами прикладных программ являются:

1) Текстовый редактор – программа для создания и редак-тирования текстовых документов.

2) Табличный процессор – программа для создания и обра-ботки электронных таблиц с данными.

3) Система управления базами данных (СУБД) – про-граммное средство для создания и обработки баз дан-ных.

4) Графический редактор – программа для создания и об-работки рисунков, картинок, графических изображений.

5) Программа презентационной графики – программа для создания и обработки электронных презентаций со слайдами.

6) Программа инженерной графики (или система автома-тизированного проектирования) – программа для созда-ния чертежей, а также для проектирования трёхмерных деталей и сооружений.

Page 76: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

76

7) Картографическая программа (геоинформационная система) – программа для оцифровки снимков местно-сти и для создания на их основе географических карт.

8) Система мультимедиа – программа, позволяющая об-рабатывать текст, рисунки, видео, звук и др. виды ин-формации.

9) Математическая система – программа для математи-ческой обработки числовых данных и для проведения аналитических преобразований.

10) Экспертная система – программа, содержащая знания экспертов в некоторой предметной области и выдающая советы по действиям в конкретных ситуациях.

11) Браузер – программа для просмотра Web-сайтов в сети Интернет и других гипертекстовых документов.

12) Бухгалтерская программа – программа, позволяющая автоматизировать ведение бухгалтерской документации.

Контрольные вопросы для допуска к работе 1. Программные средства ЭВМ. 2. Программа. Программный продукт. 3. Программное обеспечение. Версии ПО. Обновления ПО. 4. Программа-сервер. Программа-клиент. 5. Пакет программ. 6. Виды программного обеспечения. 7. Системное программное обеспечение. 8. Прикладное программное обеспечение. 9. Инструментарий технологии программирования.

Порядок выполнения работы Содержание индивидуального задания определяется конфи-

гурацией персонального компьютера и составом установленного на нём системного и прикладного программного обеспечения.

В процессе выполнения лабораторной работы необходимо: 1. Выполнить анализ системного программного обеспече-

ния имеющегося в распоряжении персонального компью-тера, в том числе: 1.1) операционной системы;

Page 77: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

77

1.2) программы BIOS; 1.3) драйверов установленных устройств.

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

3. Составить общий отчёт об установленном на компьютере программном обеспечении. Привести в отчёте следующие данные о программных продуктах: 3.1) название; 3.2) версия; 3.3) общее назначение; 3.4) характеристики; 3.5) функциональные возможности.

4. Проверить установленное программное обеспечение на наличие: 4.1) функциональных обновлений; 4.2) пакетов для исправления ошибок; 4.3) новых версий.

5. Перечислить требования системного и прикладного про-граммного обеспечения к аппаратным средствам компью-тера: 5.1) требования к оперативной памяти; 5.2) требования к месту на жёстком диске; 5.3) требования к общему быстродействию компьютера; 5.4) требования к видеокарте; 5.5) прочие требования.

6. Для установленных на компьютере программ найти и описать аналоги, имеющие такое же назначение и схожую функциональность.

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

бораторной работы может выступать: 1. Компьютер общего пользования, установленный в вы-

числительной лаборатории. 2. Собственный компьютер обучаемого (ноутбук).

Page 78: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

78

Лабораторная работа № 2 СОВРЕМЕННЫЕ МЕТОДОЛОГИИ

РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Цели и задачи лабораторной работы Целями выполнения лабораторной работы являются: 1. Закрепление имеющихся знаний о проектах разработки

ПО, методах управления программными проектами, стан-дартах процесса разработки и жизненного цикла ПО.

2. Закрепление имеющихся знаний о современных методо-логиях разработки программного обеспечения.

3. Приобретение навыков анализа требований, условий и ограничений проекта создания информационной системы (ИС) и оценки трудоёмкости его реализации.

4. Приобретение навыков составления планов разработки ИС на основе положений и рекомендаций различных ме-тодологий разработки ПО.

В процессе выполнения лабораторной работы решаются следующие задачи:

1. Выполняется анализ постановки задачи. Готовятся ис-ходные данные для планирования. Формулируются огра-ничения и условия разработки ИС.

2. На основе требований к ИС определяются характеристи-ки программного проекта. Оценивается сложность, мас-штаб и реализуемость проекта.

3. Разрабатывается документ «Техническое задание», опи-сывающий требования к ИС.

4. Составляется план итеративной разработки ИС на основе положений и рекомендаций методологии MSF.

5. Составляется план итеративной разработки ИС на основе положений и рекомендаций методологии RUP.

Page 79: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

79

Контрольные вопросы для допуска к работе 1. Методология MSF. Модели и дисциплины MSF. 2. Модель процесса MSF. Итеративная разработка. 3. Структура модели жизненного цикла MSF. Вехи и фазы. 4. Методология RUP. 5. Модель процесса разработки RUP. Фазы и итерации. 6. Дисциплины RUP.

Порядок выполнения работы Вариант индивидуального задания определяет ИС, для соз-

дания которой необходимо составить план разработки на основе положений и рекомендаций двух методологий разработки про-граммного обеспечения: MSF и RUP.

Рассматриваются следующие виды ИС: 1) СЭДО – системы электронного документооборота; 2) САБП – системы автоматизации бизнес-процессов; 3) ГИС – геоинформационные системы. В процессе выполнения лабораторной работы необходимо: 1. Подготовить исходные данные для планирования:

1.1. Общее описание некоторой ИС (назначение, область применения, решаемые задачи, технологические осо-бенности реализации и внедрения).

1.2. Ограничения и условия разработки (требования за-казчика, возможности команды разработчиков, сроки разработки, бюджет проекта и т.д.).

2. Составить документ «Техническое задание» с подробным описанием концептуальных и функциональных требова-ний к ИС.

3. Составить план разработки ИС с применением положе-ний и рекомендаций методологии Microsoft Solutions Framework: 3.1. Составить эскизный план разработки ИС на основе

модели ЖЦ, описанной в модели процессов MSF. 3.2. Определить примерное количество итераций, необ-

ходимое для разработки ИС. 3.3. Рассматривая последовательно каждую итерацию,

сформировать комплект проектной документации,

Page 80: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

80

состоящий из документов «План итерации № …» План каждой итерации должен включать в себя сле-дующие разделы: 3.3.1) для фазы «Выработка концепции» – постанов-

ку задачи на разработку соответствующей вер-сии ИС;

3.3.2) для фазы «Планирование» – описание органи-зационных и технических проектных решений по разработке ИС;

3.3.3) для фазы «Разработка» – характеристику ожи-даемых результатов разработки очередной вер-сии ИС;

3.3.4) для фазы «Стабилизация» – набор контроль-ных тестов для валидации и верификации про-граммного обеспечения ИС;

3.3.5) для фазы «Внедрение» – описание мероприя-тий по переходу пользователей на новую вер-сию ИС.

3.4. Объединить документы, составленные по отдельным итерациям, в единый отчёт «Планирование разработ-ки ИС на основе методологии MSF».

4. Составить план разработки ИС с применением положе-ний и рекомендаций методологии Rational Unified Process: 4.1. Составить эскизный план разработки ИС на основе

модели ЖЦ, описанной в модели процессов RUP. 4.2. Определить примерное количество итераций, необ-

ходимое для разработки ИС. Распределить итерации по фазам процесса разработки (начальная фаза, фаза уточнения, фаза конструирования, фаза внедрения).

4.3. Рассматривая последовательно каждую фазу, сфор-мировать комплект проектной документации, со-стоящий из документов «План фазы …» План каж-дой фазы должен включать в себя следующие разде-лы: 4.3.1) постановку задачи на разработку соответст-

вующей версии ИС;

Page 81: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

81

4.3.2) описание организационных и технических проектных решений по разработке ИС;

4.3.3) характеристику ожидаемых результатов разра-ботки очередной версии ИС;

4.3.4) набор контрольных тестов для валидации и ве-рификации программного обеспечения ИС;

4.3.5) описание мероприятий по переходу пользова-телей на новую версию ИС.

4.4. Объединить документы, составленные по отдельным фазам процесса разработки, в единый отчёт «Плани-рование разработки ИС на основе методологии RUP».

Варианты индивидуальных заданий 1. ИС «Телефонный справочник» (поисковая система). 2. ИС «Библиотека» (информационно-справочная система,

поисковая система). 3. ИС «Издательство» (СЭДО, САБП). 4. ИС «Поликлиника» (СЭДО, информационно-справочная

система). 5. ИС «Школа» (обучающая система, информационно-

справочная система). 6. ИС «Ателье» (САБП). 7. ИС «Склад» (САБП). 8. ИС «Торговля» (САБП, СЭДО). 9. ИС «Автосалон» (САБП, СЭДО). 10. ИС «Продажа подержанных автомобилей» (информаци-

онно-справочная система, поисковая система). 11. ИС «Автосервис» (САБП). 12. ИС «Пассажирское автопредприятие» (САБП, СЭДО). 13. ИС «Диспетчерская служба такси» (ГИС, СЭДО). 14. ИС «Агентство по продаже авиабилетов» (информаци-

онно-справочная система, поисковая система). 15. ИС «Туристическое агентство» (информационно-

справочная система, поисковая система). 16. ИС «Гостиница» (информационно-справочная система,

СЭДО).

Page 82: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

82

Лабораторная работа № 3 ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ.

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Цель и задачи лабораторной работы Целью выполнения лабораторной работы изучение объект-

но-ориентированного программирования на языке PascalABC, за-крепление навыков разработки объектно-ориентированных кон-сольных приложений в ИСР PascalABC.NET, а также практиче-ское применение средств реализации полиморфизма: динамиче-ского перекрытия, виртуальных и абстрактных методов.

В процессе выполнения лабораторной работы решаются следующие задачи:

1. Разрабатывается консольное приложение «Lab02_01», ил-люстрирующее на примере иерархии классов транспортных средств реализацию полиморфизма с помощью виртуальных ме-тодов и динамического перекрытия.

2. Разрабатывается консольное приложение «Lab02_02», ил-люстрирующее на примере иерархии классов геометрических фи-гур описание и использование абстрактных методов.

Контрольные вопросы для допуска к работе 1. Язык программирования PascalABC. 2. Интегрированная среда разработки PascalABC.NET. 3. Платформа Microsoft .NET. 4. Использование библиотек платформы .NET в программах

на языке PascalABC.NET. 5. Ключевые особенности языка PascalABC.NET. 6. Расширения языка PascalABC.NET. 7. Возможности языка PascalABC.NET для создания про-

грамм с графическим интерфейсом пользователя.

Page 83: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

83

Порядок выполнения работы 1. Запустите ИСР PascalABC.NET. Создайте новое

консольное приложение. Сохраните файлы проекта в каталог «H:\PIAS\Lab02\Lab02_01\». Создайте новый модуль «Transport.pas» и сохраните его в этот же каталог.

2. Наберите текст модуля, иллюстрирующего реализацию полиморфизма на примере иерархии классов транспортных средств:

unit Transport; interface type CTransport = class Speed, Heading : Real; procedure Move; virtual; procedure Stop; virtual; end; CCar = class (CTransport) procedure Move; override; procedure Stop; override; end; CPlane = class (CTransport) procedure Move; override; procedure Stop; override; end; CShip = class (CTransport) procedure Move; override; procedure Stop; override; end; implementation procedure CTransport.Move; begin WriteLn(‘ Транспортное средство начало движение’); WriteLn(‘ со скоростью ’, Speed:6:2 , ‘ км/ч’); WriteLn(‘ курсом ’, Heading:6:2, ‘ градусов.’); end;

Page 84: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

84

procedure CTransport.Stop; begin WriteLn(‘ Транспортное средство прекратило движение.’); end; procedure CCar.Move; begin WriteLn(‘ Автомобиль отъехал от обочины,’); WriteLn(‘ разогнался до скорости ’, Speed:6:2 , ‘ км/ч’); WriteLn(‘ и движется курсом ’, Heading:6:2, ‘ градусов.’); end; procedure CCar.Stop; begin WriteLn(‘ Автомобиль затормозил и остановился у обочины.’) end; procedure CPlane.Move; begin WriteLn(‘ Самолет выполнил взлет и летит сейчас’); WriteLn(‘ со скоростью ’, Speed:6:2 , ‘ км/ч’); WriteLn(‘ курсом ’, Heading:6:2 , ‘ градусов.’); end; procedure CPlane.Stop; begin WriteLn(‘ Самолет выполнил посадку.’); end; procedure CShip.Move; begin WriteLn(‘ Корабль отошел от пристани, ’); WriteLn(‘ лег на курс ’, Heading:6:2 , ‘ градусов’); WriteLn(‘ и движется со скоростью ’, Speed:6:2 , ‘ км/ч.’) end; procedure CShip.Stop; begin WriteLn(‘ Корабль остановился.’); end; end.

Page 85: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

85

3. Вставьте в текст основной программы объявления переменной класса CTransport и операторы:

var Transp : CTransport; begin Randomize; Writeln(‘Transp – объект класса CTransport’); Transp := CTransport.Create(); Transp.Speed := Random(500)+1; Transp.Heading := Random(360); Transp.Move(); Transp.Stop(); Transp.Free(); Writeln; Writeln(‘Transp – объект класса CCar’); Transp := CCar.Create(); Transp.Speed := Random(200)+1; Transp.Heading := Random(360); WriteLn(‘Транспортное средство не двигается.’); WriteLn(‘Нажмите <Enter>’); ReadLn; Transp.Move(); WriteLn(‘Транспортное средство начало движение.’); WriteLn(‘Нажмите <Enter>’); ReadLn; Transp.Stop(); WriteLn(‘Транспортное средство остановлено.’); WriteLn(‘Нажмите <Enter>’); ReadLn; Transp.Free(); ReadLn end.

4. Запустите программу. Обратите внимание на текст, выводимый в окно консольного приложения. Завершите работу программы.

5. Добавьте в текст программы объявления следующих переменных:

Car : CCar; Ship : CShip; Plane : CPlane;

Page 86: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

86

T : array of CTransport; I : Integer;

6. Перед последним вызовом процедуры ReadLn добавьте в текст программы операторы:

Car := CCar.Create(); Car.Speed := Random(200)+1; Car.Heading := Random(360); Car.Move(); Car.Stop(); Plane := CPlane.Create(); Plane.Speed := Random(1000)+301; Plane.Heading := Random(360); Plane.Move(); Plane.Stop(); Ship:= CShip.Create(); Ship.Speed := Random(100)+1; Ship.Heading := Random(360); Ship.Move(); Ship.Stop(); WriteLn(‘Автомобиль, Самолет и Корабль’, ‘ не двигаются.’); WriteLn(‘Нажмите <Enter>’); ReadLn; SetLength(T, 3); T[0] := Car; T[1] := Plane; T[2] := Ship; for I:=0 to 2 do T[I].Move(); WriteLn(‘Автомобиль, Самолет и Корабль’, ‘ начали движение.’); WriteLn(‘Нажмите <Enter>’); ReadLn; for I:=0 to 2 do T[I].Stop(); WriteLn(‘Все транспортные средства остановлены.’); for I:=0 to 2 do

Page 87: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

87

T[I].Free(); T := nil;

7. Запустите программу. Обратите внимание на текст, выводимый в окно консольного приложения. Завершите работу программы.

8. Самостоятельно доработайте программу, добавив в иерархию классов транспортных средства классы CTrain (поезд) и CHelicopter (вертолет). Увеличьте размер массива T до пяти элементов и, по аналогии с уже имеющимися объектами, опишите, создайте и используйте в качестве элементов массива T объекты классов CTrain и CHelicopter.

9. Завершите работу над проектом «Lab02_01». 10. Создайте новое консольное приложение. Сохраните

файлы проекта в каталог «H:\PIAS\Lab02\Lab02_02\». Создайте новый модуль «Figure.pas» и сохраните его в этот же каталог.

11. Наберите текст модуля, иллюстрирующего реализацию полиморфизма на примере иерархии классов геометрических фигур:

unit Figure; interface type CFigure = class procedure InputDataAndCalcS; procedure InputData; virtual; abstract; function S : Real; virtual; abstract; end; CRect = class (CFigure) a, b : Real; procedure InputData; override; function S : Real; override; end; CCircle = class (CFigure) r : Real; procedure InputData; override;

Page 88: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

88

function S : Real; override; end; implementation procedure CFigure.InputDataAndCalcS; begin InputData(); WriteLn( ‘Площадь фигуры S = ’, S():8:3 ) end; procedure CRect.InputData; begin WriteLn(‘Введите размеры сторон прямоугольника:’); ReadLn(a,b) end; function CRect.S : Real; begin S := a*b end; procedure CCircle.InputData; begin WriteLn(‘Введите радиус круга:’); ReadLn(r) end; function CCircle.S : Real; begin S := PI * r * r; end; end.

12. Вставьте в текст основной программы объявления переменных и операторы:

var F : array of CFigure; I, Kind : Integer; STotal : Real; begin SetLength(F, 5); STotal := 0;

Page 89: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

89

for I := 0 to 4 do begin WriteLn(‘Задайте вид ’, I, ‘-й фигуры’); WriteLn(‘1 - круг, 2 - прямоугольник’); ReadLn(Kind); case Kind of 1: F[I] := CCircle.Create(); 2: F[I] := CRect.Create(); else WriteLn(‘Ошибка!’); ReadLn end; F[I].InputDataAndCalcS(); STotal := STotal + F[I].S(); end; WriteLn(‘Общая площадь всех фигур STotal = ’ + FloatToStr(STotal) ); for I:=0 to 4 do F[I].Free(); F := nil; ReadLn end.

13. Запустите программу. Задавайте вид фигур и вводите данные об их размере. Обратите внимание на текст, выводимый в окно консольного приложения. Завершите работу программы.

14. Самостоятельно доработайте программу таким образом, чтобы с ее помощью кроме круга и прямоугольника можно быть вычислять площади и таких геометрических фигур, как квадрат, треугольник, параллелограмм, ромб, кольцо. Для этого в модуле «Figure.pas» выполните описание и реализацию классов-потомков CSquare, CTriangle, CRing и др., а в основной программе – предусмотрите возможность создания экземпляров этих классов и вызова их методов. Найдите значение суммарной площади всех фигур.

Page 90: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

90

Лабораторная работа № 4 ПЛАТФОРМА MICROSOFT .NET И ОСНОВЫ РАБОТЫ В СРЕДЕ MICROSOFT VISUAL STUDIO

Цели и задачи выполнения лабораторной работы Целями выполнения лабораторной работы являются: 1. Знакомство с ИСР Microsoft Visual C#. 2. Приобретение навыков разработки, тестирования и от-

ладки простейших консольных приложений в ИСР Microsoft Visual C#.

В процессе выполнения лабораторной работы решаются следующие задачи:

1. Отрабатываются основные операции по работе с проек-том консольного приложения в ИСР Microsoft Visual C# (создание проекта, редактирование кода, сохранение из-менений и т.д.).

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

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

Порядок выполнения лабораторной работы 1. Запустите ИСР Microsoft Visual C#. 2. В меню Файл выберите пункт Создать проект. На экране

появится окно с перечнем всех видов проектов, которые можно создавать в среде разработки Microsoft Visual C#.

3. В основной части окна Создать проект выберите шаблон Консольное приложение, а в поле Имя в нижней части

Page 91: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

91

окна введите название первого проекта в данной лабора-торной работе: Lab04.

4. Для создания проекта консольного приложения с задан-ным именем нажмите в окне Создать проект кнопку ОК.

5. Переключитесь на вкладку Начальная страница путём выполнения щелчка левой кнопки мыши по заголовку вкладки. После переключения на эту вкладку закройте её, выбрав в меню Файл пункт Закрыть.

6. Ознакомьтесь с текстом программы, отображаемой на вкладке Program.cs. Обращайте внимание на возможно-сти редактора кода: подсветку синтаксиса, возможность сворачивания блоков программы, появление всплываю-щих подсказок при наведении указателя мыши и др. Сравните автоматически созданную заготовку новой про-граммы с примерами из курса лекций.

7. Для просмотра структуры решения, открытого в среде разработки и входящего в его состав проекта, откройте панель Обозреватель решений. Для этого в меню Вид выберите пункт Обозреватель решений.

8. Панель Обозреватель решений по умолчанию является всплывающей: она автоматически скрывается, если не яв-ляется активной. Для того чтобы панель отображалась в среде разработки постоянно, нажмите кнопку Автомати-чески скрывать в заголовке этой панели.

9. Сохраните все файлы, входящие в состав созданного про-екта нового консольного приложения. Для этого в меню Файл выберите пункт Сохранить все. После выбора это-го пункта на экране появится окно Сохранить проект.

10. Задайте в качестве расположения файлов текущего ре-шения путь к каталогу: H:\Lab04.

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

12. Закройте файл Program.cs, открытый в редакторе кода. Для этого в меню Файл выберите пункт Закрыть.

Page 92: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

92

13. Выполните двойной щелчок по элементу Program.cs ие-рархического дерева решения, отображаемого в панели Обозреватель решений. В результате выполнения этого действия будет снова открыта вкладка редактора кода с загруженным в неё текстом файла программы Program.cs.

14. Переведите панель Обозреватель решений в состояние, при котором она в неактивном состоянии будет автома-тически скрываться.

15. Запустите программу на выполнение. Для этого необхо-димо выполнить одно из следующих действий: выбрать в меню Отладка пункт Начать отладку, воспользоваться кнопкой с пиктограммой зелёного треугольника на па-нели инструментов или нажать клавишу <F5> на клавиа-туре. Обратите внимание на то, что после запуска про-граммы и создания окна консольного приложения оно будет сразу закрыто.

16. Измените текст программы таким образом, чтобы после её запуска пользователю предлагалось бы ввести своё имя, после чего программа выводила бы приветственное сообщение. Для решения этой задачи в код метода Main добавьте следующие операторы:

Console.WriteLine("Приложение Lab04."); Console.WriteLine("Введите своё имя:"); string name = Console.ReadLine(); Console.WriteLine("Здравствуйте, " + name + "!"); Console.WriteLine("Для завершения работы " + "программы нажмите любую клавишу."); Console.ReadKey();

17. Запустите программу на выполнение. Если в процессе

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

18. Попробуйте изменить размер и расположение окна кон-сольного приложения на экране. Обратите внимание на связанную с выполняемым приложением кнопку, кото-

Page 93: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

93

рая была создана на панели задач Windows после запус-ка приложения.

19. Не выполняя никаких действий в консольном приложе-нии, переключитесь в среду разработки с помощью кнопки Lab04 (Выполнение) на панели задач Windows или сочетания клавиш <Alt>+<Tab>. Обратите внимание на изменения во внешнем виде среды разработки, про-изошедшие после запуска разрабатываемого приложе-ния Lab04.

20. Переключитесь обратно в консольное приложение Lab04. Для продолжения работы с программой введите Ваше имя и нажмите клавишу Enter. На экран должно быть выведено приветственное сообщение, включающее в себя ранее введённое имя.

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

22. Откройте и закрепите на экране панель Обозреватель решений. Закройте вкладку окна редактора кода с тек-стом программы.

23. Завершите работу над приложением, закрыв в среде раз-работки решение Lab04. Для этого в меню Файл выбе-рите пункт Закрыть решение. Обратите внимание на изменения во внешнем виде среды разработки, произо-шедшие после закрытия решения.

24. Откройте решение Lab04 из каталога, который был ука-зан Вами в окне Сохранить проект при выполнении од-ного из предыдущих пунктов. Для этого в меню Файл выберите пункт Открыть проект. В результате выпол-нения этого действия на экране появится окно диалога, в котором в структуре каталогов необходимо найти и за-тем выбрать файл решения Lab04.sln.

25. Запустите приложение. Проверьте правильность его ра-боты. Завершите работу приложения. Закройте решение. Закройте среду разработки.

Page 94: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

94

Лабораторная работа № 5 ЯЗЫК ПРОГРАММИРОВАНИЯ C#

Цели и задачи лабораторной работы Целями выполнения лабораторной работы являются: 1. Приобретение практических навыков реализации на язы-

ке программирования C# алгоритмов линейной структу-ры и алгоритмов с ветвлениями.

2. Закрепление навыков разработки, тестирования и отладки консольных приложений в интегрированной среде разра-ботки (ИСР) Microsoft Visual C#.

В процессе выполнения лабораторной работы решаются следующие задачи:

1. На примере решения конкретных задач изучаются воз-можности языка программирования C#по реализации ал-горитмов линейной и разветвляющейся структуры.

2. Осваиваются возможности ИСР Microsoft Visual C# для отладки программ. Приобретаются навыки отладки кон-сольных приложений.

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

Порядок выполнения работы Задание 1. Вычисление значений выражений Разработайте консольное приложение для вычисления зна-

чений 1z и 2z по формулам, которые определяются в соответст-вии с имеющимся номером варианта из табл. 5.1 (номер варианта выдаётся преподавателем перед выполнением лабораторной ра-боты).

Page 95: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

95

Таблица 5.1 №

вар. 1z 2z

1. 2 2

1 2sin 3 2 cos 5 2z 21 1 5sin 84 4 2

z

2. 1 cos sin

cos3 sin3z

2 2 2 cos

sin 24

z

3. 1 2

sin 2 sin5 sin3cos 1 2sin 2

z

2 2sinz

4. 1

sin 2 sin5 sin3cos cos3 cos5

z

2 tg3z

5. 21

11 sin 2 cos24

z 2 42 cos cosz

6. 1 cos cos2

cos6 cos7z

2

54cos cos2 2

cos4

z

7. 21

2

3cos8 4

11cos8 4

z

2

2 sin2 2

z

8. 4 21

2

cos sin1 sin 2 14

z x y

x

2 sin

sin

z y x

y x

9.

21

2

cos cos

sin sin

z

22 4sin

2cos

z

10.

1

sin 32

1 sin 3z

2

5 3ctg4 2

z

Page 96: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

96

№ вар. 1z 2z

11. 2

11 2sin1 sin 2

z

2

1 tg1 tg

z

12. 1

sin 4 cos21 cos4 1 cos2

z

2

3ctg2

z

13. 1

sin cos 2cos sin 2

z

21 sin 2

cos2z

14. 1

cos sincos sin

z

2 tg 2 sec2z

15. 2

1 2

2 2 44 2

b bzb b

21

2z

b

16.

2 2

1 2 2

2 3 1 9

2 3 1 9

x x x xz

x x x x

2

33

xzx

17. 2

1

3 2 2423

m mz

mm

2z m

18. 1

2 22 2 2 2

22

a aza a a aaa

21

2z

a

19. 2

1 2 2

2 2

5 21 122 2

aza a a a

a a a a

2

24

2az

20. 1 3 2

1 1m m n nz

m n nm m m

2

m nzm

Задание 2. Вычисление значения функции Разработайте консольное приложение для вычисления зна-

чения функции y f x в зависимости от одного заданного

Page 97: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

97

пользователем значения аргумента x . Другие дополнительные данные, необходимые для вычисления значения функции, также вводятся пользователем.

Функция y f x задана графическим способом. График функции определяется в соответствии с имеющимся номером ва-рианта из табл. 5.2 (номер варианта выдаётся преподавателем пе-ред выполнением лабораторной работы).

Таблица 5.2 №

вар. График функции y f x

1.

2.

3.

Page 98: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

98

№ вар.

График функции y f x

4.

5.

6.

7.

Page 99: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

99

№ вар.

График функции y f x

8.

9.

10.

11.

12.

Page 100: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

100

Задание 3. Проверка принадлежности точки заданной области на плоскости

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

Область задана графическим способом. Координаты точки и дополнительные данные, определяющие геометрию области и необходимые для решения задачи, вводятся пользователем.

Схема, на которой заданная область выделена штриховкой, определяется в соответствии с имеющимся номером варианта из табл. 5.3.

Таблица 5.3

Вариант № 1

Вариант № 2

Вариант № 3

Вариант № 4

Page 101: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

101

Вариант № 5

Вариант № 6

Вариант № 7

Вариант № 8

Вариант № 9

Вариант № 10

Page 102: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

102

Лабораторная работа № 6 РАЗРАБОТКА КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ C# Цели и задачи лабораторной работы

Целями выполнения лабораторной работы являются: 1. Приобретение практических навыков реализации на язы-

ке программирования C# алгоритмов с ветвлениями и циклами.

2. Закрепление навыков разработки, тестирования и отладки консольных приложений в интегрированной среде разра-ботки (ИСР) Microsoft Visual C#.

В процессе выполнения лабораторной работы решаются следующие задачи:

1. На примере решения конкретных задач изучаются воз-можности языка программирования C#по реализации ал-горитмов разветвляющейся и циклической структуры.

2. Осваиваются возможности ИСР Microsoft Visual C# для отладки программ. Приобретаются навыки отладки кон-сольных приложений.

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

Порядок выполнения работы Задание 1. Вывод таблицы значений функции Разработайте консольное приложение для вывода таблицы

значений функции y f x в точках, полученных делением от-резка ,a b на N равных частей. Все данные, необходимые для вычисления значений функции и вывода таблицы, вводятся поль-зователем.

Page 103: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

103

Функция y f x задана графическим способом. График функции определяется в соответствии с имеющимся номером ва-рианта из табл. 5.2 (см. описание лабораторной работы № 5).

Задача вывода таблицы должна быть решена тремя спосо-бами: с помощью цикла со счётчиком, цикла с предусловием и цикла с постусловием. Решение задачи всеми тремя способами должно быть выполнено в одном приложении и для одних и тех же исходных данных.

Задание 2. Серия «выстрелов по мишени» Разработайте консольное приложение, которое будет ими-

тировать выполнение серии «выстрелов по мишени». Количество выстрелов и другие необходимые данные задаются пользовате-лем. Для каждого «выстрела» необходимо выводить сообщение о попадании или промахе.

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

Область задана графическим способом. Схема, на которой заданная область выделена штриховкой, определяется в соответ-ствии с имеющимся номером варианта из табл. 5.3 (см. описание лабораторной работы № 5).

Задание 3. Вычисление суммы ряда с заданной точно-

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

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

Формула для вычисления суммы ряда Тейлора определяется в соответствии с имеющимся номером варианта из табл. 6.1 (в левой части формулы указана функция, которой соответствует

Page 104: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

104

ряд Тейлора, после формулы приводится область допустимых значений аргумента x ).

Таблица 6.1 №

вар. Формула и область допустимых значений x

1. 2 1 3 5

0

1 1 1 1 1ln 2 2 ... , 11 2 1 3 5n

n

x xx n x x x x

2. 2 3 4

0

11 ...,

! 2! 3! 4!

n nx

n

x x x xe x xn

3. 2 3 4

01 ...,

! 2! 3! 4!

nx

n

x x x xe x xn

4. 1 2 3 4

0

1ln 1 ..., 1

1 2 3 4

n n

n

x x x xx x xn

5. 2 1 3 5

0

1ln 2 2 ... , 11 2 1 3 5

n

n

x x x xx xx n

6.

2 3

1

ln 1 ... , 12 3

n

n

x x xx x xn

7. 1 2 1 3 5

0

1arcctg ..., 1

2 2 1 2 3 5

n n

n

x x xx x xn

8.

1

2 1 3 50

1 1 1 1acrtg ..., 12 2 1 2 3 5

n

nn

x xn x x x x

9. 2 1 3 5 7

0

1arctg ..., 1

2 1 3 5 7

n n

n

x x x xx x xn

10. 2 1 3 5 7

0arth ..., 1

2 1 3 5 7

n

n

x x x xx x xn

11. 2 1 3 5

0

1 1 1 1arth ..., 12 1 3 5n

nx x

n x x x x

Page 105: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

105

№ вар. Формула и область допустимых значений x

12.

1

2 10

3 5

1arctg

2 2 11 1 1 ..., 1

2 3 5

n

nn

xn x

xx x x

13. 22 4 6 8

2

0

11 ...,

! 2! 3! 4!

n nx

n

x x x xe x xn

14.

2 2 4 6

0

1cos 1 ...,

2 ! 2! 4! 6!

n n

n

x x x xx xn

15.

2 2 4 6

0

1sin 1 ...,2 1 ! 3! 5! 7!

n n

n

xx x x x xx n

Задание 4. Вывод таблицы значений функции, вычис-

ляемой с помощью ряда Тейлора Разработайте консольное приложение для вывода таблицы

значений функции y f x в точках, полученных делением от-резка ,a b на N равных частей. Функция y f x вычисляется как конечная сумма соответствующего ряда Тейлора с заданной пользователем точностью . Все данные, необходимые для вы-числения значений функции и вывода таблицы, вводятся пользо-вателем. Формула для нахождения значения функции определя-ется в соответствии с имеющимся номером варианта из табл. 6.1.

Page 106: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

106

Лабораторная работа № 7 РАЗРАБОТКА ПРИЛОЖЕНИЙ

С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ

Цель и задачи лабораторной работы Целью выполнения лабораторной работы является знаком-

ство с интерфейсом интегрированной среды разработки (ИСР) Borland Delphi и приобретение навыков разработки простейших приложений с графическим интерфейсом пользователя.

В процессе выполнения лабораторной работы решаются следующие задачи:

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

2. Разрабатывается приложение «Lab», иллюстрирующее обработку события onClick для формы и выполнение действий, связанных с наступлением этого события.

3. Разрабатывается приложение «Lab_02», которое при запуске приложения выводит окно сообщения; при щелчке пользователем левой кнопкой мыши в

области формы позволяет с помощью стандартного диалога выбрать файл для ввода размерности и элементов двумерного массива;

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

Page 107: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

107

Порядок выполнения работы 1. Запустите ИСР Borland Delphi. Визуально среда

реализована несколькими одновременно отображаемыми на экране окнами. Каждое окно несет в себе некоторую функциональность и предназначено для решения определенных задач. Окна могут частично или полностью перекрывать друг друга. Размер и положение окон на экране могут быть изменены с помощью мыши.

2. Найдите на экране окно формы «Form1» и измените с помощью мыши размер и положение этого окна так, чтобы ИСР приняла вид, показанный на рис. 7.1.

Рис. 7.1. Внешний вид ИСР Borland Delphi 7

3. Сохраните файлы, входящие в состав проекта, в каталоге «H:\Lab\» под именами «Lab.dpr» и «Unit1.pas».

4. Запустите программу (клавиша <F9>). Уменьшите размер окна «Form1» и измените его местоположение на экране c помощью «мыши».

Page 108: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

108

5. С помощью сочетания клавиш <Alt>–<Tab> или кнопок на панели задач переключитесь в ИСР Delphi. Обратите внимание на изменения интерфейса Delphi после запуска программы: были закрыты некоторые окна ИСР, включая окно формы «Form1» с сеткой из черных точек (сеткой привязки).

6. Переключитесь обратно в приложение «Lab». Закройте приложение, нажав на кнопку «Закрыть» (кнопку с «крестиком») в строке заголовка окна «Form1».

7. Закройте текущий проект (проект приложения «Lab»). 8. Откройте с диска проект «Lab». Запустите программу и

убедитесь в работоспособности приложения «Lab». Завершите работу приложения.

9. Закройте следующие окна: окно формы «Form1», окно редактора кода программы (заголовок «Unit1.pas»), окно «Object TreeView», окно «Object Inspector». Перечислен-ные окна могут перекрывать друг друга, поэтому последовательность закрытия окон может быть другой.

10. Откройте окно «Project Manager» (<Ctrl>–<Alt>–<F11>). Нажатием на пиктограммы со значком «+», стоящие в узлах древовидной иерархической структуры проекта, раскройте ветви «Lab.exe», а затем «Unit1».

11. Закройте окно «Project Manager». Откройте окно «View Unit» (<Ctrl>–<F12>). В списке файлов выберите файл проекта «Lab».

12. Откройте окно «View Unit» и выберите модуль «Unit1». 13. Используя клавишу <F12>, переключитесь несколько раз

на форму «Form1» и обратно в окно редактора кода. 14. Находясь в окне редактора кода, нажмите сочетание

клавиш <Shift>–<F12>. В открывшемся окне «View Form» выберите форму «Form1».

15. Нажав клавишу <F11>, откройте окно «Object Inspector» («Инспектор объектов»). Выпадающий список в верхней части этого окна содержит имя формы «Form1» и имя класса «TForm1».

16. В инспекторе объектов переключитесь на закладку «Events», а затем обратно на закладку «Properties».

Page 109: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

109

17. Найдите свойство Color на закладке свойств «Properties» в левой колонке. Раскрыв выпадающий список в правой колонке напротив свойства Color, выберите другой цвет (определяемый, например, константой clBlue).

18. Найдите свойство Caption. Введите в поле справа текст, представляющий собой Вашу фамилию, имя и отчество.

19. Запустите приложение. Обратите внимание на цвет окна и на строку, отображаемую в его заголовке. Сохраните для отчета изображение окна приложения. Завершите работу приложения.

20. В инспекторе объектов переключитесь на закладку событий («Events»). Найдите событие onClick в левой колонке. Сделайте двойной щелчок левой кнопкой мыши в пустом поле в правой колонке напротив имени события.

21. В обработчик события onClick (в тело процедуры TForm1.FormClick) поместите оператор присваивания:

Color := clYellow;

22. Запустите приложение. Выполните щелчок кнопкой мыши в области окна приложения.

23. Выполните щелчок еще раз. Обратите внимание на то, что повторный щелчок не привел к смене цвета окна, поскольку свойство Color уже имело значение константы clYellow. Завершите работу приложения.

24. В обработчик события onClick после оператора присваивания добавьте следующий оператор (в качестве параметра процедуры ShowMessage задайте строку, представляющую собой Ваши фамилию, имя и отчество):

ShowMessage(‘Иванов Василий Петрович’);

25. Запустите приложение. Выполните щелчок кнопкой мыши в области окна. Обратите внимание на изменение цвета формы и появление окна сообщения. Сохраните для отчета изображение экрана с окном приложения и окном сообщения.

Page 110: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

110

26. Закройте окно сообщения, нажав на кнопку «ОК». Еще раз выполните щелчок кнопкой «мыши» в области окна.

27. Закройте окно сообщения и завершите работу приложения. Сохраните все файлы проекта и закройте проект.

28. С помощью подпункта «Application» пункта «New» раздела «File» главного меню ИСР Delphi создайте новое приложение.

29. Сохраните файлы, входящие в состав проекта, в каталоге «H:\Lab_02\» под именами «Lab_02.dpr» и «Unit1.pas».

30. В текстовом редакторе создайте файл «data.txt». В первой строке укажите количество строк и столбцов двумерного массива, а в следующих строках – произвольные значения элементов двумерного массива вещественных чисел. Сохраните файл в той же папке, что и сам проект «Lab_02».

31. С помощью инспектора объектов для формы Form1 создайте обработчик события onCreate. Добавьте в него оператор для отображения на экране окна сообщения с текстом «Щелкните в области окна и выберите необходимый файл».

32. Запустите приложение. Сохраните для отчета изображение экрана с окном сообщения, отображаемого при наступлении события onCreate. Обратите внимание на порядок появления окна сообщения и основного окна приложения.

33. Выполните щелчок кнопкой мыши в области окна (видимая реакция формы на щелчок будет отсутствовать). Закройте приложение.

34. В разделе interface модуля Unit1.pas объявите переменные DataFileName типа string и FileIsSelected типа Boolean.

35. Создайте обработчик события onClick. 36. В обработчике события onClick объявите локальную

переменную MyOpenDialog типа TOpenDialog. 37. В теле обработчика события onClick наберите

следующий текст:

Page 111: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

111

MyOpenDialog := TOpenDialog.Create(Form1); if MyOpenDialog.Execute then begin FileIsSelected := true; DataFileName := MyOpenDialog.FileName; ShowMessage(‘Вы выбрали файл ’ + DataFileName) end else begin end;

38. Запустите программу. Закройте окно сообщения. Щелкните в области окна «Form1». Сохраните для отчета изображение экрана с окном приложения и окном диалога для выбора файла. В открывшемся диалоге выберите созданный Вами ранее текстовый файл «data.txt» и нажмите кнопку «Открыть».

39. Закройте сообщение с именем выбранного файла и повторно щелкните в области окна формы Form1. В открывшемся диалоге откажитесь от выбора файла, нажав кнопку «Отмена». Завершите работу приложения.

40. Добавьте в обработчик события onClick оператор, который в случае если метод Execute возвращает значение false, выводит на экран сообщение «Выбор файла не состоялся».

41. Запустите программу. Закройте окно первого сообщения. Щелкните в области окна «Form1». Выберите файл и нажмите кнопку «Открыть».

42. Закройте окно сообщения с именем выбранного файла. Щелкните в области окна «Form1». Откажитесь от выбора файла. Сохраните для отчета изображение экрана с окном приложения и окном сообщения о том, что файл не был выбран. Закройте окно сообщения. Завершите работу приложения.

43. Создайте обработчик события onClose для формы Form1. 44. В обработчике события onCreate присвойте логической

переменной FileIsSelected значение false. 45. В обработчике события onClose наберите следующий

фрагмент программы:

Page 112: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

112

if FileIsSelected then begin ShowMessage(‘Файл был выбран.’); ShowMessage(‘Значение переменной ’ + ‘DataFileName равно ’ + DataFileName) end else begin ShowMessage(‘Файл не был выбран.’) end;

46. Запустите программу. Щелкните в области окна «Form1». Выберите файл исходных данных.

47. Закройте окно «Form1» для завершения работы приложения. Обратите внимание на появление окна сообщения «Файл был выбран». Закройте окно сообщения. Обратите внимание на появление окна сообщения со значением переменной DataFileName. Сохраните для отчета изображение экрана с окном приложения и окном сообщения со значением переменной DataFileName. Закройте окно сообщения.

48. Запустите программу. Щелкните в области окна. Откажитесь от выбора файла. Завершите работу приложения. Обратите внимание на сообщение «Файл не был выбран», появляющееся при закрытии окна «Form1».

49. Доработайте приложение так, чтобы в случае если файл исходных данных был выбран, из этого файла считывались размеры и значения элементов двумерного динамического массива вещественных чисел.

Page 113: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

113

КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Современные технологии программирования. 2. Процесс разработки программного обеспечения. 3. Проектирование программного обеспечения. Специфи-

кация. Проект. 4. Проект разработки программного продукта. Управление

проектами. Признаки проекта как объекта управления. 5. Прикладное программное обеспечение. 6. Информационные системы. 7. Программные системы. 8. Методы анализа функциональных требований к про-

граммному обеспечению. 9. Жизненный цикл программной системы. 10. Назначение этапов ЖЦ: анализ, проектирование, про-

граммирование, тестирование, эксплуатация. 11. Стандартные модели жизненного цикла ПО. 12. Каскадная модель жизненного цикла. Каскадная модель

с промежуточным контролем. V-образная каскадная мо-дель.

13. Инкрементная модель жизненного цикла. 14. Спиральная модель жизненного цикла. Её достоинства и

недостатки. 15. Методологии разработки программного обеспечения. 16. Методология MSF. Модели и дисциплины. Модель про-

цесса. Вехи, фазы. 17. Методология быстрой разработки приложений RAD. 18. Алгоритмические языки программирования высокого

уровня. 19. Язык программирования Паскаль. 20. Структура программы на языке Паскаль. 21. Элементы синтаксиса языка Паскаль. 22. Типы данных языка Паскаль. 23. Операторы языка Паскаль.

Page 114: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

114

24. Язык программирования PascalABC.NET. Особенности реализации языка.

25. Интегрированная среда разработки PascalABC.NET. 26. Платформа Microsoft .NET Framework. 27. Технология разработки приложений для платформы Mi-

crosoft .NET Framework. 28. Интегрированная среда разработки Microsoft Visual

Studio. 29. Структурное программирование. 30. Процедурное программирование. 31. Модульное программирование. 32. Объектно-ориентированное программирования. 33. Объекты и классы. 34. Абстракция. Иерархия. 35. Основные концепции объектно-ориентированного про-

граммирования. 36. Инкапсуляция. Наследование. Полиморфизм. 37. Консольные приложения. Разработка консольных при-

ложений. 38. Язык программирования C#. 39. Структура программы на языке C#. 40. Элементы синтаксиса языка C#. 41. Типы данных языка C#. 42. Операторы языка C#. 43. Графический интерфейс пользователя. Разработка при-

ложений с графическим интерфейсом. 44. Визуальное программирование. 45. Проектирование пользовательского интерфейса. 46. Библиотека визуальных компонентов. Иерархия классов

визуальных и невизуальных компонентов. 47. Создание формы. Размещение визуальных компонентов. 48. Обработчики событий. Создание обработчиков событий

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

Ошибки времени выполнения. 50. Исключения. Обработка исключений.

Page 115: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

115

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Логанчук М.Л., Наугольнов О.А. Программирование на язы-ках высокого уровня: учеб.-метод. пособие к практическим занятиям и лабораторным работам; ЮРГПУ (НПИ) им. М. И. Платова. – Новочеркасск: Лик, 2016. – 43 с.

2. Подбельский В.В., Фомин С.С. Программирование на языке Си: учеб. пособие для вузов. – 2-е изд., доп. – М.: Финансы и статистика, 2005. – 600 с.

3. Гаврилов М.В., Климов В.А. Информатика и информацион-ные технологии: учебник для бакалавров. – 3-е изд., перераб. и доп. – М.: Юрайт, 2013. – 378 с.

4. Информатика. Базовый курс: учеб. пособие для вузов / под ред. С.В. Симоновича. – 2-е изд. – СПб.: Питер, 2007. – 640 с.

5. Громов А.И., Сафин М.Я. Основы информатики и вычисли-тельной техники: учеб. пособие. – 2-е изд., перераб. – М.: Изд-во РУДН, 1994. – 118 с.

6. Новожилов О.П. Информатика: учеб. пособие для бакалав-ров; Моск. гос. индустр. ун-т. – 2-е изд., исправ. и доп. – М.: Юрайт, 2014. – 564 с.

7. Острейковский В.А. Информатика: учебник для вузов. – 4-е изд. – М.: Высш. шк., 2007. – 511 с.

8. Акулов О.А., Медведев Н.В. Информатика: базовый курс: учебник для вузов. – 4-е изд. – М.: Омега-Л, 2007. – 560 с.

9. Информатика: Практикум по технологии работы на компью-тере: учеб. пособие для эконом. спец. вузов / под ред. Н. В. Макаровой. – 3-е изд., перераб. – М.: Финансы и статистика, 2005. – 256 с.

10. Молчанов А.Ю. Системное программное обеспечение: учеб-ник для вузов. – 3-е изд. – СПб.: Питер, 2010. – 400 с.

11. Олифер В.Г., Олифер Н.А. Сетевые операционные системы : учеб. пособие для вузов. – СПб.: Питер, 2005. – 539 с.

Page 116: 2017 07 30 ОснПрог единое для РИОfitu.npi-tu.ru/assets/fitu/amath/files/УП... · 2. Программы обработки таблиц и массивов данных

116

Учебно-методическое издание

Шкуропадский Иван Владимирович

ОСНОВЫ ПРОГРАММИРОВАНИЯ Учебно-методическое пособие по изучению курса,

для подготовки к практическим и семинарским занятиям и выполнению лабораторных работ (для бакалавров направления подготовки «Бизнес-информатика» и «Прикладная математика»)

Редактор Д.В. Малыгина

Подписано в печать 9.09.2015. Формат 6084 1/16. Бумага офсетная. Печать цифровая.

Усл. печ. л. 6,74. Уч.- изд. л. 6,75. Тираж 50. Заказ № __-____.

Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова

Отпечатано в ИД «Политехник» 346428, г. Новочеркасск, ул. Просвещения, 132

[email protected]