Листинг в программировании. Оформление листингов программ
Прежде чем ценные бумаги или криптовалютные монеты станут доступны трейдерам на торговых площадках, они должны пройти сложный процесс отбора и быть включены в листинг. Разбираем простыми словами, что такое листинг на бирже – как на фондовой, так и криптовалютной, какие главные этапы необходимо пройти, чтобы оказаться в списке, основные выгоды, которые получает при этом компания, в чем суть делистинга.
Что такое листинг
Понятие листинг встречается в разных сферах нашей жизни:
- Фондовые и криптовалютные биржи – они и будут темой данной статьи. Здесь речь идет о добавлении ценных бумаг или криптомонет в списки торговых платформ.
- В торговле – это подразумевает добавление продукции того или иного производителя в ассортимент магазина.
- В программировании – это исходный код (текст) программы, который при помощи компилятора переводится в исполняемый код.
- В недвижимости – здесь подписываются договора на листинг между собственником недвижимости и торговым агентом, который занимается ее продажей за комиссионные.
Две последние отрасли мы рассматривать не будем. Нас интересует листинг на , а также криптовалютных.
Листинг и делистинг ценных бумаг
Листинг появился в нашем лексиконе от слова list, что с английского переводится как «список». Листинг ценных бумаг на фондовой бирже – это и есть процедура добавления акций, облигаций компаний в список инструментов, которые котируются на платформе. После этого они стают доступны для покупки и продажи на ней.
Пройдя процедуру листинга, ценные бумаги попадают в торговый список биржи
Нередко листингом участники рынка называют сам список. При этом у каждой площадки данный список свой.
Инициатором листинга чаще всего выступает компания-эмитент, однако в редких случаях выразить желание включить те или иные ценные бумаги в свой список, если они уже пользуются большим спросом среди трейдеров по неформальным каналам, может и сама биржа.
Для компаний листинг на бирже имеет большое количество преимуществ, а потому неудивительно, что предприятия прилагают немало усилий, чтобы пройти данную процедуру.
Биржевой листинг важно не путать с IPO. В первом случае компания стремится попасть в котировальной список определенной торговой площадки. А IPO подразумевает, что компания превращается в публичную и ее ценные бумаги стают доступны инвесторам не только через , но и другие каналы, например, через свои отделения.
Этапы листинга
Процедура листинга предусматривает несколько этапов, которые необходимо пройти компании-эмитенту, прежде чем ее бумаги станут доступны инвесторам.
- Начинается все с подачи заявления. Сделать это может как сам эмитент, так и лицо, представляющее интересы компании.
- Далее наступает стадия экспертиз. Представители биржи анализируют как ценные бумаги, так и все доступные данные о компании. Исследуется рентабельность предприятия, ликвидность его активов. Компания обязана предоставить всю финансовую отчетность, собранную за последние несколько лет.
- Специальная комиссия рассматривает результаты экспертиз и решает добавлять ценные бумаги в свой листинг или отклонить заявку.
- Если решение положительное, обе стороны – компания и биржа, заключают соглашение.
Процедура, в среднем, занимает около 1-2 месяцев. Чтобы оставаться в списке, эмитенту потребуется, как правило, один раз в квартал, подавать нужные данные бирже.
Правила листинга, предъявляемые торговыми площадками к компаниям, разнятся. Одни могут допускать к листингу только предприятия, капитализация которых составляет не менее 50 миллионов долларов, а время присутствия на рынке – от 3 лет. Другие могут как повышать, так и понижать планку этих и других требований.
Если выполнены не все условия, однако бумаги интересны бирже, они попадают предварительный список бумаг – его еще называют предлистинг . Этими акциями инвесторы также могут торговать, однако вне стен биржи и торговая площадка ответственности за них не несет.
Уровни листинга
Преимущественно на биржах представлено несколько уровней листинга. В первый премиальный попадают наиболее ликвидные бумаги с высоким уровнем надежности.
К компаниям второго уровня предъявляются уже не такие высокие требования. И самые низкие для предприятий, претендующих на третий, так называемый некотировальный список . Инвесторы, которые приобретают бумаги компаний этого уровня, стоит самостоятельно тщательно анализировать их благонадежность.
К примеру, на действует Основная и Альтернативная площадки. Первая делится на два уровня: «Стандарт» и «Премиум». Альтернативный рынок предназначен для мелких и средних развивающихся предприятий, которые допускаются сюда по упрощенной процедуре.
Периодически площадки могут повышать или наоборот понижать уровни листинга облигаций, акций, а то и вовсе проводить их делистинг.
Виды листинга
Различают первичный и вторичный листинг.
Первичный листинг подразумевает, что акции доступны инвесторам на биржевой площадке внутри страны, где зарегистрирована компания.
При вторичном листинг бумаги выводятся на международные рынки и попадание в списки зарубежных платформ. Сделать это можно только если пройден этап первичного листинга.
Существует еще двойной листинг, при котором компания последовательно стремится попасть в котировальные списки нескольких торговых площадок родной страны.
А также кросс-листинг – в данном случае предприятие отправляет заявки на добавление в списки нескольких биржевых платформ в разных странах. При этом если одна из них одобряет добавление ценных бумаг, на других компания получает возможность завершить процедуру листинга по упрощенной схеме. Это сокращает не только материальные расходы, но и время рассмотрения заявки.
В чем преимущества эмитента
Компании недаром прилагают усилия, чтобы попасть в биржевые листинги, поскольку это сулит им ряд выгод. Во-первых, повышается их инвестиционная привлекательность, а в результате легче привлекать средства для дальнейшего развития. К плюсам также отнесем:
- рост капитализации предприятия с увеличением спроса на выпущенные бумаги;
- повышение известности и доверия в деловых кругах;
- увеличение ликвидности акций, облигаций;
- возможность добавления в списки зарубежных бирж;
- в отдельных случаях можно претендовать на налоговые льготы.
Однако не стоит забывать, что отныне к деятельности компании будет предъявляться повышенное внимание, а любые действия будут моментально сказываться на стоимости акций. Кроме того, процедура листинга не бесплатная. Все проводимые экспертизы стоят денег.
Что это дает инвесторам
Главное – уверенность. Инвесторы, вкладывая деньги в акции компании, знают, что ее благонадежность проверена профессионалами. Присутствие в биржевом листинге избавляет их от самостоятельных проверок благонадежности предприятия.
Что такое делистинг
Если ценные бумаги и попали в котировальный лист биржи, нет гарантии, что они там останутся навсегда. При определенных условиях площадка может вычеркнуть их из него. Происходит это в случае, например, если эмитент перестает соответствовать условиям биржи, не выполнил взятые обязательства, объявляет себя банкротом и т.д.
Также привести к делистингу может и стоимость акций, которая не растет со временем, что свидетельствует о низком спросе. Случается, что инициатором делистинга выступает сама компания, например, при слиянии предприятий.
Листинг криптовалют
О листинге часто речь идет и в криптовалютной среде. Здесь в торговом списке биржевых площадок стремятся оказаться цифровые монеты или токены.
Криптовалютные проекты стремятся попасть в листинги популярных бирж
Требованию к листингу на криптобиржах разнятся. Попасть на крупные известные площадки намного сложнее, чем на мелкие. А потому большинство проектов начинают с небольших торговых платформ.
Цена вопроса
Один из главных вопросов – стоимость. Малоизвестные биржи могут добавить криптовалюты в листинг и вовсе бесплатно. Попадание в списки известных платформ может обойтись в тысячи, а то и десятки тысяч долларов – деньги берут за анализ монеты перед листингом. Хотя бывают и исключения.
Биржа Binance, к примеру, сообщила этой осенью, что комиссии, взимаемые за листинг, пойдут на финансирование благотворительных проектов. При этом фиксированных расценок не существует – разработчики сами определяют сколько желают заплатить за листинг. Руководство Poloniex утверждает, что денег за листинг вовсе не берет.
В начале года журналисты Business Insider опубликовали статью, согласно которой минимальный порог для вхождения в листинг криптобирж для ICO-проектов составляет 50 тысяч долларов, а в отдельных случаях может достигать и 1 миллиона долларов.
Также были случаи, когда руководство бирж попадалось на взятках за включение монет в листинг. В качестве примера можно привести биржу Coinnest – ее операционному и техническому директорам заплатили около 890 тысяч долларов за добавление в торговый список криптовалюты S-coin.
Как это работает
Чтобы токен попал в листинг, чаще всего на выбранной площадке необходимо подать заявку и заполнить анкету. Однако, популярные монеты биржи могут включать в листинг и самостоятельно, не дожидаясь пока команда проекта предложит сделать это. К примеру, на каждой бирже в обязательном порядке присутствует биткоин (BTC), и как правило, Ethereum (ETH).
Какие вопросы чаще всего встречаются в анкете:
- название и описание монеты;
- дата запуска основной сети, а также самой платформы;
- ссылка на Github;
- ссылка на Белую книгу проекта;
- ссылки на социальные сети;
- присутствует ли майнинг в сети и был ли премайнинг;
- максимальная эмиссия монет и т.д.
Нередко биржи проводят также конкурсы среди своих пользователей – те голосуют за предложенные криптовалюты, и победившую монету добавляют с котировальный список.
Huobi Global в конце лета 2018 года запустила площадку для автоматического листинга криптовалют. С ее помощью биржа намерена ускорить процесс добавления токенов в торговый список и сделать его прозрачным.
Важные нюансы
Первое на что смотрят биржи – это ценность монеты, ее полезность для сообщества. На втором месте – безопасность проекта, поскольку если криптосеть будет взломана, пострадает также и биржа. Обязательно интересуются профессионализмом, а также репутацией команды.
К примеру, на Bittrex существует предварительный этап рассмотрения заявки и углубленный. Если специалисты компании посчитают на предварительном этапе, что монета достойна попасть в листинг биржи, начинается тщательное изучение ее технических характеристик, инновационных возможностей, соответствия требованием платформы.
Монеты, которые могут быть признаны ценными бумагами, биржи стараются не добавлять . Например, Poloniex сразу предлагает разработчикам ознакомиться с тестом Хоуи, чтобы определиться может токен подпасть под эти критерии или нет.
Исключение среди крупных платформ – биржа Coinbase, которая получила соответствующее одобрение регуляторов и может официально оперировать токенами, имеющими свойства ценных бумаг.
Что интересно, если актив будет противоречить законодательству отдельной страны, он может быть недоступен для пользователей из определенных юрисдикций.
«Эффект бирж»
После добавления в листинги популярных криптобирж, стоимость монет, как правило резко вырастает – в среднем на 25-30%. Эта закономерность даже получила название «эффект бирж». Происходит это благодаря тому, что о монете узнает большее количество пользователей, она стает узнаваемой, повышает на нее спрос. Однако чаще всего этот взлет кратковременный и вскоре стоимость начинает снижаться.
Случаются и ситуации, когда цена токенов после попадания в торговые списки бирж наоборот падает. Происходит это чаще всего тогда, когда проект попадает в листинг сразу после , и инвесторы, вложившиеся во время токенсейла, стремятся быстрее подзаработать на монете, активно сливая ее на бирже.
Делистинг криптомонет производят по ряду причин:
- низкий интерес со стороны трейдеров;
- изменения в законодательстве;
- взлом блокчейна криптосети;
- отказ разработчиков от дальнейшей поддержки монеты;
- жалобы пользователей.
Удаляются токены, как правило, не сразу – биржа дает несколько недель трейдерам на закрытие позиций и вывод средств на собственные кошельки.
Листинг в торговле
Понятие листинга присутствует также в торговой сфере. Когда поставщик хочет, чтобы его продукция продавалась, к примеру, на полках крупной торговой сети, ему сперва необходимо договорится с руководством компании о добавлении своего товара в листинг.
Если товар не пользуется спросом у покупателей, он также может пройти процедуру делистинга, и в этом случае исчезает с прилавков магазина.
Который может быть прочтён человеком. В обобщённом смысле - любые входные данные для транслятора . Исходный код транслируется в исполняемый код целиком до запуска программы при помощи компилятора или может исполняться сразу при помощи интерпретатора .
Назначение
Исходный код либо используется для получения объектного кода, либо выполняется интерпретатором. Изменения выполняются только над исходным, с последующим повторным преобразованием в объектный.
Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии . Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации .
Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструмент общения между опытными программистами благодаря своей лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.
Программисты часто переносят исходный код (в виде модулей , в имеющемся виде или с адаптацией) из одного проекта в другой. Это называется повторным использованием кода .
Исходный код - важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО портирование либо слишком сложно, либо вообще невозможно.
Организация
Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких файлов . Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на языке Си , из соображений оптимизации содержат вставки кода на языке ассемблера . Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии, известной как компоновка библиотек (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.microsoft.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-ImplementingASTs.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» содержит описание содержания электронного носителя.
При компиляции программы можно задать параметр "l" (listing):
Тогда кроме файла с объектным кодом sum. objбудет создан файл с листингомsum. lst:
- 1 ;sum. asm – программа, вычисляющая S=A+B
- 2 0000 data segment
- 3 0000 0001 a dw 01h
- 4 0002 0002 b dw 02h
- 5 0004 ???? s dw ?
- 6 0006 data ends
- 7 0000 code segment
- 8 assume ds:data
- 9 0000 BA 0000s begin: mov dx, data
- 10 0003 8E DA mov ds, dx
- 11 0005 A1 0000r mov ax, a
- 12 0008 03 06 0002r add ax, b
- 13 000C A3 0004r mov s, ax
- 14 000F B8 4C00 mov ax, 4C00h
- 15 0012 CD 21 int 21h
- 16 0014 codeends
- 17 endbegin
Листинг - это таблица, содержащая четыре столбца:
Номер строки.
Адрес внутри сегмента, т. е. от его начала (смещение).
Содержимое памяти по данным адресам. В сегменте данных - это значения переменных, в сегменте кода - это машинные коды команд.
Ассемблерный код.
Комментарии в листинге также сохраняются, просто здесь они для экономии места опущены.
Из листинга видно, что командам процессора соответствуют только строки 9-15. Остальные строки соответствуют т. н. директивам ассемблера.
В любом деле фигурирует информация различных уровней. Есть информация непосредственно о задаче, а есть информация об информации - метаинформация. Это, например, различные пояснения, указания и т. п. В исходном коде на языке ассемблера присутствует информация двух типов:
команды - информация для процессора;
директивы - информация для самого ассемблера, как скомпилировать программу: как перевести команды на машинный язык и как разместить данные.
Здесь есть аналогия с выделением типов команд. Команды передачи данных, передачи управления и арифметическо-логические команды несут информацию о задаче, а команды машинного управления - об условиях ее выполнения, т.е. тоже представляют собой метаинформацию.
В рассматриваемой программе имеются следующие директивы:
segment - директива объявления начала сегмента;
dw (define word) - директива определения данных (выделения и инициализации области памяти) размером 16 бит;
ends (end segment) - директива объявления конца сегмента;
assume - директива назначения сегменту сегментного регистра;
end - директива указания конца программы, ее аргументом должна быть метка первой команды программы - точки входа в программу.
Есть также следующие директивы определения данных:
db (define byte) - директива определения области памяти в 8 бит;
dd (define double word) - директива определения области памяти в 32 бита.
Существуют директивы, перед названием которых ставится точка. Из такого рода директив нам потребуются только директивы указания используемого набора команд той или иной модели процессора, например:
386 - используются несистемные команды процессора i80386;
386p- используются все команды процессораi80386, в том числе системные.
Строки 3-5 содержат директивы определения переменных A, BиS. В совокупности строки 3-5 и 9-15 содержат информацию для процессора - программу, включающую команды и данные. Они непосредственно отображаются на память компьютера.
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 – нулевое или пустое устройство. Часто используется программистами для отладки программы. Позволяет не создавать отдельный файл. При использовании его для вывода информации – информация никуда не выводится, но сообщается, что вывод произошел успешно.
Доступ к файлам. В любой момент времени программе доступен только один элемент файла, на который ссылается указатель текущей позиции файла . Он определяет место в файле, откуда или куда происходит чтение или запись данных. При открытии или создании файла указатель помещается в его начало . Указатель ведет себя подобно курсору, который, смещаясь при редактировании текста, все время показывает текущую позицию. При чтении данных из файла указатель рано или поздно достигнет его конца. По способу доступа к элементам различают файлы последовательного или прямого доступа.