10 REM максимум функции на
Программа 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), а затем считывается в массив а. Отсутствие в Бейсике логических переменных преодолено с помощью текстовой переменной р.
Содержание Назад Вперед