
Информатика, Шауцуков,2004
.pdf
7.9. Пусть a=3, b=5, c=7. Какие значения будут иметь эти переменные в результате выполнения последовательности операторов:
а) a:=a+1; b:=a+b; c:=a+b; a:=sqrt(a)
Решение: a=3+1=4, b=4+5=9, c=4+9=13, a= {корень квадратный из} 4 =2.
Ответ: а=2, b=9, c=13;
б) с:=a*b+2; b:=b+1; a:=c-b**2; b:=b*a; в) b:=b+a; c:=c+b; b:=1/b*c;
г) p:=c; c:=b; b:=a; a:=p; c:=a*b*c*p;
д) c:=a**(b-3); b:=b-3; a:=(c+1)/2*b; c:=(a+b)*a; е) x:=a; a:=b; b:=c; c:=x; a:=sqrt(a+b+c+x-2);
ж) b:=(a+c)**2; a:=lg(b**2)**2; c:=c*a*b.
7.10. Задайте с помощью операторов присваивания следующие действия:
а) массив X=(x1, x2) преобразовать по правилу: в качестве x1 взять сумму, а в качестве х2 — произведение исходных компонент;
Решение: c:=x[1]; x[1]:=x[1]+x[2]; x[2]:=c*x[2]
б) поменять местами значения элементов массива X=(x1, x2);
в) в массиве A(N) компоненту с номером i (1<i<N) заменить полусуммой исходных соседних с нею компонент, соседнюю справа компоненту заменить на нуль, а соседнюю слева компоненту увеличить на 0.5;
г) u = max(x, y, z) + min(x-z, y+z, y, z);
7.11. Задайте с помощью команд если или выбор вычисления по формулам:
a)
б)
в) где
г)

д)
е)
|
если точка лежит внутри круга радиусом r (r>0) с центром в |
|
ж) |
точке |
(a,b) |
|
|
впротивном случае
7.12.Постройте графики функций y(x), заданных командами если:
а) если x<=-1 |
в) если x<-0.5 |
то y:=1/x**2 |
то y:=1/abs(x) |
иначе |
иначе |
если x<=2 |
если x<1 |
то y:=x*x |
то y:=2 |
иначе y:=4 |
иначе y:=1/(x-0.5) |
все |
все |
все |
все |
Решение
|
г) |
если x<0 |
|
|
то y:=1 |
|
|
иначе |
|
|
если x<3.14 |
|
|
то y:=cos(x) |
|
|
иначе y:=-1 |
|
|
все |
|
|
все |
б) если x<-5 |
д) |
если abs(x)>2 |
то y:=-5 |
|
то y:=x*x |
иначе |
|
иначе |
если x<0 |
|
если x<0 |
то y:=x |
|
то y:=-2*x |
иначе |
|
иначе |
если x<3 |
|
если x>=1 |
то y:=2*x |
|
то y:=4 |
иначе y:=6 |
|
иначе y:=4*x*x |
все |
|
все |
все |
|
все |
все |
|
все |

7.13. Определите значение целочисленной переменной S после выполнения операторов:
|
|
Решение |
|
Решение |
||||||
|
|
|
|
|
|
i |
|
j |
|
S |
|
|
i |
|
S |
г) S:=0 |
|
|
|||
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
||
а) S:=128 |
|
|
128 |
нц для i от 1 до |
|
|
|
|
||
|
|
|
|
|
|
|
||||
|
|
|
2 |
|
|
|
|
|
||
|
нц для i от 1 до |
1 |
|
128/2=64 |
1 |
|
2 |
|
0+1+2=3 |
|
4 |
|
|
|
|
нц для j от 2 |
|
|
|
|
|
S:=div(S,2) |
|
|
|
до 3 |
|
|
3 |
|
3+1+3=7 |
|
2 |
|
64/2=32 |
|
|
|
|||||
|
|
S:=S+i+j |
|
|
|
|||||
|
кц |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
3 |
|
32/2=16 |
кц |
2 |
|
2 |
|
7+2+2=11 |
|
|
|
|
|
кц |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
16/2=8 |
|
|
|
3 |
|
11+2+3=16 |
|
|
Ответ: S=8 |
|
|
|
|
|
|
||
|
|
|
Ответ: S=16 |
|||||||
б) |
S:=1; a:=1 |
|
|
|
д) нц для i от 1 до 3 |
|
|
|
||
|
|
|
S:=0 |
|
|
|
|
|
||
|
нц для i от 1 до 3 |
|
|
|
|
|
|
|
|
|
|
S:=S+i*(i+1)*a |
|
|
|
нц для j от 2 до 3 |
|
|
|||
|
|
|
|
S:=S+i+j |
|
|
|
|
|
|
|
a:=a+2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
кц |
|
|
|
|
|
|
|
кц |
|
|
|
кц |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в) |
S:=1; a:=1 |
|
|
|
е) нц для i от 1 до 2 |
|
|
|
||
|
нц для i от 1 до 3 |
|
|
|
S := 0 |
|
|
|
|
|
|
S := S+i |
|
|
|
нц для j oт 2 до 3 |
|
|
|
||
|
|
|
|
нц для k oт 1 до 2 |
||||||
|
нц для j oт 2 до 3 |
|
|
S := S+i+j+k |
|
|
|
|||
|
S := S+j |
|
|
|
|
|
|
|||
|
|
|
|
кц |
|
|
|
|
|
|
|
кц |
|
|
|
|
|
|
|
|
|
кц |
кц |
|
кц |
||
|
7.14. Определите значение переменной S после выполнения операторов:
а) i:=0; S:=0 |
г) |
S:=0; N:=125 |
|
|
нц пока N>0 |
|
|
нц пока i<3 |
|
|
|
|
S:=S+mod(N,10) | S — сумма |
||
i:=i+1; |
цифр |
||
S:=S+i*i |
N:=div(N,10) | |
числа N |
|
кц |
|
||
|
|
кц |
|
Решение |
|
|
|
|
|
Решение |
|
|
|
|
|
||
|
Условие i < 3 |
|
i |
|
S |
|
Условие N > 0 |
|
S |
|
N |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
|
|
|
|
0 |
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
< 3? да |
|
1 |
|
0+12=1 |
|
125 > 0? да |
|
0+5=5 |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
1 |
< 3? да |
|
2 |
|
1+22=5 |
|
12 > 0? да |
|
5+2=7 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2 |
< 3? да |
|
3 |
|
5+32=14 |
|
1 |
> 0? да |
|
7+1=8 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
< 3? нет(кц) |
|
|
|
|
|
0 |
> 0? нет (кц) |
|
|
|
|
Ответ: |
S=14 |
|
|
|
|
Ответ: |
S=8 |
|
|
|
|
б) S:=0; i:=1 |
д) а:=1; b:=1; S:=0; |

нц пока i>1 |
нц пока a<=5 |
S:=S+1/i |
a:=a+b; b:=b+a; |
i:=i-1 |
S:=S+a+b |
кц |
кц |
в) S:=0; i:=1; j:=5 |
е) a:=1; b:=1 |
нц пока i<j |
нц пока a+b<10 |
S:=S+i*j |
a:=a+1 |
i:=i+1 |
b:=b+a |
j:=j-1 |
кц |
кц |
S:=a+b |
7.15. Составьте алгоритмы решения задач линейной структуры (условия этих задач заимствованы из учебного пособия В.М. Заварыкина, В.Г. Житомирского и М.П. Лапчика "Основы информатики и вычислительной техники", 1989):
а) в треугольнике известны три стороны a, b и c; найти (в градусах) углы этого треугольника, используя формулы:
С=180o-(А+В).
Пояснение. Обратите внимание на то, что стандартные тригонометрические функции arccos и arcsin возвращают вычисленное значение в радианной мере.
Решение:
алг Углы треугольника(арг вещ a,b,c, рез вещ UgolA,UgolB,UgolC) нач вещ RadGr,UgolARad
| RadGr — коэф. перевода угла из радианной меры в градусную
| UgolARad — угол A (в радианах) RadGr:=180/3.14 UgolARad:=ArcCos((b*b+c*c-a*a)/(2*b*c)) UgolA:=UgolARad*RadGr UgolB:=ArcSin(b*sin(UgolARad)/a)*RadGr UgolC:=180-(UgolA+UgolB)
кон
б) в треугольнике известны две стороны a, b и угол C (в радианах) между ними; найти сторону c, углы A и B (в радианах) и площадь треугольника, используя формулы:
с2 = a2 + b2 - 2ab cos C.
Пояснение. Сначала нужно найти сторону c , а затем остальные требуемые значения;
в) в треугольнике известны три стороны a, b и c; найти радиус описанной окружности и угол A (в градусах), используя формулы:
где

г) в правильной треугольной пирамиде известны сторона основания a и угол A (в градусах) наклона боковой грани к плоскости основания; найти объем и площадь полной поверхности пирамиды, используя формулы:
V=Socн· H/2;
где
д) в усеченном конусе известны радиусы оснований R и r и угол A (в радианах) наклона образующей к поверхности большего основания; найти объем и площадь боковой поверхности конуса, используя формулы:
где
e) в правильной четырехугольной пирамиде сторона основания равна a , а боковое ребро наклонено к плоскости основания под углом A ; найти объем и площадь полной поверхности пирамиды и площадь сечения, проходящего через вершину пирамиды и диагональ основания d ; использовать формулы:
7.16. Составьте алгоритм решения задач развлетвляющейся структуры:
а) определить, является ли треугольник с заданными сторонами a, b, c равнобедренным;
Решение:
алг Треугольник(арг вещ a,b,c, рез лог Otvet)
дано | a>0, b>0, c>0, a+b>c, a+c>b, b+c>a
надо | Otvet = да, если треугольник равнобедренный
| Otvet = нет, если треугольник не равноведренный
нач
если (a=b) или (a=c) или (b=c) то Otvet:= да
иначе Otvet:= нет
все
кон
б) определить количество положительных чисел среди заданных чисел a, b и c;
в) меньшее из двух заданных неравных чисел увеличить вдвое, а большее оставить без изменения;

г) числа a и b — катеты одного прямоугольного треугольника, а c и d — другого; определить, являются ли эти треугольники подобными;
д) даны три точки на плоскости; определить, какая из них ближе к началу координат;
е) определить, принадлежит ли заданная точка (x, y) плоской фигуре, являющейся кольцом с центром в начале координат, с внутренним радиусом r1 и внешним радиусом r2 ;
ж) упорядочить по возрастанию последовательность трех чисел a, b и c.
Ответы — Раздел 7. Алгоритмы. Алгоритмизация. Алгоритмические языки
7.1.
а) (x+y)/(x-1/2)-(x-z)/(x*y); б) (1+z)*(x+y/z)/(a-1/(1+x*x)); в) x**(n*(m+2)) + x**(n**m);
г) (a+b)**n/(1+a/(a**m-b**(m-n)));
д) (a[i]**(2*l) + b[j+1]**(2*k)) * (3**n-x*x*y)/(z-(d[i,j+1]+1)/(z+ y/sqrt(t*t+x*y*z)));
е) sqrt(abs(sin(x)**2))/(3.01*x - exp(2*x));
ж) abs(cos(x**3) - sin(y)**2) / (abs(ln(x))**(1/4) + x*y); з) ln(y**(-sqrt(abs(x+1)))) * sin(arctg(z))**2;
и) r[i,j]**abs(x-y) - 0.15*abs(sin(exp(-z**8)));
к) a**((x+y)/2) - ((x-1)/(abs(y)+1))**(1/3)*exp(-(y+u/2)).
|
|
|
7.2. а) |
|
|
|
; |
б) |
|
|
; |
|
в) |
|
|
|
|
; |
г) |
|
|
; |
|
д) |
|
|
|
; |
е) |
|
|
; |
ж) |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
; |
|
|
з) |
|
|
|
; |
и) |
|
|
|
; |
|
|
к) |
|
|
; |
|
|
|
л) |
|
|
; |
|
м) |
|
|
|
; |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
н) |
|
|
|
|
; |
|
|
о) |
|
|
|
|
|
; |
|
|
п) |
|
|
|
|
|
|
|
|
|
|
|
; |
|
|
р) |
|
|
|
; |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
с) |
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
т) |
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
у) |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
ф) |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7.3. б) 16; в) 5,5; |
г) -256; д) 3; |
е) -2; |
ж) 1.8. |
|
|
|
|

7.4.б) среднее арифметическое: (a+b+c+d)/4; среднее геометрическое:
(a*b*c*d)**(1/4); в) sqrt(x*x+y*y); г) sin(x*3.14/180); д) 6*a*a; е) sqrt(3)*a/2; ж) абсцисса: (c1*b2-c2*b1)/(b1*a2-b2*a1); ордината: (c2*a1-c1*a2)/(b1*a2-b2*a1).
7.5. б) нет; в) да; г) да; д) да; е) нет;
7.6.
б) (x < a) или (x > b);
в) ((x>=a) и (x<=b)) или ((x>=c) и (x<=d));
г) ((x < a) или (x > b)) и ((x < c) или (x > d)); д) mod(k,2)=1;
е) (mod(k,5)=0) и (k > 99) и (k < 1000); ж) (mod(i,2)=1) и (mod(j,2)=0);
з) a1*b2=a2*b1;
и) (c < a) и (b > a);
к) (a=-b) или (a=-c) или (a=-d) или (b=-c) или (b=-d) или (c=-d); л) ((mod(a,2)=0) и (mod(b,2)=0)) или ((mod(a,2)=0) и (mod(c,2)=0)) или ((mod(b,2)=0) и (mod(с,2)=0));
м) (a>0) и (b>0) и (c>0) и (a+b>c) и (a+c>b) и (b+c>a);
н) ((a1*b2=a2*b1) и (a1*c2=a2*c1)) или ((a1*c2=a2*b1) и (a1*b2=a2*c1)) или ((a1*c2=b2*b1) и (a1*a2=b2*c1)) или ((a1*a2=b2*b1) и (a1*c2=b2*c1)) или ((a1*a2=c2*b1) и (a1*b2=c2*c1)) или ((a1*b2=c2*b1) и (a1*a2=c2*c1)); о) (y>5-5*x) и (y<5-x) и (y>0);
п) (y<5-5*x)) или (y>5-x) или (y<0); р) (a=b) и (c=d) и (b=c).

7.7. |
б) |
в) |
г) |
д) |
ж) |
з) |
и) к)
7.8.
а) (y>=1-x) и ((y<=0) или (x<=0));
б) (y<1) и (y>=x) и (y>=-x) (вариант ответа: (y<1) и (y>=abs(x))); в) (abs(x)<=1) и (abs(y)<1);
г) ((x-1)*(x-1)+y*y<=4) и (y<=3-x) и (y>=x-3);
д) (abs(x)<=3) и (abs(y)<=3) и (x*x+y*y>=9) и ((x>=0) или (y<=0)); е) (abs(x)+abs(y)<=2) и (sign(x)<>sign(y)) или (x*x+y*y<=4)
и ((y>=2-x) или (y<=-x-2));
ж) ((y>=x*x) или (y<=-x*x)) и ((x>=y*y) или (x<=-y*y));
з) (((x+2)*(x+2)+y*y<=4) и ((x+2)*(x+2)+y*y>=1)) или (x>=-1); и) (((y<=0)=(y>=-x)) или ((x>=0)=(y>=x))) и (x*x+y*y<=1).
7.9. б) a=-19; |
b=-114; |
c=17; |
в) a=3; |
b=1,875; |
c=15; |
г) |
a=7; |
b=3; |
|
c=735; |
д) a=10; |
b=2; |
c=120; |
е) a=4; |
b=7; |
c=3; |
ж) |
a=16; b=100, |
c=11200.
7.10. б) c:=x[1]; x[1]:=x[2]; x[2]:=c; |
в) a[i]:=(a[i-1]+a[i+1])/2; a[i+1]:=0; a[i- |
|
1]:=a[i-1]+0.5; |
г) u:=max(max(x, y), z) + min(min(x-z,y+z), min(y,z)). |
|
|
|
|

7.11.
а) если |
x <= -100 |
|
б) если x*x+y*y <= 1 |
||
то y:=sign(x)*abs(x)**(1/7) |
то |
z:=x*x+y*y |
|||
иначе если x < 100 |
|
иначе если y>=x |
|||
|
|
то y:=sign(x)*abs(x)**(1/3) |
то z:=x+y |
||
|
|
иначе y:=sqrt(x) |
|
иначе z:=0.5 |
|
все |
|
все |
|
все |
все |
|
|
|
|
||
в) если x < 0 |
г) выбор |
|
|||
то |
|
z:=lg(-x) |
|
при с=0 : z:=1 |
|
иначе z:=sqrt(x+1) |
|
при с=1 : z:=x |
|
||
все |
|
|
|
при с=2 : z:=3*x*x - 1/2 |
|
если z>=0 |
|
при с=3 : z:=x*x*x - 3*x/2 |
|||
то |
|
F:=2*z+1 |
|
иначе z:=2*x**4 - 3*x/2 |
|
иначе F:=sin(z) |
все |
|
|||
все |
|
|
|
|
|
д) если abs(x)+abs(y) < r |
|
е) если x>1 |
|
||
то |
|
z:=sqrt(x*x+y*y) |
|
то если y>1 |
|
иначе z:=max(abs(x), abs(y)) |
то v:=x+y |
||||
все |
|
|
|
иначе v:=x-y |
|
ж) если (x-a)**2 +(y-b)**2 < r*r |
все |
|
|||
иначе если y>0 |
|||||
|
то |
z:=abs(x)+abs(y) |
|
то v:=y-x |
|
все |
иначе z:=x+y |
|
|
иначе v:=-x-y |
|
|
|
|
все |
все |
|
|
|
|
|
|
|
|
|
|
|
|
|
7.12. |
б) |
в) |
г) |
д) |
7.13. б) 81; в) 21; |
д) 11; |
е) 44. |
|
|
|

7.14. б) 0; в) 13; |
д) 52; |
е) 14. |
7.15.
б) алг Треугольник1(арг вещ a,b,UgolC, рез вещ c, UgolA, UgolB, S)
нач
ввод a, b, UgolC c:=sqrt(a*a+b*b-2*a*b*cos(UgolC)) UgolA:=arcsin(a*sin(UgolC)/c) UgolB:=arcsin(b*sin(UgolC)/c) S:=b*c*sin(UgolA)/2
вывод c, UgolA, UgolB, S
кон
в) алг Треугольник2(арг вещ a,b,c, рез вещ Radius,UgolA)
нач вещ p
ввод a,b,c p:=(a+b+c)/2
UgolA:=2*arctg(sqrt((p-b)*(p-c)/(p*(p-a))))*180/3.14 Radius:=a*b*c/(4*sqrt(p*(p-a)*(p-b)*(p-c)))
вывод Radius, UgolA
кон
г) алг Объем и Площадь Пирамиды(арг вещ a,UgolAGrad, рез вещ V, S)
нач вещ H,SBase,UgolARad
| H - высота пирамиды; SBase - площадь основания
ввод a,UgolAGrad UgolARad:=UgolAGrad*3.14/180 SBase:=a*a*sqrt(3)/4 H:=a*sqrt(3)/6*tg(UgolARad) V:=SBase*H/3 S:=SBase*(1+1/cos(UgolARad))
вывод V, S
кон
д) алг Объем и Площадь конуса(арг вещ RBig,RSmall,Ugol, рез вещ V, S)
нач вещ H,L
ввод RBig,RSmall,Ugol H:=(RBig-RSmall)*tg(Ugol) L:=(RBig-RadSmall)/cos(Ugol)
V:=1/3*3.14*H*(RSmall**2 + RBig**2 + RSmall*RBig) S:=3.14*L*(RBig+RSmall)
вывод V, S
кон
е) алг Параметры пирамиды (арг вещ a,UgolA, рез вещ V, S, Sесtion)
нач вещ H
ввод a,UgolA H:=a*sqrt(2)/2*tg(UgolA) V:=1/3*a*a*H Sесtion:=a*H*sqrt(2)/2 S:=a*a*(1+sqrt(2*tg(UgolA)**2+1)) вывод V, S, Sесtion
кон