Программирование в Delphi

advertisement
АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОБРАЗОВАТЕЛЬНАЯ ОРГАНИЗАЦИЯ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
« ИНДУСТРИАЛЬНЫЙ ИНСТИТУТ »
Кафедра информационных систем и программирования
РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ
Программирование в Delphi
Б3.В.ДВ.2
РАССМОТРЕНО:
УТВЕРЖДАЮ:
Проректор по научно – методической
работе__________________М.В.Кузнецова
(подпись, расшифровка подписи)
«__»________201_ г.
Направление подготовки:
на заседании кафедры информационных
систем
и
программирования
Заведующий кафедрой информационных
систем
и
программирования
_______________________Д.В Тюпин
(подпись, расшифровка подписи)
протокол №__1__от «____»_______ 201_г.
09.03.01(230100.62)
Информатика и вычислительная
техника
Профиль
подготовки:
программное
обеспечение
автоматизированных систем
Квалификация (степень) выпускника бакалавр
Форма обучения: заочная (ускоренное обучение)
Курск – 201_
вычислительной
техники
и
Составитель: к.т.н. Д.В.Тюпин
Рабочая учебная программа по дисциплине «Программирование в Delphi» разработана в
соответствии с Федеральным государственным образовательным стандартом высшего
профессионального образования и учебным планом, рекомендациями и ПрООП ВПО по
направлению подготовки 09.03.01(230100.62)
Информатика и вычислительная
техника профиль «Программное обеспечение вычислительной техники и
автоматизированных систем»
Рабочая программа утверждена на заседании информационных систем и
программирования протокол № 1 от «__»________201_ г.
Заведующий кафедрой информационных
систем и программирования
_________________ Д.В.Тюпин
2
СОДЕРЖАНИЕ
Название раздела программы
1
с.
Перечень планируемых результатов обучения по дисциплине (модулю),
4
соотнесенных с планируемыми результатами освоения образовательной
программы
2
Место дисциплины в структуре ООП ВПО
5
3
Объем дисциплины (модуля) в зачетных единицах с указанием количества
6
академических часов, выделенных на контактную работу обучающихся с
преподавателем
(по
видам занятий) и
на самостоятельную
работу
обучающихся
4
Содержание дисциплины (модуля), структурированное по темам (разделам) с
6
указанием отведенного на них количества академических часов и видов
учебных занятий
5
Перечень учебно-методического обеспечения для самостоятельной работы
38
обучающихся по дисциплине (модулю)
6
Фонд оценочных средств для проведения промежуточной аттестации
39
обучающихся по дисциплине (модулю)
7
Перечень основной и дополнительной учебной литературы, необходимой для
62
освоения дисциплины (модуля)
8
Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
63
(далее - сеть "Интернет"), необходимых для освоения дисциплины
(модуля)*
9
Методические указания для обучающихся по освоению дисциплины
64
(модуля)
10
Перечень информационных технологий, используемых при осуществлении
67
образовательного процесса по дисциплине (модулю), включая перечень
программного обеспечения и информационных справочных систем (при
необходимости)
11
Описание материально-технической базы, необходимой для осуществления
образовательного процесса по дисциплине (модулю)
3
67
1. Перечень планируемых результатов обучения по дисциплине (модулю),
соотнесенных с планируемыми результатами освоения образовательной
программы
В результате освоения дисциплины обучающийся должен овладеть следующими
знаниями, умениями и навыками:
Коды
Результаты освоения
Перечень планируемых
компетенций
ООП
результатов обучения по
по ФГОС
ОК-1
дисциплине
-
владеет
мышления,
культурой Знать:
способен
обобщению,
особенности
современных
к систем управления базами данных;
анализу, основные
восприятию
компоненты
информации, информационных
систем,
постановке цели и выбору использующих базы данных.
путей её достижения;
Уметь:
проектировать
концептуальную модель
Владеть: программирования на языке
высокого уровня, работы в различных
средах программирования.
ОК-11
-
осознает
значение
сущность
информации
развитии
и Знать: знать основные принципы
в различных
современного программирования.
общества; владеет основными Уметь:
методами,
средствами
хранения.
парадигм
способами
уметь
проектировать
и
и реализовывать программы, используя
получения, принципы всех основных концепций
переработки программирования
информации;
Владеть: разработкой алгоритмы для
решения
широкого
использовать
круга
задач,
конструкции
языка
программирования PASCAL и его
расширения OBJECT PASCAL для
реализации алгоритмов, использовать
средства визуальной среды разработки
4
приложений Delphi.
ПК-2
-
осваивать
использования
средств
методики Знать: основы организации процесса
программных автоматизации
для
решения
решения профессиональной
практических задач;
Уметь:
задач
деятельности;
формулировать
и
реализовывать
математические
модели
и
процессов
явлений
в
технике;
Владеть: разработки алгоритма и
стандартных
процедур
моделирования;
ПК-3
- разрабатывать интерфейсы Знать:
«человек
–
методы
проектирования
электронно- прикладных программ для проведения
вычислительная машина»;
вычислительного
структуру
эксперимента,
и
функции
специализированных
программных
систем
вычислительного
эксперимента;
Уметь:
формулировать
экономические
технико-
требования
разрабатываемым
к
прикладным
программам;
Владеть:
разработки
программы,
тестирования.
2. Место дисциплины в структуре ООП бакалавриата
5
отладки
прикладной
и
её
Учебная дисциплина «Программирование в Delphi» является дисциплиной по выбору
студента,
устанавливаемой
образовательным
учреждением,
способствующей
формированию базового уровня знаний в соответствии с требованиями учебного плана по
подготовке
выпускников
09.03.01(230100.62)
высшего
учебного
заведения
по
специальности
Информатика и вычислительная техника
Рабочая программа является авторской разработкой, выполненной в соответствии с
общими
требованиями
09.03.01(230100.62)
к
уровню
подготовки
выпускников
по
специальности
Информатика и вычислительная техника.
3. Объем дисциплины (модуля) в зачетных единицах с указанием количества
академических
часов,
выделенных
на
контактную
работу
обучающихся
с
преподавателем (по видам занятий) и на самостоятельную работу обучающихся
Общая трудоемкость дисциплины составляет 10 зачетных единиц(360ч)
№
п/п
1
1.1
1.3
2
3
4
4.1
Виды учебной работы
7 семестр
8 семестр
ЗЕТ/час.
Аудиторная работа, в том
числе:
Лекции
Лабораторные занятия
Самостоятельная работа
Курсовая работа
Промежуточная аттестация:
Зачет /Экзамен
18
12
30 час.
8
10
194
2
10
123
10 час.
20 час.
317 час.
-
4
Зачет
9
Экзамен
13
216
144
360
10
ВСЕГО час.
ВСЕГО ЗЕТ
4. Содержание дисциплины (модуля), структурированное по темам (разделам) с
указанием отведенного на них количества академических часов и видов учебных
занятий
4.1 Разделы дисциплины (модуля) и трудоемкость по видам учебных занятий (в
академических часах) для заочной (ускоренное обучение) формы обучения
6
ТЕМАТИЧЕСКИЙ ПЛАН
по специальности 09.03.01(230100.62)
«Информатика и вычислительная
техника»
заочная (ускоренное обучение) форма обучения
№
Наименование разделов и тем
тема
занятий
Количество часов
Всего
В том числе
Ауд.
Лекции/
Лаб./
интер.ф
Интер
СРС
.ф
1.
Раздел 1. Разработка локальных
214
18
8/4
10/10
194
40
2
2/2
45
6
1
41
2
2/2
39
40
1
1
39
46
7
2
5/5
39
баз данных в среде Delphi
2.
Тема 1.1. Архитектуры баз
38
данных. Основные технологии
доступа к данным в Delphi
3.
Тема 1.2. Принципы
5/5
39
проектирования реляционных баз
данных
4.
Тема 1.3. Средства разработки и
управления данными в Delphi
5.
Тема 1.4.Характеристика и
основные особенности СУБД
Paradox. Типы данных в СУБД
Paradox
6.
Тема 1.5.Создание таблиц
Paradox. Определение ключей и
индексов
7.
Зачет
4
8.
Итого за 7 семестр:
216
18
8/4
10/10
194
9.
Раздел 2. Разработка приложений
135
12
2
10
123
Delphi для работы с автономными
7
базами данных
10.
Тема 2.1. Организация
18
1
1
17
18
1
1
17
19
2
1
1
17
20
2
1
1
18
20
2
2
18
20
2
2
18
20
2
2
18
интерфейса приложения Delphi
для работы с данными
11.
Тема 2.2. Организация связи
компонентов для доступа к
данным из приложения Delphi
12.
Тема 2.3. Обзор компонентов,
используемых для связи с базами
данных
13.
Тема 2.4. Приложения с
несколькими связанными
таблицами
14.
Тема 2.5. Программные средства
для работы с набором данных
15.
Тема 2.6. Доступ к базам данных
через Microsoft ActiveX Data
Objects (ADO)
16.
Тема 2.7. Разработка и
формирование отчета в Delphi
Экзамен
9
Итого за 8 семестр:
144
12
2
10
123
Итого за дисциплину
360
30
10
20
317
4.2 Содержание дисциплин
Раздел 1. Разработка локальных баз данных в среде Delphi
Тема 1.1. Архитектуры баз данных. Основные технологии доступа к данным в Delphi
Цели и задачи курса. Новые информационные технологии. Системы, использующие
базы данных. История развития систем обработки данных. СУБД и ее место в системе
программного обеспечения ЭВМ. Сравнительная характеристика различных СУБД.
Автономные и сетевые СУБД. Основные компоненты информационных систем,
использующих базы данных. Архитектура информационной системы: одноуровневая,
8
двухуровневая,
трёхуровневая.
Клиент-серверная
и
файл-серверная
архитектуры:
преимущества и недостатки.
Среда разработки приложений, управление параметрами среды. Инструментальные
средства. Компиляция, отладка и выполнение приложений. Автоматизация процессов
проектирования баз данных и прикладных программ, средства визуальной разработки
приложений
Основные технологии доступа к данным: COM – технология, CORBA – технология.
Механизмы доступа к данным в среде Delphi: механизм BDE, механизм dbExpress,
механизм ADO. Особенности различных механизмов доступа к данным. Их преимущества
и недостатки. Использование ODBC-процессора для организации доступа к данным.
Понятие
псевдонима
базы
данных:
определение
alias,
типа
базы
данных
и
месторасположения базы данных.
Студент должен
 иметь представление:
о роли и месте знаний по дисциплине при освоении смежных дисциплин по выбранной
специальности и в сфере профессиональной деятельности;
о тенденциях и перспективах развития современных средств разработки приложений;
 быть компетентным в области современных методологий разработки программных
комплексов и организации доступа к данным.
 знать:

особенности современных систем управления базами данных;

основные компоненты информационных систем, использующих базы данных.

характеристики различных архитектур СУБД, их достоинства и недостатки;

современные технологии доступа к данным;
Тема 1.2. Принципы проектирования
реляционных баз данных
Проектирование базы данных. Понятие предметной области. Типы моделей данных:
иерархическая, сетевая, реляционная, многомерная, объектно-ориентированная и др.
Основные понятия реляционной модели данных. Проектирование реляционной модели
данных. Концептуальная модель, модель "сущность - связь". ER-диаграммы. Создание
9
реляционной схемы базы данных. Типы взаимосвязей в модели. Принципы обеспечения
ссылочной целостности. Создание структуры таблицы. Типы данных.
Студент должен
 иметь представление:
о принципах проектирования и разработки баз данных
 знать:

типы логических моделей данных

основные понятия реляционной модели данных

типы взаимосвязей в модели

принципы обеспечения ссылочной целостности;

основные типы данных;
 уметь:

проектировать концептуальную модель

разрабатывать реляционную схему базы данных
Тема 1.3. Средства разработки и управления данными в Delphi
Возможности Delphi для работы с данными. Использование механизма BDE для
создания базы данных и управления данными.
Инструментальные и компонентные средства для создания и управления базой данных.
Процессор BDE и утилита BDE Administrator.
Инструментальные средства: программы BDE Administrator, Database DeskTop, SQL
Monitor, SQL Explorer и др.
Создание таблиц базы данных в Database DeskTop.
Создание псевдонима базы данных в BDE Administrator.
Заполнение таблицы и работа с параметрами таблиц в SQL Explorer.
Компонентные средства Delphi: компоненты страниц BDE, Data Access, Data Controls.
Визуальные и невизуальные компоненты.
Студент должен
 иметь представление:
о принципах и способах разработки баз данных в среде Delphi
 знать:

принцип работы процессора BDE

инструментальные средства для работы с данными в среде Delphi
10

понятие псевдонима базы данных

понятие компонентных средств для работы с данными в Delphi;
Тема 1.4. Характеристика и основные особенности СУБД Paradox.
Типы данных в СУБД Paradox
Автономная система управления базой данных Paradox: основные особенности и
характеристики. Отличия от СУБД FoxPro. Возможности СУБД Paradox. Типы файлов в
СУБД Paradox: табличный файл с расширением .db, файл memo-поля .mb, файлы
параметров и др.
Типы полей в СУБД Paradox, их обозначения, характеристика, диапазон значений,
особенности и отличия. Размерность полей.
Студент должен
 знать:

основные особенности и характеристики СУБД Paradox

типы файлов в СУБД Paradox

типы полей в СУБД Paradox
Тема 1.5. Создание таблиц Paradox.
Определение ключей и индексов
Средство создания таблиц Paradox: программа Database DeskTop. Создание и сохранение
файла базы данных. Определение типов данных и их размеров. Создание псевдонима базы
данных с помощью программы BDE Administrator. Открытие, ввод
и редактирование
данных с помощью программы SQL Explorer.
Понятие ключа и индекса в Paradox. Назначение ключа и индекса. Отличие первичного
ключа от индекса. Создание первичного ключа в таблице. Использование свойства таблицы
Secondary Indexes для создания вторичных индексов, определение имён вторичных
индексов.
Студент должен
 знать:

назначение ключа и индекса

понятие первичного и вторичного индекса в СУБД Paradox
11
 уметь:

создавать структуру таблиц в Database DeskTop

создавать индексы

создавать псевдоним базы данных

осуществлять ввод и редактирование данных
Раздел 2. Разработка приложений Delphi для работы
с автономными базами данных
Тема 2.1. Организация интерфейса приложения Delphi для работы с данными
Создание интерфейса приложения в объектно-ориентированной среде Delphi.
Понятие объекта, его свойства и
методы. Основные стандартные компоненты,
используемые для разработки интерфейса: компоненты страницы Standard. Установка
свойств компонент с помощью инспектора объектов Object Inspector. Написание
программных
кодов
обработчиков
событий.
Отображение
результатов
работы
программных кодов. Виды меню: Использование меню в приложениях. Организация связи
нескольких форм в приложении.
Студент должен
 знать:

этапы разработки приложения в среде Delphi

понятие объекта, его свойства и методы

основные компоненты и их свойства, используемые для разработки приложений в
Delphi
 уметь:

создавать приложения Delphi, содержащие несколько форм

использовать различные компоненты

создавать обработчики событий
Тема 2.2. Организация связи компонентов
для доступа к данным из приложения Delphi
Использование механизма BDE для доступа к данным.
12
Преимущества и недостатки механизма BDE. Схема связи приложения Delphi с данными
через процессор BDE. Организация доступа с помощью процессора BDE, создание,
редактирование псевдонима, настройка параметров процессора.
Схема связи компонентов между собой и с базой данных. Понятие компоненты-формы
модуля данных DataModule. Связь модуля данных с формой приложения Delphi. События
OnCreate и OnDestroy модуля данных.
Использование свойств компонентов для организации связи:
установка свойства DataBaseName и AliasName (выбор и назначение псевдонима базы
данных);
установка свойства TableName для компонента Table;
установка свойства DataSet для компонента DataSource;
установка свойства DataSource для компонента dbGrid или dbNavigator.
Студент должен
 знать:

принципы механизма BDE для организации доступа к данным

схему связи компонентов между собой и с базой данных

основные свойства компонентов
 уметь:

использовать DataModule и размещать компоненты доступа к данным

устанавливать связь компонентов с данными и с компонентами управления
данными
Тема 2.3. Обзор компонентов, используемых для связи с базами данных
Схема взаимодействия компонентов Delphi с базой данных. Три типа компонент:
компоненты – наборы данных, компонент – источник данных, компоненты визуализации и
управления данными.
Страницы палитры компонент Delphi, содержащие компоненты доступа к данным: BDE,
Data Access, Data Controls.
Назначение и характеристика невизуальных компонент со страниц BDE, Data Access:
DataBase,
Table,
Query,
StoreProc.
Основные
свойства
невизуальных
компонент.
Особенности работы с компонентами Table и Query. Их отличия и основные свойства.
Назначение компоненты DataSourсе.
13
Назначение и особенности визуальных компонент со страницы Data Controls: dbGrid,
dbNavigator, dbText, dbEdit, dbMemo, dbListBox и др. Основные свойства визуальных
компонент.
Использование компонента Table, создание Редактора Полей, установка свойств
объектов полей: свойства Alignment, DisplayLabel, DisplayWidth, DisplayValues, ReadOnly.
Перенос полей на форму из Редактора Полей. Создание вычислимых полей. Фильтрация
данных: свойства Filter, Filtered.
Использование компонента визуализации и управления данными dbGrid. Создание
Редактора Столбцов, использование свойства ButtonStyle, PickList.
Студент должен
 знать:

назначение и характеристику невизуальных компонент

назначение и особенности визуальных компонент

особенности использования компонента Table

особенности использования компонента dbGrid
 уметь:

создавать Редактор Полей и использовать его свойства

создавать вычислимые поля

осуществлять фильтрацию данных

использовать Редактор Столбцов для отображения данных с помощью компонента
dbGrid
Тема 2.4. Приложения с несколькими связанными таблицами
Использование нескольких таблиц в одном приложении. Определение головной и
вспомогательной таблицы. Организация связи головной и вспомогательной таблиц:
определение ключевого значения, определяющего связь,
индексирование вспомогательной таблицы по ключевому значению,
использование свойства MasterSource вспомогательной таблицы,
использование свойства MasterFields вспомогательной таблицы.
Создание полей просмотра в Редакторе Полей набора данных: настройка свойств
FieldKind, KeyFields, LookupDataset, LookupKeyField, LookupResultField.
14
Студент должен
 знать:

порядок организации связи между таблицами в приложении Delphi
 уметь:

создавать связь между таблицами

отображать данные из нескольких связанных таблиц

создавать поля просмотра данных из связанных таблиц
Тема 2.5. Программные средства для работы с набором данных
Состояние набора данных State. Методы, изменяющие состояние набора данных: Close,
Open, Edit, Insert, InsertRecord, EditKey и др. Пересылка записи в базу данных: метод Post.
Кэширование изменений: свойства CachedUpdates, методы ApplyUpdates, CancelUpdates,
CommitUpdates.
Способы доступа к полям таблицы: по порядковому индексу объекта, по имени поля, по
имени объекта.
Методы навигации по записям таблицы: First, Last, Next, Prior, MoveTo.
Методики поиска записей: SetKey, FindKey, Locate, Lookup.
Методы
установки
диапазона
допустимых
значений:
SetRangeStart,
SetRangeEnd,
ApplyRange.
Методы модификации таблиц:CreateTable, DeleteTable, RenameTable, DeleteIndex.
Студент должен
 знать:

методы навигации, поиска и модификации данных
 уметь:

разрабатывать формы для ввода и модификации данных

осуществлять программный ввод и изменение данных

осуществлять поиск данных
Контрольная работа
Тема 2.6. Доступ к базам данных через Microsoft ActiveX Data Objects (ADO)
15
Характеристика технологии доступа к данным Microsoft ActiveX Data Objects (ADO).
Компоненты Delphi, расположенные на странице ADO и используемые для организации
доступа к данным: ADOConnection, ADODataSet, ADOTable, ADOQuery, ADOStoredProc и
др.
Организация связи приложения с базой данных с помощью компонентов ADO.
Соединение компонента ADOTable с базой данных с помощью свойства ConnectionString.
Создание источника данных для задания свойства ConnectionString.
Соединение
с
помощью
компонента
ADOConnection:
использование
свойства
ConnectionString в компоненте ADOConnection, установление свойства Connection
в
компонентах – наборах данных, использование свойства Active в компоненте – наборе
данных.
Основные свойства и методы набора данных ADOTable: работа с редактором полей,
программный доступ к полям, организация связи нескольких таблиц, упорядочивание
записей, фильтрация данных, методы навигации, методы сохранения набора данных в
файле и чтения данных из файла в набор данных SaveToFile и LoadFromFile.
Студент должен
 знать:

основные принципы доступа к данным с помощью ADO
 уметь:
 организовать связь приложения с базой данных с помощью компонентов ADO
Тема 2.7. Разработка и формирование отчета в Delphi
Характеристика и возможности генератора отчётов Rave Reports. Компоненты на
странице Rave палитры компонент, предназначенные для управления отчётами: компонент
RvProject задаёт представление проекта отчёта в приложении Delphi,
компонент RvSystem служит для управления отчётом.
Визуальное конструирование отчётов с помощью конструктора отчётов, содержащего
многостраничную панель инструментов, инспектор компонентов отчёта, конструктор
страниц и редактор событий, а также дерево проекта отчёта.
Компоненты отображения данных: DataText, DataMemo, CalcText и др.
Компоненты управления структурой размещения данных: Region, Band, DataBand.
Задание назначений текущей полосы отчёта: BodyHeader, GroupHeader, RowHeader, Detail,
RowFooter, GroupFooter, BodyFooter.
16
Компоненты
установления
соединения:
RvCustomConnection,
RvDataSetConnection,
RvTableConnection, RvQueryConnection.
Этапы создания отчёта:
 Создание заготовки отчёта в среде визуального конструктора
 Настройка соединений и подключение просмотра данных
 Помещение в форму приложения и настройка компонентов RvProject и RvSystem.
Использование метода ExecuteReport, обеспечивающего выполнение отчёта.
Студент должен
 знать:

возможности генератора отчётов Rave Reports
 уметь:

создавать проект отчёта и использовать его в приложении
4.3 Лабораторные работы
Лабораторная работа № 1
Тема: «Подпрограммы. Стандартные подпрограммы: процедуры и функции,
входящие в поставку Delphi. Технология создания собственных подпрограмм»
Реализуемые компетенции: ОК-1, ОК-11
Цель работы:
1.
Закрепить теоретические сведения о подпрограммах: процедурах и
функциях (структура подпрограммы – заголовок, локальное описание, тело,
способы вызова подпрограмм; понятие формальных и фактических параметров;
передача параметров по имени и по значению; параметры-константы, параметрырезультаты; вложения подпрограмм). Для получения теоретических сведений по
данной теме воспользоваться книгами либо электронными вариантами книг.
2.
Научиться применять на практике стандартные процедуры и функции.
Реализовать примеры создания приложений в Delphi.
3.
Научиться создавать пользовательские процедуры и функции.
Порядок работы:
17
Рассмотреть теоретические сведения о процедурах и функциях
1.
(локализация имен, описание подпрограммы, параметры, передача параметров,
процедурные типы, рекурсия и опережающее описание).
Ознакомиться с перечнем стандартных функций и процедур:
2.
(переменные, процедуры и функции модуля System, процедуры и функции модуля
Match).
Реализация приложений, использующих функции и процедуры.
3.
Практическое задание 1. В Object Pascal не предусмотрена операция возведения
вещественного числа в произвольную степень. Тем не менее эту задачу можно решить с
использованием стандартных математических функций Ехр и Ln по следующему
алгоритму: X Y = e (Y*Ln(X))
Создать функцию с именем power и двумя вещественными параметрами а и в, которая
будет возвращать результат возведения а в степень в. В приложении реализовать
использование обеих функций для возведения в степень.
Практическое задание 2. Написать программу, которая собирает статистику
содержимого текстового файла:

общее количество символов в тексте;

наличие в тексте чисел и их количество;

наличие в тексте прописных букв и их количество

наличие в тексте строчных букв и их количество.
Программа визуализирует результат на экране в виде:

общее количество символов;

процентное соотношение символов: цифры, ПРОПИСНЫЕ БУКВЫ,
строчные буквы.
Создайте новый проект, сохраните его. Спроектируйте интерфейс программы,
представленный на рисунке ниже.
Работа программы должна состоять из этапов.
Первый: создать пользовательские функции:
18
 для генерирования случайных символов RndSimvol;
 для генерирования строки из 50 случайных символов StringLine.
Второй: создать обработчик события кнопки 1 с последовательностью действий:
 создать текстовый файл, содержащий 150 строк из набора символов – числа,
ПРОПИСНЫЕ БУКВЫ, строчные буквы;
 заполнить редактор Memo информацией из файла.
