Инфоурок Другое Другие методич. материалыМетодические указания по выполнению практических работ по МДК Прикладное программирование

Методические указания по выполнению практических работ по МДК Прикладное программирование

Скачать материал

МЕТОДИЧЕСКИЕ   УКАЗАНИЯ   ДЛЯ   ОБУЧАЮЩИХСЯ

 

Ульяновский авиационный колледж –

Межрегиональный центр компетенций

Профессиональный цикл

 

 

 

 

 

 

МДК 01.02 Прикладное программирование

 

 

 

Практические работы

 

 

для специальности СПО базовой подготовки

 

09.02.03 Программирование в компьютерных системах

 

 

 

 

 

 

 

 

 

 

 

 

Ульяновск

2018

 

 

 

 

РАЗРАБОТЧИК: Кякшта М.А., преподаватель УАвиаК-МЦК

 

 

 

 

 

 

 

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

            Данные методические указания составлены в соответствии с ФГОС СПО по специальности 09.02.03 Программирование в компьютерных системах базовая подготовка

 

 

 

 

 

 

 

 

 


СОДЕРЖАНИЕ

 

 

 

стр

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

 

 

 

ПРАКТИЧЕСКИЕ РАБОТЫ

 

 

ПР 1

Программирование функций файловой системы: создание, открытие, закрытие и удаление файлов.

 

 

ПР 2

Запись данных в файл, чтение данных из файла, работа с указателем позиции файла.

 

 

ПР 3

Копирование, перемещение, замещение и удаление файла, получение информации о файле.

 

 

ПР 4

Программирование функций каталогов: создание каталога, поиск файлов в каталоге, удаление и перемещение каталога.

 

 

ПР 5

Контроль учётных данных пользователя, получение информации о пользователе, изменение учётной записи пользователя.

 

 

ПР 6

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

 

 

ПР 7

Программирование таймера и программирование буфера обмена в ОС Windows.

 

 

ПР 8

Создание консольного приложения средствами Win API.

 

 

ПР 9

Программное использование дескрипторов окна в Win API .

 

 

ПР 10

 Программирование событий Win API.

 

 

ПР 11

Программное создание интерфейса пользователя в Win API.

 

 

ПР 12

Использование классов событий и процессов Win API.

 

 

ПР 13

Программная диспетчеризация потоков.

 

 

ПР 14

Обработка ошибок в Windows.

 

 

ПР 15

Программное управление процессами в Windows.

 

 

ПР 16

Синхронизация потоков и использование функции ожидания.

 

 

ПР 17

Сервис печати в Windows.

 

 

ПР 18

Обнаружение тупиков и блокировка процессов.

 

 

ПР 19

Разработка оконных приложений на языке C#

 

 

ПР 20

Изучение базовых событий визуальных компонентов оконных приложений на языке C#

 

 

ПР 21

Использование не визуальных компонентов в разработке оконных приложений на языке C#

 

 

ПР 22

Изучение стандартных пространств имен языка C#

 

 

ПР 23

Разработка классов и их элементов в языке С#

 

 

ПР 24

Использование делегатов, перечислений и интерфейсов в программе на языке С#

 

 

ПР 25

Изучение графических средств языка  С#

 

 

ПР 26

Реализация структуры БД в MS SQL Server

 

 

ПР 27

Реализация основных действий СУБД в MS Visual Studio .NET

 

 

ПР 28

Построение запросов к БД

 

 

ПР 29

Построение отчетов по БД

 

 

ПР 30

Решение ЗЛП симплекс-методом

 

 

ПР 31

Определение начального решения транспортной задачи

 

 

ПР 32

 Решение транспортной задачи

 

 

ПР 33

Решение задачи о распределении ресурсов

 

 

 

 

 

 

 

 

 

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

 

Данные методические рекомендации предназначены для студентов по выполнению практических работ по МДК 01.02, обучающихся на специальности СПО 09.02.03 Программирование в компьютерных системах базовая подготовка

На МДК 01.02  формируются следующие образовательные результаты:

 

УМЕНИЯ

У1         осуществлять разработку кода программного модуля на современных языках программирования;

У2         создавать программу по разработанному алгоритму как отдельный модуль;

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

У4         оформлять документацию на программные средства;

У5         использовать инструментальные средства для автоматизации оформления документации;

У6          выявлять ошибки в программном коде (с учётом ПС);

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

 

ЗНАНИЯ

 

З1           основные этапы разработки программного обеспечения;

 

З2           основные принципы технологии структурного и объектно-ориентированного программирования;

 

З3           основные принципы отладки и тестирования программных продуктов;

 

З4           методы и средства разработки технической документации.

 

З5           методы повышения читаемости программного кода (с учётом ПС);

 

З6           системы кодировки символов, форматы хранения исходных текстов программ (с учётом ПС);

 

З7           типы и форматы сообщений об ошибках, предупреждений (с учётом ПС);

 

З8           методы и средства проверки работоспособности программного обеспечения (с учётом ПС)

 

ПРОФЕССИОНАЛЬНЫЕ КОМПЕТЕНЦИИ

 

ПК 1.1          Выполнять разработку спецификаций отдельных компонент.

 

ПК 1.2          Осуществлять разработку кода программного продукта на основе готовых спецификаций на уровне модуля.

 

ПК 1.3          Выполнять отладку программных модулей с использованием специализированных программных средств.

 

ПК 1.4          Выполнять тестирование программных модулей.

 

ПК 1.5          Осуществлять оптимизацию программного кода модуля.

 

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

 

ОБЩИЕ КОМПЕТЕНЦИИ

ОК 1

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

ОК 2

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

ОК 3

Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

ОК 4

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

ОК 5

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

ОК 6

Работать в коллективе и команде, эффективно общаться с коллегами, руководством, потребителями.

ОК 7

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

ОК 8

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

ОК 9

Ориентироваться в условиях частой смены технологий в профессиональной деятельности.

 

 

 

Для данного МДК 01.02, где формируются следующие образовательные результаты:

 

практ.

 

Наименование

практического занятия

Формируемые образовательные

 результаты ( У, З, ОК, ПК)

ПР 1

Программирование функций файловой системы: создание, открытие, закрытие и удаление файлов.

У1, У2,З1, З5, ПК1.1, ПК1.5,ОК1-ОК9

ПР 2

Запись данных в файл, чтение данных из файла, работа с указателем позиции файла.

У1, У2,З1, З5, ПК1.2, ОК1-ОК9

ПР 3

Копирование, перемещение, замещение и удаление файла, получение информации о файле.

У1, У2,З1, З5, ПК1.6, ОК1-ОК9

ПР 4

Программирование функций каталогов: создание каталога, поиск файлов в каталоге, удаление и перемещение каталога.

У1, У2,З1, З5, ПК1.1, ОК1-ОК9

ПР 5

Контроль учётных данных пользователя, получение информации о пользователе, изменение учётной записи пользователя.

У1, У2,З1, З5, ПК1.2, ОК1-ОК9

ПР 6

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

У1, У2,З1, З5, ПК1.2, ПК1.5, ОК1-ОК9

ПР 7

Программирование таймера и программирование буфера обмена в ОС Windows.

У2, У3,З1, З2, ПК1.4, ОК1-ОК9

ПР 8

Создание консольного приложения средствами Win API.

У2, У3,У5, У6, З1, З4, ПК1.4, ПК1.5, ОК1-ОК9

ПР 9

Программное использование дескрипторов окна в Win API .

У1, У3,З1, З3, ПК1.4, ОК1-ОК9

ПР 10

 Программирование событий Win API.

У2, У6,З1, З3, ПК1.3, ПК1.5, ОК1-ОК9

ПР 11

Программное создание интерфейса пользователя в Win API.

У2, У4,З1, З4, ПК1.1, ОК1-ОК9

ПР 12

Использование классов событий и процессов Win API.

У2, У3,З3, З5, ПК1.4, ОК1-ОК9

ПР 13

Программная диспетчеризация потоков.

У1, У2,З1, З5, ПК1.1, ОК1-ОК9

ПР 14

Обработка ошибок в Windows.

У6, У7,З7, З8, ПК1.3, ОК1-ОК9

ПР 15

Программное управление процессами в Windows.

У1, У2,З1, З4, ПК1.2, ОК1-ОК9

ПР 16

Синхронизация потоков и использование функции ожидания.

У1, У2,З1, З4, ПК.16, ОК1-ОК9

ПР 17

Сервис печати в Windows.

У3, У2,З1, З4, ПК1.4, ОК1-ОК9

ПР 18

Обнаружение тупиков и блокировка процессов.

У6, У2,З7, З8, ПК1.3, ОК1-ОК9

ПР 19

Разработка оконных приложений на языке C#

У1, У3,З3, З7, ПК1.4, ОК1-ОК9

ПР 20

Изучение базовых событий визуальных компонентов оконных приложений на языке C#

У1, У2,З2, З3, ПК1.2, ОК1-ОК9

ПР 21

Использование не визуальных компонентов в разработке оконных приложений на языке C#

У1, У4,З2, З3, ПК1.6, ОК1-ОК9

ПР 22

Изучение стандартных пространств имен языка C#

У1, У4,З2, З3, ПК1.2, ОК1-ОК9

ПР 23

Разработка классов и их элементов в языке С#

У1, У2,З2, З3, ПК.12, ОК1-ОК9

ПР 24

Использование делегатов, перечислений и интерфейсов в программе на языке С#

У1, У2,З2, З3, ПК1.2, ОК1-ОК9

ПР 25

Изучение графических средств языка  С#

У1, У2,З2, З5, ПК1.3, ОК1-ОК9

ПР 26

Реализация структуры БД в MS SQL Server

У1, У5,З2, З4, ПК1.6, ОК1-ОК9

ПР 27

Реализация основных действий СУБД в MS Visual Studio .NET

У1, У5,З2, З4, ПК1.6, ПК1.5, ОК1-ОК9

ПР 28

Построение запросов к БД

У1, У4,З7, З8, ПК1.1, ОК1-ОК9

ПР 29

Построение отчетов по БД

У1, У4,З7, З8, ПК1.1, ОК1-ОК9

ПР 30

Решение ЗЛП симплекс-методом

У1, У4,З1, З3, ПК, ОК1-ОК9

ПР 31

Определение начального решения транспортной задачи

У1, У6,З1, З7, ПК1.3, ОК1-ОК9

ПР 32

 Решение транспортной задачи

У1, У6,З1, З7, ПК1.3, ПК1.5, ОК1-ОК9

ПР 33

Решение задачи о распределении ресурсов

У1, У6,З1, З5, ПК1.3, ОК1-ОК9

 

ОТЧЕТ по каждой практической или лабораторной работе составляется на отдельных листах формата А4 по следующему образцу:

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Надпись: 40 

    5

Оформление практической работы

ЦЕЛЬ:

ФОРМИРУЕМЫЕ ОБРАЗОВАТЕЛЬНЫЕ РЕЗУЛЬТАТЫ:

ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ или используемое оборудование или исходные данные:

ЗАДАНИЯ ( номер и условие каждого задания с подробным, обоснованным решением и ответом;)

ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ (если необходимо):

 

 

 

 

 

 

 

 

1 – Фамилия разработчика

2 – Фамилия проверяющего

3 – Код-обозначение документа (практической или лабораторной работы)

4 – Тема  практической (или лабораторной) работы

5 – Учебное заведение, группа

6 – Литер – у (учебный документ)

7 - № листа данного документа

8 – Количество листов в данном документе

 

 

1                           2           3             4         5            6             7               8

 

 

 

 

 

 


185

 

 7     10             23               15          10                                            120

 

 

 

 

 

Надпись: 15

 

15 15 20

 

Надпись: 15          5   5

 

 

 

 

 

 

 

 

 

 

 

Фамилия

Подпись

Дата

 

 

 

 

70

Лит.

Лист

Листов

Разработ.

 

 

 

 

у

 

 

Проверил

 

 

 

 

50

 

 

 

 

 

 

 

 

 

Оформление практической работы

 

ПР– практическая работа

ЛР– лабораторная работа

 

Код специальности 100701 – Коммерция

 

0000-00 – индекс дисциплины ( проф.модуля и МДК)  по учебному плану:

общеобразовательный цикл

Базовые дисциплина- ОДБ   или  профильная дисциплина- ОДП

 
 


ü  ОДБ. 01

ОДП. 15

 


ü  ОГСЭ.01

ОГСЭ.06

 

ü 

 

  математический и естественнонаучный цикл

 
ЕН.01

ЕН.05

 

ü 

 

Профессиональный цикл

  общепрофессиональная дисциплина – ОП

  Профессиональный модуль и междисциплинарный курс - ПМ  МДК

 
ОП.01

    …

ПМ  МДК 03.02

 

 

 

№ группы     01 (или 02, 01с,  01п, 01зб, 01 зк )

 

№ варианта – выданный преподавателем  (или по списку в журнале)

 

№ практической – порядковый номер практической и лабораторнойработы

 

00 год – 13

 

 

 ПР. 100701   ПМ.00.      00.    00.   00.    00.

 

 

 


код         индекс           №          №         №     год

специальности     дисциплины,    группы работы   варианта

 

 

 

 

 

 

 

 

 

 

 

ПР-100701-ПМ МДК 03.02- 01-03-01-13

 

 

 

 

 

 

 

 

 

 

 

Фамилия

Подпись

Дата

Определение отклонений формы и расположения поверхностей

Лит.

Лист

Листов

Разработ.

Иванов

 

 

 

у

 

1

1

Проверил

Петров

 

 

УАвиаК - МЦК

гр. 15ПК-1

 

 

 

 

 

 

 

 


ПРАКТИЧЕСКАЯ РАБОТА №19

Разработка оконных приложений на языке C#.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться разрабатывать оконные приложения

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

В строке меню выберите Файл, Создать, Проект. Диалоговое окно должно выглядеть следующим образом.

Диалоговое окно создания проекта
Диалоговое окно "Новый проект"

В списке Установленные шаблоны выберите Visual C# или Visual Basic.

В списке шаблонов выберите значок Приложение Windows Forms. Назовите новую форму PictureViewer и нажмите кнопку ОК. Visual Studio создает решение для программы. Решение играет роль контейнера для всех проектов и файлов, необходимых программе. Более подробно эти термины поясняются далее в этом учебнике.

На следующем рисунке показано, как теперь должен выглядеть интерфейс Visual Studio.


Окно интегрированной среды разработки

Окно интегрированной среды разработкиИнтерфейс содержит три окна: главное окно, Обозреватель решений и окно Свойства.

Если какое-либо из этих окон отсутствует, восстановите макет окон по умолчанию, выбрав в строке меню Окно, Сброс макета окон. Можно также отобразить окна с помощью команд меню. В строке меню выберите Вид, Окно "Свойства" или Обозреватель решений. Если открыты какие-либо другие окна, закройте их с помощью кнопки Закрыть (x) в верхнем правом углу.

На рисунке показаны следующие окна (по часовой стрелке от левого верхнего угла):

Главное окно В этом окне выполняется основная часть работы, например работа с формами и редактирование кода. На рисунке в окне показана форма в редакторе форм. В верхней части окна находятся две вкладки — вкладка Начальная страница и вкладка Form1.cs [Design]. (В Visual Basic имя вкладки заканчивается на .vb, а не на .cs.)

