- •Функции ос, интерфейс пользователя.
- •Интерфейс пользователя
- •Интерфейс командной строки
- •Файловая структура. Диски, файлы, их имена.
- •Каталоги
- •Основные понятия
- •Работа с файлами
- •Работа с каталогами
- •Командная строка
- •Типы данных в Turbo Pascal. Порядковый, вещественный, структурированный. Совместимость и преобразование типов. Типы данных
- •Простые типы данных
- •Имена и доступ к файлам в Turbo Pascal.
- •Доступ к файлам.
- •Процедуры и функции для работы с файлами
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Операторы вводы/ вывода в Turbo Pascal.
- •Операции в Turbo Pascal. Математические операции
- •Логические операции
- •Операции отношения
- •Приоритет операций
- •Условный оператор. Оператор выбора в Turbo Pascal.
- •Метки и оператор перехода.
- •Операторы циклов с предусловием, постусловием и с параметром в Turbo Pascal.
- •Арифметические циклы (циклы с параметром)
- •Итерационные циклы с предусловием
- •Итерационные циклы с постусловием
- •Операторы завершения цикла
- •Процедуры и функции в Turbo Pascal. Локализация переменных. Формальные и фактические параметры в Turbo Pascal. Процедуры и функции
- •Описание и вызов процедур и функций
- •Локальные и глобальные переменные в Turbo Pascal.
- •Переход в графический режим в Turbo Pascal. Масштабирование экрана. Процедуры и функции для работы с экраном в графическом режиме.
- •Понятие алгоритма и его свойства. Линейные, разветвляющиеся, циклические алгоритмы.
- •Алгоритмы поиска элементов из массивов данных. Двоичный (бинарный) поиск элемента в массиве
- •Интерполяционный поиск элемента в массиве
- •Алгоритмы выборки элементов из массивов данных. Алгоритмы сортировки данных.
- •Критерии Эффективности
- •Сортировка выбором
- •Сортировка пузырьком
- •Сортировка простыми вставками
- •Сортировка Шелла.
- •Сортировка быстрая
- •Сортировка поразрядная
Метки и оператор перехода.
Оператор безусловного перехода
Помимо операторов условного перехода существует также оператор безусловного перехода goto. Формат:
goto <метка>
Оператор goto переходит при выполнении программы к определенному оператору программы, перед которым находится метка. Метка должна быть описана в разделе описания меток той программы (процедуры или функции), в которой она используется.
Необходимо, чтобы в программе существовал оператор, отмеченный указанной меткой. Она записывается перед оператором и отделяется от него двоеточием.
Пример:
label 1;
begin
...
goto 1;
...
1: WriteLn('Переход к метке 1');
end.
При
При использовании меток необходимо руководствоваться следующими правилами:
метка, на которую ссылается оператор goto, должна быть описана в разделе описаний и она обязательно должна встретиться где-нибудь в теле программы;
метки, описанные в процедуре (функции), локализуются в ней. Поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.
Учтите! Само понятие структурного программирования и общепринятый стиль программирования на структурных языках НЕ ПРИВЕТСТВУЕТ применение меток и операторов перехода в программах. Это затрудняет понимание программы, как автором, так и потребителями, кроме того, применение меток отрицательно сказывается на эффективности генерируемого кода.
Операторы циклов с предусловием, постусловием и с параметром в Turbo Pascal.
Циклы
В большинстве задач, встречающихся на практике, необходимо производить многократное выполнение некоторого действия. Такой многократно повторяющийся участок вычислительного процесса называется циклом.
Если заранее известно количество необходимых повторений, то цикл называется арифметическим. Если же количество повторений заранее неизвестно, то говорят обитерационномцикле.
В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл "пока"), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл "до").
Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, а тело цикла с предусловием может ни разу не выполниться. В зависимости от решаемой задачи необходимо использовать тот или иной вид итерационных циклов.
Арифметические циклы (циклы с параметром)
Синтаксис:
for <пар_цикла>:= <нач_значение> to <кон_значение>do <оператор>
или
for <пар_цикла>:= <нач_значение> downto <кон_значение>do <оператор>
Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.
Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.
Как и в случае использования оператора условного перехода, следует помнить, что синтаксис языка допускает запись только одного оператора после ключевого слова do, поэтому, если вы хотите в цикле выполнить группу операторов, обязательно надо объединить их в составной оператор (окаймить операторными скобками begin ... end).
Пример 2. Латинский алфавит.
for ch:='A' to 'Z' do Writeln(ch);
Пример 3. Использование цикла с downto.
for i:=10 downto 1 do WriteLn(i);
Пример 4. Использование составного оператора.
for x:=1 to 10 do begin
y:=2*x+3;
WriteLn('f(',x,')=',y);
end;