Разработка и анализ программ
.pdf1.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