Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Основы программирования на языке Pascal (Основные понятия, классификация и структура информационных систем)

Содержание:

ВВЕДЕНИЕ

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

Объектом исследования в рамках курсовой работы выступают программирование, а предметом исследования – язык программирования Pascal.

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

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ И ИСПОЛЬЗОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ

    1. Основные понятия, классификация и структура информационных систем

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

Сама АИС состоит из обеспечивающей и функциональной части, каждая из которых имеет свою собственную структуру[1].

Под функцией можно понимать проявление взаимодействия с внешней средой, а действие функции во времени обычно называется функционированием. [6]

Функциональная часть состоит из подсистем, которые определяются особенностями АСУ. Всех их можно разделить по отдельным признакам (структурным или функциональным), а сами они объединяют в себе соответствующие комплексы задач контроля. [2]

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

Структура АИС представлена на рисунке 1.

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

Информационные функции позволяют осуществлять сбор, обработку и представление данных о состоянии автоматизируемого объекта для сотрудников, либо же передают все эти данные для последующей обработки. Это могут быть такие функции, как: изменение параметров, контроль, расчет параметров, формирование и представление их для ответственного персонал или системы, а также оценка и прогноз деятельности для всей АИС и ее подсистем. [34]

Рисунок 1 – Структура АИС

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

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

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

Все подсистемы функциональной части АИС реализуются в соответствии с выбранными управляющими и информационными функциями.

Подсистема сбора данных реализует снятие информации по каналам связи разными способами – от ручного до полностью автоматизированного. [35]

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

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

На этом же этапе проверяется достоверность и непротиворечивость представленной информации и происходит обработка, редактирование, сохранение всех данных, а также восстановление утерянных. Основа этой подсистемы – непосредственно база данных(БД), которая управляется системой управления базами данных (СУБД). [36]

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

В процессе управления компанией одной из важнейших задач руководства является сбор данных, их обработка и передача сотрудникам. Чтобы управлять компанией эффективно, важно предвидеть ситуацию наперед. Помимо интуитивных оценок сегодня очень широко используется обоснованное оценивание состояния компании на основе уже совершенных изменений, другими словами, экстраполяция. [37]

Проведение экстраполяции можно условно разделить на 3 отдельных этапа:

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

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

ИС – это совокупность некоторых средств, предназначенных для сбора, обработки и представления данных для оптимизации принятия решений, которые позволяют меньше участвовать самому человеку в осуществлении того или иного процесса производства или управления. [38]

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

Задачи, которые решаются при помощи ИС, определяются целями и условиями работы экономических объектов. С их помощью становится возможным решить такие сложные проблемы, как:

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

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

Система – это некий объект, который можно рассматривать как единое целое, и как объединённую в интересах достижения цели совокупность разнородных элементов.

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

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

ИС – это некая взаимосвязанная совокупность средств, персонала и методов, которые используются для хранения, обработки, передачи данных для достижения поставленной цели. [39]

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

Также, сама техническая реализация ИС не будет значить ничего, если не была учтена роль человека, для которого предоставляется информация и без которого невозможно ее первичное получение и представление.

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

Сами ИС состоят из источника данных, аппаратной части, программной части и потребителя данных.

Понятие, которые могут охарактеризовать экономические ИС:

    • Интегрируемость – возможность взаимодействия системы с только что подключенными компонентами или подсистемами.
    • Масштабируемость – определяет возможность расширения системных ресурсов и общей производительности.
    • Управляемость – определяет гибкость управления системой.
    • Адаптивность – отвечает за возможность системы подстраиваться под условия конкретной предметной области.
    • Используемость – реализует возможность использования заложенных внутрь системы функций.
    • Обоснованность – дает возможность получить утвержденные в ходе выполнения работы программы результаты.
    • Реактивность – определяет способность системы реагировать на внешние или внутренние воздействия.
    • Безопасность – отвечает за возможность предотвращения разрушения системы в целом при несанкционированном доступе и т.п. [19]

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

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

Экономические показатели обычно выражаются в виде стоимости создания или покупки системы, затрат на ее внедрение, настройку и эксплуатацию, а также эффект, который в итоге получается от процесса функционирования. [18]

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

Разные источники приводят свои классификации ИС по многим признакам, далее приведены наиболее распространённые – по степени автоматизации:

    • ручные ИС – не имеют современных технических решений для обработки данных и выполняют все операции при помощи человека. Например, деятельность менеджера в фирме, в которой нет ни одного компьютера, можно точно назвать ручной.
    • автоматизированные ИС (АИС) – очень распространены сейчас. Предполагают одновременное участие в процессах обработки данных и человека, и технических средств, при этом главная роль отведена компьютеру.
    • автоматические ИС – выполняют все операции автоматически, без участия человека. Хороший пример такой ИС – поисковые системы в Интернете, например, Google или Яндекс, где все данные о сайтах собирают поисковые роботы и человеческий фактор не может повлиять на распределение результатов поиска. [11]

В настоящее время термин ИС чаще всего применим к автоматизированным ИС.

По характеру использования данных ИС делятся на:

    • информационно-поисковые – некоторая системы для хранения, поиска и предоставления пользователю интересующих данных;
    • информационно-аналитические – еще один класс ИС, который создан для аналитической обработки информации;
    • информационно-решающие – такие системы, которые реализуют переработку данных по некоторому алгоритму.
    • ситуационные центры – обобщенные информационно-аналитические комплексы. [12]

По сфере использования:

    • ИС организованного управления – реализация возможностей автоматизации работы управленческого персонала;
    • ИС управления техпроцессами – создание элемента управления механизмами, технологическими режимами в рамках автоматизированного производства;
    • АИС научных исследований – аппаратно-программные комплексы, которые предназначены для проведения испытаний и исследований;
    • ИС автоматизированного проектирования – программно-технические системы, которые выполняют роль исполнителя проектных работ с математическими методами;
    • автоматизированные системы обучения – совокупность программно-технической и учебно-методической информации, которая позволяет обеспечить учебную деятельность;
    • интегрированные ИС – реализация автоматизации всех основных функций компании.

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

    1. Жизненный цикл и модели жизненного цикла информационных систем

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

Основными стадиями в процессе являются [10]:

  • Разработка требований к информационной системе;
  • Разработка описательной концепции;
  • Разработка подробного технического задания;
  • Описание проекта информационной системы в соответствии с техническим заданием;
  • Разработка технической документации;
  • Описание порядка внедрения системы в деятельность предприятия (рисунок 2).

Рисунок 2 Основные стадии создания ИС

Сегодня чаще всего используют следующую модель жизненного цикла:

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

Рисунок 3 - Каскадная модель ЖЦ ИС

2) Поэтапная модель с промежуточным контролем (рисунок 4).

Проектирование и разработка информационной системы осуществляется путем выполнения операций с осуществлением контроля выполнения каждой. Исправления на этапе разработки дают возможность своевременно учитывать возникающие проблемы и их устранять [26].

Рисунок 4 - Поэтапная модель с промежуточным контролем

3) Спиральная модель (рисунок 5). На каждом цикле выполняется создание очередной версии продукта, уточняются требования проекта, определяется его качество, планируются работы следующего цикла.

Рисунок 5 - Спиральная модель ЖЦ ИС

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

Стандартная каскадная модель, несмотря на частные негативные отзывы за последнее время, исправно помогала специалистам по программному инжинирингу много лет. Понимание ее сильных и слабых сторон только улучшает оценочный анализ других, чаще более эффективных моделей ЖЦ, которые также основаны на данной модели [17].

Сама каскадная модель имеет множество преимуществ, но только при условии использования ее в проекте, приемлемом для нее. Ниже представлены ее преимущества:

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

• лучше справляется с трудностями и отлично срабатывает в тех проектах, где все достаточно понятно, но трудноразрешимо;

• легко доступна для понимания, так как нацелена на выполнение необходимых действий;

• проста и удобно в использовании, т.к. процесс разработки идет поэтапно.

Но в случае, если каскадная модель используется в проекте, не предназначенном для нее, проявляются следующие ее недостатки:

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

• не может предотвращать итерацию между фазами, которые очень часто встречаются при создании ПО, поскольку сама модель строится согласно стандартному циклу аппаратного инжиниринга;

• не показывает главное свойство разработки ПО, которое направлено на решение задачи. Отдельные фазы связаны определенными действиями, что часто отличается от привычной работы коллектива или персонала;

• создает ошибочное впечатление о работе с проектом. Указание, что «45% выполнено» обычно не имеет какого-то смысла и не служит показателем для менеджера проектов.

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

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

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

Реализация жизненного цикла системы, как и многие процессы эволюционировали. Самые известные модели жизненного цикла и время их появления:

• каскадная модель, 70-е года двадцатого века;

• итерационная модель, 70-80 года двадцатого века;

• спиральная модель, начало 80-х годов двадцатого века.[1]

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

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

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

Спиральная модель - это модель, в которой многократное возвращение к предыдущим этапам предусматривается с самого начала. Таким способом требования заказчика более точно прорабатываются и отражаются. Прохождение этапов идет по спирали, и на каждом витке спирали создается еще одна дополнительная, более совершенная и точная [5].

Внедрение разработанной информационной системы может производится в соответствии с четырьмя стратегиями:

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

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

4) Узкое место – при внедрении «узкого места», план выполняется только для него самого, а также для сотрудников, которые там работают.

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

    1. Проектирование и основные технологии разработки информационных систем

К базовым технологиям проектирования АИС можно отнести:

• объектно-ориентированный подход;

• функционально-модульный или структурный подход.

Структурный (функционально-модульный) подход выражается принципом алгоритмического разделения. В соответствии с этим принципом реализуется декомпозиция функций ИС на отдельные модули по функциональной принадлежности, и каждый подобный модуль воспроизводит один из этапов целого процесса[18].

Функционально-модульный подход в процессе создания ИС, который также называется «модель водопада», включает в себя строго последовательный порядок действий.

Главным достоинством функциональных моделей становится реализация структурного подхода к созданию информационных систем по схеме "сверху-вниз", когда любой функциональный блок может быть разделен на множество подфункций и т.д., таким образом, реализуя модульное проектирование ИС. Для функциональных моделей зачастую характерной чертой является строгость разделения ИС и наглядность представления[19].

В процессе функционального подхода объектные модели данных в виде ER-диаграмм "объект — свойство — связь" создаются отдельно. Чтобы проверить правильность проектирования предметной области между объектными и функциональными моделями выделяются взаимно однозначные связи.

Основной недостаток такого подхода объясняется движением данных в одном направлении. При наличии какой-либо сложности в ходе разработки в соответствии с таким стандартом она может решиться только на данной стадии и никак не может быть связана с другими стадиями разработки [20].

Получается, что помимо функционального разделения, имеет место быть также структура данных, которая всегда располагается на втором плане[21].

В объектно-ориентированном подходе (ООП) главной категорией объектной модели является класс, который включает в себя на элементарном уровне, как данные, так и операции, которые над ними реализуются (методы). Именно с такой позиции все изменения, относящиеся к переходу от структурного к ООП, становятся максимально заметными. Разделение процессов и данных устранено, но существует еще вопрос по минимизации сложности системы, который решается методом применения механизма компонентов[22].

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

Можно выделить также ряд преимуществ ООП:

1) Объектная декомпозиция позволяет разрабатывать программные системы более компактного размера при помощи общих механизмов, которые дают необходимую экономию выразительных средств. Применение объектного подхода значительно увеличивает уровень оптимизации разработки и пригодность для последующих применений не только программ, но и проектов, что позволяет создать среду разработки и перейти к сборочному созданию ПО. Системы практически всегда получаются более компактными, чем их структурные эквиваленты, что показывает не только уменьшение объема кода программы, но и уменьшение затрат на проект за счет применения итогов предыдущих разработок[23];

2) Объектная декомпозиция минимизирует риск разработки сложных систем ПО, основывается на эволюционном пути развития системы на базе небольших внутренних подсистем. Процесс объединения системы проходит на протяжении всего времени разработки и не становится единовременным событием;

3) Объектная модель очень естественна, поскольку изначально ориентирована на человеческое восприятие мира, а не IT-реализацию;

4) Объектная модель дает возможность максимально использовать выразительные способности объектных и объектно-ориентированных средств программирования.

К недостаткам ООП относят небольшое снижение эффективности функционирования ПО и повышенные начальные затраты.

Объектная декомпозиция значительно отличается от функционального подхода, именно поэтому переход на новую технологию связан как с решением вопроса психологических трудностей, так и дополнительными материальными вложениями[24].

Конечно, объектно-ориентированная модель более правильно отражает реальный мир, который представляет собой совокупность взаимодействующих (при помощи обмена сообщениями) объектов. Но в реальности даже в настоящий момент не останавливается формирование стандарта языка объектно-ориентированного моделирования UML, и количество различных CASE-средств, которые поддерживают ООП, очень мало в сравнении с поддерживающими структурный подход.

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

При смене структурного подхода на объектный, как при случае смены любой другой технологии, нужно вкладывать деньги в покупку новых инструментальных средств. В таком случае следует обращать внимание на расходы на обучение (понимание метода, инструментальных средств и языка программирования). Для многих компаний подобные обстоятельства могут стать значительными препятствиями[25].

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

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

Для ООП созданы графические методы построения предметной области, собранные воедино в языке унифицированного моделирования UML. Но если говорить о наглядности проекта для самого заказчика, то объектно-ориентированные модели безусловно уступают функциональным моделям.

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

В нашем проекте предпочтительнее будет функциональный метод, поскольку проект не будет слишком большим, чтобы применять объектно-ориентированного метода[26].

По итогу, путь от разработки до внедрения ИС с компании состоит из нескольких этапов:

1) Изучение описанных требований и вникание в БП компании;

2) Подготовка ТЗ;

3) Процесс создания системы;

4) Подготовка документов по системе;

5) Проведение тестирования;

6) Установка и начало использования системы.

Выделим основные варианты перехода на ИС для упрощения процесса продаж [29]:

1) Покупка готового продукта

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

В рамках изучения подобных ПО для автоматизации складского учета так и не было найдено решение, которое бы на 100% могло соответствовать описанным требованиям.

2) Разработка система на заказ

Такой вариант получения ИС позволяет иметь систему, которая почти идеально соответствует требованию заказчика. Но всегда есть и сторонние риски: время разработки ПО может сильно затянутся, цена вырастет в несколько раз, само ПО будет с неявными дефектами, проявляемыми только по факту начала использования. Также, подобный вариант получения ПО так или иначе требует передачи неких конфиденциальных данных фирме-разработчику [30];

3) Покупка и модификация

Подобное решение помогает улучшить готовое решение для полного соответствия функциональным требованиям, предъявляемым к системе. Такое решение имеет в себе плюсы и минусы вариантов «Покупка готового ПО» и «Реализация ПО на заказ».

Полученное решение не сможет на 100% соответствовать требованиям фирмы. Часть модулей ПО будет протестирована идеально, вторая будет написана с нуля и вполне сможет иметь внутри разные дефекты.

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

По итогу данный вариант реализации несет в себе некоторые риски: неявная несовместимость отдельных элементов системы, скрытые ошибки в ПО [31];4) Собственное создание с нуля. Такой вариант позволяет реализовать систему, полностью соответствующую потребностям предприятия.

Плюсы данного варианта заключаются в последующей модернизации системы; минимизации рисков получения решения, не соответствующего требованиям компании; максимальная совместимость абсолютно компонентов системы; прямое взаимодействие с имеющимися ИС личной разработки; сохранение всех конфиденциальных данных в стенах компании [32].

Для построения информационной системы в основу взято каноническое проектирование.

  1. Язык программирования Паскаль

    1. Основные понятия

Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 — 1662)), разработан в 1968 — 1971 гг. Никлаусом Виртом, профессором, директором Института информатики Швейцарской высшей политехнической школы. Язык Паскаль, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использоваться для разработки программных средств в профессиональном программировании.

Широкой популярности Паскаля среди программистов способствовали следующие причины:

  • Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно легким для изучения.
  • Язык программирования Паскаль отражает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
  • Язык Паскаль позволяет четко реализовать идеи структурного программирования и структурной организации данных.
  • Язык Паскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки правильности программ.
  • Применение языка Паскаль значительно подняло "планку" надежности разрабатываемых программ за счет требований Паскаля к описанию используемых в программе переменных, проверки согласованности программы при компиляции без ее выполнения.
  • Использование в Паскале простых и гибких структур управления: ветвлений, циклов.

Для повышения качества и скорости разработки программ в середине 80-х гг. была создана система программирования Турбо Паскаль. Слово Турбо в названии системы программирования — это отражение торговой марки фирмы-разработчика Borland International, Inc. (США).

    1. Основы работы с языком Pascal

    2. Главное меню TURBO PASCAL

Первая строка содержит все команды главного меню. В последней строке экрана приведены основные доступные в каждый текущий момент функциональные клавиши с указанием их назначения. Рабочее поле (окно редактирования) предназначено для вывода на экран и редактирования программы. Окно редактирования имеет по периметру рамку. На рамке окна указывается:

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

Закрытие окна осуществляется щелчком левой кнопки мыши по закрывающей кнопке. Переход между программами расположенными в различных окнах осуществляется левым щелчком мыши выбором команды WINDOWS и команды Next. Синоним F6.

Строка меню TURBO PASCAL

Строка меню TURBO PASCAL (TP) активизируется нажатием функциональной клавиши (F10) или левым щелчком мыши. Строка меню содержит имена следующих меню:

File (файл): позволяет выполнять все основные операции с файлами (создавать новые, загружать имеющиеся, сохранять созданные и отредактированные файлы, выводить на печатающее устройство содержимое этих файлов);

Edit (редактирование): позволяет выполнять все основные операции редактирования текста (копировать, вставлять, удалять фрагменты текста, а также восстанавливать первоначальный вариант редактируемого текста);

Search (поиск/замена): позволяет осуществлять поиск фрагментов текста и при необходимости производить замену найденного фрагмента новым;

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

Compile (компилирование): позволяет осуществить компиляцию программы, которая находится в рабочей зоне;

Debug (отладка): содержит команды, облегчающие процесс поиска ошибок в программе (Breakpoints - точки остановки, окно отладки Watch, окно используемых программ, окно регистров, окно выходных результатов и некоторые другие);

Tools ( сервис ): позволяет выполнять некоторые программы, не выходя из TP;

Options (параметры): позволяет установить необходимые для работы параметры компилятора и TP;

Window ( окно ): позволяет выполнить все основные операции с окнами (открывать, закрывать, перемещать, изменять размер);

Help ( справка ): позволяет получить имеющуюся в системе справочную информацию.

Необходимое подчиненное меню активизируется (открывается) при помощи комбинации клавиш [Alt + клавиша первой буквы имени подчиненного меню], а также путем последовательной активизации клавиш [F10] и клавиши первой буквы имени подчиненного меню. Выйти из подчиненного меню можно, нажав клавишу [ESC].

