Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Базовые операторы
Основные базовые операторы (команды) языка Бейсик определяют ввод и вывод данных, присвоение, изменение порядка выполнения команд и циклические конструкции.
INPUT <список объектов ввода> - ввод данных; PRINT < список объектов вывода> - вывод данных; LET a= <арифметическое, логическое или символьное выражение> (служебное слово LET можно не писать) - присвоение; IF <условие> THEN <оператор1> ELSE <оператор2> - условный оператор; GOTO <номер строки> -безусловный переход; FOR х= 1 ТО n STEP h <оператор> NEXTx - циклическая конструкция.
Часто используют, так называемый, внутренний ввод данных посредством операторов READ - DATA. Добавим к этому списку несколько системных команд, с помощью которых программист и пользователь занимаются отладкой и обслуживанием программы:
RUN - команда запуска программы на выполнение; LIST - команда вывода текста программы на экран дисплея; SAVE - команда сохранения текста программы в виде файла; LOAD - загрузка ранее сохраненной программы из существующего файла.
Этих операторов и команд обычно хватает, чтобы написать и отладить любую вычислительную программу. Ниже мы познакомимся и с другими командами Бейсика. Как и во многих языках программирования, в Бейсике имеется набор встроенных функций: математических, логических, символьных и др. Можно сформировать собственные функции с помощью описания DEF, например DEF FNA(x,y,z)=x*x+y*y+z*z Рассмотрим пример программы табуляции функции с целью определения ее максимального значения на заданном отрезке. Суть алгоритма заключается в вычислении значений функции Sin(.x) в 100 точках, определенных на задаваемом отрезке [а,Ь] с шагом h=(b-a)/100 и в выборе среди этих значений максимального. Программа 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), а затем считывается в массив а. Отсутствие в Бейсике логических переменных преодолено с помощью текстовой переменной р. При выдаче результатов используется форматная печать PRINT USING (для дробных чисел форматы могли бы быть, например, ###.## - выдаст результат типа 345.98, ##.##лллл - выдаст результат типа 34.17Е-02). В 20-й строке оператор DIM резервирует память под массив (аналог паскалевского описания array, но без явного указания типа элементов).
Программа 58 (см. программу 10). 10 REM bubble (пузырек) 20 DIM a(10) 30 DATA 19, 8, 17, 6, 15, 4, 13, 2, 11, 0 40 CLS 50 PRINT "Исходный массив" 60 FOR i = 1 TO 10 STEP 1 70 READ a(i) 80 PRINT USING "»#»#"; a(i); 90 NEXT i 100 PRINT 110 p$ = "да" 120 FOR i = 10 TO 2 STEP -1 130 IF a(i) >= a(i-l) THEN GOTO 150 140 b = a(i): a(i) = a(i-l): a(i-l) = Ь: р$ = "нет" 150 NEXT i 160 IF p$ = "нет" GOTO 110 170 PRINT "Упорядоченный массив" 180 FOR i = 1 TO 10 190 PRINT USING "####"; a(i); 200 NEXT i 210 END
Контрольные вопросы ч задания 1. Назовите основные операторы языка Бейсик и охарактеризуйте их назначение. 2. Поэкспрементируйте в приведенных выше программах с оператором форматной печати.
Date: 2015-11-13; view: 351; Нарушение авторских прав |