вторник, 22 ноября 2011 г.

Программирование алгоритмов разветвляющейся структуры

Пример №1: Найдите корни биквадратного уравнения ax2+bх2+c=0. Если корней нет, то должно быть выведено текстовое сообщение об этом, иначе должны быть выведены два или четыре корня.
Решение:
10 CLS
20 INPUT a, b, c
30 D = b ^ 2 - 4 * a * c
40 IF D < 0 THEN
50  PRINT "Корней нет"
60 ELSE
70  IF D = 0 THEN
80 x1= SQR(-b / (2 * a))
90   PRINT "x1= -",x1
100 x2= SQR(-b / (2 * a))
120  PRINT "x2="; x2
130 ELSE
140 t1 = (-b - SQR(D1)) / (2 * a)
150 t2 = (SQR(D1) - b) / (2 * a)
160  IF t1 > 0 THEN
170  Z= SQR(t1)
180   PRINT "+-"; Z
190   END IF
200   IF t2 > 0 THEN
210   K= SQR(t2)
200    PRINT "+-", K
210   END IF
220   IF t1 = 0 THEN PRINT "0"
230   IF t2 = 0 THEN PRINT "0"
240   IF t1 < 0 AND t2 < 0 THEN PRINT "Корней нет"
250  END IF
230 END IF
240 END

Пример № 2: Даны три числа a,b,c. Отрицательные числа заменить их модулем, положительные оставить без изменения.
Решение:
10 cls
20 Input “a,b,c”; a,b,c
30 If a<0 then a=ABS(a)
40 If b<0 then b=ABS(b)
50 It c<0 then c=ABS(c)
60 Print “a=”; a; “b=”;b;  “c=”;c
70 End

Пример № 3: Даны a и b, (ab). Меньшее из этих чисел замените их полусуммой, а большее  - их удвоенным произведением.
Решение:
10 CLS
20 Input “a=”; a
30 Input “b=”; b
40 If  a <> b then goto 50 else goto 20
50 if a<b then goto 60 else 80
60 a1=(a+b)/2
70 b1=(a*b)^2
80 if  b<a then
90 b1=(a+b)/2
100 a1=(a*b)^2
110 End If
120 a=a1
130 b=b1
140 Print “a=”; a, “b=”; b
150 End

Пример № 4: Даны три числа a,b,c. Удвоить каждое из данных чисел, если abc, и заменить числа их модулями в противном случае.
Решение:
10 CLS
20 INPUT "a="; a
30 INPUT "b="; b
40 INPUT "c="; c
50 IF a >= b AND b >= c THEN
60     a = a * 2
70     b = b * 2
80     c = c * 2
90 ELSE
100     a = ABS(a)
110     b = ABS(b)
120     c = ABS(c)
130 END IF
140 PRINT "a="; a; "b="; b; "c="; c
150 END

Пример № 5: Дано x. Вычислить y, если:


10 CLS
20 Input “x=”; x
30 If x < = -2 and x > = 2 then y = x ^ 2 else y = x ^ 2 + 4 * x + 5
40 Print “y=”; y
50 End


Пример № 6: Даны числа x и y. Выясните, принадлежит ли точка M(x,y) “грибу”
Решение:

10 CLS
20 INPUT "x="; X
30 INPUT "y="; Y
40 IF Y < 0 THEN
50  IF ABS(X) <= 1 AND Y >= -2 THEN PRINT "Принадлежит"
60  ELSE PRINT "Не принадлежит"
70 ELSE
80 Z= X ^2 + Y^2
90  IF Z<= 4 THEN PRINT "Принадлежит"
100 ELSE PRINT "Не принадлежит"
110 END IF
120 END    


Комментариев нет:

Отправить комментарий