Рассмотрим некоторые пункты меню, обеспечивающие решение задачи в TURBO PASCAL.

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

New - удаление текущей программы из памяти и очистка экрана.

Open - загрузка файла с диска и переход в режим экранного редактирования.

Save - сохранение на диске текущего редактируемого файла и продолжение редактирования. Синоним команды - "F2".

Save as - запись текущего файла на диск под новым именем (можно задать также другие диск и каталог). После этой команды файл с новым именем становится текущим (это отражается соответствующей информацией в правом верхнем углу окна редактирования).

Save all - запись всех файлов.

Change dir - команда для изменения текущего каталога (здесь указывается имя диска или каталога, который до следующего изменения будет считаться текущим).

Print, Print setup - для работы с принтером.

DOS shell - временный выход в операционную систему, использовался ранее в ЭВМ имеющих не большую оперативную память (например, для выполнения команд удаления или переименования файлов). Возврат в Тубро-среду происходит после ввода команды Exit. Содержимое редактируемого файла не изменяется;

Exit - выход из Турбо-среды. Синоним - "Alt-X".

Команда Edit активизирует встроенный редактор.

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

Run - запуск программы на выполнение (при необходимости выполняется трансляция программы). По завершении работы программы происходит возврат в интегрированную Турбо-среду. Синоним - "CtrlF9";

Step over - пооператорное выполнение программы. В отличие от Trace при обращении к процедуре или функции вход в них не производится, а они рассматриваются как один оператор. Синоним - "F8";

Trace into - покомандное выполнение (трассировка) программы. Синоним - "F7";

Go to cursor - выполнение программы (без трассировки) от текущей строки;

Program reset - выход из режима отладки: все точки прерывания и переменные в окне просмотра сохраняются, но по командам Run, Trace или Step выполнение начинается с начала программы. Синоним - "Ctrl-F2";

User screen - показ результатов выполнения программы, выведенных на экран. Для возврата достаточно нажать любую клавишу. Синоним - "Alt-F5".

Команда Compile - компилирование перевод программы с языка Паскаль, например fist.pas в исполняемую программу в машинных кода fist.txt. В этом пункте меню можно определить место записи откомпилированной программы или в оперативную память, или на магнитный диск. Например: для записи на магнитный диск выбрать Destination Memory (Disk)- Disk

Все команды имеют собственные подменю, а некоторые - и несколько вложенных подменю. Для входа в главное меню следует нажать клавишу "F10", для выхода из него - "Esc" (СБРОС).

Вызов функций подменю осуществляется одним из трех вариантов:

  • с клавиатуры с помощью клавиш управления указателем мыши: влево, вправо, вверх или вниз и нажатием клавиши Enter для выполнения команды;
  • с клавиатуры нажатием соответствующих горячих клавиш (в дальнейшем названы синонимами);
  • с помощью мыши путем левого щелчка по соответствующему пункту меню.
    1. Порядок работы с меню

  1. Начальная настройка среды программирования:

Создать на диске QD): каталог для файлов программ.

Выполнить начальную настройку среды программирования:

выбрать команду Directories (Каталоги) в меню Options (Параметры) главного окна, в поле ввода EXE & TPU directories окна Directories ввести имя каталога с указанием пути к созданному каталогу, например С:\132 или A:\132.

  1. Создание новой программы.

Выбрать пункты меню File, New.

  1. Загрузка имеющейся на диске программы.

Выбрать пункты меню File, Open, Синоним - "F3 ", затем в появившемся окне (Files) выбрать папку, где находится файл и нужный файл, затем щелкнуть по кнопке Open.

  1. Выбор диска.

Выбрать пункты меню File, Change Dir в появившемся окне Change Directory щелкнуть двойным левым щелчком по надписи Driver и выбрать соответствующий диск, нужную папку, а затем щелкнуть левым щелчком мыши по кнопке Ok.

  1. Сохранение файла.

Выбрать пункты меню File, Save, Синоним - "F2 ", в появившемся окне задать имя файла, выбрать соответствующую папку, где сохранить файл и а затем щелкнуть левым щелчком мыши по кнопке Ok..

  1. Компилирование имеющейся в окне программы.

Выбрать команду Compile, затем выбрать пункт меню Compile и нажать клавишу Enter. Синоним - "Alt-F9 ".

  1. Выполнение имеющейся в окне программы.

Выбрать команду Run, затем выбрать пункт меню Run и нажать клавишу Enter.

Синоним - "Ctrl-F9 ".

    1. Порядок ввода и редактирования программ

Набор строки заканчивается нажатием клавиши Enter для перехода указателя на новую строку.

Вставка символа - подвести указатель на нужное место и набрать недостающие символы.

Удаление символа. Подвести указатель на удаляемый символ:

  • нажатием клавиши Del - удаляется выбранный символ, а строка сжимается справа к указателю мыши;
  • нажатием клавиши Back Space - удаляется символ стоящий слева от указателя, а строка сдвигается влево от указателя мыши.

Вставка строки. Маркер установить на конец строки, после которой вставить пустую (или на начало перед которой вставить пустую) и нажать Enter.

Удаление строки. Маркер установить на нужную строку и нажать клавишу

CTRL + Y.

Работа с блоком (фрагментом) программы:

  • установить указатель на начало выделяемого блока, пометить начало блока нажатием клавиш Ctrl + KB;
  • установить указатель на конец выделяемого блока, пометить конец блока нажатием клавиш Ctrl + KK;
  • перенос блока: установить указатель на место, куда необходимо перенести выделенный фрагмент, перенести выделенный фрагмент нажатием клавиш Ctrl + KV;
  • копирование блока: установить указатель на место, куда необходимо скопировать выделенный фрагмент, скопировать фрагмент нажатием клавиш Ctrl + KC;
  • удаление выделенного блока (фрагмента) нажатием клавиш Ctrl + KY;
  • сохранение выделенного блока на магнитном диске нажатием клавиш Ctrl + KW, затем ввести имя сохраняемого блока;
  • чтение сохраненного блока нажатием клавиш Ctrl + KR, ввести имя вставляемого в программу файла;

Сохранение файла. Для сохранения файла нажать F2 (при первом сохранении ввести имя файла в котором будет сохранена программа).

    1. Отладка и выполнение программ

  1. Вызовите компилятор языка Турбо-Паскаль нажатием клавиши - Alt + F9 и откомпилируйте набранную программу (из меню выбрать команду Compile, затем пункт подменю Compile).

При отсутствии ошибок в программе после компиляции высвечивается сообщение Compile Successful Press any key. Компилирование завершено успешно для продолжения нажмите любую клавишу.

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

  1. Выполнение программы. Для запуска программы на выполнение выбрать команду Run, затем выбрать пункт меню Run и нажать клавишу Enter.

Синоним - "Ctrl-F9".

  1. Просмотр результатов выполнения программы Alt+F5.
  2. Возврат в редакционное окно нажатием любой клавиши.
    1. Завершение работы с TURBO PASCAL

Завершить работу с TP можно с помощью комбинации клавиш [Alt + X] или команды Quit меню File (кратко - [Alt + F], [Q]).

Если возникла необходимость временно выйти из TP, например, для ввода команд в ответ на подсказку MS-DOS, вызовите команду File/DOS Shell. При этом TP останется в памяти, но управление будет передано DOS. После выхода из TP Вы можете ввести команды DOS или запустить другие программы. Когда Вы будете готовы вновь вернуться в TP, наберите в командной строке команду EXIT и нажмите клавишу [Enter]. При этом TP появится в том же состоянии, в котором была, когда Вы выходили из нее.

    1. Структура программы на языке TURBO PASCAL

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

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

Максимальный размер программы ограничен. Компилятор позволяет обрабатывать программы и библиотечные модули, в которых объем данных и генерируемый машинный код не превышают 64 Кбайт каждый. Если программа требует большего количества памяти, следует использовать библиотечные модули (;TPU-файлы) или оверлейные структуры.

Синтаксическая диаграмма блока:

X:\НАСУЩНОЕ\ГОТОВОЕ НЕ МОЕ\media\image4.png

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

Исходя из этого можно записать структуру программы следующим образом:

program <имя>; uses <имя1, имя2,...>; label ...; const ...; type ...; var ...;

procedure <имя>;

<тело процедуры> function <имя>;

<тело функции> begin

<операторы>

end.

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

  • списка имен подключаемых библиотечных модулей (он определяется зарезервированным словом uses);
  • описания меток;
  • описания констант;
  • определения типов данных;
  • описания переменных;
  • описания процедур и функций;
  • операторов.

Любой раздел, кроме раздела операторов, может отсутствовать. Разделы описаний (кроме uses, который всегда расположен после заголовка программы) могут встречаться в программе любое количество раз и следовать в произвольном порядке. Главное, чтобы все описания объектов программы были сделаны до того, как они будут использованы.

РАЗДЕЛ USES

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

Формат:

uses <имя1>,<имя2>,... ;

Пример.

uses Crt;

РАЗДЕЛ ОПИСАНИЯ МЕТОК

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

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

Метка состоит из имени и следующего за ним двоеточия. Именем может служить идентификатор или цифра. Максимальная длина имени метки ограничена 127 символами. Перед употреблением метка должна быть описана. Раздел описания меток начинается зарезервированным словом label (метка), за которым следуют имена меток, разделенные запятыми. За последним именем ставится точка с запятой.

Формат: label <имя,...>;

Пример.

label

Metka1, Metka2;

После записи метки в разделе операторов следует двоеточие, показывающее компилятору, что идентификатор используется как метка:

label

M1, M2; {Описание меток}

begin

Ml: <оператор> {Использование Ml в разделе операторов}

M2: <оператор> {Использование M2 в разделе операторов}

end.

Если метка описана, но в разделе операторов не используется, то ошибки при этом не возникает, т.е. метки можно описывать и применять по мере расширения программы.

РАЗДЕЛ ОПИСАНИЯ КОНСТАНТ

В разделе описания констант производится присваивание идентификаторам констант постоянных значений. Раздел начинается зарезервированным словом const, за которым следует ряд выражений, присваивающих идентификаторам постоянные числовые или строковые значения. Выражения присваивания отделяются друг от друга точкой с запятой. Формат:

const <идентификатор> = <значение>;

Пример.

const

Maxind: word = 100; {Типизированная константа}

Name = 'Петя'; {Строковая константа}

Code = $124; {Константа — шестнадцатеричное значение}

РАЗДЕЛ ОПИСАНИЯ ТИПОВ ДАННЫХ

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

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

Формат записи:

type <имя типа> = <значения типа>;

Пример.

type

LatLetter = ('А'..'г');

Days = 1. . 31;

Matr = array[1..10] of integer;

Каждое описание задает множество значений и связывает с этим множеством некоторое имя типа. Например, в данном описании тип LatLetter определяет множество букв латинского алфавита. Days — множество целых чисел от 1 до 31, Matr — массив из 10 целых чисел.

РАЗДЕЛ ОПИСАНИЯ ПЕРЕМЕННЫХ

Каждая встречающаяся в программе переменная должна быть описана. Описание обязательно предшествует использованию переменной. Раздел описания переменных начинается зарезервированным словом var (variable — переменная), затем через запятую перечисляются имена переменных и через двоеточие следуют их тип и точка с запятой. Формат:

var

<идентификатор, . . . > : <тип>;

В рассматриваемом примере программы три переменных А, В и Proizved могут принимать целочисленные значения, описаны следующим образом:

var

А,В, Proizved : integer;

РАЗДЕЛ ОПИСАНИЯ ПРОЦЕДУР И ФУНКЦИЙ

В общем случае подпрограмма имеет ту же структуру, что и программа. Для описания подпрограмм используются зарезервированные слова procedure и function, которые записываются в начале подпрограммы. Формат процедуры: procedure <имя процедуры> {<параметры>} ;

<разделы описаний>

<раздел операторов> end;

Формат функции:

function <имя функции> {<параметры>} : <тип результата>;

<разделы описаний>

<раздел операторов> end;

РАЗДЕЛ ОПЕРАТОРОВ

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

Раздел операторов начинается зарезервированным словом begin (начало), далее следуют операторы языка, отделенные друг от друга точкой с запятой. Завершает раздел зарезервированное слово end (конец) с точкой.

Например:

begin {Начало программы}

Write ('Введите значение целого числа А >'); {Вывод запроса на экран}

Readln (A); {Ввод значения А с клавиатуры}

Write ('Введите значение целого числа В >');

Readln (В);

Proizved := А * В; {Вычисление переменной Proizved}

Write ('Произведение чисел ',А,' и ',В,' = ',Proizved); {Вывод ответа}

end. {Конец программы}

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

Слова begin и end являются аналогом открывающей и закрывающей скобки в обычных арифметических выражениях.

ЗАКЛЮЧЕНИЕ

В работе рассмотрены основные понятия разработки информационных систем с помощью языков программирования, а также подробно освещены вопросы работы с языком программирования Pascal.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Атчисон Л. Масштабирование приложений. Выращивание сложных систем, -М.: Питер, 2018 г.- 256 с.
  2. Барт Бэзинс, Эйми Бэкил, Зеппе Ванден Бруке, Java для начинающих. Объектноориентированный подход, -М.: Питер, 2018 г.- 688 с.
  3. Березин С.А., Березин Б.А., Начальный курс С и С++, -М.: ДиалогМИФИ, 2017 г.- 288 с.
  4. Браун И. Веб-разработка с применением Node и Express. Полноценное использование стекаJavaScript, -М.: Питер, 2017 г.- 336 с.
  5. Брукс Ф. Проектирование процесса проектирования. Записки компьютерного эксперта, -М.: Вильямс, 2017 г.- 464 с.
  6. Бунаков П.А., Лопатин А. В, Практикум по решению задач на ЭВМ в среде Delphi. Учебное пособие, -М.: ИнфраМ, 2018 г.-, 304 с.
  7. Васильев Р.А, Калянов Г.А., Левочкина Г.А. Стратегическое управление информационными системами, -М.: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2017 г.- 512 с.
  8. Вернон В. Реализация методов предметно-ориентированного проектирования, -М.: Вильямс, 2017 г.- 688 с.
  9. Габасов Р.А., Кириллова Ф.А., Методы линейного программирования. Часть 1. Общие задачи, -М.: Либроком, 2018 г.- 176 с.
  10. Габасов Р.А., Кириллова Ф.А., Методы линейного программирования. Часть 3. Специальные задачи, -М.: Либроком, 2018 г.- 368 с.
  11. Головин И. Г., Захаров В. Б., Мостяев А. И. Влияние тенденций современного общества на процесс создания, распространения и поддержки программ для мобильных устройств // Научный взгляд в будущее. 2016.- Т. 4, № 2. С. 4151.
  12. Дакетт Д. Javascript и jQuery. Интерактивная веб-разработка, - М.: Эксмо, 2017 г.- 640 с.
  13. Дональд Эрвин Кнут, Искусство программирования. Том 2. Получисленные алгоритмы, -М.: Вильямс, 2017 г.- 832 с.
  14. Закас Н. JavaScript для профессиональных веб-разработчиков, -М.: Питер, 2015 г.- 960 с.
  15. Иванова Г.А. Технология программирования, -М.: КноРус, 2018 г.- 336 с.
  16. Исаев Г.А. Теоретико-методологические основы качества информационных систем, М. Инфра-М, 2018 г.- 258 с.
  17. Кнут Д. Искусство программирования. Том 3. Сортировка и поиск, -М.: Вильямс, 2017 г.- 824 с.
  18. Коберн А. Современные методы описания функциональных требований к системам, -М.: Лори, 2017 г.- 288 с.
  19. Колисниченко Д.Н: PHP и MySQL. Разработка Web-приложений, -М.: BHV, 2017 г.- 740 с.
  20. Кузнецов А. С., Ченцов С. В. Многоэтапный анализ архитектурной надежности и синтез отказоустойчивого программного обеспечения сложных систем, -М.: Инфра-М, 2018 г.- 144 с.
  21. Липпман С. Б., Барбара Э. М. Язык программирования C++. Базовый курс, -М.: Вильямс, 2017 г.- 1120 с.
  22. Лю Б. Теория и практика неопределенного программирования, -М.: Бином. Лаборатория знаний, 2017 г.- 416 с.
  23. М. Тим Джонс, Программирование искусственного интеллекта в приложениях, -М.: ДМК Пресс, 2018 г.- 312 с.
  24. Макаровских Т.А., Панюков А. С., Языки и методы программирования. Создание простых GUIприложений с помощью Visual С++, М.: Ленанд, 2018 г.-144 с.
  25. Макдональд М. Веб-разработка. Исчерпывающее руководство, -М.: Питер, 2017 г.- 640 с.
  26. Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5, -М.: Питер, 2016 г.- 768 с.
  27. Окулов С.А., Пестов О.Г, Динамическое программирование, -М.: Бином. Лаборатория знаний, 2017 г.- 296 с.
  28. Окулов С.А., Пестов О.Г. Динамическое программирование, -М.: Бином. Лаборатория знаний, 2017 г.- 296 с.
  29. Панюкова Т.А. Панюков А.С. Языки и методы программирования. Путеводитель по языку С++, -М.: Ленанд, 2018 г.- 216 с.
  30. Подбельский В.А. Курс программирования на языке Си, -М.: ДМК Пресс, 2018 г.- 384 с.
  31. Поль М. Дюваль, Стивен Матиас, Эндрю Гловер, Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска, -М.: Вильямс, 2017 г.- 240 с.
  32. Порселло Б. React и Redux. Функциональная веб-разработка, М. Питер, 2018 г.- 336 с.
  33. Скиена С. Алгоритмы. Руководство по разработке, Спб, БХВ-Петербург, 2018 г.- 720 с.
  34. Скляр Д. Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов, М. Диалектика, 2017 г.- 464 с.
  35. Томсон В. Разработка веб-приложений с помощью PHP и MySQL, -М.: Диалектика, 2017 г.- 768 с.
  36. Хоекстра А. Семантический веб, -М.: ДМК-Пресс, 2016 г.- 240 с.
  37. Царев Ю.Р. Торговое предприятиеверсионное программное обеспечение. Алгоритмы голосования и оценка надёжности: Монография, -М.: Инфра-М, 2018 г.- 118 с.
  38. Эванс Э., Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем, -М.: Вильямс, 2017 г.- 448 с.
  39. Эспозито Д. Разработка современных веб-приложений. Анализ предметных областей и технологий, -М.: Вильямс, 2017 г.- 464 с.
  40. Выбор языка программирования // Центр разработки для Windows [Официальный вебсайт]. [Электронный ресурс]URL: https://docs.microsoft.com/ruru/windows/uwp/porting/getting startedchoosingaprogramminglanguage.( дата обращения 26.02.2020)