Green-sell.info

Новые технологии
6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

Популярные системы программирования — Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.

В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений:

Borland Delphi 3.0

  • пакет Borland Delphi (Дельфи) — блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.
  • пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.
  • пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.

Ниже для иллюстрации приведены на языках Бейсик, Паскаль и Си программы решения одной и той же простой задачи — вычисления суммы S элементов одномерного массива A=(a1, a2, . an).


Окно среды программирования Quick Basic

Программа на Паскале
Program Summa;
Type Mas = Array [1 .. 100] of Real;
Var A : Mas;
i, n: Integer;
S : Real;
BEGIN
Write(‘n = ‘); ReadLn(n);
For i : = 1 to n do
begin
Write(‘A[‘, i, ‘] = ‘);
ReadLn(A[i]);
end;

S : = 0;
For i : = 1 to n do
S : = S + A[i];
WriteLn(‘S = ‘, S:8:2);
END.

Операционные системы ради повышения скорости работы традиционно писались на языке низкого уровня — ассемблере, но язык Си настолько хорошо зарекомендовал себя, что на нем было написано более 90% всего кода ОС UNIX. Язык СИ обрел популярность как так называемый язык среднего уровня, в котором удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре компьютера, что обычно достигаются только при программировании на языке Ассемблера.

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

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

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

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

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

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

· транслятор с соответствующего языка;

· компоновщик (редактор связей);

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

Редактор текста — это программа для ввода и модификации текста.

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

Например, в системе программирования Borland Pascal редактор сохраняет тексты программ в файлах с расширением pas .

Трансляторы предназначены для преобразования программ, написанных на языках программирования, в программы на машинном языке.

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

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

Объектный модуль, как правило, имеет расширение obj .

Трансляторы делятся на два класса: компиляторы и интерпретаторы.

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

При компиляции одна и та же программа имеет несколько представлений — в виде текста и в виде выполняемого файла.

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

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

Соответственно говорят о компилируемых и интерпретируемых языках программирования.

Языки программирования Pascal , Object Pascal и С-подобные языки (С, С ++ , С#) являются компилируемыми.

Язык Java — ; пример интерпретируемого языка программирования.

Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули.

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

Загрузочный модуль, подготовленный системой программирования Borland Pascal , имеет расширение exe .

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

Базовый набор функций отладчика включает:

· пошаговое выполнение программы (режим трассировки) с отображением результатов,

· остановка в заранее определенных точках,

· возможность остановки в некотором месте программы при выполнении некоторого условия;

· изображение и изменение значений переменных.

В системе программирования Borland Pascal отладчик запускается с помощью режима меню Debug .

Загрузчик — системная обрабатывающая программа.

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

В системе программирования Borland Pascal загрузчик начинает свою работу после выполнения команды Run . Эта команда объединяет функции редактора связей и загрузчика.

Примерами современных систем программирования являются системы программирования

Borland C++ Builder,

Microsoft Visual Basic,

Microsoft Visual C ++

и многие-многие другие.

Современными системами программирования являются система, построенная на базе языка С# и системы, ориентированные на концепцию . NET .

Основные сведения о компиляции

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

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

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

Основные термины и понятия.

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

Близко по смыслу к этому понятию понятие компилятор.

Компилятор – это транслятор, который осуществляет перевод исходной программы в эквивалентную ей объектную программу на языке машинных команд или языке ассемблера.

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

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

Повторим еще раз принципиально отличное понятие «интерпретатор».

Интерпретатор – это программа, которая воспринимает входную программу на исходном языке и выполняет ее. (Интерпретатор не порождает результирующую программу и никакого результирующего кода.)

Основные блоки (фазы) компилятора, их функции

Исходная программа, написанная на некотором языке программирования, есть цепочка знаков. Компилятор в конечном итоге превращает эту цепочку знаков в цепочку битов – объектный код.

В процессе компиляции обычно выделяют следующие подпроцессы (блоки, этапы).

1. Лексический анализ.

2. Работа с таблицами.

3. Синтаксический анализ, или разбор.

4. Генерация кода, или трансляция в промежуточный код (например, языка ассемблер).

5. Оптимизация кода.

6. Генерация объектного кода.

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

Лексический анализ

Входом является цепочка символов некоторого алфавита.

Некоторые комбинации символов в программе рассматриваются как единые объекты – лексемы (например, зарезервированные слова, идентификаторы, числовые константы).

Работа лексического анализатора состоит в том, чтобы сгруппировать определенные символы в единые синтаксические объекты – лексемы.

Выходом является последовательность лексем.

Например, в результате лексического анализа следующей цепочки символов

с ost:= (price + tax) * 0.98

будет обнаружено, что

cost , price , tax являются лексемами типа идентификатор;

0.98 — лексема типа константа;

Работа с таблицами

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

Синтаксический анализ

Вход – цепочка лексем.

На этом этапе исследуется цепочка лексем и устанавливается, удовлетворяет ли она структурным условиям, явно сформулированным в определении синтаксиса языка.

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

Генерация кода

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

Замечание. На практике чаще одновременно строится и дерево, и код.

Существует несколько методов построения промежуточного кода по синтаксическому дереву. Основным из них является синтаксически управляемый перевод (трансляция).

На двух этапах – синтаксического анализа и в начале этапа подготовки к генерации кода – выполняется семантический анализ. Семантический анализатор проверяет семантические соглашения входного языка, проверяет элементарные семантические (смысловые) нормы языков программирования, напрямую не связанных с входным языком; дополняет внутреннее представление программы в компиляторе операторами и действиями, неявно предусмотренными семантикой входного языка.

Оптимизация кода

На этом этапе производится попытка сделать объектные программы более эффективными (т.е. быстрее работающими или более компактными).

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

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

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

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

Генерация объектного кода

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

В системе программирования Borland Pascal компиляция запускается с помощью режима меню Compile .

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

Compile successful. Press any key.

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

Компьютер с нуля

Системы программирования и инструментальные среды

Очень специфический вид программного обеспечения для компьютера это системы программирования.

Система программированиякомплекс языковых и программных средств, предназначенных для автоматизации процесса составления, отладки программы и подготовки ее к выполнению.

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

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

Язык, который понятен процессору, состоит из 0 и 1. Поэтому программа, записанная таким образом, носит название машинного кода .

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

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

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

Уровень языка программирования определяет степень его удаленности от языка процессора и приближенности к естественному или формальному языку, используемого человеком. (Чем выше уровень, тем дальше он от компьютера и ближе к человеку).

На схеме изображен состав системы программирования.

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

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

Синтаксис языка программирования это перечень правил записи программ из элементов этого языка.

В настоящее время существует несколько сотен языков высокого уровня, получивших название алгоритмических языков. Каждый из этих языков имеет свой синтаксис и ориентирован на решение задач определенного класса. К наиболее популярным относятся Basic, Pascal, C++, Prolog.

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

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

Транслятор (translator) — это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой.

Этап трансляции кода программы является обязательным.

Этап превращения программы, написанной на языке высокого уровня, в машинный код реализуется в двух вариантах.

1. В первом случае транслятор берет из файла программу на языке высокого уровня и переводит в программу на машинном языке всю целиком, записывая ее в файл с расширением obj. Программу, записанную в такой файл, принято называть объектным модулем, а транслятор, который выполняет такой перевод, называют компилятором . К компилируемым языкам относятся языки: Паскаль, Си, Фортран и др.

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

Современные инструментальные среды (системы программирования), как правило, используют компилятор. В связи с этим не лишним будет представление о том, как же объектный модуль превращается в исполняемую программу, которая и хранится в файле с расширением ЕХЕ или СОМ.

Алгоритм получения исполняемой программы

Данное превращение осуществляет компьютерная программа, называемая редактор связей.

Редактор связей это программа, осуществляющая преобразование объектного модуля в исполняемую программу.

Объектный модуль представляет собой схему будущей программы. В нем отсутствует масса важных вещей, связанных с конкретной операционной системой, особенностями ее обмена с клавиатурой, дисплеем, диском, оперативной памятью и т.п. Редактор связей берет из специальной библиотеки (ее принято называть системной библиотекой подпрограмм) все необходимые для работы блоки (подпрограммы) и в файле с расширением ЕХЕ «склеивает» исполняемую программу из объектного модуля и этих блоков.

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

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

Инструментальные среды

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

Если на каком-либо этапе подготовки программы была допущена ошибка, все приходилось начинать заново. Таким образом, отладка программы была достаточно длительным, трудоемким и утомительным процессом.

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

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

В качестве примеров программных продуктов этого типа можно привести широко известные пакеты TurboBASIC, BorlandPascalwithObjects 7.0, Borland C++ (продукты фирмы BorlandInternationalInc.), а также QuickBASIC, QuickPascal, Quick С (продукты фирмы Microsoft) и многие другие.

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

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Описание презентации по отдельным слайдам:

§10. Системное ПО и системы программирования Основные темы параграфа: что такое операционная система; интерактивный режим; сервисные программы; системы программирования.

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

Виды ОС Microsoft Windows

Основные функции операционной системы: Обмен данными между компьютером и различными периферийными устройствами (терминалами, принтерами, гибкими дисками, жесткими дисками и т.д.). Такой обмен данными называется «ввод/вывод данных». Обеспечение системы организации и хранения файлов. Загрузка программ в память и обеспечение их выполнения. Организация диалога с пользователем.

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

Интерактивный (диалоговый) режим Во время работы прикладная программа сама организует общение с пользователем, но когда программа завершила работу, с пользователем начинает общаться операционная система. Это общение происходит в такой форме: — . Благодаря ОС пользователь никогда не чувствует себя брошенным на произвол судьбы. Все операционные системы на персональных компьютерах работают с пользователем в режиме диалога. Режим диалога часто называют интерактивным режимом.

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

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

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

Различают следующие виды антивирусных программ: программы-детекторы; программы-доктора; программы-ревизоры; программы-фильтры; программы-вакцины или иммунизаторы.

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

С системами программирования работают программисты. Всякая СП ориентирована на определенный язык Программирования. Существует много разных языков, например Паскаль, Бейсик, ФОРТРАН, С («Си»), Ассемблер, ЛИСП и др. На этих языках программист пишет программы, а с помощью систем программирования заносит их в компьютер, отлаживает, тестирует, исполняет. Программисты создают все виды программ; системные, прикладные и новые системы программирования.

Системы программирования, как правило, включают в себя: Текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы; Загрузчик программ(Load), позволяющий выбрать из директория нужный текстовый файл программы; Запускатель программ (Run), осуществляющий процесс выполнения программы; Компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок; Отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы; Диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, уничтожение и т.п.

Коротко о главном Системное программное обеспечение — обязательная часть ПО. Его ядро составляет операционная система (ОС). ОС непосредственно связана с аппаратурой и управляет ее работой, организует работу с файлами, ведет диалог с поль­зователем. К сервисным программам относятся программы обслужи­вания дисков, архиваторы, антивирусные программы и др. Системы программирования — инструменты для работы программистов.

Выберите книгу со скидкой:

История России. С древнейших времен до XVI века. 6 класс. Контурные карты

350 руб. 55.00 руб.

Контурные карты История России конец XVII-XVIII век. 8 класс. (Новые)

350 руб. 55.00 руб.

История России. 7 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России. 6 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России XX-начало XXI в. Атлас с контурными картами.

350 руб. 106.00 руб.

История России. XVI-конец XVII века. 7 класс. Контурные карты

350 руб. 55.00 руб.

История России. 8 класс. Рабочая тетрадь. История России. 8 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России XIX – начало XX века. 9 класс. Контурные карты (Историко-культурный стандарт)

350 руб. 55.00 руб.

История России. 9 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

ЕГЭ. История России в таблицах и схемах для подготовки к ЕГЭ. 10-11 классы

350 руб. 80.00 руб.

ЕГЭ. История России в таблицах и схемах. 10-11 классы

350 руб. 80.00 руб.

История России в рассказах для детей. ХV — ХVII века

350 руб. 137.00 руб.

БОЛЕЕ 58 000 КНИГ И ШИРОКИЙ ВЫБОР КАНЦТОВАРОВ! ИНФОЛАВКА

Инфолавка — книжный магазин для педагогов и родителей от проекта «Инфоурок»

Бесплатный
Дистанционный конкурс «Стоп коронавирус»

  • Масолитина Анна Викторовна
  • Написать
  • 1414
  • 07.06.2017

Номер материала: ДБ-539368

Добавляйте авторские материалы и получите призы от Инфоурок

Еженедельный призовой фонд 100 000 Р

  • 07.06.2017
  • 1574
  • 07.06.2017
  • 2259
  • 07.06.2017
  • 203
  • 07.06.2017
  • 380
  • 07.06.2017
  • 417
  • 07.06.2017
  • 420
  • 07.06.2017
  • 889

Не нашли то что искали?

Вам будут интересны эти курсы:

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

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

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

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

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

Специальное программное обеспечение состоит из прикладных программ, проблемно ориентированных на решение определенных задач.

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

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

Попробуй обратиться за помощью к преподавателям

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

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

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

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

Процедурные (или алгоритмические) программы — это системы предписаний для решения определенных задач.

Компьютер лишь механически выполняет эти предписания.

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

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

Задай вопрос специалистам и получи
ответ уже через 15 минут!

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

К наиболее известным процедурным системам программирования относят:

  1. Fortran, один из старейших и по сей день используемых в решении задач математической ориентации язык.
  2. Basic, являющийся универсальным символическим кодом инструкций для начинающих пользователей, самый популярный среди пользователей.
  3. ALGOL, представляющий собой алгоритмический язык, сыгравший большую роль в теории, в настоящее время практически не используется.
  4. PL/1 — многоцелевой язык, который в настоящее время не используется.
  5. Си – широко используемый язык при создании систем программного обеспечения.
  6. Pascal – чрезвычайно популярный язык как среди новичков в программировании, так и среди профессионалов. На его основе созданы более мощные языки такие, как Ada, Delphi.
  7. COBOL – язык, ориентированный на общий бизнес, сейчас практически не используется.
  8. Delphi – очень популярный объективно-ориентированный язык визуального программирования.
  9. Java – платформенно независимый язык объективно-ориентированного программирования, эффективен при создании интерактивных web-страниц.

Среди непроцедурных языков программирования наиболее известны:

Машинно-ориентированные системы программирования

По уровню формализации входного языка, целевому назначению и структуре системы программирования делят на: машинно-ориентированные и машинно-независимые.

Машинно-ориентированные состоят из входного языка, наборов операторов и изобразительных средств. Для систем подобного типа характерны:

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

По степени автоматического программирования машинно-ориентированные системы подразделяют на классы:

  1. Машинный язык. В системе такого типа отдельный компьютер обладает своим определенным машинным языком, которому предписывается выполнение операций над операндами. Этот язык является командным.
  2. Система символического кодирования. В системах такого типа используют языки символического кодирования, являющиеся командными. Коды операций и адреса в машинных командах в языках символьного кодирования заменены символами (идентификаторами), формы написания которых помогают легче запоминать программисту смысловое содержание операции. Это способствует существенному уменьшению числа ошибок при составлении программ.
  3. Автокоды. Содержат все возможности языков символического кодирования через процесс расширенного введения макрокоманд. В различных программах часто встречаются некоторые используемые командные последовательности, соответствующие определенным процедурам преобразования информации. Эти последовательности оформляют в виде специальных макрокоманд, которые затем можно использовать в языке программирования при написании программ. Макрокоманды переводятся в машинные команды 2 способами: расстановкой и генерированием. В первом способе используются «остовы» – серии команд реализации требуемой функции, обозначенной макрокомандой. Макрокоманды передают фактические параметры, вставляемые в процессе трансляции в «остов» программы, преобразуя ее в реальную машинную программу. Системы с генерацией содержат специальные программы анализа макрокоманд, определяющие какую функцию нужно выполнить и формирующие последовательности команд, реализующих эту функцию. Обе системы используют трансляторы с языка символьного кодирования и наборы макрокоманд, являющиеся операторами автокода.
  4. Макросы. Представляют собой более сжатую форму записи, используемую для замены последовательности символов описания выполнения требуемых действий ЭВМ. Предназначены для сокращения записи исходных программ. Компонент программного обеспечения, с помощью которого обеспечивается функционирование макросов, называют макропроцессором. На него поступает макросопределяющий и исходный тексты. Реакцией макропроцессора на вызов является выдача выходного текста.

Машинно-независимые системы программирования

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

Машинно-независимые системы программирования подразделяют на:

  1. Процедурно-ориентированные системы. В этих системах входные языки программирования предназначены для записи при решении задач алгоритмов обработки информации. Эти языки обеспечивают программиста средствами четкого формулирования задач и получения результатов в требуемой форме.
  2. Проблемно-ориентированные системы используют в качестве входного языка язык программирования с проблемной ориентацией. Языки подобного типа обеспечивают программиста средствами короткой и четкой формулировки задач и средствами получения результатов в требуемой форме. Программы на этих языках программирования записываются в терминах решаемой задачи и реализуются через выполнение определенных процедур.
  3. Диалоговые языки. Обеспечивают оперативное взаимодействие пользователя с компьютером через сохранение в его памяти копии исходной программы в машинных кодах. В процессе изменений в программе система программирования устанавливает с помощью специальных таблиц взаимосвязь между структурами исходной и объектной программ, что дает возможность в дальнейшем редактировать объектную программу.
  4. Непроцедурные языки. Составляют группу языков, с помощью которых описывается организация обрабатываемых данных и языков связи с операционными системами. Являются табличными языками, позволяющими четко описывать как задачу, так и ее решения в наглядной форме. В одной таблице решений, описывающей некоторую ситуацию, содержатся все возможные блок-схемы реализаций алгоритмов решения.

Интерпретаторы и компиляторы

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

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

Далее сгенерированный объектный код обрабатывается специальной программой — сборщиком или редактором связей. В результате текст программы преобразовывается в готовый к исполнению файл, он сохраняется в памяти компьютера или на диске. Этот файл может самостоятельно работать под управлением опера¬ционной системы.

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

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

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Читать еще:  Что такое лексема в программировании
Ссылка на основную публикацию
Adblock
detector