- •Республика казахстан университет «туран»
- •Учебно-методический комплекс по дисциплине «Информатика»
- •Алматы, 2009
- •Основы технологии программирования
- •Способы описания синтаксиса
- •Алфавит языка Паскаль
- •Пример простой программы
- •Скалярные типы данных
- •Раздел описаний
- •Выражения и оператор присваивания
- •Пример работы операций div и mod
- •Ввод-вывод
- •Методические материалы для лабораторного занятия №12
- •Знакомство со средой
- •Значения некоторых клавиш и сочетаний клавиш в среде тр
- •Методические рекомендации по срсп №12
- •Методические рекомендации по срс №12
- •Краткий конспект лекции №13
- •Методические материалы для лабораторного занятия №13
- •Методические рекомендации по срсп №13
- •Методические рекомендации по срс №13
- •Краткий конспект лекции №14
- •Методические материалы для лабораторного занятия №14
- •Методические рекомендации по срсп №14
- •Методические рекомендации по срс №14
Методические рекомендации по срс №13
Тема СРС: Условный оператор.
Количество часов: 3 ч.
Задание. Выполнить постановку задачи, составить алгоритм и написать программу на языке Паскаль.
Решить уравнение ax2 + bx + c = 0. Рассмотреть все случаи (в зависимости от коэффициента a и дискриминанта).
Т очка на плоскости задана своими координатами x и y. Выдать один из вариантов ответов в зависимости от расположения точки: точка находится в такой-то четверти; на оси ординат; на оси абсцисс; в начале координат.
Вычислить значение функции:
Составить программу, определяющую, принадлежит ли точка х одному из отрезков [2; 5] или [-1; 1].
Составить программу, моделирующую работу кассира в магазине. Программа должна запрашивать стоимость покупки, сумму денег, внесенную покупателем, далее определяет причитающуюся сдачу (если денег внесено больше), печатает СПАСИБО, если сдачи не требуется, или выдает сообщение о недостаточности внесенной суммы.
Краткий конспект лекции №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.