Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на ГОСЫ.docx
Скачиваний:
128
Добавлен:
10.05.2015
Размер:
808.24 Кб
Скачать

Билет №1

1. Поколения языков программирования. Трансляторы.

Машинные коды были языком программирования первого поколения.

Чтобы работать с компьютерами первого поколения, программисты писали свои программы в машинных кодах (machine language) – то есть с помощью одних только нулей и единиц. Программирование с помощью двоичного кода было очень медленным и трудоемким процессом.

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

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

Третье поколение. Период с середины 50-х до 70-х годов отмечен появлением первых языков программирования высокого уровня (high-level languages). Эти языки впервые позволили ученым (прежде всего, математикам) работать с компьютерами. Язык программирования FORTRAN позволял довольно легко определять переменные и использовать для вычислений математические выражения. Для языков высокого уровня, таких как FORTRAN и COBOL, понадобились более быстрые, высокоэффективные компиляторы, поскольку при преобразовании исходного кода, выходные программы получались большими.

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

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

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

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