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



Общие сведения об языке программирования

Qbasic

    Язык QBASIC (Beginner's All-purpose Instruction Code) разработан Джоном Кимини и Томасом Куртцем в Дартмутском колледже, США, в середине 1960 г.

    QBASIC занимает особое место среди всех языков высокого уровня. С самого начала он задумывался как универсальный язык для начинающих, и средства программирования на QBASIC до сих пор включаются в комплект поставки ПК, - как обязательный элемент технологии.

    Вот некоторый достоинства QBASIC (с точки зрения массового пользователя):

n простота синтаксиса;

n простота организации данных и управляющих структур;

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

    Особым достоинством QBASIC следует считать возможность работы в режиме интерпретации, который резко упрощает процесс отладки программ: исполнение почти каждой команды можно проверить сразу после написания(Shift +F5).

АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ

 

Программа на языке Бейсик записывается в виде последовательности символов, к числу которых относятся латинские и русские буквы, арабские цифры, знаки препинания (, ; : " ' ?) , знаки операций (* / - + < > <= >= = <> .), специальные символы (% & ! # $ ).

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

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

Числа в программе записываются в десятичной системе, вместо запятой в десятичных дробях пишется точка: 0, - 17, 0.25, - 34.85.

Переменные и числа -  это простейшие частные случаи выражения. Более сложные выражения строятся из чисел и переменных с помощью знаков сложения, вычитания, умножения, деления, возведения в степень. +, -, *, /, ^.

При вычислении значений выражений действуют обычные правила старшинства операций:

1) возведение в степень - ^

2) умножение, деление *, /

3) сложение, вычитание +, -

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

В выражении могут быть использованы следующие встроенные функции:

ABS ( х) - модуль х    ½ х ½