Третий: создать обработчик события кнопки 2 по сбору статистики и визуализации
результатов
Для этого необходимо организовать подсчет общего количества символов, количество
цифр, количество ПРОПИСНЫХ БУКВ, количество строчных букв.
Провести вычисление процентного соотношения каждого вида по отношению к
общему числу символов. Вывести результаты на экран. Использовать компонент Gauge.
Функциональность приложения:
Для реализации описанных действий необходимо выполнить следующее:
1) создать пользовательскую функцию, генерирующую случайный символ, для этого
ее необходимо объявить в интерфейсной части модуля в разделе «public»
function RndSimvol: Char;
2) выполнить описание алгоритма функции в разделе реализации
function TForm1. RndSimvol: Char;
var
TipSimv: Byte;
begin
// тело функции
Result := ‘ ’;
TipSimv:= Random(3); // генерирование символов трех видов
Case TipSimv of
0: Result := Chr(Random(10) + 48); // возвращаемое значение – число
1: Result := Chr(Random(26) + 65);
// возвращаемое значение – ПРОПИСНЫЕ
БУКВЫ
2: Result := Chr(Random(26) + 97); // возвращаемое значение – строчные буквы
end;
end;
3) создать пользовательскую функцию, генерирующую строку случайных символов,
для этого ее необходимо объявить в интерфейсной части модуля в разделе «public»
function StringLine: String;
19
4) выполнить описание алгоритма функции в разделе реализации
function TForm1. StringLine: String;
var
i: integer;
begin
// тело функции
Result := ‘ ’;
For i:= 1 to 50 do
Result := Result + RndSimvol; // вызов функции генерации случайных символов
// возвращаемое значение – строка из 50 символов
end;
5) создать пользовательскую процедуру CreateTXTFile для создания файла
TXTFile.txt , для этого ее необходимо объявить в интерфейсной части модуля в разделе
«public», выполните это самостоятельно. Объявить глобальную переменную F1 типа
«Текстовые файлы».
6) выполнить описание алгоритма процедуры в разделе реализации.
procedure TForm1.CreateTXTFile;
var
i: integer;
begin
Randomize;
AssignFile(F1, ‘TXTFile.txt’);
Rewrite(F1);
For i:= 1 to 150 do
Writeln(F1, StringLine);
CloseFile(F1);
ShowMessage(Format(‘Файл %s создан!’, ‘TXTFile.txt’)));
end;
Вопрос 1: Для чего используется Randomize?
Вопрос 2: Для чего вызывается функция Format и какие она имеет параметры?
6) создать обработчик события OnButton1Click, который будет вызывать процедуру
создания текстового файла с именем TXTFile.txt и заполнять редактор Memo1 информацией
из этого файла.
Описание обработчика события:
procedure TForm1.Button1Click(Sender: TObject);
20
begin
CreateTXTFile;
Memo1.Lines.add(‘TXTFile.txt’);
end;
7) создать обработчик события OnButton2Click, который будет подсчитывать общее
количество символов в тексте, количество цифр, ПРОПИСНЫХ, строчных букв и выдавать
результаты в процентном соотношении. Для хранения информации о количестве символов
необходимо использовать динамический массив целых чисел.
Описание обработчика события:
procedure TForm1. Button2Click (Sender: TObject);
var
i: Byte;
mStatistica: array of Integer:
sLine: String;
begin
setLength(mStatistica,4);
// длина динамического массива
// индексы массива
// 0 – общее количество символов
// 1 - цифры
// 2 – ПРОПИСНЫЕ
// 3 - строчные
AssignFile(F1, ‘TXTFile.txt’);
Reset(F1);
While not eof(F1) do
Begin
Readln(F1,sLine);
mStatistica[0] := mStatistica[0] + Length(sLine);
For i:= 1 to Length(sLine) do
Begin
Case sLine[i] of
‘0’..’9’ : mStatistica[1] := mStatistica[1] + 1;
‘A’..’Z’ : mStatistica[2] := mStatistica[2] + 1;
‘a’..’z’ : mStatistica[3] := mStatistica[3] + 1;
end;
end;
21
end;
CloseFile(F1);
Gauge1.Progress := Round((mStatistica[1] * 100) / mStatistica[0]);
Gauge2.Progress := Round((mStatistica[2] * 100) / mStatistica[0]);
Gauge3.Progress := Round((mStatistica[3] * 100) / mStatistica[0]);
End;
Вопрос 3: Для чего нужна инструкция ReadLn()?
Вопрос 4: Для чего нужна переменная sLine?
Вопрос 5: Что возвращает функция Length()?
Практическое задание 3. Написать программу «Кредитный калькулятор», которая
позволяет рассчитывать ежемесячные выплаты по кредиту и строить на их основе таблицу
платежей. Исходными данными являются: сумма кредита (в рублях), годовая ставка (в
процентах), срок погашения (количество месяцев).
Основная сумма кредита выплачивается в равных долях каждый месяц. К этой сумке
добавляются проценты, которые натекли на непогашённую сумму кредита за месяц.
(Убывающая схема выплат). Проценты за месяц + месячная доля основной суммы кредита
составляют ежемесячные выплаты. Демонстрационная версия программы прилагается к
заданию.
1.
Для округления вещественного числа до сотых долей можно
воспользоваться функцией RoundTo.
Примеры:
RoundTo(1234567, 3) 1234000
RoundTo(1.234, -2)
1.23
RoundTo(1.235, -2)
1.24
RoundTo(1.245, -2)
1.24
Первый параметр – округляемое число, второй параметр степень 10 до которой будет
выполнено округление. Функция возвращает результат округления.
2.
Описание компонентов использованных в лабораторной работе, в том
числе компонента «Таблица строк» (StringGrid) можно найти в электронной книге
А.Я. Архангельского
Литература:
22
1.
Эйдлина Г.М., Милорадов К.А. Delphi: программирование в примерах и задачах.
Практикум: Учеб. пособие. – М.: РИОР: ИНФРА-М, 2012. – 116 с. – (Высшее
образование: Бакалавриат).
2.
Золотарев, В. В. Управление информационной безопасностью. Ч. 1. Анализ
информационных рисков [Электронный ресурс] : учеб. пособие/ В. В. Золотарев, Е.
А. Данилова. - Красноярск :Сиб. гос. аэрокосмич. ун-т, 2010. - 144 с
3.
райнев, В. А. Новые информационные коммуникационные технологии в
образовании [Электроный ресурс] / В. А. Трайнев, В. Ю. Теплышев, И. В. Трайнев. 2-е изд. - М. : Издательско-торговая корпорация “Дашков и К°”, 2013. - 320 с.
Лабораторная работа №2.
Разработка в Delphi программы для работы с СУБД InterBase
Реализуемые компетенции: ПК-2, ПК-3
При создании системы программирования Delphi с самого начала она предназначалась
прежде всего для разработки прикладных программ работающих с СУБД различных фирм.
Поэтому в Delphi представлены все основные механизмы доступа к данным, известные в
мире – ADO, ODBC и др.. Кроме того, Delphi предлагает свои собственные механизмы. К
таким относятся BDE и InterBaseExpress.
Информация
Для создания в Delphi программ, работающих с базами данных InterBase/FireBird, можно
рекомендовать использовать механизм доступа к БД InterBaseExpress. Другие варианты
имеет смысл использовать, только если подразумевается возможность в дальнейшем
перевода БД на другую СУБД. InterBaseExpress включает в себя компоненты,
располагающиеся на вкладке InterBase палитры компонентов Delphi. Укажем некоторые из
них, которые потребуются нам для создания первой программы. (Мы должны понимать,
что с точки зрения Delphi в форме будет располагаться, например, компонент IBDataBase1
типа TIBDataBase . Однако для удобочитаемости мы не будем указывать не имя
компонента, не префикс T в типе.)
Компонент IBDataBase «умеет» подключаться к базе данных, взаимодействуя с клиентом
БД.
Компонент IBTransaction служит для управления транзакциями (транзакция –
несколько операций с базой данных, которые можно принять, т.е. зафиксировать в базе или
отменить). Оба этих компонента связаны друг с другом - у IBDataBase есть свойство
23
DefaultTransaction, которое должно указывать на компонент типа IBTransaction, а у
компонента IBTransaction есть свойство DefaultDataBase, которое, наоборот, должно
указывать на компонент типа IBDataBase.
Компонент IBQuery служит для организации запроса к таблице. Это компонент
позволяет делать выборку из таблицы всех записей или только части, всех полей или только
части, и притом обеспечивает возможность редактирования данных. Вообще говоря, есть
еще компонент IBTable для работы с таблицами, однако опыт показывает, что
использование IBQuery - более гибкий вариант. Свойство DataBase у IBQuery должно
указывать на компонент типа IBDataBase. Кроме того, свойство UpdateObject должно
указывать на компонент IBUpdateSQL.
Компонент IBUpdateSQL служит дополнением к IBQuery, если IBQuery используется не
только для просмотра данных, но и для добавления, удаления или изменения данных.
Кроме этих компонентов, в программе будут использованы компоненты, которые не
являются специфичными для InterBaseExpress, а используются для всех механизмов
доступа к БД.
Компонент DataSource (вкладка DataAccess палитры компонентов) служит для связи
между тем, «кто умеет получать данные из базы» и теми, «кто их умеет отображать для
пользователя». В роли первого в нашем случае будет выступать компонент IBQuery,
поэтому свойство DataSet должно указывать на компонент типа IBQuery.
Для отображения данных используются компоненты,
располагающиеся на вкладке
DataControls палитры компонентов Delphi. У каждого из них есть свойство DataSorce,
которое должно указывать на компонент типа DataSorce.
Среди них выделим сетку
DBGrid для отображения данных в табличной форме, компонент DBEdit для отображения
данных в карточной форме, а также DBNavigator, который не отображает данные из
таблицы, но представляет собой панель кнопок для организации действий с таблицей
(вставка записи, удаление записи, переход в режим редактирования, сохранение или отмена
отредактированных данных, переход к следующей/предыдущей записи, в начало/в конец), и
одновременно представляет собой индикатор текущего статуса базы данных.
При разработке программ, работающих с СУБД InterBase, полезно разделить визуальные
компоненты и компоненты доступа к данным. Компоненты доступа к данным в этом случае
размещаются в отдельном модуле, который на этапе разработки имеет свою форму, а во
время работы программы никогда не отображается в виде окна. Такой модуль называется
модулем данных и создается командой File \ New \ DataModule.
При разработке достаточно сложной программы окно Form1 из модуля Unit1, которое
автоматически появляется при старте программы, удобно сделать главным окном
24
программы, из которого вызываются вторичные окна для просмотра и редактирования
таблиц.
При работе с данными в Delphi, широко используются так называемые модули данных,
которые на этапе разработки отчасти похожи на формы, однако при работе программы они
никогда не отображаются как окна, а служат только как контейнеры для невизуальных
компонентов, обрабатывающих информацию.
Рисунок 1. Структура программы
Программа
СУБД
Модуль uMain (форма fMain)
Главное окно программы,
отображаемое при старте
Модуль uDMMain (модуль
данных DMMain)
Для соединения с БД через
InterBase-клиент
Содержит IBDataBase и
IBTransaction
Модуль uFakultet (форма fFakultet)
Отображение данных из таблицы
Содержит DBGrid и DBNavigator
Красные стрелкисвязи между
компонентами.
Синие стрелки – связи
Uses между модулями
Модуль uDMFakultet (модуль
данных DMFakultet)
Содержит запрос IBQuery к
таблице Fakultet, IBUpdateSQL для
чтения, записи в БД, DataSource
для связи IBQuery и визуальных
компонентов
Примечание. При желании компоненты из всех модулей можно собрать в один модуль,
однако тогда программа не будет обладать достаточной гибкостью, что важно для сложных
программ. Для нашей же программы мы это сделали еще и в методических целях.
1. Для каждой таблицы удобно сделать отдельный модуль данных, например,
DMFakultet в файле uDMFakultet, содержащий компонент qFakultet типа IBQuery
для
связи
с
таблицей,
компонент
dsFakultet
типа
TDataSource
для
взаимодействия предыдущего компонента и визуальных компонентов в форме,
25
отображающих данные из таблицы, и компонент uFakultet типа TIBUpdateSQL,
хранящий SQL-код для чтения записей, изменения, удаления и добавления.
Действия
1. Создание главного окна
Создаем новый проект в Delphi и сразу же
записываем его (команда File\Save All) в
папку с FireBird_Embedding. При этом дадим
подходящее название проекту и единственной
форме
в
проекте.
Рекомендуем
модуль
переименовать из Unit1 в uMain, а проект переименовать из Project1 в pGDB. Затем
переименуем также форму Form1 в fMain (свойство Name в ObjectInspector). В форме
разместим главное меню (компонент MainMenu со страницы Standard палитры
компонентов), создадим его структуру(двойной щелчок по этому компоненту вызывает
дизайнер меню),
но пока не задаем события для пунктов меню. Это соответствует
концепции «сначала создадим внешний вид, а затем, наладим функционирование
компонентов».
2. Создание главного модуля данных
Создадим в проекте модуль данных командой File \ New \ DataModule, сохраним его
(команда File\Save As..) в файле uDMMain, а сам модуль данных назовем (свойство Name в
ObjectInspector) DMMain. Следует при этом различать модуль как конструкцию Паскаля,
означающую часть программы, записываемую в отдельный файл с расширением PAS и
модуль данных, как объект, аналогичный форме, но не отображаемый, а служащий
контейнером для хранения данных и других объектов. Подчеркиваем, что у нас модуль
данных DMMain хранится в модуле (файле) uDMMain (точнее uDMMain.pas).
Разместим в модуле данных компонент IBDataBase со страницы InterBase палитры
компонентов Delphi. Переименуем его в IB_DB.
Разместим в модуле данных компонент IBTransaction со страницы InterBase палитры
компонентов Delphi. Переименуем его в IBT.
Устанавливаем свойства :
26
1) У компонента IB_DB в свойстве DefaultTransaction выбираем IBT.
2) У компонента IBT свойство DefaultDataBase должно указывать на компонент IB_DB
типа TIBDataBase.
3) Рекомендуем у
IBT свойство DefaultAction рекомендуем переключить в значение
TACommitRetaining (в этом случае принятые транзакции будут видны и другим
пользователям).
4) Вызываем всплывающее меню компонента IB_DB и выбираем команду DataBase Editor.
В диалоговом окне устанавливаем параметры. Внимание - параметр Server должен
указывать на тот компьютер, где располагается сервер СУБД и Ваша база данных
(LocalHost – это особое имя, которое используется, если сервер СУБД и Ваша программа
располагаются на одном и том же компьютере). Параметры, установленные в этом
диалоговом окне записываются в свойства DataBaseName, LoginPrompt, Params компонента.
5) Для подключения к базе уже на этапе разработки программы устанавливаем свойство
Connected в TRUE. При этом придется вводить USERNAME и PASSWORD . Если
Connected переключилось в TRUE, значит связь с базой данных установлена, то есть
цепочка <Ваша программа> ↔ <IBклиент> ↔ <IBсервер СУБД> ↔ <База Данных>
работает во всех звеньях.
27
Во многих ситуациях свойство Connected в режиме разработки программы автоматически
переключается в FALSE. Поэтому для надежности напишем программный код
автоматического подключения при старте программы. Для этого создадим для модуля
данных обработчики событий OnCreate и OnDestroy. (см.рисунок ниже). Для этого выберем
сам модуль данных в ObjectInspector, перейдем на страницу Events, сделаем двойной
щелчок по строке OnCreate и в созданной системой Delphi заготовке процедуры напишем
программный код. Аналогично создается обработчик для события OnDestroy.
3. Создание модуля данных для связи с таблицей
Создадим в проекте модуль данных командой File \ New \ DataModule, сохраним его в
файле uDMFakultet, а сам модуль назовем DMFakultet.
В секцию uses этого модуля
добавим uDMmain.
Разместим в модуле данных компоненты IBQuery и IBUpdateSQL со страницы InterBase
палитры компонентов Delphi и компонент DataSource со страницы DateAccess. Удобно
переименовать компоненты, например qFakultet, uFakultet, dsFakultet.
Устанавливаем свойства :
1) у
компонента
qFakultet
устанавливаем
в
свойстве
DMMain.IB_DB, а свойство Transaction в DMMain.IBT.
28
DataBase
значение
2) у компонента qFakultet в свойстве SQL записываем текст SQL-запроса SELECT
SHORTNAME, FULLNAME, DEKAN FROM FAKULTET . Это можно делать также
с помощью манипуляций с кнопками <AddTable to SQL> и < AddField to SQL >
(см.рисунок ниже)
3) у компонента qFakultet устанавливаем в свойстве UpdateObject значение uFakultet
4) у компонента uFakultet вызываем всплывающее меню и выбираем команду
UpdateSQL Editor.
В появившемся диалоговом окне устанавливаем первичный
ключ, нажав Select Primary Keys. Там же нажмем Generate SQL и просмотрим SQL-
29
команды, которые сгенерированы Delphi. (см.рисунки ниже)
5) Теперь можно протестировать связь с таблицей, установив свойство Active у
qFakultet в TRUE. Если это удалось, это означает, что запрос qFakultet работает и
выбирает сведения из таблицы.
6) У компонента qFakultet вызываем всплывающее меню и вызываем <редактор полей>
Fields Editor.
30
В редакторе полей выбираем команду <Добавить все поля> Add all fields.
7) У компонента dsFakultet типа TDataSource устанавливаем DataSet в qFakultet.
8) У модуля данных в событии OnCreate записываем действия по подключению к базе
данных.
procedure TDMFakultet.DataModuleCreate(Sender: TObject);
begin
qFakultet.Open; {или qFakultet.Active := TRUE;}
end;
В принципе qFakultet уже находится в открытом состоянии, поэтому это делается для
подстраховки – дело в том, что при некоторых манипуляциях с запросом в режиме
дизайнера он переход в состояние Active =FALSE, и это часто обнаруживается только после
запуска программы – а наличие такого программного кода гарантирует, что запрос при
старте программы также будет переведен в состояние Active = TRUE;.
31
9) Для обеспечения фиксации новых записей в базе применим простейший способ –
сразу после изменения данных фиксировать транзакцию. Для этого у компонента
qFakultet в обработчике события AfterPost (это событие возникает после записи
отредактированной
записи
в
таблицу)
запишем
qFakultet.Transaction.CommitRetaining:
procedure TDMFakultet.qFakultetAfterPost(DataSet: TDataSet);
begin
qFakultet.Transaction.CommitRetaining;
end;
Аналогичный код записываем в событие AfterDelete (это событие возникает после записи
отредактированной записи в таблицу)
procedure TDMFakultet.qFakultetAfterDelete(DataSet: TDataSet);
begin
qFakultet.Transaction.CommitRetaining;
end;
4. Создание окна для редактирования таблицы
Создадим в проекте еще один модуль с формой командой File \ New \ Form . Удобно сразу
же сохранить модуль под именем, например, uFakultet, а форму назвать fFakultet.
Действия по разработке окна fFakultet:
1) Запишем в модуль uFakultet в раздел implementation фразу uses uDMFakultet; для связи с
указанным модулем.
Вставим в форму компоненты DBGrid и DBNavigator со страницы DataControls палитры
компонентов.
У обоих компонентов в свойстве DataSource укажем DMFakultet.dsFakultet
У компонента DBGrid во всплывающем меню выберем Columns Editor... и нажатием на
кнопку Add all fields добавим все поля таблицы для отображения в сетке.
32
Поскольку таблица подключена, даже на этапе разработки проекта уже можно видеть
данные.
5. Подключение к главному окну
После этого в главном модуле uMain в разделе implementation уже можно записать Uses
uFakultet; и в обработчик события OnClick для пункта меню записать
procedure TfMain.N2Click(Sender: TObject);
begin
fFakultet.ShowModal;
end;
Теперь запускаем программу и тестируем ее. Тестирование состоит в проверке
возможности добавления записей, редактирования и удаления записей.
33
Литература:
4.
Эйдлина Г.М., Милорадов К.А. Delphi: программирование в примерах и задачах.
Практикум: Учеб. пособие. – М.: РИОР: ИНФРА-М, 2012. – 116 с. – (Высшее
образование: Бакалавриат).
5.
Золотарев, В. В. Управление информационной безопасностью. Ч. 1. Анализ
информационных рисков [Электронный ресурс] : учеб. пособие/ В. В. Золотарев, Е.
А. Данилова. - Красноярск :Сиб. гос. аэрокосмич. ун-т, 2010. - 144 с
6.
Трайнев, В. А. Новые информационные коммуникационные технологии в
образовании [Электроный ресурс] / В. А. Трайнев, В. Ю. Теплышев, И. В. Трайнев. 2-е изд. - М. : Издательско-торговая корпорация “Дашков и К°”, 2013. - 320 с.
Лабораторная работа №3
Программирование линейных алгоритмов
Реализуемые компетенции: ОК-11, ПК-3
Цель работы: выработать практические навыки работы с системой Borland Pascal,
научиться создавать, вводить в компьютер, выполнять и исправлять простейшие
программы на языке Pascal в режиме диалога, познакомиться с диагностическими
сообщениями компилятора об ошибках при выполнении программ, реализующих линейные
алгоритмы.
Общие сведения:
Линейным называется алгоритм, в котором результат получается путем однократного
выполнения заданной последовательности действий при любых значениях исходных
данных. Операторы программы выполняются последовательно, один за другим, в
соответствии с их расположением в программе.
Пример1: Определить расстояние на плоскости между двумя точками с заданными
координатами M1(x1,y1) и M2(x2,y2)
Этапы решения задачи:
1.
Математическая модель: расстояние на плоскости между двумя точками M1(x1,y1) и
M2(x2,y2) высчитывается по формуле
2.
Составим схему алгоритма
34
Уточним содержимое блокас "Вычисление и печать расстояния"
Дальнейшая детализация не требуется. Переводим блок-схему на язык Паскаль.
program example1;
var x1, x2, y1, y2: integer;
d:real;
begin
write('x1= '); readln(x1);
write('y1= '); readln(y1);
write('x2= '); readln(x2);
write('y2= '); readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln('d=',d);
end.
Доработаем программу, так чтобы она обладала некоторым интерфейсом.:
program example1;
var x1, x2, y1, y2: integer;
35
d:real;
begin
writeln('Эта программа вычисляет расстояние между двумя точками на плоскости');
writeln('Введите координаты двух точек:');
write('x1= '); readln(x1);
write('y1= '); readln(y1);
write('x2= '); readln(x2);
write('y2 ='); readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln('d= ',d);
writeln('нажмите Enter для завершения работы программы');
readln;
end.
Контрольные вопросы:
1.
Каковы назначение и возможности системы Borland Pascal?
2.
Как запустить программу на трансляцию и выполнение?
3.
Как записываются операторы начала и конца программы?
4.
Из каких разделов состоит программа на языке Pascal?
5. В какой последовательности должны быть записаны разделы программы на языке
Pascal?
6.
Как записываются операторы вывода на экран в Pascal?
Задачи:
1.
2.
Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.
Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление
соединения.
3.
4.
Определить время падения камня на поверхность земли с высоты h.
Известна длина окружности. Найти площадь круга, ограниченного этой
окружностью.
5.
Треугольник задан координатами своих вершин. Найти:
o
периметр треугольника;
o
площадь треугольника.
36
6.
Вычислить высоту треугольника, опущенную на сторону а, по известным значениям
длин его сторон a, b, c.
7.
Вычислить объем цилиндра с радиусом основания r и высотой h.
8.
Определить расстояние, пройденное физическим телом за время t, если тело
движется с постоянным ускорением а и имеет в начальный момент времени скорость
V0
9.
Вычислить площадь треугольника по формуле Герона, если заданы его стороны.
10. Определить координаты вершины параболы y=ax2+bx+c (a№0). Коэффициенты a,b,c
заданы.
11. По данным сторонам прямоугольника вычислить его периметр, площадь и длину
диагонали.
Задачи повышенной сложности
1.
Студент начал решать задачи данного урока программирования, когда электронные
часы показывали h1 часов и min1 минут, а закончил, когда было h2 часов и min2
минут. Составьте программу, позволяющую определить, сколько времени студент
решал эти задачи. (Будем считать, что задачи решались не дольше суток.)
2. Дано действительное число а. Не пользуясь никакими другими операциями, кроме
умножения, получить: а) а4 за две операции; б) а6 за три операции; в) а7 за четыре
операции; г) а8 за три операции; д) а9 за четыре операции; е) а10 за четыре
операции; ж) а13 за пять операций; з) а15 за пять операций; и) а21 за шесть
операций; к) а28 за шесть операций; л) а64 за шесть операций;
3. Найти максимум и минимум двух натуральных чисел не используя ветвления
алгоритма.
Литература:
1. Эйдлина Г.М., Милорадов К.А. Delphi: программирование в примерах и задачах.
Практикум: Учеб. пособие. – М.: РИОР: ИНФРА-М, 2012. – 116 с. – (Высшее
образование: Бакалавриат).
2. Золотарев, В. В. Управление информационной безопасностью. Ч. 1. Анализ
информационных рисков [Электронный ресурс] : учеб. пособие/ В. В. Золотарев, Е.
А. Данилова. - Красноярск :Сиб. гос. аэрокосмич. ун-т, 2010. - 144 с
3. Трайнев, В. А. Новые информационные коммуникационные технологии в
образовании [Электроный ресурс] / В. А. Трайнев, В. Ю. Теплышев, И. В. Трайнев. 2-е изд. - М. : Издательско-торговая корпорация “Дашков и К°”, 2013. - 320 с.
37
4.4. Интерактивные образовательные технологии, используемые в аудиторных
занятиях
Семестр
Вид
занятия
Используемые интерактивные
Количество
образовательные технологии
часов
(Л, ЛР)
Л
7
Проблемная лекция с применением
4
мультимедийного сопровождения лекции
и технологии анализа ситуаций при
активном обучении. Применение
проектной технологии,
междисциплинарная интеграция.
Лекция – дискуссия
ЛР
Частично-поисковая
деятельность
с
использованием
информационных
10
ресурсов и баз данных. Групповая работа с
использованием ситуационной задачи, СУ
(ситуационные упражнения), технологии
ситуационного моделирования.
Итого:
5.Перечень
14
учебно-методического
обеспечения
для
самостоятельной
работы
обучающихся по дисциплине
1. Культин Н. Б. Основы программирования в Delphi XE. — СПб.: БХВПетербург, 2011. — 405 с. - ЭБС
2. Авдеев, В. А. Интерактивный практикум по компьютерной схемотехнике
на Delphi + CD [Электронный ресурс] / В. А. Андреев. – М.: ДМК Пресс,
2011. – 360 с 1. — 405 с. -ЭБС
3. Хомоненко, А. Д. Delphi 7 / А. Д. Хомоненко, В. Э. Гофман, Е. В.
Мещеряков. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. —
1136 с.-ЭБС
38
6 Фонд оценочных средств для проведения промежуточной аттестации обучающихся
по дисциплине (модулю)
В конце 7 семестра – зачет, 8 семестр – экзамен.
Не зачтено - ответ, демонстрирующий отсутствие знаний по теоретическим вопросам,
и неумение разрешать проблемные ситуации, связанные с разработкой программных
продуктов.
Зачтено - ответ, демонстрирующий компетентность при проектировании и разработке
приложений, построении их структуры и оформлении клиентского интерфейса
Оценка знаний студентов производится по следующим критериям:

