Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БИЛЕТЫ по Алгоритмизации_отв.doc
Скачиваний:
2
Добавлен:
30.08.2019
Размер:
329.22 Кб
Скачать

Билет №17

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

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

Каждый вид представления имеет свои средства описания алгоритмов, ориентированные на своего исполнителя:

  • Естественный язык (исполнитель - человек) – лексика русского, казахского, английского и других языков. Данный способ получил значительно меньшее распространение из-за его многословности и отсутствия наглядности;

  • Графический язык (исполнитель - человек) – графические схемы (блок-схемы) с описанием действий;

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

  • ЯП (исполнитель - компьютер) – команды ЯП. Представление алгоритмов на ЯП называется программой.

  1. Выражения в Паскале.

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

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

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

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

@ - получение адреса объекта.

in - принадлежность к множеству.

В отличие от многих других языков программирования в ТР логические операции имеют более высокий приоритет, чем операции сравнения, поэтому для правильности их выполнения в сложных логических выражениях необходимо расставлять скобки:

а = b аnd c< - с и (b>

синтаксическая ошибка, т.к. будет выполнено в аnd с (а = b) аnd (c < d)

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

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

2. Операции с равными приоритетами выполняются слева направо.

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

Билет №18

  1. Массивы в Паскале.

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

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

  1. Прежде чем массив можно будет использовать, его необходимо объявить. Объявление массива производится при помощи оператора DIM (размер).

  2. После ключевого слова DIM указывается идентификатор массива, за которым в скобках идут максимально допустимые значения индексов. Минимальное допустимое значение индекса считается равным нулю. Число индексов определяет размерность массива. Наиболее распространены одномерные, хотя можно использовать также двухмерные, трехмерные и т.д.

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

  1. Типы вычислительных процессов.

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

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

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

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

Циклический алгоритм - это алгоритм, содержащий один или несколько циклов.

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

  • итерационные с заданным логическим условием выхода;

  • со счетным заранее определенным числом повторений;

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

  • комбинированные сложной структуры.

Билет №19

  1. Логический тип данных.

  2. Оператор варианта в Паскале.

Билет №20

  1. Оператор CASE.

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

CASE <выражение> of <список альтернатив>

Else операторы end;

Список альтернатив имеет вид:

константа: оператор;

Оператор работает следующим образом:

1. вычисляется значение выражения;

2. затем значения сравниваются с константами, записанными перед операторами;

3. при совпадении значения с одной константой будет выполнен оператор ею помеченный. Затем управление передается следующему за оператором case оператору.

4. если значение выражения не совпадет ни с одной константой, то будет выполнена ветвь else; если отсутствует эта ветвь, то управление передается следующему за case оператору.

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

При использовании оператора CASE надо выполнять следующие правила:

1. Значение <выражения> должно быть дискретного типа (для целого типа - 32768..32767) (т.е. не могут быть real, word (свыше 32767), longin и сложные типы).

2. все константы в альтернативах должны иметь тип, совместимый с типом выражения.

3. все константы в альтернативах должны быть уникальны в пределах оператора CASE; диапазоны не должны пересекаться и содержать констант, указанных в данной или другой альтернативе.

4. в каждой альтернативе возможен только один оператор (простой или составной); а ветвь else допускает последовательность операторов, разделенных символом «;».

  1. Оператор присваивания.

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

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

X: = (Y+Z)/(2+Z*10)-0.5;

Done: = (i>100) or (A=0);

Color: = red;

Два типа являются совместимыми по присваиванию, если:

1) оба типа эквивалентны;

2) оба типа являются дискретными, и значения правой части попадают в диапазон значений типа левой части;

3) оба типа вещественного значения правой части попадают в диапазон значений типа левой части;

4) Тип левой части является вещественным, а тип правой части - целым.