Семестр № 4

Цель: Формирование практических навыков разработки приложений под Windows:

·  проектирование программ методами структурного и процедурного программирования;

·  реализации программного проекта средствами языка программирования Object Pascal в среде визуального программирования Delphi;

·  тестирования программ.

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

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

1.  Программа работает в режиме диалога с пользователем.

2.  Ввод числа, представленного во «входном» формате, производится только с помощью командных кнопок, расположенных на форме приложения. Для редактирования вводимого числа предназначены клавиши BackSpace (удалить крайний левый символ),Clear (очистить содержимое редактируемой строки).

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

Рисунок 1. Для вариантов с 1 по 14.

Рисунок 2. Для вариантов с 15 по 28

4.  В качестве «входного» и «выходного» форматов взяты десятичное и р-ичное представления действительного числа.

·  Для вариантов с 1 по 14:

·  «входной» формат - десятичное число,

·  «выходной» формат - р-ичное число, где р - основание системы счисления, определяемое вариантом.

НЕ нашли? Не то? Что вы ищете?

Входной формат имеет следующий вид:

SXXX. XXX
здесь S обозначает позицию, содержащую символы «+» или «-», X – обозначает десятичную цифру, «.» - десятичная точка. Пример десятичного числа, представленного в этом формате:
-001.300 – число -1.3
+101.025 – число 101.025

Пример неверного представления числа:
125.356 отсутствует знак;

-542 отсутствует дробная часть;

-.589 отсутствует целая часть;

+147.5689 неверная длина дробной части;

-5689.256 неверная длина целой части.

·  Для вариантов с 15 по 28:

·  «входной» формат - р-ичное число, где р - основание системы счисления, определяемое вариантом,

·  «выходной» формат - десятичное число.

Входной формат имеет следующий вид:

SXXXXXXXX. XXXXXXXX
здесь S обозначает позицию, содержащую символы «+» или «-», X – обозначает р-ичную цифру, «.» - р-ичная точка.

Пример р-ичного числа, представленного в этом формате:
-0000000A. F0000000 – число - A. F в 16-ичной системе счисления
+1D100000.C2500000 – число 1D1.C25 в 16-ичной системе счисления.
Пример неверного представления числа:
256 неверное количество позиций в изображении числа, отсутствие знака, точки и дробной части
125.35 неверное количество позиций в изображении числа, отсутствие знака.

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

Таблица 9. Варианты заданий

№ варианта

«входной формат»

«выходной формат»

Основание системы счисления р

1

10

р

2

2

10

р

3

3

10

р

4

4

10

р

5

5

10

р

6

6

10

р

7

7

10

р

8

8

10

р

9

9

10

р

11

10

10

р

12

11

10

р

13

12

10

р

14

13

10

р

15

14

10

р

16

15

р

10

2

16

р

10

3

17

р

10

4

18

р

10

5

19

р

10

6

20

р

10

7

21

р

10

8

22

р

10

9

23

р

10

11

24

р

10

12

25

р

10

13

26

р

10

14

27

р

10

15

28

р

10

16

Примечание. Здесь р означает, что число представлено в р-ичной системе счисления, а 10 – что число представлено в 10-ичной системе счисления.

Порядок выполнения

1.  Спроектируйте программу и опишите проект с помощью схемы иерархии логических модулей.

2.  Поведение каждого логического модуля опишите с помощью HIPO-диаграммы.

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

4.  Реализуйте проект на языке Object Pascal.

5.  Опишите реализацию программы с помощью схемы иерархии физических модулей.

6.  Физические модули реализуйте с помощью подпрограмм Object Pascal.

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

Содержание отчета

1.  Вариант задания

2.  Схема иерархии логических модулей

3.  HIPO-диаграмма для каждого модуля

4.  Блок-схема для каждого модуля

5.  Схема иерархии физических модулей

6.  Набор тестовых данных для тестирования каждого модуля

7.  Текст программы на Object Pascal с комментариями

8.  Литература

Рекомендации к выполнению

1.  Форма приложения должна быть с неизменяемыми размерами. Для этого в свойство BorderStyle формы устновите значение bsDialog.

2.  Компоненты «редактируемая строка», в которые осуществляется ввод исходных данных и вывод результата должны быть доступны только для чтения. Для этого в свойство ReadOnly компонентов «редактор» установите значение True.

3.  Для обработки события OnClick (нажатие кнопки) для кнопок, с изображением цифр, знаков «+», «-», «,» разработайте одну событийную процедуру, которую подключите к событиям OnClick каждой кнопки с помощью Инспектора объектов. Эту событийную процедуру вам необходимо описать самостоятельно. Заголовок этой событийной процедуры должен иметь следующий вид:

Procedure Tform1.ButtonClick(Sender: TObject);

//ввод символов через командные кнопки на форме

var p: Integer; z, s: String;

begin

s:= Edit1.Text;

p:= (Sender as TButton).Tag;//p содержит значение свойства Tag кнопки, которая вызвала

//событие

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

Procedure ButtonClick(Sender: TObject);

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

Procedure Tform1.ButtonClick(Sender: TObject);

//ввод символов через командные кнопки на форме

var p: Integer; z, s: String;

begin

s:= Edit1.Text;

p:= (Sender as TButton).Tag;//p содержит значение свойства Tag кнопки, которая вызвала

//событие

4.  Имена всех подпрограмм, разработанных вами для решения задачи, необходимо предварять именем типа формы вашего приложения. Например,

Function Tform1.CharToInt(ch: Char):Cardinal;

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

Function CharToInt(ch: Char):Cardinal;

6. Учебная деятельность

Учебная деятельность представлена следующими видами:

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

2. Решение задач по темам, изучаемым на практических занятиях (не менее 5 задач по каждой теме) и выполнение домашний заданий.

3. Подготовка к лабораторным работам, их выполнение и защита.(9 работ в 1 семестре, 7 работ во 2 семестре).

4. Выполнение контрольной работы (3 семестр – 1, 2 семестр – 1).

5. Подготовка к экзамену и зачету.

7. Правила аттестации студентов по учебной дисциплине

Семестр № 3

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

посещение занятий,

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

защита лабораторных работ (для работ № 8 и № 9 проводится объединенная защита).

Система оценки приведена в таблице 7

Таблица 7

Вид работы

Максимальный балл

Примечания

1. Практические занятия

(10 * 8) = 80

Посещение занятия: 10 баллов

Активная работа: 1 балл

Замечание преподавабаллов

2. Лабораторные работы

50 * 8= 400

Защита с опозданием: 0 баллов

3. Контрольные тесты разделам курса (2 шт.)

Тест №1 – 12 баллов

Тест №2 – 70 баллов (всего 82 балла)

4. Контрольные работы по разделам курса

70 * 2 = 140

По итогам рейтинга проставляются оценки:

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6