sga-help.ru

Все вопросы к тесту (html) Технология программирования



Учебный пример

1. В системе PascalABC откройте файл Otladka___error.pas.

Данная программа выполняет следующие действия:

§ считывает из файла с именем «Proba» данные — номер группы и средние значения оценок по трем предметам;

§ сортирует массив оценок в порядке убывания;

§ выводит номера групп в соответствии с убыванием их средних значений.

Для сортировки массива используется метод перестановок. Номера групп в порядке убывания средних оценок формируется в массиве К.

Программа содержит три ошибки: синтаксическую, логическую и ошибку времени исполнения.

2. Ознакомьтесь с текстом программы.

Program Test;

Type Sball = record // Компонента файла

Nom :Byte; // Номер группы

SFiz, SInf, SMat : Real; // Три оценки

End;

Var d : Sball;

f : file of Sball;

s : array [1..10] of real; // Массив средних значений

k : array [1..10] of Byte; // Массив номеров групп

i, j, q, c : byte;

max : Real;

Begin

assign(f,'prob');

Reset (f);

For i := 1 To 10 Do // Записей в файле всего 10

Begin

Read(f,d); // Считываем компоненту файла

S[i] := (d.SFiz + d.SInf + d.SMat)/3; // Расчет среднего

k[i] := d.nom;

Writeln(k[i],' ',s[i]); // Вывод номера группы и средней оценки

End;

Close(f);

For i := 1 To 9 do // Сортировка методом перестановок

Begin

Max := S[i]; q := i

{***} For j := i To 10 Do // Ищем максимальное значение в массиве

If s[j] > Max Then Begin

Max := s[j];

q := j;

End;

{**} s[q] := s[i] ; s[i] := Max; // Переставляем текущий элемент с максимальным

k[q] := k[i] ; k[i] := k[q]; // Переставляем номера групп

end;

For i := 1 To 10 Do Write (k[i],' '); // Вывод номеров групп после упорядочения

Writeln;

End.

3. Запустите программу на выполнение.

Исправьте синтаксическую ошибку (в одном из операторов не хватает точки с запятой).

4. Запустите программу на выполнение.

Исправьте ошибку времени исполнения (имя файла записано неверно).

5. Запустите программу на выполнение.

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

6. Воспользуемся методами отладки приложения.

6.1. Установите курсор в положение оператора, отмеченного звездочками. Это оператор внутреннего цикла, в котором ищется максимум. В соответствии с алгоритмом метода перестановок максимальное будет найдено 9 раз.

6.2. Выведите на экран окно наблюдений. В окно наблюдений поместим две переменные Max и q (контекстное меню + добавить).

6.3. Запустите программу на выполнение до курсора (F4). В положении курсора программа остановится.

6.4. Далее выполните программу по шагам (F7). В окне наблюдений следите за значениями среднего балла и номера группы. При выходе из цикла средний балл принимает значение: 4.48, 4.27, …(см. промежуточный вывод в программе).Мы убедились, что максимальное значение среднего балла подсчитывается верно. Следовательно, ошибка может быть в операторах, расположенных ниже по программе.

6.5. Удалите переменные в окне наблюдений (контекстное меню + удалить).

6.6. Добавьте новые переменные S[i] и i.

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

6.8. Выполните программу (F4, далее F7). Массив S[i] формируется правильно.

6.9. Следующим шагом необходимо проверить, как формируется массив k[i]. Задайте курсором точку останова в строке ниже, а в окно наблюдений добавьте переменные K[i] и i.

6.10. Массив К формируется неверно. Исправьте ошибку.



Вариант

Отладить программу Olimpic.pas, состоящую из основной программы и двух модулей: Vvod.pas и Zapros.pas. Ошибки сосредоточены в модуле Zapros, поэтому выполнять необходимо только ту часть программы, которая относится к запросам. Модуль Zapros.pas решает часть задачи, поставленной в первой лабораторной работе:

«Разработать программный комплекс для подведения итогов Олимпийских игр. В программу пользователь должен ввести количество медалей разного достоинства, завоеванное каждой командой–участницей. Программа подсчитывает общее число медалей и соответствующее число очков. Программа должна выдавать информацию по каждой команде–участнице, а также упорядоченный список в соответствии с набранным количеством очков. Количество очков определяется по следующему правилу: за золотую медаль команда получает 7 очков, за серебряную — 6, за бронзовую — 5.»

1. Ознакомьтесь с программой. Прочитайте содержание запроса в комментариях модуля Zapros.pas. Имя файла, в котором хранятся данные по расписанию — Olimpic.dat.

2. Найдите синтаксическую ошибку в программе.

3. Найдите ошибку времени исполнения.

4. Найдите логическую ошибку в программе, воспользовавшись средствами отладки PascalABC.

Запишите номер строки, в которой расположена ошибка времени выполнения.

Запишите номер строки, в которой расположена синтаксическая ошибка. Номера операторов расположены в программе слева.

Запишите строчными буквами имя типа компоненты файла.

Проверьте правильность работы программы. Команды выводятся в следующем порядке:

  • Россия, Китай, Германия, Украина, Белоруссия, Мексика
  • Германия, Китай, Россия, Белоруссия, Мексика, Украина
  • Китай, Россия, Германия, Украина, Мексика, Белоруссия

4. Китай, Германия, Россия, Мексика, Украина, Белоруссия

Введите номер правильного ответа.



Вариант

Отладить программу Otdel.pas, состоящую из основной программы и двух модулей: Vvod.pas и Zapros.pas. Модуль Zapros.pas решает часть задачи, поставленной в первой лабораторной работе:

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

1. Ознакомьтесь с программой. Прочитайте содержание запроса в комментариях модуля Zapros.pas. Имя файла, в котором хранятся данные по расписанию — Otdel.dat.

2. Найдите синтаксическую ошибку в программе.

3. Найдите ошибку времени исполнения.

4. Найдите логическую ошибку в программе, воспользовавшись средствами отладки PascalABC.

Запишите номер строки, в которой расположена ошибка времени выполнения.

Запишите номер строки, в которой расположена синтаксическая ошибка. Номера операторов расположены в программе слева.

Определите, какой запрос обрабатывается в модуле Zapros.pas комплекса Otdel.pas.

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

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

Введите номер правильного ответа.

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

  • Зимин, Варлей, Петров
  • Петров, Семенов, Князева
  • Петров, Якубов, Громов
  • Громов, Якубов, Зимин

Введите номер правильного ответа.



Вариант

Отладить программу Post.pas, состоящую из основной программы и двух модулей: Vvod.pas и Zapros.pas. Ошибки сосредоточены в модуле Zapros, поэтому выполнять необходимо только ту часть программы, которая относится к запросам. Модуль Zapros.pas решает часть задачи, поставленной в первой лабораторной работе:

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

А) По заданному номеру месяца и названию издания найти количество экземпляров, подлежащих доставке.

Б) По фамилии найти список подписных изданий данного подписчика.

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

Г) По заданному участку доставки и месяцу определите издание, на которое подписалось наибольшее число подписчиков».

1. Ознакомьтесь с программой. Прочитайте содержание запроса в комментариях модуля Zapros.pas. Имя файла, в котором хранятся данные по расписанию — Post.dat.

2. Найдите синтаксическую ошибку в программе.

3. Найдите ошибку времени исполнения.

4. Найдите логическую ошибку в программе, воспользовавшись средствами отладки PascalABC.

Запишите номер строки, в которой расположена ошибка времени выполнения.

Запишите номер строки, в которой расположена синтаксическая ошибка. Номера операторов расположены в программе слева.

Запишите строчными буквами имя типа компоненты файла.

Проверьте правильность работы программы. При исходных данных: месяц = 1, издание = «Мир ПК» результатом будет



Вариант

Отладить программу Raspisanie.pas, состоящую из основной программы и двух модулей: Vvod.pas и Zapros.pas. Ошибки сосредоточены в модуле Zapros, поэтому выполнять необходимо только ту часть программы, которая относится к запросам. Модуль Zapros.pas решает часть задачи, поставленной в первой лабораторной работе:

«Разработать программный комплекс, который представляет собой подсистему, обслуживающую учебную часть Вуза. Программная подсистема позволяет получать информацию по проведению занятий на первом курсе факультета N: выдает названия предметов, которые ведет преподаватель с фамилией Fam; определяет количество занятий в неделю по каждому из предметов; выводит названия предметов, занятия по которым проводятся в заданный день (понедельник, вторник, среда, четверг, пятница, суббота)».

1. Ознакомьтесь с программой. Прочитайте содержание запроса в комментариях модуля Zapros.pas. Имя файла, в котором хранятся данные по расписанию — Rasp.dat. Названия предметов хранятся в файле Predmet.dat.

2. Найдите синтаксическую ошибку в программе.

3. Найдите ошибку времени исполнения.

4. Найдите логическую ошибку в программе, воспользовавшись средствами отладки PascalABC.

Запишите номер строки, в которой расположена ошибка времени выполнения.

Запишите номер строки, в которой расположена синтаксическая ошибка. Номера операторов расположены в программе слева.

Определите, какой запрос обрабатывается в модуле Zapros.pas комплекса Raspisanie.pas.

1. Определить предметы, которые ведет заданный преподаватель

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

3. Определить предметы, которые преподаются в заданный день недели.

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

Введите номер.

Проверьте правильность работы программы. Запишите цифрой количество занятий по дисциплине «Математика»



Вариант

Отладить программу Rielte.pas, состоящую из основной программы и двух модулей: Vvod.pas и Zapros.pas. Ошибки сосредоточены в модуле Zapros, поэтому выполнять необходимо только ту часть программы, которая относится к запросам. Модуль Zapros.pas решает часть задачи, поставленной в первой лабораторной работе:

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

1. Ознакомьтесь с программой. Прочитайте содержание запроса в комментариях модуля Zapros.pas. Имя файла, в котором хранятся данные по расписанию — Rielter.dat.

2. Найдите синтаксическую ошибку в программе.

3. Найдите ошибку времени исполнения.

4. Найдите логическую ошибку в программе, воспользовавшись средствами отладки PascalABC.

Запишите номер строки, в которой расположена ошибка времени выполнения.

Запишите номер строки, в которой расположена синтаксическая ошибка. Номера операторов расположены в программе слева.

Определите, какой запрос обрабатывается в модуле Zapros.pas комплекса Rielte.pas.

1. Выдать информацию о квартирах площадью, менее заданной, и имеющей n комнат.

2. Найти о квартиры площадью, менее заданной, и имеющей n комнат.

3. Отсортировать в порядке возрастания стоимости квартиры.

4. Выдать информацию об однокомнатных квартирах с лоджиями.

Введите номер правильного ответа.

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

1. 2, 7, 3, 4, 1, 6, 5

2. 2, 1, 3, 4, 5, 6, 7

3. 1, 3, 6, 7, 2, 5, 4

4. 3, 2, 4, 6, 7, 1, 5

Введите номер правильного ответа.



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

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

В интегрированной среде PascalABC имеются следующие средства отладки:

  • выполнение программы по операторам (без трассировки процедур и функций). Для выполнения одного шага (одной строки) программы следует нажать клавишу F8 или кнопку ;
  • выполнение программы по строкам с заходом в процедуры и функции (клавиша F7 или кнопка );
  • выполнение программы до строки, на которой находится курсор. Для выполнения программы до данной строки следует установить на нее курсор и нажать клавишу F4 или кнопку .
  • прекратить выполнение программы. Прервать программу, находящуюся в режиме пошагового выполнения, можно с помощью комбинации клавиш Ctrl-F2 или кнопки .
  • окно отладки, в котором просматриваются значения переменных. Вызывается окно отладки пиктограммой .

Эти возможности сосредоточены в пункте меню «Программа»: «Выполнить», «Завершить», «Шаг со входом в подпрограмму», «Шаг без входа в подпрограмму», «Выполнить до курсора», «Добавить выражение».

Если программа находится в режиме пошагового выполнения, то ее можно выполнить до конца, нажав F9.

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

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

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

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

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

Тестирование — процесс выполнения программ с целью обнаружения факта наличия ошибок.

Отладка — процесс локализации и устранения ошибок.

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

Процессы тестирования и отладки.

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

Существуют две основные стратегии тестирования.

Тестирование программы как черного ящика, при котором программа рассматривается как объект, внутренняя структура которого неизвестна.

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

При тестировании по типу «черного ящика» тесты демонстрируют:

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

При тестировании «черного ящика» рассматриваются системные характеристики программ, игнорируется их внутренняя логическая структура.

Для тестирования программ методом «черного ящика» готовятся определенные группы тестов.

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

**Класс корректных тестовых случаев, отражающих типичную «нормальную» ситуацию.

**Класс тестов, содержащих ненормальную ситуацию, т.е. описывающих ситуацию, которой быть не должно.

§ Для тестирования граничных значений.

  • Для анализа причинно–следственных связей.
  • Для тестирования тех утверждений, которые приводятся в документации.

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

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

Для составления тестов используются следующие источники:

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

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

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

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

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

Ошибки, возникающие в процессе проектирования и программирования приложений можно подразделить на:

  • синтаксические,
  • времени выполнения,
  • логические.

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

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

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

Отладка программы — процесс творческий и плохо формализуемый. Тем не менее, основной идее отладке можно придать вид следующего алгоритма:

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

Для отладки программ в инструментальные среды программирования встраиваются специальные отладчики.



0641.02.03;ЭПТ2.01;1

План

  • Теоретическая часть
    • Методы тестирования и отладки
    • Средства отладки PascalABC
  • Учебный пример
    • Поиск ошибки в заданном примере с помощью средств отладки

Цель: изучить методы тестирования и отладки на практическом примере.

Результат обучения:

o изучение средств отладки инструментальной среды PascalABC;

o использование методов тестирования и отладки на практическом примере.

Список рекомендуемой литературы:

  • Румянцев Д., Монастырский Л. Путь программиста: опыт создания личности программиста. — М.: «Издательский Дом ИНФРА-М», 2000.
  • Одинцов И.О. Профессиональное программирование. Системный подход. — СПб.: БХВ-Петербург, 2002.
  • Орлов С. А. Технологии разработки программного обеспечения. — СПб.: Питер. 2002.
  • Мануйлов В.Г. Разработка программного обеспечения на Паскале. — М.: «Издательство ПРИОР», 1998.
  • WWW.sunschool.math.rsu.ru

Используемые программы:

1. OpenOffice.org Write

Текстовый редактор OpenOffice.org Write – программа, предназначенная для ввода и форматирования текста.

2. PascalABC

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

3. Otladka___error.pas , proba

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

4. Predmet.dat, Prepod.dat, Rasp.dat, Raspisanie.pas, Vvod.pas, Zapros.pas

5. Otdel.dat, Otdel.pas, Vvod.pas, Zapros.pas

Для выполнения самостоятельной работы (вариант 2).

6. Rielte.pas, rielter.dat, Vvod.pas, Zapros.pas

7. Olimpic.dat,Olimpic.pas, Vvod.pas, Zapros.pas

Для выполнения самостоятельной работы (вариант 4).

8. Post.dat , Post.pas, Vvod.pas, Zapros.pas



Тестирование

Ошибки, возникающие в процессе проектирования и программирования приложений можно подразделить на:

Процесс выполнения программ с целью обнаружения факта наличия ошибок — это (запишите строчными буквами)

Процесс локализации и устранения ошибок — это (запишите строчными буквами)

Тестирование программы, при котором программа рассматривается как объект, внутренняя структура которого неизвестна называется тестирование

Установите соответствие




Оценка качества программного продукта. Использование библиотеки поддержки разработки

Использование защищенного ввода и наглядного вывода значительно улучшают качество программного средства.

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

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

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

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

В данной лабораторной работе предоставляется возможность использования стандартных процедур для защиты ввода и оформления вывода.

Название п/п

Назначение

Заголовок

Параметры

Menu

Программа вывода горизонтального меню.

Procedure menu___1 (Ypos: Byte);

Ypos — позиция вывода меню по вертикали.

ReadReal

Процедура ввода вещественного числа с контролем ввода.

Procedure ReadReal (Var RealVar : Real;

Var CodIOR: Integer);

RealVar – вводимое число, CodIOR – код ошибки.

ReadInt

Процедура ввода целого числа с контролем ввода.

Procedure ReadInt (Var IVar : Integer;

Var CodIOR: Integer);

IVar – вводимое число, CodIOR – код ошибки.

ReadRuss

Процедура ввода символов кириллицы.

Procedure ReadRuss( Var Stroka: String; Var CodIor: Integer);

Stroka — вводимая строка; CodIor — код ошибки.

goingout

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

Procedure Goingout

(Text : String; X,Y : Integer);

Text – текст сообщения.

ColorText – цвет текста.

X, Y – координаты вывода сообщения.

goingouc

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

Procedure GoingOutColor ( Text : String; ColorText, ColorBackGround: Byte; x, y: integer);

Text — текст сообщения.

ColorText — цвет символов. ColorBackGround — цвет фона. X, Y — координаты вывода сообщения.

frame

Процедура построения рамки для выделения элементов, выводимых на экран.

Procedure Frame (x1, y1, x2, y2, FrameColor, TypeLine : Integer);

x1, y1, x2, y2 – координаты левого верхнего и правого нижнего углов.

FrameColor – цвет рамки.

TypeLine – тип рамки: 1 – одинарная линия, 2 – двойная линия.

Middle

Процедура выводит на экран строку текста, центрируя ее. Длина выводимой строки не должна превышать 80 символов.

Procedure Middle (Stroka : String; Y: integer);

Stroka – выводимая строка.

Y – координа вывода по вертикали.

ColrStr

Вывод строки с центрированием и изменением яркости.

Procedure ColorStr (Stroka : String; Y: integer);

Stroka – выводимая строка.

Y – координа вывода по вертикали.

Zast___cs

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

Procedure Zast___cs;

Без параметров.

Файлы подпрограмм находится в папке «Библиотека стандартных процедур».

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

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

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

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

Выбор характеристик и оценка качества программных средств — лишь одна из задач в области обеспечения качества продукции. Комплексное решение задач обеспечения качества программных средств предполагает разработку и внедрение той или иной системы управления качеством. В мировой практике наибольшее распространение получила система, основанная на международных стандартах серии ISO 9000, включающей десяток с лишним документов, в том числе стандарт, регламентирующий обеспечение качества ПО (ISO 9000/3).

Характеристики качества (ISO 9126-1)

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

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

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

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

Защищенность — способность компонентов программного средства защищать программы и информацию от любых негативных воздействий.

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

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

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

Сопровождаемость — приспособленность программного средства к модификации и изменению конфигурации и функций.

Мобильность — подготовленность программного средства к переносу из одной аппаратно-операционной среды в другую.



0641.02.03;ЭПТ2.02;1

План

  • Теоретическая часть
    • Основные понятия и характеристики качества программных продуктов
    • Изучение возможностей библиотеки стандартных процедур.
  • Учебный пример
    • Пример использования стандартных процедур.

Цель:

o изучить основные характеристики качества программных продуктов;

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

Результат обучения:

o умение использовать при разработке ПО стандартные процедуры.

o умение создавать дружественный и защищенный интерфейс пользователь — компьютер.

Список рекомендуемой литературы:

  • Румянцев Д., Монастырский Л. Путь программиста: опыт создания личности программиста. — М.: «Издательский Дом ИНФРА-М», 2000.
  • Орлов С. А. Технологии разработки программного обеспечения. — СПб.: Питер. 2002.
  • WWW.sunschool.math.rsu.ru

Используемые программы:

1. PascalABC

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

2. KOMPL0.pas , dekanat.dat, Dla___vvoda.pas, Menu.pas, Predmet.dat, Vvod.pas, Zapros.pas (папка «Общий пример»)

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

3. Вывод___меню.rtf

Файл с процедурой вывода графического меню. Содержит комментарии по применению.

4. Файлы из папки «Библиотека стандартных процедур»: COLRSTR.pas, FRAME.pas, GOINGOUC.pas, GOINGOUT.pas, Menu.pas, MIDDLE.pas, READREAL.pas, READRUSS.pas, VVODINT.pas, ZAST___CS.pas

Файлы стандартных процедур для выполнения самостоятельной работы.



Учебный пример

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

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

§ фамилии студентов, имеющих задолжности хотя бы по одному предмету;

§ название предмета, который был сдан лучше всех;

§ процент студентов, сдавших все экзамены на 5 и 4;

§ номера групп в порядке убывания средней успеваемости

Входными данными в этой задаче являются:

1. Массив названий предметов, по которым тестировались студенты курса.

2. Информация по каждому студенту курса:

a. Номер группы.

b. Фамилия.

c. Имя.

d. Отчество.

e. Оценки по предметам сессии (массив).

Для защиты ввода можно использовать стандартные процедуры ReadInt и ReadRuss.

ReadRuss — процедура ввода символов кириллицы. Эта процедура не позволяет использовать никакие другие символы, кроме кириллицы. Переменные строкового типа необходимо вводить, используя эту процедуру, а именно: названий предметов, фамилия, имя, отчество. Заголовок процедуры:

Procedure ReadRuss( Var Stroka: String; Var CodIor: Integer);

где Stroka — вводимая строка; CodIor — код ошибки (номер символа, в котором сделана ошибка).

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

Procedure ReadInt (Var IVar : Integer; Var CodIOR: Integer);

где IVar – вводимое число, CodIOR – код ошибки.

Для организации интерфейса можно использовать такие подпрограммы:

Menu — вывод горизонтального меню;

frame — построение рамки для выделения элементов, выводимых на экран;

Middle — процедура вывода на экран строки текста в центре экрана;

и другие.

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

Пример использования обращений в фрагментах программы:

// Ввод и запись данных по предметам сессии

Assign(f1, 'Predmet.dat');

ReWrite(f1);

For i:= 1 To 3 Do

Begin

Write(i,'--'); ReadRuss(sss, code);// название предмета вводится русскими буквами

Writeln(f1,sss);

end;

Close(f1);

// Ввод и запись данных результатов сессии

Write ('Имя файла'); Readln(fName);

Assign(f, FName);

ReWrite(f);

For i:= 1 To 9 Do

Begin

Write(i,'Номер группы---'); ReadInt (b.N___G, k); //Ввод целого числа

Write(i,'Фамилия---'); ReadRuss(b.name.f, code);//Ввод русскими буквами

Write(i,'Имя---'); ReadRuss(b.name.name1,code);

Write(i,'Отчество---'); ReadRuss(b.name.name2,code);

For j:= 1 To 3 Do

Begin

Write(pr[j],'---'); ReadInt (b.rez[j],k); //Ввод целого числа

End;

Write(f,b);

end;

Close(f);

Просмотрите работу программы kompl0.pas. Обратите внимание на подключение стандартных подпрограмм.



Вариант

Условие задачи:

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

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

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

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

3. Проверьте работоспособность программы. Если необходимо, воспользуйтесь методами отладки.

Для ввода фамилии с помощью процедуры ReadRuss (ввод символов кириллицы) использованы следующие два оператора:

ReadRuss(sss, code);

Pers.Name.Fam := ___;

Допишите второй оператор.

Допишите пропущенный элемент в заголовке процедуры вывода горизонтального меню. Тип TStr определен — Type TStr =String[20];

procedure menu___1(Ypos :___; Fname: TStr);

Фрагмент описательной части процедуры Menu:

const count___i=3;iname:array[1..count___i] of string = ('ВВОД','ЗАПРОС','ВЫХОД');

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

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

4. количество пунктов меню.

Введите номер правильного ответа.



Вариант

Условие задачи:

Разработать программный комплекс для подведения итогов Олимпийских игр. В программу пользователь должен ввести количество медалей разного достоинства, завоеванное каждой командой–участницей. Программа подсчитывает общее число медалей и соответствующее число очков. Программа должна выдавать информацию по каждой команде–участнице, а также упорядоченный список в соответствии с набранным количеством очков. Количество очков определяется по следующему правилу: за золотую медаль команда получает 7 очков, за серебряную — 6, за бронзовую — 5.

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

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

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

3. Проверьте работоспособность программы. Если необходимо, воспользуйтесь методами отладки.

В модуле Vvod для ввода названия команды используется процедура для защиты ввода.

Write(i,'Команда---');

___(sss, code);

Pers.Strana := sss;

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

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

const count___i=___;iname:array[1..count___i] of string= ('ВВОД','ЗАПРОС','ВЫХОД');

Для разрабатываемого комплекса создано описание:

…

Type TStr = String [20];

TMedali = record

Strana : TStr; // Название команды

Kol___Z, Kol___S, Kol___B : Integer; // Количество медалей

End;

…

Var Pers : TMedali; {Компонента типизированного файла}

f : file of ___; {Файловая переменная}

Запишите строчными буквами пропущенное слово.



Вариант

Условие задачи:

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

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

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

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

3. Проверьте работоспособность программы. Если необходимо, воспользуйтесь методами отладки.

В процедуре вывода горизонтального меню Menu___1 используется процедура Frame, которая предназначена для

  • вывода пунктов меню.
  • вывода строки с центрированием.
  • организации защиты ввода.

4. вывода обрамляющей рамки.

Введите номер правильного ответа.

В процедуре вывода горизонтального меню устанавливаются позиции вывод пунктов меню в константе ipos.

ipos: ___[1.. count___i] of byte=(10,30,50) ;

Допишите служебное слово.

Выберите процедуру, которая подходит для ввода количества комнат.

  • Middle
  • ReadReal
  • ReadInt
  • ReadRuss

Введите номер правильного ответа.



Вариант

Условие задачи:

Разработать программный комплекс, который представляет собой подсистему, обслуживающую учебную часть Вуза. Программная подсистема позволяет получать информацию по проведению занятий на первом курсе факультета N: выдает названия предметов, которые ведет преподаватель с фамилией Fam; определяет количество занятий в неделю по каждому из предметов; выводит названия предметов, занятия по которым проводятся в заданный день (понедельник, вторник, среда, четверг, пятница, суббота).

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

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

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

3. Проверьте работоспособность программы. Если необходимо, воспользуйтесь методами отладки.

В модуле Menu задаются следующие константы:

const

count___i=3;

iname:array[1..count___i] of string = ('ВВОД','ЗАПРОС','ВЫХОД');

ipos:array[1..count___i] of byte = (10,30,50);

Среди следующих утверждений найдите неверное.

  • count___i — определяет количество пунктов меню.
  • 10 — количество пунктов меню.
  • iname — массив констант, определяющих названия пунктов меню
  • ipos — массив констант, определяющих позиции вывода пунктов меню по горизонтали.
  • Константа «Выход» будет выведена в 50 позиции по горизонтали.

Введите номер.

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

For i:= 1 To 7 Do

Begin

Write(i,'--');

___ (sss, code);

Writeln(f1,sss);

end;

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

___13:

Begin

case pos of

1: Vvodi(Fname);

2: Zaprosi(Fname);

3: q:=true;

end;

Введите пропущенный символ.



Вариант

Условие задачи:

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

А) По заданному номеру месяца и названию издания найти количество экземпляров, подлежащих доставке.

Б) По фамилии найти список подписных изданий данного подписчика.

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

