»Учебник QBasic» - Автор неизвестен. Страница 10

Пока ваши программы короткиеи полностью помещаются на экране, заботиться об экономии места не имеет смысла.Но со временем они станут значительно длиннее. Чтобы сократить количество строк программы, вы можете разместить несколько коротких операторов в одной строке. Эти операторы необходимо разделять знаком двоеточия(:). Например, программу 111 можно переписать следующим образом:

Rem Программа 333

Rem Данная программа считает пробелы

Cls

Print "'_' Один пробел" : Print "'__' Два пробела"

Print "'___' Три пробела" : End

Результат выполнения программ 111 и 333 одинаков и выглядит так:

'_' Один пробел

'__' Два пробела

'___' Три пробела

Познакомившись с более сложными операторами, вы врядли захотите часто пользоваться таким способом их размещения в программе.Помещать в одной строке целесообразно только группы коротких и логических связанных между собой операторов. 8-).

  Учебники: /  QBasic -  №04  -  Глава  5  /

Какими же способами можно ввести данные в программу? Во-первых , эта проблема решается с помощью оператора присваивания. Вот пример программы с оператором присваивания:

Rem программа суммирования двух чисел

Cls

Number1=3

Number2=7

summa=number1+number2

Print "number1=";number1

Print "number2=";number2

Print"summa=";summa

end

После запуска этой программы мы увидим на экране это:

Number1=3

number2=7

Summa=10

Сразу можно понять то, чтобы вычислить сууму другой пары чисел, мы должны будем вернуться в окно редактора и изменить программу.Решение возможное, но не самое лучшее. Как раз для этого случая в Qbasic вы можете присвоить переменной значение непосредственно с клавиатуры во время выполнения программы. Простейшая форма оператора, дающего вам возможность это сделать:

INPUT number,

где number-имя переменной, для которой требуется ввод значения

Команда INPUT NUMBER является уже достаточой командой, при встрече с которой программы выполняет следующие действия:1)После запуска программы на экране появиться знак вопроса.2) Программа приостанавливает работу и ждет, когда вы наберете какие-либо значение на клавиатуре. Нажатие клавиши ввода (то бишь ENTER)сообщает программе, что ввод окончен.3) Введенное значение присваивается переменной. 4)Компьютер продолжает выполнение программы, используя введенное значение. Значение, которое было у данной переменной раньше, комп уже не воспринимает 8-). Теперь рассмотрим это напримере, что бы вам было понятно: Условие:Дан треугольник,его высота и основание. Написать ппрограмму, которая считала бы его плошадь.Ну для начала введем новое обозначение: пусть а- будет основанием треугольника, h-высотой треугольника, а s- площадью треугольника и площадб треугольника равна одна вторая на высоту и на основание. Теперь можно приступить к решению програамы, обьяснять ее не буду так как она слишком легкая и вы сами должны подумать как она работает 8-):

rem программа считающая площадь треугольника

Input a

Input h

S=(1/2)*a*h

Print "Ploshad treugolynik="; s

end

Ну надеюсь вы сами разберетесь что к чему. Надо еще отметить одно свойство оператора Input: Вот например когда у вас в программе много разных переменных, и вводить их надо в такой же последовательности, как вы написали в программе, и что же вы должны что ли выучить последовательность переменной. Конечно же нет 8-) на кой нам лишний геморой. Мжно просто написать просто так:Input "текст "; a.Где a- будет переменной, а "текст"- описание переменной. Ну вот к примеру, в программе где мы находили площадь треугольникамы писали Input h Для того чтобы ввести высоту 8-) и когда мы запускали программу у нас просто высвечивался значок вопроса(чтобы мы ввели переменную). А если мы напишем: Input "высота"; hТо он бы нам написал после запуска не просто вопросительный знак , а:высота?Ну что вы видите как полезно это свойство оператора Input. Надо только запомнить, что описание пишется в двойных кавычках и отделяется от переменной точкой запятой(;)Ну посмотрите как написал это я раньше. Кстати надо еще отметить, что оператор Print обладает таким же свойством, как и Input. Зачем спросите вы 8-) а я отвечу: Для того же зачем и у Input(Вот например у вас ответов десять и после выполнения программы он вам выведет десять чисел и фиг знает, где какое число. Надо помнить что тоже надо отделять точкой с запятой).Вот пример:Print "Площадь треугольника равна=";s.Ну согласитеся что так на много понятней и легче.Кстати хочу вас поздравить теперь вы можете, как и вводить, так и выводить переменные, а следовательно уже можете писать небольшие легенькие програмки 8-) я вам советую по находить разные плошади и обьемы фигур 8-). Дальше мы будем изучать уже сравнение чисел, массивы и циклы , но на этом пока все 8-) Тренируйтесь 8-).

Учебники: /  QBasic -  №04  -  Глава  6  /

Сегоня я хочу поговорить с вами об операторах сравнения. Некобходимость сравнивать значения переменных между собой достаточно очевидна. Программа должна,например, проверить правильность введенного с клавиатуры значения или определить, в каой диапозон попала вычисленное значение переменной. За сравнение в Qbasic отвечает оператор If . Он записывается в слудуещем виде:

If условие then операторы 1 else операторы 2

Атеперь давайте разберемся что для чего на примере какойнибудь задачи(а то теория тупая и нудна):Дано число, вычислить его квадрат если оно больше 5 и куб если оно меньше 5. вот прошграмма к этой задачи:

видите мы сначала вводим условие, а потом в зависимости удовлетворяет или нет, решаем дальше программу. Да кстати чуть не забыл 8-), Каждый раз, когда мы пише опреатор ifмы должны закрыть его,когда он кончается,написав end if. Чтобы лучше понять,что когда писать надо запомнить, что if-если,then-тогда,else- иначе. Возможны множества разных случаев с опреатором if. Давайте рассмотрим их на примере: в первом случае мы раасмотрели когда у нас одно условие, но может быть несколько , тогда мы используем and (переводится как и) или or (переводится как или).Рассмотрим это на примере:дано два числа(пусть a и b) если a>5 и b<4 тогда найти их разность, а если нет тогда сумму:

Если мы ставим andмежду двумя условиями, то тогда условие общее будет выполняться только в том случае, когда будут выполняться два маленьких условия(то есть если хотя бы одно из условие не выполняется то общее условие не выполняется 8-) ). А вот если мы поставим между маленькими условиями OR (например,a>5 or b<4), то тогда нам достаточно чтобы выполнялось одно маленькое условие, посмотрим: Дано число (пусть будет a), если a>8 или a<2 подсчитать его квадрат, иначе куб: