Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


READ x, y, z




соответствуют следующим операторам присваивания: x=2, y=3.5, z=100.

Использовать эту пару операторов удобно при необходимости вводить большое число констант.

Оператор перестановки.Часто возникает необходимость в перестановке значений переменных. Так, если нужно поменять значения X и Y, следует запи­сать три оператора: A=X, X=Y, Y=A. Здесь понадобилась дополнительная “тран­зитная” перемен­ная A, в которой временно запоминается значение X.

Оператор

üSWAP переменная1, переменная2

позволяет выполнить обмен значений сразу. Например: SWAP X,Y

Наше общение с компьютером имеет характер переписки. Мы пишем, он читает. Он пишет, читаем мы. Эти действия реализуются следующими специальными операторами ввода-вывода.

Оператор вывода.Для просмотра и анализа результатов вычислений необходимо вывести их на внешний носитель – бумагу или экран дисплея. Для этой цели используется следующий оператор.

üPRINT [список_выводимых_переменных]

или? [список_ выводимых_переменных]

Вопросительный знак может заменять слово PRINT, что экономит время ввода программы. Например, оператор:

PRINT a, mчитается так –“Печатать переменные A, М”.

Оператор PRINT может вообще использоваться без аргументов. Тогда при выводе будет формироваться только пустая строка.

В оператор вывода могут включаться не только переменные, но константы и целые выражения. Например, если X=12, а Y=100, то применение оператора

? "СУММА=" x+y

даст следующий результат: СУММА=112

При выводе данных имеет значение, какой разделительный знак использован для перечислении переменных. Если используется точка с запятой или пробел, следующая переменная будет выведена непосредственно за предыдущей. Если запятая – следующая переменная будет выведена с начала следующей зоны вывода. Бейсик разделяет каждую строку вывода на зоны по 15 символов. Это означает, что первое выводимое значение займет колонки с 1 по 15, второе – с 16 по 30, третье с 31 по 45 и т.д.

Если необходимо управлять положением и разрядностью выводимых данных, следует использовать оператор

üPRINT USING шаблон; список,_выводимых_переменных

Здесь шаблон содержит символы, определяющие эти параметры. Символ “#” в шаблоне указывает на то, что в этой позиции будет выведена цифра. Символ “.” определяет место десятичной точки. Например, положим, что X=2539.23745. Оператор

PRINT USING "######.##"; x

выведет число 2539.24, которому предшествуют два пробела, поскольку под целую часть числа отводиться 6 позиций, а фактически их 4. Дробная часть округляется до двух разрядов.

Оператор ввода. Исходные данные, обрабатываемые програм­мой, можно задавать оператором присваивания. Пусть нужно вычислить площадь круга S=2ПR2. Если задать непосредственно в программе значение радиуса окружности, например оператором R=5, то программа будет вычислять площадь только такой окружности. Если нужно вычислить значение S с иным радиусом, придется изменить оператор непосредственно в программе. Это очень неудобно, поскольку пользователь программы не имеет квалификации и возможности изменять что-нибудь в программе. Необходимо сделать так, чтобы результаты вычислений зависели не от текста программы, а только от данных. Для этого имеется оператор чтения данных вида:

üINPUT [приглашение ;/,] список_вводимых_переменных

где приглашение – необязательная символьная константа, указывающая, что именно нужно вводить. Если после приглашения указана точка с запятой, после приглашения будет выведен вопросительный знак. Если запятая – нет.

Если список переменных содержит более одной переменной, вводимые значения следует разделять запятыми. Число вводимых данных по количеству и типу должно соответствовать списку переменных. По завершении ввода всех переменных для данного оператора INPUT следует нажать клавишу ENTER. Если ввод был осуществлен неверно, ПК выдаст сообщение “Redo from start” о необходимости его повторить.

Пример: INPUT "Введите переменные R и L"; r, l

Дословно оператор интерпретируется следующим образом: “Читать в па­мять ЭВМ, введенные с клавиатуры, переменные R и L”. При этом на экра­не сначала будет выведено приглашение вида “Введите переменные R и L?”

Оператор завершения END(“конец”) завершает выполнение программы. Он может находиться в любом месте программы. Таких операторов может быть несколько в случае, если предполагается завершение программы не только в ее конце. Присутствие END в конце программы необязательно, поскольку после выполнения последнего оператора, она все равно заканчивается.

Комментарии. Написанная программа спустя некоторое время даже автору кажется малопонятным набором символов. Для облег­чения понимания программы в нее вставляются комментарии – тексты, поясняющие суть процессов и не влияющие на ее исполнение. Такие тексты должны начинаться со знака апостроф – '.

Оператор очистки CLSосвобождает экран от информации и устанавливает курсор в его левый верхний угол.

üCLS

@ Задачи для самостоятельного решения.

1. Пусть известны координаты вершин треугольника X1,Y1; X2,Y2; X3,Y3. Найти: периметр треугольника P и его площадь S. Треугольник лежит на длинной стороне (D).

2. Пусть некоторый процесс начался в H1 часов, Min1 минут, а закончился, когда было H2 часов и Min2 минут. Вычислить длительность этого процесса (в часах HD и минутах MinD). Считаем, что процесс идет внутри одних суток.

Эти и другие задания “для самостоятельного решения” являются также материалом для лабораторных работ

 

2. Операторы управления

В программе принят естественный порядок выполнения операторов – в той последовательности, в которой они записаны. В случае если этот порядок должен быть нарушен, используются операторы перехода.

Оператор безусловного перехода. Оператор вида:

üGOTO метка_оператора

вынуждает программу выполнять не следующий по порядку оператор, а опера­тор с указанной меткой. Например, оператор GOTO 25 читается как “Идти к оператору с меткой 25”и передает управление оператору с меткой 25.

В некоторых версиях Бейсика все операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна, хотя и возможна. Здесь для организации ссылок используются метки (в частном случае это могут быть и номера операторов), которые расставляются слева от тех операторов, на которые есть ссылки. Метками могут быть любые целые числа, идущие в произвольном порядке (не обязательно по возрастанию). Важно только, чтобы они не повторялись.

Оператор анализа условий.Если переход, или какое то другое действие должно быть выполнено в зависимости от некоторых условий, то используется оператор IF. Его формат:

üIF логическое_условие THEN оператор1 ELSE оператор2

Здесь, если заданное условие истинно, выполняется оператор1, если нет – оператор2. Например, оператор

IF a>b THEN ? "А больше В" ELSE ? "А не больше В"

 

выводит сообщение о фактическом соотношении переменных A и В.

Фраза ELSE необязательна, т.е. возможен и такой формат

ü IF логическое_условие THEN оператор

Например, следующий оператор читается: “Если X>Z, напечатать Y, иначе идти к следующему оператору (непосредственно под оператором IF)”.

 
 


IF x>z THEN ?Y

¯нет

да
Например

 
 


IF a>=b-2 THEN GOTO 40читается так:

¯нет

“Если A³B–2, то идти к оператору 40, иначе – к опе­ратору, стоящему ниже ”.

Если требуется осуществить только переход слово THEN можно опустить

ü IF логическое_условие GOTO метка

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

IF FIX(x/2)=x/2 THEN "X – четное" ELSE "X – нечетное"

IF x MOD 2=0 THEN "X – четное" ELSE "X – нечетное"

Структурный оператор анализа условий.Здесь уместно напомнить, что всюду, где в синтаксисе команд встречается слово оператор, может быть записано несколько операторов, разделен­ных двоеточием. Однако этого может оказаться недостаточно – внутрь выражений THEN/ELSE может потребоваться включить много действий и даже целые процессы. В этом случае используется структурный оператор, позволяющий формировать условия, включающие любое число строк программы.

Вид оператора:

üIF логическое_условие THEN


Поделиться:

Дата добавления: 2015-01-01; просмотров: 168; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты