Программирование на языке qbasic


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



бет3/13
Дата28.06.2016
өлшемі479.5 Kb.
#163119
1   2   3   4   5   6   7   8   9   ...   13

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

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


Оператор IF.(условие)..THEN.(оператор)..ELSE..(оператор).


Пример:


INPUT “Как твоё имя? “; A$

IF A$=”Маша “ THEN PRINT “Привет, Маша“ ELSE PRINT “Привет “; A$




PRINT "Эта программа делит два числа"

INPUT "Введи делимое"; a

INPUT " Введи делитель"; b

IF b=0 THEN

BEEP 'этот оператор даёт гудок

PRINT "Деление на 0 невозможно!"

ELSE

PRINT "Частное от деления равно"; a/b

END IF

Здесь в первой программе используется условный оператор в сокращённом виде (он должен размещатся на одной строке), а во второй – используется несколько операторов после THEN. В этом случае делается запись в виде «лестницы» для удобства чтения программы и заканчивается блок оператором END IF

Оператор после ELSE может не ставится. Например,


PRINT "Введи число 1-10";

INPUT A

IF A>10 OR A<1 THEN

BEEP

PRINT "Это число не принадлежит этому промежутку!"

END IF

Условный оператор может быть и ещё более сложного вида:




IF условие 1 THEN

Операторы 1

ELSE IF условие 2 THEN

Операторы 2

ELSE IF условие 3 ТHEN

Операторы 3

...............

ELSE IF условие N THEN

Операторы N

ELSE

операторы

END IF

В этом случае при выполнении условия 1 действуют операторы 1, при выполнении условия 2 – операторы 2 и т. д. Если ни одно из условий не выполняется действуют операторы, находящиеся после оператора ELSE.



Оператор SELECT

Рассмотрим выполнение следующей программы.




INPUT "Какую оценку ты получил в школе?"; О
SELECT CASE О

CASE 1

PRINT "Тебе должно быть стыдно..."

CASE 2

PRINT "Слишком мало учил..."

CASE 3

PRINT "Посредственно..."

CASE 4

PRINT "Неплохо!"

CASE 5

PRINT Молодец!"

CASE ELSE

PRINT "Ну это ты обманываешь!"

END SELECT

Здесь в случае О=1 действует CASE 1, в случае О=2 - CASE 2 и т. д. Если задаёшь О=6 получаешь ELSE.



8. Задания



Задача 1.
Вычислить значениеY, если Y=sin x/(x-1)^2 при x не равном 1 и Y=1 при x равном 1.

Задача 2.
Вычислить значениеY, если Y=1-х при x большем или равном 1 и Y=х-1 при x меньшем 1.
Задача 3.
Вычислить значениеY, если Y=х +1 при x меньшем 2, Y=х+2 при x меньшем 3 но больше или равном 2 и Y=х+3 при х большем или равном 3.
Задача 4.
Вычислить значениеY, если Y=х ^2 при м=1, Y=2*х при м=2, Y=х+1 при м=3, Y =0 при м=4 и Y=х-1 при м=5.
Задача 5.
Вычислить значениеY=sign (x) т. е. Y=1 при x большем 0, Y=0 при х=0 и Y= -1 при x меньшем 0.
Задача 6.
Вычислить значениеY, если Y=tg x^2 при x равном /2 и Y=соs х при х= .


Задача 7.
Составить программу решения квадратного уравнения.
Задача 8.
Задача определения, что случится с ракетой в зависимости от её начальной скорости.
Алгоритм решения:


  1. Вводится значение начальной скорости V0.

  2. Печать «Ракета упадёт на Землю», если V0 меньше 7.8.

  3. Печать «Ракета станет спутником Земли», если V0 больше или равно 7.8 и меньше 11.2.

  4. Печать «Ракета станет спутником Солнца», если V0 больше или равно 11.2 и меньше 16.4.

  5. Печать «Ракета покинет Солнечную систему», если V0 больше или равно 16.4.


Задача 9.
Вычислить значение Y, если Y=1/x + 1/(x-1). Учесть случаи, когда Y не имеет решения.
Задача 10.
Нахождение наибольшего общего делителя (НОД) двух натуральных чисел А и В по алгоритму Евклида.
Алгоритм Евклида:


  1. Задаются два натуральных числа А и В.

  2. Если А=В, то НОД =А

  3. Иначе, найти разность между большим и меньшим числом и заменить ею большее число.

  4. Перейти к 1.


Задача 11
Определить, принадлежит ли точка с координатами (х,y) фигуре на плоскости, задаваемой уравнениями:

  1. y>=0 и модуль х+модуль y меньше или равно 1


y

x



1


-1


1



  1. y<=0 и модуль х+модуль y меньше или равно 1



x






  1. Модуль х+модуль y меньше или равно 1


y



x


Указать также, если точка не принадлежит ни одной фигуре.


Задача 12
Найти наибольшее из двух чисел.
Задача 13
Найти наибольшее из трёх чисел.
Задача 14
Определить знак числа N.


Задача 15
Дан треугольник со сторонами А, В, С. Определить вид угла С (острый, тупой, прямой).
Задача 16
Найти квадрат наибольшего из двух чисел А и В и напечатать признак N =1, если наибольшим является А и N=2, если наибольшим является В.


Задача 17
Определить, попадёт ли точка с координатами (Х, Y) в круг радиуса R. Уравнение окружности R^2 = Х^2+Y^2. Присвоить признак N=1, если точка находится внутри круга и признак N=2, если точка находится вне круга.
Задача 18
О
I

IV

II

III

X

Y
пределить, в каком квадранте находится точка с координатами (Х,
Y) и отпечатать номер квадранта.


Задача 19
Проверить, что введённое число простое.




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   13




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет