therollingstones
therollingstones личный блог
02 ноября 2018, 04:40

Начало разработки.

Не волнуйтесь, вы все это запрограммируете и сделаете, я обещаю. В результате мы хотим получить программу, рассмотрим её общие принципы с другими программами, которые мы научимся программировать. Программа читает входные данные с клавиатуры, параллельно она автономно читает информацию из нужных баз данных. Вы можете провести параллель со многими программами, которые читают статистику реального времени и проводят сравнения с базами данных. Программы могут выполнять разные цели, работать с разной информацией, но они будут составлены по похожим принципам, давайте рассмотрим их. Может вы захотите написать программу которая будет оценивать ленту котировок, которая будет читать историю из баз, насущный пример. Самое главное, мы будем разбирать готовый рабочий код. Который вы сможете переработать для своих целей. Мы пройдем абсолютно все этапы от A до Я. Калькулятор это целая система механизмов — запуск работы с перехватом фатальных ошибок. А как же быть с цикличностью? Если вы ввели неправильные данные, калькулятор должен исправить ошибку, очистить неправильные символы и снова быть готовым к запросу. Также было бы не плохо записать в файл x = 100, y = 200, а потом программа будет читать переменные из этого файла, например если мы запишем x+x и нажмем Enter программа ответит = 200. На данный момент мы уже согласились, что программа должна перехватывать фатальные ошибки, должна исправлять рабочие ошибки, читать базу данных. Также помимо пред загрузки было бы хорошо добавить переменные прямо в процессе вычислений. Также в программе есть блок который вычисляет математическое выражение непосредственно. 

Cамой большой сложностью для новичка, является создание первого проекта и подключение библиотек, мы вместе запустим первый проект и установим библиотеки, вы уже сегодня начнете выполнять упражнения из этого крутого курса 1drv.ms/b/s!Aik_YYEGJIBwhYN6NJCJt4LDnkoYTg(который кстати уже слушал Кембридж, а теперь Smart_Lab). После начала  вы довольно быстро дойдете до главы 6, в первых главах нет ничего принципиально сложного, вы даже начнете программировать калькулятор из главы 6, но если вы начнете подходить к изучению книги профессионально, вы захотите перебрать этот калькулятор от и до, если делать это самостоятельно и одному, это долго … мы сделаем это вместе.

В этом первом топике мы подготовим все для разработки и запустим первый проект, после этого вы сможете начать самостоятельную проработку книги. Во втором топике, мы разработаем некоторый циклический прототип. А вот потом, мы начнем разрабатывать калькулятор, причем, мы будем изучать готовую отлаженную модель. Потом соберем еще несколько фундаментальных программ. В результате у вас будут все необходимые библиотеки, которые вы будете понимать, в общем вы будете подготовлены так, как это видит создатель языка C++. Ну а потом вы уже сами почитаете книгу и разберетесь. Моя задача обеспечить успешное прохождение этого курса. C++ очень похож на C#, Fortran или Java, вам не обязательно будет зацикливаться именно на этом языке.

Начало разработки.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Сначала небольшие комплексные инструкции, после их прочтения вы поймете, что вам нужно делать.

1) Если у вас проблемы с Windows, вы можете скачать самый последний официальный пробный Windows бесплатно www.microsoft.com/en-gb/software-download/windows10. Он ничем не отличается от того пиратского Windows который вы скачаете на «проверенном сайте» к тому же вы получаете поддержку от корпорации Microsoft, в любом случае, чтобы не случилось, вы всегда можете поставить новый Windows, у меня всегда есть Windows на флешке, установка Windows и дополнительного ПO занимает около часа. Предлагается множество способов установки.


Начало разработки.


Можно просто обновить компьютер, а можно скачать установщик. Сказать честно, обновил компьютер я всего один раз, когда у меня была пиратка, а потом всегда ставил Windows с флешки. Давайте разберемся как записать Windows на флешку. Скачаем инструмент и запустим на компьютере.Начало разработки.
Инструмент установки просит согласиться с условиями использования. Читаем, соглашаемся. Нас опять спрашивают, мы можем просто обновить компьютер, а можем создать установочный USB или DVD, выбор за вами а я выбираю создание установочного носителя, Next.
Начало разработки.


Выбираем параметры по умолчанию, Next.

Начало разработки.



Программа предлагает записать ISO сразу на флешку или просто скачать ISO на компьютер, чтобы потом провести запись на флешку или диск. В самом начале, у меня не получилось сразу записать ISO на флешку(загрузка останавливалась и все тут), я не знаю как развить этот вариант, попробуйте сначала его, зато я точно знаю как записать ISO на флешку, предварительно скачав его на компьютер, используя другую официальную утилиту от Microsoft. Выбираю ISO file и жму Next.
Начало разработки.


Нужно выбрать место загрузки ISO, качаю просто в загрузки и все тут. Скачивание займет какое-то время. После загрузки будет установка, после установки программа предложит записать файл на DVD или флешку, видимо это обновление, можете попробовать данный вариант или просто придерживайтесь инструкций, просто нажмите завершение после установки. Вроде бы там будет кнопка finish, посмотрите в переводчике если я ошибаюсь, но смысл команды должен быть — завершение, а не отмена. В любом случае будет две кнопки))


Теперь нужно скачать официальную утилиту записи ISO на флешку.

www.microsoft.com/en-us/download/details.aspx?id=56485

Начало разработки.
Выбираю Английский язык и жму Download. Выходит еще один запрос, выбираю Американскую версию и жму Next. Скачиваю программу и запускаю. 
Начало разработки.