Г) По заданному участку доставки и месяцу определите издание, на которое подписалось наибольшее число подписчиков.

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

  • Ознакомьтесь с библиотекой процедур. Отметьте для себя, какие из имеющихся процедур Вы могли бы использовать в своей программе. Осуществите защиту ввода.
  • Ознакомьтесь с текстом программы Menu (файл Вывод___меню.rtf). Определите, какие изменения Вы должны сделать в программе для подключения ее к своему комплексу. Подключите процедуру в разрабатываемый Вами комплекс.
  • Проверьте работоспособность программы. Если необходимо, воспользуйтесь методами отладки.

Для ввода номера участка используется процедура из библиотеки стандартных процедур. Write(i,'Участок---'); ___(Pers.Nom, code);

Запишите имя процедуры строчными буквами.

Представлен фрагмент программы вывода пунктов меню (процедура Menu___1).

for pos := 2 to count___i do

begin

gotoxy(ipos[pos],Ypos);

___ (iname[pos]);

end;

Запишите имя пропущенной процедуры.

Программа вызова горизонтального меню может выглядеть следующим образом:

Program Post;

Uses crt, menu;

Var Fname: String[20];

Begin

Clrscr;

Menu___1(2, ___);

End.

Введите пропущенное имя.



Тестирование

Обеспечение комплексом программ достаточно низкой вероятности отказа в процессе функционирования программного средства в реальном времени —

Оттестированные программные модули, которые могут использоваться в других программах без каких–либо изменений или с небольшими изменениями, — это ___ программные модули (запишите строчными буквами).

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

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

Способность компонентов программного средства защищать программы и информацию от любых негативных воздействий —




Учебный пример

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

Для ознакомления с заставкой запустите на выполнение программу UCHKOMPL.pas.

Для организации такой заставки в модуль Dla___vivoda включена процедура Zast___cs. Просмотрите листинг процедуры.

Procedure Zast___cs;

Var ch: Char; {Используется для очистки буфера}

BEGIN

ShowCursor;

{=============================================================}

{===========Здесь можно изменить текст сообщений===================}

{=================Цвета сообщений и фона=========================}

{================ Время задержки экрана ==========================}

{=============================================================}

ColorStr('Бригада разработчиков № 1',10); //Цветной вывод текста в центре экрана

ColorStr('представляет',10); //Цветной вывод текста в центре экрана

Delay(4000);

TextBackGround(7); // Изменение цвета фона

ClrScr;

TextColor(0); //Изменение цвета шрифта

Middle('Подсистему обработки запросов успеваемости',10);

Middle('в информационной системе "Успеваемость"',11);

GoingOut('Продолжение - любая клавиша',6,50,25);

While KeyPressed do Ch := ReadKey; {Очищаем буфер}

Showcursor;

END;

В данной процедуре используются подпрограммы:

Goingout

Приостанавливает работу программы и выводит сообщение желаемого цвета и в нужном месте экрана.

Setnorm

Нормальная форма курсора.

Setnocur

Невидимый курсор.

middle

Выводит на экран строку текста, центрируя ее.

Colrstr

Вывод строки с центрированием и изменением яркости.

Эти подпрограммы включены в модуль Dla___vivoda. Познакомьтесь с этими подпрограммами. Они расположены в директории «Библиотека стандартных подпрограмм».

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

Запустите на выполнение программу UCHKOMPL.pas. Выберите пункт меню «Запрос». Введите имя запрашиваемого файла — Проба1.dat. Выполните последовательно запросы.

При выводе информации используются подпрограммы:

goingout

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

GoingOutColor

задержки экрана, подсказка о дальнейших действиях пользователя, установка цвета фона и символов.

frame

построение рамки для выделения элементов, выводимых на экран.

Middle

вывод строки текста с центрированием.

ColrStr

вывод строки с центрированием и изменением яркости.

Эти подпрограммы включены в модуль Dla___vivoda. Познакомьтесь с этими подпрограммами.

Продолжим работу над учебным примером. Условие задачи:

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

§ фамилии студентов, имеющих задолжности хотя бы по одному предмету;

§ название предмета, который был сдан лучше всех;

§ процент студентов, сдавших все экзамены на 5 и 4;

§ номера групп в порядке убывания средней успеваемости.

Спецификация программы

Программный комплекс содержит следующие модули:

Обозначение

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

Примечание

UCHKOML

UCHKOML.pas

Головная программа. Организует обращение к блокам ввода и вывода с помощью горизонтального меню.

Menu

MenuG.pas

Модуль, содержащий процедуру вывода горизонтального меню.

Vvod

VvodidG.pas

Модуль, организующий ввод исходной информации. Создает файл «Предметы» и файл «Расписание». Для работы модуля необходимы процедуры, расположенные в модуле Dla___vvoda.

Dla___vvoda

Dla___vvoda.pas

Содержит процедуры ввода целых чисел и строк кириллицы.

Zapros

ZaprosG.pas

Головной модуль организации запросов. Считывает информацию из файлов и вызывает горизонтальное меню.

Menu

MenuZapr.pas

Модуль, содержащий процедуру вывода горизонтального меню, адаптированную под модуль запросов.

Запросы

Zapros___1___2___3___4.pas

Обрабатывает запросы и организует вывод информации. Для работы требует подключения модуля Dla___vivida и модуля GraphABC.

Dla___vivoda

Dla___vivoda.pas

Модуль, содержащий процедуры оформления вывода.

«Предметы»

PREDMET

Текстовый файл предметов.

«Расписание»

Проба1.dat

Типизированный файл с результатами сессии.

Описание программы

1. Общие сведения

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

Программа написана на языке PascalABC версии 3.0.1.35, предназначенной специально для обучения программированию. Среда программирования PascalABC относится к классу FreeWare, то есть свободно распространяемому ПО.

2. Функциональное назначение

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

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

3. Логическая структура

Программа имеет модульную структуру. Состав модулей представлен в спецификации программы. Разработанный комплекс состоит из головной программы и семи модулей. Основная программа осуществляет обращение к модулю ввода (VvodidG.pas) и модулю вывода (ZaprosG.pas), а также выполняет выход из программы.

Модуль ввода (VvodidG.pas) осуществляет запись на диск результатов сессии. Предлагаются два варианта ввода: ввод данных по предметам и ввод результатов сессии. Названия предметов, по которым сдавались предметы, записываются в текстовый файл с названием «PREDMET». Результаты сессии записываются в типизированный файл. Имя файла вводится с клавиатуры. Содержание файлов используется для составления запросов. В целях защиты ввода для работы модуля VvodidG.pas необходимы процедуры, организующие ввод целых чисел и строк кириллицы, расположенные во вспомогательном модуле Dla___vvoda.

Модуль вывода организует обращение к запросам. Реализация вывода по запросам расположена в модуле Zapros___1___2___3___4.pas. В этом модуле используются вспомогательные процедуры красивого вывода (вывод рамки и центрирование вывода), расположенные в модуле Dla___vivoda.pas.

Обращение к пунктам меню осуществляется с помощью подпрограммы меню. Для головной программы — это процедура MenuG. Для запросов — MenuZapr.pas. Логическая структура программы представлена следующей схемой:

4. Используемые технические средства

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

5. Вызов и загрузка

Программа вызывается с помощью файла UCHKOML.pas при наличии системы программирования PascalABC или с помощью файла UCHKOML.exe в среде операционной системы Windows. В первом случае все составляющие модули и файлы должны находиться в текущей директории.

6. Входные данные

Входными данными в этой задаче являются:

1. Массив названий предметов, по которым тестировались студенты курса (текстовый файл).

2. Информация по каждому студенту курса: (типизированный файл)

a. Номер группы.

b. Фамилия.

c. Имя.

d. Отчество.

e. Оценки по предметам сессии (массив).

7. Выходные данные

1. фамилии студентов, имеющих задолжности хотя бы по одному предмету;

2. название предмета, который был сдан лучше всех;

3. процент студентов, сдавших все экзамены на 5 и 4;

4. номера групп в порядке убывания средней успеваемости.

Каждый вывод оформлен в отдельном окне.

Руководство пользователя

1. Условия выполнения программы

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

2. Выполнение программы

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

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

Информация по предметам:

§ количество предметов;

§ название предмета № 1;

§ название предмета № 2;

§ название предмета № 3;

§ и т.д.

Информация по результатам сессии:

§ номер группы;

§ фамилия;

§ имя;

§ отчество;

§ оценки по предметам сессии (массив).

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

3. Сообщения оператору.

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



0641.02.03;ЭПТ2.03;1

План

  • Теоретическая часть
    • Документация на разработанный программный продукт
    • Оформление программного продукта
  • Практический пример

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

Результат обучения:

o знание минимального набора документов для внедрения программы;

o навыки работы со стандартными подпрограммами;

o умение придать программному продукту товарный вид.

