">
Информатика Программирование
Информация о работе

Тема: Расчетная графическая работа по созданию логического модуля

Описание: Схема иерархии логических модулей. HIPO-диаграмма и блок-схема иерархии логических модулей, таблица соответствия. Наборы тестовых данных для тестирования каждого модуля и приложения в целом. Текст программы на Object Pascal с комментариями в приложении.
Предмет: Информатика.
Дисциплина: Программирование.
Тип: Отчет по практике
Дата: 09.07.2012 г.
Язык: Русский
Скачиваний: 3
Поднять уникальность

Похожие работы:

Министерство общего и профессионального образования РФ

Новосибирский Государственный Технический Университет

Факультет бизнеса

Расчетно-Графическая Работа

Отчет

Выполнил:

Преподаватель:

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

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

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

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

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

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

Таблица соответствия логических и физических модулей.

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

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

Литература

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

Вариант «входной формат» «выходной формат»  16 3 10  Схема иерархии логических модулей



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

Перевод 3-ичного числа в десятичное

Вход Обработка Выход   Пользователь вводит с клавиатуры значение действительного числа N3 в 3-ичной системе счисления. Приложение высчитывает и выводит на экран строку N, содержащее десятичное представление числа N3. Если при вводе исходных данных пользователь допустил ошибку, на монитор выводится сообщение об ошибке ввода исходных данных.   

Ввод

Вход Обработка Выход   Пользователь вводит действительное 3-ичное число в переменную N3. Программа проверяет положительность числа и заносит в значение d знак числа. N3-вещественная переменная

 Контроль ввода 3-ичного числа

Вход Обработка Выход  N3 – строка, содержащая действительное число в системе счисления с основанием 3 Если в строке N3 нет недопустимых символов, возвращаем значение True.

В противном случае возвращаем значение False.   Формирование и вывод результата

Вход Обработка Выход  N3-строка Преобразовывает число N3 в его представление в десятичной системе счисления и выводит его на экран N-вещественное число  Перевод целого в десятичную строку

Вход Обработка Выход  I3 – строка, содержащая целое неотрицательное число в системе счисления с основанием 3; I – числовое представление 3-ичного неотрицательного числа I3. I-неотрицательное целое число  

Перевод дроби в десятичную строку

Вход Обработка Выход  F3 – строка, содержащая дробное неотрицательное число в системе счисления с основанием 3; F– строка, содержащая 3-ичное представление дроби F F – неотрицательное вещественное число.  Перевод целого в десятичный символ

Вход Обработка Выход  ch3 – символ, соответствующий 3-ичной цифре. ch – символ, соответствующий 3- ичной цифре d. ch – символ, соответствующий десятичной цифре.  

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

Перевод целого в десятичный символ

Функция char3toint



Перевод дроби в десятичную строку

Функция str3tofrac10

Перевод целого в десятичную строку

Функция str3toint10

Формирование результата

Функция FormResult

Контроль ввода

Функция Check_3



Ввод

Процедура Input



Перевод 3-ичного числа в десятичное



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



Таблица соответствия логических и физических модулей. Номер Логический модуль Физический модуль  1 Ввод procedure Input(var n:real)

 1.1 Контроль ввода function Check_3(x:string):boolean  2 Формирование и вывод результата function FormResult(x:string):extended;  2.1 Перевод 3-ичного целого в десятичное function str3toint10(x:string):extended;  2.1.1 Перевод 3-ичной дроби в десятичную function str3tofrac10(x:string):extended;  2.2 Перевод 3-ичного символа в целое число function char3toint(x:char):integer;  Наборы тестовых данных Исходное число Предполагаемый результат Полученный результат  6 6 6  -12 -С -С  26 1С 1С  0.65 0.91585858 0.9158585858585  -32.74 -24.A507BA8D -24.A507BA8D62352  658.975 350.D9158586 350.D91585858586C  Текст программы на Object Pascal с комментариями

program RGZ;

{$APPTYPE CONSOLE}

uses

SysUtils, math; //Использования встроенной библиотеки и библиотеки math

var d:integer; //Переменная d служит для обозначения положительности числа

procedure Input(var n:string); //Процедура для ввода числа

begin

write(Vvedite chislo );readln(n);

d:=1; //d приравнивается 1

if n[1]=- then // и если первый символ равен минусу удаляет его и в d заносит -1

begin

delete(n,1,1); d:=-1;

end;

end;

function Check_3(x:string):boolean;//Функция проверки на правильность ввода числа

begin

result:=true;//Изначально приравниваем функции true

while x<> do begin //цикл, пока x не пустое

if ((x[1]<3) and (x[1]>=0)) or (x[1]=.) then delete(x,1,1) //Если число находится между 1 и 3 или равно точке, то //удаляем его

else begin

result:=false; //В других случаях функции даем значение False и завершаем цикл, занеся в x пустое значени

x:=;

end;

end;

end;

function char3toint(x:char):integer; //Функция перевода символа в число

begin

case x of //Для x от ‘0’ до ‘2’ используем формулу ниже

0..2: result:=ord(x)-ord(0);

end;

end;

function str3toint10(x:string):extended; //Функция перевода строки в число для целой части

var n:integer;

begin

result:=0; n:=length(x)-1; //Приравниваем результат к нулю и n даем значение длины строки уменьшенное на 1

while n<>-1 do //Пока n<>-1 то цикл выполняется

begin

result:=result+power(3,n)*char3toint(x[1]);//Находим результат по формуле перевода из любой системы счисления в //десятичную

delete(x,1,1);

n:=n-1; //Чтобы цикл завершался от n отнимаем 1

end;

end;

function str3tofrac10(x:string):extended; //Функция перевода дроби в десятичную

var n:integer;

begin

result:=0;

for n:=1 to 7 do //Пока n принадлежит от 1 до 7

begin

result:=result+char3toint(x[n])/power(3,n);//считаем дробную часть по формуле перевода в десятичную с. счисления

end;

end;

function FormResult(x:string):extended; //Формирование результата

var i:integer; y,z:string;

begin

result:=0;

y:= ;

begin

if pos(.,x)<>0 then//Если в строке встречается ‘.’ то

begin

for i:=length(x) downto pos(.,x) do //от конца строки до первого вхождения этой точки

begin

y:=x[i]+y; //формируем дробную часть

delete(x,i,1);

end;

delete(y,1,1);

end;

result:=str3tofrac10(y); //Считаем результата с использованием ранее введенной функции

z:=x;

result:=result+str3toint10(z);//И к нему прибавляем результат от функции по подсчету целой части

end;

end;

var n:string;

begin

input(n);

if check_3(n) //Если прошло проверка на правильность ввода

then writeln(4iclo v 10-icnoi ,d*FormResult(n):0:7) //То выводим десятичное число

else writeln(Neverno zadano 4iclo);//А если нет, то выводим сообщение об ошибке.

readln

end.

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

1)С/С++, Программирование на языке высокого уровня /Т.А. Павловская -СПб.;Питер, 2002г. - 464 с.: ил.

2)Вендров А.М. Проектирование программного обеспечения экономических информационных систем. – М.: Финансы и статистика, 2005.

3)Бобровский. С.И. Delphi 7 : учебный курс / С. Бобровский СПб. [и др.] : Питер , 2007735 с. ил.

4)Лингер Р.,Миллс Х., Уитт Б. Теория и практика структурно программирования: Пер. с англ. М.: Мир, 1982. – 406 с., ил.

5)Н.Вирт. Систематическое программирование. Ведение: Пер. с англ. – М.: Мир,1977. – 183 с.

6)Зиглер К. Методы проектирования программных систем: Пер. с англ.-М.: Мир, 1985.-328 с., ил.

7)Г. Майерс. Искусство тестирования программ: Пер. с англ. – М.: Финансы и статистика,1982. – 175 с.

Интернет-ресурсы:

http://эссе.рф - сборник не проиндексированных рефератов. Поиск по рубрикам и теме. Большинство текстов бесплатные. Магазин готовых работ.

http://www.maxdiplom.ru - Курсовая работа скачать бесплатно банк рефератов 10 Гигабайт.