Информатика-2семестр
.pdfМинистерство образования и науки Российской Федерации Восточно-Сибирский государственный технологический университет
Задания по информатике для студентов специальностей: 140205 – “Электроэнергетические системы и сети”, 140211 – “Электроснабжение”
“Тепловые электрические станции” (№№ 10 – 20)
часть 2
Улан-Удэ
2009
Задание 10 Процедуры ввода
Переменные а, b и с имеют тип char, x, y, z – тип integer, s – тип string[8]. Для за-
данной последовательности операторов ввода и заданных входных данных (файл INPUT) выполнить следующие задания:
1.Записать значения этих переменных после выполнения заданной последовательности операторов ввода. На схеме файла INPUT указать последовательности символов, формирующие значения каждой из переменных.
2.Составить программу, использующую эти операторы, располагая каждый оператор в отдельной строке. Ввести программу в ЭВМ и сравнить значения переменных, полученные в результаты работы программы с результатами п1.
3.Записать представленную последовательность операторов в виде эквивалентной последовательности операторов-процедур READ с одним параметром и READLN без параметров.
4.Записать представленную последовательность операторов в виде эквивалентной последовательности с минимально возможным количеством операторов процедур
READ и READLN.
Примечания:
На схеме файля INPUT символом _ обозначен пробел
Если данных файла INPUT недостаточно для ввода, продублировать еще раз ту же самую последовательность
Последовательность операторов ввода:
1.READ(x, z); READ(c, b); READ(s); READLN(y, a);
2.READLN(b, c, z); READLN(y, s); READLN(x); READLN(a);
3.READ(b); READLN(a); READLN(z); READLN(x, s); READ(y, c);
4.READLN(s); READLN(x, c); READ(y); READ(a, b); READ(z);
5.READLN(a); READLN(b, s); READ(c, x); READLN; READ(y, z);
6.READ(y); READLN(c); READ(b, a, s); READ(z, x);
7.READ(a); READLN(x); READ(z, b, c, s); READLN(y);
8.READ(b, y, c); READLN(x, a, s); READ(z);
9.READLN(c); READLN(z, s); READ(b, x); READ(a, y);
10.READLN(s); READLN(a, x); READ(b); READLN(c); READ(z, y); 11.READ(z, y, a); READLN(x, c); READLN; READLN; READLN(b, s); 12.READ(c); READ(a, b); READ(y, z); READLN(x); READ(s); 13.READLN(x); READLN; READLN(z, y); READLN; READ(c, a, s); READ(b); 14.READLN; READ(x); READLN(y, c); READ(b); READLN(z, a, s); 15.READ(x); READLN(y, s); READ(c, z); READLN(b, a); READLN; 16.READ(x); READLN(a, c, y, s); READ(z, b);
17.READLN(c); READLN(a, z); READ(b, s); READ(y, x);
18.READLN(a); READ(c, s); READLN(x, z); READ(y); READ(b);
19.READ(a, c, s); READLN(b); READ(x, y); READLN(z); READLN;
20.READ(z, y, s); READLN; READLN(b); READLN(a, c, x);
Файл INPUT
Вариант 1
4414 _ _ _ 3233 _ 1719 _ _ _ 4<CR><LF> _ _ 794 _ _ _ 8439 _ 2786 _ _ _ 1<CR><LF> 8425 _ 3370 _ 9270 _ 1<CR><LF>
879 _ _ _ 4116 _ _ 6303 _ 1<CR><LF> _ 5828 _ 2549 _ _ 326 _ _ _ 1<CR><LF> _ 8714 _ 6754 _ 7848 _ 1<CR><LF>
Вариант 2
_ _ 4512 _ 4928 _ _ 2557 _ _ 4<CR><LF> 2699 _ _ _ 8394 _ _ _ 532 _ _ _ 3<CR><LF> _ 1391 _ _ _ 7135 _ _ 91 _ _ _ 3<CR><LF> 6657 _ 2962 _ 7193 _ _ 3<CR><LF>
_ _ _ 2905 _ _ 18 _ _ 1233 _ _ 2<CR><LF> 7858 _ 2659 _ _ 3563 _ 3<CR><LF>
Вариант 3
_ _ _ 8780 _ _ 7597 _ 2663 _ _ _ 2<CR><LF> 4742 _ _ _ 931 _ _ _ 9249 _ _ 1<CR><LF>
_ _ _ 1110 _ _ 4258 _ _ 1360 _ _ _ 3<CR><LF> 7257 _ _ 4669 _ _ 6476 _ _ _ 4<CR><LF> 4484 _ _ 4780 _ _ 832 _ _ _ 3<CR><LF>
_ _ 6511 _ _ 1753 _ 6922 _ _ 2<CR><LF>
Вариант 4
_ 5108 _ _ _ 17 _ 7864 _ 3<CR><LF> 7559 _ 4045 _ _ 2368 _ _ _ 1<CR><LF> _ _ 5656 _ 7160 _ 6629 _ _ _ 3<CR><LF> 9253 _ 2534 _ _ _ 37 _ 1<CR><LF> 3896 _ _ 497 _ 4972 _ 1<CR><LF>
_ _ _ 2642 _ _ 2865 _ _ 5548 _ _ 4<CR><LF>
Вариант 5
_ 6850 _ _ _ 662 _ _ 1952 _ _ 3<CR><LF> _ 1389 _ _ _ 2032 _ 3487 _ _ 3<CR><LF> _ 5789 _ 154 _ _ _ 9876 _ 2<CR><LF>
_ 1253 _ _ _ 1551 _ _ _ 6586 _ _ _ 3<CR><LF> 5308 _ _ _ 6975 _ _ 1723 _ 2<CR><LF>
_ _ _ 6620 _ 1941 _ 4823 _ 2<CR><LF>
Вариант 6
7124 _ 1437 _ _ 477 _ _ _ 2<CR><LF> 7523 _ 2346 _ _ 7881 _ _ _ 4<CR><LF> 649 _ _ _ 3733 _ _ _ 3020 _ _ 2<CR><LF> 4882 _ _ _ 5857 _ 429 _ _ _ 1<CR><LF>
_ _ 8614 _ _ 2030 _ _ _ 6371 _ _ _ 3<CR><LF> _ _ 7953 _ _ 1087 _ _ 522 _ _ _ 2<CR><LF>
Вариант 7
_ _ 8295 _ _ 3424 _ _ _ 1035 _ _ 3<CR><LF> 284 _ 8362 _ _ _ 4034 _ 3<CR><LF>
8753 _ _ _ 3008 _ _ 6172 _ _ _ 3<CR><LF> 4437 _ _ _ 2159 _ _ 969 _ _ 1<CR><LF>
_ _ _ 5907 _ _ 2619 _ 3542 _ _ 2<CR><LF> 3909 _ 7456 _ _ 4153 _ _ 1<CR><LF>
Вариант 8
5835 _ _ _ 7376 _ _ 6058 _ _ 3<CR><LF> 2854 _ 4566 _ 2827 _ 4<CR><LF>
_ _ _ 7501 _ _ 660 _ 2774 _ 2<CR><LF> 4547 _ 876 _ _ _ 1858 _ _ _ 2<CR><LF>
_ _ _ 3974 _ _ 7114 _ 7822 _ _ 2<CR><LF> _ 8129 _ _ _ 2567 _ 942 _ _ _ 1<CR><LF>
Вариант 9
_ _ 6837 _ _ _ 8770 _ _ _ 5587 _ _ 4<CR><LF> 2278 _ _ 630 _ _ 18 _ _ _ 4<CR><LF>
2407 _ _ _ 2385 _ 3281 _ _ 4<CR><LF>
_ 9027 _ _ _ 1560 _ _ _ 7077 _ 4<CR><LF>
_ _ _ 3144 _ _ 1615 _ _ 2537 _ _ _ 3<CR><LF>
_ _ _ 2026 _ _ 3806 _ _ _ 4597 _ _ 1<CR><LF>
Вариант 10
_ 132 _ 8660 _ _ 6028 _ _ _ 1<CR><LF> 7824 _ _ _ 1596 _ 1075 _ _ _ 1<CR><LF> _ _ 4001 _ _ 1922 _ _ 4922 _ 4<CR><LF> 3656 _ _ 2740 _ 2259 _ 2<CR><LF>
_ 7247 _ _ 4439 _ _ _ 2588 _ _ _ 3<CR><LF> 4711 _ 7176 _ _ _ 5666 _ _ 3<CR><LF>
Вариант 11
_ _ _ 9849 _ _ 8217 _ 1359 _ 2<CR><LF> 9797 _ _ _ 2624 _ _ _ 8490 _ 3<CR><LF> _ 8550 _ 8062 _ _ 7696 _ _ 3<CR><LF> 4201 _ _ 9734 _ 7976 _ 4<CR><LF> 7747 _ 9264 _ 6887 _ _ _ 3<CR><LF>
_ _ 8883 _ 6620 _ _ 3929 _ _ _ 1<CR><LF>
Вариант 12
2448 _ _ 9768 _ 6274 _ 3<CR><LF>
8257 _ _ _ 8802 _ _ _ 8735 _ _ _ 3<CR><LF> _ _ 6188 _ _ 888 _ 3348 _ _ 1<CR><LF> 3634 _ _ 975 _ _ 3394 _ 1<CR><LF>
_ _ _ 5215 _ _ _ 55 _ _ _ 9082 _ _ 4<CR><LF> 9765 _ _ _ 6958 _ 2037 _ _ _ 2<CR><LF>
Вариант 13
_ _ 5845 _ 1590 _ 5830 _ _ 4<CR><LF> 6084 _ 6827 _ _ 34 _ _ _ 1<CR><LF> _ 4455 _ 8437 _ _ _ 3098 _ 4<CR><LF>
_ _ _ 3552 _ _ _ 1298 _ 1976 _ 3<CR><LF> 1108 _ _ _ 2867 _ 6446 _ _ _ 1<CR><LF>
_ _ 6683 _ _ _ 8718 _ _ 8852 _ _ _ 4<CR><LF>
Вариант 14
7650 _ _ 1737 _ _ 3533 _ _ _ 2<CR><LF> _ 8941 _ 5468 _ _ 1790 _ _ 2<CR><LF> 5693 _ 3923 _ _ 4660 _ _ 1<CR><LF> 5852 _ _ _ 180 _ _ 5822 _ _ 4<CR><LF> 821 _ _ 6665 _ _ _ 9069 _ 1<CR><LF> 5621 _ 5016 _ 9787 _ _ _ 1<CR><LF>
Вариант 15
_ _ 5273 _ 5196 _ _ _ 4302 _ 4<CR><LF> 6390 _ 3300 _ 2480 _ _ _ 4<CR><LF>
_ _ 4947 _ 1391 _ _ 1128 _ _ _ 3<CR><LF> 4152 _ _ _ 56 _ 2800 _ _ _ 3<CR><LF> 5249 _ _ _ 9727 _ _ _ 5757 _ _ 4<CR><LF> 5768 _ _ 3849 _ 2602 _ _ _ 4<CR><LF>
Вариант 16 |
2352 |
_ _ |
_ |
1260 |
_ _ 9022 _ _ 4<CR><LF> |
|
_ _ 5251 _ 3893 _ 906 _ _ 3<CR><LF> |
_ _ 2359 |
_ |
_ 3898 _ _ _ 524 _ _ _ 1<CR><LF> |
|||
_ _ 2441 _ _ _ 2885 _ _ 4834 _ 3<CR><LF> |
_ 8607 _ |
_ |
4832 |
_ 767 _ 4<CR><LF> |
||
_ _ _ 337 _ _ 6482 _ _ 7446 _ 4<CR><LF> |
6500 |
_ _ _ |
9916 |
_ _ 1138 _ _ 1<CR><LF> |
||
5370 _ _ _ 2426 _ 3954 _ _ 4<CR><LF> |
Вариант 19 |
|
||||
_ _ 9352 _ _ _ 3865 _ _ 2566 _ _ _ 2<CR><LF> |
2093 |
_ _ _ |
4944 |
_ 9268 _ _ _ 3<CR><LF> |
||
_ _ 2576 _ 8171 _ _ 892 _ 1<CR><LF> |
_ 1814 _ |
261 _ _ _ 5632 _ 2<CR><LF> |
||||
Вариант 17 |
_ _ 4596 |
_ |
5796 |
_ _ _ 6287 _ _ 1<CR><LF> |
||
_ _ _ 962 _ 5795 _ 117 _ _ _ 2<CR><LF> |
6139 |
_ _ |
6050 _ |
7270 _ _ 4<CR><LF> |
||
1144 _ _ 9070 _ _ _ 6588 _ _ 4<CR><LF> |
6332 |
_ _ _ |
8395 |
_ _ _ 1744 _ _ 1<CR><LF> |
||
3027 _ _ _ 4372 _ 9106 _ _ 4<CR><LF> |
_ _ _ |
226 _ 8561 _ _ 4734 _ 3<CR><LF> |
||||
_ 9726 _ 513 _ _ 9007 _ _ _ 1<CR><LF> |
Вариант 20 |
|
||||
5092 _ _ _ 3620 _ _ _ 3222 _ 1<CR><LF> |
_ 7297 |
_ _ _ 3651 _ _ _ 7060 _ _ 2<CR><LF> |
||||
_ _ 2038 _ 9560 _ _ 4888 _ _ 1<CR><LF> |
5688 _ |
1151 _ _ 6014 |
_ 3<CR><LF> |
|||
_ _ _ 2635 _ _ |
1708 _ |
_ 7439 _ 1<CR><LF> |
||||
Вариант 18 |
7400 _ _ _ 1809 _ _ _ |
1665 _ _ _ 1<CR><LF> |
||||
_ _ _ 4327 _ _ 4627 _ _ 1843 _ 3<CR><LF> |
8077 _ _ 8287 |
_ 3135 |
_ 3<CR><LF> |
|||
_ _ 4013 _ 9283 _ 8546 _ 4<CR><LF> |
||||||
_ 9813 _ 7200 _ 3820 _ _ 4<CR><LF> |
||||||
|
|
|
|
|
Задание 11 Процедуры вывода
В программе определены переменные a, d типа INTEGER; b, c типа REAL; x, y типа CHAR и переменная s типа STRING[10]. Заданы их значения на момент выполнения последовательности операторов-процедур WRITE и WRITELN. Выполнить следующие задания
1.Записать результаты вывода после выполнения последовательности операторовпроцедур WRITE и WRITELN. На схеме вывода показать выражения опреаторовпроцедур WRITE/WRITELN, образующие результат.
2.Составить программу, использующую эти операторы, располагая каждый оператор в отдельной строке. Ввести программу в ЭВМ и сравнить результаты п.1 и работы программы.
3.Записать представленную последовательность операторов в виде эквивалентной последовательности операторов-процедур WRITE с одним параметром и WRITELN без параметров.
4.Записать представленную последовательность операторов в виде эквивалентной последовательности с минимально возможным количеством операторов-процедур
WRITE и WRITELN.
Последовательности операторов-процедур WRITE и WRITELN
1.WRITE(a:1, b*c: 6); WRITELN(x: 6, b:3:1, ‘Ответ’ :d, y: 5); WRITE(c, a – 1, s);
2.WRITELN(b: 7: 2, c: 4); WRITE(d: a); WRITELN(x: 10, y, a*3: a – d, s: 8);
3.WRITELN(a:11, y: 3, a – b: 10); WRITE(x, s: 15); WRITE(c: d: 4);
4.WRITE(a: 1); WRITE(x: 2); WRITE(b – 10); WRITELN(c: 10: 1, y, c – а: d, s: a + d);
5.WRITE(‘резyльтат’, a * c, s); WRITELN; WRITE(c, a, x, y); WRITE(d – b: 11: 1);
6.WRITE(a, x: 10, s, b:10:2, c:15); WRITE(x, y: 5, a – b:12: d); WRITELN(a/3: 5);
7.WRITELN(b, x); WRITE(y, s, a+b: 10, c: d: 1); WRITE(а * c: 2, а – 27: 11);
8.WRITE(‘12345678’: 5, a, b, c: d); WRITELN(x, y); WRITE(c); WRITELN(a+c: 5: 3, s:1);
9.WRITELN(x, y, а, s: d); WRITE(c, a+5, ‘резyльтат=’: 3, b – c: 6: 2);
10.WRITELN(a: 4, b: 1, c: 10); WRITELN(x: а, s: 3, y: d, 2); WRITE(c);
11.WRITELN(a: d, b); WRITE(b*c – а: 6: 1); WRITELN(x, y, s: 1); WRITELN(c – a);
12.WRITE(‘Cyмма:’, a – b :d :2, a – b*c: d: d – 5); WRITELN(x: 6, y, s: 12);
13.WRITE(‘Cyммa равна’: a + d, s, b: а: a – 5, c – b :12: d, b: 12: 1, x, y);
14.WRITELN(‘резyльтат’: 3); WRITELN(s, a*b – c: d: 3, c: а – 1: 5); WRITE(x, c, y);
15.WRITE(‘Пример’: a, b*c: 6: 2); WRITELN(‘Cтрока’: 2, s, x: 6, y: a – d, c:5);
16.WRITELN(x: 10, s: 8); WRITELN(b: 7: 2, c: 4); WRITE(d: a, y, a*b: a – d);
17.WRITE(s, ‘величина’: a, c); WRITE(x: a, c, y); WRITELN; WRITE(d div a: 11);
18.WRITELN(y, s, a+b: 6: d, x); WRITE(c: d: 10); WRITE(а * c: 2, а – 12: 11);
19.WRITELN(y, s: 1, x); WRITELN(a: d, b); WRITE(b*c – а: 6: 1); WRITELN(c – a);
20.WRITELN(c: 4, d: 1, b: 7); WRITELN(y: а, s: 3, x, a: 12); WRITE(c);
Значения переменных
Вариант |
a |
d |
b |
c |
x |
y |
s |
|
|||||||
|
|
|
|
|
|
|
|
1 |
3 |
5 |
123.425 |
-15.234 |
‘R’ |
‘W’ |
‘Abcdefg’ |
2 |
8 |
3 |
47.246 |
12.311 |
‘2’ |
‘T’ |
‘Сумма+1’ |
3 |
7 |
4 |
-12.633 |
7.1131 |
‘*’ |
‘$’ |
‘Ответ+1’ |
4 |
9 |
11 |
15.731 |
13.442 |
‘Y’ |
‘S’ |
‘Answer’ |
5 |
42 |
1 |
43.117 |
23.124 |
‘6’ |
‘k’ |
‘Question’ |
6 |
12 |
5 |
10.134 |
14.211 |
‘f’ |
‘h’ |
‘0123456’ |
7 |
10 |
6 |
75.152 |
-13.311 |
‘ß’ |
‘T’ |
‘33-12-11’ |
8 |
6 |
12 |
62.31 |
31.942 |
‘6’ |
‘J’ |
‘Black’ |
9 |
8 |
13 |
7.3114 |
-5.1244 |
‘d’ |
‘&’ |
‘Работа’ |
10 |
5 |
12 |
87.33 |
-1.3114 |
‘7’ |
‘q’ |
‘ПриВет’ |
11 |
9 |
21 |
348.33 |
1.521 |
‘Б’ |
‘г’ |
‘Исходный’ |
12 |
7 |
13 |
9.344 |
4.2448 |
‘+’ |
‘S’ |
‘Десять’ |
13 |
4 |
9 |
3.924 |
13.934 |
‘W’ |
‘L’ |
‘АБВГДЕЖ’ |
14 |
8 |
13 |
17.342 |
-3.944 |
‘G’ |
‘g’ |
‘RRRrrr’ |
15 |
12 |
6 |
7.255 |
12.342 |
‘F’ |
‘A’ |
‘ABCDabc’ |
16 |
8 |
15 |
-3.642 |
1.3477 |
‘<’ |
‘>’ |
‘123456789’ |
17 |
32 |
2 |
345 |
7.012 |
‘7’ |
‘s’ |
‘QZBYAS’ |
18 |
13 |
3 |
8.621 |
-4.352 |
‘F’ |
‘H’ |
‘Текст’ |
19 |
7 |
8 |
-3.7524 |
2.3428 |
‘J’ |
‘%’ |
‘Integer’ |
20 |
6 |
11 |
3.7254 |
2.4284 |
‘W’ |
‘Q’ |
‘Правка’ |
Задание 12. Синтаксический анализ программ
Приведите подробный синтаксический анализ программы из задания 8, а также выполните следующие задания:
a)Укажите части головной программы и процедур, в каких строках содержится каждая из частей
b)Перечислите параметры-значения и параметры-переменные, формальные и фактические параметры
c)Укажите:
•глобальные переменные,
•глобальные константы,
•локальные переменные и константы: к какой части они относятся, их область действия
d)Перечислите встречающиеся в программе лексемы:
•специальные символы (не считая служебных слов),
•служебные слова,
•идентификаторы,
•числа,
•литералы
e)Перечислите все предопределенные идентификаторы, использованные в программе
f)Перечислите все идентификаторы, определенные программистом которые использованы в программе и укажите номера строк, содержащих их точки определения. Укажите область действия кажого идентификатора
Заданне 13. Синтаксический анализ выражений
Пусть a, b, ch – имена переменных, c – имя константы. С помощью подробного синтаксического анализа покажите, что следующие выражения синтаксически правильны в стандартном Паскале. Полагая, что a = 7, b = 6, c = 10, ch = ’d’, определите тип этих выражений и вычислите их значения.
1. c – l = b div a |
11. a + 4 * b + c |
|
2. |
с mod a |
12. (a + b) div 3 |
3. ch <> ’a’ |
13. a mod 5 = 0 |
|
4. a + b * c |
14. cos(a) – с < 5 |
|
5. a + c div b |
15. a * b > c |
|
6. |
(a + b) * c |
16. sqr(a) + c div b |
7. |
а * b – 37 div с |
17. sqrt(a – 3) + c |
8. a + 4 * b – 2 * c div 5 |
18. ord(ch) = ord(’D’) |
|
9. a * b mod 3 = 0 |
19. pred(ch) = ’h’ |
|
10. a + b * c = a * b + c |
20. ord(ch) – ord(’D’) > 0 |
Задание 14. Синтаксический анализ операторов
Выполните синтаксический анализ оператора:
1.if (x > 0) and (x < 2) then |
5.if (c <> ‘0’) and (c <> ’9’) then |
y := sqrt(cos(x)) |
begin |
else |
repeat |
y := –sin(sqrt(x)) |
read(c) |
2.if t then |
until (c < ‘0’) or (c > ’9’); |
begin |
t := c; |
d := sqrt(d); |
end; |
a2 := 2 * a; |
6.k := 100 * (ord(c2) – n0) + |
x1 := (–b + d) / a2; |
10 * (ord(c1) – n0) + |
x2 := (–b – d) / a2 |
(ord(c0) – n0); |
end; |
7.begin |
3.if w <> 0 then |
d :=c mod 100 div 10: |
begin |
с1 := chr(n0 + d) |
if cos(w) / sin(w) < 0.5 then |
end; |
w := –w |
8.begin |
end |
s := 0; |
else |
i := 0; |
w := 1; |
while i < 5 do |
4.while с <> ’ ’ do |
i := i + l; |
begin |
s := s + l / i |
if c = ’a’ then |
end |
ka := ka + 1 |
9.begin |
else |
s := 0; |
if c = ’b’ then |
i := 7: |
kb := kb + 4; |
while i > 1 do |
read(c); |
begin |
end; |
s := s + l / i; |
end |
write(’I’) |
end |
else |
10. if al > bl then |
write (’ ‘) |
a1 := a1 mod b1 |
16.repeat |
else |
read(ch); |
b1 := b1 mod a1 |
prc1(ch, i); |
11. for i := l to 20 do |
i := i + 1; |
for j := 1 to 20 do |
until ch = ’ ’ |
p := p / (i + sqr(j)) |
17.repeat |
12. for d1 := 1 to 9 do |
noo := x / sqr(old); |
for d2 := 0 to 9 do |
old := (noo + old) / 2; |
for d3 := 0 to 9 do |
until abs(a / (SQR(noo) * noo) – 1) < 1E– |
lf dl + d2 + d3 = n then |
6 |
k := k + l; |
18.begin |
13. for d = ord(ch1) to ord(ch2) do |
a := num; |
begin |
for i := 1 to pow do |
for с = 1 to ord(’1’) do |
a := a * num; |
write(‘0’); |
power := num |
write(d) |
end |
end; |
19.if a = 0 then |
14.repeat |
fact := 1 |
k := 10 * k + ord(c) – n0: |
else |
read(c) |
fact := a * fact(a – 1) |
until c |
20.for k := 1 to n do |
15.for i := 1 to max do |
begin |
if i = k then |
read(a); |
write(’*’) |
z := z * x; |
else |
y := y + a * z |
if i = n then |
end |
Задание 15. Логические выражения
Разработать программу, используя таблицы разработки. Подготовить тестовый пример. Провести тестирование программы.
Содержание отчета:
•Задание
•Спецификация;
•Таблица разработки;
•Текст программы;
•Набор тестовых примеров и результаты работы программы
1.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 1.
2.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 2.
3.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 3.
4.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 4.
5.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 5.
6.Определить, находится ли точка с координатами (x, y, z) внутри куба со стороной a
(рис. 6).
7.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 7.
8.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 8.
9.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 9.
10.Определить, находится ли точка с координатами (x,y, z) внутри конуса, радиус основания которого R, высота – h (рис. 10)
11.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 11.
12.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 12.
13.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 13.
14.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 14.
15.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 15.
16.Определить, принадлежит ли точка с координатами (x, y) области, изображенной на рис. 16.
Рис.1 |
Рис.3 |
Рис.4 |
Рис.2 |
|
Рис.5 |
Рис.6 |
Рис.7 |
Рис.8 |
|
|
|
Рис.9 |
Рис.10 |
Рис.12 |
Рис.11 |
Рис.14 |
Рис.16 |
Рис.13 |
Рис.15 |
17.Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
18.Даны целые числа x1, x2, x3, y1, y2, y3. Принадлежит ли начало координат треуголь-
нику с вершинами (x1, y1), (x2, y2), (х3, y3)?*
19.Даны положительные действительные числа x, y, z. Проверить, существует ли треугольник с длинами сторон x, y, z и в случае положительного ответа определить, является ли он остроугольным.
20.Даны действительные положительные числа a, b, c, d. Выяснить, можно ли прямоугольник со сторонами a, b уместить внутри прямоугольника со сторонами с, d так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна каждой стороне второго прямоугольника
Задание 16. Сумма ряда
Составить программу для вычисления суммы ряда с заданной точностью , если известна формула для вычисления общего члена ряда ai.
Отчет должен содержать:
•Спецификацию;
•Таблицу разработки (продумать оптимальный алгоритм вычислений);
•Текст программы;
•Результат работы программы: сумма ряда и количество членов, вошедших в сумму
•Таблицу трассировки (подобрать такие значения точности и переменных, чтобы
цикл был выполнен не менее трех раз);
1. |
ai |
|
1 |
|
|
|
|
|||||||
2 |
|
|
|
|
||||||||||
|
|
|
|
|
|
i |
|
|
|
|||||
3. |
ai |
|
1 |
|
|
|
|
|
||||||
|
i! |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
5. |
ai |
|
|
|
|
|
|
|
1 |
|
|
|||
|
|
|
|
2i |
2 |
|
|
|||||||
|
|
|
|
|
|
|
|
|
i |
|||||
7. |
ai |
|
1 |
|
|
|
|
|||||||
i |
|
|
|
|||||||||||
|
|
2 |
|
|
|
|
||||||||
9. |
ai |
|
i |
|
|
|
||||||||
i |
|
|
|
|||||||||||
|
|
2 |
|
|
|
|
||||||||
11. |
ai |
|
|
|
( 1)i 1 x2i |
|||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
(2i 2)! |
|||||
13. |
ai |
|
1 |
|
|
|
|
|||||||
3 |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
i |
|
|
|
||
15. |
a |
( 1)i 1 |
|
|||||||||||
|
||||||||||||||
|
i |
|
|
|
|
|
|
|
|
|
|
i2 |
1
2. ai i2 i
1
4. ai i(i 2)
1
6. ai (i 1)(i 2)
1
8. ai 3i
10. ai ( 1)i 1 x2i 1
(2i 1)!
i
12. ai 3i 1
1 14. ai (i 1)(i 3)
i
16. ai 3i
* В этой задаче надо воспользоваться тем, что если уравнение F(x, y) = 0 определяет прямую или кривую, разбивающую координатную плоскость на две части, то точки (а, b) и (с, d), не лежащие на этой линии, принадлежат одной и той же части, если F(a, b) и F(c, d) – числа одного знака).
17. |
a |
x |
i |
18. |
a |
|
( 1)i |
||||||
|
|
|
|
|
|
||||||||
|
|
|
i! |
||||||||||
|
i |
3 |
|
|
i |
|
|
|
|
||||
19. |
ai |
|
1 |
|
|
20. |
ai |
|
|
|
1 |
||
i! i |
i |
2 |
2i |
||||||||||
|
|
|
|
|
|
|
Задание 17
Разработать программу, используя таблицы разработки. Подготовить тестовый пример. Провести тестирование программы.
Содержание отчета:
•Задание
•Спецификация;
•Таблица разработки;
•Текст программы;
•Набор тестовых примеров и результаты работы программы
1.Траектория снаряда, вылетающего из орудия под углом с начальной скоростью v0 описывается уравнениями: x = v0∙cos ∙t, y = v0∙sin ∙t – gt2/2, где g = 9.8 – ускорение свободного падения, t –
время. Вводя n пар (v0, ), определить, сколько снарядов поразит
цель высотой P, расположенной в вертикальной плоскости ствола орудия на расстоянии R на высоте H (рис. 17).
Задано n троек чисел a, b, c. Вводя их по очереди и интерпретируя как длины сторон треугольника, определить, сколько троек может быть использовано для построения треугольника.
Даны отрезки длиной a, b, c, d. Для каждой тройки отрезков, из которых можно построить треугольник, напечатать площадь этого треугольника.
Вводя в цикле по 5 оценок каждого студента, подсчитать число студентов, не имеющих оценок 2 и 3.
Вводя в цикле по 4 оценки, полученные студентами в сессию, определить число неуспевающих студентов и средний балл группы по всем экзаменам.
Вводятся координаты n точек x и y. Определить, сколько из них принадлежат фигуре, ограниченной осью абсцисс и аркой синусоиды, построенной для аргумента от 0 до . Вводятся координаты n точек x и y. Определить, сколько из них попадает в кольцо с внутренним радиусом R1 и внешним радиусом R2.
Последовательность u0, u1, u2, ... определяется правилами
u0 = 0, u1 = 1, |
ui+2 = ui+1 + ui, |
i = 0, 1, ... |
Написать программу вычисления un.
Написать программу нахождения среди чисел 1, 1 1 , 1 1 1 ,... первого, большего за-
2 2 3
данного числа a.
2.Дано положительное число . Последовательность a1, a2, a3, ... образована по следующему закону:
(1 1) (1 1) (1 1 ) 2 3 i 1
Найти первый член an последовательности и его порядковый номер, для которого выполнено условие |an – an–1| < .
3.Написать программу, печатающую в порядке убывания все делители данного числа.
4.Поменять местами значения целых переменных A, B, C таким образом, чтобы оказалось A B
C
5.Заданы координаты центров двух окружностей (x1, y1) и (x2, y2) и их радиусы R1 и R2. Определить, имеют ли эти окружности общие точки.