Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12-13-14-ТП.doc
Скачиваний:
9
Добавлен:
21.11.2019
Размер:
983.55 Кб
Скачать

Методические рекомендации по срс №13

Тема СРС: Условный оператор.

Количество часов: 3 ч.

Задание. Выполнить постановку задачи, составить алгоритм и написать программу на языке Паскаль.

  1. Решить уравнение ax2 + bx = 0. Рассмотреть все случаи (в зависимости от коэффициента a и дискриминанта).

  2. Т очка на плоскости задана своими координатами x и y. Выдать один из вариантов ответов в зависимости от расположения точки: точка находится в такой-то четверти; на оси ординат; на оси абсцисс; в начале координат.

  1. Вычислить значение функции:

  2. Составить программу, определяющую, принадлежит ли точка х одному из отрезков [2; 5] или [-1; 1].

  3. Составить программу, моделирующую работу кассира в магазине. Программа должна запрашивать стоимость покупки, сумму денег, внесенную покупателем, далее определяет причитающуюся сдачу (если денег внесено больше), печатает СПАСИБО, если сдачи не требуется, или выдает сообщение о недостаточности внесенной суммы.

Краткий конспект лекции №14

Тема: Операторы цикла.

Количество часов: 1 ч.

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

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

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

Цикл с предусловием. Если перед каждой итерацией цикла в алгоритме предусмотрена проверка условия, при ложности которого происходит выход из цикла, то такой цикл называется циклом с предусловием. Цикл с предусловием иногда называют циклом «пока».

Оператор цикла полностью соответствует алгоритму «цикл» и имеет следующий вид:

while <выражение> do <оператор>

Здесь <выражение> — логическое выражение, <оператор> — оператор, выполняющийся, пока <выражение> истинно.

Слово «while» по-английски означает «пока», «do» — делать.

Зацикливание — семантическая ошибка, при которой внутри цикла изменение значений переменных никогда не приводит <выражение> к ложному значению. При этом оператор, стоящий после ключевого слова do, выполняется до бесконечности.

Пример. Бесконечный цикл.

i:=1;

While i<=10 do write(’*’);

Здесь в теле цикла пропущено действие, увеличивающее значение счетчика i.

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

While abs(x)>0.5 Do Begin

x:=x*0.1;

y:=y+x;

End;

Цикл с постусловием. Если необходимость новой итерации может быть установлена по завершении текущей, следует использовать цикл с постусловием. Цикл с постусловием называют также циклом «до».

Repeat

<оператор_1>;

...

<оператор_N>;

Until <выражение>

Операторы между REPEAT и UNTIL выполняются до тех пор, пока <выражение> не станет истинным.

Существует ряд отличий оператора Repeat от оператора While:

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

  • логическое выражение в цикле с постусловием определяет условие выхода из цикла, в отличие от выражения в цикле с предусловием, определяющего условие продолжения;

  • синтаксис оператора Repeat не требует использования операторных скобок, если в теле цикла более одного оператора.

Циклы While и Repeat взаимозаменяемы, т.е. вообще можно обойтись только одним из них.

Цикл с известным числом повторений

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

Синтаксис оператора FOR:

(1) FOR счетчик:=нач_знач TO кон_знач DO оператор

(2) FOR счетчик:=нач_знач DOWNTO кон_знач DO оператор

Возможно два варианта использования цикла (1) – автоинкрементный и (2) – автодекрементный. В первом происходит увеличение переменной-счётчика на 1 в конце каждой итерации, во втором – уменьшение на 1. Автоинкрементный цикл продолжается, пока значение счётчика не больше заданного конечного значения, автодекрементный – пока не меньше.

Переменная-счётчик доступна операторам в теле цикла только на чтение. В процессе работы цикла по счётчику операторам в теле цикла не допускается изменять текущее или конечное значение счётчика. После окончания цикла переменная-счётчик содержит неопределённое значение.

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

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

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