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

Обзор языков программирования высокого уровня (Язык программирования высокого уровня Pascal)

Содержание:

ВВЕДЕНИЕ

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

При выборе языка программирования, операционной системы, численных методов, типа ЭВМ в первую очередь учитываются потребности специалистов [2, стр.5].

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

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

Во второй главе описан один из языков программирования высокого уровня Pascal. Язык программирования Pascal создан в 1973 году швейцарским ученым Николасом Виртом и был назван в честь выдающегося французского физика, математика и философа Блеза Паскаля (1623-1662), который являлся автором первой в мире вычислительной (суммирующей) машины (1641). Язык первоначально создавался для целей обучения программированию вообще. По словам автора языка «… разработка языка Паскаль базировалась на двух принципиальных концепциях. Первая состояла в том, чтобы изобрести язык, приспособленный к обучению программированию как систематической дисциплине, базирующейся на некоторых фундаментальных положениях, ясно и естественно отраженных в языке. Вторая предполагала разработку конкретных представлений этого языка, которые были бы надежны и эффективны на современных ЭВМ.» По мнению Вирта, «язык, на котором студент учится выражать свои идеи, существенно влияет на его способ мышления и изобретательность… беспорядок, сопутствующий существующим языкам, непосредственно влияет на стиль программирования студентов.»

Язык Pascal является универсальным, потому что на нём можно писать программы для обработки данных различных видов (числовых, текстовых), как простых, так и организованных в сложные структуры. На нём можно записывать алгоритмы самых различных видов и самой разной сложности [2, c.5].

Третий раздел – это практическая часть, в которой создан .калькулятор среде Visual Basic 6.0.

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

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

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

Для достижения цели необходимо решить следующие задачи:

  • рассмотреть основные понятияпрограммирования;
  • рассмотреть основные языки программиирования высокого уровня;
  • описать один из языков программирования высокого уровня;
  • создать программу на одном из языков высокого уровня;
  • описать требования к созданной программе.

При написании курсовой работы использовались научные труды следующих авторов: Павловская Т.А. [3,4], Гураков Т.В. [2], Вольский С.В. , Дмитриев П.А. [6], ПТ. [8] и другие.

1. Обзор языков программирования высокого уровня

1.1 Эволюция языков программирования

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

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

Язык программирования - это искусственный язык. Он отличается от естественногоследующими принципами:

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

Требования для записи команд являются синтаксисом языка, а смысл каждой команды – семантикой языка.

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

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

Язык программирования, ориентированный на конкретный тип процессора, учитывающий его особенности, - это язык программирования низкого уровня. “Низкий уровень” –это значит, что операторы близки к машинному коду и ориентированы на конкретный тип процессора. Примером такого языка является язык Ассемблер.

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

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

1.2 Поколения языков программирования.

Языки программирования принято делить на пять поколений. Первое поколение приходится на начало 50-х годов, когда первые компьютеры только появились на свет. Был создан первый язык программирования низкого уровня - язык ассемблера, состоящий из
«одной инструкции – одной строки».

Второе поколение языков программирования - конец 50-х – начало 60-х годов. Тогда создан символический ассемблер, введено понятие переменной. Благодаря его созданию заметно возросла скорость разработки программ.

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

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

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

1.3 Классификация и обзор языков программирования

Языки программирования разделяются на классы следующим образом:

Языки программирования

Процедурные

Объектно-ориентированные

Декларативные

Операционные

Структурные

Объектные

Визуальные

Функциональные

Логические

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

Языками процедурного программирования являются фортран, Кобол, Алгол.

В 20-го веке в 60-х годах был создан специализированный язык программирования– BASIC. Это язык программирования, основными качествами которого являются простота освоения и наличие универсальных средств для решения задач из разных отраслей.

Все перечисленные выше языки ориентируются на различные классы задач, но привязаны к конкретной архитектуре ЭВМ [14].

В XX столетии, в 1968 году был создан язык процедурного программирования Паскаль (PASCAL), который применяется и в настоящее время. ОсновойPascal положен подход от общи задач к частным.

Основные принципы Паскаль:

а) Структурное программирование, используемые подпрограммы и независимые структуры данных;

б) Программирование «сверху-вниз», переход от сложного к более простому.

В начале 70-х годов был создан язык процедурного программирования СИ. Первоначальный его вариант планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Одной из особенностей языка СИ является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования. Кроме того, в языке СИ отсутствует понятие процедуры, а использование подпрограмм основано на понятии функции, которая может сочетать в себе возможности процедуры. С одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык [8].

Объектно-ориентированное программирование (ООП) — это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта.

Наиболее современными языками программирования являются С++ и Java. С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся VisualBasic, Delphi, C++ Builder, VisualC++.

Язык VBA (Visual Basic for Application) – язык приложений Microsoft Office (Excel, Word, Power Point идр). VBA соблюдает основной синтаксис языка и правила программирования языков Basic – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

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

Функциональное программирование- это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым языком стал язык Лисп (LISP, LISTProcessing- обработка списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы текстовой информации.

Логическое программирование- это программирование в терминах логики.

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

создание, преобразование и удаление таблиц в БД;

поиск, отбор, сортировка по запросам пользователя;

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

Для обработки больших массивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (StructuredQueryLanguage). Язык SQL – это стандартный язык работы с реляционными базами данных.

Сегодня в мире ведущие производители СУБД: Microsoft (SQLServer), IBM (DB2), Oracle, SoftwareAG (Adabas), Informix и Sybase. Практически в каждой СУБД имеется свой встроенный язык работы с БД. Так, например, в Oracle имеется встроенный язык PL/SQL, в Informix – INFORMIX 4GL, в Adabas – Natural и т.д.

Языки программирования для компьютерных сетей - интерпретируемые. Интерпретатор для для каждой такой программы распространяется бесплатно, а сама программа отображается в исходных текстах. Такие языки имеют название скрипт – языки. Языками для компьютерных сетей являются HTML,Perl,PHP,Tcl/Tk,VRML,XML.

2. Язык программирования высокого уровня Pascal

Персоналии

Языки программирования высокого уровня предназначены для записи алгоритмов в форме, более удобной для человека по сравнению с машинными языками, низкоуровневыми и состоящими из одних цифр. С развитием информатики придумано огромное количество языков программирования, однако в настоящее время используются немногие из них. Язык Pascal создал в 1970 году Никлаус Вирт (рис.1) специально для начального обучения программированию.

Рис.1 Никлаус Вирт

Еще подростком Вирт страстно увлекался конструированием радиоуправляемых моделей самолетов. Это привело к тому, что в 1963 г. он получил степень бакалавра по электротехнике в Калифорнийском университете.

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

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

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

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

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

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

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

Успех Паскаля намного превысил скромные ожидания Вирта. Коллеги по обе стороны Атлантического океана приняли его как средство обучения программированию будущих специалистов по информатике.

Возможно, самое важное состояло в том, что Паскаль стал путеводной звездой зарождающегося в то время движения за структурное программирование, которое обрело силу в конце 70-х годов. Оно ставило своей целью пересмотр способа разработки программ, и начало ему было положено публикацией в 1972 г. книги «Структурное программирование» англичанина К.А.Р. Хоара, норвежца О.Дж. Дала и выдающегося голландского специалиста по информатике Эдсгера Дейкстры.

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

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

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

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

Язык назван в честь великого физика и математика Блеза Паскаля (рис.2), первого изобретателя суммирующего механического устройства (арифмометра) [1, c.5].

pascal 1

Рис.2 Блез Паскаль

В 1641 году учёный, чтобы облегчить труд своему отцу, изобрёл и сконструировал машину (рис.3), которая могла суммировать два числа. Замысел возник сразу, но реализация идеи потребовала почти пять лет напряжённого труда. Современники прозвали  машину «паскалевым колесом», она была довольно сложна по устройству, и вычисление с ее помощью требовало значительных умений и навыков. Наверное, поэтому машина вызвала волну восхищений и удивления, но не вошла в активное практическое использование.

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

Картинки по запросу машина блез паскаля

Рис.3 Вычислительная машина Блеза Паскаля

География

Наиболее популярным решением для персональных компьютеров в 80-е - начале 90 годов стал компилятор и интегрированная среда разработки Turbo Pascal фирмы Borland (рис.4). Встроенный компилятор обеспечивал высокую скорость компиляции и высокое качество кода (отсюда приставка Turbo). Среда Turbo Pascal обеспечивала также отладку кода, содержала богатый набор примеров. Все эти качества позволили Turbo Pascal стать стандартом Паскаля де-факто.

Картинки по запросу Turbo Pascal

Рис.4 Turbo Pascal

Выпущенная в 1995 г. как продолжение среды Turbo Pascal система программирования Delphi стала одной из лучших сред для быстрого создания приложений. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений; обновленный язык получил название Object Pascal. Начиная с версии Delphi 7.0 (рис.5), язык Delphi Object Pascal стал называться просто Delphi, однако, старое название используется часто. Последняя версия среды - Delphi XE[2].

Картинки по запросу delphi 7

Рис.5 Система программирования Delphi

Наиболее известной свободной реализаций языка Паскаль является Free Pascal(рис.6). Помимо открытости исходного кода, его основным преимуществом является мультиплатформенность, а также поддержка различных диалектов Паскаля.

Картинки по запросу Free Pascal

Рис.6 Свободная реализация языка Паскаль Free Pascal

На основе FreePascal создана свободная мультиплатформенная среда Lazarus(рис.7), аналогичная среде Delphi. Однако, бедный и не меняющийся десятилетиями консольный интерфейс интегрированной среды Free Pascal, мало совместимый с современными интерфейсами рабочих столов операционных систем, всё более отталкивает обучаемых, неправильно формируя у них представление, что Паскаль - устаревший язык [6].

Картинки по запросу Lazarus

Рис.7 Lazarus

С другой стороны, среда Delphi по мере развития становилась все более громоздкой и малопригодной для обучения программированию. Кроме того, отсутствует бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования, а для среды Lazarus, несмотря на ее бесплатность, такие случаи единичны.

Наконец, появление платформ Java и .NET, включающих мощный язык программирования и мощные стандартные библиотеки ослабило позиции языка Delphi. Для обучения программированию стали чаще использоваться такие языки как Java, C, C++, C#, Visual Basic, Python, Haskell [3].

Одним из ярких событий, связанных с развитием языка Паскаль, стало появление языка и компилятора Oxygene фирмы RemObjects(рис.8), который создатели заслуженно назвали современным Паскалем 21 века. Oxygene может генерировать код под различные платформы, в том числе под платформы .NET и Java. Основным его недостатком является отсутствие бесплатного компилятора и среды для образовательных целей. Кроме того, Oxygene достаточно сильно отличается от канонического языка Паскаль (методы классов вместо процедур и функций), что отражает его сугубо профессиональную направленность.

Картинки по запросу Oxygene

Рис.8 Язык и компилятор Oxygene фирмы RemObjects

Язык и система программирования PascalABC.NET (рис.9) призваны изменить сложившуюся ситуацию и вернуть языку Паскаль былую привлекательность как для обучения, так и для профессионального программирования, помножив ее на мощь платформы .NET [5].

Картинки по запросу PascalABC.NET

Рис.9 PascalABC.NET

Таблица 1 Наиболее важные реализации Паскаля[12]

Система

Год

Руководитель

География

Организация

ETH Pascal

1970

Никлаус Вирт

Европа

ETH

UCSD Pascal

1978

Кеннет Боулес

Америка

UCSD

Turbo Pascal

1983

Андерс Хейльсберг

Америка

Borland Int.

В 1977 г. во время конференции по Паскалю в Саутгемптоне Э. Эддиман попросил оказать помощь в формировании комитета по стандартизации при Британском институте стандартов BSI (British Standards Institute). В 1978 г. для обсуждения расширения Паскаля на конференции в Сан-Диего, проходившей под руководством Кеннета Боулеса, встретились представители промышленных кругов. С этого и началась стандартизация языка[11].

В 1982 г. Международная организация по стандартизации (ISO) выпустила стандарт ISO 7185:1983 [1]. В это же время вышел американский стандарт ANSI/IEEE 770X3.97:1983. Принято выделять три принципиально разных стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный) и Object-Oriented Extensions to Pascal (объектно-ориентированный). В 1989 г. стандарт ISO 7185:1983 был подкорректирован, после чего надобность в самостоятельном ANSI-стандарте отпала и он был заменен ссылкой на ISO 7185:1990. Одним из главных отличий Extended Pascal стало введение модульности, необходимой для раздельной компиляции. Extended Pascal закреплен в международном стандарте ISO/IEC 10206 (1991) и американском ANSI/IEEE 770X3.160:1989. В 1993 г. объектно-ориентированные расширения по отношению к Extended Pascal были сформулированы в техническом отчете ANSI/X3-TR-13:1994.

Что касается самой распространенной реализации языка — Turbo Pascal, а также Object Pascal (Delphi), то ни одному из этих стандартов они не соответствуют. В свою очередь, они неявно сами задают соглашения, которым пытаются следовать некоторые реализации [7].

2.1 Современное состояние

Впоследствии появились различные версии языка и его расширения Наиболее устным расширением стал пакет TurboPascal фирмы Borland, появившийся 1983 году и сразу ставший событием в мире компьютерных технологий. Первое упоминание о нем содержалось в рекламе, опубликованной в журнале BYTE, а сам пакет предназначался для операционной системы СР/М. В начале 1984 года он был перенесен в среду MS-DOS и приобрел огромную популярность. С тех пор появилось несколько версий TurboPascal, последняя — седьмая.

Фирма Borland завершила линию продуктов TurboPascal и перешла к выпуску системы визуальной разработки для Windows — Delphi.

Несмотря на это, язык TurboPascal сохраняет свое значение в качестве отличного средства для первого знакомства с миром «серьезного» программирования. Это связано как с его четкой логической структурой, так и с теми его возможностями, которые позволяют использовать TurboPascal для решения разнообразных задач. Среди них вычисления и обработка данных, компьютерная графика, работа со звуком, системное программирование. TurboPascal позволяет применять приемы объектно-ориентированного программирования, которое стало одной из ведущих современных технологий программирования.

