Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

END select




END IF

ELSE

Программирование разветвляющихся (условных) алгоритмов

Алгоритм разветвляющейся (условной) структуры - алгоритм, в котором последовательность выполнения действий зависит от некоторых условий.

В языке Бэйсик для ветвления используются следующие операторы:

1) Оператор безусловной передачи управления GOTO N, - где N метка строки. Этот оператор передает управление строке с меткой N.

2) Операторы условной передачи управления (приведены три типа):

a) IF < логическое выражение > THEN < операторы >

При выполнении оператора IF сначала определяется результат логического выражения: ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Если ИСТИНА, то управление передается операторам, следующим за словом THEN, если - ЛОЖЬ, то оператору, записанному после оператора IF.

б) IF < логическое выражение > THEN < операторы > ELSE < операторы >

При выполнении оператора IF данной модификации, сначала так же определяется результат логического выражения. Если ИСТИНА, то управление передается операторам, следующим за словом THEN, если - ЛОЖЬ, то оператору записанному после ELSE.

в) блочный «IF» (записывается в нескольких строках):

IF <логическое выражение> THEN

<операторы>

[ELSEIF <логическое выражение> THEN

<операторы>

<операторы> ]*

При выполнении блочного IF, сначала определяется результат первого логического выражения. Если ИСТИНА, то управление передается операторам, следующим за первым словом THEN, а затем к строке следующей за END IF. Если - ЛОЖЬ, то определяется результат следующего логического выражения, и в случае ИСТИНЫ управление передается операторам, записанным за следующим THEN, а потом к строке идущей за END IF и т.д. Если же ни одно из условий оператора не выполняется, то выполняются операторы, записанные после слова ELSE, а потом к строке следующей за END IF.

Логические выражения состоят из числовых или текстовых данных, знаков отношений и логических операций. Таблица 8. Знаки сравнения и логические операции

ЗНАКИ СРАВНЕНИЯ ЛОГИЧЕСКИЕ ОПЕРАЦИИ
Название знака В программе Название операции В программе
Равно = Отрицание NOT
Не равно <>
Больше > Логическое умножение OR
Больше или равно >=
Меньше < Логическое сложение AND
Меньше или равно <=

3) Оператор выбора SELECT CASE. С помощью оператора CASE можно выбрать любой вариант из допустимых значений переменной. Этот оператор записывается в нескольких строках.

SELECT CASE <выражение>

CASE <условие 1>

<блок операторов 1>

[ CASE <условие 2>]

[<блок операторов 2>]

………………………………………..

[ CASE ELSE ]

[<блок операторов n>]

В этом операторе:

<выражение> - любое числовое или строковое выражение;

<условие> - одно или несколько выражений для сравнения с параметром <выражение>. Условие может быть записано в одном из видов:

• <выражение> [, <выражение>]…..;

• <выражение> TO <выражение>;

• IS <оператор отношения> <выражение>.

<блок операторов> - один или несколько операторов

ПРИМЕР 10.1. Из трех случайных чисел X,Y, Z вывести наименьшее.

 

Рисунок 1. Схема алгоритма к примеру 10.1

REM Программирование условного алгоритма

CLS

RANDOMIZE TIMER ' Запущен датчик случайных чисел

X=RND*20: Y=RND*20: Z=RND*10 ’X, Y, Z - случайные числа

IF X<Y AND X<Z THEN

PRINT "max="; X

ELSEIF Y<Z THEN

PRINT "max=";Y

ELSE PRINT "max=";Z

END IF

END

Пояснения к программе:

В данной программе использован оператор IF - блочная форма. При выполнении сложного условия X<Y AND X<Z после THEN в соответствии со схемой алгоритма на экран выводится число X, которое в этом случае является минимальным из трех чисел. Если это условие не выполняется, значит X не является минимальным числом из трех и минимум следует искать среди Y и Z. Соответствующее условие Y<Z записано после ELSEIF. Если условие выполнено, то минимальным является Y, иначе минимальным числом является Z. Блочный оператор IF обязательно завершается оператором END IF.

ПРИМЕР 10.2. Составить схему алгоритма и программу вычисления и вывода на экран функции f(x, y) для заданных значений x, y.

 

 

Рисунок 2. Схема алгоритма к примеру 10.2

REM Программирование условного алгоритма

INPUT " Введите через запятую значения переменных x, Y:", x, Y

IF x > Y THEN

F = x / y + 4 * X * y

ELSEIF X < Y THEN

IF X + 10 < Y THEN F = X + 10 ELSE F = Y

ELSE

F = (X + 7)^Y

END IF

PRINT "F ="; F

END

Пояснения к программе:

- в программе для организации ввода данных в диалоговом режиме используется только оператор «INPUT»;

- «IF»-блочный обеспечивает ветвление; в зависимости от введенных значений переменных X и Y процесс вычисления F пойдет в соответствии с алгоритмом (рис. 2) по одной из ветвей;

- в программе используется и «IF»-строчный при определении минимума (Х+10) и Y, в случае когда X < Y.

Лабораторное задание

1. Набрать, отладить и выполнить программы, реализующие условные алгоритмы Вашего индивидуального задания.

2. Составить блок-схему.

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

4. Составить отчет. Защитить работу.

Лабораторная работа состоит из трех задач. Студент выбирает из списка заданий свой индивидуальный вариант и выполняет его.

Вариант №1

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные положительные числа x, y, z. Выяснить, существует ли треугольник с такими длинами сторон. Если да, то ответить, является ли он прямоугольным.

Задание № 3.

Определить, есть ли среди цифр заданного трехзначного числа f одинаковые.

Вариант №2

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Для произвольных чисел a, b, c определить, имеет ли уравнение хотя бы одно вещественное решение.

Задание № 3.

Определить, есть ли среди цифр заданного четырехзначного числа f цифра 9.

Вариант №3

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа x, y. Определить, принадлежит ли точка (x, y) кольцу с внутренним и внешним радиусами соответственно R1 и R2 и центром в начале координат.

Задание № 3.

Определить, есть ли среди цифр заданного трехзначного числа f цифры 3 или 7.

Вариант №4

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дано натуральное число п (возраст). Обеспечить вывод этого числа с соответствующим словом: «год», «года», «лет».

Задание № 3.

Даны четыре действительных числа x, y, z, k. Получить max(x, y, z, k).

___________________________________________________________________

Вариант №5

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа x, y. Определить, принадлежит ли точка (x, y) кругу с радиусом R и центром в начале координат.

Задание № 3.

Дано трехзначное число f. Определить, кратно ли это число 9.

Вариант №6

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Задан номер года п. Определить, високосный ли он.

Задание № 3.

Даны четыре действительных числа x, y, z, k. Получить min(x, y, z, k).

Вариант №7

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны числа a1, b1, c1, a2, b2, c2. Определить координаты точки пересечения прямых и , либо сообщить, что эти прямые совпадают или не пересекаются.

Задание № 3.

Дано число f. Определить, кратно ли это число 2 или 3.

Вариант №8

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа a, b, c. Выяснить, имеет ли уравнение действительные корни. Если да, то найти их.

Задание № 3.

Дано натуральное число n. Выяснить, является ли это число палиндромом (или симметричным, например, 131, 747).

Вариант №9

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дано натуральное число r. Обеспечить вывод этого числа с соответствующим словом: «рубль», «рубля», «рублей».

Задание № 3.

Дано число f. Определить, кратно ли это число 7 и 9.

Вариант №10

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны три точки на плоскости с координатами (x1,y1), (x2,y2), (x3,y3). Вывести номера точек с наибольшим расстоянием между ними.

Задание № 3.

Определить, равна ли сумма двух первых цифр заданного четырехзначного числа f сумме двух его последних цифр.

Вариант №11

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа x, y, z. Вычислить значение min(2(x+y+z),xyz,(x+y)z)+1.

Задание № 3.

Выяснить, есть ли в заданном четырехразрядном числе а цифра 5.

Вариант №12

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дана точка с координатами (x, y). Определить, какой четверти плоскости она принадлежит.

Задание № 3.

Определить, делится ли заданное четырехзначное число f на 9.

Вариант №13

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дан квадрат со стороной b, точка пересечения диагоналей которого расположена в начале координат. Определить, находится ли точка с координатами (x, y) внутри квадрата.

Задание № 3.

Определить, есть ли в заданном четырехразрядном числе а цифры 3 и 4.

Вариант №14

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дан прямоугольник со сторонами а и b, точка пересечения диагоналей которого расположена в начале координат. Определить, находится ли точка с координатами (x, y) внутри прямоугольника.

Задание № 3.

Дано натуральное четырехразрядное число а. Выяснить, является ли это число палиндромом (симметричным, например, 3223, 1221).

___________________________________________________________________

ЛАБОРАТОРНАЯ РАБОТА № 11.
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ.

Цель работы:

1. Изучение приемов программирования циклических алгоритмов.

2. Программирование циклических алгоритмов на языке Qbasic.

3. Отладка циклических программ в среде программирования Qbasic.




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


Дата добавления: 2014-12-08; Просмотров: 630; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.069 сек.