- •Введение в турбо паскаль
- •Введение
- •При определении типа-диапазона нужно руководствоваться следующими правилами:
- •Вещественные типы
- •1 Линейный вычислительный процесс
- •Варианты задач. Уровень 1
- •Варианты задач. Уровень 2
- •2 Разветвляющийся вычислительный процесс
- •2.1 Составной оператор (блок)
- •2.2 Оператор условного перехода
- •2.3 Оператор безусловного перехода
- •2.4 Оператор выбора
- •Варианты задач
- •3 Циклические вычислительные процессы
- •3.1 Цикл с параметром
- •Варианты задач
- •3.2 Циклы с условием
- •3.2.1 Циклы с предусловием
- •3.2.2 Циклы с постусловием
- •Варианты задачи 1
- •Варианты задачи 2
- •Содержание
- •Введение в турбо паскаль
Варианты задач
Дано натуральное число N. Вычислить:
Дано натуральное число N. Вычислить:
Дано натуральное число N. Вычислить произведение первых N сомножителей
Дано натуральное число N. Вычислить:
Дано натуральное число n. Вычислить:
Дано натуральное число n. Вычислить:
где
n>2.Дано натуральное число n. Вычислить:
(n>1).Дано натуральное число n. Вычислить:
Вычислить:
Дано натуральное число n. Вычислить:
3.2 Циклы с условием
В Паскале циклы с неизвестным заранее числом повторений (итерационные циклы) организованы с помощью операторов While и repeat.
Эти операторы, в отличие от оператора FOR, имеют более широкую область применения.
3.2.1 Циклы с предусловием
Цикл с предусловием реализуется в Паскале посредством оператора While. Заголовок оператора While (в переводе «пока») не содержит явных указаний на количество итераций – он содержит логическое выражение, значение которого автоматически вычисляется перед началом выполнения каждой очередной итерации (рисунок 8). Пока логическое выражение «истинно», итерации цикла будут продолжаться; как только после завершения очередной итерации логическое выражение станет «ложным», следующая итерация цикла выполнена не будет, и управление получит оператор программы, следующий после оператора While.
Очевидно, что если в заголовок цикла поместить тождественно ложное логическое выражение, этот цикл не выполнит ни одной своей итерации, а если это выражение тождественно истинно, цикл будет бесконечным (последнюю ситуацию называют зацикливанием программы). Для того, чтобы избежать подобных ситуаций, в число операндов логического выражения должны быть включены одна или более переменных, изменяющих свои значения в теле цикла таким образом, чтобы цикл был конечным.
|
Рисунок 8 – Цикл с предусловием
Паскаль работает с оператором WHILE следующей структуры:
while (x) do
<тело цикла>;
или
while (x) do
begin
<тело цикла>;
end;
где while (пока), do (выполнить) – служебные слова, х – логическое выражение, задающее условие продолжения работы;
<тело цикла> – операторы Турбо Паскаля;
Тело цикла выполняется до тех пор, пока логическое выражение х истинно, в противном случае происходит выход из цикла.
Переменные оператора цикла должны быть определены до входа в циклическую часть. Необходимо предусмотреть выход из цикла. Если этого не предусмотреть, например, логическое выражение х – всегда истина, циклические вычисления будут выполнятся бесконечно. В этом случае говорят, что произошло «зацикливание» выполнения программы.
Работа оператора WHILE
Проверяется значение логического выражения х.
Пока значение х равно истина, выполняется циклическая часть.
Если с самого начала значение х ложно, то операторы циклической части не выполнятся ни разу.
Пример 6. Найти, сколько слагаемых необходимо, чтобы сумма 2+4+6+… оказалась больше целого положительного числа N.
Решение.
Введем следующие обозначения:
S – текущее значение суммы;
Sl – значение очередного слагаемого;
K – количество слагаемых в сумме.
Алгоритм решения в виде блок-схемы представлен на рисунке 9. Программа рассмотрена ниже.
Program Pr5;
Var N,K, S,Sl: integer;
Begin
Write (‘Укажите положительное число’);
Readln(N);
S:=0;
Sl:=0;
K:=0;
While S<=N do
Begin
Sl:=Sl+2;
S:=S+Sl;
K:=K+1;
End;
Writeln (‘K=’, K);
End.
Рисунок 9 – Алгоритм решения задачи примера 6
Пример
7. Даны
числа x,
e
. Вычислить sinx
=
x
с
точностью до e.
Для
обеспечения требуемой точности e.
необходимо в вычисляемую сумму
знакочередующегося ряда включить
только те слагаемые Un,
которые удовлетворяют условию
.
Для вычисления очередного члена ряда Un полезно воспользоваться рекуррентной формулой U1=x;
Алгоритм решения в виде блок-схемы представлен на рисунке 10.
Программа на языке Паскаль:
Program P;
Var x,e, S,U: real;
N: integer;
Begin
Write (‘введите значение х’);
Readln(х);
Write (‘введите точность’);
Readln(e);
S:=0;
U:=x;
N:=1;
While abs(U)>=e do
Begin
S:=S+U;
U:= - U*SQR(х)/((2*N+1)*2*N);
N:=N+1;
End;
Writeln (‘sin(x)=’, S:8:4);
End.
Рисунок 10 – Алгоритм решения задачи примера 7
