Семестр № 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 |


