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

Программирование

  1. Языки программирования. Уровни языков программирования. (Языки высокого и низкого уровня). Поколения языков программирования.

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

C

1972

Системы

Оригинальный язык Unix с низкоуровневым доступом, высокоуровневые операторы

C++

1982

Системы

Основные системы, язык программирования для разработки приложений

Basic

1963

Образование

Первый продукт Microsoft: интерпретатор Basic

Fortran

1954

Наука

 

PL/I

1964

Общие приложения

 

VisualBasic

1990

Общие приложения

 

  • Уровни языков программирования: Язык высокого уровня — язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик, Паскаль, Си, Ада. Язык низкого уровня — язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код.

  • Поколения языков программирования: http://life-prog.ru/view_zam2.php?id=194&cat=5&page=12

  1. Системы программирования. Этапы выполнения программы. Компиляторы и интерпретаторы. Редактор связей (сборщик).

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

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

• компилятор или интерпретатор;

• интегрированная среда разработки;

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

• обширные библиотеки стандартных программ и функций;

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

• "дружественная" к пользователю диалоговая среда;

• многооконный режим работы;

• мощные графические библиотеки; утилиты для работы с библиотеками

• встроенный ассемблер;

• встроенная справочная служба;

• другие специфические особенности.

  • Этапы выполнения программы:

1. Формулировка общей идеи программы.

2. Принятие решения о потенциальных пользователях программы.

3. Принятие решения о типе компьютера, на котором программа будет выполнять-

ся.

4. Выбор языка программирования.

5. Проектирование структуры программы с помощью псевдокода или другого ин-

струмента.

6. Написание программы.

7. Тестирование программы без участия пользователей.

Этот этап называют альфа-тестированием.

8. Исправление ошибок, обнаруженных во время альфа-тестирования.

Этапы 7 и 8 повторяются многократно.

9. Передача копий программы пользователям для ее тестирования “в полевых ус-

ловиях”.

Этот этап называют бета-тестированием.

10. Исправление ошибок, обнаруженных во время бета-тестирования.

Этапы 9 и 10 повторяются многократно.

11. Выпуск окончательной версии программы. Лишь с этого момента разработчики

гарантируют безупречную работу программы.

  • Компиляторы и интерпретаторы:

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

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

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

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

  • Редактор связей (сборщик):

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