- •Литература
- •10. Основы программирования на языке turbopascal. Учебное пособие. Б. А. Крымов, а. О. Мовшин, с. В. Кулакова. Воронеж: вгта. 2000.
- •Тема 1. Основные понятия информатики
- •1.1. Место информатики в человеческой деятельности
- •1.2. Информационные процессы: подробности
- •1.2.1. Процесс сбора данных
- •1.2.2. Процесс хранения данных.
- •1.2.3. Процесс передачи данных
- •Оконечное оборудование
- •1.2.4. Процесс обработки данных
- •Тема 2. Алгоритмизация и программирование
- •2.1. Алгоритм и его свойства
- •2.2. Формы записи алгоритма
- •Var m, n : integer;
- •2.3. Базовые алгоритмические структуры
- •2.4. Последовательность подготовки и решения задачи на эвм
- •Var X,y,с11,с12,с21,с22,a,b,Dx,Dy,d : real;
- •2.5. Конструктивные элементы языка pascal
- •2.6. Структура программы на языке pascal Программа на pascal состоит из двух частей: описательная часть и собственно программные операторы (исполняемая часть – список действий).
- •Var m, n : integer;
- •Тема 3. Данные и выражения простых типов
- •3.1. Данные целого типа
- •Var имя1, имя2,...: integer;
- •3.2. Данные вещественного типа
- •Var имя1, имя2,...: real;
- •Var a2, result, psi : real;
- •3.3. Данные логического типа
- •Var имя1, имя2,...: boolean;
- •3.4. Данные символьного типа
- •Var имя1, имя2, ... : char;
- •3.5. Данные ограниченного типа
- •Var month : summer;
- •3.5. Порядок выполнения операций
- •Тема 4. Основные операторы языка pascal
- •4.1. Оператор присваивания
- •4.2. Ввод числовых данных с клавиатуры
- •4.3. Вывод данных на экран монитора
- •Writeln(a,b,c);
- •Writeln(a,' ',b,' ',c)
- •Var omega, q: real;
- •4.4. Условные и составные операторы
- •Полная форма условного оператора if предназначена для программирования разветвлений и имеет вид:
- •If Логическое выражение then оператор 1 else оператор 2;
- •Var a, b, max: real;
- •Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:
- •If Логическое выражение then оператор 1;.
- •Var a, b : real;
- •Вложенная ветвящаяся структура
- •X, y, a, b : real;
- •Var X, a, z : real;
- •4.5. Операторы цикла
- •4.5.1. Оператор цикла с предусловием Структура оператора
- •X, y, deltaX, a, b : real;
- •4.5.2. Оператор цикла с постусловием
- •X, y, deltaX, a, b : real;
- •4.5.3. Вычисление сумм
- •Var s : real;
- •Var s : real;
- •X, s, eps, a : real;
- •X, s, eps, a : real;
- •4.5.4. Оператор цикла с параметром
- •Var X, y, deltaX, a, b: real;
- •Var s: real;
- •Тема 5. Структурированные типы данных
- •5.1. Одномерные массивы
- •Var имя массива : array [тип индекса] of тип элементов;
- •Var имя массива : имя типа;
- •Имя массива [ индекс ]
- •5.2. Организация циклов с использованием массивов
- •I: integer;
- •Var max : real;
- •I : integer;
- •Var I, kP,j : integer ;
- •5.3. Двумерные массивы
- •Var I, k : integer ;
- •Var c:array [-1..8,0..19] of real;
- •I,j:integer;
- •5.4. Примеры задач с двумерными массивами
- •Var mat : array [1..N, 1..N] of real ;
- •I, j, i1, i2 : integer ;
- •Var I, j : integer;
- •Тема 6. Подпрограммы
- •6.1. Вводные понятия
- •6.2. Процедуры
- •Var p, s : real;
- •Var имя1, имя2, ... : тип параметров;
- •6.3. Функции
- •Function имя функции (список форм. Параметров) : тип результата;,
- •Var p : real;
- •Тема 7. Обзор языков программирования
- •Приложение 1 Наиболее часто используемые служебные слова pascal
- •Приложение 2 Стандартные функции pascal
4.5.1. Оператор цикла с предусловием Структура оператора
While логическое выражение do оператор,
где оператор – простой или составной оператор, который является телом цикла.
Выполнение оператора.
1) вычисляется логическое выражение, результат вычисления анализируется;
2) если результат вычислений – true, то выполняется тело цикла, после чего осуществляется возврат к оператору while; если результат – false, то тело цикла не выполняется, а управление передаётся оператору программы, расположенному непосредственно после тела цикла.
Если первая проверка условия окончания цикла дала результат false, то тело цикла не выполнится ни разу.
Логику действия оператора while можно сформулировать так: «выполнять тело цикла, пока условие истинно».
Пример 4.13. Вычислить значения функции y = sin (x 2) на отрезке [a, b], если шаг изменения её аргумента x.
var
X, y, deltaX, a, b : real;
begin
write ('введите a, b, deltaX - ');
readln (a, b, deltaX);
x := a; { присваивание параметру цикла x его
начального значения }
while x <= b do { проверка условия работы цикла }
begin { операторы, составляющие }
y := sin(x * x); { тело цикла, заключены в }
writeln ('x=', x:10:3, ' y=' ,y:10:3);
x := x + deltaX { операторные скобки }
end { begin-end }
end.
4.5.2. Оператор цикла с постусловием
Структура оператора
repeat
oператор1;
oператор2;
……………
oператорN
until логическое выражение;
где оператор1, оператор2,..., операторN – операторы, представляющие в совокупности тело цикла; repeat ([репиит] – повторять), until ([антил] – пока) – ключевые слова оператора. Приставка “пост” означает “после”, т.е. в дословном переводе это цикл с “послеусловием”.
Выполнение оператора.
1) исполняются операторы, составляющие тело цикла;
2) вычисляется логическое выражение, результат вычисления анализируется;
3) если результатом вычислений является false, тело цикла выполняется снова, в противном случае (результат вычислений – true) очередного повторения тела цикла не происходит, а осуществляется выход из цикла на следующий по порядку оператор программы.
Таким образом, логику действия оператора repeat можно выразить инструкцией «выполнять тело цикла до тех пор, пока условие не станет истинным».
Пример 4.14. Выполнить задание примера 4.13, используя оператор repeat.
var
X, y, deltaX, a, b : real;
begin
write ('введите a, b, deltaX - ');
readln (a, b, deltaX);
x := a; {присваивание параметру цикла x
его начального значения }
repeat
{ вычисления, предусмотренные телом цикла }
y := sin(x * x);
writeln ('x =', x:10:3,' y =', y:10:3);
x := x + deltaX
until x > b { проверка условия выхода из цикла }
end.
Применяя операторы while и repeat, необходимо позаботиться о том, чтобы значения переменных, входящих в условие окончания цикла, менялись в теле цикла, иначе циклический процесс будет продолжаться бесконечно («зацикливание» программы).
Подчеркнем отличия между операторами repeat и while.
1. В операторе repeat проверка условия выхода из цикла производится в конце, а не в начале цикла, поэтому тело цикла выполняется хотя бы один раз.
Это наиболее важное различие, оно отражено и в названиях операторов: “предусловие” – т.е. сначала проверяется условие, “постусловие” – т.е. условие проверяется после.
2. В операторе repeat условие выхода из цикла удовлетворяется, если логическое выражение истинно, а в операторе while, если ложно.
Для лучшего запоминания этого различия предлагается такое правило: если в данных операторах логическое выражение истинно, то выполняется то действие, которое следует за ним. В цикле while это тело цикла, а в repeat – следующие за циклом операторы.
3. Тело цикла, организованного с помощью оператора while, может содержать только один оператор (в том числе и составной), в то время как между словами repeat и until их можно разместить несколько.