Список рекомендуемой литературы:

  • Румянцев Д., Монастырский Л. Путь программиста: опыт создания личности программиста. — М.: «Издательский Дом ИНФРА-М», 2000.
  • Одинцов И.О. Профессиональное программирование. Системный подход. — СПб.: БХВ-Петербург, 2002.
  • Орлов С. А. Технологии разработки программного обеспечения. — СПб.: Питер. 2002.
  • Мануйлов В.Г. Разработка программного обеспечения на Паскале. — М.: «Издательство ПРИОР», 1998.
  • WWW.sunschool.math.rsu.ru
  • Чернов Д., Еременко А. OpenOffice.org для профессионала. – М.: ДМК Пресс, 2008.

Используемые программы:

1. OpenOffice.org Write

Текстовый редактор OpenOffice.org Write – программа, предназначенная для ввода и форматирования текста.

2. PascalABC

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

3. UCHKOMPL.pas , Проба1.dat, Dla___vvoda.pas, Dla___vivoda.pas, MenuG.pas, MenuZapr.pas, Predmet, VvodidG.pas, ZaprosG.pas, Zapros___1___2___3___4.pas (папка «Пример»).

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

4. Файлы из папки «Библиотека стандартных процедур»: COLRSTR.pas, FRAME.pas, GOINGOUC.pas, GOINGOUT.pas, Menu.pas, MIDDLE.pas, READREAL.pas, READRUSS.pas, VVODINT.pas, ZAST___CS.pas

Файлы стандартных процедур для выполнения самостоятельной работы.



Документирование программного продукта. Ввод программного комплекса в эксплуатацию

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

§ системный анализ и проектирование программного средства, разработка и интегрирование программных компонентов;

§ тестирование компонентов и комплексов программ;

§ испытания программных средств;

§ сопровождение и конфигурационное управление версиями программных средств.

Каждый этап снабжается сопроводительной документацией.

Для недавнего времени документация выходила в напечатанном виде. Однако сейчас описание программ распространяется, используя электронные средства, что позволяет намного проще и дешевле обновлять документацию. С программным продуктом можно связать справочные файлы, обеспечивая при выполнении задач конспектную подсказку. Кроме того, имеется возможность встроить в продукт мастера и обучающие программы. При написании руководств можно использовать несколько приложений. Например, если требуется создать справочные файлы, используют Microsoft Word или Microsoft Help Compiler. Чтобы создать файлы HTML, применяется редактор HTML. Microsoft Help Compiler поставляется вместе с профессиональной версией Visual Basic.

Документация на программный продукт, компонент или модуль программного средства должна содержать:

§ техническое задание (ТЗ) и/или спецификацию требований на разработку программы;

§ описание программы в виде печатного документа;

§ фрагмент руководства пользователя — описание применения программного компонента;

§ исходный текст программы в виде печатного документа;

§ исходный и объектный код программы на магнитных или иных носителях.

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

Основные требования к описанию программы

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

Обозначение

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

Примечание

Графы спецификации заполняют следующим образом:

§ в графе «Обозначение» указывают обозначение основных программных компонентов;

§ в графе «Наименование» указывают полное наименование соответствующего компонента;

§ в графе «Примечание» — дополнительные сведения, относящиеся к записанным в спецификации программам.

Раздел «Описание программы» согласно ГОСТ 19.402–78 должно содержать следующие разделы:

§ общие сведения;

§ функциональное назначение;

§ описание логической структуры;

§ используемые технические средства;

§ вызов и загрузка;

§ входные данные;

§ выходные данные.

Отдельные разделы можно объединять. Некоторые пункты этого раздела повторяют разделы технического проекта. Такие повторения предусмотрены ГОСТом, так как на этапе рабочего проекта возникают некоторые дополнения или изменения в составе технических средств или программе. Здесь приводятся более конкретные и точные данные.

В разделе «Общие сведения» должны быть указаны: обозначение и наименование программы; программное обеспечение, необходимое для функционирования программы; языки программирования, на которых написана программа.

В разделе «Функциональное назначение» должны быть указаны классы решаемых задач и (или) назначение программы и сведения о функциональных ограничениях на применение.

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

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

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

В разделе «Входные данные» должны быть указаны: характер, организация и предварительная подготовка входных данных, формат, описание и способ кодировки входных данных.

В разделе «Выходные данные» должны быть указаны: характер, организация и предварительная подготовка выходных данных, формат, описание и способ кодировки выходных данных.

Содержание руководства пользователя (описание применения)

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

§ условия выполнения программы;

§ выполнение программы;

§ сообщения оператору.

В разделе «Условия выполнения программы» должны быть указаны условия, необходимые для выполнения программы (минимальный и/или максимальный состав аппаратурных и программных средств и т.п.).

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

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

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

Запись на магнитный носитель и поставка программного продукта

С самого начала работы над программным продуктом необходимо принять решение о том, как распространять систему: на дискетах или CD-ROM, либо переслать ее через Internet или intranet, либо просто установить ее на совместно используемом диске.

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

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

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

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

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

Один из возможных вариантов оформления готового программного продукта (учебный вариант) предложен в файле «Uchcompl.pas». Запустите программу на исполнение и ознакомьтесь с ее оформлением. Можно воспользоваться исполняемым файлом «Uchcompl.exe». Имя запрашиваемого файла — Proba.dat.

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



Вариант

Составьте документацию на разработанный программный продукт.

Условие задачи:

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

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

2. Продумайте экраны вывода. Для оформления можно воспользоваться стандартными процедурами. При необходимости посмотрите, как использованы эти процедуры в учебной программе «Деканат». Вывод информации в программном комплексе «Деканат» осуществляется в подпрограммах модуля Zapros___1___2___3___4.pas. Главный модуль имеет название Uchcompl.pas.

3. Составьте документ из раздела сопроводительных документов «Описание программы». Проследите, чтобы документ содержал все подразделы: спецификация, общие сведения, функциональное назначение, описание логической структуры, используемые технические средства, вызов и загрузка, входные данные, выходные данные. Воспользуйтесь редактором OpenOffice.org Write.

4. Составьте документ «Руководство пользователя». Воспользуйтесь редактором OpenOffice.org Write.

Составьте документацию на программный продукт.

§ Техническое задание скопируйте из документа «Постановка задачи». Если в процессе разработки были внесены изменения в постановку задачи, то соответствующим образом скорректируйте техническое задание.

§ Добавьте раздел «Описание программы».

§ Добавьте документ «Руководство пользователя».

Проверьте наличие сопроводительных документов.

§ Функциональные диаграммы и диаграммы потоков данных (лабораторная работа №4).

§ Спецификации модулей (лабораторная работа №4).

§ Схемы программ (лабораторная работа №4).

В процедуре Zast___cs. используется процедура:

Procedure GoingOut ( Text : String; ColorText: Byte; x, y: integer);

Укажите назначение стандартной процедуры.

  • Выводит сообщение в центре экрана символами цвета ColorText.
  • Выводит требуемое сообщение желаемого цвета в нужном месте экрана.
  • Вводит строку в позиции с заданными координатами и отображает ее цветом ColorText.

4. Вводит строку в позиции курсора и отображает ее цветом ColorText.

Введите номер правильного ответа.

Допишите пропущенное имя в заголовок процедуры центрирования вывода по горизонтали.

Procedure ___(Stroka: String; Y: Integer) ;

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

1. «Выполнение программы»

2. «Условия выполнения программы»

3. «Сообщения оператору»

4. «Используемые технические средства»

Введите номер правильного ответа.

Связи программы с другими программами указываются в подразделе

  • «Общие сведения»
  • «Функциональное назначение»
  • «Описание логической структуры»
  • «Используемые технические средства»

Введите номер правильного ответа.



Вариант

Составьте документацию на разработанный программный продукт.

Условие задачи:

Разработать программный комплекс для подведения итогов Олимпийских игр. В программу пользователь должен ввести количество медалей разного достоинства, завоеванное каждой командой–участницей. Программа подсчитывает общее число медалей и соответствующее число очков. Программа должна выдавать информацию по каждой команде–участнице, а также упорядоченный список в соответствии с набранным количеством очков. Количество очков определяется по следующему правилу: за золотую медаль команда получает 7 очков, за серебряную — 6, за бронзовую — 5.

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

2. Продумайте экраны вывода. Для оформления можно воспользоваться стандартными процедурами. При необходимости посмотрите, как использованы эти процедуры в учебной программе «Деканат». Вывод информации в программном комплексе «Деканат» осуществляется в подпрограммах модуля Zapros___1___2___3___4.pas. Главный модуль имеет название Uchcompl.pas.

3. Составьте документ из раздела сопроводительных документов «Описание программы». Проследите, чтобы документ содержал все подразделы: спецификация, общие сведения, функциональное назначение, описание логической структуры, используемые технические средства, вызов и загрузка, входные данные, выходные данные. Воспользуйтесь редактором OpenOffice.org Write.

4. Составьте документ «Руководство пользователя». Воспользуйтесь редактором OpenOffice.org Write.

Составьте документацию на программный продукт.

§ Техническое задание скопируйте из документа «Постановка задачи». Если в процессе разработки были внесены изменения в постановку задачи, то соответствующим образом скорректируйте техническое задание.

§ Добавьте описание программы.

§ Добавьте документ «Руководство пользователя».

Проверьте наличие сопроводительных документов.

  • Функциональные диаграммы и диаграммы потоков данных (лабораторная работа №4).
  • Спецификации модулей (лабораторная работа №4).
  • Схемы программ (лабораторная работа №4).

