к алгоритмизации   алгоритмы, струкутуры данных и программирование   СУБД   ЯиМП   3GL   4GL   5GL   технологии прогр.

Упражнения по курсу Алгоритмизация и языки программирования

1. Запишите по правилам алгоритмического языка выражения:
a) e)
б) ж)
в) з)
г) и)
д) к)

[ Ответ ]

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);

[ Ответ ]

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).
[ Ответ ]

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 (прямые не параллельны).
[ Ответ ]

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.
[ Ответ ]

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. Начертите на плоскости (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);

[ Ответ ]

8. Запишите логическое выражение, которое принимает значение "истина" тогда и только тогда, когда точка с координатами (x, y) принадлежит заштрихованной области.

[ Ответ ]

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.
[ Ответ ]

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);
[ Ответ ]

11. Задайте с помощью команд если или выбор вычисления по формулам:
a)
б)
в)  
где 
г)
д)
е)
ж) если точка лежит внутри круга радиусом r (r>0) с центром в точке (a,b) 

в противном случае

[ Ответ ]

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 
                все
          все
    все

[ Ответ ]

13. Определите значение целочисленной переменной S после выполнения операторов:
а) S:=128
   нц для i от 1 до 4
      S:=div(S,2)
   кц
Решение
i S
  128
1 128/2=64
2 64/2=32
3 32/2=16
4 16/2=8
Ответ: S=8
г) S:=0
   нц для i от 1 до 2
      нц для j от 2 до 3
       S:=S+i+j
      кц
   кц
Решение
i j S
    0
1 2 0+1+2=3
  3 3+1+3=7
2 2 7+2+2=11
  3 11+2+3=16
Ответ: 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  2 до 3
        S := S+j
      кц
    кц
е)  нц для i от 1 до 2
      S := 0
      нц для j  2 до 3
         нц для k  1 до 2
           S := S+i+j+k
         кц
      кц
    кц

[ Ответ ]

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
    кц
Решение
Условие i < 3 i S
  0 0
0 < 3? да 1 0+12=1
1 < 3? да 2 1+22=5
2 < 3? да 3 5+32=14
3 < 3? нет(кц)    
Ответ: S=14
Решение
Условие N > 0 S N
  0 125
125 > 0? да 0+5=5 12
12 > 0? да 5+2=7 1
1 > 0? да 7+1=8 0
0 > 0? нет (кц)    
Ответ: 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

[ Ответ ]

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 ; использовать формулы:

[ Ответ ]

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.
[ Ответ ]

к алгоритмизации   алгоритмы, струкутуры данных и программирование   СУБД   ЯиМП   3GL   4GL   5GL   технологии прогр.

Знаете ли Вы, что абстрактный класс - это класс, содержащий хотя бы один виртуальный метод. Абстрактные классы не бывают изолированными, т.е. всегда абстрактный класс должен быть наследуемым. Поскольку у чисто виртуального метода нет тела, то создать объект абстрактного класса невозможно. Абстрактным классом можно назвать класс, специально определенный для обеспечения наследования характеристик порожденными классами.

Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution