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

Ответы к экзамену по программированию

1)Введение в программирование и основы алгоритмизации. Предмет курса, основные понятия и определения. Алгоритмизация, алгоритм, свойства алгоритма, алгоритмический язык, язык программирования, программа, данные, оператор, переменная, свойства переменной, система программирования, транслятор, интерпретатор, компилятор.

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

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

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

Свойства алгоритма:

  1. Детерминированность – точность указаний, исключающее их произвольное толкование.

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

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

  4. Массовость – пригодность алгоритма для решения всех задач заданного класса.

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

Язык программирования – язык, предназначенный для реализации программ на ЭВМ.

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

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

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

Переменная – объект, который в ходе выполнения команды может менять свое значение.

Свойства переменной:

  1. Переменная называется неопределенной до тех пор пока она не получает значение вводом извне.

  2. В каждый момент времени переменная может иметь любое значение либо быть неопределенной.

  3. Последующее значение уничтожает, предыдущее.

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

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

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

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

2)Синтаксис и семантика алгоритмического языка программирования. Средства изображения алгоритмов. Классификация языков программирования. Базовые канонические структуры алгоритмов.

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

  1. формально проверить текст программы

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

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

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

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

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

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

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

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

Программа – алгоритм, записанный в форме, воспринимаемой ЭВМ.

Классификация языков программирования:

Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.

  1. Машинно-ориентированные языки – это языки, которые существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).

  2. Машинно-независимые языки – средства написания алгоритмов, решения задач и обработки информации. Операторы языка описывают действия, которые должна выполнить система после трансляции программы на машинный язык.

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

Классификация машинно-ориентированных языков по степени автоматизации программы:

  1. Машинный язык – система команд конкретной вычислительной машины, которая интерпретирует процессом или микропрограммой этой вычислительной машины.

  2. Языки символического кодирования (командные) – представляющие собой последовательность двоичных или восьмеричных кодов. Цифры заменены на символы(идентификаторы).

  3. Автокоды – языки, включающие в себя все возможные языки символического кодирования посредством расширения введ. макрокоманд.

  4. Ассемблеры – развитые автокоды.

  5. Макрос – язык является средством для замены последовательных символов, описывающих выполнение действий ЭВМ, на более сжатую форму.

Классификация машинно-независимых языков:

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

  2. Непроцедурные – построенные на описании данных и искомого результата.

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

  4. Логические – позволяют выполнять описание проблемы в терминах, актах и логических формах. Решение проблемы выполняет система с помощью механизмов логического вывода.

Базовые канонические структуры алгоритмов.

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

  • следования, или последовательности операторов;

  • развилки, или условного оператора;

  • повторения, или оператора цикла.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]