В процедуре Zast___cs. используется процедура:

Middle('в информационной системе "Успеваемость"',12);

Укажите назначение процедуры Middle.

  • выводит строку двенадцать раз.
  • выводит строку в двенадцатой позиции по горизонтали.
  • выводит строку цветом номер двенадцать.

4. выводит строку в двенадцатой позиции по вертикали.

Введите номер правильного ответа.

Запишите пропущенное слово в заголовке процедуры вывода подсказки о дальнейших действиях пользователя.

Procedure GoingOutColor ( Text : ___; ColorText, ColorBackGround: Byte; x, y: integer);

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

1. «Выполнение программы»

2. «Условия выполнения программы»

3. «Сообщения оператору»

4. «Вызов и загрузка»

Введите номер правильного ответа.

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

1. «Используемые технические средства»

2. «Общие сведения»

3. «Описание логической структуры»

4. «Функциональное назначение»

Введите номер правильного ответа.



Вариант

Составьте документацию на разработанный программный продукт.

Условие задачи:

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

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

2. Продумайте экраны вывода. Для оформления можно воспользоваться стандартными процедурами. При необходимости посмотрите, как использованы эти процедуры в учебной программе «Деканат». Вывод информации в программном комплексе «Деканат» осуществляется в подпрограммах модуля Zapros___1___2___3___4.pas. Главный модуль имеет название Uchcompl.pas.

3. Составьте документ из раздела сопроводительных документов «Описание программы». Проследите, чтобы документ содержал все подразделы: спецификация, общие сведения, функциональное назначение, описание логической структуры, используемые технические средства, вызов и загрузка, входные данные, выходные данные. Воспользуйтесь редактором OpenOffice.org Write.

4. Составьте документ «Руководство пользователя». Воспользуйтесь редактором OpenOffice.org Write.

Составьте документацию на программный продукт.

§ Техническое задание скопируйте из документа «Постановка задачи». Если в процессе разработки были внесены изменения в постановку задачи, то соответствующим образом скорректируйте техническое задание.

§ Добавьте описание программы.

§ Добавьте документ «Руководство пользователя».

Проверьте наличие сопроводительных документов.

  • Функциональные диаграммы и диаграммы потоков данных (лабораторная работа №4).
  • Спецификации модулей (лабораторная работа №4).
  • Схемы программ (лабораторная работа №4).

В процедуре Zast___cs. используется процедура:

GoingOut('Продолжение - любая клавиша',4,50,25);

Позиция вывода по горизонтали равна

В разделе «Сообщения оператору» должны быть приведены

1. тексты сообщений, выдаваемых в ходе выполнения программы.

2. сообщения о форматах вывода.

3. описание содержания текстов сообщения и соответствующие действия оператора.

Укажите номер неверного утверждения.

Запишите имя подпрограммы построения рамки.

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

1. «Общие сведения»

2. «Описание логической структуры»

3. «Функциональное назначение»

4. «Используемые технические средства»

Введите номер правильного ответа.



Вариант

Составьте документацию на разработанный программный продукт.

Условие задачи:

Разработать программный комплекс, который представляет собой подсистему, обслуживающую учебную часть Вуза. Программная подсистема позволяет получать информацию по проведению занятий на первом курсе факультета N: выдает названия предметов, которые ведет преподаватель с фамилией Fam; определяет количество занятий в неделю по каждому из предметов; выводит названия предметов, занятия по которым проводятся в заданный день (понедельник, вторник, среда, четверг, пятница, суббота).

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

2. Продумайте экраны вывода. Для оформления можно воспользоваться стандартными процедурами. При необходимости посмотрите, как использованы эти процедуры в учебной программе «Деканат». Вывод информации в программном комплексе «Деканат» осуществляется в подпрограммах модуля Zapros___1___2___3___4.pas. Главный модуль имеет название Uchcompl.pas.

3. Составьте документ из раздела сопроводительных документов «Описание программы». Проследите, чтобы документ содержал все подразделы: спецификация, общие сведения, функциональное назначение, описание логической структуры, используемые технические средства, вызов и загрузка, входные данные, выходные данные. Воспользуйтесь редактором OpenOffice.org Write.

4. Составьте документ «Руководство пользователя». Воспользуйтесь редактором OpenOffice.org Write.

Составьте документацию на программный продукт.

§ Техническое задание скопируйте из документа «Постановка задачи». Если в процессе разработки были внесены изменения в постановку задачи, то соответствующим образом скорректируйте техническое задание.

§ Добавьте раздел «Описание программы».

§ Добавьте документ «Руководство пользователя».

Проверьте наличие сопроводительных документов.

§ Функциональные диаграммы и диаграммы потоков данных (лабораторная работа №4).

§ Спецификации модулей (лабораторная работа №4).

§ Схемы программ (лабораторная работа №4).

В процедуре Zast___cs. используется обращение к процедуре

ColorStr('Бригада разработчиков № 1',10);

Параметр 10 — это

  • позиция вывода по горизонтали.
  • номер цвета фона.
  • позиция вывода по вертикали.

4. номер цвета шрифта.

Введите номер правильного ответа

Запишите название процедуры вывода строки с центрированием по горизонтали.

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

1. функциональное назначение.

2. вызов и загрузка.

3. описание логической структуры.

4. общие сведения.

Введите номер правильного ответа.

Минимальный и/или максимальный состав аппаратурных и программных средств определяется в подразделе

1. «Условия выполнения программы»

2. «Используемые технические средства»

3. «Функциональное назначение»

4. «Сообщения оператору»

Введите номер правильного ответа.



Вариант

Составьте документацию на разработанный программный продукт.

Условие задачи:

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

А) По заданному номеру месяца и названию издания найти количество экземпляров, подлежащих доставке.

Б) По фамилии найти список подписных изданий данного подписчика.

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

Г) По заданному участку доставки и месяцу определите издание, на которое подписалось наибольшее число подписчиков.

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

2. Продумайте экраны вывода. Для оформления можно воспользоваться стандартными процедурами. При необходимости посмотрите, как использованы эти процедуры в учебной программе «Деканат». Вывод информации в программном комплексе «Деканат» осуществляется в подпрограммах модуля Zapros___1___2___3___4.pas. Главный модуль имеет название Uchcompl.pas.

3. Составьте документ из раздела сопроводительных документов «Описание программы». Проследите, чтобы документ содержал все подразделы: спецификация, общие сведения, функциональное назначение, описание логической структуры, используемые технические средства, вызов и загрузка, входные данные, выходные данные. Воспользуйтесь редактором OpenOffice.org Write.

4. Составьте документ «Руководство пользователя». Воспользуйтесь редактором OpenOffice.org Write.

Составьте документацию на программный продукт.

§ Техническое задание скопируйте из документа «Постановка задачи». Если в процессе разработки были внесены изменения в постановку задачи, то соответствующим образом скорректируйте техническое задание.

§ Добавьте описание программы.

§ Добавьте документ «Руководство пользователя».

Проверьте наличие сопроводительных документов.

§ Функциональные диаграммы и диаграммы потоков данных (лабораторная работа №4).

§ Спецификации модулей (лабораторная работа №4).

§ Схемы программ (лабораторная работа №4).

В процедуре вывода строки сообщения с центрированием ColorStr текст не должен превышать 80 символов.

If Length(Stroka) > 80 Then

Begin

TextColor(15); ___ (18,8);

Writeln('Текст превысил 80 символов!');

Delay(2000);

Halt;

End;

Запишите пропущенное имя процедуры.

Запишите имя функции в операторе, который очищает буфер памяти.

While ___ do Ch := ReadKey;

Раздел «Руководство пользователя» содержит:

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

2. сведения об эксплуатации программы

3. ограничение применения программы

4. условия, необходимые для выполнения программы

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

Введите номер неправильного ответа.

Типы ЭВМ и устройств, которые используются при работе программы, указываются в подразделе

1. «Функциональное назначение»

2. «Используемые технические средства»

3. «Описание логической структуры»

4. «Общие сведения»

Введите номер правильного ответа.



Тестирование

Документация на программный продукт средства должна содержать:

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

Раздел, предшествующий описанию программы, —

Руководство пользователя содержит разделы:

Установите последовательность следования подразделов в разделе «Описание программы».




Разработка примера меню на основе экранных форм

Задание

Разработать экранную форму для ввода базы данных «Записная книжка». В базу данных вводятся следующие анкетные данные: фамилия, имя, адрес, телефон, электронный адрес, дата рождения, характер знакомства. Построить приложение для проверки правильности ввода данных.

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

Для формы устанавливаем свойство BorderStyle равным bsDialog. В этом случае форма будет иметь только одну размерную кнопку — кнопку закрытия окна. В нашей задаче нет необходимости изменять размеры окна, а поэтому не нужно масштабировать размеры элементов управления.

Для изменения заголовка окна используем свойство формы Caption.

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

Изменяем свойство Caption для всех меток, установленных на форму (см. рисунок). Это же свойство изменяем и у кнопки Button1.

Экранная форма для решения поставленной задачи.

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

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

Тип компоненты файла объявим глобально. Тип данных anketa является записным типом с полями:

name1 — фамилия;

name2 — имя;

Adress — адрес;

Tel — телефон;

Email — электронный адрес;

Bday — дата рождения;

Comm — характер знакомства.

Для упрощения примера сделаем все поля строковыми — String [20].

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

Часть кода программы, сформированная вручную:

Type anketa = record

name1, name2, Adress, Tel, Email, Bday, Comm: String [20];

end;

Var f: File of anketa;

// Событие OnActivate для формы возникает при

 
активизации формы

procedure Form1OnActivate;

begin

assign(f,'Proba'); // Связываем файловую переменную с файлом на диске

ReWrite(f); // Создаем новый файл на диске

end;

//

OnClose в
озникает при закрытии формы

procedure Form1OnClose;

begin

close(f); // Файл закрывается при окончании работы с формой

end;

procedure Button1OnClick;

Var z:anketa;

begin

With z do

Begin

Name1 := Edit1.text; // Присваиваем содержимое редакторов полям записи

Name2 := Edit2.text;

Adress := Edit3.text;

Tel := Edit4.text;

Email := Edit5.text;

Bday := Edit6.text;

Comm := Edit7.text;

End;

Write(f, z); // Записываем компоненту файла на диск

// Очищаем содержимое редакторов

Edit1.text :='';Edit2.text :='';Edit3.text :='';Edit4.text :='';

Edit5.text :='';Edit6.text :='';Edit7.text :='';

end;

Работу программы можно посмотреть, запустив на выполнение файл Zap___kniga.pas.

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

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

Код программы:

Type anketa = record

name1, name2, Adress, Tel, Email, Bday, Comm: String [20];

end;

Var f: File of anketa;

procedure Form1OnActivate;

begin

assign(f,'Proba'); Reset(f); // Открываем файл на чтение

end;

procedure Form1OnClose;

begin

close(f);

end;

procedure Button1OnClick;

Var z:anketa;

begin

Read(f,z); // Считываем компоненту файла с диска

With z do

Begin

Edit1.text := Name1; // Отображаем информацию в окне редактора

Edit2.text := Name2;

Edit3.text := Adress;

Edit4.text := Tel;

Edit5.text := Email;

Edit6.text := Bday;

Edit7.text := Comm;

End;

end;

Работу программы можно посмотреть, запустив на выполнение файл Zap___kniga___Pr.pas.



0641.02.03;ЭПТ2.04;1

План

  • Теоретическая часть
    • Понятие графического интерфейса
    • Разработка диалога на основе экранных форм
    • Среда разработки приложений PascalABC
  • Пример разработки экранной формы в PascalABC
    • Разработка интерфейса
    • Разработка функциональности приложения
    • Разработка приложения для проверки правильности ввода информации

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

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

Список рекомендуемой литературы:

  • А.Я Архангельский. Программирование в Delphi 7 — М.: ООО «Бином-Пресс», 2005.
  • С. А. Орлов Технологии разработки программного обеспечения. — СПб.: Питер. 2002.
  • Э.А. Акчурин Человеко-машинное взаимодействие. Учебное пособие. — М.: «СОЛОН-ПРЕСС», 2008.
  • WWW.sunschool.math.rsu.ru

Используемые программы:

1. PascalABC

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

2. Zap___kniga.pas, Zap___kniga___Pr.pas (папка «Пример задания»)

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



Разработка графического интерфейса. Разработка диалога на основе экранных форм. Теоретическая часть

При проектировании пользовательского интерфейса необходимо определить:

§ структуру диалога;

§ возможный сценарий развития диалога;

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

§ визуальные атрибуты отображаемой информации.

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

§ диалог типа «вопрос — ответ»;

§ диалог на основе меню;

§ диалог на основе экранных форм;

§ диалог на основе командного языка.

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

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

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

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

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

1. процесс диалога, то есть двухсторонний обмен информацией между пользователем и компьютером;

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

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

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

1. главное меню;

2. инструментальную панель быстрых кнопок;

3. контекстное меню;

4. клавиши быстрого доступа;

5. ярлычки подсказок;

6. файл справки;

7. возможность настройки приложения;

8. средства установки приложения;

9. и другое.

Существуют мощные средства для разработки графического пользовательского интерфейса — эти средства называются RAD (rapid application development — быстрая разработка приложений). К таким средствам относятся: Delphi, Visual Basic, Visual C++ и другие.

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

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

Запустите программу PascalABC.

Выполните команду Сервис/Создать форму.

В рабочем пространстве программы появится форма с заголовком «Форма1». Правее формы расположена панель с управляющими компонентами, левее — страница свойств компонентов (инспектор объектов). В начале проектирования у нас имеется только один компонент — форма.

Среда разработки PascalABC.

В нижней части окна расположены ярлычки страниц «Программа», «Форма». Перейдите в окно программы. Ознакомьтесь с текстом программы.

Программа

uses vcl;

//$VCLDESIGN+

var

Form1: Form;

//$VCLDESIGN-

procedure InitControls;// Процедура создания и инициализации формы

begin

Form1:= Form.Create(0,0,372,327);

Form1.InitControl(True,False,alNone,crDefault,clBtnFace,'Форма1','');

Form1.Position:= poScreenCenter;

Form1.Show;

end;

begin

InitControls; //Обращение к процедуре

end.

Вы видите автоматически сформированный текст процедуры создания и инициализации формы InitControls. С помощью фразы Uses VCL подключается модуль визуальных компонентов.

Для создания экземпляра формы используется конструктор Create.

constructor
 Create(L,T,W,H: integer);

Параметры

L
,
T
,
W
,
H
задают координаты левого верхнего угла элемента относительно родительского элемента, а также размеры элемента.

Процедура InitControl устанавливает соответствующие свойства элемента.

procedure InitControl(Enabled,Visible: boolean; Align: AlignType; Cursor: CursorType; Color: ColorType; Caption,Hint: string);

Свойство Position определяет положение формы относительно экрана. Метод Show показывает форму.

При разработке экранной формы нашей задачи воспользуемся визуальными компонентами управления Edit, TextLabel, Button.

TextLabel — поле вывода текста. Свойство

Caption
определяет надпись на метке.

Edit — поле редактирования текста. Отображает одну строку текста, позволяя ее редактировать. Свойство

Text
определяет текст в поле ввода.

Button — командная кнопка. Caption — надпись на кнопке.

Метод 
SetImage
(
name
: 
string
) у
станавливает рисунок, изображенный на кнопке. В качестве
name
указывается имя файла на диске (допускаются .bmp или .ico файлы) либо имя стандартного ресурса (в этом случае расширение не указывается).



Вариант

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

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

  • Разработайте интерфейс с помощью компонентов PascalABC.
  • Разработайте функциональность приложения.
  • Организуйте проверку правильности ввода исходной информации.

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

Допишите оператор присваивания переменной А содержимого редактора Edit1

A := Edit1.___;

Запишите имя процедуры инициализации объекта.



Вариант

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

Организовать ввод данных в базу «Интерпол». Данные по каждому зарегистрированному преступнику: фамилия, имя, возраст, кличка, рост, цвет волос, цвет глаз, особые приметы.

  • Разработайте интерфейс с помощью компонентов PascalABC.
  • Разработайте функциональность приложения.
  • Организуйте проверку правильности ввода исходной информации.

На рисунке значение «Интерпол» имеет свойство?

Свойство Caption определяет надпись

  • на кнопке
  • на метке
  • в текстовом окне компонента Edit

4. в заголовке формы

Введите номер неверного ответа.

Событие ___ для формы возникает при

 
активизации формы (запишите строчными латинскими буквами).



Вариант

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

Организовать ввод данных в базу «Отдел кадров». База данных о сотрудниках фирмы: паспортные данные, образование, специальность, подразделение, должность, оклад, дата поступления в фирму.

  • Разработайте интерфейс с помощью компонентов PascalABC.
  • Разработайте функциональность приложения.
  • Организуйте проверку правильности ввода исходной информации.

Интерфейс приложения разработан с помощью компонентов: form, label, ___, edit.

Запишите название пропущенного компонента строчными буквами.

Для очистки содержимого редактора нужно записать оператор —

  • Label1.caption :='';
  • Edit1.text :='';
  • Edit1.caption :='';
  • Label1.text :='';

Запишите номер правильного ответа.

Свойство компонента Edit, определяющее текст в поле ввода (запишите строчными буквами) —



Вариант

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

1. Разработайте интерфейс с помощью компонентов PascalABC.

2. Разработайте функциональность приложения.

3. Организуйте проверку правильности ввода исходной информации.

В какое свойство компонента Button введен заголовок «Запись»? Запишите строчными буквами.

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

В программном коде существует описание:

Type anketa = record

name, izmer, cena, kol, data: String [20];

end;

Var f: File of anketa;

…

В приведенном фрагменте обработчика событий впишите пропущенный символ.

procedure Button1OnClick;

Var z:anketa;

begin

With ___ do

Begin

Name := Edit1.text;

izmer := Edit2.text;

cena := Edit3.text;

…



Вариант

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

  • Разработайте интерфейс с помощью компонентов PascalABC.
  • Разработайте функциональность приложения.
  • Организуйте проверку правильности ввода исходной информации.

