Компютри Windows интернет

Регистрация на списъци с програми. Списък на основната програма Какво е листинг в програмирането

Списъкът на програмата "demol.c" е показан на фиг. 6.7. Програмистът ще измисли името на програмата. Разширението ".c" е необходимо. Текстът се въвежда в редактора "Programmer's Notepad 2" (съкратено PN2), който е включен в пакета WinAVR вместо графичната обвивка. Освен това прави създаване на проекти, корекция на грешки, компилиране на програми и дори програмиране на MK.

Ориз. 6.7. Списък на програмата "demol.c".

Ориз. 6.8. Външен вид на програмата PN2.

Редакторът PN2 е независим проект със собствен уебсайт. Главното меню на PN2 е показано на фиг. 6.8.

Процедура.

1.3 Стартирайте за изпълнение файла "WlnAVR-20100110-install.exe" (29 MB), намиращ се на предоставения CD-ROM. Този файл, ако е необходимо, може да бъде изтеглен свободно от Интернет. Инсталирайте WlnAVR по подразбиране в папката C: \ WinAVR-20100110 \.

2. Отворете PN2 редактора: "Старт - Програми - WinAVR-20100110 - Notepad на програмистите". Активирайте номерирането на редове: "Инструменти - Опции - Общи - По подразбиране -<поставить «галочку» возле «Show Line Numbers»>- ДОБРЕ".

3. Създайте нов C-файл в редактора PN2: "Файл - Нов - C / C ++". Въведете текста на програмата от клавиатурата според фиг. 6.7 и го запишете на твърдия диск: "Файл - Запиши като ... -<ввести путь и имя файла, например, для однозначности C:\1001\demol.c>- ДОБРЕ".

По-нататък екранните снимки (екранни снимки) ще се показват само в най-важните точки на действие за спестяване на място. Останалите скрийншоти в режим стъпка по стъпка можете да видите във видео уроците в прикачения компактдиск.

Обяснения за списъка.

Ред 1 започва с коментари, които са ограничени отляво с две наклонени наклонени линии. Целият текст след знаците "//" може да бъде за всичко, на всеки език, с всякакви свободи и съкращения. Това е произволна информация, която програмистът пише за себе си, за своята любима, за да си спомни след месец-два какво всъщност се обсъждаше. Обикновено се посочва краткото име на програмата и авторството.

Ред 2 също съдържа коментари, но от технически характер. Ето електрическа схема за свързване на индикатора HL1 и бутона SB1 към конкретни линии на портовете MK. Имената на сигналите съответстват на оформлението от dashit на MHKpocxeMyATmega48A (фиг. 6.9).

Ориз. 6.9. Разположение на сигнала MKATmega48A.

Практиката на текстово описание на прости диаграми в „главата“ на програмата е широко разпространена в общността на програмистите, които ги мързи да рисуват и прилагат графични диаграми, вярвайки, че „все пак всичко е ясно“.

Ред 3 определя параметрите за "makefile". За справка, нормалната работа на AVR-GCC компилатора е възможна с два необходими файла. Първият е листинговият файл с разширение ".c", вторият е файлът на системната директива "makefile" без разширението. "Makefile" се създава от помощната програма "MFile" (фиг. 6.10, от JoergWunsch, Германия), включена в WinAVR.

Ориз. 6.10. Появата на програмата MFile.

Процедура.

1. Стартирайте помощната програма "MFile" за изпълнение: "Старт - Програми - WinAVR-2010010 - MFile".

2. Попълнете полетата на шаблона, както следва (фиг. 6.11):

В елемента "Makefile - Main file name ... - Main file" въведете името на проекта, който се разработва "demol" и щракнете върху OK;

В елемента "Makefile - MCU type - ATmega" изберете MK "atmega48a";

В елемента "Makefile - ниво на оптимизация" задайте нивото на оптимизация на "2". Други възможности: "0" - без оптимизация, "s" - минималната дължина на кодовете, цифрите "1" ... "3" са три различни метода за оптимизация, а числото "3" не означава най-добрия вариант, той всичко зависи от конкретната C програма...

Не е необходимо да коригирате останалите шаблонни клаузи "makefile", нека останат тези по подразбиране.

Ориз. 6.11. Попълване на полетата в програмата MFile.

За всеки нов проект и нов тип MK трябва да съставите свой собствен "makefile", докато името на проекта и типа MK ще се променят.

Ред 4 съдържа коментари, посочващи шестнадесетичните числа на ниския, висок и екстен байт на конфигурацията. Тези стойности ще са необходими по-късно при програмиране на предпазителите MK.

С «ктг5 е информационно празен. Той визуално разделя текста на коментара от останалата част от програмата. Вместо един можете да вмъкнете два празни реда, което не е важно. Основната цел е да се подобри видимостта. Това не засяга дължината на кодовете на фърмуера на MK.

Външният дизайн на списъка е измислен от самия програмист, въз основа на собствените му идеи за красотата на картината и удобството при представяне на информация. Често по стила на заглавката, изброяването на редове и коментарите може да се идентифицира авторът на програмата или да се състави неговия психологически портрет. Интересни бележки по този въпрос са дадени в монографията на Ален Голуб.

Ред 6 се обслужва от препроцесора на компилатора. Това не е C изявление или коментар. Името е сложно, но значението е просто. Препроцесорът (препроцесорът) търси в програмата редове, започващи със знака "#". Освен това, в зависимост от ключовата дума, той извършва определено действие, например "define" - присвоява стойности на константи, "ако е определено" - проверява условие, "inC1ude" - свързва библиотека от функции и т.н.

За първо запознаване е достатъчно да знаете, че библиотека от функции е набор от файлове, които съдържат текстове на стандартни или често повтарящи се процедури. В този случай директивата "# inC1ude" (в превод от английски. "Include") активира системната библиотека "avr / io.h", която отговаря за работата на I / O портовете. Тази библиотека има различно име в различните компилатори, но същността е една и съща, без нея не можете да контролирате нито една линия от MK портове. Следователно свързването на I/O библиотеката е задължително за всички програми на микроконтролер C.

Ред 7 също се обработва от препроцесора на компилатора, но има ключовата дума "define". Следователно, той декларира INI константа и й присвоява константна стойност от 255. Коментарите показват преобразуването на 255 в шестнадесетичен 0xFF и двоичен 0bl 1111111. Разликата между тях се крие в буквите "x" и "b" след задължителната цифра "0". Съответствието на числата в различните системи е дадено в табл. 6.3.

Таблица 6.3. Преобразуване на числа от шестнадесетични в двоични и обратно

Ако константата INI се срещне някъде в "тялото" на програмата, тогава компилаторът без колебание замества числовата стойност, посочена в ред 7, т.е. 255. Това е много удобно за програмистите, когато коригират големи списъци, когато константите са разпръснати из текста. Освен това самото име на константата може да носи семантичен товар и да служи като словесна улика. По-специално, INI е съкращение за английската дума "initialization", което означава някаква първоначална стойност.

Значението на поставянето на константата в "заглавката" на програмата е в простотата на нейното търсене и скоростта на извършване на промени. Например, след като коригирате числото "255" веднъж, можете да сте сигурни, че навсякъде в текста то ще бъде автоматично (и без грешки!) въведено чрез константата lNI.

Програмистът измисля името на константата въз основа на здравия разум и човешките предпочитания. Според дълга традиция имената на константите се пишат с главни букви. Първата в името трябва да бъде буква, например I2CBUS, T34. Кирилица не е разрешена.

Декларацията на INI константата може да бъде написана по още два еквивалентни начина: "#define INI OxFF" или "#define INI Obl 1111111".

Ред 8 съдържа оператора, описващ променливата "a". Една променлива може да бъде образно представена като кутия (кутия, кутия, молив), където се съхраняват редица елементи (мъниста, зърна, кибрит). За да се различават "кутиите" една от друга, те са маркирани с различни надписи върху корпуса, в този случай буквата "а". Ако първоначалният номер не е посочен в описанието на променливата, тогава се счита, че "кутията" е празна и се инициализира с нула (a = 0). В хода на програмата можете да добавяте елементи към "кутията" и да ги премахвате от нея, т.е. увеличаване и намаляване на стойността на променлива.

Обемът на "кутията" зависи от оригиналната й декларация. Таблица. 6.4 показва ограниченията, приети в AVR-GCC компилатора. Както можете да видите, декларацията "unsigned char" ви позволява да поставите 255 елемента в "кутията". Заедно с нулевата стойност (празна "кутия") ще има общо 256 състояния или 256 байта. Променливата с декларация "unsigned long" вече не е като ковчег, а цял влак, който е предназначен за 4,2 милиарда артикула.

Таблица 6.4. Размерност на променливите, приети в АУК-ВРС

Тъй като MK няма разработени инструменти за работа с отрицателни числа, в началото, за да не се объркате, е по-добре да използвате само положителни числа в програми, т.е. съдържаща "неподписана" декларация.

„Бащите-командери“ на езика От древни времена те са установили негласен ред, според който името на променлива трябва да се състои от не повече от 8 знака. В AVR-GCC компилатора това правило се игнорира и променливата може да съдържа толкова символи, колкото искате, но без фанатизъм. Единственото нещо е, че първата буква в името трябва задължително да бъде буквата на латинската азбука, може да бъде последвана от букви, цифри, символи. Кирилица не е разрешена.

Променливата, за разлика от константата, съдържа някакво число на променлива (не константа). За да се разграничат променливите от константите, те се изписват с малки букви. Обикновено те се опитват да накарат името да съответства на значението, например "брой" за брояч, "данни" за данни, "закъснение" за забавяне. Въпреки че понякога по-прости, по-познати и по-компактни еднобуквени променливи, добре познати от училищната алгебра, изглеждат a, b, c, d, i, j, k, x, y, z.

Какво измерение да се посочи за конкретна променлива се определя от програмиста. Тъй като променливата "a" в този списък е хранилище за събиране на информация от цифровия 8-битов порт "C", това означава, че тя трябва да съдържа байта "от два до осма степен", т.е. от 0 до 255.

Интересно е, че компилаторът не генерира грешка, ако играете на сигурно и декларирате променливата с поле като "unsigned long a;". Вярно е, че това води до ненужно увеличаване на размера на кода от 114 на 126 байта и съответно до леко намаляване на скоростта на изпълнение на програмата.

Другата крайност е подценяването на измерението, когато например вместо да се декларира "unsigned int", се използва "unsigned char". Ако въведете число, по-голямо от 255 в такава променлива, тогава само остатъкът от деленето на 256 ще бъде запазен, а водещата част ще бъде безвъзвратно загубена. Образно казано, предметите се изсипват от "кутия". Компилаторът не реагира на такива грешки, като приеме, че програмистът е в адекватно състояние и разбира какво прави. Правилното и безгрешно определяне на измерението на променливите обикновено идва с опит.

Ред 9 е празен за информация, подобно на ред 5. Дали да се вмъкне в списъка зависи от волята на програмиста.

Ред 10 е изпълнен с коментари, но за разнообразие те са в различен формат. А именно текстът е подчертан от лявата страна със знаците "/ *", а от дясната - със знаците "* /". Този стил произлиза от най-древните версии на езика C. По-късно в коментарите бяха използвани символите "//", което е типично за езика C ++. В WinAVR и двете опции имат еднакво право на съществуване. "Новият" правопис е по-опростен и по-ясен, а "старият" на места е единственият възможен, ако искате да коментирате началото на оператора.

Ред 11 съдържа типично извикване на "главната" функция според правилата на Американския национален институт по стандартизация (ANSI). Разрешени са съкратени изрази, но не се препоръчват: "int main ()", "main ()", "main (void)". Понякога дори пишат "void main (void)", като подчертават пълната липса на получени и предадени параметри. За прости MK, които не поддържат операционни системи в реално време, няма да има отрицателни последици. Ако обаче мислите за бъдещето, по-добре е незабавно да запомните пълната форма на писане, което ще улесни в бъдеще прехвърлянето на C програми към по-модерни платформи за микроконтролери.

Ред 12 отива под първата отворена фигурна скоба. Не случайно тя беше удостоена с такава чест. C компилаторът, когато изпълнява ред 12, извършва първоначалната инициализация на MK регистрите, инсталирането на стека и разпределението на адресното пространство. Няма нужда да изучавате механиката на този процес на бижута (за разлика от програмите в Assembler!).

За програмиста основното е да научи правилно две неща, които се произвеждат автоматично от компилатора, включен в WinAVR:

При стартиране на програмата всички прекъсвания са забранени;

Всички MK портови линии са конфигурирани като входове без издърпващи резистори.

Ред 13. И накрая, първата изпълнима програмна команда се появи под формата на оператор за присвояване. Обяснение на символите:

„DDRB“ е общоприетото име на осембитовия DDR регистър на порт „B“;

"=" - знак за запис на данни в регистъра DDRB;

"ОД" - индикация, че следващите 8 цифри ще бъдат в двоичен код;

"11111111" - битовете на двоичното число, записани в регистъра DDRB, подредени в реда 7, 6, 5, 4, 3, 2, 1, 0 (най-значимият бит вляво, най-малкият бит в дясно).

В резултат на изпълнението на този оператор всички редове на порт "B" се задават в изходен режим, тъй като всички цифри съдържат единици.

Изявлението на ред 13 е с отстъп с две интервали отляво. Това е конвенция за форматиране на текст, към която се придържат много програмисти. Компилаторът ще "замълчи", ако започнете текста в първата или седмата колона отляво, както желаете. Има само една препоръка: "Списъкът на C програма трябва да бъде лесен за преглед." След него в бъдеще всички текстове ще бъдат форматирани така, че фигурните скоби да са разположени в нечетни колони вертикално (1, 3, 5 и т.н.), а във всяка колона ще има само един отвор в горната част и един затварящ къдрава скоби в долната част.

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

Ред / 4 действа във връзка с ред 13, тъй като специфичното състояние на линията на порта в AVR контролерите се определя от набор от два регистъра DDRx и PORTx, където "x" е поредната буква на порта, например B, C или D. Като се има предвид, че всеки регистър съдържа 8 бита с числа от 0 до 7 (условно "z"), тогава общото оформление по линиите на порта е както следва:

DDRx.z = 1, PORTx.z = 1 - ВИСОКО ниво на изхода;

DDRx.z = 1, PORTx.z = 0 - LOW изход;

DDRx.z = 0, PORTx.z = 1 - вход с "издърпващ" резистор;

DDRx.z = 0, PORTx.z = 0 - вход без издърпващ резистор.

Обобщавайки редове 13 и 14: DDRB.0… DDRB.7 = 1, PORTB.O = 0, PORTB.l = 1, PORTB.2… PORTB.7 = 0, следователно, редове 0, 2… 7 на порт „B " ще бъде конфигуриран като изходи LOW и линия 1 като HIGH. Тъй като индикаторът HL1 е свързан към линията PB1 (щифт 15 на микросхемата DD1 на фиг. 6.3), той ще бъде изгасен. Оказва се, че първоначалната част от техническото задание е изпълнена успешно.

Линии 15, 16 са подобни на линии 13, 14, но за порт "C". За промяна се използва постоянното заместване lNI. След изпълнение на редове 15 и 16, всички линии на порт "C", дори и тези, които не участват пряко в работата, ще бъдат конфигурирани като входове с "pulll-up" резистори. Това е стандартна техника за инициализиране на портове за активиране на вътрешните издърпващи резистори, които предпазват CMOS входовете на MCU линията да висят във въздуха и елиминират всички видове шум и пътища на улавяне.

Линия 17 е подобна на линии 13, 14 и 15, 16, но за порт "D". Той изобщо не се използва в електрическата верига, но трябва да го приемете като правило - да инициализирате всички портове без изключение в началото на програмата. Техните празни линии трябва да бъдат конфигурирани като входове за издърпващ резистор или като HIGH / LOW изходи. В бъдеще такъв автоматизъм ще позволи да се избегнат сблъсъци и недоразумения.

Специална характеристика е присвояването на регистъра PORTD на стойността, предварително зададена в ред 13 на регистъра DDRB, т.е. двоичното число Obl 1111111. Това беше направено с образователна цел, защото можеше да бъде по-лесно: "PORTD = OxFF;".

Друга подробност е липсата на запис в регистъра DDRD. Това не е печатна грешка, а умишлено намаляване на списъка с един ред, тъй като при включване на захранването, според листа с данни, всички регистри DDRx, PORTx автоматично се попълват с нули, т.е. не е необходимо допълнително изчистване на регистъра DDRD.

Ред 18 съдържа оператора на цикъла "while". За първо запознаване е достатъчно да си спомним, че изразът "докато (1)" означава последователно изпълнение на изрази в редове 19 ... 21 в безкраен цикъл.

Ред 19 съдържа отворена скоба и оператор за присвояване. Тази комбинация е позволена от правилата на езика C, което прави списъка по-компактен по височина.

След изпълнение на ред 19, променливата "a" ще съхранява статусния байт на осемте реда на порт "C", който е прочетен от PINC регистъра. Ако бутонът SB1 не е натиснат, тогава "a = OxFF", а ако е натиснат, тогава "a = OxFE".

Ред 20 измества съдържанието на променлива "a" с един бит наляво. Възможни са две опции: ако "a" е по-рано OxFF, тогава ще стане OxFE, а ако беше OxFE, ще стане OxFD. Защо се прави това, ще ви каже следващият ред на програмата.

Ред 21 съдържа оператора за присвояване, но в сравнение с ред 19, променливата "a" и регистърът на портовете са обърнати. В езика C такова рокади води до замяна на операция за четене от порт с операция за запис към порт. Общо, кодът 0xFE (ако бутонът SB1 не е натиснат) или кодът 0xFD (ако бутонът SB1 е натиснат) ще бъде изведен на порт "B". В първия случай индикаторът HL1 ще изгасне, във втория ще свети, което се изискваше да бъде постигнато според техническото задание.

Редове 22, 23 съдържат затварящи фигурни скоби. Ако нарисувате мислено от тях две вертикални линии "отдолу нагоре", тогава те сочат директно към отварящите скоби в редове 19 и 12. Скоба на ред 22 показва повторение на цикъла в редове 19 ... 21. Скоба на ред 23 започва от първата позиция отляво, така че краят на "главната" функция и следователно на основната програма е достигнат.

Ред 24 съдържа коментари относно номера на версията на WinAVR и дължината на кодовете на фърмуера, което е много полезно при компилиране на програмата от други потребители. Известно е, че версиите на WinAVR не са 100% съвместими една с друга, за което има илюстративни примери. Следователно дължината на компилирания код на един и същ списък може да се различава в зависимост от версията. Практическият извод е, че първо трябва да компилирате програмата с пакета WinAVR, посочен на ред 24, и едва след това на по-стара или по-нова версия, като проверявате получената дължина на кода като контролна сума.

Внимателният читател има право да забележи, че на етапа на съставяне на списъка на програмата C беше невъзможно да се изчисли предварително колко кодовете заемат в паметта на MK. Честно казано, надписът "114 байта (2,8%)" беше добавен по-късно, след компилирането на програмата. Има ясен пример за самата обратна връзка, която в структурната диаграма на фиг. 6.1 беше обозначено с пунктирана линия между блокове "K" и "L".

