Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Использование стандартных потоков ввода-вывода




Работа с функциями, заданными в аналитическом виде

Функции, заданные в аналитическом виде, представляют собой текстовые строки, содержащие:

· математические операции (сложение, вычитание, умножение, деление, возведение в степень);

· функции (sin, cos, tg, ctg, exp, ln, lg);

· константы (числовые, pi, e);

· унарный плюс и минус;

· неизвестные переменные (x – если переменная является скаляром и x1, x2, …, xn – если вектором длиной n);

· круглые скобки.

Для вычисления функций предоставляется специальный модуль. Для языков C/C++ это заголовочный и объектный файлы (polstr.h и polstr.obj). Данные файлы находятся в директории R:\Romanenko\BM\polstr.cpp. Для их использования в рамках среды программирования Borland C++ необходимо создать новый проект и включить в него модуль с программой, реализующей задание по практической работе и два перечисленных выше файла. Для примера, в указанной директории помещен проект ps.prj, который включает в себя главный модуль useps.cpp и файлы polstr.h и polstr.obj. Можно не создавать новый проект, а просто удалить из указанного проекта главный модуль (CPP) и вставить вместо него другой модуль, реализующий практическое задание, сам же проект переименовать (если это необходимо). В средах Borland C++ Builder и Microsoft Visual C++ проект создается автоматически, необходимо только добавить в него требуемые файлы.

Для языка Pascal представлены модули polstr.tpu и polutils.pas. Они находятся в директории R:\Romanenko\ BM\polstr.pas. Второй модуль используется в качестве интерфейса, т.к. заголовочных файлов Pascal не имеет. В файле useps.pas находится пример программы, использующей данный модуль. Как в Borland Pascal, так и в Borland Delphi, для использования дополнительного модуля достаточно подключить его к главному при помощи директивы uses.

В указанных директориях представлены версии объектных файлов для компиляторов Borland C++, Borland Pascal, Borland C++ Builder, Borland Delphi и Microsoft Visual C++.

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

В языке Pascal это достигается использованием файловых переменных input и output. Они соответствуют стандартным виртуальным файлам, отвечающим за ввод и вывод. По умолчанию ввод осуществляется с клавиатуры, а вывод – на экран. Т.е., следующие записи эквивалентны:

write(output,...) ≡ write(...),

read(input,...) ≡ read(...).

Поэтому весь ввод и вывод в программе можно осуществлять функциями read и write без указания файловой переменной. Когда нужно для ввода и вывода использовать файлы, то достаточно связать с требуемыми файлами переменные input и output. Когда такая надобность отпадает, то это связывание помещается в комментарий.

В языке C стандартные файловые переменные stdin и stdout защищены от изменения. Поэтому, для примера, вывод в программе можно осуществлять при помощи функции fprintf в некоторый файл f. Когда необходимо осуществить вывод в файл, то переменная f связывается с требуемым файлом. Когда на экран – использовать следующую запись: f = stdout. Аналогично для ввода.

Достаточно просто это можно проделать и в C++. В некоторых классах ввода-вывода (istream_withassign, ostream_withassign и iostream_withassign) переопределена операция присвоения. Стандартный ввод осуществляется через cin (это определенный в библиотеке iostream.h экземпляр класса istream_withassign), вывод – через cout (экземпляр ostream_withassign). Поэтому достаточно присвоить переменным cin и cout экземпляры классов файлового ввода и вывода соответственно (например, cin = f, где f – экземпляр класса ifstream, связанный с входным файлом). Когда необходимо перейти в режим тестирования, достаточно поместить в комментарий создание экземпляра класса f и указанное присвоение.




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


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


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



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




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