оценка «отлично» выставляется студенту, если он глубоко и прочно усвоил
программный материал курса, исчерпывающе, последовательно, четко и логически стройно
его излагает, умеет тесно увязывать теорию с практикой, свободно справляется с задачами
и вопросами, причем не затрудняется с ответами при видоизменении заданий, правильно
обосновывает принятые решения, владеет разносторонними навыками и приемами
выполнения практических задач;

оценка «хорошо» выставляется студенту, если он твердо знает материал
курса, грамотно и по существу излагает его, не допуская существенных неточностей в
ответе на вопрос, правильно применяет теоретические положения при решении
практических вопросов и задач, владеет необходимыми навыками и приемами их
выполнения;

оценка «удовлетворительно» выставляется студенту, если он имеет знания
только основного материала, но не усвоил его деталей, допускает неточности, недостаточно
правильные формулировки, нарушения логической последовательности в изложении
программного материала, испытывает затруднения при выполнении практических задач;

значительной
оценка «неудовлетворительно» выставляется студенту, который не знает
части
программного
материала,
допускает
существенные
ошибки,
неуверенно, с большими затруднениями решает практические задачи или не справляется с
ними самостоятельно.
6.1. Перечень вопросов, выносимых на экзамен
1.
Понятие базы данных. ОК-1, ОК-11
2.
Понятие банка данных. Состав информационной системы. ОК-11, ПК-2
3.
Системы управления базами данных (СУБД). Локальные и сетевые СУБД. ПК-2,
ПК-3
39
4.
Модели баз данных. ОК-1, ПК-2
5.
Принципы проектирования реляционных баз данных ОК-11, ПК-2
6.
Архитектура СУБД: локальная, файл-серверная, клиент-серверная. ОК-11, ПК-3
7.
Основные технологии доступа к данным из приложения Delphi ОК-1, ПК-2
8.
Технология BDE. Схема, особенности. ОК-11, ПК-3
9.
Технология COM ОК-1, ПК-3
10. Технология CORBA ОК-11, ПК-2
11. Понятие alias. Способы создания. ОК-1, ОК-11
12. Средства разработки и управления базами данных в Delphi (DD, SQL Explorer, BDE
Administrator). ОК-11, ПК-2
13. Создание таблиц. Понятие ключевого поля. ПК-2, ПК-3
14. Создание индексов в Paradox. ОК-1,ОК-11
15. Невизуальные компоненты доступа к данным: TTable, DataSource, DataBase. ОК-11,
ПК-2
16. Редактор полей. Создание вычислимого поля. ОК-1, ОК-11
17. Редактор полей. Создание полей просмотра. ОК-11, ПК-3
18. Визуальные компоненты отображения данных. ПК-2, ПК-3
19. Связанные таблицы. ОК-1, ПК-2
20. Компонент запрос Query. Основные свойства. ОК-11, ПК-3
21. Оператор Select. Формирование структуры запроса. ОК-1, ПК-2
22. Операторы Insert, Update, Delete. ОК-1, ОК-11
23. Принципы создания отчетов в Delphi. ОК-11, ПК-3
24. Генератор отчетов. Компоненты отчета. ПК-2, ПК-2
25. Создание базы данных в Microsoft SQL Server ПК-2, ПК-3
26. Особенности доступа к данным из приложения Delphi через Microsoft ActiveX Data
Objects (ADO) ОК-11, ПК-2
6.2 Образцы тестовых заданий для самостоятельной работы
40
1. Операции типа отношений:
 =, <>, <, >, <=, >=
 shl, shr
