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.



Вариант

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

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

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

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

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

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



Вариант

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

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

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

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

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

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

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

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

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

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



Вариант

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

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

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

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

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

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



Вариант

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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;

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

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



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. Проверьте работоспособность программы. Если необходимо, воспользуйтесь методами отладки.



Вариант

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

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

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

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

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

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



Вариант

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

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

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

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

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

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



Вариант

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

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

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

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

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

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



Вариант

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

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

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

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

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

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

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

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



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

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

надежность.




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

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

Для ознакомления с заставкой запустите на выполнение программу 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. Познакомьтесь с этими подпрограммами.



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).



Вариант

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

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

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

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

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

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

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

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

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

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

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

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

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

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

§ Схемы программ (лабораторная работа №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).



Вариант

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

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

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

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

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

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

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

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

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

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

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

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

  • Функциональные диаграммы и диаграммы потоков данных (лабораторная работа №4).
  • Спецификации модулей (лабораторная работа №4).
  • Схемы программ (лабораторная работа №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).



Вариант

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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




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

Задание

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

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

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

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

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

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

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



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 (папка «Пример задания»)

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Вариант

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

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

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



Вариант

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

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

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



Вариант

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

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

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



Вариант

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

1. Разработайте интерфейс с помощью компонентов PascalABC.

2. Разработайте функциональность приложения.

3. Организуйте проверку правильности ввода исходной информации.



Вариант

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

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



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

Графический интерфейс пользователя — это

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




Разработка графического интерфейса. Разработка интерфейса на основе меню. Теоретическая часть

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

В средах быстрой разработки приложений существуют компоненты, которые отображают списки строк и позволяют выбрать в них нужную строку. К таким компонентам относятся: 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)
.



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).

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



Вариант

Условие:

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

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

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



Вариант

Условие:

Дан радиус R. Осуществить расчет по выбору: диаметра, длины окружности, площади круга, объема шара.

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

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



Вариант

Условие:

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

1$ = 34 руб.

1€ = 44 руб.

USD/CHF = 1,16 (доллар к Швейцарскому франку);

USD/YEN = 100 (доллар к Японскому Йену).

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

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



Вариант

Условие:

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

1 дюйм = 2.54 см

1 ярд = 0.9144 м

1 верста = 500 сажень

1 косая сажень = 1.76 м

Разработать приложение для Windows, используя базовые элементы управления (ListBox, ComboBox, SpinEdit, TrackBar).

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



Пример разработки приложения

Этап 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 относятся

- ComboBox
- Edit