информатика / Инф1_Л 8_Основы_программирования
.docxТема: Основы программирования.
Учебные вопросы:
-
История развития языков программирования.
-
Понятие о системе (среде) программирования.
1.
Одной из самых революционных идей, приведших к созданию цифровых вычислительных машин, была высказанная в 20е годы XIX века Чарльзом Бэббиджем мысль о предварительной записи порядка действий машины для последующей автоматизации вычислений – о программе. Бэббидж предложил использовать запись программы на перфокартах, придуманных для управления автоматическими ткацкими станками французским изобретателем Жозефом Мари Жаккаром.
Ада Лавлейс (современница Бэббиджа) теоретически разработала некоторые приёмы управления последовательностью вычислений (например, цикл) – первый программист.
Техническое развитие вычислительной техники обусловило применение в качестве языка программирования их работы, основанного на двоичной системе счисления, двоичного или машинного кода. Команды и данные, описанные в такой программе, представляли собой последовательность машинных слов.
Язык Ассемблера — это язык, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке. Он позволяет программисту пользоваться мнемоническими кодами операций, присваивать удобные имена ячейкам и областям памяти, а также задавать наиболее удобные схемы адресации.
Язык Макроассемблера является расширением языка Ассемблера путем включения в него макросредств. С их помощью в программе можно описывать последовательности инструкций с параметрами — макроопределения. После этого программист может использовать снабженные аргументами макрокоманды, которые в процессе ассемблирования программы автоматически замещаются макрорасширениями. Макрорасширение представляет собой макроопределение с подставленными вместо параметров аргументами.
Другими словами, язык Макроассемблера предоставляет средства определения и использования новых, более мощных команд как последовательности базовых инструкций, что несколько повышает его уровень.
Языки Ассемблера и Макроассемблера применяются системными программистами-профессионалами с целью использования всех возможностей оборудования ЭВМ и получения эффективной по времени выполнения и по требуемому объему памяти программы. На этих языках обычно разрабатываются относительно небольшие программы, входящие в состав системного программного обеспечения: драйверы, утилиты и другие.
Революционный момент в истории языков программирования – появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли. Эта система под названием Short Code являлась примитивным языком программирования высокого уровня. В ней программист записывал решаемую задачу в виде математических формул, а затем, используя специальную таблицу, переводил символы в коды двоичной системы счисления. Затем специальная программа превращала эти коды в двоичный машинный код. Такие программы позже назвали трансляторами. Система, разработанная Джоном Моучли, была одним из первых примитивных интерпретаторов.
Середина 1950-х годов характеризуется стремительным прогрессом в области программирования. Роль программирования в машинных командах стала уменьшаться. Начали появляться языки программирования нового типа, выступающие в роли посредника между ЭВМ и программистами.
Первым и одним из наиболее распространенных был Фортран (FORmula TRANslator – переводчик формул).

2.
Алгоритм на языке программирования можно записать на бумажном носителе. Но в этом случае закодированный алгоритм не является компьютерной программой.
Необходимо записать код будущей программы в виде понятном ЭВМ. Для достижения этой цели существуют среды программирования.
Среда программирования – это комплекс компьютерных программ, с помощью которых можно создавать и записывать программы на конкретном языке программирования.
Язык программирования, с которым работает СП, называют её входным языком. Среда программирования именуется по названию своего входного языка. (Например, среда Бейсик)
Современные среды программирования представляют собой комплекс компьютерных программ (систему) и предоставляют пользователю удобные средства разработки:
-
Текстовый редактор;
-
Транслятор;
-
Редактор связей (компоновщик);
-
Библиотеку функций;
-
Отладчик.
Текстовый редактор применяется для создания исходного текста называемого кодом программы. ТР может автоматически проверять правильность синтаксиса непосредственно в процессе ввода текста программы.
Транслятор является обязательным элементом любой среды программирования. Он переводит исходный текст, созданный с помощью текстового редактора, в машинный код.
Редактор связей. Исходный текст большой программы, как правило, состоит из нескольких модулей, а так же подпрограмм и стандартных функций (например, Ln, sin). Компоновщик объединяет их и формирует работоспособную программу – исполняемый или загрузочный модуль.
Библиотеки функций содержат программные модули с кодами различных функций. Такие функции – находящиеся в распоряжении среды программирования – называют встроенными.
Отладчик позволяет анализировать работу программы в процессе её создания. С его помощью можно пошагово выполнять отдельные элементы исходных модулей. Это процесс поиска и устранения ошибок называемый отладкой.
Существуют два различных метода трансляции: интерпретация и компиляция.
Интерпретация является аналогом синхронного перевода. Интерпретатор в течение всего времени работы среды программирования должен находиться в оперативной памяти ЭВМ. Если один и тот же участок кода встречается несколько раз, интерпретатор выполняет его вновь и вновь. Вследствие этого интерпретаторы работают достаточно медленно. Однако с его помощью довольно просто отлаживать программу.
Компиляция аналогична полному предварительному переводу. Компилятор, загружаясь в оперативную память ЭВМ, полностью обрабатывает весь исходный текст и записывает его в форме загрузочного файла. Основной недостаток компилятора – это трудности в отладке и исправлении ошибок.
