- •Задание 1. Вычисления по формулам
- •Задание 2. Условный оператор
- •Задание 3. Программа с условным оператором
- •Задание 4. Трассировка программы с оператором цикла
- •Задание 5. Разработка программы с использованием оператора цикла
- •Задание 6. Трассировка программы с вложенными циклами
- •Задание 7. Разработка программы с вложенными циклами
- •Задание 8. Трассировка программы, содержащих процедуры и функции
- •Задание 9. Разработка программы с использованием процедур и функций
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. Программа с условным оператором
Составить подробную спецификацию программы с примерами входных и выходных данных. Разработать программу, используя таблицы разработки. Выполнить трассировку программы. Ввести программу в ЭВМ сравнить результаты трассировки и работы программы.
Содержание отчета:
1.Задание
2.Спецификация с пояснениями расчетных формул
3.Таблица разработки
4.Текст программы
5.Таблица трассировки
1.Даны целые числа x, y, z. Получить max(х, у, z).
2.Даны целые числа x, y, z. Получить max (x + y + z, x – y – z).
3.Даны целые числа x, y, z. Получить min(x + y, 2z, x – 2y).
4.Даны целые числа a, b, c. Проверить, выполняются ли неравенства a < b < c.
5.Даны целые числа a, b, c. Удвоить эти числа, если a > b > c и заменить их абсолютными значениями, если это не так.
6.Даны два целых числа. Заменить первое число нулем, если оно меньше или равно второму и оставить числа без изменения в противном случае.
7.Числа a, b выражают длины катетов одного прямоугольного треугольника, c, d – другого. Узнать, являются ли треугольники подобными
8.Даны целые числа x, у (x ≠ y). Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.
9.Даны три целых числа. Возвести в квадрат те из них, значения которых неотрицательны.
10.Составить программу, определяющую количество общих точек у прямой y = kx + b и окружности x2 + y2 = R2.
11.Даны целые числа a, b, c, d. Если a ≥ b ≥ c ≥ d, то каждое число заменить наибольшим из них, если a > b > c > d, то числа заменяются их квадратами, в противном случае числа оставить без изменения.
12.Даны положительные действительные числа x, y, z. Выяснить, существует ли треугольник с длинами сторон x, y, z
13.Даны действительные числа а, b, с (а ≠ 0). Выяснить, имеет ли уравнение ax2 + bх + с = 0 действительные корни. Если действительные корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет
14.Даны действительные числа а1, b1, с1, a2, b2, c2. Выяснить, верно
ли, что |a1b2 – a2b1| ≥ 0,0001 и если верно, то найти решение систе-
мы линейных уравнений
a1x + b1y + c1 = 0 а2х + b2у + c2 = 0
(при выполнении выписанного неравенства система заведомо совместна и имеет единственное решение)
15. Даны действительные числа a, b, c. Полностью исследовать биквадратное уравнение ax4 + bx2 + с = 0 т.е., если действительных
корней нет, то должно быть выдано сообщение об этом, иначе должны быть выданы все корни
16. А, В, r1, r2 - заданные целые положительные числа. Выяснить является ли хотя бы одно из чисел r1 или r2 остатком от деления А на В.
17.Даны положительные действительные числа x, y, z. Предполагая, что существует треугольник с длинами сторон x, y, z, проверить является ли он остроугольным.
18.Даны действительные положительные числа a, b, c, d. Выяснить, можно ли прямоугольник со сторонами a, b уместить внутри прямоугольника со сторонами с, d так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна каждой стороне второго прямоугольника
19.Определить какая из точек плоскости А(x1, y1), В(x2, y2), С(x3, y3)
ближе к началу координат.
20. Даны три целых числа А, В, С. Определить, делителем каких из них является целое число К.
Задание 4. Трассировка программы с оператором цикла
Выполнить трассировку программы для заданных входных данных. Ввести программу в ЭВМ, сравнить результаты трассировки и работы программы. Записать математически выражение выдаваемого программой результата как функцию от входных данных.
Содержание отчета:
1.Задание
2.Текст программы
3.Таблица трассировки
4.Математическое выражение выдаваемого программой ре-
зультата
1. program prim2(input, output); VAR i, n, r: INTEGER; BEGIN
READ(n); i := 1;
r := 1;
WHILE i <= n DO BEGIN
r := r * 2; i := i + 1 END;
WRITELN(r);
END.
2. program prim2(input, output); VAR i, n, r: INTEGER; BEGIN
READ(n); i := 1;
r := 1;
WHILE i <= n DO BEGIN
r := r * i; i := i + 1 END;
WRITELN(r);
END.
3. program prim2(input, output); VAR i, n: INTEGER;
r: REAL;
BEGIN READ(n); i := 1;
r := 0;
WHILE i <= n DO BEGIN
r := r + 1/i; i := i + 1 END;
WRITELN(r);
END.
4. program prim2(input, output); VAR i, n: INTEGER;
r, a: REAL;
BEGIN READ(n, a); i := 1;
r := 1;
WHILE i <= n DO BEGIN
r := r * a; i := i + 1 END;
WRITELN(r);
END.
5. program prim2(input, output); VAR i, n: INTEGER;
r, a: REAL;
BEGIN READ(n, a); i := 1;
r := 1;
WHILE i <= n DO BEGIN
r := r + a; i := i + 1 END;
WRITELN(r);
END.
6. program prim2(input, output); VAR i, n: INTEGER;
r, a: REAL;
BEGIN READ(n, a); i := 1;
r := a;
WHILE i <= n DO BEGIN
r := r + a * i; i := i + 1 END; WRITELN(r); END.
7. program prim2(input, output); VAR i, n: INTEGER;
r: REAL;
BEGIN READ(n); i := 1;
r := 0;
WHILE i <= n DO BEGIN
r := r + 1 / (2 * i); i := i + 1
END;
WRITELN(r);
END.
8. program prim2(input, output); VAR i, n: INTEGER;
r, x: REAL;
BEGIN READ(n, x); i := 1;
r := x;
WHILE i <= n DO BEGIN
r := SQRT(r); i := i + 1 END; WRITELN(r); END.
9. program prim2(input, output); VAR i, n, r: INTEGER; BEGIN
READ(n); i := 1;
r := 0;
WHILE i <= n DO BEGIN
r := r + SQR(i); i := i + 1 END; WRITELN(r); END.
10. program prim2(input, output); VAR i, n, r, a: INTEGER; BEGIN
READ(n, a); i := 1;
r := 0;
WHILE i <= n DO BEGIN
r := r + SQR(i - a); i := i + 1;
END;
WRITELN(r);
END.
11. program prim2(input, output); VAR i, n, r: INTEGER; BEGIN
READ(n); i := 1;
r := 1;
WHILE i <= n DO BEGIN
r := r + SQR(i) * i; i := i + 1;
END;
WRITELN(r);
END.
12. program prim2(input, output); VAR i, n: INTEGER;
r, x, p: REAL;
BEGIN READ(n, x); i := 1;
r := 0; p := x;
WHILE i <= n DO BEGIN
r := r + p / i; p := p * x;
i := i + 1 END; WRITELN(r); END.
13. program prim2(input, output); VAR i, n: INTEGER;
r, x: REAL;
BEGIN READ(n, x); i := 1;
r := 1;
WHILE i <= n DO BEGIN
r := r * (1 + x / i); i := i + 1
END;
WRITELN(r)
END.
14. program prim2(input, output);
VAR i, n: INTEGER; s: REAL;
BEGIN READ(n); s := 0;
i := 0;
WHILE i < n DO i := i + 1;
s := s + 1 / i; WRITELN(s) END.
15. program prim2(input, output); VAR i, n: INTEGER;
s: REAL;
BEGIN READ(n); s := 0;
i := 0;
WHILE i < n DO BEGIN
i := i + 1;
s := s + 1/SQR(i) END; WRITELN(s); END.
16. program prim2(input, output); VAR n: integer;
x: real;
BEGIN READ(n); x := 0;
WHILE n > 0 DO BEGIN
x := x + n; n := n - 1 END;
WRITELN(x)
END.
17. program prim2(input, output); VAR n, s: integer;
BEGIN
READ(n); s := 0;
WHILE n > 0 DO BEGIN
s := s + SQR(n); n := n - 1
END;
WRITELN(s)
END.
18. program prim2(input, output); VAR n: integer;
s, p: real;
BEGIN READ(n); s := 0;
p := 1;
WHILE n > 0 DO BEGIN
s := s + p * SQR(n); p := -p;
n := n - 1 END; WRITELN(s) END.
19. program prim2(input, output); VAR n, i: integer;
p, s, x: real;
BEGIN READ(n, x); p := x;
i := 1; s := p;
WHILE i <= n DO BEGIN
i := i + 1;
p := –p * x / i; s := s + p END; WRITELN(s) END.
20. program prim2(input, output);