@
 as, is
2. Операции арифметического типа:
 +, div, *, /, mod,  +, -, *, <=, >=, <>
 +, -, =, <>, @
3.Примеры операций - это:
 not (C in MySet)
 Q <= MySet1
 MyProc(1,2,3)
 set1 + set2
 'Строка1'+ 'Строка2'+ strMyVal
 al and (a2>0)
 x:= a[2]*2
 integer = 1
4. Порядковые типы данных - это:
 целые
 дата/время
 вещественные
 массивы
 логические
5. Логические операции - это:
 in
 as, is
 not, and, or, xor
 not, and, or, xor, shl, shr
 div, mod
6. Класс TEdit представляет собой:
 поле со списком
 многострочный редактор
 текстовое поле
41
 текст на форме
7. Класс TLabel представляет собой:
 поле со списком
 многострочный редактор
 текстовое поле
 текст на форме
8.Класс TMainMenu представляет собой:
 поле со списком
 многострочный редактор
 контекстное меню
 главное меню
9.Класс TPopupMenu представляет собой:
 всплывающую подсказку
 многострочный редактор
 контекстное меню
 главное меню
10. Класс TMemo представляет собой:
 всплывающую подсказку
 многострочный редактор
 контекстное меню
 главное меню
11. Класс TListBox представляет собой:
 всплывающую подсказку
 многострочный редактор
 список значений
 главное меню
12. Класс TComboBox представляет собой:
 всплывающую подсказку
 многострочный редактор
 список значений
 поле со списком
13. Свойство Label1.Hint предназначено для:
 записи текста, отображаемого на форме
 записи текста, выводимого всплывающей подсказкой
 записи текста, выводимого в заголовке формы
42
 записи позиции окна
14. Свойство Panel1.Align предназначено для:
 выравнивания текста на форме
 указания способа размещения (выравнивания) объекта
 указания расстояния от левого края формы
 записи позиции окна
15. Свойство Edit1.Left предназначено для:
 выравнивания текста на форме
 указания способа размещения (выравнивания) объекта
 указания расстояния от левого края формы
 указания глобальной позиции в памяти, включая смещения
16. Свойство GroupBox1.Top предназначено для:
 выравнивания текста на форме
 указания способа размещения (выравнивания) объекта
 указания расстояния от левого верхнего угла объекта до левой границы формы
 указания расстояния от левого верхнего угла объекта до верхней границы
формы
17. Свойство GroupBox1.Color предназначено для:
 указания цвета Рабочего стола
 указания коллекции цветов (темы Windows XP)
 указания цвета объекта
18. Свойство Label1.Font.Color предназначено для:
 указания цвета Рабочего стола
 указания коллекции цветов (темы Windows XP)
 указания цвета объекта
 указания цвета шрифта
19. Избегайте записи, подобной следующей, т.к. компилятор поймет ее неправильно.
 if x=7 and y=8 then
 if (x=7) and (y=8) then
 if x=4 then y:=x;
 if (x=4) y=x;
 if x=4 then y=x;
20. Выражение X представляет ...
 целочисленную константу
 булеву переменную
43
 переменную
 адрес переменной
21. Выражение @X представляет ...
 целочисленную константу
 булеву переменную
 переменную
 адрес переменной
22. Выражение 15 представляет ...
 целочисленную константу
 булеву переменную
 переменную
 адрес переменной
23. Выражение Calc(X,y) представляет ...
 результат операции
 булеву переменную
 переменную
 вызов функции
24. Выражение X*Y представляет ...
 целочисленную константу
 булеву переменную
 переменную
 результат операции
25. Недопустимые конструкции комментария:
 *...(...*)...)
 (*...(...)...*)
 {...}
 (*это*)
 [*...*]
 //
26. Примеры правильных идентификаторов:
A
 mod
 block#1
 Panel1
 ToolBar1
44
27. Примеры неправильных идентификаторов:
 1Program
 external
 ALPHA
 Panel1
 ToolBar1
 My Prog
28. Порядковые типы данных - это ...
 Cardinal
 Currency
 Float
 Byte
 Real
29. Для форматного преобразования вещественных чисел предназначены функции ...
 FloatToStr
 RealToInt
 Float
 FormatFloat
 FormatDateTime
30. Запись a+b/c предполагает, что:
 вначале выполняется операция деления, а затем сложения
 вначале выполняется операция сложения, а затем деления
31. Запись (a+b)/c*d предполагает,что:
 сумма a+b делится на с, а затем умножается на d
 с умножается на d, затем выполняется операция сложения a+b, и только потом
операция деления
32. Операции "целочисленное деление" и "определение остатка от деления"
применимы только к операндам ... типов данных:
 целых
 вещественных
33. Тип данных характеризует две вещи ...
 длину участка памяти, которую занимает соответствующая переменная
 инициализацию переменной
 разрешенные операции для переменной
34. Примеры выражений - это:
45
y
 21
 #39
 (a+b)*c
 a>2
 'Symbol'
 sin(t)
 NIL
35. В Object Pascal используются следующие зарезервированные слова:
 goto
 as
 date
 property
 raise
 div
 caption
 string
36. К стандартным директивам, которые первоначально связаны с некоторыми
стандартными объявлениями в программе, относятся ...
 name
 write
 inherited
 forward
 readonly
 public
 packed
 export
37. Оформить запись вещественного числа с использованием десятичной точки и
экспоненциальной части: 3,14 умножить на 10 в степени 5
38. Оформить запись вещественного числа с использованием десятичной точки и
экспоненциальной части: -17 умножить на 10 в степени минус 2
46
39. Глубина вложенности составных операторов begin ... end ...
 не ограничена
 ограничена
40. Все операторы, выполняемые или нет в условном операторе, могут быть ...
 любого типа
 любого типа, в том числе условного
 любого типа, кроме условного
 только составные операторы
41. Оператор присваивания состоит из двух частей, объединенных знаком (:=),
который читается как ...
 присвоить значение
 равно
42. Каждый оператор может располагаться в редакторе кода ...
 на одной или нескольких следующих друг за другом строках
 только на одной строке
 на нескольких строках
43. Необходимость в полосах прокрутки возникает ...
 когда есть потребность в них у пользователя
 для организации удобного ввода-вывода информации
 при обеспечении доступа к большому объему информации
44. Чему будет равно значение переменной S в результате выполнения
следующего фрагмента программы?
vаr
S:strіng;
bеgin
S:='Привет хорошим программистам';
Dеletе(S, 7, 8);
еnd;
 Привет хорошим программистам
 Приветорошим программистам
 ' программистам' (примечание: без кавычек)
 Привет программистам
 Приветпрограммистам
47
45. Что хранится в tempStr[0]?
var
tempStr : String [20];
begin
tempStr := 'I love delphi.';
// <---end.
 14
 'I'
0
 Не определено
46. Что выведет следующая программа?
var
arr1 : array [1..3] of Byte;
arr2 : array [1..3] of Byte;
i
: Integer;
begin
arr1[1] := 10;
arr1[2] := 11;
arr1[3] := 12;
arr1 := arr2;
for i := 1 to 3 do
Write(arr2[i],' ');
end.
 12 11 10
 Программа не скомпилируется.
123
 10 11 12
47. Что выведет следующая программа?
Var
a,b : Integer;
begin
a := 10;
48
b := 3;
a := a div b;
case a of
1,2,3 : Writeln('!');
4,5 : Writeln('?');
end;
end.
!
?
 Программа запустится, но ничего не выведет.
 Программа не скомпилируется.
48. Что выведет следующая программа?
var
a,b,i : Integer;
begin
a := 8;
b := 1;
for i := 1 to 3 do
a := a shl b;
Writeln(a);
end.
8
 24
 64
 Программа не скомпилируется
49. Что выведет следующая программа?
var
a : Integer;
begin
a := 2;
while (a < 10) do
begin
a := a + 2;
if (a = 7) then Break;
49
end;
Writeln(a);
end.
 10
7
8
 Программа никогда не закончит работу
50. Что необходимо написать вместо ??????, чтобы программа вывела "100"?
var
ar1 : array of Integer;
begin
??????
Writeln(Length(ar1));
end.
 ar1[0] := 100
 SetLength(ar1,100)
 ar1 := 100
 ar1(100)
51. Какие из следующих имен могут быть корректными идентификаторами?
 record
 property
 properties
 interface
 init
52. Что выведет следующая программа?
var
a,i : Integer;
begin
i := 10;
a := 5;
for i := -1 to 10 do
Inc(a);
Writeln(a);
end.
50
5
 17
 10
 Программа не скомпилируется
53. Сколько элементов содержит массив cube: array [1..2,1..2,1..2,1..2] of Boolean;
4
6
8
 10
 12
 14
 16
54. Какую строчку надо дописать, чтобы программа вывела "'"? (без кавычек)
var
a : char;
begin
???????????
writeln(a);
end.
 a := ''
 a := ''''
 a := '''
 a := chr(39)  a := #39
55. Что выведет следующая программа?
var
a : integer;
begin
a := 1000;
Writeln(a)
end.
0
 1000
51
 Ошибка компиляции в строчке 'Writeln(a)' из-за отсутствия ';'
56. Какое максимальное количество элементов может входить в множество (set) ?
 10
 100
 255
 256
 1000
 1024
57. Соответствие булевых операторов:
 not
1. конъюнкция
 and
2. дизъюнкция
 or
3. отрицание
58. Тип данных - это:
 метод организации обмена данными между оперативной и внешней памятью
 описание предметной области с использованием естественного языка
 представление данных с точки зрения пользователя или прикладной программы
 способ представления значения в памяти
59. Установить последовательность приоритета выполнения операций:
 @, not
 =, <>, <, >, <=, >=, in, is
 +, -, or, xor
 *, /, div, mod, and, shl, shr, as
60. Для форматного преобразования строк в другие типы предназначены
подпрограммы ...
 StrToFloat
 StringToColor
 Val()
 StrToTime
 Str()
 FormatFloat
6.3
Контрольная работа
52
Вариант 1
Задание 1
Даны x, y, z.
Определить
A
x  y2  z ;

x 2  y3  2x·y, если A  2,

n   y3  x 2 ,
если A  2,
 yz
1 
,
если A  2.
 y  z
Задание 2
Даны x1, x2, …, x10.
Определить
10
10
i 1
i 1
S   (x i  2)3   x i2
Задание 3
Даны E, F, D.
Определить