Ред 25 е напълно празен, но за разлика от редове 5 и 9, той маркира физическия край на списъка. Без този завършващ ред компилаторът издава леко, но все пак предупреждение: "Предупреждение: няма нов ред в края на файла".

Вар n1, n2: Longint;

ФункцияКоличество (x: Longint): байт;

Вар k: байт;

Докато х<>0 Правете

Започнете

Край;

Количество: = k;

Започнете

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

k1: = Количество (n1);

(брой цифри на първото число)

k2: = Количество (n2);

(брой цифри на второто число)

Writeln („Същият брой цифри“)

Ако k1> k2 Тогава

Writeln („Има повече цифри в първото число“)

Writeln („Във второто число има повече цифри“);

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

В редица алгоритми за решаване на проблеми се изисква да се извика подпрограма от секцията с инструкции на същата подпрограма.

Рекурсията е начин за организиране на изчислителен процес, при който процедура или функция, по време на изпълнението на съставните й оператори, се отнася към себе си. Използвайки рекурсияобърнете специално внимание за да излезете от подпрограмата в точното време.Рекурсията е полезна, когато задачата трябва да бъде разделена на подзадачи. Когато използвате рекурсивна процедура и функция, в началото трябва да поставите реда

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

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

процедура fibon (n, fn1, fn: цяло число);(рекурсивна процедура)

ако n> 0 тогава

writeln (fn1 + fn);

фибон (n-1, fn, fn1 + fn);

var n, a, b: цяло число;

напишете ("въведете броя на елементите от редицата на Фибоначи:");

напишете ("... след двете дадени числа:");

Фибон (n, a, b);

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

програма rekurs2;

обръщане на процедурата (n: цяло число);(рекурсивна процедура)

Ако се натисне, спрете;

Напишете (n mod 10);

ако (n div 10)<>0 тогава

Реверс (n div 10);

