 
        
        Разработка и анализ программ
.pdf 
1.program prim1(input, output); var x, y, z: integer;
begin read(x, y); if x > y then z := x
else z := y;
writeln(z)
end.
2.program prim1(input, output); var x, y, z: integer;
begin read(x, y); if x < y then z := x
else z := y;
writeln(z)
end.
3.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z); if x > y then if x > z then f := x
else f := z else
if y > z then f := y
else f := z;
writeln(f);
end.
4.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z); if x < y then
if x < z then f := x
else f := z else
if y < z then f := y
else f := z;
writeln(f);
end.
5.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z);
f := x * y DIV z; if x + y + z < f then f := x + y + z; writeln(f)
end.
6.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z); f := x * y * z;
if x + y + z DIV 2 > f then f := x + y + z MOD 2;
f := sqr(f) + 1; writeln(f) end.
7.program priml(input,output); var x, y, z: integer;
begin read(x, y); if x > y then
z := x - y else
z := y - x + 1; writeln(z); end.
21
 
8.program prim1(input, output); var x, y: integer;
begin read(x); y := x;
if x >= -2 then if x < 2 then y := sqr(x) else
y := 4; writeln(y) end.
9.program prim1(input, output); var x, y: integer;
begin read(x);
y := sqr(x) * sqr(x); if x >= 4 then
y := 0 else
if x > 0 then if x <= 4 then y := x; writeln(y) end.
10.program prim1(input, output); var x, y: integer;
begin read(x);
if x <= 2 then
у := sqr(x) + 4 * x + 5 else
y := sqr(x) DIV 4 + x * 5; writeln(y);
end.
11.program prim1(input, output); var x, y: integer;
begin read(x);
if x <= 0 then y := 0
else
if x <= 1 then y := sqr(x) - x else
y := sqr(x) - 10; writeln(y) end.
12.program prim1(input, output); var x, y, f, d: integer;
begin read(x, y); if x > y then f := x
else f := y;
if x < y then d := x
else d := y;
f := d MOD f; writeln(f) end.
13.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z); f := x;
if f < y then f := y;
if f < z then f := z; writeln(f); end.
14.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z); f := z;
if f > y then f := y;
if f > z then
22
 
f := z; writeln(f) end.
15.program prim1(input, output); var x, у, z, f, d: real;
begin read(x, у, z); f := x;
if f < y then f := y;
if f < z then f := z;
if x > y then f := f * x else
f := f * y; writeln(f) end.
16.program prim1(input, output); var x, y: integer;
begin read(x);
if x MOD 2 = 0 then у := 2 * x + 3
else
y := sqr(x) MOD 3 + 5; writeln(y);
end.
17.program prim1(input, output); var x, y: integer;
begin read(x);
if x <= 7 then y := 0
else
if x >= 1 then у := sqr(x) - x
else
у := sqr(x) - 10; writeln(y) end.
18.program prim1(input, output); var x, y, d: integer;
begin read(x, y); if x < y then d := x
else d := y;
d := d MOD (x + y); writeln(d)
end.
19.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z); f := x;
if f <= y then f := y DIV f; if f <= z then f := z MOD 3; writeln(f); end.
20.program prim1(input, output); var x, y, z, f: integer;
begin read(x, y, z);
f := z * (x DIV y); if f > y then
f := y;
if f > z then f := z; writeln(f) end.
Задание 3
Составить подробную спецификацию программы с примерами входных и выходных данных. Разработать программу, используя таблицы раз-
23
 
работки. Выполнить трассировку программы. Ввести программу в компьютер, сравнить результаты трассировки и работы программы
Дано натуральное число n. Вычислить
1. n!
| 
 | 
 | 1 | 
 | 
 | 
 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | ||||||||||||||||
| 2. | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | 1 | 
 | 
 | ||||||||||||||||||
| 12 | 
 | 22 | n2 | |||||||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||||||||
| 3. | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | ||||||
| 
 | 
 | 
 | 
 | 
 | 
 | sin1 sin2 | sin1 sinn | |||||||||||||||||||||||
| 
 | sin1 | 
 | 
 | 
 | ||||||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 2 | 
 | 
 | 
 | 
 | 
 | 2 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 2 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||
| 4. | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | n корней | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 5. | 
 | cos1 cos1 cos2 cos1 cosn | ||||||||||||||||||||||||||||
| 
 | sin1 | 
 | 
 | sin1 sin2 | 
 | 
 | 
 | sin1 sinn | ||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 3 | 
 | 6 | 
 | 
 | 3(n 1) | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||
| 6. | 
 | 
 | 
 | 
 | 
 | 3n | ||||||||||||||||||||||||
7. a(a+1)...(a+n–1)
| 
 | 1 | 
 | 
 | 
 | 
 | 1 | 
 | 1 | ||||
| 8. | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| a | 
 | a(a 1) | a(a 1) (a n) | |||||||||
| 
 | 1 | 1 | 1 | 1 | 
 | |||||||
| 9. | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| a | 
 | a2 | a4 | 
 | a2n | |||||||
10. a(a–n)(a–2n)...(a–n2)
11. Даны действительные числа a, x, Натуральное число x. Вычислить
(( ((x a)2 a)2 a)2 a)2 a
| 12. Дано действительное число a. Найти среди чисел | 1,1 | 1 | ,1 | 1 | 
 | 1 | , | 
| 
 | 
 | 
 | |||||
| 
 | 2 | 2 | 3 | ||||
первое, большее a.
13. Дано действительное число a. Найти такое наименьшее n, что
1 1 1 a
2 n
Дано натуральное n действительное x. Вычислить
14sinx + sin2x + ... +sinnx
15sinx + sinx2 + ... + smxn
16sin x + sin sin x + sin sin ... sin x(n вложений)
17Дано натуральное число n. Определить количество цифр в числе n.
18Дано натуральное число n. Определить сумму его цифр.
24
 
19 Дано натуральное число n. Найти первую цифру числа n. Вычислить
| 
 | n | 1 | 
 | 
 | n | 1 | 
 | 
 | 
 | 
 | |||
| 20 i 1 | 
 | 23. | i 1 | 
 | 
 | 
 | 
 | ||||||
| i2 | 
 | (2i) | 2 | 
 | 
 | 
 | |||||||
| 
 | n | 
 | 1 | 
 | n | 
 | 
 | 
 | 1 | ||||
| 21. | 
 | 
 | 
 | 24. | 
 | 2 | 
 | 
 | 
 | ||||
| i | 3 | 
 | 
 | ||||||||||
| i 1 | 
 | 
 | 
 | i 1 | 
 | 
 | 
 | 
 | i! | ||||
n1
22.i 1 i!
Задание 4
1.Вычислить сумму количество элементов массива X, удовлетворяющих соотношению Xi 1.
2.Вычислить среднее арифметическое значение положительных элементов массива A.
3.Переписать элементы массива X, для которых Xi 1 в массив Y и подсчитать их количество.
4.Среди положительных элементов массива B определить минимальный элемент и его порядковый номер.
5.Среди отрицательных элементов массива C определить максимальный элемент и его порядковый номер.
6.Найти минимальный и максимальный элементы массива D и поменять их местами.
7.Для положительных элементов массива Z вычислить их среднее геометрическое.
8.Определить сумму элементов массива N, кратных трем.
9.Вычислить сумму и количество положительных элементов массива X.
10.Найти среднее геометрическое элементов массива A, значения которых не превосходят 3.
11.Расположить в массиве R сначала положительные, а затем отрицательные элементы массива Z.
12.Среди положительных элементов массива B определить максимальный элемент и его порядковый номер.
13.В массиве из 20 целых чисел найти наибольший элемент и поменять его местами с первым элементом.
14.В массиве из 15 целых чисел найти наименьший элемент и поменять его местами с последним элементом.
15.В массиве из 25 целых чисел найти наименьший элемент и поменять его местами с первым элементом.
Приложение
25
Операции языка Турбо Паскаль
| Символ | Название | Тип допустимых | Тип результата | |
| операции | операции | операндов | ||
| 
 | ||||
| 
 | Операции, имеющие первый приоритет | |||
| – | Унарный ми- | Целый | Целый | |
| 
 | нус | Вещественный | Вещественный | |
| + | Унарный плюс | Целый | Целый | |
| 
 | 
 | Вещественный | Вещественный | |
| 
 | Операции, имеющие второй приоритет | |||
| * | Умножение | Целый * Целый | Целый | |
| 
 | 
 | Целый * | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
| 
 | 
 | Вещественный * | Вещественный | |
| 
 | 
 | Целый | 
 | |
| 
 | 
 | Вещественный * | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
| / | Деление | Целый / Целый | Вещественный | |
| 
 | 
 | Целый / | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
| 
 | 
 | Вещественный / | Вещественный | |
| 
 | 
 | Целый | 
 | |
| 
 | 
 | Вещественный / | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
| DIV | Целочисленное | Целый DIV | Целый | |
| 
 | деление | Целый | 
 | |
| MOD | Остаток от | Целый MOD | Целый | |
| 
 | деления | Целый | 
 | |
| AND | Логическое | Логический | Логический | |
| 
 | “И” | 
 | 
 | |
| 
 | Операции, имеющие третий приоритет | |||
| + | Сложение | Целый + Целый | Целый | |
| 
 | 
 | Целый + | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
| 
 | 
 | Вещественный + | Вещественный | |
| 
 | 
 | Целый | 
 | |
| 
 | 
 | Вещественный + | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
| – | Вычитание | Целый – Целый | Целый | |
| 
 | 
 | Целый – | Вещественный | |
| 
 | 
 | Вещественный | 
 | |
26
| 
 | 
 | Вещественный – | Вещественный | 
| 
 | 
 | Целый | 
 | 
| 
 | 
 | Вещественный – | Вещественный | 
| 
 | 
 | Вещественный | 
 | 
| OR | Логическое | Логический | Логический | 
| 
 | “ИЛИ” | 
 | 
 | 
| 
 | Операции, имеющие четвертый приоритет | ||
| > | Больше | 
 | Логический | 
| < | Меньше | 
 | Логический | 
| = | Равно | 
 | Логический | 
| <> | Не равно | 
 | Логический | 
| >= | Больше или | 
 | Логический | 
| 
 | равно | 
 | 
 | 
| <= | Меньше или | 
 | Логический | 
| 
 | равно | 
 | 
 | 
Примечание: В операциях отношения могут принимать участие числа, символы или строки
Функции языка Турбо Паскаль
Математические функции ABS(X) – возвращает абсолютное значение (модуль) числа X SQR(X) – возвращает число, равное квадрату X
SQRT(X) – возвращает число, равное корню квадратному из X EXP(X) – возвращает число, равное e в степени X
LN(X) – возвращает натуральный логарифм от числа X SIN(X) – возвращает синус числа X, где X – угол в радианах COS(X) – возвращает косинус числа X, где X – угол в радианах ARCTAN(X) – возвращает арктангенс числа X (радианы)
TRUNC(X) – возвращает целое число, отбрасывая дробную часть числа X. Результат – целое число
ROUND(X) – возвращает число, округленное по правилам математики. Результат – целое число
INT(X) – возвращает целую часть числа X. Результат – вещественное число с нулевой дробной частью
PI – число пи с максимально возможным количеством значащих цифр Порядковые функции
ORD(X) – возвращает порядковый номер для значений порядковых типов (для символа X, например, это его код в таблице кодов ASCII)
CHR(X) – преобразует целое число в символ ASCII кода
SUCC(X) – для значений порядкового типа возвращает следующее значение
27
PRED(X) – для значений порядкового типа возвращает предыдущее значение Булевые (логические) функции
ODD(X) – возвращает значение TRUE, если число X нечетно
28