Язык Паскаль (PASCAL)(1968-1971гг)- язык процедурного программирования наиболее популярный для ПК, который и в настоящее время успешно применяется. В основу языка Pascal положен подход от общей задачи к частным (более простым и меньшим по объему). К основным принципам, которыми обладает Паскаль, можно отнести:

а) Структурное программирование, которое основано на использовании подпрограмм и независимых структур данных;

б) Программирование «сверху-вниз», когда задача делится на простые, самостоятельно решаемые задачи. Затем выстраивается решение исходной задачи полностью сверху вниз.

Влияние Паскаля ощущается в настоящее время в разных языках программирования. Так, среди новых диалектов Бейсика есть Паскаль с символикой Бейсика. Даже в язык С встраивается все больше элементов, порожденных Паскаль-концепцией. Необходимо отметить, что все эти явления находятся в русле характерной для современных языков программирования тенденции к конвергенции. Набор операторов стандартного Паскаля относительно мал и легко изучаем. Но это порождает проблему расширения языка в приложениях. В ТП эта проблема решается за счет поставок большого количества библиотек разнообразных процедур, готовых к употреблению в прикладных программах. Широкое распространение Паскаля привело к появлению на рынке программного обеспечения большого числа инструментальных и прикладных программ. Подобные программы разработаны для многих проблемных областей, однако задача их настройки в соответствии с требованиями пользователей продолжает оставаться достаточно важной.

Паскаль прост, но при этом обладает ключевыми свойствами более сложных и современных языков высокого уровня. Строгий синтаксис обеспечивает хорошую диагностику ошибок. Наиболее распространенные среды программирования BorlandPascalwithObjects и TurboPascal 7.0 при фантастической по современным меркам компактности обладают достаточно удобными средствами написания и отладки программ. Нельзя упомянуть и о том, что в профессиональной среде программирования Delphi используется язык, базирующийся на Паскале [3, c.11].

2.2 Перспективы развития

Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

Развитие языков семейства Паскаль продолжается. Часть пошло по пути усложнения самого языка, часть пошла по пути упрощения, и наращивания библиотек. Опыт развития языков программирования, говорит о том, что Никлаус Вирт смог на много лет вперёд предвидеть многие стороны отрасли. Многие идеи, которые он предлагал и озвучивал начали воплощаться только сейчас. Языки промышленного назначения, как оказалось, вполне применимы и для обучения. Создавая единую среду можно добиться более высокого качества программ, более широкого понимания современных проблем, рациональной и бережной организации труда программистов [4].

Что будет дальше -- покажет время. Но семейство Паскаль ещё долго будет служить верой и правдой на благо всего человечества.

Практическая часть. Создание калькулятора в в среде VisualBasic 6.0.

Постановка задачи

Создать калькулятор в среде VisualBasic 6.0, обрабатывающий простейшие арифметические действия. Задать дизайн калькулятора.

Требования к программе

3. Требования к функциональным характеристикам

Входные данные – числа.

Выходные данные – результат выполнения арифметических действий над числами.

В работе программы временные характеристики несущественны.

Требования к надежности

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

Требования к составу и параметрам технических средств

Для функционирования программы требуется персональная ЭВМ с процессором 8086/8088, от 640 килобайт оперативной памяти, видеоадаптер VGA/EGA и соответствующий монитор. Прочие внешние устройства для работы программы не требуются.

Требования к программной совместимости

Для функционирования программы требуется ОС MS-DOS версии 3.30 или выше, от 32 килобайт свободной оперативной памяти. Программа разработана в среде VisualBasic 6.0.

Обоснование выбора языка программирования

Язык программирования Visual Basic версии 6.0 является одним из самых известных и удобных языков программирования и имеет ряд преимуществ:

  • простота и мощность языка позволили сделать его встроенным языком для приложений Microsoft Office.
  • в Visual Basic 6.0 используются все самые современные методы программирования:
  • модель составных объектов COM (Component Object Model)
  • распределенная модель составных объектов DCOM (Distributed Component Object Model)
  • технология программных компонентов Active X [15].

Листинг программы с краткими комментариями

Листинг программы приведен в Приложении 1.

Тестирование программы

При делении числа на нуль необходимо было предусмотреть вывод – «На нуль делить нельзя».

Результаты работы программы

50*2=100

Рис.10 Калькулятор, созданный в VisualBasic 6.0

Информационное и программное обеспечение практической части

Программное обеспечение:

- ОС Windows 7

- Среда разработки программного кода: Turbo Pascal 7.0, ABC Pascal, VB6.0

- Офисный пакет MicrosoftOffice 2007.

ЗАКЛЮЧЕНИЕ

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

В курсовой работе в первой части приведен обзор языков программирования высокого уровня (ЯП): рассмотрены эволюция и поколения языков программирования, приведена классификация ЯП.

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

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

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

Таким образом, «высокоуровневый язык программирования — язык программирования, разработанный для быстроты и удобства использования программистом» [18].

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

  1. ГОСТ 19.701 – 90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. – М.: Госстандарт, 1991.
  2. Гураков А. В. Информатика II : учебное пособие / А. В. Гураков, П. С.Мещеряков. — Томск : Эль Контент, 2013. — 114 с.
  3. Павловская Т. А Паскаль. Программирование на языке высокого уровня: Учебник для вузов — СПб.: Питер, 2004. — 393 с: ил.
  4. Павловская Т. А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. 2-е изд. — СПб.: Питер, 2010. — 464 с.: ил.
  5. Милов А.В. Основы программирования в задачах и примерах. Харьков: Фолио. 2002. 397 с.
  6. Вольский С.В., Дмитриев П.А.TurboPascal 7.0для студентов и школьников. СПб.: Наука и техника, 2007. 224 с.
  7. Рапаков Г.Г., Ржвуцкая С.Ю. TurboPascal для студентов и школьников. СПб.: БХВ-Петербург, 2007. 349с.
  8. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация/ Под общ.ед. А.Матросова. – СПб.: Питер, 2002. 315 с.
  9. Кнут Д. Искусство программирования: В 3 т. – М.: Вильямс, 2012. 187с.
  10. Кауфман В. языки программирования. Концепции и принципы. – М.: ДМК пресс, 2011. 511 с.
  11. Абельсон Х., Сассман Д. Структура и интерпретация компьютерных программ. – М.: Добросвет, 2010. 217с.
  12. Непейвода Н. Стили и методы программирования: Учеб. пособие/ Интернет-университет информационных технологий. – М., 2005. 435с.
  13. Волков В. Б., Макарова Н. В. Информатика: Учебник для вузов. – СПб.: Питер, 2011 315 с.
  14. Баженова И.Ю. языки программирования. . – СПб.: Питер, 2012. 368 с.
  15. Лукин С.Н. Visual Basic 6.0 - Самоучитель для начинающих. . – СПб.: Питер, 201. 132 с.Батищев П.С. Основы программирования на Visual Basic 6.0. Электронный учебник [Электронный ресурс]..URL: http://psbatishev.narod.ru/vb/v000.htm(дата обращения: 20.12.2018).
  16. Ахтырченко К. В., Леонтьев В. В. Моделирование программной архитектуры // Вычислительные методы и программирование. 2001. Т. 2, с. 33-48.
  17. Хротко Г. “Языки программирования высокого уровня”. 1982 г. 280 с.
  18. Материал из Википедии. [Электронный ресурс]. URL:https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F(дата обращения: 20.12.2018).
  19. Материал из Викиучебника // http://www.realcoding.net/ [Электронный ресурс]. URL: http://www.realcoding.net/articles/glava-20-administrirovanie-baz-dannykh.html (дата обращения: 20.12.2018).
  20. Материал из Викиучебника. Компонентный Паскаль/История. -[Электронный ресурс]. URL:<Компонентный Паскальhttps://ru.wikibooks.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F (дата обращения 20.12.2018).

