Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




 

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

Что собой представляет программа для ЭВМ? Это последовательность команд, описывающих алгоритм функционирования ЭВМ в конкретной ситуации (то есть при решении конкретной задачи). Команды, поступающие в центральный процессор, на самом деле являются последовательностями электрических сигналов высокого или низкого уровней, что является интерпретацией последовательностей двоичных чисел, соответственно, единиц или нолей. Таким образом, реально программа, с которой работает процессор ЭВМ, представляет собой последовательность двоичных чисел, называемую машинным кодом.

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

Система программирования представляет собой комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Языки программирования – искусственные языки. От естественных они отлича­ются ограниченным числом "слов" и очень строгими правилами записи команд (операторов).

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

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

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

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

В реальных системах программирования перемешаны технологии и компиляции, и интерпретации.

В состав системы программирования, как правило, входят следующие средства:

– трансляторы с языков высокого уровня;

– средства редактирования, компоновки и загрузки программ;

– макроассемблеры (машинно-ориентированные языки);

– отладчики машинных программ.

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

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

загрузчик программ (Load), позволяющий выбрать из директория нужный тек­стовый файл программы;

запускатель программ (Run), осуществляющий процесс выполнения программы;

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

отладчик (Debug), выполняющий сервисные функции по отладке и тестирова­нию программы;

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

Кратко подведем итог по третьему учебному вопросу:

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

 

ЗАКЛЮЧЕНИЕ

 

Как показано в лекции, алгоритм функционирования ЭВМ при решении задач пользователя должен быть представлен в виде программы. Для того, чтобы ЭВМ понимала команды, записанные в программе, последняя должна представлять собой набор машинных кодов (двоичных слов). Написать программу в двоичных кодах очень трудоемкое занятие, требующее специальной подготовки программиста. Чтобы облегчить процесс программирования, разработаны языки программирования.

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

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

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

 

 

Старший преподаватель кафедры № 10

подполковник С.Сильвашко




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 360; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.