к алгоритмизации   алгоритмы, струкутуры данных и программирование   СУБД   ЯиМП   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   технологии прогр.

Знаете ли Вы, что диаграмма состояний, Statechart diagram - это методология объектно-ориентированного проектирования, предназначенная для представления жизненного цикла объектов в реальном или абстрактном мире.

Bourabai Research Institution home page

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