Окно Обозреватель решений В этом окне можно просматривать все элементы, входящие в решение, и переходить к ним. Если выбрать файл, содержимое в окне Свойства изменится. Если открыть файл кода (с расширением .cs в Visual C# и .vb в Visual Basic), откроется файл кода или конструктор для файла кода. Конструктор — это визуальная поверхность, на которую можно добавлять элементы управления, такие как кнопки и списки. При работе с формами Visual Studio он называется конструктор Windows Forms.

Окно Свойства В этом окне производится изменение свойств элементов, выбранных в других окнах. Например, выбрав форму Form1, можно изменить ее название путем задания свойства Text, а также можно изменить цвет фона путем задания свойства Backcolor.

В строке меню выберите Файл, Сохранить все.

Другой вариант — нажать кнопку Сохранить все на панели инструментов, показанной на следующем рисунке.

Кнопка "Сохранить все" на панели инструментов
Кнопка "Сохранить все" на панели инструментов

Visual Studio автоматически заполняет имя папки и имя проекта, а затем сохраняет проект в папке проектов.

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

Нажмите клавишу F5.

В строке меню выберите Отладка, Начать отладку.

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

Кнопка панели инструментов "Начать отладку"
Кнопка панели инструментов "Начать отладку"

Visual Studio запускает программу, и открывается окно Form1. На следующей диаграмме показана только что созданная программа. Программа выполняется и скоро она будет дополнена.

Программа приложения Windows Form выполняется
Выполнение программы приложения Windows Form

Вернитесь в интегрированную среду разработки Visual Studio и посмотрите на новую панель инструментов. При запуске программы на панели инструментов появляются дополнительные кнопки. Эти кнопки позволяют выполнять такие действия, как остановка и запуск программы, а также помогают отслеживать все ошибки. В этом примере мы просто используем его для запуска и остановки программы.

Панель инструментов "Отладка"
Панель инструментов "Отладка"

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

На панели инструментов нажмите кнопку Остановить отладку.

В строке меню выберите Отладка, Остановить отладку.

Нажмите кнопку X в правом верхнем углу окна Form1.

 

Убедитесь, что вы смотрите на конструктор Windows Forms. В интегрированной среде разработки Visual Studio откройте вкладку Form1.cs [Design] (или вкладку Form1.vb [Design] в Visual Basic).

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

Когда форма будет выбрана, найдите свойство Text в окне Свойства. В зависимости от того, как отсортирован список, может потребоваться прокрутить вниз. Выберите Text, введите "Программа просмотра изображений", затем нажмите клавишу ВВОД. Теперь форма в заголовке окна должна содержать текст Программа просмотра изображений. Окно Свойства должно выглядеть так, как показано на рисунке ниже.

Окно \"Свойства\"
Окно \"Свойства\"

Вернитесь к конструктору Windows Forms. Нажмите нижний правый маркер перетаскивания формы, который представляет собой небольшой белый квадрат в нижнем правом углу формы и показан на рисунке ниже.

Маркер перетаскивания
Маркер перетаскивания

Перетащите маркер, чтобы изменить размер формы — она должна стать шире и немного выше.

Посмотрите в окно Свойства и обратите внимание, что изменилось значение свойства Size. Свойство Size меняется каждый раз при изменении формы. Перетащите маркер, чтобы форма имела размер около 550, 350 (не обязательно точно такие значения). Такой размер вполне подходит для данного проекта. В качестве альтернативы можно вводить значения непосредственно в свойстве Size и затем нажимать клавишу ВВОД.

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

Нажмите клавишу F5.

В строке меню выберите Отладка, Начать отладку.

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

Кнопка панели инструментов "Начать отладку"
Кнопка панели инструментов "Начать отладку"

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

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

На панели инструментов нажмите кнопку Остановить отладку.

В строке меню выберите Отладка, Остановить отладку.

Нажмите кнопку X в правом верхнем углу окна Form1.

На левой стороне среды разработки Visual Studio найдите вкладку Панель элементов. Выберите вкладку Панель элементов; появится панель элементов. (Или выберите в строке меню Вид, Панель элементов.)

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

Группа "Контейнеры"
Группа "Контейнеры"

В форму можно добавить такие элементы управления, как кнопки, флажки и метки. Дважды щелкните элемент управления TableLayoutPanel в панели элементов. (Можно также перетащить элемент управления с панели элементов в форму.) В результате этого действия интегрированная среда разработки добавляет в форму элемент управления TableLayoutPanel, как показано на рисунке ниже.
Элемент управления TableLayoutPanel

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

Элемент управления TableLayoutPanelЗначок канцелярской кнопки
Значок канцелярской кнопки

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

Окно "Свойства", в котором показан элемент управления TableLayoutPanel
Окно "Свойства", в котором показан элемент управления TableLayoutPanel

Нажмите кнопку В алфавитном порядке на панели инструментов в окне Свойства. Это приведет к отображению списка свойств в окне Свойства в алфавитном порядке, что упрощает поиск свойств в этом учебнике.

Окно "Свойства", в котором нажата кнопка "Заполнение"Селектор элементов управления представляет раскрывающийся список в верхней части окна Свойства. В данном пример он показывает, что выделен элемент управления с именем tableLayoutPanel1. Элементы управления можно выбирать, либо выделяя область в конструкторе Windows Forms, либо выбирая их в селекторе элементов управления. Теперь, когда выделен элемент управления TableLayoutPanel, найдите свойство Dock и выберите Dock, значение которого должно быть равным None. Обратите внимание, что рядом со значением появляется стрелка раскрывающегося списка. Нажмите стрелку, затем нажмите кнопку Заполнение (большая кнопка в середине), как показано на рисунке ниже.


Окно "Свойства", в котором нажата кнопка "Заполнение"

Под закреплением в Visual Studio понимается прикрепление окна к другому окну или области в интегрированной среде разработки. Например, окно "Свойства" можно открепить, т. е. отсоединить и оставить свободно плавающим в пределах Visual Studio или же закрепить в области Обозреватель решений.

После того, как у элемента управления TableLayoutPanel свойству Dock присвоено значение Fill, панель заполняет всю форму. Если снова изменить размер формы, элемент управления TableLayoutPanel останется закрепленным и сам изменит свой размер для заполнения формы.

В данный момент элемент управления TableLayoutPanel содержит две одинаковые по размеру строки и два одинаковых по размеру столбца. Нужно изменить их размер, чтобы верхняя строка и правый столбец были намного больше. В конструкторе Windows Forms выберите элемент управления TableLayoutPanel. В правом верхнем углу расположена маленькая кнопка с черным треугольником, как показано на рисунке ниже.

Кнопка с треугольником
Кнопка с треугольником

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

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

Задачи элемента управления TableLayoutPanel
Задачи элемента управления TableLayoutPanel

Выберите задачу Изменить строки и столбцы, чтобы открыть окно Стили столбцов и строк. Выберите Столбец1, убедитесь, что нажата кнопка Проценты, установите его размер равным 15 процентам — введите 15 в поле Проценты. (это элемент управления NumericUpDown, который далее будет использоваться в этом руководстве). Выберите Столбец2 и задайте значение 85 процентов. Пока не нажимайте кнопку ОК, так как окно будет закрыто. (но если это было сделано, его можно открыть повторно с помощью списка задач).

Стили столбцов и строк TableLayoutPanel
Стили столбцов и строк TableLayoutPanel

В раскрывающемся списке Показать в верхней части окна выберите Строки. Задайте для Row1 значение 90 процентов, а для Row2 10 процентов.

Нажмите кнопку ОК. Элемент управления TableLayoutPanel теперь должен содержать большую верхнюю строку, маленькую нижнюю строку, маленький левый столбец и большой правый столбец. Можно изменить размер строк и столбцов в элементе управления TableLayoutPanel, выбрав tableLayoutPanel1 в форме, а затем перетащив границы его строк и столбцов.

Form1 с измененным размером TableLayoutPanel
Form1 с измененным размером TableLayoutPanel

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

  1. Отчет должен содержать цель работы.
  2. Содержание индивидуального задания.
  3. Перечень элементов, выбранных для создания приложения.

 

 

ПРАКТИЧЕСКАЯ РАБОТА №20

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

 

Ø ЦЕЛЬ РАБОТЫ

 

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

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

 

Откройте предыдущий проект.

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

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

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

Щелкните новый элемент управления PictureBox, чтобы выбрать его, а затем щелкните черный треугольник на новом элементе управления PictureBox, чтобы отобразить его список задач, как показано на следующем рисунке.

Задачи элемента управления PictureBox
Задачи элемента управления PictureBox

Выберите ссылку Закрепить в родительском контейнере. В результате этого действия у элемента управления PictureBox свойство Dock принимает значение Fill. Чтобы это увидеть, выберите элемент управления PictureBox, перейдите к окну Свойства и убедитесь, что свойство Dock имеет значение Fill.

Сделайте так, чтобы элемент управления PictureBox занимал два столбца с помощью его свойства ColumnSpan. Выберите элемент управления PictureBox и установите для его свойства ColumnSpan значение 2. Также необходимо, чтобы когда элемент управления PictureBox был пустым, отображалась пустая рамка. Установите для его свойства BorderStyle значение Fixed3D.

Выберите элемент управления TableLayoutPanel в форме и добавьте в форму элемент управления CheckBox. Двойным щелчком выберите элемент CheckBox на панели элементов, чтобы добавить новый элемент управления CheckBox в следующую свободную ячейку таблицы. Поскольку элемент управления PictureBox занимает первые две ячейки в TableLayoutPanel, элемент управления CheckBox добавляется в нижнюю левую ячейку. Выберите свойство Text и введите слово Stretch, как показано на следующем рисунке.

Элемент управления TextBox со свойством Stretch
Элемент управления TextBox со свойством Stretch

Выберите в форме элемент управления TableLayoutPanel, а затем на панели элементов перейдите к группе Контейнеры (из которой был взят элемент управления TableLayoutPanel) и дважды щелкните элемент управления FlowLayoutPanel, чтобы добавить новый элемент управления в последнюю ячейку в элементе управления PictureBox (справа внизу). Затем закрепите FlowLayoutPanel в TableLayoutPanel (выбрав Закрепить в родительском контейнере в списке задач FlowLayoutPanel, раскрываемом с помощью черного треугольника, или установив свойству Dock FlowLayoutPanel значение Fill).

 

Выберите только что добавленный элемент управления FlowLayoutPanel. Перейдите к группе Стандартные элементы управления на панели элементов и двойным щелчком выберите элемент Кнопка, чтобы добавить в элемент управления FlowLayoutPanel кнопку с именем button1. Чтобы добавить другую кнопку, повторите это действие. Среда интегрированной разработки определяет, что уже существует кнопка с именем button1 и называет следующую кнопку как button2.

Обычно другие кнопки добавляются при помощи панели элементов. На этот раз выберите button2, затем в строке меню выберите Правка, Копировать (или нажмите сочетание клавиш CTRL+C). В строке меню выберите Правка, Вставить (или нажмите сочетание клавиш CTRL+V), чтобы вставить копию кнопки. Повторите вставку еще раз. Интегрированная среда разработки добавила кнопки button3 и button4 в FlowLayoutPanel.

Выберите первую кнопку и установите для ее свойства Text значение "Показать рисунок". Затем установите для свойства Text следующих трех кнопок значения "Очистить рисунок", "Установить цвет фона" и "Закрыть".

Следующий шаг — задать размер кнопок и разместить их таким образом, чтобы они были выровнены по правой стороне панели. Выберите элемент управления FlowLayoutPanel и обратите внимание на его свойство FlowDirection. Измените его значение на RightToLeft. После этого действия кнопки должны сами выровняться по правой стороне ячейки и изменить свой порядок таким образом, чтобы кнопка Показать рисунок располагалась с правой стороны.

Щелкните кнопку Закрыть, чтобы выбрать ее. Удерживая клавишу CTRL, щелкните три другие кнопки, чтобы все они были выбраны. При выделенных кнопках перейдите к окну Свойства и прокрутите его вверх до свойства AutoSize. Это свойство указывает кнопке автоматически изменять свой размер так, чтобы весь текст мог разместиться на ней. Задайте значение true. Кнопки теперь должны иметь соответствующий размер и быть расположены в правильном порядке. (пока выделены все четыре кнопки, можно одновременно изменить все четыре свойства AutoSize). На следующем рисунке показаны эти четыре кнопки.

Программа просмотра изображений с четырьмя кнопками
Программа просмотра изображений с четырьмя кнопками

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

В форме нажмите кнопку Закрыть. (Если все еще выделены все кнопки, для отмены выделения нажмите клавишу ESC.) Прокрутите содержимое окна Свойства, пока не появиться свойство (Name). Свойство (Name) расположено в верхней части, когда свойства расположены в алфавитном порядке. Измените имя на closeButton, как показано на рисунке ниже.

Окно "Свойства" с именем closeButton
Окно "Свойства" с именем closeButton

Переименуйте другие три кнопки как backgroundButton, clearButton, showButton. Имена можно проверить в раскрывающемся списке селектора элементов управления в окне Свойства. Отобразятся новые имена кнопок.

Двойным щелчком нажмите кнопку Показать рисунок в форме. В качестве альтернативы можно нажать кнопку Показать рисунок в форме, а затем нажать клавишу ВВОД. При этом интегрированная среда разработки открывает в главном окне дополнительную вкладку, которая называется Form1.cs (Form1.vb, если используется Visual Basic). На этой вкладке отображается файл кода для формы, как показано на следующем рисунке.

Вкладка Form1.cs с кодом Visual C#
Вкладка Form1.cs с кодом Visual C#

Обратите внимание на эту часть кода. (Откройте вкладку VB ниже, если используется Visual Basic для просмотра Visual Basic-версии кода.)

C#

VB

private void showButton_Click(object sender, EventArgs e)

{

}

Вы видите код с именем showButton_Click(). Интегрированная среда разработки добавила его в код формы при открытии файла кода для кнопки showButton. Во время разработки при открытии файла кода для элемента управления в форме для элемента управления создается код, если он еще не существует. Этот код, известный как метод, выполняется при запуске программы и использовании этого элемента управления (в данном случае — кнопка Показать рисунок).

Снова выберите вкладку конструктора Windows Forms (Form1.cs [Design] в Visual C#, Form1.vb [Design] в Visual Basic), а затем откройте файл кода для кнопки Очистить рисунок, чтобы создать метод для нее в коде формы. Повторите это действие для двух оставшихся кнопок. Каждый раз при этом действии среда интегрированной разработки добавляет в файл кода формы новый метод.

Чтобы добавить еще один метод, откройте файл кода для элемента управления CheckBox в конструкторе Windows Forms, чтобы интегрированная среда разработки создала метод checkBox1_CheckedChanged(). Этот метод вызывается каждый раз, когда пользователь устанавливает или снимает флажок.

Ниже показан новый код, который представлен в редакторе кода.

C#

VB

    private void clearButton_Click(object sender, EventArgs e)

    {

    }

 

    private void backgroundButton_Click(object sender, EventArgs e)

    {

    }

 

    private void closeButton_Click(object sender, EventArgs e)

    {

    }

 

    private void checkBox1_CheckedChanged(object sender, EventArgs e)

    {

    }

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

При просмотре кода для элемента управления в интегрированной среде разработки во время разработки Visual Studio добавляет метод обработчика событий для элемента управления, если он не существует. Например, при двойном щелчке по кнопке интегрированная среда разработки добавляет обработчик события Click, который вызывается каждый раз, когда пользователь нажимает кнопку. Если дважды щелкнуть флажок, интегрированная среда разработки добавляет обработчик события CheckedChanged, который вызывается каждый раз, когда пользователь устанавливает или снимает флажок.

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

Имена являются важными при выполнении построения программы, и методы (включая обработчики событий) могут иметь любые имена, которые нужны. При добавлении обработчика событий с помощью интегрированной среды разработки она создает имя на основе имени элемента управления и обрабатываемого события. Например, событие Click для кнопки с именем showButton вызывает метод обработчика событий showButton_Click(). Также обычно после имени метода добавляются открывающая и закрывающая круглые скобки () для индикации того, какие методы рассматриваются. Если вы примете решение изменить имя переменной кода, щелкните правой кнопкой мыши по переменной в коде, а затем выберите команду Рефакторинг, Переименовать. Все экземпляры этой переменной в коде будут переименованы.

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

 

ПРАКТИЧЕСКАЯ РАБОТА №21

Использование не визуальных компонентов в разработке оконных приложений на языке C#.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться разрабатывать оконные приложения с использованием дополнительных компонентов

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

  1. Выберите конструктор Windows Forms (Form1.cs [Design] или Form1.vb [Design]) и откройте группу Диалоговые окна в панели элементов.

System_CAPS_ICON_note.jpg Примечание

Группа Диалоговые окна в панели элементов содержит компоненты, которые открывают множество полезных диалоговых окон. Эти диалоговые окна могут использоваться для открытия и сохранения файлов, просмотра папок, выбора шрифтов и цветов. В этом проекте используется два компонента диалоговых окон — OpenFileDialog и ColorDialog.

  1. Чтобы добавить в форму компонент с именем openFileDialog1 дважды щелкните компонент OpenFileDialog. Для добавления в форму компонента с именем colorDialog1 дважды щелкните в панели элементов компонент ColorDialog. (такой компонент используется в следующем шаге руководства). В нижней части конструктора Windows Forms должно быть поле (под формой программы просмотра изображений), которое содержит значок для каждого из двух добавленных компонентов диалоговых окон, как показано на рисунке ниже.

Компоненты диалоговых окон
Компоненты диалоговых окон

  1. Выберите значок openFileDialog1 в области в нижней части конструктора Windows Forms. Установите значения двух свойств.
    • Задайте свойству Фильтр следующее значение (можно копировать и вставить):

o    JPEG Files (*.jpg)|*.jpg|PNG Files (*.png)|*.png|BMP Files (*.bmp)|*.bmp|All files (*.*)|*.* 

o     

    • Установите для свойства Title следующее значение "Выбор файла изображения".

Параметры свойства Фильтр определяют типы файлов, которые отображаются в диалоговом окне Выбор файла изображения.

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №22

Изучение стандартных пространств имен языка C#.

 

Ø ЦЕЛЬ РАБОТЫ

 

Изучить стандартные пространства имен языка С#

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

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

Например, включив строку

C#

using System;

в начале программы, программист может использовать код

C#

Console.WriteLine("Hello, World!");

вместо следующего кода:

C#

System.Console.WriteLine("Hello, World!");

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

C#

using Co = Company.Proj.Nested;  // define an alias to represent a namespace

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

C#

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
              "SampleMethod inside SampleNamespace");
        }
    }
 
    // Create a nested namespace, and define another class.
    namespace NestedNamespace
    {
        class SampleClass
        {
            public void SampleMethod()
            {
                System.Console.WriteLine(
                  "SampleMethod inside NestedNamespace");
            }
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            // Displays "SampleMethod inside SampleNamespace."
            SampleClass outer = new SampleClass();
            outer.SampleMethod();
 
            // Displays "SampleMethod inside SampleNamespace."
            SampleNamespace.SampleClass outer2 = new SampleNamespace.SampleClass();
            outer2.SampleMethod();
 
            // Displays "SampleMethod inside NestedNamespace."
            NestedNamespace.SampleClass inner = new NestedNamespace.SampleClass();
            inner.SampleMethod();
        }
    }
}

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