SQR ( х) - корень квадратный из х ( Ö`х ).

INT ( х ) - целая часть х

SIN ( х) - синус х (аргументом служит радианная мера угла)

COS ( х ) - косинус х

TAN ( x ) - тангенс х

ATN ( x ) - арктангенс х

LOG ( x ) - натуральный логарифм х

EXP ( x ) - экспонента х

SGN (x) - определение знака числа х

        

    Например. Записать по правилам Бейсика математические выражения

 

1)      X2 +2X-5.12                   (X^2+2*X-5.12)/(X^2+12.51)

       X2+12.51

 

 

2)     COS(X) - SIN(X)                (COS(X)-SIN(X))/(ABS(COS(X)+SIN(X)))

     | COS(X) + SIN(X)|

 

Упражнения

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

      

а) Х           б) Х1        в) Х¢         г) Х1Х2    д) AB     е) ABCD      

ж) SIN       з) SIN ( Х ) и) А-1 к) 2А         л) MAX15

 

2. Записать по правилам Бейсика следующие выражения:

     
Х2 + Y2 1+ Х2- Y2      2      
 
                     - 2,5    


 
 
 
а)                         б) 1+ Х + Х2 в) 1+ ½Х½+ ½1+Х½ г) А+В                                               2                                                         C+D

                                                                                                                                                                                                 

 

+ 30,2
                C+D    
д) A+B -1,7               е) __1,2-9,8Х____             ж) Ö Х2 + Y2 +100

                                            1-Y(54,264-Х)                   (2Х+50,2)   

       E+F+0,5           

                                                                                                                                                                                                                                                                                                                                             

        

 

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

а) А+B/ (C+D) - ( A+B) / C+D           б) A*B/ (C+D) - (C - D)/ B*(A+B)

в) 1+SQR (COS (Х+Y)/ 2)                  г) 2.56 + АВS ( Х^2-Y^6)

д) INT (Х*5.234 - А*(Х+Y))

 

ОПЕРАТОРЫ ВВОДА-ВЫВОДА

I Оператор присваивания имеет общий вид:

 

                                 | имя другой переменной                                                                        

имя переменной=íарифметические выражения                                             

                                 ç число

                                                                                           

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

 

 ПРИМЕРЫ           1. А=0     2. С=2        3. А=2 : В=3

                                                          В=С               С= (А+В)^ 2/5

 

УПРАЖНЕНИЯ

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

 а) А=В        б) А*Х+B=C в) Z=Z+1  д) Y=Y e) - Y=Y

 

2. Задать в виде оператора присваивания следующие действия:

а) переменной Z присвоить значение, равное полусумме значений переменных

Х и Y.

б) удвоить значение переменной А,

в) значение переменной Х увеличить на 0.1,

г) изменить знак значения переменной Y.

 

3. Задать с помощью операторов присваивания следующие действия:

а) переменной А присвоить значение разности, а переменной В-полусуммы значений переменных Х и Y.

б) переменой А присвоить значение удвоенного произведения значений переменных Х и Y, а переменной В значение 0.

 

4) Даны Х, Y получить ½Х ½- ½Y ½       X=2,57 Y=-5,379

                                             1+½Х*Y½

Операторы ввода-вывода

Оператор ввода с клавиатуры:

INPUT ["текст" ;] X1, [X2, X3... XN]

[ ] - обозначают, что параметры, стоящие в них не обязательны;

X1, X2, ... XN - имена переменных или идентификаторы.

   В результате выполнения этого оператора на экране появится текст, а переменным X1, X2, ... XN будут заданы значения с клавиатуры.

 

Операторы блока данных

 

READ X1,X2,X3, ... XN      где X1,X2,..XN - это имена переменных

DATA C1, C2, C3, ... CN   C1, C2, ... CN - это значения

   В результате выполнения этих операторов переменная X1 получит значение C1,  X2 примет значение C2...

Замечание! ОператорDATAможет стоять в любом месте программы. Считывать данные из хранилища DATA можно с помощью нескольких операторов READ.

   Оператор RESTORE возвращает считывание данных на начало.

 

Оператор вывода на экран

PRINT S1[ ;S2; S3 ...]

где  S1, S2 ... SN - списки

Списки это :

1) имя переменной, значение которой необходимо вывести на печать;

2) арифметическое выражение, значение которого необходимо вывести на печать;

3) текст, заключенный в кавычки.

   Разделителем между списками может быть:

1) , - списки отделяются друг от друга шагом табуляции, равным 8 пробелам;

2) ; - списки печатаются вплотную друг к другу.

   Для управления выводом используют специальный оператор:

                      LOCATE X,Y

где X - номер строки экрана 1<=X<= 24 , Y - номер столбца экрана 1<=Y<= 80.

Этот оператор указывает место для печати.

Задачи

Написать программу для вычисления функции:

1) Y= , где Х= . Ответ вывести в виде:

  ответ=Yпри Х=X                                     

 

2) Y= , где  А=- 5.25,  В= , С=

Ответ вывести в виде: Y=Y  

пропуск 2 строк

А=АВ=ВС=С

 

3) Y= , где В=Sin , Х любое

Ответ вывести в виде:             

Y=Y

пропуск 2 строк

 Х=Х

4) Y где Х= (723,3/200,2)2 , Z=(53.2/41.3)3

 Ответ вывести в виде:

 Y=Y

 пропуск 2 строк

 X=X   Z=Z

 

5)Y=  , где X=Sin2 |Z|+0.5Z ; A=2CosZ+1/(SinZ+2), где Z любое

Ответ вывести в виде:

Y=Y

пропуск строки

X=X A=A

6)Y=Cos , Z=Sin   ,X*

 

Ответ вывести в виде Y=Y        Z=Z в 10-ой позиции 12-ой строки.

7)Даны действительные числа Х,У. Не пользуясь никакими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное количество операций:

а)3Х2У2-2ХУ2-7Х2У-4У2+15ХУ+2Х2-3Х+10У+6

б)1-2Х+3Х2-4Х3         в)1+2Х+3Х2+4Х3        г)2Х4-3Х2+4Х2-5Х+6

 

Операторы перехода

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

    Ветвление - это такая форма организации действий, при которой выполнение или иного действия зависит от выполнения или невыполнение некоторого условия.

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

 

знаки сравнения

логические операции

= равно = AND логическое "и" (пересечение)
< меньше < OR логическое "или" (объединение)
> больше > NOT "не" (отрицание)
<=меньше или равно <=    
>=больше или равно >=    
<> не равно <>    

        

    Таблица действия логических функций (таблица истинности), где a и b -логические выражения.

A B NOT a NOT b a AND b a OR b
TRUE TRUE FALSE FALSE TRUE TRUE
TRUE FALSE FALSE TRUE FALSE TRUE
FALSE TRUE TRUE FALSE FALSE TRUE
FALSE FALSE TRUE TRUE FALSE FALSE

 

    Пример записи логического выражения: a + b > c AND d <> 8 .

    Логическая операция NOT (отрицание) выполняется над простым логическим выражением:      NOT ( a> b )

Логическое выражение принимает одно из двух значений: TRUE (истина) и FALSE (ложь). Эти выражения применяются в операторах ветвления и цикла.

    Существующий приоритет выполнения операций поддерживается и здесь:

сначала выполняются операции в скобках, затем логическое умножение, логическое сложение

Примеры записей логических выражений:

 

математическая запись запись на языке Бейсик
( X>0 ) и (Y<0 ) ( X>0 ) AND (Y<0 )
-2<= X <=2 (X>=-2 ) AND (Y<= 2 )
 X<0 и X>10 ( X<0 ) OR (X>10 )

Принят следующий приоритет логических и арифметических операций:

n операции в скобках;

n операция NOT ;

n операции AND, /, * ;

n операции OR, +, - ;

n операции отношения.

    Упражнения

1. Вычислить значение логического выражения

а) Х2 2  <=12 при Х=0 и У=-1     б) NOT ((X*Y) OR (Y >X) при X=4, Y=1

2. Написать логические выражения, которые имеют значение истинна лишь при выполнении указанных условий:

а) X>0 и Y>0                                 Y не является MAX (X, Y, Z)

б) неверно, что X>0                       X, Y, Z равны между собой

в) 2< X < 20                                   точка с координатами X, Y принадлежит 1-                                                       

                                                 ой четверти

 

Операторы перехода разделяются на две группы:

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

 

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

    Он служит для перехода из одной строки программы к другой, помеченной номером или меткой.

 

    Общий вид оператора:              GOTO N

 

где N - номер строки или метки оператора, на который происходит переход в программе.

Примеры:

1.    X=3                                    2. GOTO W

  GOTO 7                                        . . .

  Y=2*X                                   W PRINT "решение получено"

7 Z=5*X

 

Операторы условного перехода

Существуют две формы ветвления: полная и неполная.

             
 
 
Полная форма ветвления
неполная форма ветвления

 

 


    Соответственно существуют и два вида операторов: полной и неполной альтернативы.

I. Полная альтернатива (предусмотрены команды в ветви "ДА" и в ветви "НЕТ").

1) Линейная форма записи (оператор записывается в одной строке)

              Условие выполняется "ДА"

 


 

IF  условие THEN блок операторов 1 ELSE блок операторов 2

 

 


                       Условие не выполняется "НЕТ"

 

Работа оператора: в зависимости от того выполняется или не выполняется условие (условие - логическое выражение, которое может содержать знаки сравнения и логические операции). Если условие истинно, то выполняется блок операторов 1, если условие ложно, то выполняется блок операторов 2.

 

ПРИМЕР: IF A=1 THEN PRINT "ДА" ELSE PRINT "НЕТ"

                 PRINT "КОНЕЦ"

Здесь операторы работают следующим образом:

n если условие А=1 "ИСТИННО", то выполняются операторы PRINT "ДА" и PRINT "КОНЕЦ";

n если условие А=1 "ЛОЖНО", то выполняются операторы PRINT"НЕТ" и PRINT "КОНЕЦ".

 

 

2) Блочная форма записи:

 

IF условие THEN                           ПРИМЕР:

    блок операторов                  CLS: INPUT a

    ветви "ДА"                            IF a=1 THEN

ELSE                                                    PRINT "работает ветвь ДА "

    блок операторов                            PRINT a

    ветви "НЕТ"                          ELSE

END IF                                                 PRINT "работает ветвь НЕТ"

                                                              PRINT a

                                                         END IF

 

II. Условный оператор неполной альтернативы:

 

IF условие THEN блок операторов

 

Примеры решения задач.

Пример 1.Определить наибольшее из двух чисел Х и У, введенных клавиатуры.

CLS: INPUT " ";X, Y

IF X > Y THEN

        PRINT "НАИБОЛЬШЕЕ ЧИСЛО X="; X

ELSE

        PRINT "НАИБОЛЬШЕЕ ЧИСЛОY=";Y

END IF

END

Пример 2. Вычислите Функцию для любого значения Х.

         X2 +4X-7 , X<=-2 CLS: INPUT "введите X";X

Y=<                                      IF X<=-2 THEN

         X2-3X+12 , X>2             Y=X^2+4*X-7

                                               ELSE

                                                       Y=X^2-3*X+12

                                               END IF

                                               PRINT "ФУНКЦИЯ =";У;" при Х=";Х

                                               END

 

Пример 3. Вычислите функцию У=3Х2 -5Х+12 на отрезке (-3,3) с шагом 1.

CLS: PRINT "Y", "X"

X=-3

4 Y=3*X^2-5*X+12

PRINT Y,X

X=X+1

IF X<3 THEN GOTO 4

END

Пример 4. Вычислите сумму целых чисел от 10 до 20

S =10+11+12+...+20

CLS: S=0: X=10

5 S=S+X

X=X+1

IF X<=20 THEN GOTO 5

PRINT "сумма = ";S

END

Пример 5. Вычислите произведение нечетных чисел от 15 до 30 

Р= 15*17*19*...*29

CLS:P=1:X=15

7 P=P*X

X=X+2

IF X<30 THEN GOTO 7

PRINT "произведение = ";P

END

 

Циклы.

    В языке QBASIC предусмотрено два основных способа организации циклов:

n повторение блока команд заданное количество (число) раз (цикл со счетчиком);

n циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие.

 


Дата добавления: 2019-07-15; просмотров: 709; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!