2
2
L  lg E 2  F  D  F 2  D 2 ; f ( L)  sin L  cos L .
Задание 4
Даны x1, x2, …, x8.
Определить N – количество xi с чётными номерами, меньшими x1 и xmax/2.
Задание 5
Даны наименования 10 автопредприятий, численность работающих, и фонды
заработной платы на каждом автопредприятии. Напечатать в виде таблицы список
автопредприятий, на которых фонд заработной платы на одного работника, менее заданной
величины ZR. Вычислить средний показатель по всем 10 автопредприятиям.
Вариант 2
Задание 1
Даны
шифры таксомоторных парков:
HI1, HI2, …, HI20,
количество автомашин в каждом:
K1, K2, …, K20,
выручка за смену по парку:
S1, S2, …, S20.
Сформировать список таксомоторных парков, у которых выручка за смену на одну
автомашину ниже заданной величины SZ. Указать шифр таксопарка с минимальной
выручкой на 1 автомашину.
53
Задание 2
Даны K, L.
Определить
T
K 2  L2
 (1,5·K  L)3
15·K·L
Задание 3
Даны три марки автомашин. Определить, есть ли среди них марка "ВАЗ2101".
Вывести соответствующее сообщение.
Задание 4
Даны L1, L2, L3.
Определить
L1·L2  L3/2,5 , если L1  L 2 ,
A
, если L1  L 2 ;
2

15 - | L1 |
B

L1  2·L2
, если L1  L3 ,
, если L1  L3 .
Задание 5
Даны два массива фамилий:
F11, F12, … , F110;
F21, F22, … , F28.
Сформировать два новых массива, в которых фамилии на букву А стоят в начале.
Порядок остальных фамилий не важен.
Вариант 3
Задание 1
Даны M, N, P.
Определить
M 2  N  | M·P |
,
10
M  N, если 10  M  15,
x2  
P - M, в остальных случаях,
x1 
z  x min  15.
Задание 2
Даны четыре слова одинаковой длины. Напечатать сообщение о наличии или
отсутствии одинаковых слов и это слово.
Задание 3
54
Заданы списки поставщиков и потребителей и соответствующие объёмы поставок и
потребления. Напечатать таблицу поставщиков и потребителей, имеющих равные объёмы
поставок и потребления
Задание 4
Заданы матрицы А и В размером [4 x 3] и [4 x 2]. Объединить их по столбцу в новую
матрицу С. В новой к элементам четвёртого столбца прибавить элементы первого, а к
элементам пятого – элементы второго столбца.
Задание 5
Задан ряд x1, x2, …, x20.
Построить новый ряд, где на месте xmin и xmax стоит сумма (x1 + x20)/2. Определить
сумму элементов нового ряда.
Вариант 4
Задание 1
Даны четыре фамилии. Определить, есть ли среди них фамилия ИВАНОВ. Напечатать
соответствующее сообщение.
Задание 2
Дан массив С1, С2, …, С24.
В массиве есть два элемента равные 0. Заменить все элементы, стоящие между ними,
на единицы.
Задание 3
Даны n, d.
Определить
x
(n  d)2
;
0,75
a  (n  d)·x если x  1
,
b  n 2 x  d  или x  5;
a  x 2  nd  если

b  x 2  n/d 1  x  5.
Задание 4
Даны массивы L1, …, L7 и Y1, …, Y5.
Определить
5
L2i
 L1·L7 · Yj3 .
i 1 Li  1
j 1
7
z
Задание 5
Даны шифры, плановые и реальные показатели грузооборота 10 предприятий.
Вывести таблицу с предприятиями, не выполнившими план, с указанием процента
недовыполнения плана.
55
Вариант 5
Задание 1
Даны a, b.
Определить
x  a 2 ·b2 ·(a  b);
x(a  b), если x  5,

f(x)  x 2  a, если 5  x  10,
 2
если x  10;
b ,
x
y  f(x)
.
(a  b)2
Задание 2
Даны наименования трёх вузов. Определить, есть ли среди них АЛТГУ. Напечатать
соответствующее сообщение.
Задание 3
Заданы массивы x1, x2, …, x10 ; y1, y2, …, y15.
Построить новый ряд С по формуле
x i , если x i  0,

Ci   15
y j , если x i  0.

 j1
Задание 4
Даны
Р1, Р2, …, Р20 – наименования предприятий;
Т1, Т2, …, Т20 – их телефоны.
Вывести списки предприятий, телефоны которых начинаются с цифр 155, 171, 434.
Задание 5
Дан список изделий, стоимость и количество каждого. Вывести таблицу с указанием
изделий, изготовленных на сумму от 20000 до 30000 руб. Определить среднюю стоимость
по всем изделиям.
Вариант 6
Задание 1
Даны a, b.
Определить
x  (a  b)·a;
x
x
 y , если y  2,
,
если
a

b,

y   a·b
z
2
x (a  b), если a  b;
 a·b , если y  2.

 x·y
Задание 2
56
Даны наименования четырех факультетов. Определить, имеется ли среди них ЭФ и
вывести об этом соответствующее сообщение.
Задание 3
Задан массив y1, y2, …, y15.
Сформировать новый массив, заменив ymin на ymax, а ymax на ymin (т.е. поменять их
местами).
Задание 4
Даны наименования 10 банков и процентные ставки по вкладам в каждом. Вывести
список банков со ставками ниже средней ставки по всем 10 банкам. Указать банк с
максимальной ставкой.
Задание 5
Даны x, y, a.
Определить
N
x 2  y2
; L  sin 2 N.
(x  a)·y
Вариант 7
Задание 1
Даны l, n, q;
K1  (l 2  n 2 );
 l
, если l  n,

K 2   n·q
(l  n)q, если l  n.

Определить Kmax и его индекс.
Задание 2
Даны три слова. Определить и вывести слова, которые состоят из пяти букв.
Задание 3
Даны а1, а2, …, а6.
Определить
Ki 
| ai |
6

i 1
.
a i2
Задание 4
Задан массив y1, y2, …, y10.
Если индекс ymin меньше 5, то заменить в исходном массиве отрицательные yi на ymin.
Задание 5
57
Даны фамилии водителей (их количество не более 15), пробег их автомашин в км,
суммарный расход топлива в литрах. Вывести список водителей, у которых расход топлива
на 1 км составляет величину от 0,2 до 0,3 л/км.
Вариант 8
Задание 1
Даны массивы
GAI1, GAI2, …, GAI20 – шифры 20 ГАИ,
DTP1, DTP2, …, DTP20 – количество дорожно-транспортных происшествий за
месяц по каждому ГАИ.
Построить три массива:
1 – шифры ГАИ, у которых количество ДТП = 0,
2 – шифры ГАИ, у которых количество ДТП ≤ 10,
3 – шифры ГАИ, у которых количество ДТП ≤ 80.
Задание 2
Даны A, B, C.
Определить
2
 A 
M 
 
 B C 
A B
;
C  2 A  4B
2
D  sin( M )  cos( M 2 ) .
Задание 3
Даны a, b, c.
Определить
(a  b)2
;
ab
если c  10,
3,5 ,
A2  
2
(a  b) , если с  10;
A
Z  (A1  A 2 )  max .
2
A1 
Задание 4
Даны три слога, каждый из двух букв и слово из 6 букв. Составить из слогов
возможные слова и определить, получается ли заданное слово. Вывести соответствующее
сообщение.
Задание 5
Даны списки 20 абитуриентов, их средние баллы аттестата и средний балл,
полученный при поступлении в институт. Вывести три списка.
1 – абитуриентов, у которых разница средних баллов более 0,5;
2 – абитуриентов, у которых разница средних баллов более 1;
58
3 – абитуриентов, у которых разница средних баллов более 2.
Вариант 9
Задание 1
Дано слово из пяти букв. Сколько раз встречаются идущие подряд буквы "НН"?
Задание 2
Даны x1, x2, …, x10; l1, l2, …, l10.
Определить
10
zi 
 (x i  li )
i 1
| x i ·li |
.
Задание 3
Даны массивы
N1, …, N7
– наименования операций по ремонту автомашин;
ST1, …, ST7 – стоимость каждой из операций.
Вывести список операций, стоимость которых составляет от S1 до S2 руб. Какая
операция имеет максимальную стоимость?
Задание 4
Даны a, b, c.
Определить
M  (a 2 – c 2 )(a – b);
M
 ,
S   a·c
(a  c)·M,
 a·b·S
,

f(S)   C
S  M,
если 0  M  5,
в остальных случаях;
если S  M,
если S  M.
Задание 5
Даны шифры изделий
Н1, …, Н10;
себестоимость каждого
S1, …, S10;
количество в штуках
K1, …, K10.
Вывести списки изделий, изготовленных на сумму более некоторой заданной
величины Х. Определить изделие, для которого Si·Ki максимально.
Вариант 10
Задание 1
Даны номерные знаки 4 автомашин. Определить, имеются ли среди них одинаковые,
вывести их или сообщение, что таких - нет.
59
Задание 2
Даны l1, l2, …, l8; n1, n2, …, n5; m1, m2, …, m5.
Определить
8
Z
 li2
i 1
5
l1  (n j  m j )
j 1
Задание 3
Даны массивы
М1, …, М7
– марки автомобилей;
GR1, …, GR7 – грузоподъёмности;
N1, …, N7
– номерные знаки.
Вывести списки автомашин с указанием номерного знака, грузоподъёмность которых
составляет от 6 до 7 т. Указать марку автомашины с минимальной грузоподъёмностью.
Задание 4
Даны а1, а2, а3.
Определить
 | a  a | , если a1  a 2 ,
Y1   1 2
a1  a 2 ,
если a1  a 2 ;
если a1  a 3 ,
0,5·a2 ,
Y2  
если a1  a 3 .
a 3  a1 ,
Задание 5
Даны шифры десяти цехов, численности рабочих и инженерно-технических
работников в каждом. Вывести списки цехов, в которых соотношение рабочих и ИТР более
1,5 и менее 2, и списки, в которых это соотношение более 2.
Вариант 11
Задание 1
Даны номерные знаки трёх автомашин. Определить, есть ли среди них знак "МНЗ
2754" и напечатать об этом сообщение.
Задание 2
Даны массивы А1, А2, …, А15; В1, В2, …, В5.
Сформировать массив С, содержащий отрицательные Аi и Вj.
Задание 3
Даны d, f, g, h.
Определить
60
m
df
;
gh
| m |, если m  0,

N   m , если m  0,
 2
d , если m  0;
 N – d, если 1  d  2,

P1
 N в противном случае.
Задание 4
Даны b1, ... , b10; d1, ... , d7; A.
Определить
10
ni 
 bi  A
i 1
7
d j
 bi .
