Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[7]

((YXO=D) and ( HOC=K) and (LAPA=PmZ)) then writeln(Это ЗАЯЦ);

Практическое задание N 1. 8

1.Идентифицировать треугольник: остроугольный, тупоугольный, прямоугольный, равнобедренный, равносторонний по трем элементам - углам (сторонам). Причем, имя равнобедренного треугольника может быть составным. Контролировать допустимые значения элементов при вводе данных.

2.Идентифицировать четырехугольника: ромб, квадрат по пяти элементам - сторонам и углу.

3.Идентифицировать зверьков: заяц, кенгуру, белка по трем признакам для четырех элементов.

4.Идентифицировать летающий объект: самолет, вертолет, ракета, тарелка по трем признакам для четырех элементов. Например: для элементов: крылья, хвост, двигатель, длинный корпус признаками могут быть значения "Y" или "N".

Примечание к п. 2, 3, 4: для неопознанного объекта должно выдаваться соответствующее сообщение на экран.

1. 7. 4. Оператор цикла с параметром

Оператор цикла применяется при выполнении расчетов или других действий, повторяющихся определенное количество раз. Оператор имеет вид:

" оператор";

" оператор";

Здесь i - параметр цикла (переменная порядкового типа), N1, N2 - начальное и конечное значения параметра цикла i.

N1, N2 могут быть константами, переменными или выражениями порядкового типа.

Напомним, что " оператор" может иметь вид: Begin " операторы" end;

Схема выполнения оператора цикла с параметром имеет вид:

В случае связки To цикл выполняется при условии N1 <= N2 и происходит с единичным возрастанием параметра цикла i

от N1 до N2.

В случае связки DownTo цикл выполняется при условии N1 >= N2 и происходит с единичным уменьшением параметра цикла i

от N1 до N2.

В операторе цикла не разрешается


присваивать параметру цикла какое- либо значение.

После окончания цикла значение параметра цикла "i" неопределенно.

Оператор цикла часто применяется для суммирования значений некоторой последовательности чисел или значений функции при известном числе операций суммирования. Напомним некоторые определения, связанные с расчетом суммы последовательности.

Сумма членов последовательности величин a1, a2, a3, . . . , aN называется конечной суммой SN= a1 + a2 + a3+ . . . + aN. Для некоторых последовательностей известны формулы расчета конечных сумм, например:

при aN= aN-1 + d; SN= (a1 + aN)*N/2; - арифметическая прогрессия, при aN= aN-1 * q; SN= (a1 - aN*q)/(1-q); - геометрическая прогрессия, где d и q - постоянные числа.

Здесь N-ый член последовательности выражается через (N-1)-i>m член. Такие зависимости называются реккурентными.

Конечная сумма последовательности может быть неизвестна, тогда для ее расчета применяется алгоритм суммирования членов последовательности в цикле от 1 до N. Приведем пример расчета конечной суммы последовательности:

12 + 32 + 52 +. . . + (2*N-1)2; SN = N*(4*N2-1)/3;

PROGRAM SUM K;

var a, S, Begin

{ расчет конечной суммы }

Sn, i, N: word;

write(Введите число членов суммы N=);

For i:= 1 to N do begin

a:= Sqr(2*i-1); S:= S+a end; Sn:= N*(4*N*N-1) div 3;

{ цикл суммирования }

readln(N);

Writeln(Конечная сумма S=, S:-10:2);

Writeln(Расчет конечной суммы по формуле Sn=, Sn:-10:2); Writeln( Нажми Enter);readln

Практическое задание N 1. 9

Рассчитать конечные суммы последовательностей:

1) 13 + 23 + 33 +.

+ N3; Sn = N2*(N+1)2/4;

2) 13 + 33 + 53 +.

+ (2*N-1)3; Sn = N2*(2*N2-1);

3) (X3+1)/cos(1) + (X3+2)/cos(4) + (X3+3)/cos(9) + (X3+N)/cos(N2);

4) (X2+1)/sin(1) + (X2+2)/sin(2) + (X2+3)/sin(3) + (X2+N)/sin(N);


В некоторых случаях "N-ый член последовательности определяется через сумму предыдущих членов, например, aN= p*SN-1, тогда SN= SN-1 + aN = SN-1*(1+р), и конечную сумму можно рассчитать по формуле:

SN= S0* (1+p)N, где "S0" - начальная сумма.

Рассмотрим программу вычисления конечной суммы денежного вклада в банк через N месяцев при ежемесячной процентной ставке "pr" (5% соответствует pr=5).

PROGRAM VKLAD;{ расчет конечной суммы вклада в банк }

var S, Sn, pr: real; i, N: integer; Begin

Write(Введите начальную сумму вклада S=); readln(S); Write(Введите процент по вкладу pr=);readln(pr);

Write(Введите количество месяцев вклада N=); readln(N);

For i:= 1 to N do S:= S*(1+pr/100. ); { цикл произведений }

Writeln(Конечная сумма вклада S=, S:-10:2);

{ Оператор для расчета "Sn" напишите самостоятельно }

Writeln(Расчет конечной суммы вклада по формуле Sn=, Sn:-10:2); Writeln(Нажмите Enter); readln

Практическое задание N 1. 10

1.Вычислить конечную сумму денежного вклада в рублях при открытии валютного счета в банке через несколько месяцев при ежемесячной процентной ставке 1% и росте курса валютной единицы по отношению к рублю 2% в месяц. Программа запрашивает ввод суммы и срока вклада, и выводит на экран конечную сумму в рублях. Проверить расчет вычислением по формуле: SN = S0 * (1+pv)N * (1+pi)N, где pv, pi - банковский и инфляционный коэффициенты.

2.В п. 1 сделать ежемесячный ввод банковской процентной ставки и роста курса валюты при подсчете конечной суммы.

Часто применяются вложенные операторы цикла. Например, если необходимо провести все варианты расчета при изменении нескольких параметров в заданных диапазонах.

Составим программу расчета функции y = A*sin(x) - cos(x)/A; при изменении аргумента "x" в диапазоне от 0 до Pi с шагом Pi/100 и при изменении параметра "A" в диапазоне от 1 до 3 с шагом 0. 5.

Program tabl;

var y, x, a,dx: real; i, j: integer; Begin

Writeln(Расчет по формуле: y=A*sin(x)-cos(x)/A; );



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53]