Упражнения
7.1. Запишите по правилам алгоритмического языка выражения:
a) | e) | ||
б) | ж) | ||
в) | з) | ||
г) | и) | ||
д) | к) |
[ Ответ ]
7.2. Запишите в обычной математической форме арифметические выражения:
а) a / b ** 2; б) a+b/c+1; в) 1/a*b/c; г) a**b**c/2; д) (a**b)**c/2; е) a/b/c/d*p*q; ж) x**y**z/a/b; з) 4/3*3.14*r**3; и) b/sqrt(a*a+b); к) d*c/2/R+a**3; | л) 5*arctg(x)-arctg(y)/4; м) lg(u*(1/3)+sqrt(v)+z); н) ln(y*(-sqrt(abs(x)))); о) abs(x**(y/x)-(y/x)**(1/3)); п) sqrt((x1-x2)**2+(y1-y2)**2); р) exp(abs(x-y))*(tg(z)**2+1)**x; c) lg(sqrt(exp(x-y))+x**abs(y)+z); т) sqrt(exp(a*x)*sin(x)**n)/cos(x)**2; у) sqrt(sin(arctg(u))**2+abs(cos(v))); ф) abs(cos(x)+cos(y))**(1+sin(y)**2); |
[ Ответ ]
7.3. Вычислите значения арифметических выражений при x=1:
а) abs(x-3)/ln(exp(3))*2/lg(10000);
Решение: abs(1-3)=2; ln(exp(3))=3; lg(10000)=4; 2/3*2/4=0.33;
б) sign(sqrt(sqrt(x+15)))*2**2**2;
в) int(-2.1)*int(-2.9)/int(2.9)+x;
г) -sqrt(x+3)**2**(sign(x+0.5)*3)+tg(0);
д) lg(x)+cos(x**2-1)*sqrt(x+8)-div(2,5);
е) sign(x-2)*sqrt(int(4.3))/abs(min(2,-1));
ж) div(10,x+2)*mod(10,x+6)/max(10,x)*mod(2,5).
[ Ответ ]
7.4. Запишите арифметические выражения, значениями которых являются:
а) площадь треугольника со сторонами a, b, c (a, b, c>0) и полупериметром p;
Ответ: sqrt(p*(p-a)*(p-b)*(p-c));
б) среднее арифметическое и среднее геометрическое чисел a, b, c, d;
в) расстояние от точки с координатами (x,y) до точки (0,0);
г) синус от x градусов;
д) площадь поверхности куба (длина ребра равна а);
е) радиус описанной сферы куба (длина ребра равна а);
ж) координаты точки пересечения двух прямых, заданных уравнениями
a1x+b1y+c1=0 и a2x+b2y+c2=0 (прямые не параллельны).
[ Ответ ]
7.5. Вычислите значения логических выражений:
а) x*x+y*y<=9 при x=1, y=-2
Ответ: да;
б) b*b-4*a*c<0 при a=2, b=1, c=-2;
в) (a>=1) и (a<=2) при a=1.5;
г) (a<1) или(a>1.2) при a=1.5;
д) (mod(a,7)=1) и (div(a,7)=1) при a=8;
е) не ((a>b) и (a<9) или (а*а=4)) при a=5, b=4.
[ Ответ ]
7.6. Запишите логические выражения, истинные только при выполнении указанных условий:
а)x принадлежит отрезку [a, b]
Ответ: (x>=a) и (x<=b);
б)x лежит вне отрезка [a, b];
в)x принадлежит отрезку [a, b] или отрезку [c, d];
г)x лежит вне отрезков [a, b] и [c, d];
д)целое k является нечетным числом;
е)целое k является трехзначным числом, кратным пяти;
ж)элемент ai,j двумерного массива находится на пересечении нечетной строки и четного столбца;
з)прямые a1x+b1y+c1=0 и a2x+b2y+c2=0 параллельны;
и)из чисел a, b, c меньшим является с, а большим b;
к)среди чисел a, b, c, d есть взаимно противоположные;
л)среди целых чисел a, b, c есть хотя бы два четных;
м)из отрезков с длинами a, b, c можно построить треугольник;
н)треугольники со сторонами a1, b1, c1 и a2, b2, c2 подобны;
о)точка с координатами (x,y) принадлежит внутренней области треугольника с вершинами A(0,5), B(5,0) и C(1,0);
п)точка с координатами (x,y) принадлежит области, внешней по отношению к треугольнику с вершинами A(0,5), B(1,0) и C(5,0);
р)четырехугольник со сторонами a, b, c и d является ромбом.
[ Ответ ]
7.7. Начертите на плоскости (x,y) область, в которой и только в которой истинно указанное выражение. Границу, не принадлежащую этой области, изобразите пунктиром.
а) (x<=0) и (y>=0) Ответ: | е) ((x-2)**2+y*y<=4) и (y>x/2) Ответ: |
б) (x>=0) или (y<=0) в) x+y>=0 г) (x+y>0) и (y<0) д) abs(x)+abs(y)>=1 | ж) (x*x+y*y<1) и (y>x*x); з) (y>=x) и (y+x>=0) и (y<=1); и) (abs(x)<=1) и (y<2); к) (x**2+y**2<4) и (x**2+y**2>1); |
[ Ответ ]
7.8. Запишите логическое выражение, которое принимает значение "истина" тогда и только тогда, когда точка с координатами (x, y) принадлежит заштрихованной области.
[ Ответ ]
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то y:=1/x**2иначе если x<=2то y:=x*xиначе y:=4все все | в) если x<-0.5то y:=1/abs(x)иначе если x<1то y:=2иначе y:=1/(x-0.5)все все |
Решение | г) если x<0то y:=1иначе если x<3.14то y:=cos(x)иначе y:=-1все все |
б) если x<-5то y:=-5иначе если x<0то y:=xиначе если x<3то y:=2*xиначе y:=6все все все | д) если abs(x)>2то y:=x*xиначе если x<0то y:=-2*xиначе если x>=1то y:=4иначе y:=4*x*x все все все |
[ Ответ ]
7.13. Определите значение целочисленной переменной S после выполнения операторов:
а) S:=128 нц для i от 1 до 4 S:=div(S,2) кц | Решение
Ответ: S=8 | г) S:=0нц для i от 1 до 2нц для j от 2 до 3 S:=S+i+jкц кц | Решение
Ответ: S=16 | ||||||||||||||||||||||||||||||
б) S:=1; a:=1 нц для i от 1 до 3 S:=S+i*(i+1)*a a:=a+2 кц | д) нц для i от 1 до 3 S:=0 нц для j от 2 до 3 S:=S+i+j кц кц | ||||||||||||||||||||||||||||||||
в) S:=1; a:=1 нц для i от 1 до 3 S := S+i нц для j oт 2 до 3 S := S+j кц кц | е) нц для i от 1 до 2 S := 0 нц для j oт 2 до 3 нц для k oт 1 до 2 S := S+i+j+k кц кц кц |
[ Ответ ]
7.14. Определите значение переменной S после выполнения операторов:
а) i:=0; S:=0 нц пока i<3 i:=i+1; S:=S+i*i кц | г) S:=0; N:=125 нц пока N>0 S:=S+mod(N,10) | S — сумма цифр N:=div(N,10) | числа N кц | ||||||||||||||||||||||||||||||||||||
Решение
Ответ: S=14 | Решение
Ответ: S=8 | ||||||||||||||||||||||||||||||||||||
б) S:=0; i:=1 нц пока i>1 S:=S+1/i i:=i-1 кц | д) а:=1; b:=1; S:=0; нц пока a<=5 a:=a+b; b:=b+a; S:=S+a+b кц | ||||||||||||||||||||||||||||||||||||
в) S:=0; i:=1; j:=5 нц пока i<j S:=S+i*j i:=i+1 j:=j-1 кц | е) a:=1; b:=1 нц пока a+b<10 a:=a+1 b:=b+a кц S:=a+b |
[ Ответ ]
7.15. Составьте алгоритмы решения задач линейной структуры (условия этих задач заимствованы из учебного пособия В.М. Заварыкина, В.Г. Житомирского и М.П. Лапчика "Основы информатики и вычислительной техники", 1989):
а) в треугольнике известны три стороны a, b и c; найти (в градусах) углы этого треугольника, используя формулы:
С=180o-(А+В). |
Пояснение. Обратите внимание на то, что стандартные тригонометрические функции arccos и arcsin возвращают вычисленное значение в радианной мере.
Решение:
б) в треугольнике известны две стороны 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;
в) меньшее из двух заданных неравных чисел увеличить вдвое, а большее оставить без изменения;
г) числа 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 кон7.16.
б) алг Количество положительных(арг вещ a,b,c, рез цел k) надо | k - количество положительных чисел среди чисел a,b,c нач ввод a,b,c; k:=0 если a>0 то k:=k+1 все если b>0 то k:=k+1 все если c>0 то k:=k+1 все вывод k кон в) алг Преобразование(арг рез вещ a,b) надо |меньшее из a,b увеличено вдвое нач ввод a,b если a>b то b:=b*2 иначе a:=a*2 все вывод a,b кон г) алг Подобие треугольников(арг вещ a,b,c,d, рез лог Otvet) дано | a,b и c,d - катеты двух треугольников надо | Otvet=да, если треугольники подобны нач ввод a,b,c,d если (a*d=с*b) или (a*c=d*b) то Otvet:=да иначе Otvet:=нет все вывод Otvet кон д) алг Точки(арг вещ xA,yA,xB,yB,xC,yC, рез лит Otvet) нач вещ DistA,DistB,DistC ввод xA,yA,xB,yB,xC,yC DistA:=sqrt(xA**2 + yA**2) DistB:=sqrt(xB**2 + yB**2) DistC:=sqrt(xC**2 + yC**2) если (DistA < DistB) и (DistA < DistC) то Otvet:="Это точка А" иначе если DistB < DistC то Otvet:="Это точка B" иначе Otvet:="Это точка C" все все вывод Otvet кон е) алг Принадлежность кольцу(арг вещ x,y,r1,r2, рез лог Otvet) дано | r2>r1 надо | Otvet=да, если точка (x,y) принадлежит кольцу | c внутренним радиусом r1 и внешним радиусом r2 нач ввод x,y,r1,r2 если (x*x+y*y<=r2*r2) и (x*x+y*y>=r1*r1) то Otvet:=да иначе Otvet:=нет все вывод Otvet кон ж) алг Упорядочение по возрастанию(арг рез вещ a, b, c) надо | числа a, b, c упорядочены по возрастанию нач вещ t ввод a, b, c если a>b то t:=a; a:=b; b:=t | меняются местами значения a и b все если a>c то t:=a; a:=c; c:=t | меняются местами значения a и c все если b>c то t:=b; b:=c; c:=t | меняются местами значения b и c все вывод a, b, c кон
Дата добавления: 2015-08-08; просмотров: 1118;