
- •Алфавит языка Паскаль. Правила построения идентификаторов.
- •Структура Паскаль-программы. Прокомментировать назначения разделов.
- •Структура программы на языке Паскаль такова:
- •Логические переменные в Паскале. Основные операции над ними. Логические выражения. Правила записи и вычсления сложных логических выражений.
- •Арифметические, строковые и логические выражения. Операции mod и div.
- •Формат и правила выполнения оператора присваивания.
- •Понятие и применение составного оператора.
- •Формат и правила выполнения условного оператора if.
- •Оператор цикла с известным числом повторений for: формат, порядок выполнения.
- •Оператор цикла с неизвестным числом повторений While: формат, порядок выполнения.
- •Оператор цикла с неизвестным числом повторений Repeat...Until: формат, порядок выполнения.
- •Сравнительный анализ возможностей оператора цикла с неизвестным числом повторений While и оператора цикла с известным числом повторений For.
- •Сравнительный анализ возможностей оператора цикла с неизвестным числом повторений Repeat...Until и оператора цикла с известным числом повторений For.
- •Сравнительный анализ возможностей операторов цикла с неизвестным числом повторений While и Repeat...Until.
- •Операторы ввода данных Read и Readln, их форматы, сходство и различие между операторами.
- •Операторы вывода данных Write и Writeln, их форматы, сходство и различие между операторами.
- •Оператор case: формат, порядок выполнения.
- •Организация управления выполнением программы с помощью меню (на примере).
- •Одномерный массив. Понятие, варианты об0ъявления, настройка на фактическое число элементов массива.
- •Алгоритм упорядочения элементов одномерного массива методом обмена пар смежных записей (метод "пузырька"). Рационализация алгоритма.
- •Алгоритм и особенности этой сортировки таковы:
- •Двумерный массив: понятие, варианты объявления, настройка на фактическое число строк и столбцов массива. Организация в программе вывода двумерного массива в матричной форме.
- •Основные действия с двумерными массивами Паскаля
- •Ввод двумерного массива Паскаля.
- •Вывод двумерного массива Паскаля на экран.
- •Представление двумерного массива Паскаля в памяти
- •Строки в Паскале: понятие, описание, варианты представления и использования.
- •Стандартные процедуры и функции работы со строками.
- •Понятие процедуры и функции в Паскале. Их назначение, применение, варианты размещения в программе.
- •Формат процедуры, размещение ее в программе обращение к ней из вызывающей программы.
- •Обмен информацией между процедурой и вызывающей программой: понятие формального и фактического параметра. Требования к этим параметрам, их описание и применение.
- •27. Формат функции в Паскале, размещение ее в программе, обращение к ней из вызывающей программы
- •28. Обмен информацией между функцией и вызывающей программой: понятие входных параметров, их описание, особенности технологии возврата результата.
- •29. Сравнительный анализ возможностей процедуры и функции. Возможности преобразования процедуры в функцию и наоборот.
- •30. Область действия имен. Глобальные и локальные переменные.
- •31. Достоинства и недостатки использования глобальных переменных и параметров при обмене информацией между программами. Рекомендации по применению.
- •32. Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля.
Оператор цикла с неизвестным числом повторений While: формат, порядок выполнения.
Оператор while (пока) часто называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора.
Формат записи:
while <условие продолжения повторений> do
<тело цикла>;
Условие – булевское выражение, тело цикла – простой или составной оператор.
Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен True, то тело цикла выполняется, и снова вычисляется выражение условия. Если результат равен False, происходят выход из цикла и переход к первому после while оператору.
WHILE условие DO оператор
Пока условие истинно, делай оператор. Например, while a>b do b:=b+1.
Сначала компьютер проверяет истинность условия, стоящего после слова while. Если условие истинно, то выполняется оператор, стоящий после do. Затем снова проверяется истинность условия и в случае истинности снова выполняется этот оператор. И т.д. Если условие ложно, то оператор while прекращает свою работу и компьютер переходит к выполнению следующего оператора.
Оператор, стоящий после while, вполне может быть составным, поэтому тело цикла у оператора while, так же как и у оператора repeat, может состоять из многих операторов.
Решим при помощи while ту же задачу о печати чисел 3 5 7 9, что в предыдущем параграфе решили с помощью repeat. Для того, чтобы точно определить работу оператора while, приведем программу ее решения параллельно с третьим вариантом программы из Error: Reference source not found:
3 ВАРИАНТ |
ВАРИАНТ С WHILE |
LABEL m1,m2,m3; VAR f : Integer; BEGIN Write('Начало счета '); f:=3; m1: if f<=9 then goto m3 else goto m2; m3: Write(f,' '); f:=f+2; goto m1; m2: Write(' Конец счета') END. |
VAR f : Integer; BEGIN Write('Начало счета '); f:=3; while f<=9 do begin Write(f,' '); f:=f+2; end; Write(' Конец счета') END. |
Оператор цикла с неизвестным числом повторений Repeat...Until: формат, порядок выполнения.
оператор goto, неудобен хотя бы тем, что у программистов, пишущих большие программы, много времени и внимания уходит на поиск взглядом меток в тексте программы.
В Паскале - три оператора цикла: repeat, while и for.
Конструкция repeat . . . . . until a+2>3*b переводится "повторяй......до тех пор, пока a+2 не станет больше 3*b".
Составим с использованием оператора repeat программу решения задачи о печати чисел 3 5 7 9 из предыдущего параграфа. Для того, чтобы точно определить работу оператора repeat, приведем ее параллельно со вторым вариантом программы решения этой задачи из того же параграфа:
2 ВАРИАНТ |
ВАРИАНТ С REPEAT |
LABEL m1,m2; VAR f : Integer; BEGIN Write('Начало счета '); f:=3; m1: Write(f,' '); f:=f+2; if f>9 then goto m2 else goto m1; m2: Write(' Конец счета') END. |
VAR f : Integer; BEGIN Write('Начало счета '); f:=3; repeat Write(f,' '); f:=f+2; until f>9; Write(' Конец счета') END. |
Порядок работы обеих программ совершенно одинаков, так что можно считать слово repeat заменой метки m1, а конструкцию until f>9 считать заменой оператора if f>9 then goto m2 else goto m1.
Repeat оператор ; оператор ;. . . ; оператор until условие
Сначала компьютер по очереди выполняет операторы, стоящие после слова repeat, пока не дойдет до слова until, после чего проверяет истинность условия, стоящего после until. Если условие ложно, то компьютер снова по очереди выполняет эти операторы и снова проверяет истинность условия и т.д. Если условие оказывается истинным, то работа оператора repeat прекращается и компьютер переходит к выполнению следующего по порядку оператора.
Операторы, заключенные между словами repeat и until, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Именно поэтому цикл, организованный с помощью оператора repeat, в любом случае выполнится хотя бы один раз. Если результат булевского выражения равен False, то тело цикла активизируется еще раз; если результат равен True, то происходит выход из цикла.
Сравнительный анализ возможностей оператора цикла с неизвестным числом повторений While и оператора цикла с известным числом повторений For.
Выполняя программу печати чисел 3 5 7 9, оператор repeat выполнил цикл 4 раза. То же самое сделал и оператор while. Однако, обычно, когда мы пишем операторы repeat и while, нам совсем неважно знать, сколько раз они выполнят цикл. Тем не менее, существует много задач, для решения которых цикл нужно выполнить именно определенное количество раз. В этом случае удобно использовать оператор цикла for.