Тема 4. Системы и языки программирования
Системы программирования – это комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Относится к системному ПО.
2. Что входит в состав систем программирования?
- Текстовый редактор для набора и исправления программы
- Запускатель программ (для запуска программ для выполнения)
- Компилятор, предназначенный для перевода программы в двоичный код с диагностикой синтаксических ошибок
- Отладчик, выполняющий функции по отладке и тестированию программ
- Загрузчик программ, позволяющий открыть из папки нужный текст программы
3. На каком языке программирования создавались первые программы?
4. На какие языки подразделяются процедурные языки?
Языки низкого уровня(Ассемблер) и языки высокого уровня(бейсик, паскаль, Си)
5. Охарактеризуйте языки низкого уровня.
Языки низкого уровня позволяют создавать эффективные программы, которые занимают мало места в памяти и работают быстро, поскольку учитывают особенности конкретных компьютерных архитектур.
6. Какой язык относится к языку низкого уровня?
7. Достоинства языков низкого уровня.
С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора
С помощью этих языков удобнее разрабатывать системные программы, драйверы (программы для управления устройствами компьютера), некоторые другие
8. Охарактеризуйте языки высокого уровня.
Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше.
9. Достоинства языков высокого уровня.
Основное достоинство алгоритмических языков высокого уровня — возможность описания программ решения задач в форме, максимально удобной для восприятия человеком.
10. Приведите примеры языков высокого уровня.
11. Для чего предназначены трансляторы?
Для перевода программ с языков высокого уровня в машинный код
12. Чем отличается компилятор от интерпретатора?
Интерпретация подразумевает пооператорную трансляцию и последующее выполнение оттранслированного оператора исходной программы. При компиляции сначала исходная программа полностью переводится на машинный язык, а затем оттранслированная программа может многократно исполняться.
13. Недостатки интерпретации (как вид транслятора).
во-первых, интерпретирующая программа должна находиться в памяти ЭВМ в течение всего процесса выполнения исходной программы, т. е. занимать определенный объем памяти; во-вторых, процесс трансляции одного и того же оператора повторяется столько раз, сколько раз должна исполняться эта команда в программе, что резко снижает производительность работы программы.
14. Что представляет собой процесс компиляции программы?
При компиляции сначала исходная программа полностью переводится на машинный язык, а затем оттранслированная программа может многократно исполняться.
15. Какие действия выполняются при компиляции?
- Анализ (проверка на синтаксические ошибки)
- Синтез (генерирование программы в машинный код)
16. Чем отличается загрузочный модуль от объектного?
объектный модуль представляет собой эквивалентную программу в машинных кодах, но не «привязанную» к конкретным адресам оперативной памяти. перед исполнением объектный модуль должен быть обработан специальной программой операционной системы (редактором связей – Link) и преобразован в загрузочный модуль.
17. Чем отличается процедурное программирование от непроцедурного?
Классическое процедурное программирование требует от программиста детального описания того, как решать задачу, т. е. формулировки алгоритма и его специальной записи. При непроцедурном программировании программист не строит алгоритм решения, а лишь описывает исходные данные, свойства, которыми должен обладать результат
18. Какие виды программирования относятся к непроцедурному
программированию?
Объектно-ориентированные(Си++, Delphi, Visual Basic) и декларативные (Пролог. Лисп)
19. Особенность декларативных языков.
При использовании декларативного языка программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения («алгоритм») программист не строит (по крайней мере, в идеале).
20. Охарактеризуйте кратко языки программирования: Фортран, Бейсик, Паскаль, Кобол.
- Фортран – один из первых языков высокого уровня для решения математических задач
- Бейсик – язык для начинающих.
- Паскаль – самый популярный по числу пользователей. Широко употребляется при написании простых программ. Назван в честь Б.Паскаля, а создан Н. Виртом.
- Кобол – язык для решения финансово-экономических задач.
21. Охарактеризуйте кратко языки программирования: Ада, Си, Си++, Delphi, Java.
- Ада — является языком, победившим (май 1979 г.) в конкурсе языков высокого уровня, проводимым Пентагоном с 1975 году. Предназначен для создания и сопровожения больших программных систем. Наследник Паскаля
- Си – используется при создании системного программного обеспечения
Си++ — объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году.
- Delphi – язык объектно-ориентированного визуального программирования (на основе Паскаля)
- Java – язык, эффективный для создания интерактивных веб страниц (на основе Си++)
22. Приведите примеры объектно-ориентированных языков.
23. К какому классу языков относится язык Лисп?
24. К какому классу языков относится язык Пролог?
25.Привести классификацию языков программирования.
Введение
Неотъемлемая часть современных ЭВМ – системы программного обеспечения, являющиеся логическим продолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферу их использования. Система программного обеспечения, являясь посредником между человеком и техническими устройствами машины, автоматизирует выполнение тех или иных функций в зависимости от профиля специалистов и режимов их взаимодействия с ЭВМ. Основное назначение программного обеспечения – повышение эффективности труда пользователя, а также увеличение пропускной способности ЭВМ посредством сокращения времени и затрат на подготовку и выполнение программ. Программное обеспечение ЭВМ можно подразделить на общее и специальное программное обеспечение. Общее программное обеспечение реализует функции, связанные с работой ЭВМ, и включает в себя системы программирования, операционные системы, комплекс программ технического обслуживания. Специальное программное обеспечение включает в себя пакеты прикладных программ, которые проблемно ориентированы на решение вполне определенного класса задач.
- ЧТО ТАКОЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ, ИХ СОСТАВ
- Трансляторы с языков высокого уровня;
- Средства редактирования, компоновки и загрузки программ;
- Макроассемблеры (машинно-ориентированные языки);
- Отладчики машинных программ.
- Текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы;
- Загрузчик программ(Load), позволяющий выбрать из директория нужный текстовый файл программы;
- Запускатель программ (Run), осуществляющий процесс выполнения программы;
- Компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;
- Отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы;
- Диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, уничтожение и т.п.
Языки программирования
- Фортран (FORmula TRANslating system — система трансляции формул); старейший и по сей день активно используемый в решении задач математической ориентации язык.
- Бейсик (Beginner’s All-purpose Symbolic Instruction Code – универсальный символический код инструкций для начинающих); несмотря на многие недостатки и изобилие плохо совместимых версий – самый популярный по числу пользователей.
- Алгол (ALGOrithmic Language – алгоритмический язык); сыграл большую роль в теории, но для практического программирования сейчас почти не используется.
- ПЛ/1 (PL/1 Programming Languagе – язык программирования первый). Многоцелевой язык; сейчас почти не используется.
- Си (С – «си»); широко используется при создании систеьного программного обеспечения.
- Паскаль (Pascal – назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. На его базе созданы несколько более мощных языков (Модула, Ада, Дельфи).
- Кобол (Common Business Oriented Language – язык, ориентированный на общий бизнес); в значительной мере вышел из употребления.
- Дельфи (Delphi) – язык объективно-ориентированного «визуального» программирования; в данный момент чрезвычайно популярен.
- Джава (Java) – платформенно — независимый язык объективно-ориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц.
- Липс (Lips);
- Пролог (PROgramming in LOGic);
- Оккам (назван в честь философа У.Оккама).