В следующем примере показаны вложенные классы и пространства имен. Полное имя каждого элемента указано в комментарии рядом с ним.

C#

namespace N1     // N1
{
    class C1      // N1.C1
    {
        class C2   // N1.C1.C2
        {
        }
    }
    namespace N2  // N1.N2
    {
        class C2   // N1.N2.C2
        {
        }
    }
}

В предыдущем фрагменте кода:

·         Пространство имен N1 является членом глобального пространства имен. Его полное имя: N1.

·         Пространство имен N2 является членом пространства имен N1. Его полное имя: N1.N2.

·         Класс C1 является членом пространства имен N1. Его полное имя: N1.C1.

·         В этом коде имя класса C2 используется два раза. Тем не менее полные имена являются уникальными. Первый экземпляр C2 объявляется в классе C1. Соответственно, его полное имя: N1.C1.C2. Второй экземпляр C2 объявляется в пространстве имен N2. Соответственно, его полное имя: N1.N2.C2.

Используя представленный выше фрагмент кода, вы можете добавить новый элемент класса C3 в пространство имен N1.N2, как показано выше:

C#

namespace N1.N2
{
    class C3   // N1.N2.C3
    {
    }
}

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

Использование :: с псевдонимом, ссылающимся на тип вместо пространства имен, будет ошибкой. Пример:

C#

using Alias = System.Console;

C#

class TestClass
{
    static void Main()
    {
        // Error
        //Alias::WriteLine("Hi");
 
        // OK
        Alias.WriteLine("Hi");
    }
}

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

Если определить псевдоним с именем global, возникнет предупреждение компилятора CS0440. Это связано с тем, что global:: всегда ссылается на глобальное пространство имен, а не на псевдоним. Например, предупреждение возникнет в следующем случае:

C#

using global = System.Collections;   // Warning

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

C#

using Alias = System;

C#

namespace Library
{
    public class C : Alias.Exception { }
}

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

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

 

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №23

Разработка классов и их элементов в языке С#.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться разрабатывать классы и их элементы в языке С#.

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

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

Закрытые данные класса размещаются после модификатора доступа private. Если отсутствует модификатор public, то все функции и переменные, по умолчанию являются закрытыми (как в первом примере).

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

Мы не можем напрямую обращаться к закрытым данными класса. Работать с этими данными можно только посредством методов этого класса. В примере выше, мы используем функцию get_average_ball() для получения средней оценки студента, и set_average_ball() для выставления этой оценки.

Функция set_average_ball() принимает средний балл в качестве параметра и присваивает его значение закрытой переменной average_ball. Функция get_average_ball() просто возвращает значение этой переменной.

Создадим программу, которая будет заниматься учетом успеваемости студентов в группе. Создайте заголовочный файл students.h, в котором будет находиться класс Students.

/* students.h */
#include <string>
 
class Students {
    public:
        // Установка имени студента
        void set_name(std::string student_name)
        {
            name = student_name;
        }
        // Получение имени студента
        std::string get_name()
        {
            return name;
        }
        // Установка фамилии студента
        void set_last_name(std::string student_last_name)
        {
            last_name = student_last_name;
        }
        // Получение фамилии студента
        std::string get_last_name()
        {
            return last_name;
        }
        // Установка промежуточных оценок
        void set_scores(int student_scores[])
        {
            for (int i = 0; i < 5; ++i) {
                scores[i] = student_scores[i];
            }
        }
        // Установка среднего балла
        void set_average_ball(float ball)
        {
            average_ball = ball;
        }
        // Получение среднего балла
        float get_average_ball()
        {
            return average_ball;
        }
 
    private:
        // Промежуточные оценки
        int scores[5];
        // Средний балл
        float average_ball; 
        // Имя
        std::string name;
        // Фамилия
        std::string last_name;
};

Мы добавили в наш класс новые методы, а также сделали приватными все его свойства. Функция set_name() сохраняет имя студента в переменной name, а get_name() возвращает значение этой переменной. Принцип работы функций set_last_name() и get_last_name() аналогичен.

Функция set_scores() принимает массив с промежуточными оценками и сохраняет их в приватную переменную int scores[5].

Теперь создайте файл main.cpp со следующим содержимым.

/* main.cpp */
#include <iostream>
#include "students.h"
 
int main()
{
    // Создание объекта класса Student
    Students student;
 
    std::string name;
    std::string last_name;
 
    // Ввод имени с клавиатуры
    std::cout << "Name: ";
    getline(std::cin, name);
 
    // Ввод фамилии
    std::cout << "Last name: ";
    getline(std::cin, last_name);
 
    // Сохранение имени и фамилии в объект класса Students
    student.set_name(name);
    student.set_last_name(last_name);
 
    // Оценки
    int scores[5];
    // Сумма всех оценок
    int sum = 0;
 
    // Ввод промежуточных оценок 
    for (int i = 0; i < 5; ++i) {
        std::cout << "Score " << i+1 << ": ";
        std::cin >> scores[i];
        // суммирование
        sum += scores[i];
    }
 
    // Сохраняем промежуточные оценки в объект класса Student
    student.set_scores(scores);
    // Считаем средний балл
    float average_ball = sum / 5.0;
    // Сохраняем средний балл в объект класса Students
    student.set_average_ball(average_ball);
    // Выводим данные по студенту
    std::cout << "Average ball for " << student.get_name() << " "
         << student.get_last_name() << " is "
         << student.get_average_ball() << std::endl;
 
    return 0;
}

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

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

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

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

Скомпилируйте и запустите программу.

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень классов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №24

Использование делегатов, перечислений и интерфейсов в программе на языке С#.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться использовать делегаты, перечисления и интерфейсы при программировании на языке С#

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

Современные объектно-ориентированные языки программирования в качестве кусочка предлагают нам объекты — собственно отсюда и название. Объектом как правило является экземпляр класса, который делает что-то нужно и полезное. Самое простое средство декомпозиции в C++ — это сделать классы глобальными и непосредственно вызывать их методы. Подход не лишен недостатков — понять кто кого вызывает по прошествии времени становится все труднее, и через пару лет такой подход приведет к тем же последствиям, что и использование единственного класса. Одобренный святой инквизицией вариант — это передача классам указателей на те классы, с которыми им надобно общаться. Причем желательно, чтобы указатели были не просты, а на интерфейсы — тогда менять и развивать программу по прошествии времени станет намного проще.
Если объекту нужно всего несколько взаимодействий, например кнопке уведомить о том, что на нее кликнули — то реализация для этих целей отдельного интерфейса займет ощутимое количество строк кода. Также интерфейсы не решают задачу когда одному объекту нужно уведомить о чем-то несколько других — создание и поддержание листа подписки на основании интерфейсов тоже не самое малое число строк кода.
В динамических языках программирования конкуренцию интерфейсам составляют делегаты. Как правило, делегат очень похож на «указатель на функцию» в C++, с той основной разницей что делегат может указывать на метод произвольного объекта.


Это должно быть нечто, что можно ассоциировать с методом произвольного класса а затем вызвать как функцию. В C++ это можно сделать только в виде класса с перегруженным оператором вызова (такие классы обычно называют функторами). В C# для ассоциации делегата и метода используется оператор "+=", но в C++ это к сожалению невозможно — оператор "+=" принимает только один параметр, в то время как указатель на функцию — член класс в C++ определяется двумя параметрами.


Попробуем реализовать это поведение. Чтобы делегат мог получить указатель на любой метод любого класса его собственный метод Connect() явно должен быть шаблонным. Почему не сделать шаблонным сам делегат? Потому что тогда придется указывать конкретный класс при создании делегата, а это противоречит возможности ассоциировать делегат с любым классом. Также у делегата должен быть перегруженный оператор вызова, тоже шаблонный — чтобы можно было вызвать с теми же типами аргументов, что и у ассоциированного с ним метода.
Метод Connect() можно вызывать с указателем на метод любого класса, а оператор вызова позволяет вызывать сам делегат с любым аргументом. Теперь все что нужно сделать — это каким-то образом сохранить указатель на класс i_class и на метод i_method, чтобы их можно было использовать в операторе вызова. Тут случается затык номер раз — сам делегат о T и M ничего не знает и знать не должен, сохранить их как поля не получится (это аргументы шаблонного метода, который для одного и того же делегата можно вызвать много раз с разными классами и методами). Что делать? Придется обратиться к небольшой шаблонной магии (поверьте, это заклинания первого уровня по сравнению с теми, что применяются в boost:function). Единственный способ в C++ сохранить аргументы шаблона — это создать экземпляр шаблонного класса, который будет параметризирован этими аргументами, и, соответственно, будет их помнить. Следовательно, нам нужен шаблонный класс, который сможет запомнить T и M. А чтобы сохранить указатель на этот класс, он должен наследоваться от интерфейса, не имеющего шаблонных параметров:

В первом приближении этого хватит, чтобы можно было вызвать Connect() для любого метода любого класса и запомнить аргументы. Но запомнить — это половина дела. Вторая половина — это вызвать запомненный метод с переданным нам аргументом. С вызовом есть некая сложность — указатель на метод класса мы сохранили как интерфейс IContainer — как теперь вызвать метод класса параметром произвольного типа, который пользователь передал в operator()?

Самый простой способ — это запомнить переданный аргумент в контейнере так же как мы делали это для указателя на метод класса, передать контейнер с аргументом «внутрь» m_container, а затем воспользоваться dynamic_cast<>() чтобы «вынуть» аргумент из контейнера.
Последняя проблема на пути к работающему делегату — это извлечение аргумента из контейнера. Для того, чтобы это сделать нужно знать тип аргумента. Но ведь внутри контейнера, хранящего указатель на метод класса, мы не знаем тип аргумента? Тип аргумента не знаем — зато знаем сигнатуру метода, указатель на который мы храним. Следовательно все что нам нужно — это извлечь тип аргумента из сигнатуры.
Собственно, все. Получившийся делегат сохраняет указатель на любой метод любого класса и позволяет вызвать его с синтаксисом вызова функции.


ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №25

Изучение графических средств языка  С#.

 

Ø ЦЕЛЬ РАБОТЫ

 

Изучить и научиться применять графические средства языка  С#.

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

При работе с графикой существует два действия:

1.      Создание Graphics объекта.

2.      С помощью Graphics объект для рисования линий и фигур, отображения текста или отображения и управления ими.

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

·         Получить ссылку на объект graphics как часть PaintEventArgs в Paint событий формы или элемента управления. Это обычный способ получения ссылки на графический объект при создании кода рисования для элемента управления. Аналогичным образом можно получить графический объект как свойство PrintPageEventArgs при обработке PrintPage событий для PrintDocument.

- или -

·         Вызовите CreateGraphics метод элемента управления или формы, чтобы получить ссылку на Graphics , представляющий поверхность рисования объекта формы или элемента управления. Используйте этот метод, чтобы рисовать на формы или элемента управления, который уже существует.

- или -

·         Создание Graphics объект из любого объекта, который наследует от Image. Этот подход полезен, когда требуется изменить существующее изображение.

При программировании PaintEventHandler для элементов управления или PrintPage для PrintDocument, графический объект предоставляется как одно из свойств объекта PaintEventArgs или PrintPageEventArgs.

1.      Объявите Graphics объекта.

2.      Назначьте переменной для ссылки на Graphics объект, передаваемый как часть PaintEventArgs.

3.      Вставьте код для рисования формы или элемента управления.

Можно также использовать CreateGraphics метод элемента управления или формы, чтобы получить ссылку на Graphics , представляющий поверхность рисования объекта формы или элемента управления.

·         Вызовите CreateGraphics метод формы или элемента управления, по которому необходимо для отрисовки графики.

Кроме того, можно создать объект графики из любого объекта, производного от Image класса.

·         Вызовите Graphics.FromImage метод, указав имя переменной образа, из которого требуется создать Graphics объекта.

Можно создать только Graphics объекты из неиндексированных BMP-файлов, например, 16, 24 и 32-разрядных BMP-файлы. Каждая точка неиндексированного BMP-файла содержит сведения о цвете, в отличие от точек индексированного BMP-файлы, которые содержат указатели на таблицу цветов.

-После его создания, Graphics объект может использоваться для рисования линий и фигур, отображения текста или отображения и управления ими. Объекты principal, которые используются с Graphics объекта:

·         Pen Класс, используемый для рисования линий, контуров и отрисовки других геометрических объектов.

·         Brush Класс, используемый для заливки областей, например фигур, изображений или текста.

·         Font Класса — содержит описание фигур, которые должны использоваться при отображении текста.

·         Color Структуры — содержит различные цвета для отображения.

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №26

Реализация структуры БД в MS SQL Server.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться реализовывать структуру БД в MS SQL Server

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Емельянова Н.З., Партыка Т.Л., Попов И.И.  Основы построения автоматизированных информационных систем М: ФОРУМ:  ИНФРА-М, 2005

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

Список смежности. Это интуитивно понятный способ организации дерева: замыкаем связь таблицы на саму себя (рефлексивная связь), рис. 1.

https://www.arbinada.com/system/files/dbpattern_treesql_01.gif

Рис.1. Реализация на основе матрицы смежности

Как известно из теории, граф можно представить в виде матрицы смежности, где на пересечении i-ой строки и j-го столбца стоит "1", если между узлами (вершинами) графа, с номерами i и j, соответственно, есть связь (ребро, дуга), или "0" в противном случае. Матрица может быть представлена в виде списка (множества) пар с номерами (идентификаторами, кодами) вершин по принципу: есть пара - есть дуга, нет пары - нет связи.

Моделирование корневых вершин осуществляется внесением записей с пустой (NULL) ссылкой на предка (в данном случае, "Код вышестоящей территории"). Для выполнения часто используемых выборок требуется поддержка рекурсивных запросов. Если СУБД не поддерживает такие запросы, то выборки придется строить с использованием механизмов временных таблиц и хранимых процедур (функций). Рассмотрим примеры запросов.

Выборка поддерева по заданному узлу (здесь и далее по тексту используем синтаксис MS SQL Server 2005):

WITH Поддерево ([Код территории], [Код вышестоящей территории], Наименование, Уровень)
AS (
  SELECT [Код территории], [Код вышестоящей территории], Наименование, 1
  FROM Территории
  WHERE [Код вышестоящей территории] = 40288000 -- корень поддерева или IS NULL для корня целого дерева
 
  UNION ALL
 
  SELECT Территории.[Код территории], Территории.[Код вышестоящей территории], Территории.Наименование, Уровень + 1
  FROM Территории
  INNER JOIN Поддерево ON Территории.[Код вышестоящей территории] = Поддерево.[Код территории]
  WHERE Территории.[Код вышестоящей территории] IS NOT NULL
  )
SELECT [Код территории], [Код вышестоящей территории], Наименование, Уровень
FROM Поддерево

Выборка всех предков (путь к узлу от корня):

WITH Поддерево ([Код территории], [Код вышестоящей территории], Наименование, Уровень)
AS (
  SELECT [Код территории], [Код вышестоящей территории], Наименование, 1
  FROM Территории
  WHERE [Код территории] = 40288000 -- узел
 
  UNION ALL
 
  SELECT Территории.[Код территории], Территории.[Код вышестоящей территории], Территории.Наименование, Уровень + 1
  FROM Территории
  INNER JOIN Поддерево ON Территории.[Код территории] = Поддерево.[Код вышестоящей территории]
  )
SELECT [Код территории], [Код вышестоящей территории], Наименование, (
    SELECT MAX(Уровень)
    FROM Поддерево
    ) - Уровень
FROM Поддерево

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №27

Реализация основных действий СУБД в MS Visual Studio .NET.

 

