Добавлен: 06.04.2023
Просмотров: 311
Скачиваний: 2
ЗАКЛЮЧЕНИЕ
В общем, языки высокого уровня позволяют создать такой исходный текст программы, который будет обладать свойством переносимости, его сможет прочесть и понять не только разработчик программы (свойство читабельности), и, наконец, на его основе будет сгенерирован компактный исполняемый машинный код. Кроме того, языки высокого уровня располагают библиотеками математических действий над числами, представленными в различных форматах, в том числе и в формате с плавающей запятой. Структура программы на языке высокого уровня хорошо соотносится с методами структурного проектирования программного обеспечения. Виртуозный программист на языке ассемблера может опровергнуть наши обоснования преимуществ программирования на языках высокого уровня, однако наши выводы основываются на опыте коллег разного возраста, и, соответственно, разной квалификации, а также на собственном опыте.
Поскольку программы на языке высокого уровня обладают более высокой степенью абстракции, эффективность программирования возрастает. Поэтому программист может завершить проект за меньшее время, чем он выполнял бы этот проект на ассемблере. Кроме того, если один и тот же ранее отлаженный код используется в следующих проектах, то эффективность программирования значительно повышается (концепция многократного использования программного кода для типовых функций управления).
Языки высокого уровня обладают важным свойством переносимости программного кода. Это означает, что программа, написанная на языке высокого уровня для одного МК, затем может быть скомпилирована другим компилятором для МК с другим процессорным ядром. И эта программа тоже окажется работоспособной. Для того, чтобы программа обладала свойством переносимости, синтаксис языка высокого уровня для разных компиляторов должен быть абсолютно одинаков. В частности, таким свойством обладает язык Си стандарта ANSI (American National Standards Institute). Разработчики называют его просто «ANSI C». Основная цель стандартизации состоит в том, чтобы обеспечить разработчику возможность написания типовых функций управления один раз с последующим их многократным использованием в разных проектах и для разных микроконтроллеров.
Языки высокого уровня также обеспечивают очень хорошую читабельность кода. Если программа хорошо написана, другой программист, не ее разработчик, может прочесть исходный текст и понять, какой алгоритм реализован и как программа работает. Мы специально не определили, что означает термин «хорошо написана». Мы оставим этот весьма важный аспект до параграфа 2.5, в котором обсудим структурное проектирование.
Еще одним преимуществом языков высокого уровня является простота реализации различных математических вычислений. Например, операции умножения и деления чисел в формате представления с плавающей точкой достаточно сложно реализуются на ассемблере. Строго говоря, имеются специальные библиотеки функций на ассемблере, которые, впрочем, сейчас уже достаточно трудно достать. В тоже время с математическими вычислениями прекрасно справляются языки высокого уровня. Так в главе 4 мы покажем, как на Си записать выражение для вычисления длительности импульса, используя значения моментов времени, полученные с таймера:
TIMP= (216?n) + (Stop_count ? Start_count)
Вычисление этого уравнения достаточно сложно выполнить на ассемблере, однако для языка высокого уровня это рутинная задача. Однако не следует забывать, что мы должны включить эти математические операции в код программы, а это увеличит затраты памяти МК на проект.
Подведем итоги нашему короткому сравнению языка ассемблер с языками высокого уровня. Мы можем сделать вывод, что языки высокого уровня пригодны и весьма полезны для программирования встраиваемых систем.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Могилёв А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. пособие для студ. пед. ву-зов / Под ред. Е.К. Хеннера. - М., Academia, 2004.
- Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, НМЦ СПО; Высшая школа, 2004. - 432 с.
- Абрамов С.А. и др. Задачи по программированию. - М.: Наука, 1988.
- Алексеев В.Е. и др. Вычислительная техника и программирование. Практикум по программированию. - М.: ВШ, 1991.
- Бондарев В. - М., Рублинецкий В.И., Качко Е.Г. Основы программирования. - Харьков: Фолио, Ростов н/Д: Феникс, 1997. - 368 с.
- Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 1989.
- Вирт Н. Алгоритмы + структура данных = программы. - М.: Мир, 1985.
- Гладков В.П. Конспект лекций по программированию для начинающих: Учеб. пособие / Перм. гос. техн. ун-т. - Пермь, 1998. - 217 с.
- Гладков В.П. Курс лабораторных работ по программированию: Учебное пособие для специальностей электротехнического факультета ПГТУ / Перм. гос. техн. ун-т. - Пермь, 1998. - 153 с.
- В.П. Гладков, А.П. Шестаков. Вопросы, задания и контрольные работы для начинающих программистов (материалы к уроку). // Информатика, 2001, № 20(309). - с. 10-13; №№ 33-35, 37-38, 40.
- В.П. Гладков, А.П. Шестаков. Вопросы, задания и контрольные работы для начинающих программистов (избранные темы). // Информатика, 2003, №№ 27-28 (412-413) - 64 с.
- Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. - М.: ДМК, 1998. - 400 с.
- Дайтибегов Д. - М., Черноусов Е.А. Основы алгоритмизации и алгоритмические языки. - М.: ФиС, 1992.
- Джонс Ж., Харроу К. Решение задач в системе Turbo Pascal. - М.: ФиС, 1991.
- Дмитриева М.В., Кубенский А.А. Элементы современного программирования. - СПб: изд-во С. - П. университета, 1991.
- Зуев Е.А. Практическое программирование на языке Turbo Pascal 6.0, 7.0. - М.: Радио и связь, 1994.
- Зубов В.С. Программирование на языке Turbo Pascal (версии 6.0 и 7.0). - М.: Информационно-издательский дом "Филинъ", 1997. - 320 с.
- Есаян А.Р. и др. Информатика. - М.: Просвещение, 1991.
- Информатика. Задачник-практикум в 2 т. / Под ред. И. Семакина, Е. Хеннера. - М.: Лаборатория Базовых Знаний, 1999.
- Культин Н.Б. Программирование в Turbo Pascal и Delphi. - СПб.: BHV - Санкт-Петербург, 1998. - 240 с.
- Ляхович В.Ф. Руководство к решению задач по основам информатики и вычислительной техники. - М.: ВШ, 1994.
- Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7.0. / Под ред. Тарасенко В.П. - К,: ВЕК+, М.: Бином Универсал, 1998. - 496 с.
- Могилёв А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. пособие для студ. пед. вузов / Под ред. Е.К. Хеннера. - М., Academia, 1999.
- Окулов С.М. Основы программирования. - М.: ЮНИМЕДИАСТАЙЛ, 2002. - 424 с.
- Пильщиков В.Н. Сборник упражнений по языку Pascal. - М.: Наука, 1989.
- Попов В.Б. Турбо-Паскаль для школьников. - М.: ФиС, 1999. - 528 с.
- Сборник задач по программированию. / Авт. - сост. А.П. Шестаков; Перм. ун т. - Пермь, 1999. (Ч. I - 76 с.; Ч. II (Олимпиадные задачи) - 112 с.).
- Семакин И.Г., Шестаков А.П. Лекции по программированию. - Пермь, изд-во ПГУ, 1998.
- Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: Учебник для сред. проф. образования / И.Г. Семакин, А.П. Шестаков. - М.: Издательский центр "Академия", 2008. - 400 с. (Допущено Министерством образования и науки Российской Федерации).
- Сергиевский М.В., Шалашов А.В. Turbo Pascal 7.0. - М.: Машиностроение, 1994.
- Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. - М.: "Нолидж", 1997. - 616 с.
- Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие. - М.: "Нолидж", 1997. - 432 с.
- Фролов Г.Д., Кузнецов Э.И. Элементы информатики. - М.: ВШ, 1989.
- Шень А. Программирование: теоремы и задачи. - М.: МЦНМО, 1995.