- •Министерство образования и науки российской федерации
- •Оглавление предисловие
- •Составление структурных схем алгоритмов и программ
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Пример 4
- •Пример 5
- •Задания
- •Алфавит языка pascal. Типы данных. Раздел описаний. Оператор присваивания. Ввод-вывод. Составление простейших программ
- •Стандартные процедуры
- •Стандартные функции
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Задания
- •Использование переменных логического типа. Логический оператор присваивания
- •Логический оператор присваивания
- •R операция_сравнения s
- •Пример 1
- •Задания
- •4. Программирование разветвляющихся структур
- •4.1. Использование в программах условного оператора
- •Пример 1
- •Задания
- •4.2. Использование в программах оператора варианта
- •Case выражение-селектор of метка_случая : оператор;
- •Пример 1
- •Задания
- •5. Использование переменных типа char
- •Задания
- •6. Реализация циклических структур
- •6.1. Применение оператора цикла с параметром
- •Шаг изменения параметра цикла:
- •Пример 1
- •Задания
- •Пример 2
- •Пример 3
- •Задания
- •Пример 4
- •Задания
- •Таким образом изображаются циклы в структурных схемах (в лабораторных работах, курсовых работах и т.Д.). Пример 5
- •Задания
- •Задания
- •Пример 6
- •Задания
- •Не смотря на то, что есть еще другие операторы цикла, обычно вводят и выводят массивы с помощью оператора цикла с параметром.
- •6.2. Применение оператора цикла с постусловием
- •Пример 1
- •Задания
- •6.3. Применение оператора цикла с предусловием
- •Основные различия между операторами циклов с постусловием и предусловием
- •Пример 1
- •Задания
- •6.4. Работа с двухмерными массивами.
- •Задания
- •Пример 1
- •Задания
- •7. Поиск и сортировка числовых данных
- •Пример 1
- •Задания
- •8. Решение задач с применением подпрограмм
- •Procedure имя(список параметров);
- •Var идентификаторы:имя типа;...; var идентификаторы: имя типа
- •Var идентификаторы:имя типа;...;var идентификаторы: имя типа;...; идентификаторы:имя типа;...;идентификаторы:имя типа
- •Идентификаторы:имя типа;идентификаторы:имя типа; ...;идентификаторы:имя типа
- •Локальные переменные доступны только внутри процедур, в которых они определены!
- •Пример 1
- •Задания
- •9. Использование переменных перечисляемого типа
- •Ввод и вывод значений переменных перечисляемого типа запрещен.
- •Задания
- •10. Использование переменных ограниченного типа
- •Задания
- •11. Использование переменных множественного типа
- •Var идентификатор : set of порядковый тип;
- •Запрещен.
- •Правила приоритета для множественных операций:
- •Задания
- •12. Использование записей
- •With префикс[,префикс [...]] do оператор
- •Пример 1
- •Задания
- •13. Работа со строками
- •Каждая переменная типа string вводится отдельной процедурой readln
- •Пример 1
- •Задания
- •14. Работа с файлами
- •Пример 1
- •Пример 2
- •Пример 3
- •Задания
- •Библиографический список
Не смотря на то, что есть еще другие операторы цикла, обычно вводят и выводят массивы с помощью оператора цикла с параметром.
6.2. Применение оператора цикла с постусловием
Оператор цикла с постусловием имеет вид
repeat
S1;S2;...;Sn
until B
где S1, S2, ..., Sn - любые операторы;
B - логическое выражение.
Перед UNTIL точку с запятой (;) можно не ставить.
Последовательность операторов S1;S2;...;Sn выполняется один или более раз. Процесс завершается, когда после очередного выполнения заданной последовательности операторов S1;S2;...;Sn логическое выражение В впервые примет значение true (истина). Итак, В - это условие выхода из цикла.
В версии Turbo Pascal 7.0 для прекращения цикла можно использовать процедуру Break, которая передает управление следующему за этим циклом оператору, а также можно использовать процедуру Continue, которая прекращает текущую итерацию ближайшего охватывающего цикла и вызывает следующую итерацию.
Пример 1
Организовать обратный счет при запуске ракеты: 10,9,8,...,1,0.
Решение
Var
sec:integer;
Begin
sec:=10;
REPEAT
Writeln(sec);
sec:=sec-1
UNTIL sec=0;
Writeln('ZERO')
End.
Напишем структурную схему для данной программы:
Задания
№1. Определить значение переменной S после выполнения следующих операторов:
S:=0;
i:=1;
Repeat
s:=s+1/i;
i:=i-1
Until i<=1;
№2. Найти U - первый отрицательный член последовательности Сos(Ctg n), n=1,2,3,...
№3. Вычислить Y - первое из чисел Sinx, SinSinx, SinSinSinx, ... , меньшее по модулю 10-4.
№4. Определить значение функции
y=Sinx+Cosx
на интервале [0,π] с шагом h.
№5. Определить значение функции
на интервале [-π, π] с шагом h.
№6. Написать программу для вычисления величины
y=Sin1+Sin1,1+Sin1,2+...+Sin2.
№7. Дано положительное число Eps. Последовательность a1, a2, a3,... образована по следующему закону:
Надо найти первый член аn последовательности, для которого выполнится условие
|an-an-1|<Eps.
Написать программу для выполнения этого задания.
№8. Числа Фибоначчи (fn) определяются формулами:
f0=f1=1; fn =fn-1+fn-2 при n=2,3,...
а) определить f - сороковое число Фибоначчи (использовать цикл с параметром);
б) найти f - первое число Фибоначчи, большее m (m>1);
в) найти s - сумму всех чисел Фибоначчи, которые не превосходят 1000.
№9. Осуществить ввод чисел до первого нулевого. Распечатать введенные числа в два столбика: 1-й столбик положительные числа, 2-й столбик - отрицательные числа. Каждый столбик подчеркнуть и написать сумму чисел данного столбика.
6.3. Применение оператора цикла с предусловием
Оператор цикла с предусловием имеет вид
WHILE z DO s
где z - логическое выражение;
s - оператор.
Пока логическое выражение z принимает значение «истина», будет выполняться оператор s.
Перед каждым выполнением оператора s вычисляется значение логического выражения z. Оператор s выполняется только в том случае, когда z принимает значение «истина» (т.е. z - это условие работы цикла). Если z – «ложь» при первом же его вычислении, то оператор s не выполнится ни разу.
В версии Turbo Pascal 7.0 для прекращения цикла можно использовать процедуру Break, а для прекращения текущей итерации процедуру Continue.