j 1
Задание 5
Даны три списка потребителей и три массива объёмов потребления электроэнергии.
Напечатать из каждого списка потребителей с min и max объёмом потребления
электроэнергии.
6.3Методические указания по выполнению самостоятельной работы
Активная самостоятельная работа студентов возможна только при наличии серьезной и
устойчивой мотивации. Самый сильный мотивирующий фактор – подготовка к дальнейшей
эффективной
профессиональной
деятельности.
Среди
внутренних
факторов,
способствующих активизации самостоятельной работы выделяют следующие:
1.
Полезность выполняемой работ заключается в том, что результаты
самостоятельной
работы могут быть
использованы на семинарских и практических
занятиях, лабораторном практикуме, при подготовке публикации. Другим вариантом
использования фактора полезности является активное применение результатов работы в
профессиональной подготовке. Так, например, если студент получил задание на
дипломную работу на одном из младших курсов, он может выполнять самостоятельные
задания по ряду дисциплин гуманитарного и социально-экономического, естественнонаучного и общепрофессионального циклов дисциплин, которые затем войдут в его
выпускную квалификационную работу.
2.
Творческая
деятельность.
Это
может
быть
участие
в
научно-
исследовательской, опытно-конструкторской или методической работе, проводимой на той
или иной кафедре.
61
Участие в олимпиадах по учебным дисциплинам, конкурсам научно-
3.
исследовательских или прикладных работ и т.д.
4.
Участие в научно – практических конференциях.
5.
Подготовка публикаций для сборников тезисов и докладов научно-
практических конференций, журналов, учебных пособий и т.д.
Участие в грантовых конкурсах.
6.
6.4Темы рефератов / учебных проектов
1. Программа перевода десятичного числа в двоичную и шестнадцатеричную системы
счисления
2.
ACCESS
3.
Accent
4.
Abbode Page Maker
5.
AutoCAD 2000
6.
AutoCAD 2002
7.
Internet
8.
HTML редакторы
9.
MathCad
10.
Microsoft Access
11.
Microsoft Office
12.
АвтоЛИСП – реализация языка программирования
13.
АСУ целевыми программами в некоммерческой организации
14.
АРМ и перспективы его развития
15.
Информатика и компьютерная техника
7.Перечень основной и дополнительной учебной литературы, необходимой для
освоения дисциплины (модуля)
Основная литература:
1.
Эйдлина Г.М., Милорадов К.А. Delphi: программирование в примерах и задачах.
Практикум: Учеб. пособие. – М.: РИОР: ИНФРА-М, 2012. – 116 с. – (Высшее образование:
Бакалавриат).
62
2.
Золотарев, В. В. Управление информационной безопасностью. Ч. 1. Анализ
информационных рисков [Электронный ресурс] : учеб. пособие/ В. В. Золотарев, Е. А.
Данилова. - Красноярск :Сиб. гос. аэрокосмич. ун-т, 2010. - 144 с
3.
Трайнев, В. А. Новые информационные коммуникационные технологии в
образовании [Электроный ресурс] / В. А. Трайнев, В. Ю. Теплышев, И. В. Трайнев. - 2-е
изд. - М. : Издательско-торговая корпорация “Дашков и К°”, 2013. - 320 с.
Дополнительная литература:
1. Delphi. Готовые алгоритмы (книга) (2007, Стивенс Р., ДМК Пресс)
2. Интерфейс RS232. Связь между компьютером и микроконтроллером (книга) (2008,
Кузьминов А.Ю., ДМК Пресс)
3. Курс Delphi для начинающих. Полигон нестандартных задач (книга) (2006, Ремнев А.А.,
Федотова С.В., СОЛОН-ПРЕСС)
Периодические издания:
Журналы:
1. « Сети и телекоммуникации»
2. «Стандарты качества»
3. «Известия РАН. Теория и системы управления»
4. «Электроника»
5. «Ремонт & сервис»
6. «PC MAGAZINE RE»
7. «Математика»
8. «САПР и Графика»
8. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
(далее - сеть "Интернет"), необходимых для освоения дисциплины (модуля)
Программное обеспечение и Интернет-ресурсы:
1. Программное обеспечение http://www.iprbookshop.ru/12008 – ЭБС Iprbooks
2. http://www.ru.wikipedia.org - Википедия
3. http://www.ru.wikibooks.org
–
Объектно-ориентированное
Викиучебник.
63
программирование.
9. Методические указания для обучающихся по освоению дисциплины (модуля)
9.1 Методические рекомендации ( материалы) преподавателю
Преподаватель – главная фигура в организации учебного и воспитательного
процесса по изучению дисциплины. От его умения заинтересовать студентов в
освоении курса, грамотного методического обеспечения, уважительного отношения к
студентам,
стремления
педагогического
их
соучастия
зажечь
в
необходимостью
учебной
получения
деятельности
зависит
глубоких
успех
знаний,
в
учебной
деятельности студентов.
1. Изучив глубоко содержание учебной дисциплины, целесообразно разработать
матрицу наиболее предпочтительных методов обучения и
форм самостоятельной
работы студентов, адекватных видам лекционных и семинарских занятий.
2. Необходимо предусмотреть развитие форм самостоятельной работы, выводя
студентов к завершению изучения учебной дисциплины на ее высший уровень.
3. Пакет заданий для самостоятельной работы следует выдавать в начале семестра,
определив предельные сроки их выполнения и сдачи. Задания для самостоятельной
работы желательно составлять из обязательной и факультативной части.
4. Организуя самостоятельную работу, необходимо постоянно обучать студентов
методам такой работы.
5.
Вузовская лекция – главное звено дидактического цикла обучения. Еѐ цель –
формирование у студентов ориентировочной основы для последующего усвоения
материала методом самостоятельной работы. Содержание лекции должно отвечать
следующим дидактическим требованиям:
- изложение материала от простого к сложному, от известного к неизвестному;
- логичность, четкость и ясность в изложении материала;
- возможность проблемного изложения, дискуссии, диалога с целью активизации
деятельности студентов;
- опора
смысловой
части
лекции
на
подлинные
факты,
события,
явления,
статистические данные;
- тесная
связь
теоретических
положений
и
выводов
с
курсы
в
практикой
и
будущей
профессиональной деятельностью студентов.
Преподаватель,
читающий
лекционные
вузе,
должен
знать
существующие в педагогической науке и используемые на практике варианты лекций,
64
их дидактические и воспитывающие возможности, а также их методическое место в
структуре процесса обучения.
При
6.
проведении
систематичность,
аттестации
объективность,
студентов
важно
аргументированность
всегда
–
главные
помнить,
принципы,
что
на
которых основаны контроль и оценка знаний студентов. Проверка, контроль и оценка
знаний студента требуют учета его индивидуального стиля в осуществлении учебной
деятельности. Знание критериев оценки знаний обязательно для преподавателя и
студента.
9.2 Методические рекомендации по организации самостоятельной работы
студентов
Преподавание и изучение «Программирование в Delphi» проводится в форме
лекций,
опросов, практических занятий, работы с персональным компьютером. При
этом используются активные формы обучения: проблемные лекции, дискуссии, разбор
и обсуждение программных особенностей.
Самостоятельная работа студентов осуществляется в процессе выполнения
домашних заданий и отдельных заданий в аудитории при участии преподавателя,
путем индивидуальной исследовательской работы по проектированию, структуризации
и презентации работы персонального компьютера. Для промежуточной проверки усвоения
учебного материала и оценки уровня знаний студентов проводятся контрольные
работы и тестирование.
При подготовке к практическим занятиям студентам следует использовать как
основную, так
и
дополнительную
литературу, предложенную
в данной рабочей
программе, а также руководствоваться указаниями и рекомендациями преподавателя.
На семинарских занятиях приветствуется активное обсуждение конкретных ситуаций,
способность на основе полученных знаний находить наиболее эффективные решения
поставленных проблем, умение находить полезный материал по тематике семинарских
занятий,
грамотно
пользоваться
дополнительными
источниками информации,
периодикой, электронными базами данных, ресурсами Интернет.
Для расширения кругозора следует обращать внимание на персоналии, т.е.
теоретиков
и
практиков
науки информатики.
Студент должен уметь определить,
расшифровать или объяснить любые использованные им термины, аббревиатуры, понятия.
Самостоятельная работа должна быть интересной и привлекательной для
студента.
Еѐ
результаты
контролируются
65
преподавателем
и
учитываются
при
аттестации
студента.
При
этом
проводится
тестирование,
экспресс-опрос
на
семинарских и практических занятиях, заслушивание докладов, проверка письменных
работ и т.д.
Структура самостоятельной работы студента: 80% временных ресурсов уходит
на подготовку к практическим занятиям; 20% временных ресурсов используется во
время лекционных занятий.
Трудоемкость
самостоятельной
работы
определяется
отношением
затрат
интеллектуального труда, необходимых для подготовки к семинарскому занятию ко
времени,
затрачиваемому
на
подготовку.
Опыт
свидетельствует,
что
хорошая
подготовка к семинарскому занятию требует в среднем примерно вдвое больше
времени,
чем
продолжительность
самого
семинара.
Снижению
трудоемкости
способствует выполнение следующих методических рекомендаций.
Задания
семинарских
для
самостоятельной
занятиях
обязательны
работы,
для
предложенные
выполнения
всеми
преподавателем
студентами.
в
Они
прорабатываются дома, в процессе подготовки к занятию, их выполнение влияет на
текущую отметку студента на занятии.
Студент имеет право получить консультацию преподавателя при выполнении этого
вида работы. Время консультации обсуждается на первой лекции.
Самостоятельная работа студента предполагается при написании ими рефератов
и курсовой работы.
отвечающую
Разнообразная
интересам
тематика
студента. Студент
рефератов
имеет
право
позволит
получить
выбрать
тему,
консультацию
преподавателя по выполнению реферата.
Самостоятельная работа студента предполагается и при подготовке к текущему,
промежуточному и итоговому контролю.
Освоить теоретический материал курса студентам помогут
1. Лекции преподавателя.
2. Литература
3. Самостоятельный поиск информации в сети интернет.
9.3 Рекомендации по использованию информационных технологий
Материально-техническое обеспечение дисциплины
- компьютерное и мультимедийное оборудование;
- интернет-ресурсы
66
При
проведении
лекционных,
практических
занятий
используются
наличествующая компьютерная техника для наглядной демонстрации проходимого
лекционного материала.
Для
эффективности
проведения
занятий
необходимо
использование
компьютерного и мультимедийного оборудования. Оно необходимо для проведения
тестирования, моделирования информационных процессов.
Для демонстрации наглядных материалов следует использовать видео аудиовизуальные средства, интерактивные средства обучения. А также самостоятельную
работу студентов за персональными машинами.
10. Перечень
информационных технологий, используемых при
образовательного
программного
процесса
обеспечения
по
и
дисциплине
(модулю),
информационных
осуществлении
включая
справочных
перечень
систем
(при
необходимости)
В процессе лекционных и семинарских занятий используется следующее
программное обеспечение:
- программы, обеспечивающие доступ в сеть Интернет (например, «Googlechrome»);
-
программы,
демонстрации
видео
материалов
(например,
проигрыватель
«
WindowsMediaPlayer»);
- программы для демонстрации и создания презентаций (например, «MicrosoftPowerPoint»).
Для решения практических задач используется статистический пакет программ
STATISTICA 6.0 RUS и табличный редактор MSExcel 2000.
11. Описание материально-технической базы, необходимой для осуществления
образовательного процесса по дисциплине (модулю)
Лекционные занятия проводятся в аудитории, имеющей материально-техническое
обеспечение:
- компьютер модели Intel Celeron-S;
- монитор модели Samsung 793 DF;
- экран настенный стационарный;
- проектор модели Viewsonic PJ510;
- источник бесперебойного питания.;
- сервер модели Intel Xeon ;
- сервер модели 2x DualCore AMD Opteron 2218.
67
Download