Файл: История и понятие системы программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.04.2023

Просмотров: 307

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

Языки высокого уровня делятся на:

процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;

логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

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

ГЛАВА 2.ВОЗМОЖНОСТИ ОСНОВНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

2.1.Языковые особенности.

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


Языковые специфики языка Delphi/Pascal таковы, что используют в виде ключевых слов просто читаемые и интерпретируемые символьные очередности. Это разрешает «проговаривать» тексты программ, и это поддерживается при использовании Delphi/Pascal [12].

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

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

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

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

Всё зависит от возрастной, психофизических отличительных черт определенной категории учеников. Можно даже разделять единый урок на две части – «классическое программирование» и интерактивное изучение в игровой форме для сохранения концентрации внимания.

Актуальной версией считается Delphi XE5, хотя она поддерживает работу в режиме «канонических» учебных образцов (консольное приложение с текстовым либо файловым вводом/выводом).

Delphi XE5 имеет интегрированный набор визуальных 3D-компонентов. Программирование на самом деле становится интерактивным. Это не «мучительный набор слова программы», а живое взаимодействие со средой исследования [4].

Delphi дает возможность программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, картинки.

Программа выводит графику на плоскость объекта (формы либо компонента Image). Плоскости объекта соответствует свойство canvas. Для того чтобы вывести на плоскость объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), нужно применить к свойству canvas данного объекта соответствующий способ. К примеру, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.


К тому же, свойство canvas — это объект вида TCanvas. Способы данного вида гарантируют вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а характеристики позволяют установить свойства выводимых графических примитивов: цвет, толщину и стиль линий; расцветка и вид заполнения областей; свойства шрифта при выводе текстовой информации [6].

Способы вывода графических примитивов рассматривают свойство Canvas как некий абстрактный холст, на котором они могут рисовать (canvas переводится как «плоскость», «холст для рисования»). Холст состоит из отдельных точек — пикселов.

Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, ). Координаты возрастают сверху вниз и слева направо (рисунок 1). Значения координат правой нижней точки холста находятся в зависимости от размера холста.

Рисунок 1 – Холст

Размер холста можно получить, обратившись к свойствам Height и width области картинки (image) либо к свойствам формы: ClientHeight и Clientwidth.

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

Карандашу и кисти, применяемым для вывода графики на холсте, отвечают характеристики Реn (карандаш) и Brush (кисть), которые представляют собой объекты вида Tреn и TBrush, соответственно. Значения параметров данных объектов характеризуют вид выводимых графических элементов [15].

Для вывода текста на поверхность графического объекта используется метод TextOut. Инструкция вызова метода TextOut в общем виде выглядит так:

Объект.Canvas.TextOut(x, у, Текст)

где:

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

Рисунок 2 - Координаты области вывода текста

Шрифт, который употребляется для вывода текста, определяется значением свойства Font соответствующего объекта canvas. Свойство Font представляет собой объект вида TFont.

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


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

Более просто вывести картинку, которая располагается в файле с расширением bmp, jpg либо ico, возможно с помощью компонента image, значок которого располагается на вкладке Additional палитры (рисунок 3).

Рисунок 4 - Вкладка Additional. Значок компонента Image

Иллюстрацию, которая станет выведена в поле компонента image, можно задать как в период разработки формы приложения, так и в период работы программы [16].

В период разработки формы иллюстрация задается установкой значения характеристики picture методом выбора файла иллюстрации в шаблонном диалоговом окне, которое появляется в результате щелчка на командной кнопке Load окна Picture Editor (рисунок 5).

Рисунок 5 – Окно Picture Editor

Чтобы запустить Image Editor, необходимо в окне Object Inspector выбрать свойство Picture и щелкнуть на кнопке с тремя точками.В случае если размер картинки больше объема компонента, то свойству strech необходимо присвоить значение True и установить значения параметров width и Height пропорционально настоящим размерам иллюстрации. Чтобы вывести иллюстрацию в поле компонента image в период работы программы, необходимо применить способ LoadFromFile к свойству Picture, указав в качестве параметра название файла иллюстрации. Например, инструкция

Form1.Image1.Picture.LoadFromFile('e:\temp\bart.bmp')

загружает иллюстрацию из файла bart.bmp и выводит ее в поле вывода иллюстрации (imagel).

Способ LoadFromFile разрешает отображать иллюстрации разных графических форматов: BMP, WMF, JPEG (файлы с расширением jpg).

Следующая программа использует компонент image для просмотра иллюстраций, которые находятся в обозначенном пользователем каталоге. Диалоговое окно программы приведено на рисунке 6 [5].

Рисунок 6 - Слайд-проектор

2.2.Значение высокоуровневых языков.

Язык программирования высокого уровня — инструмент, относящийся к категории машинно-независимых. Что это означает? Дело в том, что языки программирования делятся на несколько категорий. Есть машинный код: набор алгоритмов, что предназначены для управления пользователем непосредственно аппаратными элементами компьютера. Их сущность будет полностью машинно-зависимой: для конкретных типов ПК подойдут только определенные алгоритмы.


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

Как правило, они адаптированы к конкретной разновидности аппаратного компонента ПК. Их основная задача — упростить пользователю управление компьютером посредством соответствующих низкоуровневых коммуникаций. В свою очередь, язык программирования высокого уровня позволяет осуществлять пользователю взаимодействие с ПК вне зависимости от того, какое конкретно оборудование установлено на компьютере. Поэтому его следует относить к машинно-независимым. При написании операционных систем чаще всего задействуется язык программирования высокого уровня. [4]

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

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

2.3.Плюсы и минусы языков программирования высокого уровня.

Среди достоинств языков программирования высокого уровня являются [13]:

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