- •1. Свойства и этапы построения алгоритма.
- •2.Постановка задачи. Разработка модели. Построение алгоритма.
- •3. Величины в алгоритмах.
- •4.Способы записи алгоритмов
- •5. Структуры алгоритмов.
- •Оператор цикла Паскаля с параметром
- •Оператор цикла Паскаля с постусловием
- •Оператор цикла Паскаля с предусловием
- •6. Исполнение (тестирование) алгоритма.
- •7. Переменные с индексами. Массивы. Таблицы.
- •8. Примеры алгоритмов линейных и с разветвлением.
- •9. Пример циклического алгоритма вычисления суммы десяти чисел.
- •10. Поиск минимального и максимального элемента последовательности.
- •11. Поиск номера элемента последовательности с заданным значением.
- •12. Сортировка. Простой выбор.
- •13. Редактирование текста программы. Копирование, вставка и удаление.
- •15. Завершение работы выхода из программы. Возобновление сеанса отладки.
- •16 Отладка в среде языка программирования. Классификация ошибок.
- •17. Программа в Object Pascal
- •18. Операторы
- •19. Выражения – синтаксис выражений.
- •25. Типы, переменные, константы и типизированные константы.
- •22.Строки программы и комментарии к программе
- •23. Типы величин. Простые типы
- •21. Числа
- •20. Специальные символы и их назначение
- •25. Тип Массив
- •21. Метки
- •26.Переменные и константы. Раздел описания данных констант.
- •21. Идентификаторы
- •24. Строковый тип
- •27. Массивы, строки и индексы
- •24.Вещественный тип
- •29. Совместимость по присваиванию
- •28. Арифметические операции
- •29. Оператор присваивания.
- •30. Составные операторы.
- •31. Условный и безусловный операторы.
- •32. Оператор цикла с постусловием(repeat).
- •34. Оператор цикла с параметром for
- •33. Оператор цикла с предусловием while
- •35. Стандартные процедуры и функции.
- •36. Стандартные арифметические функции.
- •37.Среда Delphi. Компиляция и выполнение готовых программ
- •38.Среда Delphi. Формат меню. Настройка меню Delphi
- •39.Среда Delphi. Визуальные компоненты для редактирования
- •40. Среда Delphi. Конструирование формы – реализация диалога
- •41.Особенности объектно-ориентированного программирования
- •44.Компоненты редактирования в Delphi – текстовые окна, поля, метки
- •42.Визуальные и невизуальные компоненты Deplhi
- •43.Delphi. Основные свойства. События. Методы
- •45.Конструирование форм в Delphi
- •47.Создание меню в Delphi
- •48.Параметры проекта
- •51.Ввод и редактирование информации
Условные
операторы
позволяют выбирать для выполнения те
или иные части программы в зависимости
от некоторых условий.
Если, например, в программе используются
вещественные переменные x и z, и на
каком-то этапе решения задачи требуется
вычислить z=max(x, y), то желаемый результат
получается в результате выполнения
либо оператора присваивания z:=x, либо
оператора присваивания z:=y. Поскольку
значения переменных x и y заранее
неизвестны, а определяются в процессе
вычислений, то в программе необходимо
предусмотреть оба эти оператора
присваивания. Однако на самом деле
должен выполниться один из них. Поэтому
в программе должно содержаться указание
о том, в каком случае надо выбирать для
исполнения тот или иной оператор
присваивания. Это указание естественно
сформулировать с использованием
отношения x>y. Если это отношение при
текущих значениях x и y справедливо
(принимает значение true), то для исполнения
должен выбираться оператор z:=x; в
противном случае для исполнения должен
выбираться оператор z:=y (при x=y безразлично,
какой оператор выполнять, так что
выполнение оператора z:=y в этом случае
даст правильный результат).
Для задания
подобного рода разветвляющихся
вычислительных процессов в языках
программирования существуют условные
операторы. Рассмотрим полный условный
оператор :
if
<условие> then
<Оператор1> else<Оператор2>;
Здесь if
(если), then
(то) и else
(иначе) являются служебными словами.
Выполнение такого условного оператора
сводится к выполнению одного из входящих
в него операторов 1 или 2: если заданное
в операторе условие выполняется (условие
принимает значение true),
то выполняется оператор 1, в противном
случае выполняется оператор 2.
Алгоритм решения
упомянутой выше задачи вычисления z=
max(
x,
y)
можно задать в виде условного оператора
Паскаля
if
x>y then z:= x else z:= y
Безусловный
оператор – GOTO
Оператор
безусловного перехода
– простой оператор, указывающий, что
дальнейшее выполнение должно продолжаться,
начиная с оператора, помеченного меткой,
указанной в операторе перехода.
Оператор перехода
имеет вид:
GOTO <метка>
Метка в Паскале –
это произвольный идентификатор,
позволяющий именовать некоторый
оператор программы и таким образом
ссылаться на него. Перед использованием
в программе метка должна быть объявлена
в разделе описания меток.
label
a1,a2,a3; var
x,y:real; begin read(x); if
x>=-2 then goto a1; if
x<2 then goto a2; y:=4;
goto a2; a1:
y:=sqr(x);
a2: write (y)
end.
Применяется для
организации циклов с неизвестным
заранее числом повторений, логика
которых предполагает выполнение цикла
до тех пор пока не станет истинным
некоторое условие.
Синтаксис оператора
REPEAT…UNTIL:
REPEAT
Оператор1;
Оператор2;
···
ОператорN;
UNTIL Условие;
Операторы (Оператор1,
Оператор2, … ОператорN), образующие тело
цикла, будут выполнятся циклически, до
тех пор пока значение “Условия” не
станет равно TRUE (истина). Иными словами,
в цикле REPEAT…UNTIL условием продолжения
итераций является невыполнение “Условия”
(его значение FASLE – ложь).Условие цикла
может быть логической константой,
переменной или логическим выражением.
Оператор REPEAT…UNTIL имеет две части:
начальную (слово REPEAT) и завершающую
(слово UNTIL), которые охватывают группу
операторов, составляющих тело цикла.
Поэтому необходимости в использовании
составного оператора для построения
тела цикла из нескольких простых
операторов не возникает. Принципиальное
отличие оператора REPEAT…UNTIL от оператора
WHILE в том, что проверка условия производится
не перед началом выполнения тела цикла,
а после его выполнения, когда решается
вопрос, повторить ли еще раз действия.
Поэтому тело цикла всегда выполняется
по крайней мере один раз.
Пример 1. Проверка
ввода
VAR
N : Integer;
BEGIN
. . .
REPEAT
Write(‘Введите
целое число от 0 до 10: ’);
ReadLn(N);
UNTIL (N>=0) and
(N<=10);
. . .
END.
В этом примере
программа будет запрашивать ввод числа
до тех пор, пока пользователь не введет
“правильное” число.
Оператор цикла с
параметром вводится для организации
“строгих” циклов, которые должны быть
проделаны заданное число раз. Кроме
того, циклы с параметром позволяют
организовать автоматическое изменение
значения некоторой переменной в
определенном диапазоне.
Синтаксис оператора
FOR:
FOR ПараметрЦикла
:= МладшееЗначение TO СтаршееЗначение
DO Оператор;
или
FOR ПараметрЦикла
:= СтаршееЗначение DOWNTO МладшееЗначение
DO Оператор;
Оператор,
представляющий собой тело цикла, может
быть как простым, так и составным.
Параметр цикла, а также диапазон его
значений (от стартового до конечного
включительно) может быть только
порядкового (целочисленного. символьного,
логического) или перечислимого типа!
Параметр цикла это обычная переменная,
описанная в текущем блоке. Шаг изменения
значения параметра цикла всегда
постоянный (в случае целочисленного
типа равен единице).
Изменение параметра
цикла может быть как возрастающим, так
и убывающим. В первом случае МладшееЗначение
должно быть больше чем Старшее, а во
втором – наоборот.
Примеры оформления
циклов с параметром. VAR
i : integer; BEGIN
FOR i := 1 TO 10 DO
Write(i:5);
FOR i := 5 DOWNTO 0 DO
Write(i:5)
END.
Выполнение цикла
начинается с присваивания параметру
стартового значения. Затем следует
проверка, не превосходит ли параметр
конечное значение (случай с TO) или не
является ли он меньше конечного значения
(случай с DOWNTO). Если результат проверки
утвердительный, то цикл считается
завершенным. В противном случае
выполняется тело цикла (оператор,
следующий за словом DO), и после этого
параметр цикла меняет свое значение
на следующее. Далее снова производится
проверка значения параметра цикла,
т.е. алгоритм повторяется.
Запрещается
изменять параметр цикла и его старшее
и младшее значения внутри тела цикла.
Кроме того, параметр цикла не может
участвовать в построении диапазонов
этого же цикла.
Операторы FOR могут
быть вложенными друг в друга, например VAR
i,j :
integer; BEGIN
WriteLn(‘Таблица
умножения’);
FOR i := 1 TO 10 DO begin
FOR j := 1 TO 10 DO
Write((i*j):5);
WriteLn;
end;
END.
31. Условный и безусловный операторы.
32. Оператор цикла с постусловием(repeat).
34. Оператор цикла с параметром for