- •Часть 2
- •Основы алгоритмизации
- •1.1. Этапы решения задач с помощью компьютера
- •1.2.Алгоритм: определение и свойства
- •Свойства алгоритма
- •1.3. Запись алгоритма в виде блок-схем
- •1.4. Основные типы вычислительных алгоритмов
- •2. Основы программирования на Паскале
- •Основные элементы языка
- •Стандартные идентификаторы
- •Зарезервированные слова языка Паскаль
- •Общие правила написания идентификаторов
- •Общая структура программы на Паскале
- •Константы и переменные
- •Комментарии
- •2.2. Типы данных
- •Целочисленные типы
- •Целочисленные типы данных
- •Вещественные типы
- •Вещественные типы данных
- •Булевский тип boolean
- •Массивы
- •2.3. Программирование линейных вычислительных процессов Арифметические выражения
- •Оператор присваивания
- •Организация ввода и вывода
- •2.4. Организация программ разветвляющейся структуры Логические выражения
- •Оператор условия if
- •Оператор выбора case
- •Оператор перехода goto
- •2.5. Организация программ циклической структуры
- •Оператор цикла с параметром for
- •Оператор цикла с предусловием while
- •Оператор цикла с постусловием repeat
- •Вложенные циклы
- •2.6. Подпрограммы
- •Функции
- •Процедуры
- •Область действия параметров
- •3. Задачи для контрольной работы
- •4. Примеры решения задач Вариант 10
- •Программа
- •Пример расчета
- •Задача 4
- •Программа
- •Пример расчета
- •Разность наибольшего и наименьшего элементов
- •Задача 5 Программа
- •Пример расчета
- •Список литературы
- •Содержание
- •1.Основы алгоритмизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- •Этапы решения задач с помощью компьютера . . . . . . . . . . . . . . . . . . .3
- •Алгоритм: определение и свойства . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- •153460, Г. Иваново, пр. Ф. Энгельса, 7.
Оператор перехода goto
Оператор перехода предназначен для передачи управления в другое место программы, т.е. для нарушения естественного порядка выполнения операторов.
Этот оператор имеет вид:
goto p;
Здесь p – метка, которой помечен некоторый другой оператор в программе. Зарезервированное слово goto имеет смысл перейти. Переход осуществляется к оператору, помеченному меткой p. Так, оператор перехода
goto 11;
передаст управление оператору с меткой 11, например, оператору
11: writeln;
В качестве меток допускается использовать числа (от 1 до 9999) и идентификаторы. Все метки, используемые в программе, должны быть объявлены в разделе описания меток, начинающемся со слова label. Каждой меткой должен быть помечен один и только один из операторов в программе.
Пример использования оператора goto:
program jump;
label 1;
var n: integer;
begin
read (n);
if n > 1000 then goto 1 else n: = n + 100;
write (n);
1: end.
Программа jump работает так. Вводится с клавиатуры значение переменной n типа integer. Если это значение превышает 1000, программа сразу завершается. В противном случае к значению n прибавляется 100 и оно выводится на экран.
2.5. Организация программ циклической структуры
Для многократного повторения одних и тех же действий в Паскале предусмотрены три оператора цикла. Если число повторений цикла известно, то применяется оператор for. Если число повторений заранее неизвестно, но известно условие завершения цикла, применяются операторы repeat и while.
Оператор цикла с параметром for
Данный оператор имеет вид:
for i:= a to b do s;
При выполнении оператора for сначала вычисляется начальное значение а, которое присваивается переменной i, называемой параметром цикла. Затем вычисляется конечное значение b и проверяется, имеет ли место равенство i = b. Если равенства нет, выполняется оператор s, который может быть составным, и переменная i увеличивается на единицу. После этого проверка (не равен ли параметр конечному значению), выполнение оператора s и увеличение переменной i на единицу выполняется циклически до тех пор, пока не наступает равенство i = b. Параметр цикла i, начальное и конечное значения a и b могут принадлежать любому порядковому типу данных (например, integer ). Если начальное значение превышает или равно конечному значению с самого начала, оператор s не выполняется ни разу.
Использованные здесь зарезервированные слова for, to и do имеют смысл от, до и выполнить, соответственно.
Возможна другая форма оператора цикла с параметром:
for i:= a down to b do s;
Здесь, чтобы выполнялся оператор s, начальное значение а должно превышать конечное значение b. Кроме того, в этом случае параметр i с каждым циклом уменьшается на единицу, пока не станет равным значению b.
Оператор цикла for имеет такие особенности:
-
в теле цикла запрещается явно изменять значение параметра цикла;
-
по завершении работы оператора for значение параметра цикла считается неопределенным.
Пример использования оператора цикла for:
program maxi; {программа нахождения наибольшего
элемента одномерного массива}
var
x: array [1..100] of real; {исходный массив}
n: integer; {число элементов массива}
k: integer; {параметр цикла}
max: real; {наибольший элемент массива}
begin
write (’n =’): readln (n);
for k:= 1 to n do
begin
write (’a[’, k:3,’]=’): readln (a[k]);
end;
max: = a[1];
for k:= 2 to n do
if a[k] > max then max: = a[k];
writeln (’наибольший элемент =’, max:10:4);
end.