Приложение 1 Листинг программы с краткими комментариями

Option Explicit

Public deystvie As String ' чтовычислятьинадоли

Public pervoe As Double ' "первое" числооперации

Public vtoroe As Double ' "второе" числооперации

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 46 Then sbros_Click

' поскольку значения "точки" малой цифровой клавиатуры у KeyAscii не одинаковые

' при различных раскладках, то "ловим" её с помощью KeyCode

If KeyCode = 110 Then tochka_Click

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case 8

udalit_Click

Case 42, 43, 45, 47

operacia_Click (47 - KeyAscii)

Case 61 ' меняемзнак

plusmin_Click

Case Is > 47 ' вводимцифры

If KeyAscii < 58 Then knopka_Click (KeyAscii - 48)

Case 32 ' а здесь пробелом "чистим" табло

ochistka_Click

End Select

End Sub

Private Sub Form_Load()

' раскраска формы и её элементов

Me.BackColor = RGB(50, 150, 250)

Sbros.BackColor = RGB(250, 50, 0)

Ochistka.BackColor = RGB(250, 75, 0)

Udalit.BackColor = RGB(250, 100, 0)

Ravno.BackColor = RGB(250, 125, 0)

Operacia(4).BackColor = RGB(150, 250, 250)

Operacia(2).BackColor = RGB(150, 250, 250)

Operacia(0).BackColor = RGB(150, 250, 250)

Operacia(5).BackColor = RGB(150, 250, 250)

End Sub

Private Sub knopka_Click(Index As Integer)

umnaya.SetFocus 'возвращаем фокус в текстбокс

' если были выбраны равно или операция - ввод нового числа:

If Ravno.Tag = "второе" Then Tablo.Caption = "0": Ravno.Tag = ""

If Len(Tablo.Caption) < 16 Then

' если длина не превышает допустимой длины числа:

If Tablo.Caption = "0." And Tablo.Tag = "" Then

' если на табло ноль и нет режима начала ввода дробного числа - заменяем цифрой c точкой:

Tablo.Caption = Index & "."

Else

If Mid(Tablo.Caption, Len(Tablo.Caption), 1) = "." And Tablo.Tag <> "нецелое" Then

' на табло целое число и нет режима ввода дробного числа - добавляем цифру к имеющемуся числу справа

Tablo.Caption = Mid(Tablo.Caption, 1, Len(Tablo.Caption) - 1) & Index

Else

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

Tablo.Caption = Tablo.Caption & Index

End If

End If

End If

Tablo.Tag = "" ' возможен ввод дробного числа

End Sub

Private Sub ochistka_Click()

umnaya.SetFocus

' щелчёк по кнопке CE "превращает" число на табло в ноль:

Tablo.Caption = "0"

Tablo.Tag = ""

End Sub

Private Sub operacia_Click(Index As Integer)

umnaya.SetFocus

If Ravno.Tag = "" Then ' нет изменения выбора операции?

' если операция была задана - вычисляем её значение:

If deystvie <> "нет" Then vtoroe = Val(Tablo.Caption): rezultat

End If

Select Case Index ' запишем выбранное действие

Case 0

deystvie = "разделить"

Case 2

deystvie = "вычесть"

Case 4

deystvie = "сложить"

Case 5

deystvie = "умножить"

End Select

pervoe = Val(Tablo.Caption) ' первое число операции - то что на табло при выборе операции

Ravno.Tag = "второе" ' режим ввода второго числа

End Sub

Private Sub plusmin_Click()

umnaya.SetFocus

Select Case Val(Tablo.Caption)

' меньше нуля - "удаляем" минус:

Case Is < 0

Tablo.Caption = Mid(Tablo.Caption, 2, Len(Tablo.Caption))

' больше нуля - "прибавляем" минус:

Case Is > 0

Tablo.Caption = "-" & Tablo.Caption

End Select

End Sub

Private Sub ravno_Click()

umnaya.SetFocus

If Ravno.Tag <> "второе" Then

' "вторым" числом будет число табло:

vtoroe = Val(Tablo.Caption)

' попробуем вычислить результат (если операция была указана):

Call rezultat

Ravno.Tag = "второе" ' режим ввода "второго" числа

Tablo.Tag = "" ' две переменные ука-

deystvie = "нет" ' зывают начальное состояние

Else

Ravno.Tag = "" ' можем в "следующий раз" считать вторым число текущее число табло

End If

End Sub

Private Sub rezultat()

Select Case deystvie

Case "сложить"

Tablo.Caption = pervoe + vtoroe

Case "вычесть"

Tablo.Caption = pervoe - vtoroe

Case "разделить"

If vtoroe <> 0 Then

Tablo.Caption = pervoe / vtoroe

Else ' на ноль действительно нельзя делить!

Tablo.Caption = "на ноль не делят!"

End If

Case "умножить"

Tablo.Caption = pervoe * vtoroe

End Select

End Sub

Private Sub sbros_Click()

umnaya.SetFocus

deystvie = "нет"

Tablo.Caption = "0"

Tablo.Tag = ""

End Sub

Private Sub Tablo_Change()

Dim z As Byte, t As Byte

z = InStr(1, Tablo.Caption, ",") ' если результат дробное число - ищет позицию запятой

t = InStr(1, Tablo.Caption, ".") ' определяет позицию точки

If t = 0 Then

' если точка не найдётся ставим её в конце

Tablo.Caption = Tablo.Caption & "."

ElseIf z <> 0 Then

' если нашлась запятая - значение операции дробное число - меняем запятую на точку

Tablo.Caption = Mid(Tablo.Caption, 1, z - 1) & "." & Mid(Tablo.Caption, z + 1, Len(Tablo.Caption) - z - 1)

End If

End Sub

Private Sub tochka_Click()

umnaya.SetFocus

' если число целое, то разрешаем ввести дробное число:

If Fix(Val(Tablo.Caption)) = Val(Tablo.Caption) Or Ravno.Tag = "второе" Then Tablo.Tag = "нецелое"

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

If Ravno.Tag = "второе" Then Tablo.Caption = "0"

End Sub

Private Sub udalit_Click()

umnaya.SetFocus

' является ли число целым?

If Fix(Val(Tablo.Caption)) = Val(Tablo.Caption) Then

' если целое - удалим последнюю цифру

Tablo.Caption = Mid(Tablo.Caption, 1, Len(Tablo.Caption) - 2)

' а если число было нулём - то так и оставим - "ноль":

If Tablo.Caption = "." Then Tablo.Caption = "0"

Else

' если на табло число не целое, то просто удалим последнюю цифрунадписи

Tablo.Caption = Mid(Tablo.Caption, 1, Len(Tablo.Caption) - 1)

End If

End Sub

Private Sub umnaya_KeyPress(KeyAscii As Integer)

' ... чтобы "ловить" Enter)

If KeyAscii = 13 Then ravno_Click

End Sub