Ø ЦЕЛЬ РАБОТЫ

 

Приобрести навыки программирования основных действий СУБД в MS Visual Studio .NET.

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

К. Нейгел, Б. Ивьен, Д. Глинн, К. Уотсон С# 4.0 и платформа .NET 4 для профессионалов  М.:ООО "И.Д.Вильямс", 2011

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

Проверка, входит ли узел в поддерево, определяемое своим корнем (например, входит ли данный товар в группу одного из верхних уровней, "Кисточка" в "Инструменты для ремонта"):

WITH Поддерево ([Код территории], [Код вышестоящей территории], Наименование, Уровень)
AS (
  SELECT [Код территории], [Код вышестоящей территории], Наименование, 1
  FROM Территории
  WHERE [Код территории] = 40288000 -- узел, проверяемый на вхождение
 
  UNION ALL
 
  SELECT Территории.[Код территории], Территории.[Код вышестоящей территории], Территории.Наименование, Уровень + 1
  FROM Территории
  INNER JOIN Поддерево ON Территории.[Код территории] = Поддерево.[Код вышестоящей территории]
  )
SELECT result = CASE 
    WHEN EXISTS (
        SELECT 1
        FROM Поддерево
        WHERE [Код территории] = 40260000 /* корень поддерева */
        )
      THEN 'Узел входит в поддерево'
    ELSE 'Узел НЕ входит в поддерево'
    END

Выборка поддерева по заданному узлу:

SELECT [Код подмножества], Уровень
FROM Подмножества
WHERE [Код множества] = 123 -- корень поддерева
ORDER BY Уровень

Выборка всех предков (путь к узлу от корня):

SELECT [Код множества], Уровень
FROM Подмножества
WHERE [Код подмножества] = 345 -- узел
ORDER BY Уровень

Проверка, входит ли узел в поддерево:

SELECT result = CASE 
    WHEN EXISTS (
        SELECT 1
        FROM Подмножества
        WHERE [Код подмножества] = 345 /* узел */
          AND [Код множества] = 211 /* корень поддерева */
        )
      THEN 'Узел входит в поддерево'
    ELSE 'Узел НЕ входит в поддерево'
    END

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №28

Построение запросов к БД.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться строить запросы к БД в MS Visual Studio .NET

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

К. Нейгел, Б. Ивьен, Д. Глинн, К. Уотсон С# 4.0 и платформа .NET 4 для профессионалов  М.:ООО "И.Д.Вильямс", 2011

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

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

Запрос создается с помощью команды «New Query», которая вызовется из контекстного меню (рисунок 3). Чтобы вызвать команду, достаточно сделать клик правой кнопкой мышки в области поля, которое выделено для отображения элементов базы данных Education.mdb. Следует отметить, что запросы не сохраняются системой. Для отображения сохраненных (сложных) запросов используется представление (Views).

На рисунке 3 отображено контекстное меню, которое вызывается при нажатии на вкладке Views (представление). В этом меню нужно выбрать команду «New Query». Эта команда есть в перечне контекстных меню других составляющих базы данных (таблиц, диаграмм и т.п.).

http://www.bestprog.net/wp-content/uploads/2018/01/09_02_00_007_03_-300x244.jpg

Рис. 3. Команда New Query

В результате откроется окно «Add Table», в котором нужно выбрать таблицы, данные из которых будут использоваться в запросе (рисунок 4).

http://www.bestprog.net/wp-content/uploads/2018/01/09_02_00_007_04_-300x240.jpg

Рис. 4. Выбор таблиц, которые будут использоваться в запросе

Для нашего случая нужно выбрать обе таблицы.

В результате окно Microsoft Visual Studio будет выглядеть, как показано на рисунке 5.

http://www.bestprog.net/wp-content/uploads/2018/01/09_02_00_007_05_-300x137.jpg

Рис. 5. Окно MS Visual Studio после создания запроса

 

В таблицах нужно выделить поля, которые будут использоваться в запросе. Порядок выбора полей должен соответствовать отображению их в запросе в соответствии с условием задачи. Это означает, что сначала выбираются поля таблицы Student (NumBook, Name), а потом выбираются поля таблицы Session (Mathematics, Informatics, Philosophy).

Для нашего случая выбор полей изображен на рисунке 6.

http://www.bestprog.net/wp-content/uploads/2018/01/09_02_00_007_06_-300x150.jpg

Рис. 6. Выбор полей для запроса

Как видно из рисунка 6, в нижней части окна отображается запрос на языке SQL, сформированный системой

SELECT  Student.Num_Book, Student.Name, Session.Mathematics,
        Session.Informatics, Session.Philosophy
FROM    Session INNER JOIN
          Student ON Session.ID_Book = Student.ID_Book

 

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №29

Построение отчетов по БД.

 

Ø ЦЕЛЬ РАБОТЫ

 

Научиться строить отчеты БД в MS Visual Studio .NET

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

К. Нейгел, Б. Ивьен, Д. Глинн, К. Уотсон С# 4.0 и платформа .NET 4 для профессионалов  М.:ООО "И.Д.Вильямс", 2011

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

Добавление вычисляемого поля Average

Чтобы создать вычисляемое поле Average, нужно в окне, где отображается SQL-запрос изменить текст этого запроса. Например:

SELECT  Student.Num_Book, Student.Name, Session.Mathematics, Session.Informatics, Session.Philosophy,
        (Session.Mathematics + Session.Informatics + Session.Philosophy) / 3.0 AS Average
FROM  Session INNER JOIN
        Student ON Session.ID_Book = Student.ID_Book

Добавляется вычислительное поле Average, которое есть средним арифметическим (рисунок 7).

http://www.bestprog.net/wp-content/uploads/2018/01/09_02_00_007_07_-300x183.jpg

Рис. 7. Добавление вычисляемого поля Average

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

                                   

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №30

Решение ЗЛП симплекс-методом.

 

Ø ЦЕЛЬ РАБОТЫ

 

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

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Р. Лафоре Объектно-ориентированное программирование в С#  СПб.: Питер, 2005

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Перечень элементов, выбранных для создания приложения.

 

ПРАКТИЧЕСКАЯ РАБОТА №31

Определение начального решения транспортной задачи.

 

Ø ЦЕЛЬ РАБОТЫ

 

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

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Р. Лафоре Объектно-ориентированное программирование в С#  СПб.: Питер, 2005

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

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

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

Алгоритм симплексного метода решения задач линейного программирования

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

  1. Привести задачу к каноническому виду
  2. Найти начальное опорное решение с "единичным базисом" (если опорное решение отсутствует, то задача не имеет решение ввиду несовместимости системы ограничений)
  3. Вычислить оценки разложений векторов по базису опорного решения и заполнить таблицу симплексного метода
  4. Если выполняется признак единственности оптимального решения, то решение задачи заканчивается
  5. Если выполняется условие существования множества оптимальных решений, то путем простого перебора находят все оптимальные решения

Пример решения задачи симплексным методом

Пример 26.1

Решить симплексным методом задачу:

Симплексный метод

Решение:

Приводим задачу к каноническому виду.

Для этого в левую часть первого ограничения-неравенства вводим дополнительную переменную x6 с коэффициентом +1. В целевую функцию переменная x6 входит с коэффицентом ноль (т.е. не входит).

Получаем:

http://www.grandars.ru/images/1/review/id/26/a1f4037058.jpg

Находим начальное опорное решение. Для этого свободные (неразрешенные) переменные приравниваем к нулю х1 = х2 = х3 = 0.

Получаем опорное решение Х1 = (0,0,0,24,30,6) с единичным базисом Б1 = (А4, А5, А6).

Вычисляем оценки разложений векторов условий по базису опорного решения по формуле:

Δk = CбXk — ck

Где:

  • Cб = (с1, с2, ... , сm ) — вектор коэффициентов целевой функции при базисных переменных
  • Xk = (x1k, x2k, ... , xmk ) — вектор разложения соответствующего вектора Ак по базису опорного решения
  • Ск — коэффициент целевой функции при переменной хк.

http://www.grandars.ru/images/1/review/id/26/187c249372.jpg

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

http://www.grandars.ru/images/1/review/id/26/296a6a58e6.jpg

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

В последней строке таблицы с оценками Δk в столбце "А0" записываются значения целевой функции на опорном решении Z(X1).

Начальное опорное решение не является оптимальным, так как в задаче на максимум оценки Δ1 = -2, Δ3= -9 для векторов А1 и А3 отрицательные.

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

Определим, введение какого из двух векторов приведет к большему приращению целевой функции.

Приращение целевой функции находится по формуле: http://www.grandars.ru/images/1/review/id/26/f9822ed0d4.jpg.

Вычисляем значения параметра θ01 для первого и третьего столбцов по формуле:

Получаем θ01 = 6 при l = 1, θ03 = 3 при l = 1 (таблица 26.1).

Находим приращение целевой функции при введении в базис первого вектора ΔZ1 = — 6*(- 2) = 12, и третьего вектора ΔZ3 = — 3*(- 9) = 27.

Следовательно, для более быстрого приближения к оптимальному решению необходимо ввести в базис опорного решения вектор А3 вместо первого вектора базиса А6, так как минимум параметра θ03 достигается в первой строке (l = 1).

Производим преобразование Жордана с элементом Х13 = 2, получаем второе опорное решение Х2 = (0,0,3,21,42,0) с базисом Б2 = (А3, А4, А5). (таблица 26.2)

http://www.grandars.ru/images/1/review/id/26/5a34676571.jpg

Это решение не является оптимальным, так как вектор А2 имеет отрицательную оценку Δ2 = — 6. Для улучшение решения необходимо ввести вектор А2 в базис опорного решения.

Определяем номер вектора, выводимого из базиса. Для этого вычисляем параметр θ02 для второго столбца, он равен 7 при l = 2. Следовательно, из базиса выводим второй вектор базиса А4. Производим преобразование Жордана с элементом х22 = 3, получаем третье опорное решение Х3 = (0,7,10,0,63,0) Б2 = (А3, А2, А5) (таблица 26.3).

http://www.grandars.ru/images/1/review/id/26/e0cb9eda1a.jpg

Это решение является единственным оптимальным, так как для всех векторов, не входящих в базис оценки положительные

Δ1 = 7/2, Δ4 = 2, Δ6 = 7/2.

Ответ: max Z(X) = 201 при Х = (0,7,10,0,63).

 

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Программный код.

 

ПРАКТИЧЕСКАЯ РАБОТА №32

Решение транспортной задачи.

 

Ø ЦЕЛЬ РАБОТЫ

 

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

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Р. Лафоре Объектно-ориентированное программирование в С#  СПб.: Питер, 2005

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

Алгоритм решения транспортной задачи в самом общем виде:

1.      Построение транспортной таблицы.

2.      Проверка задачи на закрытость.

3.      Составление опорного плана.

4.      Проверка опорного плана на вырожденность.

5.      Вычисление потенциалов для плана перевозки.

6.      Проверка опорного плана на оптимальность.

7.      Перераспределение поставок.

8.      Если оптимальное решение найдено, переходим к п. 9, если нет – к п. 5.

9.      Вычисление общих затрат на перевозку груза.

10.  Построение графа перевозок.

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Программный код.

 

ПРАКТИЧЕСКАЯ РАБОТА №33

Решение задачи о распределении ресурсов.

 

Ø ЦЕЛЬ РАБОТЫ

 

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

 

Ø ОБЕСПЕЧЕННОСТЬ ЗАНЯТИЯ

 

Оборудование лаборатории и рабочих мест лаборатории:

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

Реализация профессионального модуля предполагает обязательную учебную практику.

Оборудование и технологическое оснащение рабочих мест:

1.Комплект ТС компьютера IBM-PC

2.Методические указания для выполнения практических работ

4. Microsoft Visio.

5. Microsoft Visual Studio.

6.Microsoft Office.

 

Ø  ЛИТЕРАТУРА

 

Р. Лафоре Объектно-ориентированное программирование в С#  СПб.: Питер, 2005

 

Ø  КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

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

Пронумеруем все виды ресурсов числами от 1 до m, буквой i будем обозначать номер вида ресурса. Таким образом, i удовлетворяет неравенству 1 £ i £ m. Заметим, что ресурсы разных видов могут измеряться в различных единицах (тоннах, кубометрах, человеко-часах, рублях, штуках и др.).

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

Из этих ресурсов предприятие способно изготавливать различную продукцию (в нашей ситуации – Печенье и Бисквиты). Обозначим буквой n общее число видов продукции, которые может выпустить предприятие из имеющихся ресурсов. Занумеруем все виды продукции числами от 1 до n. Буквой j будем обозначать номер вида продукции, так что выполняется неравенство 1 £ j £ n. Продукция, как и ресурсы, может измеряться в различных единицах.

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

Производство продукции требует затрат ресурсов. Объем затрат зависит от вида ресурса, вида продукции и количества единиц продукции. Обозначим посредством aij норму затрат ресурса i-го вида на производство продукции j-го вида. Другими словами, aij - это количество ресурса i-го вида, затрачиваемое при производстве единицы продукции j-го  вида.

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

  Построим математическую модель задачи. Сначала введем переменные. Посредством xj обозначим искомый объем выпуска продукции j-го вида. Математическую модель можно теперь записать в следующей форме:

http://ecocyb.narod.ru/217-220/s3.htm12.gif

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

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

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

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

Всякий набор значений переменных (x1, x2, ... , xn ) называется планом задачи. Те планы, которые удовлетворяют системе ограничений, называются допустимыми планами. Оптимальным планом называется тот из допустимых планов, который дает наибольшее значение целевой функции среди всех ее значений на допустимых планах. Само это наибольшее значение целевой функции, то есть значение целевой функции на оптимальном плане, называется оптимумом задачи.

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

 

Ø  ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ РАБОТЫ

 

1.      Изучите методические указания и конспект лекций.

2.      Проанализируйте задание по своему варианту.

3.      Создайте приложение, отвечающее запросу задания.

 

Ø МЕТОДИКА АНАЛИЗА РЕЗУЛЬТАТОВ, ОБРАЗЕЦ ОТЧЕТА.

 

1.      Отчет должен содержать цель работы.

2.      Содержание индивидуального задания.

3.      Программный код.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

1.        Хейлсберг А. Язык программирования C#. / Хейлсберг А., Торгерсен М., Вилтамут С., Голд П. Классика Computers Science. 4-е изд. — СПб.: Питер, 2012. — 784 с.

2.        Дж. Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#. 3-е изд. - СПб.: Питер, 2011. — 976 с.

3.        Р. Лафоре Объектно-ориентированное программирование в С#  СПб.: Питер, 2005

4.        К. Нейгел, Б. Ивьен, Д. Глинн, К. Уотсон С# 4.0 и платформа .NET 4 для профессионалов  М.:ООО "И.Д.Вильямс", 2011

5.        Э. Танненбаум  Современные операционные системы СПб.: Питер, 2006

6.        Д. Лебланк, М. Хоуг, Э. Бломквист Linux для "чайников" М.:ООО "И.Д.Вильямс", 2001

7.        Емельянова Н.З., Партыка Т.Л., Попов И.И.  Основы построения автоматизированных информационных систем М: ФОРУМ:  ИНФРА-М, 2005

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Методические указания по выполнению практических работ по МДК Прикладное программирование"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Дефектоскопист

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 670 578 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 06.06.2018 3572
    • DOCX 523.8 кбайт
    • 142 скачивания
    • Оцените материал:
  • Настоящий материал опубликован пользователем Кякшта Мария Александровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Кякшта Мария Александровна
    Кякшта Мария Александровна
    • На сайте: 7 лет и 3 месяца
    • Подписчики: 1
    • Всего просмотров: 86964
    • Всего материалов: 44

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Методист-разработчик онлайн-курсов

Методист-разработчик онлайн-курсов

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 184 человека из 48 регионов

Курс повышения квалификации

Специалист в области охраны труда

72/180 ч.

от 1750 руб. от 1050 руб.
Подать заявку О курсе
  • Сейчас обучается 36 человек из 22 регионов
  • Этот курс уже прошли 155 человек

Курс профессиональной переподготовки

Библиотечно-библиографические и информационные знания в педагогическом процессе

Педагог-библиотекарь

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 499 человек из 71 региона
  • Этот курс уже прошли 2 332 человека

Курс профессиональной переподготовки

Организация деятельности библиотекаря в профессиональном образовании

Библиотекарь

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 287 человек из 66 регионов
  • Этот курс уже прошли 851 человек

Мини-курс

Искусство: от истории к глобализации

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Раннее развитие: комплексный подход к развитию и воспитанию детей от 0 до 7 лет.

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 53 человека из 27 регионов
  • Этот курс уже прошли 26 человек

Мини-курс

Психология аддиктивного поведения

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 51 человек из 25 регионов
  • Этот курс уже прошли 32 человека