Какой компонент отображает слово «Название»? Запишите строчными буквами.

Name — переменная строкового типа. Допишите оператор присваивания.

Edit1.___ := Name;

procedure Form1___;

begin

assign(f,'Proba'); ReWrite(f);

end;

Допишите строчными буквами имя процедуры.



Тестирование

Графический интерфейс пользователя — это

Диалог, в котором на экран выводится список возможных действий программного комплекса, называется диалогом типа

Для того чтобы в среде PascalABC начать разработку приложения под Windows, необходимо выполнить команду

Функциональность программы под Windows определяется

Чтобы заставить программу реагировать на событие, необходимо написать фрагмент программы, который называется




Разработка графического интерфейса. Разработка интерфейса на основе меню. Теоретическая часть

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

В средах быстрой разработки приложений существуют компоненты, которые отображают списки строк и позволяют выбрать в них нужную строку. К таким компонентам относятся: ListBox, CheckListBox, ValueListEditor, ComboBox.

PascalABC предоставляет возможность использования компонентов ListBox, ComboBox. Основное свойство обоих компонентов, содержащее список строк, — Items, имеющее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Свойство

 
ItemsCount
 о
пределяет количество строк в списке.
ItemIndex
 
о
пределяет номер текущего выбранного элемента в списке
Items
(нумерация начинается с 0). При изменении значения
ItemIndex
выбирается строка списка с соответствующим номером.

ComboBox — комбинированный список выбора. Свойство

Text
 
о
пределяет текст в поле ввода. Свойства
Items, ItemsCount, ItemIndex
 имеют те же значения, что и для компонента 
ListBox
.

Для выбора какого-либо численного значения можно использовать такие компоненты как 
TrackBar
 и 
SpinEdit
. 

Класс SpinEdit представляет поле для ввода целого значения, совмещенное с двумя кнопками, позволяющими увеличивать и уменьшать это значение. Следующие свойства определены в классе SpinEdit:

Value
 —
задает текущее целое значение, содержащееся в компоненте.

Min
 —
задает минимальное целое значение, которое пользователь может ввести в компоненте.

Max
 —
задает максимальное целое значение, которое пользователь может ввести в компоненте.

Класс

TrackBar
представляет стандартную линейку значений с бегунком. Этот компонент предназначен для визуального управления числовой величиной. Свойства, определенные в классе TrackBar:

Min
 — о
пределяет наименьшее значение бегунка.

Max
 — о
пределяет наибольшее значение бегунка.

Position
 — о
пределяет текущее значение бегунка.

Frequency
 — 
определяет интервал между делениями, отображаемыми на элементе.

Orientation
 — о
пределяет ориентацию элемента.

MarkerSize
 — о
пределяет размер бегунка.

TickMarks
 — о
пределяет, как отображать деления на бегунке. Тип
TickMarksType
определен следующим образом:
TickMarksType=(tmBottomRight, tmTopLeft, tmBoth)
.

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

§ список объектов, выбираемых прямым указанием (указанием номера);

§ меню в виде блока данных;

§ меню в виде строки данных;

§ меню в виде пиктограмм.

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

Меню в виде пиктограмм представляет собой множество объектов выбора, разбросанных по всему экрану. Панели инструментов в Windows — пример такого меню.

Меню — это наиболее удобная структура диалога для неподготовленных пользователей.



0641.02.03;ЭПТ2.05;1

План

  • Теоретическая часть
    • Диалог на основе меню
    • Выбор объектов прямым указанием
  • Пример разработки приложения

Цель занятия: научиться разрабатывать интерфейс на основе меню.

Приобретаемые навыки: использование компонентов ListBox, ComboBox, TrackBar, SpinEdit для разработки графического интерфейса на основе меню

Список рекомендуемой литературы:

  • А.Я Архангельский. Программирование в Delphi 7 — М.: ООО «Бином-Пресс», 2005.
  • С. А. Орлов Технологии разработки программного обеспечения. — СПб.: Питер. 2002.
  • Э.А. Акчурин Человеко-машинное взаимодействие. Учебное пособие. — М.: «СОЛОН-ПРЕСС», 2008.
  • WWW.sunschool.math.rsu.ru

Используемые программы:

1. PascalABC

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

2. Калькулятор___2.pas.

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



Вариант

Условие:

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

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

  • Разработать графический интерфейс.
  • Определить функциональность формы.

Интерфейс приложения разработан с использованием компонентов: Form, Label, ListBox, Edit, ___, TrackBar.

Запишите строчными буквами название компонента, пропущенного в списке.

Запишите свойство, которое

о
пределяет номер текущего выбранного элемента в компоненте
ListBox.



Вариант

Условие:

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

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

  • Разработать графический интерфейс.
  • Определить функциональность формы.

Запишите свойство, определяющее текущее значение бегунка элемента TrackBar.

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

Edit1. text := ___ (TrackBar1. Position) ;



Вариант

Условие:

Дан радиус R. Осуществить расчет по выбору: диаметра, длины окружности, площади круга, объема шара.

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

  • Разработать графический интерфейс.
  • Определить функциональность формы.

В разработанном приложении для выбора какого-либо численного значения можно использовать компоненты SpinEdit и

Основное свойство компонентов ListBox и ComboBox, содержащее список строк (запишите заглавными латинскими буквами), —



Вариант

Условие:

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

1$ = 34 руб.

1€ = 44 руб.

USD/CHF = 1,16 (доллар к Швейцарскому франку);

USD/YEN = 100 (доллар к Японскому Йену).

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

  • Разработать графический интерфейс.
  • Определить функциональность формы.

Запишите значение, которое имеет свойство itemindex компонента ListBox1, представленного на рисунке.

Укажите компонент, который имеет свойство Text для ввода текстовой информации.

  • ListBox
  • SpinEdit
  • TrackBar
  • ComboBox

Введите номер правильного ответа.



Вариант

Условие:

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

1 дюйм = 2.54 см

1 ярд = 0.9144 м

1 верста = 500 сажень

1 косая сажень = 1.76 м

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

  • Разработать графический интерфейс.
  • Определить функциональность формы.

Значение какого свойства равно «Дюйм»?

  • ListBox1.itemindex
  • Items[ListBox1.itemindex]
  • ListBox1.Items
  • Items

Введите номер правильного ответа.

Свойство компонента SpinEdit, которое задает текущее целое значение, содержащееся в компоненте, —



Пример разработки приложения

Этап 1.

Условие задачи

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

Разработка интерфейса.

Форма для решения задачи. Этап 1.

Для ввода исходной информации используются два текстовых редактора Edit1 и Edit2. Для выбора арифметического действия используется компонент ListBox1. Для вывода результата используется метка TextLabel2.

Класс

ListBox
представляет элемент управления список.
Свойство
 
Items
 п
редставляет список строк, отображаемый элементом
ListBox
. Список заполняется в Инспекторе объектов.

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

Программа:

procedure ListBox1OnClick;

Var a, b, c: real;

begin

a:=StrToFloat(edit1.text); //Преобразование текстовой переменной свойства Text в тип real

b:=StrToFloat(edit2.text);

Case ListBox1.itemindex of //В зависимости от выбранной строки списка

0: c:=a+b;

1: c:=a-b;

2: c:=a*b;

3: begin

if b=0 Then //Если второй операнд 0, то деление не производить

begin

TextLabel4.caption := 'Деление на 0';

exit;

end;

c:=a/b;

end;

end;

Textlabel4.caption := FloatToStr(c); // Результат отобразить в метке

end;

Этап 2

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

Разработка формы:

Устанавливаем на форму компонент SpinEdit1 для определения численного значения операнда А. Задаем свойства компонента: Min = -100; Max = 100.

Добавляем на форму компонент TrackBar1. Задаем свойства компонента: Min = -100; Max = 100.

Аналогично добавляем компоненты SpinEdit2 и TrackBar2 для установки численного значения операнда В.

Форма для решения задачи. Этап 2.

Для работы с этими компонентами (SpinEdit, TrackBar) определяем обработчики событий OnChange. В процедурах связываем свойство Position для TrackBar со свойством Text компонента Edit.

Для компонента SpinEdit связываем свойство Value со свойством Text компонента Edit.

procedure TrackBar1OnChange;

begin

Edit1.text := FloatToStr(TrackBar1.Position); // Операнд А

end;

procedure TrackBar2OnChange;

begin

Edit2.text := FloatToStr(TrackBar2.Position); // Операнд В

end;

procedure SpinEdit1OnChange;

begin

Edit1.text := FloatToStr(SpinEdit1.Value); // Операнд А

end;

procedure SpinEdit2OnChange;

begin

Edit2.text := FloatToStr(SpinEdit2.Value); // Операнд В

end;

Готовое приложение представлено в файле Калькулятор___2.pas.



Тестирование

К базовым элементам ввода текстовой информации при разработке приложения под Windows в языке PascalABC относятся

К базовым элементам вывода текстовой информации при разработке приложения под Windows в языке PascalABC относятся

Список строк, отображаемый элементом ListBox, представляет свойство

Укажите основные форматы представления меню на экране.

Установите соответствие между названиями управляющих элементов и их назначением.