Файл: «Разработка программ с графическим интерфейсом на С++».pdf
Добавлен: 20.05.2023
Просмотров: 306
Скачиваний: 10
Введение
Программирование занимает одну из значительных ниш в современном мире. Нынешнее программирование многогранно и используется в таких важных сферах как строительство, бизнес и экономика, медицина, биология и физика и не только. Большой процент физического труда в промышленности заменен на машинный и роботизированный труд, который управляется посредством программного обеспечения, что обеспечивает существенный прирост скорости, точности операций и эффективности производства. Такое богатство разнообразия применений обеспечивается солидным выбором языков программирования, у каждого из которых есть свои плюсы и минусы.
В данной курсовой работе дадим определения основным понятия программирования, рассмотрим языки программирования, историю развития, структуру программ, структуру программ C++. Рассмотрим разработку программ с графическим интерфейсом на С++ и реализуем на практике.
ГЛАВА 1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Основные понятия программирования
Программирование - это раздел информатики, изучающий методы и приемы составления программ для компьютеров. Кроме того, программирование - это подготовка задачи к решению ее на компьютере.
Алгоритм - точный набор инструкций, которые необходимо выполнить для решения поставленной задачи за конечное число шагов.
Программа - это последовательность команд, понятных компьютеру.
Команда – элементарное предписание, предусматривающее выполнение какого-либо действия.
Операторы – действия, предписываемые командой.
Программа записывается в виде символов, к числу которых относятся латинские и русские буквы, цифры, знаки препинания и знаки операций.
Программа – данные, их описание и алгоритм, записанный на языке программирования.
Язык программирования – формализованный язык для написания программ. Все языки программирования являются искусственными, в них синтаксис и семантика строго определены.
Языки программирования. Историю развития
Языки программирования – это искусственные языки записи алгоритмов для исполнения их на ЭВМ. Программирование (кодирование) -составление программы по заданному алгоритму.
Языки программирования представляют собой изобразительные средства, предназначенные для непосредственной реализации алгоритма на
вычислительной машине. С помощью языков программирования пишется программный код, организованный в виде программы, программного модуля
или отдельного метода, входящего в объект. Программный код преобразуется в машинный язык, который понимается и выполняется вычислительной машиной.
Языки программирования разделяются на две основные категории: языки высокого уровня и языки низкого уровня:
Язык низкого уровня - это язык программирования, предназначенный для определенного типа компьютера и отражающий его внутренний машинный код; языки низкого уровня часто называют машинно-ориентированными языками. Их сложно конвертировать для использования на компьютерах с разными центральными процессорами, а также довольно сложно изучать, поскольку для этого требуется хорошо знать принципы внутренней работы компьютера.
К языкам самого низкого уровня относят машинные языки. Их относят к первому поколению языков программирования. Вскоре после них появились языки второго поколения — так называемые «языки ассемблера»
Язык высокого уровня - это язык программирования, предназначенный для удовлетворения требований программиста; он не зависит от внутренних машинных кодов компьютера любого типа. Языки высокого уровня используют для решения проблем и поэтому их часто называют проблемно-ориентированными языками. В большинстве случаев языки высокого уровня порождают машинный код большего размера и исполняются медленнее. Однако, некоторые языки высокого уровня для алгоритмически и структурно сложных программ могут давать заметное преимущество в эффективности, уступая низкоуровневым лишь на небольших и простых программах. Иначе говоря, потенциальная эффективность языка меняется с повышением его «уровня» нелинейно и вообще неоднозначно. Однако, скорость разработки и трудоёмкость модификации, устойчивость и другие показатели качества в сложных системах оказываются гораздо важнее предельно возможной скорости исполнения — они обеспечивают различие между программой, что работает, и той, что нет — так что экономически более целесообразна эволюция аппаратного обеспечения (исполнение большего числа инструкций в единицу времени) и методов оптимизирующей компиляции (более того, последние десятилетия эволюция аппаратного обеспечения движется в направлении поддержки методов оптимизирующей компиляции для языков высокого уровня). К примеру, автоматическая сборка мусора, присутствующая в большинстве высокоуровневых языков программирования, считается одним из важнейших улучшений, благотворно повлиявших на скорость разработки
Историю развития:
1. Машинный язык (40-50 годы XX в.).
Программы на машинном языке – очень длинные последовательности единиц и нулей, являлись машинно зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу.
2. Ассемблер (начало 50-ых годов XX в.).
Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код).
3. Первые языки программирования высокого уровня.
С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-levellanguage). Эти языки были Машино независимыми (не привязаны к определеному типу ЭВМ). Но для каждого языка были разработаны собственные компиляторы.
Примеры таких языков: FORTRAN (FORmulaTRANslator; 1954 г.) предназначен для научных и технических расчетов; COBOL (1959 г.) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных) – CommonBusiness-OrientedLanguage); язык BASIC (Beginner’sAllPurposeInstuctionCode – универсальный язык символьных инструкций для начинающих) (1964 г.)
4. Алгоритмические языки программирования.
С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода (goto). К этим языкам относятся: язык Pascal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970 г.); язык Си, позволяющий быстро и эффективно создавать программный код (1971 г.)
5. Языки объектно-ориентированного программирования
(90-ые г. XX в.). В основу этих языков положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны интегрированные среды программирования, позволяющие визуально конструировать графический интерфейс приложений:
язык С++ (1983 г.) - продолжение алгоритм. языка Си;
язык ObjectPascal (1989 г.) был создан на основе языка Pascal. После создания среды программирования – Delphi (1995 г.);
язык VisualBasic(1991 г.) был создан корпорацией Microsoft на основе языка Qbasic (1975 г.) для разработки приложений с графическим интерфейсом в среде ОС Windows.
6. Языки программирования для компьютерных сетей.
В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, MacOS и др.) могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:
язык Java- объектно-ориентированный язык был разработан фирмой SunMicrosystems для создания сетевого программного обеспечения (1995 г.);
язык JavaScript – язык сценариев Web-страниц (компания Netscape). (1995 г.).
7. Языки программирования на платформе .NET.
Интегрированная среда программирования VisualStudio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе:
на языке Visual Basic .Net ( наоснове Visual Basic) - 2003 г.;
на языке VisualC# (С-шарп) – на основе языков С++ и J – 2003 г.;
на языке VisualJ# (J-шарп) – на основе Java и JavaScript – 2003 г.
8. Golang, Go - это язык программирования с открытым исходным, который был создан тремя сотрудниками Google и запущен в 2009 году. Go – это производная от популярных языков программирования, таких как C и Java, он предлагает краткие обозначения и стремится сохранить код более простым и читаемым. Разработчики языка, Роберт Гризмер, Роб Пайк и Кен Томпсон, сказали, что сложность C++ была их основным мотиватором. Этот простой язык программирования выполняет большинство своих задач только с помощью стандартной библиотеки. Сочетает в себе скорость динамических языков, таких как Python, и надежность C/C++, Go стал идеальным инструментом для создания распределенных систем с большим объемом данных.
9. Apple представила язык программирования Swift на 2014 WWDC как замену Objective-C. Он разработан простым по своей натуре, Swift фокусируется на скорости и безопасности. С момента своего запуска, Swift пользуется повышенным спросом и стал одним из самых востребованных языков программирования.
10. Rust был разработан Mozilla в 2014 году, и согласно опросу от StackOverflow в 2016 году, Rust был признан самым любимым языком программирования. Rust был разработан Mozilla в качестве альтернативы C++, он фокусируется на «производительности, параллелизме и безопасности памяти». Rust был создан с нуля, и в нем применяется современная архитектура языка программирования. Язык поддерживает большое число разработок и библиотек
11. Hack – ещё один язык, совсем недавно (в 2014 году) созданный IT-гигантом, на этот раз Facebook. За основу был взят PHP, но с улучшениями в области надёжности и быстродействя, обеспечиваемые статической типизацией. Собственно, главной рекламой и демонстрацией возможностей является сам Facebook с клиентской базой свыше миллиарда человек. И, как показывает практика, Hack Марка Цукерберга пока не подводит. Facebook сделал Hack языком с открытым исходным кодом, подлежащим компиляции на виртуальной машине HHVM. Удобство заключается в том, что HHVM работает с транслятором на базе HipHop, который в свою очередь «переваривает» и Hack, и PHP.
1.2. Основы структурного программирования
Структура – это объединение одного или нескольких объектов (переменных, массивов, указателей, других структур и т.д.) Как и массив, она представляет собой совокупность данных. Отличием является те, что к ее элементам необходимо обращаться по имени и что различные элементы структуры не обязательно должны принадлежать одному типу. Переменные, из которых состоит структура, называется членами. Члены структуры еще называются элементами или полями.
Когда объявляется структура, то определяется агрегатный тип, а не переменная. Пока не объявите переменную этого типа, то существовать она не будет.
Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 1970-х годах Э. Дейкстрой и др.
В основу структурного программирования как научной методологии разработки алгоритмов и программ заложен ряд принципов системного подхода:
1)программа должна составляться поэтапно небольшими шагами;
2)размер шага определяется количеством решений, применяемых программистом на этом шаге;
3)сложная задача должна разбиваться на простые, легко воспринимаемые блоки, каждый из которых имеет один вход и один выход;
4)логика алгоритма и программы должна опираться на минимальное число достаточно простых базовых управляющих структур.
Структурированная программа представляет собой композицию из последовательных или вложенных друг в друга блоков с одним входом и одним выходом каждый, причем размеры этих блоков могут доходить до уровня отдельных операторов языка.
Важной вехой на пути признания методов структурного программирования явился 1975-й год, когда Д. Кемени и Т. Курц, авторы языка "Бейсик", ввели в него структурные возможности и практически выбросили оператор GOTO. В настоящее время имеется уже несколько языков высокого уровня, основанных на принципах структурного программирования (Паскаль, Модула, Ада, Си).
Подпрограмма является важным элементом структурного программирования. Изначально подпрограммы появились как средство оптимизации программ по объёму занимаемой памяти — они позволили не повторять в программе идентичные блоки кода, а описывать их однократно и вызывать по мере необходимости. К настоящему времени данная функция подпрограмм стала вспомогательной, главное их назначение — структуризация программы с целью удобства её понимания и сопровождения.