Разное

Basic операторы: Операторы — Visual Basic | Microsoft Docs

Содержание

Иллюстрированный самоучитель по Basic, вводный курс › Язык Бейсик › Операторы DATA и READ [страница — 24] | Самоучители по программированию

Операторы DATA и READ

Существует другой способ ввода данных. Он применяется в том случае, если эти данные заранее известны. Тогда мы организуем в программе некое подобие склада (с помощью оператора data), а потом при помощи оператора read последовательно считываем эти данные в запрашиваемые переменные, в которых они хранятся и обрабатываются. Удобство этого способа в том, что не приходится каждый раз при запуске программы вводить исходные данные (особенно, когда их много), а также в простоте изменения исходных данных.

Приведем пример программы.

DATA 13, 17, 19
READ A
? А
READ A
? а
READ А
? А

На «складе» data хранятся три числа – 13, 17 и 19. Первый оператор read читает со «склада» число 13 и записывает его в переменную а, а затем оператор print выводит ее значение на экран. Потом считывается второе число – 17, вместо старого значения 13 в переменную а записывается новое – 17, которое тоже выводится на экран. Аналогичные действия происходят и в третий раз с последним числом со «склада»

Предупреждение
В программе можно использовать несколько операторов data, причем они могут быть расположены в любых местах программы. Все они рассматриваются как единый «склад». А данные считываются все равно последовательно сверху вниз и слева направо
.

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

DATA 1, 2, 4
READ А, В
DATA 8
? А, В
READ А, В
? А, В
READ А, В
? А, В
DATA 16, 32

При выполнении оператора data может возникнуть сообщение об ошибке типа «Нет данных». Подобная ошибка возникает при попытке чтения уже закончившихся данных. Если данных во всех операторах data шесть, то и считать их можно только шесть раз.

Можно восстановить все данные, хранящиеся в data командой RESTORE.

А теперь маленькие задания.

74. Напишите программу, рисующую три закрашенных прямоугольника с заданными координатами диагоналей и цветами.

75. Задайте в операторах data четыре строки любого стихотворения и напишите программу, выводящую их на экран.

Еще ряд заданий на операторы data и read мы выполним, когда научимся пользоваться оператором цикла.

3. Управляющие операторы языка Бейсик

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

Виды операторов. Все операторы можно разделить на выполняемые и невыполняемые. Выполняемые операторы предназначены для выполнения определенных операций над операндами или изменения порядка выполнения операторов в программе. Эти операторы в свою очередь можно подразделить на две группы: вычислительные и невычислительные. Вычислительные операторы это операторы, которые выполняют арифметические, логические операции, операции преобразования данных и присваивают полученные значения переменным. Невычислительными операторами являются операторы переходов, которые изменяют только порядок выполнения операторов в программе. К невыполняемым операторам в первую очередь относятся операторы управления трансляцией. Операторы

управления трансляцией определяют начало и конец программы (или подпрограммы), объявляют массивы и т.д. Примером оператора управления трансляцией является оператор конца программы END. Оператор DIM, например, определяет массивы.

Комментарий отделяется от операндов одиночным апострофом. Он размещается в конце предложения.

Если в строке указывается только комментарий, то она называется предложением-комментарием, например:

P=A*C ‘Начало вычисления

Оператор REM (REMark — комментарий). Этот оператор является строкой комментария. Он относится к невыполняемым операторам. Формат записи оператора REM:

REM [комментарий]

Комментарий записывается с помощью любых знаков и используется для пояснения операторов в программе.

Если оператору REM передается управление с помощью операторов GOTO или GOSUB. то выполнение программы продолжается с оператора, следующего за оператором REM.

3.1. Оператор присваивания

Переменной, имя которой указано в левой части выражения, присваивается значение правой части выражения.

Общая форма записи оператора присваивания:

LET <имя переменной> = <выражение>

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

При записи оператора LET необходимо соблюдать следующие правила:

  • если слева стоит числовая переменная, то справа должна быть числовая константа, переменная или арифметическое выражение;

  • если слева стоит символьная переменная, то справа должна быть символьная константа или переменная.

В противном случае система выдает сообщение об ошибке

НЕСООТВЕТСТВИЕ ТИПОВ

Служебное слово LET в большинстве версий языка можно опускать.

Ниже приведены примеры правильного присваивания значений переменным с помощью оператора LET:

A%=25 ‘Целочисленной переменной А% присваивается значение 25

A%=12. 8 ‘Целочисленной переменной А% присваивается значение 13, т.к. число 12.8 округляется до 13

А&=350000 ‘Целочисленной длинной переменной А& присваивается значение 350000

А!=899.99 ‘Переменной с плавающей десятичной точкой A! присваивается выражение 899.99

A$=’ИТОГ’ ‘Символьной переменной А присваивается выражение ИТОГ.

Visual Basic 6.0. Основные навыки — Глава 3

Лабораторная работа №3

Организация принятия решений

 

Цель работы: освоить использование операторов принятия решений (If-Then-Else), познакомится с конструированием сложных условий.

 

Теоретическое введение.

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

К управляющим операторам относятся, в частности, условные операторы. Они используются для выполнения различных фрагментов программы в зависимости от выполнения некоторого условия. Характерным оператором, позволяющим решить практически все задачи, является «If-Then-Else».

Для проверки истинности условий в Visual Basic предназначены два типа операторов «If» –

однострочный и блочный.

Однострочный оператор «If» состоит из одной строки и используется для выполнения одной команды:

If condition Then command1 Else command2

 

Здесь «condition» представляет собой любое выражение или функцию, истинность которой будет оцениваться:

·         Условие, построенное с помощью операторов сравнения;

·         Переменная логического типа;

·         Любая функция логического типа.

 

«Command1» – команда, которую необходимо выполнить, если «condition» будет иметь значение «True» (истина). А «command2» – команда, выполняющаяся при «condition» равным «False» (ложь). При этом обе команды никогда не выполнятся одновременно!

Если при некотором условии необходимо выполнить не одну, а сразу несколько команд, можно использовать блочный оператор «If»:

If condition Then

   Command1

   .

..

   Commandn

Else

   Command01

   …

   Commandm

End if

 

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

Помимо этого существует так называемая краткая форма оператора «If». Она заключается в том, что блок «Else» является необязательным:

 

Блочная форма:

Однострочная форма:

If condition Then

   Command1

   Command2

   …

   Commandn

End if

If condition Then command1

 

При этом принцип работы остается неизменным. При «condition» равным «False» управление буде передано следующему оператору, стоящим следом за оператором «If».

Если нужно проверить какое-либо условие при выполнении другого условия используют вложенные операторы «If». Формат вложенного оператора следующий:

If condition Then

  If condition Then

    Command1

  Else

    Command2

  End if

End if

 

Расширить возможность всех условных операторов можно с помощью логических выражений, являющимися полными аналогами условий. Такие условия принято называть составными. Для записи подобных выражений используются ряд логических функций:

 

Таблица 6

Некоторые логические функции в Visual Basic

Функция

Описание

Пример синтаксиса

Not

Отрицание («не»): возвращает True, если логическое выражение имеет значение False и наоборот.

Not(Expression)

And

Логическое умножение двух выражений («и»): возвращает False, если хотя бы одно выражение имеет значение False.

Expression1 And Expression2

Or

Логическое сложение двух выражений («или»): возвращает True, если хотя бы одно выражение имеет значение True.

Expression1 Or Expression2

Xor

Исключающее «или» («либо»): возвращает True, если только одно выражение имеет значение True.

Expression1 Xor Expression2

 

Все выражения в приведенных выше функциях обязательно должны быть логическими. Применяя операторы сравнения (< , > , = ), можно вставлять математические выражения в логические:

a * b < c and b + c

 

Порядок выполнения расчетов в таких выражениях полностью подчиняется правилу приоритета (см. работу № 2). Область применения подобных выражений очень широка при написании сложных условий для операторов принятия решений. Применение составных и вложенных условий позволяет решать самые запутанные задачи.

 

Задание. Составить программу для вычисления некоторых выражений с применением операторов принятия решений (задание №7 и №8, методичка 279, вариант тот же). Ввод и вывод информации осуществить аналогично работе №2. Расчеты вести через промежуточные переменные.

 

Ход работы.

Ход работы полностью аналогичен работе № 2. Программный код модуля должен содержать вложенные или составные условия. Обосновать их использование.

Операторы управления Visual Basic | Piter Melnikov

Операторы управления языка служат для управления работой программы. К ним относятся:
— операторы передачи управления;
— операторы выбора;
— операторы циклов.

Операторы передачи управления

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

GoTo идентификатор
где
GoTo – ключевое слово;
— идентификатор – одна из меток программы.

Метка – это идентификатор, помещаемый слева от программного оператора и отделенный от него двоеточием. Например:
m1: Text1.Text = «это метка»

Оператор перехода для перехода к оператору с меткой m1 будет иметь вид:
GoTo m1

Следует сказать о том, что для получения хорошего стиля программирования следует избегать применения оператора GoTo, так как в этом случае ухудшается читаемость и понимание программы.

Операторы выбора

Операторы выбора используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с условиями, существующими на момент выполнения этих операторов. Одним из важных элементов программного оператора выбора является выражение условия, значением которого может быть Истина (True) или Ложь (False). Такие выражения условия записываются с помощью операторов отношения.

В Visual Basic есть два основных типа операторов выбора: операторы условия If … Then и переключатели, реализуемые оператором Select Case.

Операторы If . . . Then

В Visual Basic есть два типа операторов If . . . Then – линейный и блочный.

Линейный оператор If . . . Then используется для того, чтобы выполнить какой — либо один оператор, если некоторое условие будет истинным. Условие является выражением или функцией, истинность которого оценивается. Синтаксическая конструкция линейного оператора имеет две формы — безальтернативную и альтернативную:
Безальтернативная форма:
If условие Then Выражение

Альтернативная форма:
If условие Then Выражение_1 Else Выражение_2

В безальтернативной форме при значении условия True сначала выполняется выражение, следующее за ключевым словом Then, а затем следующий в последовательности оператор. Если условие принимает значение False, то выражение следующее за словом Then не выполняется, а выполняется следующий оператор.

Примеры линейного оператора If . . . Then безальтернативной формы:

If intNamber<3 Then intResult = 10*2 ‘ Если переменная intNamber_
содержит значение меньше трех, то переменной _
intResult будет присвоено значение 20

If optAddition.Value = True Then z = x + y

Пример линейного оператора If . . . Then . . . Else:

If intNamber<3 Then intResult = 10*2 Else intResult =30

В результате выполнения последнего оператора переменной nResult будет присвоено значение 20, если переменная nNamber содержит значение меньше трех, в противном случае переменной nResult будет присвоено значение 30.

Блочный оператор If . . . Then используется тогда, когда в случае истинности условия необходимо выполнить несколько программных операторов (блок операторов). Блочный оператор также может быть безальтернативным и альтернативным. Структура безальтернативного блочного оператора следующая:

If Условие Then
Программный оператор 1
Программный оператор 2
. . .
Программный оператор n
End If

Здесь End If указывает на окончание блока оператора If.

Альтернативный блочный оператор If применяется в тех случаях, когда при выполнении условия необходимо выполнить один набор программных операторов, а при невыполнении — другой. Это реализуется с помощью оператора If . . . Then . . . Else, синтаксис которого следующий:

If условие Then
Блок программных операторов, выполняемых при значении условия True
Else
Блок операторов, выполняемых при значении условия False
End If

Операторы If могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является истинным (например, если фамилия Иванов и он торговый агент). Формат вложенного оператора If следующий:

If условие_1 Then
If условие_2 Then
Блок операторов 1
Else
Блок операторов 2
EndIf
EndIf

Пример применения вложенного оператора If:
If Name = “Иванов” Then
If Rang = “Торговый агент” Then
Text1.Text = Name & Rang
Else
Text1.Text=”Агента с указанной фамилией в списке нет”
EndIf
EndIf

В этом примере условие первого оператора If проверяет соответствует ли значение переменной Name значению неименованной строковой константы “Иванов”. Если результат этой операции True, то вложенный оператор If сделает проверку, является ли Иванов торговым агентом. В случае истинности результата в текстовое поле будет выведено значение “Иванов торговый агент”. В противном случае – “Агента с указанной фамилией в списке нет”.

При использовании вложенных операторов If важно не перепутать варианты сочетания условий. Нужно помнить правило: альтернатива Else считается принадлежащей ближайшему оператору If, не имеющему ветви Else.

В Visual Basic также предусмотрена конструкция для работы с несколькими операторами If. Несколько операторов If применяются в случаях, когда необходимо рассмотреть еще несколько условий в дополнение к исходному. Для этого служит конструкция If … Then … ElseIf. В отличие от вложенных операторов конструкция с несколькими операторами If позволяет проверить дополнительное условие, если исходное условие принимает значение False. Форма записи нескольких операторов If имеет следующую синтаксическую конструкцию:
If выражение_условия_1 Then
Программный оператор 1
ElseIf выражение_условия_2 Then
Программный оператор 2
Else
Программный оператор 3
EndIf

Например:

If CorrectAnsver. Text >=8 Then
Ball.Text = ”Отлично”
ElseIf CorrectAnsver.Text >=6 Then
Ball.Text = “Хорошо”
ElseIf CorrectAnsver.Text >=4 Then
Ball.Text = “Удовлетворительно”
Else Ball.Text = “Неудовлетворительно”
EndIf

Приведенный код программы определяет количество правильных ответов и выставляет оценку. Он работает следующим образом. Сначала проверяется значение условия в операторе If. Если оно принимает значение True, то выполняется оператор (или блок операторов), следующий непосредственно за ключевым словом Then, после чего программа перейдет к выполнению оператора, следующего за EndIf. Если первое условие принимает значение False, то программа перейдет к выполнению первого оператора ElseIf, чтобы проверить выполнение его условия. Если оно имеет значение True, то выполнится оператор Ball = 4 и программа перейдет к выполнению оператора, следующего за EndIf. В противном случае эта последовательность действий повторится для следующего оператора ElseIf и так до тех пор, пока не будут проверены все из них.

Переключатели

Переключатели в Visual Basic реализуются оператором Select Case, который позволяет сделать выбор из нескольких альтернативных вариантов в зависимости от значения условного выражения. Синтаксис его следующий:
Select Case Выражение
Case Значение_1 ‘ Оператор, выполняемый при совпадении_
Значения_1 и значения Выражение.
Case Значение_2 ‘ Оператор, выполняемый при совпадении_
Значения-2 и значения Выражение.
. . .
Case Значение_N ‘Оператор, выполняемый при совпадении _
Значения_N и значения Выражение.
End Select

В операторе Select Case можно использовать операции отношения. Для этого надо включить в выражение ключевое слово Is или ключевое слово To.
Ключевое слово Is дает указание компилятору сравнить значение проверяемой переменной со значением выражения, следующего за ключевым словом Is. Ключевое слово To задает диапазон значений. Например, следующий код фрагмента программы, использующий оператор Select Case позволяет выставить оценку исходя из общего количества набранных баллов:

Select Case ПравильныйОтвет.Text
Case 8 To 10 ‘ Если сумма баллов в диапазоне 8-10
Балл.Text = «Отлично»
Case 6 To 7 ‘ Если сумма баллов в диапазоне 6-7
Балл.Text = «Хорошо»
Case 4 To 5 ‘ Если сумма баллов в диапазоне 4-5
Балл.Text = «Удовлетворительно»
Case Is < 4 ‘ Если сумма баллов меньше 4
Балл.Text = «Неудовлетворительно»
End Select

Операторы If и Else на Visual Basic



У меня возникли проблемы с определением того, в каком порядке эти операторы if и else должны быть расположены в Visual Basic 2010 Express. Как вы, вероятно, можете сказать из кода, когда он работает правильно, программа должна отображать данные, найденные в текстовом файле внешне. Если эти данные не найдены, то должно появиться сообщение об ошибке в метке. Спасибо за помощь.

Код:

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim filename As String = "..\..\usernamepassword.txt"
    Dim objreader As New System.IO.StreamReader(filename)
    Dim contents As String
    Dim check As String
    Dim checkfile As New System.IO.StreamReader("..\..\checkfile.txt")
    check = checkfile.ReadToEnd
    For i As Integer = 1 To check
        contents = objreader.ReadLine
        Dim data As New List(Of String)(contents.Split(","))
        If forename.Text = data(2) Then
     'first if statement is here \/
            If surname.Text = data(3) Then
                fullname.Text = (data(2) & " " & data(3))
                dob.Text = data(4)
                phone.Text = data(5)
                address.Text = data(6)
                password.Text = data(1)
           'else statement \/
            Else
                Label2. Text = "Sorry, no result found for this student."
                Label5.Text = "Please note this system is caps sensitive."
            End If
        End If
    Next i
    Dim s As String = ""
    forename.Text = s
    surname.Text = s
End Sub

End Класса

vb.net if-statement
Поделиться Источник Alfie F     11 марта 2017 в 14:09

2 ответа


  • Операторы If внутри else if

    Это может быть очень простой вопрос, но, пожалуйста, может ли кто-нибудь ответить на него? Можно ли использовать операторы if внутри else if? Это разрешено? if(conditionA)) { //do A stuff } else if(conditionB)) { if(conditionB1) //do B1 if(conditionB2) //do B2 if(conditionB3) //do B3 }

  • If…Then…Else Visual Basic 2012

    Я пытаюсь создать приложение в Visual Basic 2012, я изо всех сил пытаюсь заставить его соответствовать параметрам. Что я делаю не так? Каждый раз, когда я пытаюсь добавить еще, он говорит, что перед ним должно быть If. Проблема: Напишите программу для приемной комиссии колледжа. Создайте…



0

Вы должны обращаться с этим так

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim filename As String = "..\..\usernamepassword.txt"
Dim found as Boolean = False
Dim objreader As New System.IO.StreamReader(filename)
Dim contents As String
Dim check As String
Dim checkfile As New System.IO.StreamReader("..\..\checkfile.txt")
check = checkfile.ReadToEnd
For i As Integer = 1 To check
    contents = objreader.ReadLine
    Dim data As New List(Of String)(contents.Split(","))
    If forename.Text = data(2) Then
 'first if statement is here \/
        If surname.Text = data(3) Then
            fullname.Text = (data(2) & " " & data(3))
            dob. Text = data(4)
            phone.Text = data(5)
            address.Text = data(6)
            password.Text = data(1)
            found = True
            Exit For
        End If
    End If
Next i
If found = False Then
   Label2.Text = "Sorry, no result found for this student."
   Label5.Text = "Please note this system is caps sensitive."
End If
Dim s As String = ""
forename.Text = s
surname.Text = s
End Sub

Поделиться Sniper     11 марта 2017 в 15:37



0

Проверка была объявлена как строка, когда она должна быть целым числом. Набор параметров строгим и определить в положение Off

Поделиться minimalist     11 марта 2017 в 15:48


Похожие вопросы:


PHP функции и операторы if/else

Я пытаюсь написать сценарий, который включает в себя операторы if/else и функции. некоторые предпосылки $parts первый символ должен иметь букву N Предполагается, что $desc должен быть длиной не…


Есть ли надстройка для Visual Basic 6, которая помогает управлять операторами if/else и loop?

Visual Studio имеет возможность сворачивания кода и, по крайней мере, имеет справку по коду, которая позволяет вам держать ваши операторы if/else и циклы в порядке, указывая, где они начинаются и…


Как вложить несколько операторов IF в Visual Basic 6?

Как я могу использовать if в другом if в Visual Basic 6? Например, в C++ я могу начать свои операторы с { и закончить их с } , и я могу использовать другой if в первом операторе. Например: if m>3…


Операторы If внутри else if

Это может быть очень простой вопрос, но, пожалуйста, может ли кто-нибудь ответить на него? Можно ли использовать операторы if внутри else if? Это разрешено? if(conditionA)) { //do A stuff } else…


If. ..Then…Else Visual Basic 2012

Я пытаюсь создать приложение в Visual Basic 2012, я изо всех сил пытаюсь заставить его соответствовать параметрам. Что я делаю не так? Каждый раз, когда я пытаюсь добавить еще, он говорит, что перед…


Visual basic If и else не работает 2015

Я новичок, и у меня возникли некоторые проблемы с функциями ‘if’ и ‘else’ visual basic. Я добавил кнопку с надписью Save, ее код приведен ниже: Private Sub Button5_Click(ByVal sender As…


Использование оператора IF в Visual Basic 2008

Я могу закодировать следующую проблему в Visual Basic 2008, используя структуру IF-THEN-ELSE. Но я хочу знать, как закодировать его с помощью оператора IF в Visual Basic 2008. Напишите программу,…


jQuery: if и else if операторы с &&?

Я пытаюсь создать операторы if и else if , используя jQuery, и у меня будет два условия в операторах if и else if, поэтому я также использую && . Однако каждый раз, когда я использую if и…


Обновление до последней версии Visual Basic в VS2015

У меня есть проект VB.NET MVC, который я разработал в Visual Studio 2012 и который сейчас использую в Visual Studio 2015. Я хотел бы начать использовать такие вещи, как условные операторы null. Но…


Visual Basic 6 и Visual Basic в Visual studio

Мне было интересно, совпадает ли код, используемый в visual studio для visual basic, с кодом для visual basic 6? Visual basic 6 IDE больше не поддерживается, поэтому я не могу получить доступ к этой…

Books:Basic-256 — ALT Linux Wiki

Джеймс М. Рено

Хотите научиться программировать?

Библиотека ALT Linux

Ссылка статус
Электронная версия Syw2l2p_b256_freeRussianEbook.pdf
Печатная версия магазин Альт Линукс ALT Linux, 6/10/2011, ISBN 9785905167065

Формат: A5. Тираж: 100 экз. 320 стр.

Рекомендуемый дистрибутив Альт Линукс 4.0/5.0 Школьный

Книга является переводом James M. Reneau, M.S. «So You Want to Learn to Program?» издательство Createspace Print ISBN: 978-1456329044 www.basicbook.org

В книге изложены основы программирования в применении к языку BASIC-256 (клон BASIC) а также справочная информация по операторам и синтаксису языка. Рекомендуется учителям информатики и любопытным школьникам, умеющим читать.

Язык BASIC-256 достаточно хорошо развит и позволяет программировать как быстро движущиеся графические объекты, так и интерфейс к базе данных (SQLite) и даже сетевые приложения.

В книге приведено более сотни примеров программ.

Переводчики: С. Ирюпин, В. Черный.

Скачать программы, входящие в книгу: Файл:Prg.7z

Лицензия Creative Commons Attribution-Noncommercial-Share Alike 3.0

Содержание[править]

Глава 1.  Знакомство с BASIC-256 — скажи «Привет»
Глава 2. Рисуем основные фигуры
Глава 3. Звуки и музыка
Глава 4. Мыслить как программист
Глава 5. Программа задает вам вопросы
Глава 6. Сравнения, сравнения, сравнения
Глава 7. Циклы и счетчики — повторяем снова и снова
Глава 8. Графика на заказ — создание фигур своими руками
Глава 9. Подпрограммы — повторное использование кода
Глава 10. Управляем мышкой, перемещаем объекты
Глава 11. Использование клавиатуры
Глава 12. Картинки, музыка и спрайты
Глава 13. Массивы — коллекции данных
Глава 14. Математика — развлечемся с числами
Глава 15. Работаем со строками
Глава 16. Файлы. Сохраним информацию на будущее
Глава 17. Стеки, очереди, списки и сортировка
Глава 18. Ловушки для ошибок времени исполнения
Глава 19. Программирование баз данных
Глава 20. Сетевые соединения
Приложение A. Установка BASIC-256 на компьютер
Приложение B. Справочник по языку. Операторы
Приложение C. Справочник по языку. Функции
Приложение D. Справочник по языку. Операторы и константы
Приложение E.  Стандартные цвета
Приложение F. Ноты
Приложение G. Коды клавиш
Приложение H. Unicode значения символов
Приложение I. Зарезервированные слова
Приложение J. Коды ошибок
Приложение K. Словарь терминов
Список иллюстраций
Список программ

Скачать программы, входящие в книгу: Файл:Prg.7z

Описание языка Turbo Basic для студентов всех специальностей

ОСНОВЫ ПРИКЛАДНОЙ ИНФОРМАТИКИ

Раздел: Описание языка Турбо-Бейсик

Справочное пособие для студентов всех специальностей

АННОТАЦИЯ

Настоящее пособие содержит описание основных средств языка Турбо-Бейсик, а также необходимые сведения по среде Турбо-Бейсика.

Пособие в основном ориентировано на использование при выполнении практикума по курсу «Основы прикладной информатики». Может также использоваться в качестве справочника по языку Турбо-Бейсик.

С О Д Е Р Ж А Н И Е

  1. Основные средства языка
    1. Структура программы
    2. Типы данных
    3. Массивы
    4. Выражения
    5. Стандартные функции
    6. Основные операторы
    7. Операторы цикла
    8. Подпрограммы, функции и процедуры
  2. Цвет и графика
  3. Файлы. Работа с файлами данных последовательного и прямого доступа
    1. Файлы последовательного доступа
    2. Файлы прямого доступа.
  4. Движущиеся изображения, звуковые эффекты и нестандартный ввод с клавиатуры
    1. Оператор DRAW
    2. Операторы GET и PUT.
    3. Оператор BEEP
    4. Оператор SOUND
    5. Оператор PLAY
    6. Функция INKEY$
  5. Библиотека стандартных процедур в Турбо-Бейсике
  6. Рекомендуемый порядок работы на ПЭВМ при создании и выполнении программ на языке Турбо-Бейсик

ОСНОВНЫЕ СРЕДСТВА ЯЗЫКА

    1. Структура программы
    2. Программа состоит из строк. Одна строка содержит один или несколько операторов, разделенных двоеточием. Например, a=1: b=1 Перенос оператора на другую строку допускается. В этом случае используется знак переноса Например, a=1: b_ =1 Строки могут нумероваться (но это не обязательно) . Ссылка в нужное место программы может осуществляться также по метке.

      Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Например, aaa: x=x+1…

      GOTO aaa Если первым символом в строке является апостроф («) , то строка воспринимается как комментарий.

      Имя образуется из букв от A до Z (или от a до z) , знака подчеркивания и цифр от 0 до 9, начинается с буквы. Имя используется для обозначения переменных, меток, процедур и т.п.

    3. Типы данных
    4. Целый (значения от -32767 до 32767, занимает 2 байта) ; длинный целый (от 2я5-31 до 2я531,4 байта) ; вещественный (4 байта) ; вещественный двойной точности (8 байт) ; символьный (последовательность любых символов, каждый символ занимает 1 байт) .

      Тип переменной определяется типом данных, которые она представляет. Указание типа переменной задается соответствующим знаком после имени.

      a$ — символьный a% — целый a& — длинный целый — 5 a! — вещественный обычной точности а# — вещественный двойной точности Если знак после имени отсутствует, то эта переменная считается по умолчанию вещественной обычной точности. То есть a! =1.1 и а=1.1 одно и то же.

    5. Массивы

Описание массивов осуществляется с помощью оператора DIM с указанием размеров. Например, оператор DIM a(10) , b(10: 20,25: 45) описывает одномерный массив a, элементы которого имеют индексы от 0 до 10, и двухмерный массив b, элементы которого имеют индексы: первый от 10 до 20, второй от 25 до 45.

Если нижняя граница индексов в описании не указана, то она считается равной 0.

Используя оператор OPTION BASE n., можно задать нижнюю границу индексов равной n. Например, OPTION BASE 1 DIM a(10) В этом случае индекс элементов массива a будет принимать значения, начиная с 1. Если описание массива отсутствует, то по умолчанию верхний индекс равен 10 (нижний — 0) . В описании массива вместо константы может использоваться переменная. Например, DIM a(n) Значение n должно быть предварительно определено.

Используя оператор ERASE., можно освободить память, выделенную под массив, и вернуть ее для дальнейшего использования. ) 2. Умножение, деление (*, /) 3. Деление нацело () (например, 52 равно 2) 4. Вычисление остатка от деления (MOD) (например, 45 MOD 19 равно 7) 5. Сложение, вычитание (+, -) 1.5. Стандартные функции Запись на Бейсике Математическая запись ABS (x) іxі SIN (x) sin x COS (x) cos x TAN (x) tg x ATN (x) arctg x EXP (x) eя5x LOG (x) ln x LOG2(x) log42 x LOG10(x) lg x INT (x) целая часть х SGN (x) знак х (+1 при х > 0,0 при х=0, -1 при x < 0) SQR (x) квадратный корень из х — 7 LEN (а$) количество символов а$ LEFT$(a$, n) выбирает из a$ n символов, начиная с первого MID$ (a$, m, n) выбирает из a$ n символов, начиная с m-го RIGHT$ (a$, n) выбирает n символов а$, начиная с последнего STR$ (x) преобразует число к символьному виду VAL (a$) определяет числовое значение а$ ASC (a$) определяет код первого символа а$ TAB (n) указывает номер позиции для вывода следующего элемента в списке вывода оператора PRINT SPC (n) вывод n пробелов, используется в списке вывода оператора PRINT RND [(x) ] выдает случайное число из интервала (0,1) Замечания. 1. [] обозначают необязательный параметр.

2. Если х=0, то повторяется последнее сгенерированное число; если х < 0, то для каждого x генерируется новая последовательность случайных чисел; если x > 0 или отсутствует, то генерируется очередное случайное число, но при повторном запуске последовательность повторяется. Можно использовать оператор RANDOMIZE (перед первым использованием функции RND) , чтобы при новом запуске программы получать новую последовательность случайных чисел.

Операции отношения: <, <=, >, >=, <>.

Левая и правая части отношения — это числовое или символьное выражение (в последнем случае сравниваются числовые коды символов) . Если отношение удовлетворяется (является истинным) , то его значение равно -1, если не удовлетворяется (является ложным) , то его значение 0. Отношения могут быть использованы также в числовых выражениях. Например, при выполнении оператора PRINT 5 > 6,5 < 6, (5 < 6) * 15 будет напечатано 0, -1 и -15.

Логические операции: AND (логическое и) , OR (логическое или) , XOR (исключающее или) , EQV (эквивалентность) , IMP (импликация) .

Логические операции осуществляются над целыми числами -1 (TRUE) и 0 (FALSE) . -1, если A = -1, B = -1 A AND B 0, в остальных случаях 0, если A = 0, B = 0 A OR B -1, в остальных случаях -1, если A и B не совпадают A XOR B 0, если A и B совпадают -1, если A и B совпадают A EQV B 0, если A и B не совпадают 0, если A = -1, B = 0 A IMP B -1, в остальных случаях 1.6. Основные операторы Оператор присваивания имеет вид переменная = выражение Оператор безусловного перехода имеет вид GOTO метка Условный оператор имеет вид IF условие THEN операторы [ELSE операторы] Например, IF a < b THEN t=15: V=16 ELSE t=17 В качестве условия может использоваться целое выражение, которое интерпретируется как FALSE, если его значение равно 0, и TRUE, если не равно 0.

Если после THEN или после ELSE располагается целая группа операторов, то можно использовать IF блок, который имеет следующую структуру IF условие THEN операторы ELSE операторы END IF При этом ELSE и операторы за ним могут отсутствовать, т. е. возможна конструкция IF условие THEN операторы END IF Если после ELSE необходима проверка условия, то используется оператор ELSEIF IF условие THEN операторы ELSEIF условие THEN операторы ELSE операторы END IF Оператор конца END используется для окончания выполнения программы. Может использоваться в программе несколько раз. Используется также с IF, SUB, DEF, SELEСT (см. ниже) Оператор очистки экрана CLS обычно располагается в начале программы для очистки экрана перед выводом результатов программы.

Оператор ввода INPUT имеет вид INPUT [;] [поясняющий текст], список переменных Поясняющий текст заключается в кавычки. Переменные в списке отделяются друг от друга запятыми. «;» после INPUT означает, что курсор останется на той же строке, когда будет нажат «Ввод».

Оператор вывода PRINT имеет вид PRINT [список вывода] Элементы списка разделяются «, » или «;» или пробелом. В первом случае вывод следующего элемента начинается в новую зону (строка экрана условно разделена на 5 зон по 14 позиций каждая) , во втором — через пробел (для чисел) или непосредственно вслед (для символьных строк) за предыдущим элементом. — вывод будет осуществляться в показательной форме.

Для символьных строк: » » — (два пробела) — будет выведено четыре символа «\» (без пробела) — будет выведено два символа Вообще количество выведенных символов будет равно числу пробелов между двумя наклонными линиями + 2. «! » будет выведен один символ «&» — будут выведены все символы Например, A$= «КОТ»: GA= 6.5 B$= «СОБАКА»: GB= 15.3

PRINT USING «& ВЕСИТ #. #, ВЕСИТ ##. # КГ»;A$, GA, B$, GB При выполнении этого оператора на экране появится КОТ ВЕСИТ 6.5, СОБАКА ВЕСИТ 15.3 КГ Оператор определения положения курсора LOCATE i, j устанавливает координаты (номер строки i и номер столбца j) , в которые начнется вывод данных оператором PRINT.

1.7. Операторы цикла 1. FOR i=iя4нач to iя4кон [STEP ih] операторы NEXT i i, iя4нач, iя4кон, ih — соответственно, управляющая переменная цикла, ее начальное, конечное значения и шаг изменения. Если ih=1, то шаг можно опустить. Например, FOR i=1 to 10….

NEXT i FOR i=1 to 10 FOR j=1 to 20.

NEXT j: NEXT i — 11 или FOR i=1 to 10 FOR j=1 to 20….

NEXT j, i 2. DO WHILE 1условие 1операторы LOOP или WHILE условие операторы WEND (операторы выполняются, пока выполняется условие) 3. DO UNTIL условие операторы LOOP (операторы выполняются до тех пор, пока не будет выполнено условие. Как только условие будет выполнено, осуществляется выход из цикла) .

4. DO операторы LOOP Выход из цикла в этом случае осуществляется оператором EXIT.

Оператор EXIT (выход) используется с SELECT, DEF, FOR, IF, LOOP, SUB, WHILE. Например, EXIT FOR осуществляет выход из цикла, организованного операторами FOR/NEXT до его завершения EXIT IF — выход из любого места IF блока EXIT LOOP — выход из цикла, заканчивающегося оператором LOOP или WEND.

Остальные случаи использования EXIT будут рассмотрены вместе с соответствующими операторами.

Операторы выбора ON/GOTO и ON/GOSUB ON n GOTO метка [, метка… ] n может принимать значения от 0 до 255. Переход осуществляется на метку, определяемую значением n. Например, при n = 2 переход осуществляется на вторую метку в списке. Если n = 0 или n больше количества меток в списке, то выполняется следующий по порядку оператор.

ON n GOSUB 1метка [, метка… ] n принимает значения от 0 до 255. Переход осуществляется к одной из возможных подпрограмм (см. ниже) , определяемых метками в списке, в зависимости от значения n.

После выполнения подпрограммы возврат осуществляется к оператору, следующему за ON/GOSUB.

1.8. Подпрограммы, функции и процедуры Подпрограммая. — помеченная последовательность операторов, заканчивающаяся оператором RETURN. Выполняется, когда достигнут GOSUB.

GOSUB aa….

END aa: операторы RETURN Оператор RETURN осуществляет возврат к оператору, непосредственно следующему за GOSUB.

Функция может быть определена одной строкой (оператор-функция) или несколькими строками (подпрограмма-функция) .

DEF FN 1им [(список параметров0) ] = выражение (это определение оператора-функции) .

Здесь список параметров может включать 0не более 16 параметров.

DEF FN 1им [(список параметров0) ] описание переменных операторы [EXIT DEF]….

[FN 1им = выражение0] END DEF (это определение подпрограммы-функции) .

Обращение к функции записывается там, где нужно получить ее значение. При этом параметры заменяются их фактическими значениями.

Например, DEF FNF (x, y) = x * x + y * y — 13 a = 3: b = 4 P = FNF (a, b) или P = FNF (3,4) Функция возвращает одно значение, тип которого определяется именем функции. Определение функции может располагаться в любом месте программы (обычно в начале или в конце) . Например, F = FNa (1.5) PRINT F DEF FNa (x) FNa = x*x END DEF END или F = FNa (1.5) PRINT F END DEF FNa (x) FNa = x*x END DEF В результате будет напечатано 2.25.

Список параметров оператора-функции может включать только имена переменных.

Процедура — это последовательность строк программы, расположенная между операторами SUB и END SUB и выполняемая при обращении к ней при помощи оператора CALL.

SUB имя [(список параметров) ] описание переменных операторы [EXIT SUB] END SUB Имя может содержать до 31 символа. Список параметров (не более 16) может включать имена переменных и массивов. Для массивов в скобках указывается размерность. Например, 1 — для одномерного массива, 2 — для двухмерного и т.д.

В обращении к процедуре за именем фактического массива следуют пустые скобки. Например, SUB SUM (x (1) , n, S) S = 0 — 14 FOR I=1 to n S = S + x (I) NEXT I END SUB DIM A (3) A (1) = 1: A (2) = 2: A (3) = 4 CALL SUM (A () , 3, S) S = S/3 PRINT S END Эта программа вычисляет среднее значение элементов массива A, процедура SUM суммирует элементы массива.

Основные отличия процедуры от подпрограммы-функции: 1 — процедура не обязана возвращать значение, она не имеет типа; 2 — вызывается оператором CALL, а не из выражения.

Отдельные переменные, используемые в процедуре (или подпрограмме-функции) , могут быть объявлены локальными, т.е. действующими только в данной подпрограмме (оператор LOCAL) , общими, т.е.

действующими как в подпрограмме, так и в основной программе (оператор SHARED) и статическими, т.е. действующими в данной подпрограмме как LOCAL, но сохраняющими полученные значения до следующего обращения (оператор STATIC) . По умолчанию в подпрограмме-функции переменная является SHARED, а в процедуре STATIC.

DEF FNF1 LOCAL i, S FOR i =1 to 10 S = S + i NEXT i FNF1 = S END DEF После выхода из подпрограммы-функции переменные i и S теряют свои значения (при входе в подпрограмму всегда S = 0) . Эти же имена могут использоваться в программе для обозначения других величин.

DEF FNF2 LOCAL i SHARED S FOR i = 1 to 10 S = S + i NEXT i — 15 FNF2 = S END DEF В этом случае S сохраняет значение после выхода из подпрограммы и имеет один и тот же смысл во всех частях программы.

DEF FNF3 LOCAL i STATIC S FOR i = 1 to 10 S = S + i NEXT i FNF3 = S END DEF В этом случае S сохраняет значение после выхода из подпрограммы до следующего обращения к ней, т.е. после первого обращения значение функции FNF3 будет 55, после второго — 110 и т.д. (S нельзя изменять в основной программе) .

2. ЦВЕТ И ГРАФИКА В графическом режиме экран рассматривается как решетка, точки в узлах которой могут быть включены (белым или другим возможным цветом) или выключены. Точка идентифицируется координатами x, y; x — номер позиции по горизонтали (от 0 до 319 или до 639 в зависимости от режима) , y — номер позиции по вертикали (от 0 до 199 или до 349 в зависимости от режима) . Точка с координатами 0,0 находится в верхнем левом углу экрана.

Графический режим устанавливается (или отменяется) оператором SCREEN.

SCREEN i[, j] i = 0, j = 0 черно-белый текстовый режим i = 0, j = 1 цветной текстовый режим i = 1, j = 0 цветная графика при средней разрешающей способности (320 позиций по горизонтали, 200 по вертикали) i = 1, j = 1 черно-белая графика при средней разрешающей способности i = 2 черно-белая графика при высокой разрешающей способности (640 позиций по горизонтали, 350 по верти кали) После выполнения оператора SCREEN точка устанавливается в середину экрана.

Оператор COLOR устанавливает цвет фона экрана и палитру (из трех цветов) для окрашивания точек (для текстового режима — еще и цвет рамки) .

Существует две палитры цветов: 0 и 1, следующего состава: Палитра 0я. Палитра 1 1 — зеленый 1 — голубой 2 — красный 2 — сиреневый 3 — желтый 3 — белый Для фона можно выбрать один из 16 цветов (0 — черный, 1 — синий, 2 — зеленый, 3 — бирюзовый, 4 — красный, 5 — лиловый, 6 коричневый, 7 — белый, 8 — серый, 9 — голубой, 10 — ярко-зеленый, 11 ярко-бирюзовый, 12 — ярко-красный, 13 — ярко-лиловый, 14 — желтый, 15 — ярко-белый) Оператор COLOR имеет вид COLOR i, j[, k] — 17 где i — цвет фона, j — номер палитры, k — цвет рамки.

Например, операторы SCREEN 1,0 COLOR 9,0 устанавливают цветной графический режим при средней разрешающей способности; цвет фона — голубой; последующие операторы должны использовать цвета из 0-й палитры.

В графическом режиме (для получения на экране неподвижных изображений) могут использоваться следующие операторы: PSET(PRESET) — включает (или выключает) точку; LINE- чертит линию; CIRCLE- чертит окружность или ее часть; PAINT- закрашивает указанную часть экрана.

Более сложные операторы для получения движущихся изображений (DRAW, GET, PUT) рассматриваются в п. 4.

Оператор PSET (x, y) включает точку с координатами x, y.

Оператор PSET STEP (x, y) включает точку, отстоящую на x позиций по горизонтали и на y позиций по вертикали от текущей точки. Например, если в предыдущем положении точка имеет координаты (60,75) , то оператор PSET (10,20) определяет точку с координатами (10,20) , а оператор PSET STEP (10,20) определяет точку с координатами (70,95) .

Операторы PSET (x, y) , 0 или PRESET(x, y) стирают точку (x, y) с экрана.

Оператор LINE позволяет начертить отрезок прямой, указав его начало (x1, y1) , конец (x2, y2) и цвет k LINE[(x1, y1) ]-(x2, y2) , k Если начальная точка отсутствует, то линия будет прочерчена, начиная с точки, в которой остановился предыдущий оператор.

С помощью оператора LINE можно также чертить и закрашивать прямоугольники LINE (x1, y1) (x2, y2) , [k], B[F] Точки (x1, y1) и (x2, y2) трактуются при этом как левая нижняя и — 18 правая верхняя вершины прямоугольника. Если цвет k отсутствует, то прямоугольник будет начерчен 3-м цветом палитры. При наличии параметра F площадь внутри прямоугольника будет закрашена. Например, оператор LINE (80,175) — (100,25) , 2, BF закрашивает красным цветом прямоугольник, расположенный между 80-ой и 100-ой позициями по горизонтали и 175-ой и 25-ой позициями по вертикали.

Оператор CIRCLE позволяет строить окружности, дуги, секторы и эллипсы.

Оператор CIRCLE(x, y) , r, k чертит окружность радиуса r с центром в точке (x, y) цветом k.

После вычерчивания окружности последней использованной точкой считается ее центр.

Оператор CIRCLE (x, y) , r, k, ALPHA1, ALPHA2 вычерчивает дугу, имеющую начало под углом ALPHA1 и конец под углом ALPHA2.

Например, оператор (при PI = 3.1416) CIRCLE (160,100) , 80,2, PI/2, PI строит дугу от PI/2 до PI окружности радиуса 80 с центром в точке (160,100) вторым цветом палитры.

Если использовать знак » — » перед начальной и конечной точками дуги, то будет нарисован сектор, т.е. конечные точки дуги будут соединены с центром. Например, CIRCLE (160,100) , 80,2, PI/2, — PI Можно изобразить сплюснутую (или наоборот вытянутую) окружность, добавив в оператор CIRCLE еще один параметр. Если значение этого параметра меньше 1, то окружность будет сплюснута по вертикали, если больше 1, то — по горизонтали. Например, CIRCLE (160,100) , 80,2,,, 3/4 Все параметры оператора CIRCLE задаются в определенном порядке и разделяются запятыми. Обязательными являются только параметры, указывающие положение центра и радиус окружности. Остальные параметры необязательны, однако, запятые должны быть оставлены, если пропущены параметры в середине списка.

Оператор PAINT позволяет закрашивать большие области экрана.

Для закрашивания необходимо указать произвольную точку внутри закрашиваемой области (x, y) , цвет, которым нужно закрасить область (k1) и цвет границы, которую нельзя пересекать при закрашивании (k2) , k1 и k2 могут совпадать. Оператор PAINT имеет вид — 19 PAINT (x, y) , k1, k2 Например, оператор PAINT (160,100) , 2,2 закрасит окружность нарисованную последним оператором CIRCLE, красным цветом, как и цвет окружности, использованный в операторе CIRCLE. &! — _ / » ~ Полное имя файла в MS DOS содержит весь путь по дереву от корневой директории к нужному файлу. Например, C: STLABwork. bas, где C — имя диска, ST — имя директории на диске, LAB — имя поддиректории директории ST, work. bas — имя программы на Бейсике.

Далее речь пойдет только о файлах данных.

3.1. Файлы последовательного доступа Последовательный файл состоит из записей, доступ к которым осуществляется последовательно, т.е. n-я запись следует за (n 1) -ой как при формировании файла, так и при считывании из него.

Создание последовательного файла включает следующие шаги: открытие файла (оператор OPEN) , вывод данных в файл (операторы PRINT#, WRITE#, или PRINT# USING) и закрытие файла (оператор CLOSE) .

Считывание из последовательного файла включает следующие шаги: открытие файла, ввод данных из файла (операторы INPUT#, INPUT$, LINE INPUT#) , закрытие файла.

Оператор OPEN подготавливает файл для чтения из файла (INPUT) или записи в файл (OUTPUT, если создается новый файл, APPEND, если добавляются записи в уже существующий файл) .

INPUT OPEN имя файла FOR OUTPUT AS #номер файла APPEND Оператор CLOSE я. закрывает файл, т.е. делает невозможным чтение или запись.

CLOSE [#номер файла] Оператор CLOSE без параметров закрывает все открытые файлы.

Единицей информации, которая передается при записи в файл или чтении из файла, является запись (логическая запись) я2. Запись делится на поля. Каждое поле связано с одним элементом данных.

Могут быть созданы два типа последовательных файлов: 1) с разделителями полей, когда каждое поле автоматически отделяется специальным символом (например, запятой) . Для создания такого файла используется оператор WRITE#, для чтения из него оператор INPUT#.

Данные в файле хранятся в таком виде, как если бы они набирались на клавиатуре при выполнении оператора INPUT, т.е. разделены запятыми и каждая запись заканчивается переводом строки.

Оператор INPUT# имеет вид INPUT #номер файла, список переменных, где переменные в списке по типу должны соответствовать данным в файле.

2) поля не разделены, и каждая запись точно такая же, как если бы эти данные отображались на экране или печатались на принтере. Для создания такого файла используется оператор PRINT#, для чтения из него — операторы INPUT$ или LINE INPUT#. Оператор INPUT$я. передает из файла сразу всю строку (запись) указанной длины n в символьную переменную, например, ST$ ST$я2 = INPUT$ (n, #номер файла) Оператор LINE INPUT# передает в указанную переменную ST$ всю строку независимо от ее длины LINE INPUT #номер файла, ST$ Пример (с разделителями полей) : OPEN «SEQU. DAT» FOR OUTPUT AS #1 ST$ = » ИВАНОВ » INT% = 1972 FLOT! = 75.3

«теперь записываем строку в файл WRITE #1, ST$, INT%, FLOT!

ST$ = » ПЕТРОВ » INT% = 1975 FLOT! = 62.5

«записываем другую строку в файл WRITE #1, INT%, ST$, FLOT!

CLOSE #1 END Созданный файл будет следующим » ИВАНОВ «, 1972,75.3

1975, » ПЕТРОВ «, 62.5

Следующая программа читает из этого файла: OPEN «SEQU. DAT» FOR INPUT AS #1 ST$ = » » INT% = 0 FLOT! = 0 «теперь читаем строку текста из файла INPUT #1, ST$, INT%, FLOT!

PRINT ST$, INT%, FLOT!

ST$ = » » INT% = 0 FLOT! = 0 «читаем другую строку INPUT #1, INT%, ST$, FLOT!

PRINT INT%, ST$, FLOT!

CLOSE #1 END Пример (без разделителей полей) : OPEN «SEQUEN.»; INT%, ST$, FLOT!

CLOSE #1 END Содержание созданного файла будет таким: ИВАНОВ 1972 73.1

1975 ПЕТРОВ 6.43Е+01 — 23 Следующая программа читает из этого файла: OPEN «SEQUEN. DAT» FOR INPUT AS #1 ST$ = » » ST$ = INPUT$ (80, #1) PRINT ST$ LINE INPUT #1, ST$ PRINT ST$ CLOSE #1 END 3.2. Файлы прямого доступа Файл прямого доступа состоит из записей, доступ к которым возможен в произвольном порядке по номеру записи.

Создание файла прямого доступа включает следующие шаги: открытие файла (оператор OPEN) ; задание структуры записи файла, или разметка буфера (оператор FIELD) ; передача записи в буфер (операторы LSET или RSET) ; пересылка содержимого буфера в файл (оператор PUT) , при этом если номер записи в операторе PUT не указан явно, буфер помещается на место текущей записи, при открытии файла указатель текущей записи равен 1, после каждой операции ввода или вывода указатель сдвигается на следующую запись; закрытие файла (оператор CLOSE) .

Записи передаются в виде строк символов. Поэтому необходимо использовать соответствующие функции преобразования данных в строку символов и обратно.

Ниже перечислены функции и осуществляемые ими преобразования.

MKI$ (MKL$) — целое (длинное целое) в 2-х (4-х) байтовую строку; MKS$ (MKD$) — вещественное (вещественное двойной точности) в 4-х (8-ми) байтовую строку.

CVI(CVL) — 2-х (4-х) байтовую строку в целое (длинное целое) ; CVS(CVD) — 4-x (8-ми) байтовую строку в вещественное (вещественное двойной точности) .

Считывание из файла прямого доступа включает также пять шагов: открытие файла; разметка буфера; передача записи из файла в буфер (оператор GET) ; обработка данных буфера (переменные буфера доступны из программы) ; закрытие файла.

Если вывод в файл и ввод из файла осуществляются в одной программе, то открытие и закрытие файла осуществляется один раз перед началом и после окончания всех операций с файлом.

Оператор OPEN имеет вид OPEN имя файла AS #номер файла LEN= длина записи (отсутствие указания режима ввода или вывода означает, что файл прямого доступа) .

Оператор FIELD имеет вид FIELD #номер файла, n1ASим [я2, n2ASимя2,… ], где n1, n2,… — длина поля в байтах под переменные им, имя2,… (им, имя2, символьные переменные) .

Операторы LSET, RSET имеют вид LSET имя=символьное выражение RSET имя=символьное выражение Оператор LSET (RSET) заполняет одно поле записи в буфере (оператор LSET — с начала, RSET — с конца, оставшиеся позиции заполняются пробелами) .

Оператор PUT имеет вид PUT#номер файла[я2, номер записи] Этот оператор передает содержимое буфера в файл на место записи с указанным номером (или текущей, если номер не указан) .

Оператор GET имеет вид GET#номер файла[, номер записия2и] Этот оператор передает содержимое записи с указанным номером в буфер (если номера нет, передается текущая запись) .

В качестве примера приводится программа, которая формирует файл прямого доступа из записей следующей структуры: N п/п Фамилия Год рождения В программе переменные обозначены n%, nam$, dat%; для соответствующих полей буфера используются обозначения np$ (2 байта) , nm$ (10 байт) , dt$ (6 байт) .

OPEN «GSR. DAT» AS #1 LEN = 18 FIELD #1,2 AS np$, 10 AS nm$, 6 AS dt$ FOR i%=1 to 3 INPUT n%, nam$, dat% LSET np$ = MKI$ (n%) LSET nm$ = nam$ LSET dt$ = MKI$ (dat%) — 25 PUT #1, i% NEXT i% CLOSE #1 END Следующая программа осуществляет ввод данных из файла GSR. DAT и их печать в обратном порядке.

OPEN «GSR. DAT» AS #1 LEN = 18 FIELD #1,2 AS np$, 10 AS nm$, 6 AS dt$ FOR i% = 3 to 1 STEP -1 GET #1, i% n% = CVI (np$) dat%=CVI (dt$) PRINT n%, nm$, dat% NEXT i% CLOSE #1 END — 26 4. ДВИЖУЩИЕСЯ ИЗОБРАЖЕНИЯ, ЗВУКОВЫЕ ЭФФЕКТЫ И НЕСТАНДАРТНЫЙ ВВОД С КЛАВИАТУРЫ 4.1. Оператор DRAW При помощи оператора DRAW можно чертить (рисовать) на экране различные фигуры (предметы) , используя параметры Un, Dn, Ln, Rn для перемещения на n позиций от текущей точки вверх (U) , вниз (D) , влево (L) или вправо (R) ; En, Fn, Gn, Hn для перемещения по диагонали на n точек вверх и вправо (E) , вниз и вправо (F) , вниз и влево (G) , вверх и влево (H) ; M h, V для перемещения в точку с координатами h и V; M я7+h, я7+V для относительного перемещения на h позиций вправо (+) или влево (-) и на V позиций вниз (+) или вверх (-) . Кроме того, параметр An устанавливает угол n, где n=0 (0 градусов) , 1 (90 градусов) , 2 (180 градусов) или 3 (270 градусов) ; TAn — поворачивает на угол n, где n меняется от -360 до 360 градусов. При n>0 поворот осуществляется против часовой стрелки, при n<0 — по часовой стрелке; Cn — устанавливает цвет n из текущей палитры; Sn — определяет масштаб n/4, n может меняться от 1 до 255 (по умолчанию n=4) ; B — подавляет высвечивание точек по пути перемещения в соответствии с командой С (по умолчанию путь перемещения высвечивается в виде линий, С содержит какие-либо из перечисленных параметров) ; N означает возврат в исходную позицию после выполнения команды перемещения С.

Последовательность параметров, определяющая режим и порядок перемещений, заключается в кавычки и указывается в операторе DRAW.

Например, оператор DRAW «M 160,100» осуществляет перемещение от текущей позиции в позицию (160,100) , оставляя при этом след в виде закрашенных точек. Оператор DRAW «BM160,100» осуществляет то же перемещение, но не оставляя следа. Оператор DRAW «L10 U10 R10 D10» прочерчивает линию на 10 позиций влево, на 10 позиций вверх, на 10 позиций вправо и на 10 позиций вниз, т.е. образует квадрат.

Пробелы, разделяющие параметры, необязательны и используются для наглядности. Оператор DRAW «BM 180,20 NU10 ND10 NL10 NR 10» осуществляет перемещение без обозначения пути в точку (180,20) , а затем чертит крест (знак +) .

В операторе DRAW можно использовать не только символьные константы (см. выше) , но и символьные переменные, в которых заранее заготавливаются отдельные фрагменты рисунка (или весь рисунок) , что позволяет воспроизводить их многократно различными операторами DRAW. Например, SQAR$ = «L10U10R10D10″ DRAW SQAR$ Аргументы перемещения n, k, V могут быть заданы константами, как в приведенных выше примерах операторов DRAW, или переменными. В последнем случае нужно использовать функцию VARPTR$. Например, операторы DRAW » E15 » и a = 15 DRAW » E = » + VARPTR$ (a) выполняют одно и то же действие. Это же относится и к операторам I% = 1 DRAW » M = » + VARPTR$ (I%) + «, 40″ и DRAW » M = 1,40″ Но в первом случае (при использовании переменной I%) оператор DRAW может выполняться при различных ее значениях, например, в цикле.

Замечание. Выполнение оператора DRAW возможно только в графическом режиме (переход при помощи оператора SCREEN) .

4.2. Операторы GET и PUT Операторы GET и PUT позволяют создавать движущиеся изображения.

При выполнении оператора GET текущее состояние части экрана запоминается. При выполнении оператора PUT изображение, сохраненное оператором GET, воспроизводится в другом указанном месте экрана, т.е. изображение как бы движется.

Оператор GET запоминает изображение заданной области экрана в массиве, который должен быть заранее описан. Оператор GET имеет вид — 28 GET (x1, y1) — (x2, y2) , B (x1, y1) , (x2, y2) определяют верхнюю левую и нижнюю правую границы запоминаемой области, B — имя числового массива, в котором сохраняется копия этой части экрана.

Существует формула, определяющая требуемую длину массива (в байтах) , исходя из размера запоминаемой области и режима работы экрана. Так при средней разрешающей способности для сохранения n1 точек по горизонтали и n2 точек по вертикали необходимый размер массива N вычисляется по формуле N = 4 + INT((n1*2+7) /8) * n2 при высокой разрешающей способности N = 4 + INT((n1 + 7) /8) * n2 При использовании массива целого типа (один элемент равен двум байтам) необходимо предусмотреть размер INT((N + 1) /2) .

Оператор PUT помещает копию части экрана, сохраненную оператором GET в любую часть экрана, левый верхний угол которой задан точкой (x, y) . Этот оператор имеет вид PUT (x, y) , B 4.3. Оператор BEEP Этот оператор вызывает звуковой сигнал определенной частоты и длительности 0,25 секунды. Используется, когда нужно привлечь внимание при выполнении какой-либо части программы.

4.4. Оператор SOUND Этот оператор вызывает звуковой сигнал частоты x (от 37 до 32767 Гц) и длительности в «тиках» (1/18 секунды) y SOUND x, y Оператор SOUND с нулевой длительностью прерывает работу предыдущего оператора SOUND, даже если тот не отзвучал до конца. Используется для специальных звуковых эффектов (сирена и пр.) .

4.5. Оператор PLAY Этот оператор позволяет создавать музыку. Общий вид оператора PLAY символьное выражение — 29 где символьное выражение задает порядок звучания нот, их длительность, номер октавы и т.д., используя следующие параметры: буквы C, D, E, F, G, A, B (ноты от «до» до «си») , A#, или A+, обозначает A диез, A- обозначает A бемоль, аналогично — для остальных нот; On означает играть в октаве n (n изменяется от 0 до 6, октава начинается с ноты «до» (буква C) , по умолчанию n = 4) . Например, PLAY » O3 FGA O4 ABC » В этом примере в 3-ей октаве звучат ноты F, G, A, в четвертой октаве ноты A, B, C. Если перед нотой используется знак > или <, например, > A, < C то это означает, что номер текущей октавы увеличивается или уменьшается на 1.

Можно вместо номера октавы и символа ноты задать ее порядковый номер (от 1 до 84) , указав перед ним букву N. Например, PLAY » O4G » аналогично оператору PLAY » N44 » Длительность ноты устанавливается параметром Ln, где n может принимать значения от 1 до 64 и обозначает долю полной ноты, т.е.

L1 обозначает полную ноту, L2 обозначает половинную, L4 четвертную ноту и т.д.

Пауза задается параметром Pn (n — длина паузы, измеряется в длительностях, установленных параметром L) .

Темп задается параметром Tn, где n — число четвертных нот в минуту, может принимать значения от 32 до 255 (по умолчанию n = 120) . Параметры MS, MN или ML определяют долю времени звучания каждой ноты от длительности, определенной параметром L: MS — в 3/4 этой длительности (стаккато) , MN — в 7/8 (обычное, нормальное звучание) , ML — полное время (легато) .

Режим звучания может быть основным, когда следующий оператор программы не будет выполняться, пока оператор PLAY не завершен (параметр MF) , или фоновым, когда выполнение оператора PLAY не препятствует выполнению остальных операторов программы (параметр MB) . Например, PLAY «L8 MF MS O3 GG L4 AG O4 C O3 L2 B» Отдельные музыкальные отрезки можно описать предварительно в виде символьных строк и использовать их затем в операторе PLAY.

Например, — 30 A$=»EDE»: B$ = «CDE»: PLAY A$ + B$ 4.6. Функция INKEY$ Функция INKEY$ действует аналогично оператору INPUT, однако при вводе на экране не высвечивается вводимый символ и не требуется нажатие клавиши «Ввод». Программа при этом не прерывает работу, как при выполнении оператора INPUT. При выполнении оператора X$ = INKEY$ символ, соответствующий нажатой клавише, присваивается переменной X$.

Рассмотрим в качестве примера программу: PRINT «Задайте направление: 1-север, 2-юг, _ 3-запад, 4-восток» aa: D$ = INKEY$ IF D$ = «» THEN aa ON VAL (D$) GOTO nn, ww, ee, ss PRINT «Неправильная клавиша»: GOTO aa nn:… ww:…

Здесь, пока не будет нажата какая-либо клавиша, 3-й и 4-й операторы выполняются в цикле, обеспечивая режим ожидания. Когда клавиша «1», «2», «3», или «4» нажата, соответствующее значение присваивается переменной D$. Далее в операторе ON осуществляется ее преобразование к числовому значению и переход к указанной метке для соответствующей обработки.

5. БИБЛИОТЕКА СТАНДАРТНЫХ ПРОЦЕДУР В ТУРБО-БЕЙСИКЕ 1. Решение систем линейных алгебраических уравнений (SIMQ. BAS) 2. Интерполирование функций (ALI. BAS) 3. Обращение матрицы и вычисление определителя (MINV. BAS) 4. Умножение матриц (GMPRD. BAS) 5. Вычисление корня уравнения (RTMI. BAS) 6. Решение систем нелинейных уравнений (SNEN. BAS) 7. Вычисление корней полинома (POLRT. BAS) 8. Вычисление производной (DCAR. BAS) 9. Вычисление интеграла (QATR. BAS) 10. Экстремум функции (FMCG. BAS) 11. Решение систем обыкновенных дифференциальных уравнений (RKGS. BAS) 12. Сглаживание функций (SG13. BAS) 13. Аппроксимация функций (APFS. BAS) 14. Упорядочивание значений (используется при интерполировании функций) (ATSG. BAS) 15. Вычисление полиномов Чебышева (используется при аппроксимации функций) (APCH. BAS) Подключение библиотечной процедуры осуществляется оператором $INCLUDE «имя библиотечной процедуры» Пример использования библиотечной процедуры QATR. BAS $INCLUDE «QATR. BAS» CLS PRINT «ВЫЧИСЛЕНИЕ ИНТЕГРАЛА» CALL QATR(0,1,. 0001,24, INTEGRAL, IER%) PRINT «ИНТЕГРАЛ =»; PRINT USING «###. ####»; INTEGRAL PRINT «КОД ОШИБКИ =»; IER% DEF FNFCTN (X) = LOG (1 + X) / (1 + X * X) END — 32 6. РЕКОМЕНДУЕМЫЙ ПОРЯДОК РАБОТЫ НА ПЭВМ ПРИ СОЗДАНИИ И ВЫПОЛНЕНИИ ПРОГРАММ НА ЯЗЫКЕ ТУРБО-БЕЙСИК 1. Войти в Турбо-Бейсик. Для этого набрать tb в командной строке и нажать клавишу «Ввод». Еще раз нажать «Ввод».

В верхней строке экрана высвечивается главное меню.

2. Для первоначального ввода или исправления программы войти в редактор (пункт меню EDIT) .

3. После того, как программа составлена (или внесены исправления) , ее необходимо записать в память на диск или дискету (пункт главного меню FILE, подпункт SAVE или клавиша F2) .

Замечание. Рекомендуется после набора каждых 10 строк записывать программу на диск (простым нажатием клавиши F2) , чтобы в случае сбоя ПЭВМ программа не пропала.

4. Выполнить программу (пункт RUN главного меню) , переход на большой экран для анализа результатов — команда ALT/F5.

5. Выйти из Турбо-Бейсика (пункт FILE, подпункт EXIT или команда ALT/X) .

Замечание. В каждом режиме в нижней строке экрана указано назначение функциональных клавиш. Например, если курсор находится в главном меню, то нажатие клавиши F1 (Help) вызывает появление на экране сведений по использованию соответствующего режима, переход к следующей странице «Ввод». Нажатие F5 (Zoom) вызывает раскрытие текущего окна на весь экран, повторное нажатие F5 возврат в исходное положение; F6 (Next) — переход к следующему окну; F7 (Goto) — переход в режим редактирования; ALT/X (Exit) выход из Турбо-Бейсика.

В режиме редактирования: F1 — Help (см. выше) , F2 — Save (запись на диск или дискету) ; F3 — New (загрузка новой программы, имя вводится в появившееся окно) и т.д.

BASIC Operators

! Логический оператор

Указывает или операция в логическом выражении.

# Оператор отношения

Означает, что не равно .

и логический оператор

Указывает, что оба компонента логического выражения должны быть истинными.

* Арифметический оператор

Математический оператор, указывающий на операцию умножения.

* = Оператор присвоения

Умножает a числовое выражение и присваивает его переменной.

+ арифметический оператор

Выполняет сложение или указывает положительное числовое значение.

+ = Оператор присвоения

Добавляет заданное числовое выражение и присваивает его данной переменной.

— Арифметический оператор

Обозначает операция вычитания или для обозначения отрицательного числового значения.

\ Арифметический оператор

Рассчитывает остаток от деления дивиденда на делитель (иначе известный по модулю).Арифметический оператор

Альтернативный средства индикации операции возведения в степень на конкретном числовое выражение.

— = Оператор присвоения

Уменьшает a переменная числовым выражением.

/ Арифметический оператор

Осуществляет деление.

/ = Оператор присвоения

Делит переменную числовым выражением и присваивает его данной переменной.

: Оператор отношения

Конкатенаты строки в операторе присваивания или, когда: отображается в конце print или crt выражение, подавляет автоматическую комбинацию CR / LF, таким образом удерживая текущее положение печати / отображения.

: = Оператор присвоения

Конкатенаты строку переменной и присваивает ее обратно данной переменной.

<= реляционный Оператор

Меньше или равно оператору.

<> Оператор отношения

представляет собой не равно оператору.

= Оператор присвоения

Представляет либо оператор присваивания в операторе присваивания или реляционном оператор в условном выражении.

> Оператор отношения

больше чем оператор .

> < Оператор отношения

Не равный оператор.

> = Отношения Оператор

Больше чем или равно оператору.

и логический оператор

Указывает, что оба компонента логического выражения должны быть истинными.

Оператор отношений cat

Конкатенаты строки в выражении.

Оператор присвоения экв.

Представляет либо оператор присваивания в операторе присваивания или реляционном оператор в условном выражении.

ge Оператор отношений

обозначает большее условие чем или равно между двумя элементами.

gt Оператор отношения

обозначает большее чем условие между двумя элементами.

le Оператор отношения

Представляет меньше или равно (<=) условие.

Оператор отношения lt

Используется в условных выражения как альтернативная форма условия меньше (<).

Оператор отношения соответствия

Проверяет строку и определяет, соответствует ли он предопределенному шаблону алфавитного, числовые, подстановочные или буквенные символы.

ne Оператор отношения

представляет собой не равно условию в реляционных выражениях.

или логический оператор

Указывает, что только один из компонентов логического выражения должен быть истинным чтобы выражение оценивалось как истинное.

Учебники и примечания по основам работы с операторами | Базовое программирование

Операторы — это символы, которые говорят компилятору выполнять определенные математические или логические манипуляции. В этом руководстве мы постараемся охватить наиболее часто используемые операторы в программировании.

Во-первых, давайте классифицируем их:
1. Арифметика
2. Реляционная
3. Побитовая
4. Логическая
5. Присваивание
6.Прирост
7. Разное

Арифметические операторы :

Символ Эксплуатация Использование Пояснение
+ дополнение х + у Добавляет значения по обе стороны от оператора
вычитание х-у Вычитает правый операнд из левого операнда
* умножение х * у Умножает значения по обе стороны от оператора
/ отдел х / у Делит левый операнд на правый операнд
% модуль х% у Делит левый операнд на правый и возвращает остаток


Операторы отношения : Эти операторы используются для сравнения.Они возвращают либо истинных , либо ложных в зависимости от результата сравнения. Оператор ‘==’ не следует путать с ‘=’. Операторы отношения следующие:

Символ Эксплуатация Использование Пояснение
== равно х == у Проверяет, совпадают ли значения двух операндов. равно или нет, если да, то условие выполняется.
! = не равно х! = У Проверяет, совпадают ли значения двух операндов. равно или нет, если значения не равны, условие становится истинным.
> больше х> у Проверяет, равно ли значение левого операнда больше значения правого операнда, если да, то условие выполняется
< менее х <у Проверяет, меньше ли значение левого операнда чем значение правого операнда, если да, то условие становится истинным.
> = больше или равно х> = у Проверяет, равно ли значение левого операнда больше или равно значению правого операнда, если да, то условие становится истинным.
<= меньше или равно х <= у Проверяет, меньше ли значение левого операнда чем или равно значению правого операнда, если да, то условие становится истинным.


Побитовые операторы : Эти операторы очень полезны, и у нас есть некоторые приемы, основанные на этих операторах.Эти операторы преобразуют заданные целые числа в двоичные, а затем выполняют требуемую операцию и возвращают результат в десятичном представлении.

Символ Эксплуатация Использование Пояснение
и побитовое И x & y Устанавливает бит результата, если он установлен в обоих операндах. y $$
>> сдвиг вправо x >> y Значение левого операнда перемещается вправо на количество битов, заданное правым операндом.$$ y $$ = 0011 0001 = 49
~ $$ x $$ = 1101 0101
$$ x << 2 $$ = 1010 1000 = 168. Обратите внимание, что биты сдвинуты на 2 единицы влево, а новые биты заполняются нулями.
$$ x >> 2 $$ = 0000 1010 = 10 $$. Обратите внимание, что биты сдвигаются на 2 единицы вправо, а новые биты заполняются нулями.
Для получения дополнительной информации о том, как работают эти операторы, см .: Bit Manipulation


Логические операторы : Эти операторы принимают логические значения в качестве входных и возвращают логические значения в качестве выходных.
Примечание. В C, C ++ любое ненулевое число рассматривается как истина, а 0 — как ложь, но это не выполняется для Java.

Символ Эксплуатация Использование Пояснение
&& логическое И х && у Возвращает истину, если и x, и y истинны, иначе возвращает ложь.
|| логическое ИЛИ х || y Возвращает ложь, если ни x, ни y не истинны, иначе возвращает истину
! логическое НЕ ! х Унарный оператор.Возвращает true, если x равно false, иначе возвращает false.


Операторы присвоения :

Модуль упругости
Символ Эксплуатация Использование Эквивалентность Пояснение
= переуступка х = у Назначает значение правого операнда (ов) левой стороне операнд.
+ = сложение и присвоение х + = у х = х + у Добавляет правый операнд к левому операнду и присваивает результат левому операнду.
— = вычитание и присвоение х — = у х = х-у Вычитает правый операнд из левого операнда и присваивает результат левому операнду.
* = умножение и присвоение х * = у х = х * у Умножает правый операнд на левый и присваивает результат левому операнду.
/ = деление и уступка х / = у х = х / у Делит левый операнд на правый и присваивает результат левому операнду.
% = и присвоение х% = у х = х% у Принимает модуль с использованием двух операндов и присваивает результат левому операнду.
<< = левая смена и назначение х << = у х = х << у Сдвигает значение x на y бит влево и сохраняет результат обратно в x.
>> = сдвиг вправо и присвоение х >> = у х = х >> у Сдвигает значение x на y бит вправо и сохраняет результат обратно в x. y и сохраняет результат в x.


Операторы увеличения / уменьшения : это унарных операторов . Унарные операторы — это операторы, для которых требуется только один операнд.

Символ Эксплуатация Использование Пояснение
++ Постинкремент х ++ Увеличить x на 1 после использования его значения
Постдекремент х — Уменьшить x на 1 после использования его значения
++ Прединкремент ++ х Увеличьте x на 1 перед использованием его значения
Преддекремент — х Уменьшить x на 1 перед использованием его значения
Примеры :
Пусть x = 10
затем после y = x ++ ; y = 10 и x = 11, это потому, что x присваивается y перед его приращением.
но если бы мы написали y = ++ x ; y = 11 и x = 11, потому что x присваивается y после его приращения.
То же самое и для операторов декремента.


Разные операторы :

Условный оператор : похож на if-else :

x = (условие)? а: б
Если условие истинно, то a присваивается x, иначе b присваивается x. Это тернарный оператор, потому что он использует условие a и b, т.е.три операнда (условие также рассматривается как логический операнд).


Приоритет операторов и ассоциативность :

Правила приоритета : Правила приоритета определяют, какой оператор оценивается первым, когда два оператора с разным приоритетом являются смежными в выражении.
Например: $$ x = a +++ b $$
Это выражение можно рассматривать как постфиксное приращение на a и добавление с b или приращение префикса на b и добавление к a. Такие проблемы решаются с помощью правил приоритета.

Правила ассоциативности : Правила ассоциативности определяют, какой оператор вычисляется первым, когда два оператора с одинаковым приоритетом являются смежными в выражении.
Например: $$ a * b / c $$

Приоритет операторов : В следующей таблице описан порядок приоритета операторов, упомянутых выше. Здесь операторы с наивысшим приоритетом отображаются вверху, а операторы с самым низким — внизу. В любом данном выражении первыми будут оцениваться операторы с более высоким приоритетом.
LR = слева направо
RL = справа налево

Категория Ассоциативность Оператор
Постфикс LR ++ —
Унарный RL + -! ~ ++ —
Мультипликативный LR * /%
Добавка LR + —
Смена LR << >>
Реляционные LR <<=>> =
Равенство LR ==! =
Побитовое И LR и
Побитовое исключающее ИЛИ LR ^
Побитовое ИЛИ LR |
Логическое И LR &&
Логическое ИЛИ LR ||
Условно RL ?:
Переуступка RL = + = — = * = / =% = >> = << = & = ^ = | =

Предоставил: Шубхам Гупта

Основные операторы в Python с примерами

Операторы — это символы, которые указывают интерпретатору выполнить определенную операцию, такую ​​как арифметика, сравнение, логика и т. Д.

Различные типы операторов в Python перечислены ниже:

  1. Арифметические операторы
  2. Операторы отношения
  3. Побитовые операторы
  4. Операторы присваивания
  5. Логические операторы An
  6. Операторы принадлежности
  7. Операторы идентичности
31 арифметический оператор принимает на вход два операнда, выполняет вычисление и возвращает результат.

Рассмотрим выражение «a = 2 + 3» .Здесь 2 и 3 — операнды , и + — арифметический оператор . Результат операции сохраняется в переменной a .

Оператор Описание Использование
+ Выполняет сложение операндов 12 + 3 = 15
Выполняет вычитание операндов 12–3 = 9
* Выполняет умножение операндов 12 * 3 = 36
/ Выполняет деление на операнды 12/3 = 4
% Выполняет модуль для операндов 16% 3 = 1
** Выполняет операцию возведения в степень 12 ** 3 = 1728
// Выполняет операцию деления этажа 18 // 5 = 3

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

Операторы отношения

Оператор отношения используется для сравнения двух операндов для определения отношения между ними. Он возвращает логическое значение (истина или ложь) в зависимости от условия.

Оператор Описание Использование
> Возвращает True, если левый операнд больше правого 12> 3 возвращает True
< Возвращает True, если правый операнд больше левого 12 <3 возвращает False
== Возвращает True, если оба операнда равны 12 == 3 возвращает ложь
> = Возвращает True, если левый операнд больше или равен правому операнду 12> = 3 возвращает True
<= Возвращает True, если правый операнд больше или равен левому операнду 12 <= 3 возвращает ложь
! = Возвращает True, если оба операнда не равны 12! = 3 возвращает True

Поразрядные операторы

Поразрядный оператор выполняет операции с операндами бит за битом

Рассмотрим a = 2 (в двоичной записи 10) и b = 3 (в двоичной записи 11) для следующих применений.11 = 01)

~ Выполняет побитовую операцию НЕ над операндом. Переворачивает каждый бит в операнде ~ a = -3 (двоичный: ~ (00000010) = (11111101))
>> Выполняет побитовый сдвиг вправо. Сдвигает биты левого операнда вправо на количество бит, указанное как правый операнд a >> b = 0 (двоичный: 00000010 >> 00000011 = 0)
<< Выполняет побитовый сдвиг влево.Сдвигает биты левого операнда влево на количество бит, указанное как правый операнд a << b = 16 (двоичный: 00000010 << 00000011 = 00001000)

Операторы присваивания

Оператор присваивания используется для присвоения значений переменной. Обычно это сочетается с другими операторами (такими как арифметические, побитовые), где операция выполняется с операндами, а результат присваивается левому операнду.

Рассмотрим следующие примеры:
a = 18 .Здесь = — оператор присваивания, а результат сохраняется в переменной a.
a + = 10 . Здесь + = — оператор присваивания, а результат сохраняется в переменной a. Это то же самое, что a = a + 10.

Оператор Описание
= a = 5. Значение 5 присваивается переменной a
+ = a + = 5 эквивалентно a = a + 5
— = a — = 5 эквивалентно a = a — 5
* = a * = 3 эквивалентно a = a * 3
/ = a / = 3 эквивалентно a = a / 3
% = a% = 3 эквивалентно a = a% 3
** = a ** = 3 эквивалентно a = a ** 3
// = a // = 3 эквивалентно a = a // 3
& = a & = 3 эквивалентно a = a & 3
| = a | = 3 эквивалентно a = a | 3
^ = a ^ = 3 эквивалентно a = a ^ 3
>> = a >> = 3 эквивалентно a = a >> 3
<< = a << = 3 эквивалентно a = a << 3

Логические операторы

Логический оператор используется для принятия решения на основе нескольких условий.В Python используются логические операторы и , или и , а не .

Оператор Описание Использование
и Возвращает True, если оба операнда истинны а и б
или Возвращает истину, если любой из операндов истинен а или б
не Возвращает True, если операнд ложный , а не

Операторы членства

Оператор членства используется для идентификации членства в любой последовательности (списки, строки, кортежи).

в и не в являются операторами членства.

в возвращает True, если указанное значение найдено в последовательности. В противном случае возвращает False.

not in возвращает True, если указанное значение не найдено в последовательности. В противном случае возвращает False.

  a = [1,2,3,4,5]
  
# 3 в списке а?
print 3 in a # печатает True
  
# 12 нет в списке а?
print 12 not in a # printts True
  
str = "Привет, мир"
  
# Содержит ли строка str World?
print "World" в str # printts True
  
# Содержит ли строка str world? (примечание: с учетом регистра)
print "world" в str # prints False

print "code" не входит в str # print True  

Операторы идентификации

Оператор идентификации используется для проверки того, разделяют ли две переменные одно и то же место в памяти.

- это , а - не — операторы идентификации.

is возвращает True, если операнды относятся к одному и тому же объекту. В противном случае возвращает False.

is not возвращает True, если операнды не относятся к одному и тому же объекту. В противном случае возвращает False.

Обратите внимание, что два значения, когда они равны, не обязательно должны означать, что они идентичны.

  а = 3
б = 3
с = 4
print a is b # выводит True
print a is not b # печатает False
print a is not c # печатает True

х = 1
у = х
г = у
print z равно 1 # печатает True
print z is x # печатает True

str1 = "FreeCodeCamp"
str2 = "FreeCodeCamp"

print str1 is str2 # выводит True
print "Код" - str2 # выводит False

а = [10,20,30]
b = [10,20,30]

print a is b # печатает False (поскольку списки изменяемы в Python)  

Операторы | Функции и операторы | Руководство пользователя | Поддержка | Epi Info ™

АРИФМЕТИЧЕСКИЙ

Описание
Эти основные арифметические операторы можно использовать в сочетании с другими командами.Результат — числовое значение.

Синтаксис
[Выражение] <Оператор> [Выражение]

  • [Выражение] — числовое значение или переменная, содержащая данные в числовом формате.

Комментарии
Результаты выражаются в числовом формате. Основные математические операторы, которые можно использовать в Epi Info, следующие:

  • Сложение + Основной арифметический оператор, используемый для сложения; Результатом арифметического оператора обычно является числовое значение (т.е., EX. 3 + 3).
  • Вычитание — (Используется для вычитания или отрицания.) Основной арифметический оператор, используемый для вычитания или отрицания; Результатом арифметического оператора обычно является числовое значение (например, Пример 3 — 1).
  • Умножение * (звездочка) Основной арифметический оператор, используемый для умножения; Результатом арифметического оператора обычно является числовое значение.
  • Деление / Основной арифметический оператор, используемый для деления; Результатом арифметического оператора обычно является числовое значение.
  • Модуль или остаток MOD

Арифметические операторы показаны в порядке убывания приоритета. Круглые скобки могут использоваться для управления порядком, в котором оцениваются операторы. Однако порядок по умолчанию часто дает правильный результат.

Хотя можно выполнять математические вычисления с датами, считающимися количеством дней (например, IncubationDays = SymptomDateTime — ExposureDateTime), поведение служб базы данных, лежащих в основе Epi Info, делает более эффективным использование функций временных интервалов (например, IncubationDays = SymptomDateTime — ExposureDateTime).2 СПИСОК var1 var2 var3 var4 var5 var6

Базовые операторы — язык программирования Эликсир

Начало работы

В предыдущей главе мы видели, что Elixir предоставляет + , - , * , / в качестве арифметических операторов, а также функции div / 2 и rem / 2 для целочисленного деления и остатка.

Эликсир также предоставляет ++ и - для управления списками:

  iex> [1, 2, 3] ++ [4, 5, 6]
[1, 2, 3, 4, 5, 6]
iex> [1, 2, 3] - [2]
[1, 3]
  

Конкатенация строк выполняется с <> :

  iex> "foo" <> "bar"
"фубар"
  

Elixir также предоставляет три логических оператора: или , и и , а не .Эти операторы являются строгими в том смысле, что они ожидают что-то, что оценивается как логическое ( истинно или ложно ) в качестве своего первого аргумента:

  iex> правда и правда
правда
iex> false или is_atom (: пример)
правда
  

Предоставление не-логического значения вызовет исключение:

  iex> 1 и верно
** (BadBooleanError) ожидал логическое значение слева от "and", получил: 1
  

или и и — это операторы короткого замыкания.Они выполняют только правую часть, если левой части недостаточно для определения результата:

  iex> false и raise («Эта ошибка никогда не возникает»)
ложный
iex> истина или повышение («Эта ошибка никогда не возникает»)
правда
  

Помимо этих логических операторов, Elixir также предоставляет || , && и ! , которые принимают аргументы любого типа. Для этих операторов все значения, кроме false и nil , будут иметь значение true:

  # или
iex> 1 || правда
1
iex> false || 11
11

# а также
iex> ноль && 13
ноль
iex> истина && 17
17

# нет
iex>! правда
ложный
iex>! 1
ложный
iex>! ноль
правда
  

Как правило, используйте и , или и , а не , если вы ожидаете логические значения.Если какой-либо из аргументов не является логическим, используйте && , || и ! .

Elixir также предоставляет == , ! = , === , ! == , <= , > = , < и > в качестве операторов сравнения:

  iex> 1 == 1
правда
iex> 1! = 2
правда
iex> 1 <2
правда
  

Разница между == и === в том, что последний более строгий при сравнении целых чисел и чисел с плавающей запятой:

  iex> 1 == 1.0
правда
iex> 1 === 1.0
ложный
  

В Elixir мы можем сравнить два разных типа данных:

Причина, по которой мы можем сравнивать разные типы данных, - это прагматизм. Алгоритмам сортировки не нужно беспокоиться о разных типах данных для сортировки. Общий порядок сортировки определен ниже:

  число <атом <ссылка <функция <порт  

На самом деле вам не нужно запоминать этот порядок; достаточно знать, что такой порядок существует.

Для получения справочной информации об операторах (и порядке заказа) проверьте справочную страницу об операторах.

В следующей главе мы обсудим сопоставление с образцом с помощью оператора сопоставления = .

Основные операторы в Python | Наука о данных о Земле