Информатика -продвинутый курс


БАЗОВЫЕ ОПЕРАТОРЫ - часть 2


Программа 55

10 REM максимум функции на отрезке

20 INPUT "введите отрезок a,b"; a, b

30 DEF fna (x) = SIN(x)

40 max = fna (a)

50 h = (b - a) / 100

60 FOR x = a TO b STEP h

70 IF max < fna(x) THEN max = fna(x)

80 NEXT x

85 CLS

90 PRINT "максимальное значение функции на отрезке ["; а;

","; Ь; "]="; max

100 END

Здесь в строке 10 - неисполнимый комментарий (который можно организовать и иначе - см. первые строки последующих программ), в строке 85 - команда очистки экрана, в строке 100 - команда «конец программы» (которую часто можно не писать без каких-либо видимых последствий).

Приведем примеры еще нескольких программ на Бейсике, являющихся аналогами программ из §3.

В следующем примере развилка организована с помощью сочетания операторов IF...THEN и GOTO. В современных версиях Бейсика есть конструкция IF...THEN...ELSE; при ее использовании программа 56 станет еще больше похожей на программу 1 (sqr(x) - корень квадратный).

Программа 56 (см. программу 1)

10 REM Квадратное уравнение

20 CLS

30 INPUT "введите коэффициенты А,В,С"; а, Ь, с

40 d = Ъ*Ь -

4*а*с

50 IF d < 0 THEN GOTO 80

60 xl = (-b + sqr(d)) / (2 * a): x2 =

(-b - sqr(d)) / (2 * ay

70 PRINT "корни уравнения xl="; xl; "x2="; х2

80 GOTO 100

90 PRINT "корней нет"

100 END

В следующем примере цикл (с предусловием) организован с помощью операторов IF...THEN и GOTO.

 

Программа 57 (см. программу 5).

10 REM Машины, прибывающие на склад

20 CLS

30 num = 0: sum = О

40 IF sum >= 100 THEN GOTO 110

50 INPUT "Введите вес груза очередной машины"; w

60 sinn = sum + w

70 IF sum >= 100 THEN GOTO 90

80 num = num + 1: GOTO 90

90 PRINT "груз уже не поместится"

100 GOTO

40

110 PRINT "Количество разгруженных машин =", num

120 END

В программе 58 исходная последовательность задается в блоке данных (строка 30), а затем считывается в массив а. Отсутствие в Бейсике логических переменных преодолено с помощью текстовой переменной р.


Начало  Назад  Вперед



Книжный магазин