Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Размещение файлов практической работы




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

Во-первых, при запуске компилятора текущей должна быть та директория, в которой расположены файлы практической работы. Особенно это касается компиляторов Borland C++/Pascal (компиляторы для Windows автоматически делают текущей директорию, в которой расположен проект). Этого можно добиться двумя способами. Первый – зайти в диалог смены текущей директории (File/Change dir…) и указать на место расположения исходных файлов. Второй способ – запускать исполняемый файл компилятора (BC.EXE и BP.EXE соответственно) непосредственно из той директории, в которой расположены исходные файлы. Т.е., например, набрать в командной строке

r:\bp\bin\bp 1.pas

При этом файл 1.pas сразу будет открыт в редакторе, и текущим будет тот каталог, в котором он расположен. Чтобы указанную строку не вводить каждый раз, можно написать пакетный (batch) файл. Назовем его, например, BP.BAT и поместим в него следующую строку

r:\bp\bin\bp %1

Тогда достаточно будет в командной строке написать

bp.bat 1.pas

В целом, работать с программами для ОС MS DOS удобнее всего в консольных файловых менеджерах типа FAR. В них же достаточно удобно можно просматривать и редактировать входные и выходные файлы (а можно для этих целей воспользоваться средствами просмотра и редактирования самих компиляторов – достаточно в диалоге открытия файлов указать требуемое расширение). Для быстрого ввода указанной строки в FAR можно воспользоваться сочетанием клавиш Ctrl-Enter, которое добавляет имя текущего выделенного файла в командную строку. Для создания файла следует нажать комбинацию клавиш Shift-F4.

Таким же образом поступаем и для программ на ЯП C++, только пакетный файл логичнее назвать BC.BAT, а спецификация исполняемого файла среды программирования следующая: r:\bc\bin\bc.

Убедиться, что именно та директория, в которой расположен исходный файл, является текущей, в Borland C++/Pascal очень просто – в заголовке окна должно быть только имя файла, без ссылок на родительские или дочерние каталоги или на другие диски.

Во-вторых, при открытии входных и выходных файлов также не следует указывать никаких ссылок на каталоги и диски. Т.е. если при чтении файла указать имя «S:\LAB1\INPUT.TXT», это будет неверно. При запуске программы из другой директории может возникнуть ошибка (если указанная директория не существует или указанный диск отсутствует), или входные и выходные данные не будут соответствовать ожидаемым (т.к. в текущей директории файлы обрабатываться не будут). Если никакие диск и директория при указании спецификации файла не используются, то подразумевается, что он расположен в текущей директории активного диска.

В-третьих, компилятор Borland C++/Pascal может быть настроен так, что его выходные файлы (исполняемые, объектные и т.п.) также не попадают в текущую директорию. Проверить это можно, зайдя в диалог «Options/Directories…». В поле «Output directory» (для C++) или «EXE & TPU Directory» (для Pascal) должно быть пусто, чтобы перечисленные файлы создавались в текущем каталоге. Однако, при следующем запуске будут восстановлены предыдущие значения опций компилятора. Это происходит потому, что файлы с настройками опций и рабочего стола компилятора по умолчанию хранятся на диске R:, в тех же директориях, в которых расположены их исполняемые файлы, а прав на запись обычные пользователи на этот диск не имеют (о чем компилятор Borland C++ и напоминает регулярно). Однако, достаточно скопировать эти файлы в ту же директорию, в которой находятся другие файлы практической работы, и компилятор будет работать с ними в первую очередь. Для Borland C++ настройки рабочего стола хранятся в файле TCDEF.DSK, а опции компилятора – в файле TCDEF.DPR. Для Borland Pascal это, соответственно, файлы BP.DSK и BP.TP. Последний из них можно создать, выбрав пункт меню «Options/Save». Если работать с проектом в среде Borland C++, то файл с настройками рабочего стола создается автоматически, его имя соответствует имени проекта, а расширение остается прежним (DSK). А опции компилятора, в большинстве своем, хранятся непосредственно в файле проекта (PRJ).

1.3. Результаты вычислений. Погрешность

Если говорить о приближенных числах, то ошибочно было бы считать, что, скажем, 1.00 = 1. Приближенное число 1.00 соответствует точному числу в диапазоне от 0.995 до 1.005, тогда как 1 – от 0.5 до 1.5. При этом первое число указано с точностью в три десятичных знака, а второе – в один знак.

Следовательно, если при решении задачи численным методом задана погрешность, то ответ должен быть дан так, чтобы было видно, что решение в данную погрешность укладывается. К примеру, если для результата указана абсолютная погрешность ε = 0.001, то результат должен быть представлен в виде 2.912, 0.100 и т.д., но не 4 или 0.52. Зная абсолютную погрешность, можно определить количество знаков после запятой для вывода результата:

N = –lg ε. (1.1)

Предполагается, что 0 < ε < 1. Если число N получается нецелым, то оно округляется до большего целого числа. Затем N используется для форматирования результата.

Если задана относительная погрешность δ, то для определения N можно воспользоваться следующей формулой [1]:

N = 1 – lg(am·δ), (1.2)

где am – первая значащая цифра результата.

Далее, все результаты практических работ требуют проверки. Т.е., помимо самого результата, в выходном файле необходимо поместить доказательство того, что результат верный. Обычно доказательством является тот факт, что погрешность решения меньше заданной погрешности, либо что она близка к нулю. Как именно определяется погрешность решения для каждой практической работы, поясняется в п. 2.1 – 2.9.

В зависимости от типа результата, погрешность (невязка) может являться скаляром, вектором либо матрицей. При выводе погрешности в файл необходимо использовать экспоненциальный формат (т.е. ±X.XXXXXE±XX), чтобы, по возможности, избежать округлений. Иначе вместо числа –1.12E–15 (–1.12·10–15) на экране можно увидеть малоинформативную надпись «–0.000», ничего не говорящую о порядке погрешности.

Если x – это результат вычислений, а y – точный ответ, то невязка вычисляется по формуле

ε = x – y. (1.3)

Для получения дополнительной информации о погрешности (невязке), представленной в виде матрицы εA размерности n×m или вектора εb размерности n используется норма [1]. Чаще всего она определяется так:

(1.4)

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

|| εs || = | εs |. (1.5)

В качестве меры отклонения двух величин друг от друга также используется среднеквадратичное отклонение (СКО). Для матриц A и B размерности n×m и векторов a и b размерности n СКО определяется следующим образом:

(1.6)

Очевидно, что для скалярных величин x и y

(1.7)

Видно, что СКО – это норма невязки, дополнительно нормированная на количество элементов исследуемого объекта, т.е.

(1.8)




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 479; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.