ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
по дисциплине «Основы программирования»
Выполнил: ст-т гр. 19КП2.
Вихров Н.В
Проверил: доцент каф. ИВС
Дрождин В. В.
1 Формулировка задачи
Даны два числа X и Y в десятичной системе счисления. Написать программу, которая бы представляла заданные числа с плавающей запятой в нормализованной форме одинарной точности.
2 Техническое задание
2.1 Требования к программе
Программа должна представлять заданные числа с плавающей запятой в нормализованной форме одинарной точности.
2.2 Порядок контроля и приёмки
Для контроля правильности работы нужно запустить программу, для представленной последовательности рандомных чисел в первой строке, должен быть разработан набор данных в котором нужно в ручную подсчитать число.
Если результат работы программы и результат полученный путем ручного расчета совпадут, то это будет означать, что программа работает правильно.
3 Описание программы
3.1 Общие сведения
Программа разработана в среде PascalABCNET, её текст приведен в приложении А.
3.2 Функциональное назначение
Программа предназначена для перевода действительных чисел в числа с плавающей запятой.
![]() |
3.3 Описание логической структуры
Схема программы представлена на рисунке 1.
Решение задачи начинается с ввода s. Затем нужно понять, чему равно число s и программа это выясняет методом многочисленным отбиранием чисел с помощью операторов: «if, else, for». После выяснения выданного числа, программа переводит его в числа с плавающей запятой.
Рисунок 1 – Схема программы
![]() |
4. Программа и методика испытаний.
Для проверки правильности работы программы подготовлен тестовый набор данных в Таблице 1.
Ввод числа | Вывод числа |
125,2 | 2520000000000001E-001*10^3 |
3199999999999998E-001*10^3 |
Таблица 1.
При работе программы с тестовыми данными получены результаты, приведенные в приложении Б на рисунках Б.1. Результаты приведены в таблице 1 совпадают с результатами на рисунке Б.1. Таким образом, можно сделать вывод, что программа работает правильно.
5. Описание применения
После запуска на экране появится окно компилятора. Пользователь должен нажать левой кнопкой мыши на кнопку «Выполнить». На форме появится результат работы программы.
Вывод
В ходе выполнения лабораторной работы было сформулировано и утверждено техническое задание на разработку программы, которая переводит действительные числа в числа с плавающей запятой.
Разработан алгоритм решения задачи, составлена и отлажена программа, оформлена документация на программу. Проведенные испытания показали, что программа работает правильно.
![]() |
ТЕКСТ ПРОГРАММЫ
Приложение А
(обязательное)
Uses
CRT;
Var
b:real;
i:integer;
j:byte;
s,s2,s3:string;
t,l:boolean;
begin
s:='Ввести действительное число';
t:=false;
l:=true;
if s[1]='-' then
begin
delete(s,1,1);
l:=false;
end;
s3:=s;
for i:=1 to length(s) do
if s[i]=',' then s[i]:='.';
val(s,b,i);
if (pos('.',s)<>0) and (s[1]<>'0') then
begin
i:=pos('.',s)-1;
t:=true;
end
else
if pos('.',s)=0 then
begin
i:=length(s);
t:=true;
end
else
if s[1]='0' then
begin
for j:=3 to length(s) do
if s[j]='0' then inc(i);
for j:=1 to i do
b:=b*10;
end;
if t then
for j:=1 to i do
b:=b/10;
str(b,s);
str(i,s2);
if l and (s3[1]<>'0') then s:=s+'*10'+'^'+s2
else
if l and (s3[1]='0') then s:=s+'*10'+'^-'+s2
else
if not(l) and (s2<>'0') and not(s3[1] in ['1'..'9']) then s:='-'+s+'*10'+'^-'+s2
else s:='-'+s+'*10'+'^'+s2;
write(s);
end.
![]() |
![]() |
РЕЗУЛЬТАТЫИСПЫТАНИЙ
Приложение Б
(обязательное)
Рисунок Б.1
Рисунок Б.2