ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.03.2025

Просмотров: 271

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

1. Разработка алгоритмов с простой структурой

    1. Запись формул, вычисление сумм и произведений

Задание. а) Записать формулу из табл. 1.1как арифметическое выражение на языке программирования (ЯП) .

б) Вычислить в цикле это выражение для аргумента x = 0,1; 0,2; 0,3; 0,4; 0,5.

в) Вычислить в этом же цикле сумму значений выражения, полученных для x = 0,1; 0,2; 0,3; 0,4; 0,5.

г) В том же цикле найдите произведение этих значений выражения.

Программу реализации задания можно записать по следующей схеме:

{Y – значение, получаемое по формуле при заданном аргументе X, C – сумма, P – произведение этих значений }

X = 0,1; C = 0; P = 1;

ДЛЯ j = 1 ШАГ 1 ДО 5 ВЫПОЛНЯТЬ

НАЧАЛО

Y = <Формула>;

ВЫВОД Y // Значения Y выводятся в таблицу строк

C = C + Y; P = P · Y;

X = X + 0,1

КОНЕЦ ЦИКЛА;

ВЫВОД C, P // Значения C и P выводятся в окна Edit1, Edit2.

Если вы используете иную схему алгоритма, ее надо обосновать.

Указания. Для вывода значения приводятся к текстовому виду функцией FloatToStr, например FloatToStr (Y). Пять значений Y займут пять ячеек таблицы строк. Для их вывода в первую строку таблицы запишем (в цикле) оператор вывода

StringGrid1.cells [j, 1] := FloatToStr (Y).

Вывод значений C и P записывается проще: Edit1.text:= FloatToStr(C); Edit2.text:= FloatToStr(P);

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

Т а б л и ц а 1.1

Формула F(x)

Сумма

1

11,67

2

–7,2

3

2,8

4

3,95

5

8,64

6

–31,54

7

–7,68

8

5,3

9

–1,99

10

3,8

11

4.3

12

–4,19

13

1,76

14

–5,19

15

43,52

16

–6,01

17

–8,92

18

12,03

19

108,45

20

1,16

21

2,81

22

22,19

23

12,58

24

3,22

25

–3,33

26

–5,16

27

–8,25

28

2,37

29

3,97

30

0,69


1.2. Запись и вычисление логических выражений

Задание 1. Для логической формулы установить, при каких значениях переменных она истинна и при каких она ложна. По условию переменные p, q, t — логического типа, x, y, z, v — числовые. Проверьте ваш ответ, выполнив составленную вами программу вычисления формулы для каждого из ваших тестов (наборов значений).

Пример выполнения для пункта № 0 перечня формул.

Вспомним сначала таблицы значений функций и их приоритет:

A

a

a b

a b

a b

Приоритет операций

False

true

false false

false

false

1

True

false

false true

false

true

2

True false

false

true

3

True true

true

true

Пусть p =true, q = false, t = false , x =5.2, y =10, z =3.

(x < y) (z < y) p (y < 1) (q t) = [ (x < y) (z < y) p ] [ (y < 1) (q t) ] =


[ (5.2< 10) (3 < 10) true ] [ (10 < 1) (false true) ]= [ (true) (true) true ] [ (false) (false false) ] =

= [ true ] [ (false) (false) ] = [ true ] [ false ] = true false = true

Для выполнения тестов на компьютере заменяем формулу логическим выражением, записывая его в операторе ЕСЛИ после задания переменных:

If (x < y) and (z < y) and p or (y < 1) and (q or not t) then Edit1.text:= ’Истина’

else Edit1.text:= ’Ложь’.

Переходя к очередному тесту, заменяем значения переменных.


Перечень логических формул:

  1. (x < y) (z < y) p (y < 1) (q t);

  2. (p q t) (x 0) (yx < 0) p (q t);

  3. (x + y – z/2 < x y) p q t p (x – y > 0);

  4. (x + y > z) ( p t) q (x + y – 2z < 0);

  5. (x < 0) ( p q) ( p q) (x y > 0);

  6. (q t) t (y/z > 0) (y + z > x) (q t);

  7. (3x + 1 8) (x + 2y < 5) (x y) (p q);

  8. (x = y) (y 1) (p q) (x/2 + y < 1);

  9. (x + y = 1) (x – y < 0) (p t) ( p t);

  10. (x > y + 2) (p t) (p q) (x + 2y > 5);

  11. (p q) (2x – 1 < y) ( p q) (x – y < 0);

  12. ( p q) (x > y) (p q) (x y = 0);

  13. (x y) (y 1) (p q t) (y + 2 > x);

  14. (x + y 0) (y > 0) (p q t) t q;

  15. t q (x + 1 y) (t q) (x + y 0);

  16. p q (x 1) (t p q) (y 0);

  17. q (x y z = 96) q (x < z) (x/z 2) (x + y > z – 5);

  18. (z/(x + y) < 1) (y = x) p ((y > x + 1) (z/x = 1));

  19. (z = 3x) (y > x + 1) q (x + y 7) (x/y < 3);

  20. q (x = y) (y x z) t (z/2 < x + y) p;

  21. q ((z = y) (x = 2)) (x + z < y) (z/y x + 2) q;

  22. p (x 3) (2y = 8) q (x/2 > 1) (x y > 98);

  23. (x > y) (z > x) p t (z/x > 3) (z + x = 1);

  24. (x y < z + 5) (x > y) q (x y +1);

  25. (x/(y +1) < 1) (p q) t (x + y < 0);

  26. q (z > x) (y + 3 5) (x z > 0) (z y –1);

  27. (x = y) (z 0) (x + 0,5 2) (x – y > 2);

  28. (x < z) p (x + 2 > y + z) q (x/z > y) (x y = 3);

  29. (x < y) (x/z = 2) q (z x + y) (z x/2) q;

  30. (x + y =24) (x – y = 12) (x > 5) q (z < 4) t;

  31. (y z)) (x > y) (y > z) p ((y x) (x – y = z x).


Задание 2. Переменные x, y — это координаты точки. Для заданного варианта запишите логическое выражение, имеющее значение «истина», только если точка оказывается в закрашенной области рисунка. Используемые криволинейные фигуры — круг и эллипс.

Варианты задания

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