writeln („введи число<= : ", maxint);

Реверс (n);

Лекция номер 18. Вход - извеждане на данни. Файлове

Файлът е колекция от данни, съхранявани във външната памет на компютър под дадено име.

Всеки файл има три характерни характеристики:

1. Файлът има име, което позволява на програмата да работи едновременно с няколко файла.

2. Файлът съдържа компоненти от същия тип. Типът файлов компонент може да бъде всякакъв.

3. Дължината на новосъздадения файл не се посочва по никакъв начин, когато е деклариран и е ограничена само от капацитета на външните памети.

За да може програмата да намери необходимия файл, трябва да знаете пътя или маршрута до файла.

Пътят е списък с имена на поддиректории, разделени едно от друго с обратна наклонена черта, последвано от действителното име на файла.

Например:

c: \ каталог1 \ каталог2 \ файл1.txt.

Всяко име на директория съответства на запис в поддиректория с това име. Знакът ".." съответства на влизането в супердиректорията. Максималната разрешена дължина на пътя е 79 знака.

В TP програма името на файла се посочва като текстова константа, затворена в апострофи, която може да бъде стойността на низова променлива:

"\ turbo \ pas \ table.txt".

Устройства.Използването на файлове в TP беше причинено от необходимостта от обмен на данни със средата на компютъра, неговия хардуер: дисплей, клавиатура, принтер, входно-изходни канали. Всички те се разглеждат в TP като файлове, с които може да се работи по същия начин, както и с обикновените файлове. Често се наричат ​​файлове на външни устройства физически или външни файлове ... Устройствата се адресират с помощта на специални имена, които са забранени за използване за обикновени файлове - т.нар имена на логически устройства на компютъра.

­ CON - конзола ... С помощта на конзолата изходната информация се изпраща на екрана на дисплея, а входната информация се възприема от клавиатурата;

­ PRN -това име принтер ... Ако към компютъра са свързани няколко принтера, достъпът до тях се осъществява чрез логически имена: LPT1, LPT2, LPT3.

­ COM1, COM2, COM3 -това са устройства, към които се свързват серийни портове ... Използва се за комуникация с други компютри и за свързване на мишка.

­ NUL - нула или празен устройство. Често се използва от програмистите за отстраняване на грешки в програма. Избягва създаването на отделен файл. Когато го използвате за показване на информация, информацията не се показва никъде, но се съобщава, че изходът е бил успешен.

Достъп до файлове.Във всеки един момент програмата има достъп само до един файлов елемент, препратен от показалеца към текущата позиция на файла... Той определя местоположението във файла, откъдето или къде се четат или записват данните. При отваряне или създаване на файл показалецът се поставя в началото му... Показалецът се държи като курсор, който, докато се движи, докато редактира текст, винаги показва текущата позиция. Когато четете данни от файл, показалецът рано или късно ще стигне до края му. По начина на достъп до елементите те се разграничават файлове с последователен или директен достъп.

Списъците на разработените от студента програми трябва да бъдат поставени в отделни прикачени файлове със задължителни връзки към тях.

Програмният код трябва да бъде придружен от коментари. Препоръчително е да използвате възможностите за самодокументиращ код.

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

Когато създавате обяви, използвайте шрифт Courier New, размер - 12 pt, разстояние между редовете - единично. Препоръчва се семантичните блокове да се разделят с празни редове, както и визуално да се маркират вложени конструкции с отстъпи.

Препоръчително е ключовите думи и коментарите да бъдат подчертани с различни шрифтове. По същия начин в основния текст на работата трябва да са посочени имената на библиотеки, подпрограми, константи, променливи, структури от данни, класове, техните полета и методи.

Списъците трябва да бъдат последователно номерирани във всеки раздел. Номерът на списъка трябва да се състои от номера на секцията и поредния номер на листинга, разделени с точка, например: "Списък 3.2" - вторият списък на третия раздел. Ако произведението съдържа само един списък, то се обозначава като "Списък 1". Когато се позовавате на обява, трябва да напишете думата "списък" с посочване на нейния номер.

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

Пример за дизайна е показан в листинг 3.1.

Списък 3.1 - "Здравей, свят!"

#включи

// Извежда низа в стандартен изход

cout<< "Hello World!";

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

До защита се допускат само курсови работи, доклади от бакалавърска практика и дипломни работи, изготвени в стриктно съответствие с посочените изисквания. За съдържанието и дизайна на курсовата (дипломната) работа, доклада за преддипломната практика, взетите в тях решения, правилността на всички данни и направените изводи, студентът - автор на дипломната (курсовата) работа - е отговорен.

Курсова работа, доклад за бакалавърска практика

Курсовата работа (отчет за преддипломна практика) се защитава на заседание на създадената от катедрата работна комисия, в която студентът е с курсова работа (отчет за преддипломна практика). Доклад за курсова работа (отчет за преддипломна практика) се дава до 10 минути. Докладът може да бъде придружен от илюстративен материал (постери, компютърна презентация и/или демонстрация на софтуер на компютър).

Въз основа на резултатите от изпълнението и защитата на курсовата работа се поставя оценка с вписването в протокола и изпитния лист и в раздела „Курсово проектиране” на студентския протокол.

При определяне на оценки за курсова работа се вземат предвид следното:

- степента на решение на задачата;

- степента на самостоятелност и инициативност на ученика;

- умението на ученика да използва литературни източници;

- степента на съответствие на обяснителната записка с изискванията за нейното проектиране;

- възможността за използване на получените резултати на практика.

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

Завършените дипломни работи се представят на научния ръководител, който съставя рецензия върху тях. При прегледа на ръководителя на дипломната работа трябва да се отбележи следното:

- уместност на темата,

- степента на изпълнение на задачата,

- степента на самостоятелност и инициативност на ученика,

- умението на ученика да използва специална литература,

- способност на студента за инженерна и изследователска работа,

- възможността за използване на получените резултати на практика,

- възможност за възлагане на възпитаник със съответната квалификация.

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

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

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

Дипломната работа, допусната от катедрата до защита, се изпраща на ръководителя на катедрата за преглед.

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

Прегледът трябва да включва:

- актуалността на темата на дипломната работа;

- степента на съответствие на дипломната работа със задачата;

- последователността на конструкцията на описателната част на дипломната работа;

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

- пълнотата на описанието на методологията за изчисление или проведеното изследване, представяне на собствени изчислени, теоретични и експериментални резултати, оценка на достоверността на получените изрази и данни;

- наличието на мотивирани заключения въз основа на резултатите от дипломната работа;

- практическата значимост на дипломната работа, възможността за използване на получените резултати;

- недостатъци и слабости на дипломната работа;

- забележки по оформлението на описателната част на дипломната работа и стила на представяне на материала;

- оценка на дипломната работа (в съответствие с приетата система за оценяване).

Рецензентът има право да поиска от студента - автор на дипломната работа допълнителни материали, касаещи същността на извършената работа. Студентът трябва да е запознат с рецензията преди да защити работата в GEC. Подписите на мениджъри и рецензенти, които не са служители на VSU, трябва да бъдат заверени от отдела по човешки ресурси на организацията, в която работят.

Редът за защита на дипломната работа се определя с Правилника за държавните изпитни комисии.

За доклада по дипломната работа се отделят до 15 минути, по време на които е необходимо кратко, ясно и ясно да се посочат темата и целта на работата, обосновка на нейната уместност и важност, методологията на изследването, резултатите и заключенията. В същото време не се препоръчва да се чете текстът на речта пред комисията.

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

След доклада е необходимо да се отговори на въпросите на членовете на изпитната комисия относно достойнствата на извършената работа.

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

Дипломната работа след защитата се съхранява в университета, в който е извършена пет години.

Приложение А
Пример за дизайна на заглавната страница на курсова работа

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

Приложение Б
Пример за дизайна на заглавната страница на дипломна работа

Приложение D
Форма на заданието за дипломната (курсовата) работа

EE „Витебски държавен университет на име P.M. Машеров"

УПРАЖНЕНИЕ
за дипломната работа

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

Фамилия I.O.

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

2. Срокът за свършена работа на студента

3. Изходни данни за работа

4. Списък с въпроси, които трябва да бъдат разработени в дипломната работа или резюме на дипломната работа:

5. Списък на графичен или програмен материал (с точно посочване на необходимите чертежи) или програмни модули

6. Консултанти за работа с посочване на свързаните с тях раздели

7. Дата на издаване на заданието "___" ____________ 20___ г.

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

подпис Фамилия I.O.

Заданието е прието за изпълнение "___" ___________ 20___ г.

________________________________

подпис на ученика

Приложение D
Пример за резюме на дипломна работа

ЕСЕ

Теза, 56 страници, 4 илюстрации, 2 таблици, библиография. 16

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

Обект на изследване са изчислителни и информационни процеси и системи. Целта на работата е разработване на теоретичните основи на моделирането, анализа и ефективната организация на изчислителни и информационни процеси и системи.

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

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

Областта на приложение са процесите на автоматизиран анализ и синтез на сложни системи.

Приложение Е
Пример за списък със символи и съкращения

Символи и съкращения

LSI - мащабна интегрална схема

IC - интегрална схема

VLSI - много мащабна интегрална схема

PLM - програмируем логически масив

GSP - генератор на произволна последователност

GPP - генератор на псевдослучайни последователности

SLN - средство за локализиране на повреди

Приложение G
Примери за описания на използвани източници

Таблица G.1 - Примери за описания на независими публикации

Характеристика на източника Пример за регистрация
Един, двама или трима автори Орлов, С.А. - Технологии за разработка на софтуер: Учебник за университети / С.А. Орлов. - SPb .: Петър, 2002 .-- 464 с.
Биячуев, Т.А. Сигурност на корпоративните мрежи / Т.А. Биячуев; изд. Л.Г. Осовецки. - SPb: SPb GU ITMO, 2004 .-- 161 с.
Дейтел, Н.М. Как да програмирам на C ++ / H.M. Дейтел, P.J. Daytel. - М .: Бином, 2001 .-- 1152 с ..
Мичъл М. Програмиране за Linux. Професионален подход. / М. Мичъл, Дж. Улдем, А. Самуел. - М .: Издателство "Уилямс", 2003. - 288 с.
Бахвалов, Н.С. Числени методи: учеб. ръководство за физ.-мат. специалности на университети / Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобелков; под общо. изд. Н.И. Тихонов. - 2-ро изд. Москва: Физматлит, 2002 .-- 630 с.
Четирима или повече автори Обектно-ориентирани техники за проектиране. Design Patterns / E. Gamma [et al.]. - SPb .: Петър, 2008 .-- 366 стр.
Приложна механика: учеб. надбавка / А. Т. Скойбеда [и др.]; под общо. изд. A.T. Небесно легло. - Минск: Висше училище, 1997 .-- 522 с.
Многотомно издание Архангелски, А. Я. C++ Builder 6: Справочник: във 2 том. / И АЗ. Архангелски. - М .: Бином-Прес, 2002. - 2 книги.
Кнут, Д. Изкуството на компютърното програмиране: в 3 тома / Д. Кнут. - М .: Мир, 1976-1978. - 3 т.
Отделен том в многотомно издание Архангелски, А. Я. C++ Builder 6: Справочник: във 2 том. Книга. 1. Езикът C ++ / A.Ya. Архангелски. - М .: Бином-Прес, 2002 .-- 544 с.

Продължение на таблица G.1

Архангелски, А. Я. C++ Builder 6: Справочник: във 2 том. Книга. 2. Класове и компоненти / А.Я. Архангелски. - М .: Бином-Прес, 2002 .-- 528 с.
Сборник от статии, произведения Иновативни технологии в учебния процес на УО „ВСУ им. P.M. Машеров“: сб. Изкуство. / Вит. състояние не ги. P.M. Машеров; редакционен съвет A.V. Русецки (главен редактор) [и др.]. - Витебск, 2006 .-- 111 с.
Съвременни информационни компютърни технологии: сборник със статии. научен. Чл.: в 14 ч. / Гродн. състояние не ги. И. Купала; редколегия: A.M. Кадан (главен редактор) [и др.]. - Гродно, 2008 .-- 2 часа.
Конферентни материали Информатизация на обучението по математика и информатика: педагогически аспекти: материали от междунар. научен. конф., посв. По случай 85-годишнината на Беларус. състояние Университет, Минск, 25-28 октомври. 2006 / Беларус. състояние un-t; редакционен съвет .: I.A. Новик (главен редактор) [и др.]. - Мн., 2006 .-- 499 с.
II Машеровски четения: материали от регионални научни и практически. конф. студенти, студенти и аспиранти, Витебск, 24-25 април. 2007: в 2 тома / Вит. състояние не-т. - Витебск, 2007 .-- 2т.
Стандартен ГОСТ 19.701–90. Единна система за програмна документация. Диаграми на алгоритми, програми, данни и системи. Символи и правила за изпълнение. - Вместо GOST 19.002–80, GOST 19.003–80; влезе 01.01.1992г. - М .: Издателство на стандартите, 1991. - 26 с.
GOST R 50922-2006. Защита на информацията. Основни термини и дефиниции. - Вместо GOST R 50922–96; влезе 02/01/2008. - М .: Стандартинформ, 2008 .-- 7 с.
Електронни ресурси Microsoft Visual Studio [Електронен ресурс]: Express Edition / Microsoft Corporation, ComputerPress. - Електрон. дан., електрон. текстови данни. и прог. - 1 имейл на едро диск.
Библиотека MSDN [Електронен ресурс]: Помощна система. - Microsoft Corporation, 2004. - 3 e-mail. на едро диск (CD-ROM).
PC world [Електронен ресурс]. - М .: Отворени системи. - Приложение към PC World (списание). - 2006. - бр.2. - 1 имейл на едро диск (CD-ROM).

Продължение на таблица G.1

Таблица G.2 - Примери за описания на съставните части на публикациите

Характеристика на източника Пример за регистрация
Част от книгата Liberty, D. Анализ и проектиране на обектно-ориентирани програми / D. Liberty // Master C ++ самостоятелно за 21 дни / D. Liberty. - М.: Уилямс, 2000. - С. 561-595.
Свердлов, С.З. Езици и еволюция на технологиите за програмиране / С.З. Свердлов // Езици за програмиране и методи за превод: учебник. наръчник. / С.З. Свердлов. - SPb .: Петър, 2007. - С. 17–205.
Глава от книгата Вирт, Н. Динамични информационни структури / Н. Вирт // Алгоритми + структури от данни = програми / Н. Вирт. - М .: Мир, 1985. - Гл. 4. - с. 189-318.
Хендерсън, К. Изграждане на приложения за работа с бази данни / К. Хендерсън // Borland C ++ Builder / К. Рейсдорф, К. Хендерсън. - М .: Бином, 1998. - Гл. 18. - С. 583–595.
Част от колекцията Русецки, А.В. Основната задача е въвеждането на нови образователни технологии / A.V. Русецки // Иновативни технологии в образователния процес на учебното заведение „ВСУ им. P.M. Машеров“: сб. Изкуство. / Вит. състояние не ги. P.M. Машеров; редакционен съвет A.V. Русецки (главен редактор) [и др.]. - Витебск, 2006. - С. 3-4.
Буза, М.К. Паралелна обработка на един клас аритметични изрази / М.К. Buza, Liu Jiahui // Съвременни информационни компютърни технологии: сборник със статии. научен. Чл.: в 14 ч. / Гродн. състояние не ги. И. Купала; редколегия: A.M. Кадан (главен редактор) [и др.]. - Гродно, 2008. - Част 1. - С. 7-9.

Продължение на таблица G.2

Статия от сборници с резюмета и материали от конференцията Смоляк, В.А. Компютърни модели на клетъчни автомати / V.A. Смоляк // II Машеровски четения: материали от регионални научни и практически. конф. студенти, студенти и аспиранти, Витебск, 24-25 април. 2007: в 2 тома / Вит. състояние не-т. - Витебск, 2007. - Т. 1. - с. 116–117.
Статия в списанието Муравьов, И. CMS Drupal и неговите характеристики / Иля Муравьов // Мрежови решения. - 2007. - бр. 5. - С. 26-30.
Ярмолик, С.В. Стеганографски методи за защита на информацията / С.В. Ярмолик, Ю.Н. Листопад // Информатизация на образованието. - 2005. - No 1. - С. 64–74.
Вестникарска статия Станкевич, В. Два JSP модела / В. Станкевич // Компютърни новини. - 2008 .-- 30 окт. - С. 23.
Статия от енциклопедията, речник Першиков и В.И. Програма / V.I. Першиков, В.М. Савинков // Тълковен речник по информатика. - М .: Финанси и статистика, 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г.
Джоунс, Дж. Идиоми за внедряване на абстрактно синтактично дърво / Джоел Джоунс // 10-та конференция за езици на модели на програми 2003 г. - 2003. - Начин на достъп: http://jerry.cs.uiuc.edu/~plop/plop2003/Papers/Jones-ImplementingASTs.pdf. - Дата на достъп: 15.01.2009г.

Приложение I
Пример за описание на съдържанието на електронен носител

Следните директории и файлове се намират на електронния носител:

- Файлът „Пълно име-курс-Tema.doc” е текстов документ с курсова работа, дипломна работа или доклад от преддипломна практика.

- Директорията "Софтуер" съдържа софтуера, необходим за изпълнение на проекта.

- Директорията "Hello World Project" съдържа изходния код за проекта Hello World.

- Директорията "Final Build 31-01-2009" съдържа окончателната версия на изпълнимите файлове на проекта Hello World.

- Директорията "User Manual" съдържа ръководство за потребителя и справочна информация.

- Справочник "Представяне" съдържа презентация за защита.

- Файлът "Readme.txt" съдържа описание на съдържанието на електронния носител.

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

Какво е листване

Концепцията за листване се среща в различни области от нашия живот:

  • Борси за акции и криптовалути- те ще бъдат тема на тази статия. Става дума за добавяне на ценни книжа или крипто монети към листингите на платформи за търговия.
  • В търговията- това предполага добавяне на продукти на един или друг производител към асортимента на магазина.
  • В програмирането- това е изходният код (текст) на програмата, който се превежда в изпълним код с помощта на компилатора.
  • В недвижими имоти- тук са подписани договори за листване между собственика на имота и агента по продажбите, който го продава срещу комисионна.

Няма да разглеждаме последните две индустрии. Ние се интересуваме от листване на, както и криптовалути.

Обявяване и премахване на ценни книжа

Списъкът се появи в нашия лексикон от думата list, която се превежда от английски като "списък". Листването на ценни книжа на фондовата борса е процедурата за добавяне на акции, облигации на компании към списъка с инструменти, които се котират в платформата. След това те стават достъпни за покупка и продажба на него.

След като преминат процедурата за листване, ценните книжа се включват в търговския списък на борсата.

Често участниците на пазара наричат ​​самия списък листинг. Освен това всеки сайт има свой собствен списък.

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

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

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

Етапи на листване

Процедурата за листване предвижда няколко етапа, през които трябва да премине дружеството емитент, преди ценните му книжа да станат достъпни за инвеститорите.

  1. Всичко започва с подаването на заявление. Това може да стане както от самия емитент, така и от лице, представляващо интересите на дружеството.
  2. След това идва етапът на изпитите. Представителите на борсата анализират както ценните книжа, така и всички налични данни за компанията. Изследва се рентабилността на предприятието и ликвидността на неговите активи. Компанията е длъжна да предостави всички финансови отчети, събрани през последните няколко години.
  3. Специална комисия разглежда резултатите от прегледите и решава да добави ценни книжа към листването си или да отхвърли заявлението.
  4. Ако решението е положително, двете страни - компанията и борсата, сключват споразумение.

Процедурата отнема средно 1-2 месеца. За да остане в списъка, емитентът по правило ще трябва да предоставя необходимите данни на борсата веднъж на тримесечие.

Правилата за листване, прилагани от търговските зали към компаниите, се различават. Някои могат да допуснат само за листване на компании, чиято капитализация е поне 50 милиона долара, а времето на тяхното присъствие на пазара е поне 3 години. Други могат или да повдигнат, или да намалят летвата за тези и други изисквания.

Ако не са изпълнени всички условия, но ценните книжа представляват интерес за борсата, те получават предварителен списък с ценни книжа - той също се нарича предварително изброяване... Инвеститорите също могат да търгуват с тези акции, но извън стените на борсата и търговския зала те не носят отговорност за тях.

Нива на листване

Най-често има няколко нива на листване на борсите. Първо премиумса включени най-ликвидните ценни книжа с високо ниво на надеждност.

Към компаниите второ нивоизискванията не са толкова високи. А най-ниска за предприятията, кандидатстващи за третия, т.нар нецитиран списък... Инвеститорите, които купуват ценни книжа на компании от това ниво, трябва внимателно да анализират самостоятелно тяхната надеждност.

Например, основният и алтернативният сайт са валидни за. Първото е разделено на две нива: "Стандарт" и "Премиум". Алтернативният пазар е предназначен за малки и средни развиващи се предприятия, които са допуснати тук по опростена процедура.

От време на време платформите могат да повишават или обратното да намалят нивата на листване на облигации, акции или дори да ги премахват напълно.

Видове листинги

Правете разлика между първичен и вторичен списък.

Основен списъкозначава, че акциите са достъпни за инвеститори на борсата в страната, където е регистрирана компанията.

В вторичен списъкдокументите се изнасят на международните пазари и се включват в списъците на чуждестранни платформи. Това може да стане само ако е преминат първоначалния етап на листване.

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

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

Какви са предимствата на емитента

Не напразно компаниите полагат усилия да влязат в борсови листове, тъй като това им обещава редица предимства. Първо, тяхната инвестиционна привлекателност се увеличава и в резултат на това е по-лесно да се привличат средства за по-нататъшно развитие. Плюсовете също включват:

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

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

Какво дава на инвеститорите

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

Какво е премахване

Ако ценните книжа са включени в котировъчния списък на борсата, няма гаранция, че те ще останат там завинаги. При определени условия сайтът може да ги изтрие от него. Това се случва в случай например, ако емитентът престане да спазва условията на борсата, не изпълни задълженията си, обяви се в несъстоятелност и т.н.

Също така цената на акциите, която не нараства с течение на времето, може да доведе до делистинг, което показва слабо търсене. Случва се, че инициаторът на премахването е самата компания, например при сливане на предприятия.

Обява на криптовалути

Листването често се обсъжда и в средата на криптовалута. Тук дигиталните монети или жетони обикновено се появяват в списъка за търговия на борсовите платформи.

Проектите за криптовалута се стремят да влязат в листингите на популярни борси

Изискванията за листване на крипто борси варират. Много по-трудно е да се стигне до големи добре познати сайтове, отколкото до малки. Следователно повечето проекти започват с малки платформи за търговия.

Цената на въпроса

Един от основните въпроси е цената . Малко известни борси могат да добавят криптовалути към списъка безплатно. Влизането в списъците с добре познати платформи може да струва хиляди, или дори десетки хиляди долари - парите се вземат за анализ на монета преди листване. Има обаче изключения.

Binance, например, обяви тази есен, че таксите за листване ще отидат за финансиране на благотворителни проекти. В същото време няма фиксирани цени - разработчиците сами определят колко искат да платят за обявата. Ръководството на Poloniex твърди, че изобщо не взема пари за листването.

В началото на годината журналисти от Business Insider публикуваха статия, според която минималният праг за листване на крипто борси за ICO проекти е 50 000 долара, а в някои случаи може да достигне и 1 милион долара.

Имаше и случаи, когато ръководството на борсите попадаше на подкупи за включване на монети в листването. Пример за това е борсата Coinnest - нейните оперативни и технически директори бяха платени около 890 хиляди долара, за да добавят криптовалутата S-coin в списъка за търговия.

Как работи

За да бъде даден токен, най-често в избрания сайт, трябва да подадете заявление и да попълните въпросник. Въпреки това, популярните монети на борсата могат да бъдат включени в списъка самостоятелно, без да се чака екипът на проекта да предложи да направи това. Например биткойн (BTC) е задължителен на всяка борса и като правило Ethereum (ETH).

Какви въпроси най-често се срещат във въпросника:

  • име и описание на монетата;
  • датата на стартиране на основната мрежа, както и самата платформа;
  • връзка към Github;
  • връзка към Бялата книга на проекта;
  • връзки към социални мрежи;
  • има ли добив в мрежата и дали е имало предварително копаене;
  • максимална емисия на монети и др.

Често борсите също провеждат състезания сред своите потребители - те гласуват за предложените криптовалути и печелившата монета се добавя към списъка с котировки.

Huobi Global стартира автоматизирана платформа за листване на криптовалути в края на лятото на 2018 г. С негова помощ борсата възнамерява да ускори процеса на добавяне на токени към списъка за търговия и да го направи прозрачен.

Важни нюанси

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

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

Монети, които могат да бъдат разпознати като ценни книжа, борсите се опитват да не добавят... Например, Poloniex незабавно кани разработчиците да се запознаят с теста на Howie, за да определят дали даден токен може да отговаря на тези критерии или не.

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

Интересното е, че ако даден актив противоречи на законите на определена държава, той може да не е достъпен за потребители от определени юрисдикции.

"Ефект от обмените"

След добавяне на популярни крипто-борси към листингите, цената на монетите, като правило, нараства рязко - средно с 25-30%. Този модел дори е наречен „ефект на борсата“. Това се случва поради факта, че повече потребители научават за монетата, тя става разпознаваема и увеличава търсенето на нея. Най-често обаче това излитане е краткотрайно и скоро цената започва да намалява.

Има и ситуации, когато цената на жетоните след влизане в списъците за търговия на борси, напротив, пада. Това се случва най-често, когато проектът е регистриран веднага след това и инвеститорите, които са инвестирали по време на продажбата на токен, са склонни да печелят допълнителни пари от монетата по-бързо, като активно я сливат на борсата.

Криптокоините са премахнати поради редица причини:

  • нисък интерес от търговци;
  • промени в законодателството;
  • хакване на блокчейна на крипто мрежата;
  • отказ на разработчиците да подкрепят допълнително монетата;
  • оплаквания на потребителите.

Токените обикновено не се премахват веднага - борсата дава на търговците няколко седмици да затварят позиции и да изтеглят средства в собствените си портфейли.

Регистрация в търговията

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

Ако продуктът не е търсен сред купувачите, той също може да премине през процедурата за премахване, като в този случай изчезва от рафтовете на магазините.

Назначаване

Изходният код се използва или за създаване на обектен код, или се изпълнява от интерпретатора. Никога не се правят промени в обектния код, а само в оригиналния, последвано от повторно преобразуване в обектен код.

Друга важна цел на изходния код е като описание на програма. Използвайки текста на програмата, можете да възстановите логиката на нейното поведение. Коментарите се използват, за да направят изходния код по-лесен за разбиране. Има и инструменти, които ви позволяват автоматично да извличате документация от изходния код — т.нар. генератори на документация.

В допълнение, изходният код има много други приложения. Може да се използва като учебно средство; Начинаещите програмисти може да намерят за полезно да проучат съществуващия изходен код, за да научат техники и методологии за програмиране. Използва се и като средство за комуникация между опитни програмисти поради своята (в идеалния случай) кратка и недвусмислена природа. Споделянето на код между разработчиците често се посочва като фактор, допринасящ за подобряване на изживяването при програмиране.

Програмистите често прехвърлят изходен код от един проект в друг, което се нарича повторно използване на код ( Повторна употреба на софтуера).

Изходният код е съществен компонент в процеса на пренасяне на софтуер към други платформи. Без изходен код за който и да е софтуер, пренасянето е или твърде трудно, или невъзможно.

организация

Изходният код на част от софтуера (модул, компонент) може да се състои от един или няколко файла. Програмният код не е непременно написан само на един език за програмиране. Например, често програмите, написани на C, за оптимизационни цели, съдържат вмъквания на код на асемблер. Възможни са и ситуации, когато някои компоненти или части от програма са написани на различни езици, с последващо сглобяване в един изпълним модул, използвайки технология, известна като свързване на библиотеки ( свързване на библиотеката).

Сложен софтуер изисква десетки или дори стотици изходни файлове за изграждане. В такива случаи, за да се опрости изграждането, обикновено се използват проектни файлове, които описват зависимостите между файловете с изходния код и описват процеса на изграждане. Тези файлове могат да съдържат и други параметри на компилатора и средата за разработка. За различни дизайнерски среди могат да се използват различни файлове на проекти, като в някои среди тези файлове могат да бъдат в текстов формат, подходящ за директно редактиране от програмист, използващ универсални текстови редактори, в други среди се поддържат специални формати и файловете се създават и модифицират с помощта на специални инструменти.програми. Проектните файлове обикновено се наричат ​​​​изходен код. В по-голямата част от съвременните езикови среди задължително се използват проектните файлове, независимо от сложността на другия изходен код, включен в проекта. Изходният код често се отнася до файлове с ресурси, съдържащи различни данни, например графики, необходими за изграждане на програма.

За улесняване на работата с изходния код, за съвместна работа по кода от екип от програмисти се използват системи за контрол на версиите.

Качество

За разлика от хората, няма "добре написан" или "зле написан" код за компютър. Но начинът, по който е написан кодът, може да има дълбок ефект върху процеса на поддръжка. Качеството на изходния код може да се прецени по следните параметри:

  • четливост на кода (включително наличието или отсъствието на коментари върху кода;
  • лекота на поддръжка, тестване, отстраняване на грешки и коригиране на грешки, модификация и пренасяне;
  • ниска сложност;
  • ниско използване на ресурси - памет, процесор, дисково пространство;
  • няма коментари, показани от компилатора;
  • без "боклук" - неизползвани променливи, недостижими блокове код, ненужни остарели коментари и т.н.