Программа просит указать ISO файл, я указываю на Windows.iso который сохранил в загрузках, Next
Начало разработки.

Дальше необходимо выбрать USB носитель, Next
Начало разработки.

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


Программа предложит очистку носителя, обязательно нажмите Erase USB Device, потом подтвердите и запись начнется.
Начало разработки.


Вполне возможно, что после установки компьютер не будет видеть флешку. Так и вбейте на Ютуб — компьютер не видит флешку с Windows, там нужно внести пару поправок в Bios, я делал это даже когда не умел программировать. В целом, вы вставляете флешку, ставите компьютер на перезагрузку и компьютер открывает настройки установки Windows. 


2) Для разработки понадобится Visual Studio, её также можно скачать бесплатно,  visualstudio.microsoft.com/
Начало разработки.




скачивайте Community 2017(ну или любую другую), и выполняйте установку, там все очень просто. Рискуйте использовать браузер Microsoft Edge, минимальный бонус даже в том, что видео в 1080 даже на самом простом компьютере можно смотреть бесплатно. Также я рекомендую создать учетную запись в Windows и использовать бесплатное облако OneDrive, для хранения общей библиотеки кода. Если инопланетяне украдут ваш ноутбук вы все равно сможете получить доступ к коду с другого компьютера, пока они будут подбирать код. Мне было бы очень обидно потерять например все наработки вместе с компьютером. Сделайте все это сразу и спите спокойно.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Итак, в результате у нас имеется новый Windows, среда разработки VisualStudio, самое время создать новый проект на языке C++ и добавить библиотеки. Запустите Visual Studio, выберите file>>New>>Project
Начало разработки.
Выберите Visual C++, Windows Desktop, Windows Console Application, название проекта и заметьте, я выбрал место сохранения облако OneDrive(но, это не обязательно) 

Начало разработки.


Может такое быть, что Visual С++ не будет в окне выбора, тогда нужно сделать следующее. Повторите инструкции file>>New>>Project, и кликните по ссылке установщика Visual Studio



Начало разработки.


Можете сразу закрыть Visual Studio и ожидать открытие установщика. В результате вы должны найти пункт Desktop development with C++ и поставить галочку, затем в правом нижнем углу нажать клавижу модификации, все. Так как у меня все установлено я не смогу моделировать процесс, когда установка завершится, создайте новый проект на языке C++
Начало разработки.
В результате вы увидите вот такое окно, это чистый проект на языке C++ с минимальным кодом, нам осталось лишь поставить библиотеки.Начало разработки.
Давайте скачаем стандартную библиотеку инструментов, вы убедитесь потом что мы выполняем лишь вводные инструкции книги, только более иллюстрировано. Вот главная страница поддержки книги  www.stroustrup.com/Programming/  вы еще рассмотрите её более внимательно. Найдите раздел Начало разработки.
Ну или вот ссылка на него  www.stroustrup.com/Programming/PPP2code/  и кликните по ссылке  std_lib_facilities.h в результате перед вами откроется обычный текстовый код. Теперь нужно снова открыть наш первый проект и нажать комбинацию клавиш, CTRL+O, в результате откроется корневая папка проекта.Начало разработки.
Создайте новый текстовый файл и назовите его std_lib_facilities.h и измените разрешение файла с .txt на .h  на некоторых версиях, разрешение файла срыто по умолчанию, в этом случае, зайдите в мой компьютер, просмотр и кликните опции Начало разработки.

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



Начало разработки.


В результате из нового текстового файла создайте std_lib_facilities.h да да да, это просто переименованный текстовый файл формат которого изменен с .txt на .h  в результате вы увидите вот это Начало разработки.
А теперь копируйте текстовый код  из std_lib_facilities.h с сайта поддержки, ссылку на который я приводил ранее в наш файл std_lib_facilities.h который мы создали в корневой папке. И сохраните изменения, все библиотека установлена, давайте запустим программу! Уберите абсолютно весь код который был сгенерирован по умолчанию при создании проекта, и копируйте в проект вот этот код   1drv.ms/t/s!Aik_YYEGJIBwhcwNHw-MK2IWB0Xaxw

после этого нажмите CTRL+F5 И ЗАПУСТИТЕ ПРОГРАММУ!!! уРА!!!!

Начало разработки.



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

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



80 Комментариев
  • Turbo Pascal
    02 ноября 2018, 07:51
    C++, по моему, не лучший выбор для программирования торговых стратегий. Это больше системный язык для низкоуровневого программирования.

    Хотите писать быстрых и стабильных роботов? Разбирайтесь в qlua, и программируйте прямо в терминале.
    Хотите мощности языка и работы с БД — берите C#.

    p.s.
    Хотите стильного ретро — программируйте на Турбо Паскале :)
  • Тарас Громницкий
    02 ноября 2018, 08:16

    Первая и самая критичная ошибка — это выбор языка.

    Для обучения азам программирования C++ не подходит.

    А с учетом уровня смартлаба это справедливо вдвойне.

    Второй вопрос к задаче.

    «Hello world» — это норм.

    А вот дальше должно быть что-то простое и при этом полезное в трейдинге.

    Чтобы у ученика не опустились руки и появился первый опыт.

    Например чтение/запись файлов, чтобы юзер смог поработать с .tri файлами Квика.

    В качестве языка настоятельно рекомендую взять что-то более актуальное и имеющее большее количество готовых библиотек.

    Java или C#.

    Вот видео в тему

  • SEREGA
    02 ноября 2018, 08:23
    Я смотрю ты постиг программирование!!! Када ты начинал а это 2 года назад ты обещал мне робота слепить!!!
    Так то я уже два года жду!!!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн