Оформление листингов программ. Листинг программы Что это дает инвесторам

Назначение

Исходный код либо используется для получения объектного кода, либо выполняется интерпретатором. Изменения никогда не выполняются над объектным кодом, только над исходным, с последующим повторным преобразованием в объектный.

Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии . Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации .

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

Программисты часто переносят исходный код из одного проекта в другой, что носит название повторного использования кода (Software reusability ).

Исходный код - важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО, портирование либо слишком сложно, либо вообще невозможно.

Организация

Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких файлов . Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на языке Си , с целью оптимизации, содержат вставки кода на языке ассемблера . Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии известной как компоновка библиотек (library linking ).

Сложное программное обеспечение при сборке требует использования десятков, или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом, и описывающие процесс сборки. Эти файлы так же могут содержать и другие параметры компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причем в некоторых средах эти файлы могут быть в текстовом формате, пригодном для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». В подавляющем большинстве современных языковых сред обязательно используются файлы проектов вне зависимости от сложности прочего исходного кода, входящего в данный проект. Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например, графические изображения, нужные для сборки программы.

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

Качество

В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО . О качестве исходного кода можно судить по следующим параметрам:

  • читаемость кода (в том числе наличие или отсутствие комментариев к коду;
  • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
  • низкая сложность;
  • низкое использование ресурсов - памяти, процессора, дискового пространства;
  • отсутствие замечаний, выводимых компилятором;
  • отсутствие «мусора» - неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д.

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

Программный код должен быть сопровожден комментариями. Рекомендуется использовать возможности самодокументирования кода.

В основной части работы для иллюстрации излагаемого теоретического материала должны приводиться листинги фрагментов программ, которые следует располагать непосредственно после текста, в котором они впервые упоминаются. На все листинги должны быть даны ссылки в тексте работы.

При оформлении листингов следует использовать шрифт Courier New, размер – 12 пт, межстрочный интервал – одинарный. Рекомендуется отделять смысловые блоки пустыми строками, а также визуально обозначать вложенные конструкции с помощью отступов.

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

Листинги должны иметь порядковую нумерацию в пределах каждого раздела. Номер листинга должен состоять из номера раздела и порядкового номера листинга, разделенных точкой, например: «Листинг 3.2» – второй листинг третьего раздела. Если в работе содержится только один листинг, он обозначается «Листинг 1». При ссылке на листинг следует писать слово «листинг» с указанием его номера.

Название листинга печатается тем же шрифтом, что и основной текст, и размещается над листингом слева, без абзацного отступа через тире после номера листинга.

Пример оформления приведен в листинге 3.1.

Листинг 3.1 – Программа «Hello, World!»

#include

// Вывод строки в стандартный поток вывода

cout << "Hello World!";

Подготовка к защите и защита курсовых, дипломных работ и отчетов по преддипломной практике студентов

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

Курсовая работа, отчет по преддипломной практике

Курсовая работа (отчет по преддипломной практике) защищается на заседании создаваемой кафедрой рабочей комиссии, на которое является студент с курсовой работой (отчетом по преддипломной практике). На доклад по курсовой работе (отчету по преддипломной практике) отводится до 10 минут. Доклад может сопровождаться иллюстративным материалом (плакатами, компьютерной презентацией и/или демонстрацией программных средств на ЭВМ).

По результатам выполнения и защиты курсовой работы выставляется оценка с занесением в зачетно-экзаменационную ведомость и в раздел «курсовое проектирование» зачетной книжки студента.

При выставлении оценки за курсовую работу учитываются:

– степень решенности поставленной задачи;

– степень самостоятельности и инициативности студента;

– умение студента пользоваться литературными источниками;

– степень соответствия пояснительной записки требованиям по её офор­м­лению;

– возможность использования полученных результатов на практике.

Дипломная работа

Законченная дипломная работа представляется руководителю, который составляет на них отзыв. В отзыве руководителя дипломной работы должны быть отмечены:

– актуальность темы,

– степень решенности поставленной задачи,

– степень самостоятельности и инициативности студента,

– умение студента пользоваться специальной литературой,

– способности студента к инженерной и исследовательской работе,

– возможность использования полученных результатов на практике,

– возможности присвоения выпускнику соответствующей квалификации.

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

Допуск студента к защите фиксируется подписью заведующего кафедрой на титульном листе дипломной работы.

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

Дипломная работа, допущенная кафедрой к защите, направляется заведующим кафедрой на рецензию.

Рецензенты дипломных работ утверждаются деканом факультета по представлению заведующего кафедрой из числа профессорско-преподавательского состава других кафедр, специалистов производства и научных учреждений, педагогического состава других вузов.

В рецензии должны быть отмечены:

– актуальность темы дипломной работы;

– степень соответствия дипломной работы заданию;

– логичность построения описательной части дипломной работы;

– наличие по теме дипломной работы критического обзора литературы, его полнота и последовательность анализа;

– полнота описания методики расчета или проведенных исследований, изложения собственных расчетных, теоретических и экспериментальных результатов, оценка достоверности полученных выражений и данных;

– наличие аргументированных выводов по результатам дипломной работы;

– практическая значимость дипломной работы, возможность использования полученных результатов;

– недостатки и слабые стороны дипломной работы;

– замечания по оформлению описательной части дипломной работы и стилю изложения материала;

– оценка дипломной работы (в соответствии с принятой системой оценок).

Рецензент имеет право затребовать у студента – автора дипломной работы дополнительные материалы, касающиеся существа проделанной работы. Студент должен быть ознакомлен с рецензией до защиты работы в ГЭК. Подписи руководителей и рецензентов, не являющихся сотрудниками ВГУ, должны быть заверены отделом кадров организации, где они работают.

Порядок защиты дипломной работы определяется Положением о Государственных экзаменационных комиссиях.

На доклад по дипломной работе отводится до 15 минут, за которые необходимо кратко, ясно и четко изложить тему и цель работы, обоснование её актуальности и важности, методику исследования, полученные результаты и выводы. При этом зачитывать текст выступления перед комиссией не рекомендуется.

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

После доклада необходимо ответить на вопросы членов экзаменационной комиссии по существу выполненной работы.

Защита заканчивается предоставлением студенту заключительного слова, в котором он высказывает свое отношение к рекомендациям и замечаниям.

Дипломная работа после защиты хранится в вузе, в котором она выполнялась, на протяжении пяти лет.

Приложение А
Пример оформления титульного листа курсовой работы

Приложение Б
Пример оформления титульного листа отчета о производственной практике

Приложение В
Пример оформления титульного листа дипломной работы

Приложение Г
Бланк задания на дипломную (курсовую) работу

УО «Витебский государственный университет им. П.М. Машерова»

ЗАДАНИЕ
на дипломную работу

Студенту ____ курса

Фамилия И.О.

1. Тема работы

2. Срок сдачи студентом законченной работы

3. Исходные данные к работе

4. Перечень подлежащих разработке в дипломной работе вопросов или краткое содержание дипломной работы:

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

6. Консультанты по работе с указанием относящихся к ним разделов

7. Дата выдачи задания «___» ____________ 20___г.

Руководитель ______________ / ____________ /

подпись Фамилия И.О.

Задание принял к исполнению «___» ___________ 20___г.

________________________________

подпись студента

Приложение Д
Пример оформления реферата дипломной работы

РЕФЕРАТ

Дипломная работа, 56 стр., 4 ил., 2 табл., библиогр. 16.

СЛОЖНЫЕ СИСТЕМЫ, МАТЕМАТИЧЕСКОЕ И ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ, ОПТИМИЗАЦИЯ, УСТОЙЧИВОСТЬ, СТОХАСТИКА, ДЕКОМПОЗИЦИЯ, КОМБИНАТОРИКА

Объект исследования – вычислительные и информационные процессы и системы. Цель работы – разработка теоретических основ моделирования, анализа и эффективной организации вычислительных и информационных процессов и систем.

Методы исследования – методы теории вероятностей, математической статистики, массового обслуживания и надежности, логико-комбинаторные методы, имитационное моделирование.

Результатами являются модели и методы анализа устойчивых случайных процессов, устойчивости статистических оценок регрессии и статистических решающих правил при наличии параметрической неоднородности, методы декомпозиции субмодулярных графовых систем применительно к упорядочению вычислительных процессов, методы вычисления и вывода признаков для описания предметных областей.

Областью применения являются процессы автоматизированного анализа и синтеза сложных систем.

Приложение Е
Пример оформления перечня условных обозначений и сокращений

ОбозначениЯ и сокращениЯ

БИС – большая интегральная схема

ИС – интегральная схема

СБИС – сверхбольшая интегральная схема

ПЛМ – программируемая логическая матрица

ГСП – генератор случайных последовательностей

ГПП – генератор псевдослучайных последовательностей

СЛН – средства локализации неисправностей

Приложение Ж
Примеры описаний использованных источников

Таблица Ж.1 – Примеры описания самостоятельных изданий

Характеристика источника Пример оформления
Один, два или три автора Орлов, С.А. – Технологии разработки программного обеспечения: Учебник для вузов / С.А. Орлов. – СПб.: Питер, 2002. – 464 с.
Биячуев, Т.А. Безопасность корпоративных сетей / Т.А. Бия­чуев; под ред. Л.Г. Осовецкого. – СПб: СПб ГУ ИТМО, 2004. – 161 с.
Дейтел, Х.М. Как программировать на С++ / Х.М. Дейтел, П.Дж. Дейтел. – М.: Бином, 2001. – 1152 с..
Митчелл М. Программирование для Linux. Профессиональный подход. / М. Митчелл, Дж. Оулдем, А. Самъюэл. – М.: Издательский дом «Вильямс», 2003. – 288 с.
Бахвалов, Н.С. Численные методы: учеб. пособие для физ.-мат. специальностей вузов / Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков; под общ. ред. Н.И. Тихонова. – 2-е изд. М.: Физматлит, 2002. – 630 с.
Четыре и более авторов Приемы объектно-ориентированного проектирования. Паттерны проектирования / Гамма Э. [и др.]. – СПб.: Питер, 2008. – 366 с.
Прикладная механика: учеб. пособие / А. Т. Скойбеда [и др.]; под общ. ред. А.Т. Скойбеды. – Мн.: Вышэйшая школа, 1997. – 522 с.
Многотомное издание Архангельский, А.Я. C++ Builder 6: справочное пособие: в 2 кн. / А.Я. Архангельский. – М.: Бином-Пресс, 2002. – 2 кн.
Кнут, Д. Искусство программирования для ЭВМ: в 3 т. / Д. Кнут. – М.: Мир, 1976–1978. – 3 т.
Отдельный том в многотомном издании Архангельский, А.Я. C++ Builder 6: справочное пособие: в 2 кн. Кн. 1. Язык С++ / А.Я. Архангельский. – М.: Бином-Пресс, 2002. – 544 с.

Продолжение таблицы Ж.1

Архангельский, А.Я. C++ Builder 6: справочное пособие: в 2 кн. Кн. 2. Классы и компоненты / А.Я. Архангельский. – М.: Бином-Пресс, 2002. – 528 с.
Сборник статей, трудов Инновационные технологии в учебно-воспитательном процессе УО «ВГУ им. П.М. Машерова»: сб. ст. / Вит. гос. ун-т им. П.М. Машерова; редкол. А.В. Русецкий (гл. ред.) [и др.]. – Витебск, 2006. – 111 с.
Современные информационные компьютерные технологии: сб. науч. ст.: в 2 ч. / Гродн. гос. ун-т им. Я.Купалы; ред­кол.: А.М. Кадан (отв. ред.) [и др.]. – Гродно, 2008. – 2 ч.
Материалы конференций Информатизация обучения математике и информатике: педагогические аспекты: материалы междунар. науч. конф., посвящ. 85-летию Белорус. гос. ун-та, Минск, 25–28 окт. 2006 г. / Белорус. гос. ун-т; редкол.: И.А. Новик (отв. ред.) [и др.]. – Мн., 2006. – 499 с.
II Машеровские чтения: материалы региональной научно-практич. конф. студентов, магистрантов и аспирантов, Витебск, 24–25 апр. 2007 г.: в 2 т. / Вит. гос. ун-т. – Витебск, 2007. – 2 т.
Стандарт ГОСТ 19.701–90. Единая система программной до­ку­мен­та­ции. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. – Взамен ГОСТ 19.002–80, ГОСТ 19.003–80; введ. 01.01.1992. – М.: Изд-во стандартов, 1991. – 26 с.
ГОСТ Р 50922–2006. Защита информации. Основные термины и определения. – Взамен ГОСТ Р 50922–96; введ. 01.02.2008. – М.: Стандартинформ, 2008. – 7 с.
Электронные ресурсы Microsoft Visual Studio [Электронный ресурс]: Express Edition / Microsoft Corporation, ComputerPress. – Электрон. дан., электрон. текстовые дан. и прогр. – 1 эл. опт. диск.
MSDN Library [Электронный ресурс]: Справочная система. – Microsoft Corporation, 2004. – 3 эл. опт. диска (CD-ROM).
Мир ПК [Электронный ресурс]. – М.: Открытые системы. – Приложение к Мир ПК (журнал). – 2006. – №2. – 1 эл. опт. диск (CD-ROM).

Продолжение таблицы Ж.1

Таблица Ж.2 – Примеры описания составных частей изданий

Характеристи­ка источника Пример оформления
Составная часть книги Либерти, Д. Анализ и проектирование объектно-ориен­ти­ро­ванных программ / Д. Либерти // Освой самостоятельно C++ за 21 день / Д. Либерти. – М.: Вильямс, 2000. – С.561–595.
Свердлов, С.З. Языки и эволюция технологий программирования / С.З. Свердлов // Языки программирования и методы трансляции: учеб. пособ. / С.З. Свердлов. – СПб.: Питер, 2007. – С. 17–205.
Глава из книги Вирт, Н. Динамические информационные структуры / Н. Вирт // Алгоритмы + структуры данных = программы / Н. Вирт. – М.: Мир, 1985. – Гл. 4. – С.189–318.
Хендерсон, К. Построение приложений для работы с базами данных / К.Хендерсон // Borland C++ Builder / К. Рейс­дорф, К. Хендерсон. – М.: Бином, 1998. – Гл. 18. – С. 583–595.
Составная часть сборника Русецкий, А.В. Главная задача – внедрение новых образовательных технологий / А.В. Русецкий // Инновационные технологии в учебно-воспитательном процессе УО «ВГУ им. П.М. Машерова»: сб. ст. / Вит. гос. ун-т им. П.М. Машерова; редкол. А.В. Русецкий (гл. ред.) [и др.]. – Витебск, 2006. – С. 3–4.
Буза, М.К. Параллельная обработка одного класса арифметических выражений / М.К. Буза, Лю Цзяхуэй // Современные информационные компьютерные технологии: сб. науч. ст.: в 2 ч. / Гродн. гос. ун-т им. Я.Купалы; редкол.: А.М. Кадан (отв. ред.) [и др.]. – Гродно, 2008. – Ч.1. – С. 7–9.

Продолжение таблицы Ж.2

Статья из сборников тезисов докладов и материалов конференций Смоляк, В.А. Компьютерные модели клеточных автоматов / В.А. Смоляк // II Машеровские чтения: материалы региональной научно-практич. конф. студентов, магистрантов и аспирантов, Витебск, 24–25 апр. 2007 г.: в 2 т. / Вит. гос. ун-т. – Витебск, 2007. – Т. 1. – с.116–117.
Статья из журнала Муравьев, И. CMS Drupal и ее особенности / Илья Муравьев // Сетевые решения. – 2007. – № 5. – С. 26–30.
Ярмолик, С.В. Стеганографические методы защиты информации / С.В. Ярмолик, Ю.Н. Листопад // Информатизация образования. – 2005. – № 1. – С. 64–74.
Статья из газеты Станкевич, В. Две модели JSP / В. Станкевич // Компьютерные вести. – 2008. – 30 окт. – С. 23.
Статья из энциклопедии, словаря Першиков, В.И. Программа / В.И. Першиков, В.М. Са­вин­ков // Толковый словарь по информатике. – М.: Финансы и статистика, 1991. – С. 296–303.
Компьютер // Толковый словарь по вычислительным системам / Под ред. В. Иллингуорта [и др.]. – М.: Машиностроение, 1991. – С. 92.
Ресурсы удаленного доступа Обзор SQL Server Express // Microsoft TechNet [Электронный ресурс] / Microsoft Corporation. – 2008. – Режим доступа: http://technet.micro­soft.com/ru-ru/library/ms165588(SQL. 90).aspx. – Дата доступа: 15.01.2009.
Jones, J. Abstract Syntax Tree Implementation Idioms / Joel Jones // The 10th Conference on Pattern Languages of Programs 2003 . – 2003. – Mode of access: http://jerry.cs.uiuc.edu/~plop/plop2003/Papers/Jones-Imple­ment­ingASTs.pdf. – Date of access: 15.01.2009.

Приложение И
Пример описания содержания электронного носителя

На электронном носителе расположены следующие директории и файлы:

– Файл «ФИО-курс-Тема.doc» представляет собой текстовый документ с курсовой работой, дипломной или отчетом о преддипломной практике.

– Директория «Software» содержит программное обеспечение, необходимое для запуска проекта.

– Директория «Hello World Project» содержит исходный код проекта Hello World.

– Директория «Final Build 31-01-2009» содержит финальную версию исполняемых файлов проекта Hello World.

– Директория «User Manual» содержит руководство пользователя и справочную информацию.

– Директория «Presentation» содержит презентацию к защите.

– Файл «Readme.txt» содержит описание содержания электронного носителя.

Var n1, n2: Longint;

Function Quantity(x: Longint): Byte;

Var k: Byte;

While x <> 0 Do

Begin

End ;

Quantity:= k;

Begin

Writeln("Введите два числа");

k1:=Quantity(n1);

{количество цифр первого числа}

k2:= Quantity(n2);

{количество цифр второго числа}

Writeln("Одинаковое количество цифр")

If k1 > k2 Then

Writeln("В первом числе цифр больше")

Writeln("Во втором числе цифр больше");

Лекция № 17. Нетрадиционное использование пользовательских подпрограмм. Рекурсия

В ряде алгоритмов решения задач требуется вызов подпрограммы из раздела операторов той же самой подпрограммы.

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

if keypressed then halt; - для прерывания зависания, если таковое произойдет. Keypressed – это функция, возвращающая результат true, если на клавиатуре была нажата клавиша, и false – в противном случае.

Пример 1. Рассмотрим программу вычисления элементов ряда Фибоначчи с использованием рекурсивной процедуры.

procedure fibon(n,fn1,fn:integer); {рекурсивная процедура}

if n > 0 then

writeln(fn1+fn);

fibon(n-1,fn,fn1+fn);

var n,a,b: integer;

write("введите число элементов ряда Фибоначчи: ");

write("...следующими за двумя данными числами: ");

Fibon(n,a,b);

Пример 2. Программа, которая выводит на экран цифры целого положительного числа в обратном порядке.

program rekurs2;

procedure revers(n:integer); {рекурсивная процедура}

If keypressed then halt;

Write(n mod 10);

if (n div 10) <> 0 then

Revers (n div 10);

writeln("vvedi chislo <= : ", maxint);

Revers(n);

Лекция №18. Ввод – вывод данных. Файлы

Файл – это набор данных, хранящихся во внешней памяти компьютера под заданным именем.

Любой файл имеет три характерные особенности:

1. У файла есть имя, что дает возможность программе работать одновременно с несколькими файлами.

2. Файл содержит компоненты одного типа. Типом компонентов файла может любой тип.

3. Длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.

Для того, чтобы программа нашла нужный файл, необходимо знать путь или маршрут к файлу.

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

Например:

c:\catalog1\catalog2\file1.txt.

Каждое имя каталога соответствует входу в подкаталог с таким именем. Знак ".." соответствует входу в надкаталог. Максимально допустимая длина пути – 79 символов.

В программе на ТР имя файла задается в виде текстовой константы, заключенной в апострофы, которая может быть значением строковой переменной:

"\turbo\pas\table.txt".

Устройства. Использование файлов в ТР было вызвано необходимостью обмена данными с окружением компьютера, его аппаратными средствами: дисплеем, клавиатурой, принтером, каналами ввода-вывода. Все они рассматриваются в ТР как файлы, с которыми можно работать так же, как с обычными файлами. Файлы на внешних устройствах часто называют физическими или внешними файлами . Обращение к устройствам выполняется с помощью специальных имен, которые запрещено использовать для обычных файлов – так называемых имен логических устройств компьютера.

­ CON – консоль . При помощи консоли выводимая информация пересылается на экран дисплея, а вводимая информация воспринимается с клавиатуры;

­ PRN – это наименование принтера . Если к компьютеру подключено несколько принтеров, то обращение к ним осуществляется с помощью логических имен: LPT1, LPT2, LPT3.

­ COM1, COM2, COM3 – это устройства подключения к последовательным портам . Используются для связи с другими компьютерами и для подключения мыши.

­ NUL – нулевое или пустое устройство. Часто используется программистами для отладки программы. Позволяет не создавать отдельный файл. При использовании его для вывода информации – информация никуда не выводится, но сообщается, что вывод произошел успешно.

Доступ к файлам. В любой момент времени программе доступен только один элемент файла, на который ссылается указатель текущей позиции файла . Он определяет место в файле, откуда или куда происходит чтение или запись данных. При открытии или создании файла указатель помещается в его начало . Указатель ведет себя подобно курсору, который, смещаясь при редактировании текста, все время показывает текущую позицию. При чтении данных из файла указатель рано или поздно достигнет его конца. По способу доступа к элементам различают файлы последовательного или прямого доступа.